From 8d6345308aa890db6f0e3452d621a91ac7f8c149 Mon Sep 17 00:00:00 2001 From: Carlo Costanzo <2160436+CCOSTAN@users.noreply.github.com> Date: Thu, 23 Jan 2025 13:17:59 -0500 Subject: [PATCH] Delete config/www/community/frigate-hass-card directory --- .../_commonjsHelpers-1789f0cf.js | 1 - .../_commonjsHelpers-1789f0cf.js.gz | Bin 212 -> 0 bytes .../frigate-hass-card/audio-557099cb.js | 1 - .../frigate-hass-card/audio-557099cb.js.gz | Bin 126 -> 0 bytes .../frigate-hass-card/audio-cf3a75aa.js | 1 - .../frigate-hass-card/audio-cf3a75aa.js.gz | Bin 126 -> 0 bytes .../frigate-hass-card/card-09c4bade.js | 650 ----------------- .../frigate-hass-card/card-09c4bade.js.gz | Bin 142711 -> 0 bytes .../frigate-hass-card/card-320adb66.js | 650 ----------------- .../frigate-hass-card/card-320adb66.js.gz | Bin 142734 -> 0 bytes .../frigate-hass-card/card-45855f1f.js | 650 ----------------- .../frigate-hass-card/card-45855f1f.js.gz | Bin 142680 -> 0 bytes .../frigate-hass-card/card-555679fd.js | 565 --------------- .../frigate-hass-card/card-555679fd.js.gz | Bin 101104 -> 0 bytes .../frigate-hass-card/card-769e2b91.js | 650 ----------------- .../frigate-hass-card/card-769e2b91.js.gz | Bin 142699 -> 0 bytes .../frigate-hass-card/card-7cd05290.js | 650 ----------------- .../frigate-hass-card/card-7cd05290.js.gz | Bin 142695 -> 0 bytes .../frigate-hass-card/card-c642ee74.js | 650 ----------------- .../frigate-hass-card/card-c642ee74.js.gz | Bin 142679 -> 0 bytes .../frigate-hass-card/card-e5d55e5b.js | 654 ------------------ .../frigate-hass-card/card-e5d55e5b.js.gz | Bin 138737 -> 0 bytes .../frigate-hass-card/date-picker-3dacab82.js | 15 - .../date-picker-3dacab82.js.gz | Bin 1020 -> 0 bytes .../frigate-hass-card/date-picker-40111fdc.js | 15 - .../date-picker-40111fdc.js.gz | Bin 1023 -> 0 bytes .../frigate-hass-card/date-picker-576d50a8.js | 15 - .../date-picker-576d50a8.js.gz | Bin 1021 -> 0 bytes .../frigate-hass-card/date-picker-8102261e.js | 15 - .../date-picker-8102261e.js.gz | Bin 1023 -> 0 bytes .../frigate-hass-card/date-picker-86e47001.js | 15 - .../date-picker-86e47001.js.gz | Bin 1022 -> 0 bytes .../frigate-hass-card/date-picker-cfd85f75.js | 15 - .../date-picker-cfd85f75.js.gz | Bin 1022 -> 0 bytes .../frigate-hass-card/date-picker-d9927b87.js | 15 - .../date-picker-d9927b87.js.gz | Bin 1024 -> 0 bytes .../dispatch-live-error-c649b480.js | 33 - .../dispatch-live-error-c649b480.js.gz | Bin 6281 -> 0 bytes .../frigate-hass-card/editor-0c0425c2.js | 462 ------------- .../frigate-hass-card/editor-0c0425c2.js.gz | Bin 11530 -> 0 bytes .../frigate-hass-card/editor-13524f00.js | 462 ------------- .../frigate-hass-card/editor-13524f00.js.gz | Bin 11530 -> 0 bytes .../frigate-hass-card/editor-238b96c0.js | 472 ------------- .../frigate-hass-card/editor-238b96c0.js.gz | Bin 10835 -> 0 bytes .../frigate-hass-card/editor-5368ad86.js | 462 ------------- .../frigate-hass-card/editor-5368ad86.js.gz | Bin 11532 -> 0 bytes .../frigate-hass-card/editor-7b16019d.js | 381 ---------- .../frigate-hass-card/editor-7b16019d.js.gz | Bin 8938 -> 0 bytes .../frigate-hass-card/editor-837da8b4.js | 462 ------------- .../frigate-hass-card/editor-837da8b4.js.gz | Bin 11529 -> 0 bytes .../frigate-hass-card/editor-c3e576d8.js | 462 ------------- .../frigate-hass-card/editor-c3e576d8.js.gz | Bin 11531 -> 0 bytes .../frigate-hass-card/editor-ce460dd0.js | 462 ------------- .../frigate-hass-card/editor-ce460dd0.js.gz | Bin 11531 -> 0 bytes .../frigate-hass-card/endOfDay-086a6977.js | 1 - .../frigate-hass-card/endOfDay-086a6977.js.gz | Bin 148 -> 0 bytes .../frigate-hass-card/endOfDay-0c5086cb.js | 1 - .../frigate-hass-card/endOfDay-0c5086cb.js.gz | Bin 146 -> 0 bytes .../frigate-hass-card/endOfDay-24d35e3f.js | 1 - .../frigate-hass-card/endOfDay-24d35e3f.js.gz | Bin 146 -> 0 bytes .../frigate-hass-card/endOfDay-696ac7f4.js | 1 - .../frigate-hass-card/endOfDay-696ac7f4.js.gz | Bin 147 -> 0 bytes .../frigate-hass-card/endOfDay-8be4da1b.js | 1 - .../frigate-hass-card/endOfDay-8be4da1b.js.gz | Bin 147 -> 0 bytes .../frigate-hass-card/endOfDay-97ae2cc7.js | 1 - .../frigate-hass-card/endOfDay-97ae2cc7.js.gz | Bin 147 -> 0 bytes .../frigate-hass-card/endOfDay-cfc9c86c.js | 1 - .../frigate-hass-card/endOfDay-cfc9c86c.js.gz | Bin 147 -> 0 bytes .../frigate-hass-card/endpoint-760ea36f.js | 1 - .../frigate-hass-card/endpoint-760ea36f.js.gz | Bin 238 -> 0 bytes .../frigate-hass-card/endpoint-9c79ab63.js | 1 - .../frigate-hass-card/endpoint-9c79ab63.js.gz | Bin 239 -> 0 bytes .../frigate-hass-card/endpoint-a6d38c7a.js | 1 - .../frigate-hass-card/endpoint-a6d38c7a.js.gz | Bin 203 -> 0 bytes .../frigate-hass-card/endpoint-aa68fc9e.js | 1 - .../frigate-hass-card/endpoint-aa68fc9e.js.gz | Bin 239 -> 0 bytes .../frigate-hass-card/endpoint-c9cec68c.js | 1 - .../frigate-hass-card/endpoint-c9cec68c.js.gz | Bin 201 -> 0 bytes .../frigate-hass-card/endpoint-cc3caf82.js | 1 - .../frigate-hass-card/endpoint-cc3caf82.js.gz | Bin 238 -> 0 bytes .../frigate-hass-card/endpoint-e9cb8034.js | 1 - .../frigate-hass-card/endpoint-e9cb8034.js.gz | Bin 237 -> 0 bytes .../frigate-hass-card/endpoint-f74ef6db.js | 1 - .../frigate-hass-card/endpoint-f74ef6db.js.gz | Bin 238 -> 0 bytes .../frigate-hass-card/engine-86b0096c.js | 1 - .../frigate-hass-card/engine-86b0096c.js.gz | Bin 67 -> 0 bytes .../frigate-hass-card/engine-e412e9a0.js | 1 - .../frigate-hass-card/engine-e412e9a0.js.gz | Bin 67 -> 0 bytes .../engine-frigate-1cc4bb56.js | 3 - .../engine-frigate-1cc4bb56.js.gz | Bin 8636 -> 0 bytes .../engine-frigate-2c5e3aa9.js | 1 - .../engine-frigate-2c5e3aa9.js.gz | Bin 8365 -> 0 bytes .../engine-frigate-3f150159.js | 3 - .../engine-frigate-3f150159.js.gz | Bin 8638 -> 0 bytes .../engine-frigate-69a32a9e.js | 3 - .../engine-frigate-69a32a9e.js.gz | Bin 8638 -> 0 bytes .../engine-frigate-7cd5392b.js | 3 - .../engine-frigate-7cd5392b.js.gz | Bin 8637 -> 0 bytes .../engine-frigate-a6e3bd9e.js | 3 - .../engine-frigate-a6e3bd9e.js.gz | Bin 8638 -> 0 bytes .../engine-frigate-be325e58.js | 3 - .../engine-frigate-be325e58.js.gz | Bin 8620 -> 0 bytes .../engine-frigate-f675aa79.js | 3 - .../engine-frigate-f675aa79.js.gz | Bin 8637 -> 0 bytes .../engine-generic-31c14ad9.js | 1 - .../engine-generic-31c14ad9.js.gz | Bin 1149 -> 0 bytes .../engine-generic-395b8c68.js | 1 - .../engine-generic-395b8c68.js.gz | Bin 476 -> 0 bytes .../engine-generic-39deaa91.js | 1 - .../engine-generic-39deaa91.js.gz | Bin 1147 -> 0 bytes .../engine-generic-458c9005.js | 1 - .../engine-generic-458c9005.js.gz | Bin 1146 -> 0 bytes .../engine-generic-93cdbee6.js | 1 - .../engine-generic-93cdbee6.js.gz | Bin 1142 -> 0 bytes .../engine-generic-96b32038.js | 1 - .../engine-generic-96b32038.js.gz | Bin 1149 -> 0 bytes .../engine-generic-97fdd47e.js | 1 - .../engine-generic-97fdd47e.js.gz | Bin 1149 -> 0 bytes .../engine-generic-bb62ddef.js | 1 - .../engine-generic-bb62ddef.js.gz | Bin 1148 -> 0 bytes .../engine-motioneye-205f9ce6.js | 1 - .../engine-motioneye-205f9ce6.js.gz | Bin 1951 -> 0 bytes .../engine-motioneye-3521f17f.js | 1 - .../engine-motioneye-3521f17f.js.gz | Bin 1948 -> 0 bytes .../engine-motioneye-381004ee.js | 1 - .../engine-motioneye-381004ee.js.gz | Bin 1950 -> 0 bytes .../engine-motioneye-7a5554b3.js | 1 - .../engine-motioneye-7a5554b3.js.gz | Bin 1951 -> 0 bytes .../engine-motioneye-aba6e54b.js | 1 - .../engine-motioneye-aba6e54b.js.gz | Bin 1952 -> 0 bytes .../engine-motioneye-ae70fe08.js | 1 - .../engine-motioneye-ae70fe08.js.gz | Bin 4944 -> 0 bytes .../engine-motioneye-d04d1919.js | 1 - .../engine-motioneye-d04d1919.js.gz | Bin 1950 -> 0 bytes .../engine-motioneye-fa799851.js | 1 - .../engine-motioneye-fa799851.js.gz | Bin 1951 -> 0 bytes .../engine-reolink-0f6e3569.js | 8 - .../engine-reolink-0f6e3569.js.gz | Bin 2221 -> 0 bytes .../engine-reolink-13b9bf20.js | 8 - .../engine-reolink-13b9bf20.js.gz | Bin 2115 -> 0 bytes .../engine-reolink-5d642010.js | 8 - .../engine-reolink-5d642010.js.gz | Bin 2117 -> 0 bytes .../engine-reolink-72a91bc6.js | 8 - .../engine-reolink-72a91bc6.js.gz | Bin 2115 -> 0 bytes .../engine-reolink-a43e6d37.js | 8 - .../engine-reolink-a43e6d37.js.gz | Bin 2215 -> 0 bytes .../engine-reolink-c0a1587c.js | 8 - .../engine-reolink-c0a1587c.js.gz | Bin 2218 -> 0 bytes .../engine-reolink-ec1b4246.js | 8 - .../engine-reolink-ec1b4246.js.gz | Bin 2115 -> 0 bytes .../frigate-hass-card/frigate-hass-card.js | 1 - .../frigate-hass-card/frigate-hass-card.js.gz | Bin 69 -> 0 bytes .../frigate-hass-card/frigate-hass-card.zip | Bin 516106 -> 0 bytes .../frigate-hass-card/gallery-149d4f41.js | 184 ----- .../frigate-hass-card/gallery-149d4f41.js.gz | Bin 30834 -> 0 bytes .../frigate-hass-card/gallery-15a600d2.js | 184 ----- .../frigate-hass-card/gallery-15a600d2.js.gz | Bin 30839 -> 0 bytes .../frigate-hass-card/gallery-1de615c4.js | 184 ----- .../frigate-hass-card/gallery-1de615c4.js.gz | Bin 30833 -> 0 bytes .../frigate-hass-card/gallery-6281c347.js | 165 ----- .../frigate-hass-card/gallery-6281c347.js.gz | Bin 29960 -> 0 bytes .../frigate-hass-card/gallery-9024cb87.js | 184 ----- .../frigate-hass-card/gallery-9024cb87.js.gz | Bin 30833 -> 0 bytes .../frigate-hass-card/gallery-bf3892f1.js | 184 ----- .../frigate-hass-card/gallery-bf3892f1.js.gz | Bin 30838 -> 0 bytes .../frigate-hass-card/gallery-c718155d.js | 184 ----- .../frigate-hass-card/gallery-c718155d.js.gz | Bin 30838 -> 0 bytes .../frigate-hass-card/gallery-f478918c.js | 184 ----- .../frigate-hass-card/gallery-f478918c.js.gz | Bin 30839 -> 0 bytes .../get-technology-for-video-rtc-778a0c05.js | 1 - ...et-technology-for-video-rtc-778a0c05.js.gz | Bin 171 -> 0 bytes .../frigate-hass-card/ha-1d1cb9a1.js | 61 -- .../frigate-hass-card/ha-1d1cb9a1.js.gz | Bin 1566 -> 0 bytes .../frigate-hass-card/ha-31684cf1.js | 69 -- .../frigate-hass-card/ha-31684cf1.js.gz | Bin 1851 -> 0 bytes .../frigate-hass-card/ha-378b7a69.js | 69 -- .../frigate-hass-card/ha-378b7a69.js.gz | Bin 1854 -> 0 bytes .../frigate-hass-card/ha-45d9145a.js | 68 -- .../frigate-hass-card/ha-45d9145a.js.gz | Bin 1828 -> 0 bytes .../frigate-hass-card/ha-4f7cd760.js | 68 -- .../frigate-hass-card/ha-4f7cd760.js.gz | Bin 1835 -> 0 bytes .../frigate-hass-card/ha-9af0bc47.js | 61 -- .../frigate-hass-card/ha-9af0bc47.js.gz | Bin 1566 -> 0 bytes .../frigate-hass-card/ha-a4f2c69e.js | 69 -- .../frigate-hass-card/ha-a4f2c69e.js.gz | Bin 1850 -> 0 bytes .../ha-hls-player-1787796f.js | 34 - .../ha-hls-player-1787796f.js.gz | Bin 1276 -> 0 bytes .../ha-hls-player-2c0fea5b.js | 34 - .../ha-hls-player-2c0fea5b.js.gz | Bin 1244 -> 0 bytes .../ha-hls-player-717bfdfd.js | 34 - .../ha-hls-player-717bfdfd.js.gz | Bin 1243 -> 0 bytes .../ha-hls-player-abb86874.js | 34 - .../ha-hls-player-abb86874.js.gz | Bin 1242 -> 0 bytes .../ha-hls-player-ad38a2a0.js | 34 - .../ha-hls-player-ad38a2a0.js.gz | Bin 1244 -> 0 bytes .../ha-hls-player-aef987da.js | 33 - .../ha-hls-player-aef987da.js.gz | Bin 1265 -> 0 bytes .../ha-hls-player-b195eaa1.js | 34 - .../ha-hls-player-b195eaa1.js.gz | Bin 1290 -> 0 bytes .../ha-hls-player-ba5834a9.js | 34 - .../ha-hls-player-ba5834a9.js.gz | Bin 1243 -> 0 bytes .../frigate-hass-card/image-04d4df35.js | 13 - .../frigate-hass-card/image-04d4df35.js.gz | Bin 22280 -> 0 bytes .../frigate-hass-card/image-0b99ab11.js | 11 - .../frigate-hass-card/image-0b99ab11.js.gz | Bin 20521 -> 0 bytes .../frigate-hass-card/image-1c1ebdfa.js | 13 - .../frigate-hass-card/image-1c1ebdfa.js.gz | Bin 22203 -> 0 bytes .../frigate-hass-card/image-1e2a0a79.js | 13 - .../frigate-hass-card/image-1e2a0a79.js.gz | Bin 22202 -> 0 bytes .../frigate-hass-card/image-5371a090.js | 13 - .../frigate-hass-card/image-5371a090.js.gz | Bin 22203 -> 0 bytes .../frigate-hass-card/image-632882b9.js | 13 - .../frigate-hass-card/image-632882b9.js.gz | Bin 22203 -> 0 bytes .../frigate-hass-card/image-669f8abb.js | 9 - .../frigate-hass-card/image-669f8abb.js.gz | Bin 554 -> 0 bytes .../frigate-hass-card/image-678a8283.js | 9 - .../frigate-hass-card/image-678a8283.js.gz | Bin 514 -> 0 bytes .../frigate-hass-card/image-88fcb8ac.js | 13 - .../frigate-hass-card/image-88fcb8ac.js.gz | Bin 22282 -> 0 bytes .../frigate-hass-card/image-b5d57727.js | 9 - .../frigate-hass-card/image-b5d57727.js.gz | Bin 555 -> 0 bytes .../frigate-hass-card/image-c0a8dc12.js | 9 - .../frigate-hass-card/image-c0a8dc12.js.gz | Bin 554 -> 0 bytes .../frigate-hass-card/image-c4c28ccb.js | 9 - .../frigate-hass-card/image-c4c28ccb.js.gz | Bin 514 -> 0 bytes .../frigate-hass-card/image-c6a10ba0.js | 9 - .../frigate-hass-card/image-c6a10ba0.js.gz | Bin 553 -> 0 bytes .../frigate-hass-card/image-cbfd7ccb.js | 13 - .../frigate-hass-card/image-cbfd7ccb.js.gz | Bin 22203 -> 0 bytes .../frigate-hass-card/image-cdeb2c7e.js | 9 - .../frigate-hass-card/image-cdeb2c7e.js.gz | Bin 552 -> 0 bytes .../frigate-hass-card/index-0197eb89.js | 131 ---- .../frigate-hass-card/index-0197eb89.js.gz | Bin 6431 -> 0 bytes .../frigate-hass-card/index-0a012f43.js | 162 ----- .../frigate-hass-card/index-0a012f43.js.gz | Bin 6883 -> 0 bytes .../frigate-hass-card/index-17f8eed5.js | 1 - .../frigate-hass-card/index-17f8eed5.js.gz | Bin 4161 -> 0 bytes .../frigate-hass-card/index-25c40d01.js | 131 ---- .../frigate-hass-card/index-25c40d01.js.gz | Bin 6433 -> 0 bytes .../frigate-hass-card/index-33db4eee.js | 154 ----- .../frigate-hass-card/index-33db4eee.js.gz | Bin 6687 -> 0 bytes .../frigate-hass-card/index-33ed76c0.js | 1 - .../frigate-hass-card/index-33ed76c0.js.gz | Bin 4230 -> 0 bytes .../frigate-hass-card/index-37750213.js | 131 ---- .../frigate-hass-card/index-37750213.js.gz | Bin 6430 -> 0 bytes .../frigate-hass-card/index-3c9b9749.js | 162 ----- .../frigate-hass-card/index-3c9b9749.js.gz | Bin 6887 -> 0 bytes .../frigate-hass-card/index-52dee8bb.js | 1 - .../frigate-hass-card/index-52dee8bb.js.gz | Bin 414 -> 0 bytes .../frigate-hass-card/index-5de5f421.js | 122 ---- .../frigate-hass-card/index-5de5f421.js.gz | Bin 6511 -> 0 bytes .../frigate-hass-card/index-76cab2a3.js | 131 ---- .../frigate-hass-card/index-76cab2a3.js.gz | Bin 6434 -> 0 bytes .../frigate-hass-card/index-78f3984a.js | 1 - .../frigate-hass-card/index-78f3984a.js.gz | Bin 4161 -> 0 bytes .../frigate-hass-card/index-8355422b.js | 1 - .../frigate-hass-card/index-8355422b.js.gz | Bin 4163 -> 0 bytes .../frigate-hass-card/index-961f10b9.js | 131 ---- .../frigate-hass-card/index-961f10b9.js.gz | Bin 6432 -> 0 bytes .../frigate-hass-card/index-9b434861.js | 162 ----- .../frigate-hass-card/index-9b434861.js.gz | Bin 6883 -> 0 bytes .../frigate-hass-card/index-9bf80040.js | 162 ----- .../frigate-hass-card/index-9bf80040.js.gz | Bin 6885 -> 0 bytes .../frigate-hass-card/index-a3bb8676.js | 1 - .../frigate-hass-card/index-a3bb8676.js.gz | Bin 4243 -> 0 bytes .../frigate-hass-card/index-af8cf05c.js | 1 - .../frigate-hass-card/index-af8cf05c.js.gz | Bin 9378 -> 0 bytes .../frigate-hass-card/index-befc50c0.js | 125 ---- .../frigate-hass-card/index-befc50c0.js.gz | Bin 6501 -> 0 bytes .../frigate-hass-card/index-d3be62c7.js | 1 - .../frigate-hass-card/index-d3be62c7.js.gz | Bin 4162 -> 0 bytes .../frigate-hass-card/index-dd357256.js | 154 ----- .../frigate-hass-card/index-dd357256.js.gz | Bin 6676 -> 0 bytes .../frigate-hass-card/index-e0b66e9f.js | 1 - .../frigate-hass-card/index-e0b66e9f.js.gz | Bin 4161 -> 0 bytes .../frigate-hass-card/index-e610f971.js | 162 ----- .../frigate-hass-card/index-e610f971.js.gz | Bin 6881 -> 0 bytes .../frigate-hass-card/jsmpeg-05cdf58e.js | 12 - .../frigate-hass-card/jsmpeg-05cdf58e.js.gz | Bin 42824 -> 0 bytes .../frigate-hass-card/jsmpeg-1cb0aa9d.js | 12 - .../frigate-hass-card/jsmpeg-1cb0aa9d.js.gz | Bin 42959 -> 0 bytes .../frigate-hass-card/jsmpeg-45778f1d.js | 12 - .../frigate-hass-card/jsmpeg-45778f1d.js.gz | Bin 42824 -> 0 bytes .../frigate-hass-card/jsmpeg-50dde246.js | 12 - .../frigate-hass-card/jsmpeg-50dde246.js.gz | Bin 42968 -> 0 bytes .../frigate-hass-card/jsmpeg-66c8006d.js | 12 - .../frigate-hass-card/jsmpeg-66c8006d.js.gz | Bin 42824 -> 0 bytes .../frigate-hass-card/jsmpeg-ef28408a.js | 12 - .../frigate-hass-card/jsmpeg-ef28408a.js.gz | Bin 42824 -> 0 bytes .../frigate-hass-card/jsmpeg-fd152ef0.js | 12 - .../frigate-hass-card/jsmpeg-fd152ef0.js.gz | Bin 42824 -> 0 bytes .../frigate-hass-card/lang-ca-449daa4a.js | 1 - .../frigate-hass-card/lang-ca-449daa4a.js.gz | Bin 6773 -> 0 bytes .../frigate-hass-card/lang-ca-99b9960f.js | 1 - .../frigate-hass-card/lang-ca-99b9960f.js.gz | Bin 6769 -> 0 bytes .../frigate-hass-card/lang-fr-674e5de5.js | 1 - .../frigate-hass-card/lang-fr-674e5de5.js.gz | Bin 6938 -> 0 bytes .../frigate-hass-card/lang-fr-e5e97bbf.js | 1 - .../frigate-hass-card/lang-fr-e5e97bbf.js.gz | Bin 7528 -> 0 bytes .../frigate-hass-card/lang-fr-ea16daba.js | 1 - .../frigate-hass-card/lang-fr-ea16daba.js.gz | Bin 7536 -> 0 bytes .../frigate-hass-card/lang-it-0e2e946c.js | 1 - .../frigate-hass-card/lang-it-0e2e946c.js.gz | Bin 5442 -> 0 bytes .../frigate-hass-card/lang-it-2a20a319.js | 1 - .../frigate-hass-card/lang-it-2a20a319.js.gz | Bin 6037 -> 0 bytes .../frigate-hass-card/lang-it-7713a746.js | 1 - .../frigate-hass-card/lang-it-7713a746.js.gz | Bin 6033 -> 0 bytes .../frigate-hass-card/lang-pt-BR-1648942c.js | 1 - .../lang-pt-BR-1648942c.js.gz | Bin 5400 -> 0 bytes .../frigate-hass-card/lang-pt-BR-83a703b9.js | 1 - .../lang-pt-BR-83a703b9.js.gz | Bin 5948 -> 0 bytes .../frigate-hass-card/lang-pt-BR-ea76ed6c.js | 1 - .../lang-pt-BR-ea76ed6c.js.gz | Bin 5943 -> 0 bytes .../frigate-hass-card/lang-pt-PT-16f39312.js | 1 - .../lang-pt-PT-16f39312.js.gz | Bin 5502 -> 0 bytes .../frigate-hass-card/lang-pt-PT-440b6dfd.js | 1 - .../lang-pt-PT-440b6dfd.js.gz | Bin 4879 -> 0 bytes .../frigate-hass-card/lang-pt-PT-c4863423.js | 1 - .../lang-pt-PT-c4863423.js.gz | Bin 5507 -> 0 bytes .../frigate-hass-card/lazyload-c2d6254a.js | 44 -- .../frigate-hass-card/lazyload-c2d6254a.js.gz | Bin 4773 -> 0 bytes .../frigate-hass-card/live-e0c9196c.js | 127 ---- .../frigate-hass-card/live-e0c9196c.js.gz | Bin 3921 -> 0 bytes .../frigate-hass-card/live-go2rtc-0795a62f.js | 1 - .../live-go2rtc-0795a62f.js.gz | Bin 3646 -> 0 bytes .../frigate-hass-card/live-ha-df63bfc8.js | 61 -- .../frigate-hass-card/live-ha-df63bfc8.js.gz | Bin 1522 -> 0 bytes .../frigate-hass-card/live-image-c8850fc4.js | 7 - .../live-image-c8850fc4.js.gz | Bin 685 -> 0 bytes .../frigate-hass-card/live-jsmpeg-9c767737.js | 12 - .../live-jsmpeg-9c767737.js.gz | Bin 42804 -> 0 bytes .../live-webrtc-card-dfc8f852.js | 1 - .../live-webrtc-card-dfc8f852.js.gz | Bin 1320 -> 0 bytes .../frigate-hass-card/media-1a34ac2c.js | 33 - .../frigate-hass-card/media-1a34ac2c.js.gz | Bin 6207 -> 0 bytes .../frigate-hass-card/media-67c578aa.js | 33 - .../frigate-hass-card/media-67c578aa.js.gz | Bin 6207 -> 0 bytes .../frigate-hass-card/media-6eadcd60.js | 33 - .../frigate-hass-card/media-6eadcd60.js.gz | Bin 6206 -> 0 bytes .../frigate-hass-card/media-921a03ae.js | 33 - .../frigate-hass-card/media-921a03ae.js.gz | Bin 5569 -> 0 bytes .../frigate-hass-card/media-aef44451.js | 33 - .../frigate-hass-card/media-aef44451.js.gz | Bin 6206 -> 0 bytes .../frigate-hass-card/media-b0eb3f2a.js | 1 - .../frigate-hass-card/media-b0eb3f2a.js.gz | Bin 371 -> 0 bytes .../frigate-hass-card/media-c9012082.js | 1 - .../frigate-hass-card/media-c9012082.js.gz | Bin 345 -> 0 bytes .../frigate-hass-card/media-d4c0d154.js | 33 - .../frigate-hass-card/media-d4c0d154.js.gz | Bin 6208 -> 0 bytes .../frigate-hass-card/media-grid-0f7352bc.js | 22 - .../media-grid-0f7352bc.js.gz | Bin 8860 -> 0 bytes .../frigate-hass-card/media-grid-110faed3.js | 22 - .../media-grid-110faed3.js.gz | Bin 8860 -> 0 bytes .../frigate-hass-card/media-grid-3082f0ad.js | 22 - .../media-grid-3082f0ad.js.gz | Bin 8859 -> 0 bytes .../frigate-hass-card/media-grid-82029e37.js | 22 - .../media-grid-82029e37.js.gz | Bin 8860 -> 0 bytes .../frigate-hass-card/media-grid-adc03f7c.js | 22 - .../media-grid-adc03f7c.js.gz | Bin 8859 -> 0 bytes .../frigate-hass-card/media-grid-cff66b0b.js | 22 - .../media-grid-cff66b0b.js.gz | Bin 8860 -> 0 bytes .../frigate-hass-card/media-grid-ef47501a.js | 22 - .../media-grid-ef47501a.js.gz | Bin 8858 -> 0 bytes .../media-layout-8e0c974f.js | 1 - .../media-layout-8e0c974f.js.gz | Bin 216 -> 0 bytes .../frigate-hass-card/parse-114e8d53.js | 1 - .../frigate-hass-card/parse-114e8d53.js.gz | Bin 4021 -> 0 bytes .../frigate-hass-card/parse-214d78af.js | 1 - .../frigate-hass-card/parse-214d78af.js.gz | Bin 4019 -> 0 bytes .../frigate-hass-card/parse-645a86cb.js | 1 - .../frigate-hass-card/parse-645a86cb.js.gz | Bin 4020 -> 0 bytes .../frigate-hass-card/parse-7dfc1897.js | 1 - .../frigate-hass-card/parse-7dfc1897.js.gz | Bin 4021 -> 0 bytes .../frigate-hass-card/parse-7f4a6e12.js | 1 - .../frigate-hass-card/parse-7f4a6e12.js.gz | Bin 4019 -> 0 bytes .../frigate-hass-card/parse-a53fb39b.js | 1 - .../frigate-hass-card/parse-a53fb39b.js.gz | Bin 4020 -> 0 bytes .../frigate-hass-card/parse-feacefaa.js | 1 - .../frigate-hass-card/parse-feacefaa.js.gz | Bin 4020 -> 0 bytes .../frigate-hass-card/startOfHour-1a5ce3ae.js | 1 - .../startOfHour-1a5ce3ae.js.gz | Bin 166 -> 0 bytes .../frigate-hass-card/startOfHour-34edc6a8.js | 1 - .../startOfHour-34edc6a8.js.gz | Bin 166 -> 0 bytes .../frigate-hass-card/startOfHour-4de961cf.js | 1 - .../startOfHour-4de961cf.js.gz | Bin 166 -> 0 bytes .../frigate-hass-card/startOfHour-5e3c525d.js | 1 - .../startOfHour-5e3c525d.js.gz | Bin 166 -> 0 bytes .../frigate-hass-card/startOfHour-7a3519fb.js | 1 - .../startOfHour-7a3519fb.js.gz | Bin 166 -> 0 bytes .../frigate-hass-card/startOfHour-b41e160a.js | 1 - .../startOfHour-b41e160a.js.gz | Bin 167 -> 0 bytes .../frigate-hass-card/startOfHour-f3ea02fd.js | 1 - .../startOfHour-f3ea02fd.js.gz | Bin 166 -> 0 bytes .../frigate-hass-card/timeline-116cbe0a.js | 13 - .../frigate-hass-card/timeline-116cbe0a.js.gz | Bin 557 -> 0 bytes .../frigate-hass-card/timeline-3c6e5e5d.js | 13 - .../frigate-hass-card/timeline-3c6e5e5d.js.gz | Bin 556 -> 0 bytes .../frigate-hass-card/timeline-62b72e11.js | 13 - .../frigate-hass-card/timeline-62b72e11.js.gz | Bin 555 -> 0 bytes .../frigate-hass-card/timeline-6aa9e747.js | 182 ----- .../frigate-hass-card/timeline-6aa9e747.js.gz | Bin 178784 -> 0 bytes .../frigate-hass-card/timeline-b24153cf.js | 13 - .../frigate-hass-card/timeline-b24153cf.js.gz | Bin 556 -> 0 bytes .../frigate-hass-card/timeline-c30d9341.js | 13 - .../frigate-hass-card/timeline-c30d9341.js.gz | Bin 555 -> 0 bytes .../frigate-hass-card/timeline-c3ef17c4.js | 13 - .../frigate-hass-card/timeline-c3ef17c4.js.gz | Bin 554 -> 0 bytes .../timeline-core-14147786.js | 143 ---- .../timeline-core-14147786.js.gz | Bin 165074 -> 0 bytes .../timeline-core-744686a3.js | 143 ---- .../timeline-core-744686a3.js.gz | Bin 165051 -> 0 bytes .../timeline-core-91693473.js | 143 ---- .../timeline-core-91693473.js.gz | Bin 165050 -> 0 bytes .../timeline-core-99ac5d81.js | 143 ---- .../timeline-core-99ac5d81.js.gz | Bin 165051 -> 0 bytes .../timeline-core-9cf72087.js | 143 ---- .../timeline-core-9cf72087.js.gz | Bin 165056 -> 0 bytes .../timeline-core-b390cfa1.js | 143 ---- .../timeline-core-b390cfa1.js.gz | Bin 165050 -> 0 bytes .../timeline-core-fabd0153.js | 143 ---- .../timeline-core-fabd0153.js.gz | Bin 165051 -> 0 bytes .../frigate-hass-card/timeline-dfcd5e4d.js | 13 - .../frigate-hass-card/timeline-dfcd5e4d.js.gz | Bin 556 -> 0 bytes .../frigate-hass-card/uniqWith-12b3ff8a.js | 1 - .../frigate-hass-card/uniqWith-12b3ff8a.js.gz | Bin 162 -> 0 bytes .../frigate-hass-card/viewer-b95bc789.js | 104 --- .../frigate-hass-card/viewer-b95bc789.js.gz | Bin 3636 -> 0 bytes .../frigate-hass-card/webrtc-card-171319e4.js | 1 - .../webrtc-card-171319e4.js.gz | Bin 1428 -> 0 bytes .../frigate-hass-card/webrtc-card-74652e9d.js | 1 - .../webrtc-card-74652e9d.js.gz | Bin 1426 -> 0 bytes .../frigate-hass-card/webrtc-card-a69dcd1f.js | 1 - .../webrtc-card-a69dcd1f.js.gz | Bin 1540 -> 0 bytes .../frigate-hass-card/webrtc-card-a9018c5e.js | 1 - .../webrtc-card-a9018c5e.js.gz | Bin 1427 -> 0 bytes .../frigate-hass-card/webrtc-card-b8854548.js | 1 - .../webrtc-card-b8854548.js.gz | Bin 1426 -> 0 bytes .../frigate-hass-card/webrtc-card-bb4c56e2.js | 1 - .../webrtc-card-bb4c56e2.js.gz | Bin 1530 -> 0 bytes .../frigate-hass-card/webrtc-card-ee41138a.js | 1 - .../webrtc-card-ee41138a.js.gz | Bin 1428 -> 0 bytes .../within-dates-2bb98b10.js | 1 - .../within-dates-2bb98b10.js.gz | Bin 1097 -> 0 bytes .../within-dates-446c6430.js | 1 - .../within-dates-446c6430.js.gz | Bin 1094 -> 0 bytes .../within-dates-a146acf5.js | 1 - .../within-dates-a146acf5.js.gz | Bin 1096 -> 0 bytes .../within-dates-a663657f.js | 1 - .../within-dates-a663657f.js.gz | Bin 1097 -> 0 bytes .../within-dates-c613e3cb.js | 1 - .../within-dates-c613e3cb.js.gz | Bin 1096 -> 0 bytes .../within-dates-cc65dfa5.js | 1 - .../within-dates-cc65dfa5.js.gz | Bin 1094 -> 0 bytes .../within-dates-cc9f8404.js | 1 - .../within-dates-cc9f8404.js.gz | Bin 1094 -> 0 bytes .../frigate-hass-card/zoomer-1857311a.js | 11 - .../frigate-hass-card/zoomer-1857311a.js.gz | Bin 4864 -> 0 bytes .../frigate-hass-card/zoomer-28db7d93.js | 27 - .../frigate-hass-card/zoomer-28db7d93.js.gz | Bin 5587 -> 0 bytes .../frigate-hass-card/zoomer-2b03f2ed.js | 27 - .../frigate-hass-card/zoomer-2b03f2ed.js.gz | Bin 5582 -> 0 bytes .../frigate-hass-card/zoomer-37e20bdd.js | 27 - .../frigate-hass-card/zoomer-37e20bdd.js.gz | Bin 5586 -> 0 bytes .../frigate-hass-card/zoomer-672d26af.js | 27 - .../frigate-hass-card/zoomer-672d26af.js.gz | Bin 5587 -> 0 bytes .../frigate-hass-card/zoomer-725f087c.js | 27 - .../frigate-hass-card/zoomer-725f087c.js.gz | Bin 5587 -> 0 bytes .../frigate-hass-card/zoomer-85596cd4.js | 27 - .../frigate-hass-card/zoomer-85596cd4.js.gz | Bin 5586 -> 0 bytes .../frigate-hass-card/zoomer-ddec5522.js | 27 - .../frigate-hass-card/zoomer-ddec5522.js.gz | Bin 5588 -> 0 bytes 471 files changed, 15694 deletions(-) delete mode 100644 config/www/community/frigate-hass-card/_commonjsHelpers-1789f0cf.js delete mode 100644 config/www/community/frigate-hass-card/_commonjsHelpers-1789f0cf.js.gz delete mode 100644 config/www/community/frigate-hass-card/audio-557099cb.js delete mode 100644 config/www/community/frigate-hass-card/audio-557099cb.js.gz delete mode 100644 config/www/community/frigate-hass-card/audio-cf3a75aa.js delete mode 100644 config/www/community/frigate-hass-card/audio-cf3a75aa.js.gz delete mode 100644 config/www/community/frigate-hass-card/card-09c4bade.js delete mode 100644 config/www/community/frigate-hass-card/card-09c4bade.js.gz delete mode 100644 config/www/community/frigate-hass-card/card-320adb66.js delete mode 100644 config/www/community/frigate-hass-card/card-320adb66.js.gz delete mode 100644 config/www/community/frigate-hass-card/card-45855f1f.js delete mode 100644 config/www/community/frigate-hass-card/card-45855f1f.js.gz delete mode 100644 config/www/community/frigate-hass-card/card-555679fd.js delete mode 100644 config/www/community/frigate-hass-card/card-555679fd.js.gz delete mode 100644 config/www/community/frigate-hass-card/card-769e2b91.js delete mode 100644 config/www/community/frigate-hass-card/card-769e2b91.js.gz delete mode 100644 config/www/community/frigate-hass-card/card-7cd05290.js delete mode 100644 config/www/community/frigate-hass-card/card-7cd05290.js.gz delete mode 100644 config/www/community/frigate-hass-card/card-c642ee74.js delete mode 100644 config/www/community/frigate-hass-card/card-c642ee74.js.gz delete mode 100644 config/www/community/frigate-hass-card/card-e5d55e5b.js delete mode 100644 config/www/community/frigate-hass-card/card-e5d55e5b.js.gz delete mode 100644 config/www/community/frigate-hass-card/date-picker-3dacab82.js delete mode 100644 config/www/community/frigate-hass-card/date-picker-3dacab82.js.gz delete mode 100644 config/www/community/frigate-hass-card/date-picker-40111fdc.js delete mode 100644 config/www/community/frigate-hass-card/date-picker-40111fdc.js.gz delete mode 100644 config/www/community/frigate-hass-card/date-picker-576d50a8.js delete mode 100644 config/www/community/frigate-hass-card/date-picker-576d50a8.js.gz delete mode 100644 config/www/community/frigate-hass-card/date-picker-8102261e.js delete mode 100644 config/www/community/frigate-hass-card/date-picker-8102261e.js.gz delete mode 100644 config/www/community/frigate-hass-card/date-picker-86e47001.js delete mode 100644 config/www/community/frigate-hass-card/date-picker-86e47001.js.gz delete mode 100644 config/www/community/frigate-hass-card/date-picker-cfd85f75.js delete mode 100644 config/www/community/frigate-hass-card/date-picker-cfd85f75.js.gz delete mode 100644 config/www/community/frigate-hass-card/date-picker-d9927b87.js delete mode 100644 config/www/community/frigate-hass-card/date-picker-d9927b87.js.gz delete mode 100644 config/www/community/frigate-hass-card/dispatch-live-error-c649b480.js delete mode 100644 config/www/community/frigate-hass-card/dispatch-live-error-c649b480.js.gz delete mode 100644 config/www/community/frigate-hass-card/editor-0c0425c2.js delete mode 100644 config/www/community/frigate-hass-card/editor-0c0425c2.js.gz delete mode 100644 config/www/community/frigate-hass-card/editor-13524f00.js delete mode 100644 config/www/community/frigate-hass-card/editor-13524f00.js.gz delete mode 100644 config/www/community/frigate-hass-card/editor-238b96c0.js delete mode 100644 config/www/community/frigate-hass-card/editor-238b96c0.js.gz delete mode 100644 config/www/community/frigate-hass-card/editor-5368ad86.js delete mode 100644 config/www/community/frigate-hass-card/editor-5368ad86.js.gz delete mode 100644 config/www/community/frigate-hass-card/editor-7b16019d.js delete mode 100644 config/www/community/frigate-hass-card/editor-7b16019d.js.gz delete mode 100644 config/www/community/frigate-hass-card/editor-837da8b4.js delete mode 100644 config/www/community/frigate-hass-card/editor-837da8b4.js.gz delete mode 100644 config/www/community/frigate-hass-card/editor-c3e576d8.js delete mode 100644 config/www/community/frigate-hass-card/editor-c3e576d8.js.gz delete mode 100644 config/www/community/frigate-hass-card/editor-ce460dd0.js delete mode 100644 config/www/community/frigate-hass-card/editor-ce460dd0.js.gz delete mode 100644 config/www/community/frigate-hass-card/endOfDay-086a6977.js delete mode 100644 config/www/community/frigate-hass-card/endOfDay-086a6977.js.gz delete mode 100644 config/www/community/frigate-hass-card/endOfDay-0c5086cb.js delete mode 100644 config/www/community/frigate-hass-card/endOfDay-0c5086cb.js.gz delete mode 100644 config/www/community/frigate-hass-card/endOfDay-24d35e3f.js delete mode 100644 config/www/community/frigate-hass-card/endOfDay-24d35e3f.js.gz delete mode 100644 config/www/community/frigate-hass-card/endOfDay-696ac7f4.js delete mode 100644 config/www/community/frigate-hass-card/endOfDay-696ac7f4.js.gz delete mode 100644 config/www/community/frigate-hass-card/endOfDay-8be4da1b.js delete mode 100644 config/www/community/frigate-hass-card/endOfDay-8be4da1b.js.gz delete mode 100644 config/www/community/frigate-hass-card/endOfDay-97ae2cc7.js delete mode 100644 config/www/community/frigate-hass-card/endOfDay-97ae2cc7.js.gz delete mode 100644 config/www/community/frigate-hass-card/endOfDay-cfc9c86c.js delete mode 100644 config/www/community/frigate-hass-card/endOfDay-cfc9c86c.js.gz delete mode 100644 config/www/community/frigate-hass-card/endpoint-760ea36f.js delete mode 100644 config/www/community/frigate-hass-card/endpoint-760ea36f.js.gz delete mode 100644 config/www/community/frigate-hass-card/endpoint-9c79ab63.js delete mode 100644 config/www/community/frigate-hass-card/endpoint-9c79ab63.js.gz delete mode 100644 config/www/community/frigate-hass-card/endpoint-a6d38c7a.js delete mode 100644 config/www/community/frigate-hass-card/endpoint-a6d38c7a.js.gz delete mode 100644 config/www/community/frigate-hass-card/endpoint-aa68fc9e.js delete mode 100644 config/www/community/frigate-hass-card/endpoint-aa68fc9e.js.gz delete mode 100644 config/www/community/frigate-hass-card/endpoint-c9cec68c.js delete mode 100644 config/www/community/frigate-hass-card/endpoint-c9cec68c.js.gz delete mode 100644 config/www/community/frigate-hass-card/endpoint-cc3caf82.js delete mode 100644 config/www/community/frigate-hass-card/endpoint-cc3caf82.js.gz delete mode 100644 config/www/community/frigate-hass-card/endpoint-e9cb8034.js delete mode 100644 config/www/community/frigate-hass-card/endpoint-e9cb8034.js.gz delete mode 100644 config/www/community/frigate-hass-card/endpoint-f74ef6db.js delete mode 100644 config/www/community/frigate-hass-card/endpoint-f74ef6db.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-86b0096c.js delete mode 100644 config/www/community/frigate-hass-card/engine-86b0096c.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-e412e9a0.js delete mode 100644 config/www/community/frigate-hass-card/engine-e412e9a0.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-frigate-1cc4bb56.js delete mode 100644 config/www/community/frigate-hass-card/engine-frigate-1cc4bb56.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-frigate-2c5e3aa9.js delete mode 100644 config/www/community/frigate-hass-card/engine-frigate-2c5e3aa9.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-frigate-3f150159.js delete mode 100644 config/www/community/frigate-hass-card/engine-frigate-3f150159.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-frigate-69a32a9e.js delete mode 100644 config/www/community/frigate-hass-card/engine-frigate-69a32a9e.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-frigate-7cd5392b.js delete mode 100644 config/www/community/frigate-hass-card/engine-frigate-7cd5392b.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-frigate-a6e3bd9e.js delete mode 100644 config/www/community/frigate-hass-card/engine-frigate-a6e3bd9e.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-frigate-be325e58.js delete mode 100644 config/www/community/frigate-hass-card/engine-frigate-be325e58.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-frigate-f675aa79.js delete mode 100644 config/www/community/frigate-hass-card/engine-frigate-f675aa79.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-generic-31c14ad9.js delete mode 100644 config/www/community/frigate-hass-card/engine-generic-31c14ad9.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-generic-395b8c68.js delete mode 100644 config/www/community/frigate-hass-card/engine-generic-395b8c68.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-generic-39deaa91.js delete mode 100644 config/www/community/frigate-hass-card/engine-generic-39deaa91.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-generic-458c9005.js delete mode 100644 config/www/community/frigate-hass-card/engine-generic-458c9005.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-generic-93cdbee6.js delete mode 100644 config/www/community/frigate-hass-card/engine-generic-93cdbee6.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-generic-96b32038.js delete mode 100644 config/www/community/frigate-hass-card/engine-generic-96b32038.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-generic-97fdd47e.js delete mode 100644 config/www/community/frigate-hass-card/engine-generic-97fdd47e.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-generic-bb62ddef.js delete mode 100644 config/www/community/frigate-hass-card/engine-generic-bb62ddef.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-motioneye-205f9ce6.js delete mode 100644 config/www/community/frigate-hass-card/engine-motioneye-205f9ce6.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-motioneye-3521f17f.js delete mode 100644 config/www/community/frigate-hass-card/engine-motioneye-3521f17f.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-motioneye-381004ee.js delete mode 100644 config/www/community/frigate-hass-card/engine-motioneye-381004ee.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-motioneye-7a5554b3.js delete mode 100644 config/www/community/frigate-hass-card/engine-motioneye-7a5554b3.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-motioneye-aba6e54b.js delete mode 100644 config/www/community/frigate-hass-card/engine-motioneye-aba6e54b.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-motioneye-ae70fe08.js delete mode 100644 config/www/community/frigate-hass-card/engine-motioneye-ae70fe08.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-motioneye-d04d1919.js delete mode 100644 config/www/community/frigate-hass-card/engine-motioneye-d04d1919.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-motioneye-fa799851.js delete mode 100644 config/www/community/frigate-hass-card/engine-motioneye-fa799851.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-reolink-0f6e3569.js delete mode 100644 config/www/community/frigate-hass-card/engine-reolink-0f6e3569.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-reolink-13b9bf20.js delete mode 100644 config/www/community/frigate-hass-card/engine-reolink-13b9bf20.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-reolink-5d642010.js delete mode 100644 config/www/community/frigate-hass-card/engine-reolink-5d642010.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-reolink-72a91bc6.js delete mode 100644 config/www/community/frigate-hass-card/engine-reolink-72a91bc6.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-reolink-a43e6d37.js delete mode 100644 config/www/community/frigate-hass-card/engine-reolink-a43e6d37.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-reolink-c0a1587c.js delete mode 100644 config/www/community/frigate-hass-card/engine-reolink-c0a1587c.js.gz delete mode 100644 config/www/community/frigate-hass-card/engine-reolink-ec1b4246.js delete mode 100644 config/www/community/frigate-hass-card/engine-reolink-ec1b4246.js.gz delete mode 100644 config/www/community/frigate-hass-card/frigate-hass-card.js delete mode 100644 config/www/community/frigate-hass-card/frigate-hass-card.js.gz delete mode 100644 config/www/community/frigate-hass-card/frigate-hass-card.zip delete mode 100644 config/www/community/frigate-hass-card/gallery-149d4f41.js delete mode 100644 config/www/community/frigate-hass-card/gallery-149d4f41.js.gz delete mode 100644 config/www/community/frigate-hass-card/gallery-15a600d2.js delete mode 100644 config/www/community/frigate-hass-card/gallery-15a600d2.js.gz delete mode 100644 config/www/community/frigate-hass-card/gallery-1de615c4.js delete mode 100644 config/www/community/frigate-hass-card/gallery-1de615c4.js.gz delete mode 100644 config/www/community/frigate-hass-card/gallery-6281c347.js delete mode 100644 config/www/community/frigate-hass-card/gallery-6281c347.js.gz delete mode 100644 config/www/community/frigate-hass-card/gallery-9024cb87.js delete mode 100644 config/www/community/frigate-hass-card/gallery-9024cb87.js.gz delete mode 100644 config/www/community/frigate-hass-card/gallery-bf3892f1.js delete mode 100644 config/www/community/frigate-hass-card/gallery-bf3892f1.js.gz delete mode 100644 config/www/community/frigate-hass-card/gallery-c718155d.js delete mode 100644 config/www/community/frigate-hass-card/gallery-c718155d.js.gz delete mode 100644 config/www/community/frigate-hass-card/gallery-f478918c.js delete mode 100644 config/www/community/frigate-hass-card/gallery-f478918c.js.gz delete mode 100644 config/www/community/frigate-hass-card/get-technology-for-video-rtc-778a0c05.js delete mode 100644 config/www/community/frigate-hass-card/get-technology-for-video-rtc-778a0c05.js.gz delete mode 100644 config/www/community/frigate-hass-card/ha-1d1cb9a1.js delete mode 100644 config/www/community/frigate-hass-card/ha-1d1cb9a1.js.gz delete mode 100644 config/www/community/frigate-hass-card/ha-31684cf1.js delete mode 100644 config/www/community/frigate-hass-card/ha-31684cf1.js.gz delete mode 100644 config/www/community/frigate-hass-card/ha-378b7a69.js delete mode 100644 config/www/community/frigate-hass-card/ha-378b7a69.js.gz delete mode 100644 config/www/community/frigate-hass-card/ha-45d9145a.js delete mode 100644 config/www/community/frigate-hass-card/ha-45d9145a.js.gz delete mode 100644 config/www/community/frigate-hass-card/ha-4f7cd760.js delete mode 100644 config/www/community/frigate-hass-card/ha-4f7cd760.js.gz delete mode 100644 config/www/community/frigate-hass-card/ha-9af0bc47.js delete mode 100644 config/www/community/frigate-hass-card/ha-9af0bc47.js.gz delete mode 100644 config/www/community/frigate-hass-card/ha-a4f2c69e.js delete mode 100644 config/www/community/frigate-hass-card/ha-a4f2c69e.js.gz delete mode 100644 config/www/community/frigate-hass-card/ha-hls-player-1787796f.js delete mode 100644 config/www/community/frigate-hass-card/ha-hls-player-1787796f.js.gz delete mode 100644 config/www/community/frigate-hass-card/ha-hls-player-2c0fea5b.js delete mode 100644 config/www/community/frigate-hass-card/ha-hls-player-2c0fea5b.js.gz delete mode 100644 config/www/community/frigate-hass-card/ha-hls-player-717bfdfd.js delete mode 100644 config/www/community/frigate-hass-card/ha-hls-player-717bfdfd.js.gz delete mode 100644 config/www/community/frigate-hass-card/ha-hls-player-abb86874.js delete mode 100644 config/www/community/frigate-hass-card/ha-hls-player-abb86874.js.gz delete mode 100644 config/www/community/frigate-hass-card/ha-hls-player-ad38a2a0.js delete mode 100644 config/www/community/frigate-hass-card/ha-hls-player-ad38a2a0.js.gz delete mode 100644 config/www/community/frigate-hass-card/ha-hls-player-aef987da.js delete mode 100644 config/www/community/frigate-hass-card/ha-hls-player-aef987da.js.gz delete mode 100644 config/www/community/frigate-hass-card/ha-hls-player-b195eaa1.js delete mode 100644 config/www/community/frigate-hass-card/ha-hls-player-b195eaa1.js.gz delete mode 100644 config/www/community/frigate-hass-card/ha-hls-player-ba5834a9.js delete mode 100644 config/www/community/frigate-hass-card/ha-hls-player-ba5834a9.js.gz delete mode 100644 config/www/community/frigate-hass-card/image-04d4df35.js delete mode 100644 config/www/community/frigate-hass-card/image-04d4df35.js.gz delete mode 100644 config/www/community/frigate-hass-card/image-0b99ab11.js delete mode 100644 config/www/community/frigate-hass-card/image-0b99ab11.js.gz delete mode 100644 config/www/community/frigate-hass-card/image-1c1ebdfa.js delete mode 100644 config/www/community/frigate-hass-card/image-1c1ebdfa.js.gz delete mode 100644 config/www/community/frigate-hass-card/image-1e2a0a79.js delete mode 100644 config/www/community/frigate-hass-card/image-1e2a0a79.js.gz delete mode 100644 config/www/community/frigate-hass-card/image-5371a090.js delete mode 100644 config/www/community/frigate-hass-card/image-5371a090.js.gz delete mode 100644 config/www/community/frigate-hass-card/image-632882b9.js delete mode 100644 config/www/community/frigate-hass-card/image-632882b9.js.gz delete mode 100644 config/www/community/frigate-hass-card/image-669f8abb.js delete mode 100644 config/www/community/frigate-hass-card/image-669f8abb.js.gz delete mode 100644 config/www/community/frigate-hass-card/image-678a8283.js delete mode 100644 config/www/community/frigate-hass-card/image-678a8283.js.gz delete mode 100644 config/www/community/frigate-hass-card/image-88fcb8ac.js delete mode 100644 config/www/community/frigate-hass-card/image-88fcb8ac.js.gz delete mode 100644 config/www/community/frigate-hass-card/image-b5d57727.js delete mode 100644 config/www/community/frigate-hass-card/image-b5d57727.js.gz delete mode 100644 config/www/community/frigate-hass-card/image-c0a8dc12.js delete mode 100644 config/www/community/frigate-hass-card/image-c0a8dc12.js.gz delete mode 100644 config/www/community/frigate-hass-card/image-c4c28ccb.js delete mode 100644 config/www/community/frigate-hass-card/image-c4c28ccb.js.gz delete mode 100644 config/www/community/frigate-hass-card/image-c6a10ba0.js delete mode 100644 config/www/community/frigate-hass-card/image-c6a10ba0.js.gz delete mode 100644 config/www/community/frigate-hass-card/image-cbfd7ccb.js delete mode 100644 config/www/community/frigate-hass-card/image-cbfd7ccb.js.gz delete mode 100644 config/www/community/frigate-hass-card/image-cdeb2c7e.js delete mode 100644 config/www/community/frigate-hass-card/image-cdeb2c7e.js.gz delete mode 100644 config/www/community/frigate-hass-card/index-0197eb89.js delete mode 100644 config/www/community/frigate-hass-card/index-0197eb89.js.gz delete mode 100644 config/www/community/frigate-hass-card/index-0a012f43.js delete mode 100644 config/www/community/frigate-hass-card/index-0a012f43.js.gz delete mode 100644 config/www/community/frigate-hass-card/index-17f8eed5.js delete mode 100644 config/www/community/frigate-hass-card/index-17f8eed5.js.gz delete mode 100644 config/www/community/frigate-hass-card/index-25c40d01.js delete mode 100644 config/www/community/frigate-hass-card/index-25c40d01.js.gz delete mode 100644 config/www/community/frigate-hass-card/index-33db4eee.js delete mode 100644 config/www/community/frigate-hass-card/index-33db4eee.js.gz delete mode 100644 config/www/community/frigate-hass-card/index-33ed76c0.js delete mode 100644 config/www/community/frigate-hass-card/index-33ed76c0.js.gz delete mode 100644 config/www/community/frigate-hass-card/index-37750213.js delete mode 100644 config/www/community/frigate-hass-card/index-37750213.js.gz delete mode 100644 config/www/community/frigate-hass-card/index-3c9b9749.js delete mode 100644 config/www/community/frigate-hass-card/index-3c9b9749.js.gz delete mode 100644 config/www/community/frigate-hass-card/index-52dee8bb.js delete mode 100644 config/www/community/frigate-hass-card/index-52dee8bb.js.gz delete mode 100644 config/www/community/frigate-hass-card/index-5de5f421.js delete mode 100644 config/www/community/frigate-hass-card/index-5de5f421.js.gz delete mode 100644 config/www/community/frigate-hass-card/index-76cab2a3.js delete mode 100644 config/www/community/frigate-hass-card/index-76cab2a3.js.gz delete mode 100644 config/www/community/frigate-hass-card/index-78f3984a.js delete mode 100644 config/www/community/frigate-hass-card/index-78f3984a.js.gz delete mode 100644 config/www/community/frigate-hass-card/index-8355422b.js delete mode 100644 config/www/community/frigate-hass-card/index-8355422b.js.gz delete mode 100644 config/www/community/frigate-hass-card/index-961f10b9.js delete mode 100644 config/www/community/frigate-hass-card/index-961f10b9.js.gz delete mode 100644 config/www/community/frigate-hass-card/index-9b434861.js delete mode 100644 config/www/community/frigate-hass-card/index-9b434861.js.gz delete mode 100644 config/www/community/frigate-hass-card/index-9bf80040.js delete mode 100644 config/www/community/frigate-hass-card/index-9bf80040.js.gz delete mode 100644 config/www/community/frigate-hass-card/index-a3bb8676.js delete mode 100644 config/www/community/frigate-hass-card/index-a3bb8676.js.gz delete mode 100644 config/www/community/frigate-hass-card/index-af8cf05c.js delete mode 100644 config/www/community/frigate-hass-card/index-af8cf05c.js.gz delete mode 100644 config/www/community/frigate-hass-card/index-befc50c0.js delete mode 100644 config/www/community/frigate-hass-card/index-befc50c0.js.gz delete mode 100644 config/www/community/frigate-hass-card/index-d3be62c7.js delete mode 100644 config/www/community/frigate-hass-card/index-d3be62c7.js.gz delete mode 100644 config/www/community/frigate-hass-card/index-dd357256.js delete mode 100644 config/www/community/frigate-hass-card/index-dd357256.js.gz delete mode 100644 config/www/community/frigate-hass-card/index-e0b66e9f.js delete mode 100644 config/www/community/frigate-hass-card/index-e0b66e9f.js.gz delete mode 100644 config/www/community/frigate-hass-card/index-e610f971.js delete mode 100644 config/www/community/frigate-hass-card/index-e610f971.js.gz delete mode 100644 config/www/community/frigate-hass-card/jsmpeg-05cdf58e.js delete mode 100644 config/www/community/frigate-hass-card/jsmpeg-05cdf58e.js.gz delete mode 100644 config/www/community/frigate-hass-card/jsmpeg-1cb0aa9d.js delete mode 100644 config/www/community/frigate-hass-card/jsmpeg-1cb0aa9d.js.gz delete mode 100644 config/www/community/frigate-hass-card/jsmpeg-45778f1d.js delete mode 100644 config/www/community/frigate-hass-card/jsmpeg-45778f1d.js.gz delete mode 100644 config/www/community/frigate-hass-card/jsmpeg-50dde246.js delete mode 100644 config/www/community/frigate-hass-card/jsmpeg-50dde246.js.gz delete mode 100644 config/www/community/frigate-hass-card/jsmpeg-66c8006d.js delete mode 100644 config/www/community/frigate-hass-card/jsmpeg-66c8006d.js.gz delete mode 100644 config/www/community/frigate-hass-card/jsmpeg-ef28408a.js delete mode 100644 config/www/community/frigate-hass-card/jsmpeg-ef28408a.js.gz delete mode 100644 config/www/community/frigate-hass-card/jsmpeg-fd152ef0.js delete mode 100644 config/www/community/frigate-hass-card/jsmpeg-fd152ef0.js.gz delete mode 100644 config/www/community/frigate-hass-card/lang-ca-449daa4a.js delete mode 100644 config/www/community/frigate-hass-card/lang-ca-449daa4a.js.gz delete mode 100644 config/www/community/frigate-hass-card/lang-ca-99b9960f.js delete mode 100644 config/www/community/frigate-hass-card/lang-ca-99b9960f.js.gz delete mode 100644 config/www/community/frigate-hass-card/lang-fr-674e5de5.js delete mode 100644 config/www/community/frigate-hass-card/lang-fr-674e5de5.js.gz delete mode 100644 config/www/community/frigate-hass-card/lang-fr-e5e97bbf.js delete mode 100644 config/www/community/frigate-hass-card/lang-fr-e5e97bbf.js.gz delete mode 100644 config/www/community/frigate-hass-card/lang-fr-ea16daba.js delete mode 100644 config/www/community/frigate-hass-card/lang-fr-ea16daba.js.gz delete mode 100644 config/www/community/frigate-hass-card/lang-it-0e2e946c.js delete mode 100644 config/www/community/frigate-hass-card/lang-it-0e2e946c.js.gz delete mode 100644 config/www/community/frigate-hass-card/lang-it-2a20a319.js delete mode 100644 config/www/community/frigate-hass-card/lang-it-2a20a319.js.gz delete mode 100644 config/www/community/frigate-hass-card/lang-it-7713a746.js delete mode 100644 config/www/community/frigate-hass-card/lang-it-7713a746.js.gz delete mode 100644 config/www/community/frigate-hass-card/lang-pt-BR-1648942c.js delete mode 100644 config/www/community/frigate-hass-card/lang-pt-BR-1648942c.js.gz delete mode 100644 config/www/community/frigate-hass-card/lang-pt-BR-83a703b9.js delete mode 100644 config/www/community/frigate-hass-card/lang-pt-BR-83a703b9.js.gz delete mode 100644 config/www/community/frigate-hass-card/lang-pt-BR-ea76ed6c.js delete mode 100644 config/www/community/frigate-hass-card/lang-pt-BR-ea76ed6c.js.gz delete mode 100644 config/www/community/frigate-hass-card/lang-pt-PT-16f39312.js delete mode 100644 config/www/community/frigate-hass-card/lang-pt-PT-16f39312.js.gz delete mode 100644 config/www/community/frigate-hass-card/lang-pt-PT-440b6dfd.js delete mode 100644 config/www/community/frigate-hass-card/lang-pt-PT-440b6dfd.js.gz delete mode 100644 config/www/community/frigate-hass-card/lang-pt-PT-c4863423.js delete mode 100644 config/www/community/frigate-hass-card/lang-pt-PT-c4863423.js.gz delete mode 100644 config/www/community/frigate-hass-card/lazyload-c2d6254a.js delete mode 100644 config/www/community/frigate-hass-card/lazyload-c2d6254a.js.gz delete mode 100644 config/www/community/frigate-hass-card/live-e0c9196c.js delete mode 100644 config/www/community/frigate-hass-card/live-e0c9196c.js.gz delete mode 100644 config/www/community/frigate-hass-card/live-go2rtc-0795a62f.js delete mode 100644 config/www/community/frigate-hass-card/live-go2rtc-0795a62f.js.gz delete mode 100644 config/www/community/frigate-hass-card/live-ha-df63bfc8.js delete mode 100644 config/www/community/frigate-hass-card/live-ha-df63bfc8.js.gz delete mode 100644 config/www/community/frigate-hass-card/live-image-c8850fc4.js delete mode 100644 config/www/community/frigate-hass-card/live-image-c8850fc4.js.gz delete mode 100644 config/www/community/frigate-hass-card/live-jsmpeg-9c767737.js delete mode 100644 config/www/community/frigate-hass-card/live-jsmpeg-9c767737.js.gz delete mode 100644 config/www/community/frigate-hass-card/live-webrtc-card-dfc8f852.js delete mode 100644 config/www/community/frigate-hass-card/live-webrtc-card-dfc8f852.js.gz delete mode 100644 config/www/community/frigate-hass-card/media-1a34ac2c.js delete mode 100644 config/www/community/frigate-hass-card/media-1a34ac2c.js.gz delete mode 100644 config/www/community/frigate-hass-card/media-67c578aa.js delete mode 100644 config/www/community/frigate-hass-card/media-67c578aa.js.gz delete mode 100644 config/www/community/frigate-hass-card/media-6eadcd60.js delete mode 100644 config/www/community/frigate-hass-card/media-6eadcd60.js.gz delete mode 100644 config/www/community/frigate-hass-card/media-921a03ae.js delete mode 100644 config/www/community/frigate-hass-card/media-921a03ae.js.gz delete mode 100644 config/www/community/frigate-hass-card/media-aef44451.js delete mode 100644 config/www/community/frigate-hass-card/media-aef44451.js.gz delete mode 100644 config/www/community/frigate-hass-card/media-b0eb3f2a.js delete mode 100644 config/www/community/frigate-hass-card/media-b0eb3f2a.js.gz delete mode 100644 config/www/community/frigate-hass-card/media-c9012082.js delete mode 100644 config/www/community/frigate-hass-card/media-c9012082.js.gz delete mode 100644 config/www/community/frigate-hass-card/media-d4c0d154.js delete mode 100644 config/www/community/frigate-hass-card/media-d4c0d154.js.gz delete mode 100644 config/www/community/frigate-hass-card/media-grid-0f7352bc.js delete mode 100644 config/www/community/frigate-hass-card/media-grid-0f7352bc.js.gz delete mode 100644 config/www/community/frigate-hass-card/media-grid-110faed3.js delete mode 100644 config/www/community/frigate-hass-card/media-grid-110faed3.js.gz delete mode 100644 config/www/community/frigate-hass-card/media-grid-3082f0ad.js delete mode 100644 config/www/community/frigate-hass-card/media-grid-3082f0ad.js.gz delete mode 100644 config/www/community/frigate-hass-card/media-grid-82029e37.js delete mode 100644 config/www/community/frigate-hass-card/media-grid-82029e37.js.gz delete mode 100644 config/www/community/frigate-hass-card/media-grid-adc03f7c.js delete mode 100644 config/www/community/frigate-hass-card/media-grid-adc03f7c.js.gz delete mode 100644 config/www/community/frigate-hass-card/media-grid-cff66b0b.js delete mode 100644 config/www/community/frigate-hass-card/media-grid-cff66b0b.js.gz delete mode 100644 config/www/community/frigate-hass-card/media-grid-ef47501a.js delete mode 100644 config/www/community/frigate-hass-card/media-grid-ef47501a.js.gz delete mode 100644 config/www/community/frigate-hass-card/media-layout-8e0c974f.js delete mode 100644 config/www/community/frigate-hass-card/media-layout-8e0c974f.js.gz delete mode 100644 config/www/community/frigate-hass-card/parse-114e8d53.js delete mode 100644 config/www/community/frigate-hass-card/parse-114e8d53.js.gz delete mode 100644 config/www/community/frigate-hass-card/parse-214d78af.js delete mode 100644 config/www/community/frigate-hass-card/parse-214d78af.js.gz delete mode 100644 config/www/community/frigate-hass-card/parse-645a86cb.js delete mode 100644 config/www/community/frigate-hass-card/parse-645a86cb.js.gz delete mode 100644 config/www/community/frigate-hass-card/parse-7dfc1897.js delete mode 100644 config/www/community/frigate-hass-card/parse-7dfc1897.js.gz delete mode 100644 config/www/community/frigate-hass-card/parse-7f4a6e12.js delete mode 100644 config/www/community/frigate-hass-card/parse-7f4a6e12.js.gz delete mode 100644 config/www/community/frigate-hass-card/parse-a53fb39b.js delete mode 100644 config/www/community/frigate-hass-card/parse-a53fb39b.js.gz delete mode 100644 config/www/community/frigate-hass-card/parse-feacefaa.js delete mode 100644 config/www/community/frigate-hass-card/parse-feacefaa.js.gz delete mode 100644 config/www/community/frigate-hass-card/startOfHour-1a5ce3ae.js delete mode 100644 config/www/community/frigate-hass-card/startOfHour-1a5ce3ae.js.gz delete mode 100644 config/www/community/frigate-hass-card/startOfHour-34edc6a8.js delete mode 100644 config/www/community/frigate-hass-card/startOfHour-34edc6a8.js.gz delete mode 100644 config/www/community/frigate-hass-card/startOfHour-4de961cf.js delete mode 100644 config/www/community/frigate-hass-card/startOfHour-4de961cf.js.gz delete mode 100644 config/www/community/frigate-hass-card/startOfHour-5e3c525d.js delete mode 100644 config/www/community/frigate-hass-card/startOfHour-5e3c525d.js.gz delete mode 100644 config/www/community/frigate-hass-card/startOfHour-7a3519fb.js delete mode 100644 config/www/community/frigate-hass-card/startOfHour-7a3519fb.js.gz delete mode 100644 config/www/community/frigate-hass-card/startOfHour-b41e160a.js delete mode 100644 config/www/community/frigate-hass-card/startOfHour-b41e160a.js.gz delete mode 100644 config/www/community/frigate-hass-card/startOfHour-f3ea02fd.js delete mode 100644 config/www/community/frigate-hass-card/startOfHour-f3ea02fd.js.gz delete mode 100644 config/www/community/frigate-hass-card/timeline-116cbe0a.js delete mode 100644 config/www/community/frigate-hass-card/timeline-116cbe0a.js.gz delete mode 100644 config/www/community/frigate-hass-card/timeline-3c6e5e5d.js delete mode 100644 config/www/community/frigate-hass-card/timeline-3c6e5e5d.js.gz delete mode 100644 config/www/community/frigate-hass-card/timeline-62b72e11.js delete mode 100644 config/www/community/frigate-hass-card/timeline-62b72e11.js.gz delete mode 100644 config/www/community/frigate-hass-card/timeline-6aa9e747.js delete mode 100644 config/www/community/frigate-hass-card/timeline-6aa9e747.js.gz delete mode 100644 config/www/community/frigate-hass-card/timeline-b24153cf.js delete mode 100644 config/www/community/frigate-hass-card/timeline-b24153cf.js.gz delete mode 100644 config/www/community/frigate-hass-card/timeline-c30d9341.js delete mode 100644 config/www/community/frigate-hass-card/timeline-c30d9341.js.gz delete mode 100644 config/www/community/frigate-hass-card/timeline-c3ef17c4.js delete mode 100644 config/www/community/frigate-hass-card/timeline-c3ef17c4.js.gz delete mode 100644 config/www/community/frigate-hass-card/timeline-core-14147786.js delete mode 100644 config/www/community/frigate-hass-card/timeline-core-14147786.js.gz delete mode 100644 config/www/community/frigate-hass-card/timeline-core-744686a3.js delete mode 100644 config/www/community/frigate-hass-card/timeline-core-744686a3.js.gz delete mode 100644 config/www/community/frigate-hass-card/timeline-core-91693473.js delete mode 100644 config/www/community/frigate-hass-card/timeline-core-91693473.js.gz delete mode 100644 config/www/community/frigate-hass-card/timeline-core-99ac5d81.js delete mode 100644 config/www/community/frigate-hass-card/timeline-core-99ac5d81.js.gz delete mode 100644 config/www/community/frigate-hass-card/timeline-core-9cf72087.js delete mode 100644 config/www/community/frigate-hass-card/timeline-core-9cf72087.js.gz delete mode 100644 config/www/community/frigate-hass-card/timeline-core-b390cfa1.js delete mode 100644 config/www/community/frigate-hass-card/timeline-core-b390cfa1.js.gz delete mode 100644 config/www/community/frigate-hass-card/timeline-core-fabd0153.js delete mode 100644 config/www/community/frigate-hass-card/timeline-core-fabd0153.js.gz delete mode 100644 config/www/community/frigate-hass-card/timeline-dfcd5e4d.js delete mode 100644 config/www/community/frigate-hass-card/timeline-dfcd5e4d.js.gz delete mode 100644 config/www/community/frigate-hass-card/uniqWith-12b3ff8a.js delete mode 100644 config/www/community/frigate-hass-card/uniqWith-12b3ff8a.js.gz delete mode 100644 config/www/community/frigate-hass-card/viewer-b95bc789.js delete mode 100644 config/www/community/frigate-hass-card/viewer-b95bc789.js.gz delete mode 100644 config/www/community/frigate-hass-card/webrtc-card-171319e4.js delete mode 100644 config/www/community/frigate-hass-card/webrtc-card-171319e4.js.gz delete mode 100644 config/www/community/frigate-hass-card/webrtc-card-74652e9d.js delete mode 100644 config/www/community/frigate-hass-card/webrtc-card-74652e9d.js.gz delete mode 100644 config/www/community/frigate-hass-card/webrtc-card-a69dcd1f.js delete mode 100644 config/www/community/frigate-hass-card/webrtc-card-a69dcd1f.js.gz delete mode 100644 config/www/community/frigate-hass-card/webrtc-card-a9018c5e.js delete mode 100644 config/www/community/frigate-hass-card/webrtc-card-a9018c5e.js.gz delete mode 100644 config/www/community/frigate-hass-card/webrtc-card-b8854548.js delete mode 100644 config/www/community/frigate-hass-card/webrtc-card-b8854548.js.gz delete mode 100644 config/www/community/frigate-hass-card/webrtc-card-bb4c56e2.js delete mode 100644 config/www/community/frigate-hass-card/webrtc-card-bb4c56e2.js.gz delete mode 100644 config/www/community/frigate-hass-card/webrtc-card-ee41138a.js delete mode 100644 config/www/community/frigate-hass-card/webrtc-card-ee41138a.js.gz delete mode 100644 config/www/community/frigate-hass-card/within-dates-2bb98b10.js delete mode 100644 config/www/community/frigate-hass-card/within-dates-2bb98b10.js.gz delete mode 100644 config/www/community/frigate-hass-card/within-dates-446c6430.js delete mode 100644 config/www/community/frigate-hass-card/within-dates-446c6430.js.gz delete mode 100644 config/www/community/frigate-hass-card/within-dates-a146acf5.js delete mode 100644 config/www/community/frigate-hass-card/within-dates-a146acf5.js.gz delete mode 100644 config/www/community/frigate-hass-card/within-dates-a663657f.js delete mode 100644 config/www/community/frigate-hass-card/within-dates-a663657f.js.gz delete mode 100644 config/www/community/frigate-hass-card/within-dates-c613e3cb.js delete mode 100644 config/www/community/frigate-hass-card/within-dates-c613e3cb.js.gz delete mode 100644 config/www/community/frigate-hass-card/within-dates-cc65dfa5.js delete mode 100644 config/www/community/frigate-hass-card/within-dates-cc65dfa5.js.gz delete mode 100644 config/www/community/frigate-hass-card/within-dates-cc9f8404.js delete mode 100644 config/www/community/frigate-hass-card/within-dates-cc9f8404.js.gz delete mode 100644 config/www/community/frigate-hass-card/zoomer-1857311a.js delete mode 100644 config/www/community/frigate-hass-card/zoomer-1857311a.js.gz delete mode 100644 config/www/community/frigate-hass-card/zoomer-28db7d93.js delete mode 100644 config/www/community/frigate-hass-card/zoomer-28db7d93.js.gz delete mode 100644 config/www/community/frigate-hass-card/zoomer-2b03f2ed.js delete mode 100644 config/www/community/frigate-hass-card/zoomer-2b03f2ed.js.gz delete mode 100644 config/www/community/frigate-hass-card/zoomer-37e20bdd.js delete mode 100644 config/www/community/frigate-hass-card/zoomer-37e20bdd.js.gz delete mode 100644 config/www/community/frigate-hass-card/zoomer-672d26af.js delete mode 100644 config/www/community/frigate-hass-card/zoomer-672d26af.js.gz delete mode 100644 config/www/community/frigate-hass-card/zoomer-725f087c.js delete mode 100644 config/www/community/frigate-hass-card/zoomer-725f087c.js.gz delete mode 100644 config/www/community/frigate-hass-card/zoomer-85596cd4.js delete mode 100644 config/www/community/frigate-hass-card/zoomer-85596cd4.js.gz delete mode 100644 config/www/community/frigate-hass-card/zoomer-ddec5522.js delete mode 100644 config/www/community/frigate-hass-card/zoomer-ddec5522.js.gz diff --git a/config/www/community/frigate-hass-card/_commonjsHelpers-1789f0cf.js b/config/www/community/frigate-hass-card/_commonjsHelpers-1789f0cf.js deleted file mode 100644 index d6f8d42a..00000000 --- a/config/www/community/frigate-hass-card/_commonjsHelpers-1789f0cf.js +++ /dev/null @@ -1 +0,0 @@ -var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function o(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}export{e as c,o as g}; diff --git a/config/www/community/frigate-hass-card/_commonjsHelpers-1789f0cf.js.gz b/config/www/community/frigate-hass-card/_commonjsHelpers-1789f0cf.js.gz deleted file mode 100644 index 500c55b014748a2dbbecc17c68d205d5100cee51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212 zcmV;_04x6=iwFpZat&qz|6gNoZEbIEYI8_sY;a|Ab1gA9I5}o8V`eUDa{zUXOA3Q9 z7=-sdMe0HnBnME$6BN7XUZReV67q*UYDK(zl?vV1%{*ZE<|Pb69(dKF8x`8%n!8zp zI@U|7g?tR7Eq*aQTTY{DX)3;!{%0MW(}jiXie1uW%{s3dHOBcii_>ohrcxy6l0TY%r3GLRe O+2sSJzcMQj0RR9ti&*gh diff --git a/config/www/community/frigate-hass-card/audio-557099cb.js b/config/www/community/frigate-hass-card/audio-557099cb.js deleted file mode 100644 index 268044d1..00000000 --- a/config/www/community/frigate-hass-card/audio-557099cb.js +++ /dev/null @@ -1 +0,0 @@ -const o=o=>void 0!==o.mozHasAudio?o.mozHasAudio:void 0===o.audioTracks||Boolean(o.audioTracks?.length);export{o as m}; diff --git a/config/www/community/frigate-hass-card/audio-557099cb.js.gz b/config/www/community/frigate-hass-card/audio-557099cb.js.gz deleted file mode 100644 index ddb79dad25ccee7ce342a8ccf999e735c3f49362..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126 zcmV-^0D=D>iwFpVat&qz|6z4xX>TnxH8(IhIb&ijYI6Wf&d)0@QOLK=x3w$F&rDG; zP_(tp*UQbX@<=RpEKSMGw@2YwK@{176eWTLLW&ZTvx{qLobvN?QWNtuP=xLEa#His gOENUAQ!5Jci%P2V6%vaTa%-)*04#o|Q+EIW0C!|JIRF3v diff --git a/config/www/community/frigate-hass-card/audio-cf3a75aa.js b/config/www/community/frigate-hass-card/audio-cf3a75aa.js deleted file mode 100644 index 268044d1..00000000 --- a/config/www/community/frigate-hass-card/audio-cf3a75aa.js +++ /dev/null @@ -1 +0,0 @@ -const o=o=>void 0!==o.mozHasAudio?o.mozHasAudio:void 0===o.audioTracks||Boolean(o.audioTracks?.length);export{o as m}; diff --git a/config/www/community/frigate-hass-card/audio-cf3a75aa.js.gz b/config/www/community/frigate-hass-card/audio-cf3a75aa.js.gz deleted file mode 100644 index e5000ecc0bb558d83d8d87a76b7d6121010fd92a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126 zcmV-^0D=D>iwFqkFOg>g|6z4xX>ToKW;0=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o}"function"==typeof SuppressedError&&SuppressedError; -/** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const t=globalThis,n=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,a=Symbol(),i=new WeakMap;let r=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==a)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(n&&void 0===e){const n=void 0!==t&&1===t.length;n&&(e=i.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&i.set(t,e))}return e}toString(){return this.cssText}};const o=e=>new r("string"==typeof e?e:e+"",void 0,a),s=(e,...t)=>{const n=1===e.length?e[0]:t.reduce(((t,n,a)=>t+(e=>{if(!0===e._$cssResult$)return e.cssText;if("number"==typeof e)return e;throw Error("Value passed to 'css' function must be a 'css' function result: "+e+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(n)+e[a+1]),e[0]);return new r(n,e,a)},c=(e,a)=>{if(n)e.adoptedStyleSheets=a.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet));else for(const n of a){const a=document.createElement("style"),i=t.litNonce;void 0!==i&&a.setAttribute("nonce",i),a.textContent=n.cssText,e.appendChild(a)}},l=n?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const n of e.cssRules)t+=n.cssText;return o(t)})(e):e -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */,{is:d,defineProperty:u,getOwnPropertyDescriptor:h,getOwnPropertyNames:p,getOwnPropertySymbols:m,getPrototypeOf:g}=Object,f=globalThis,_=f.trustedTypes,v=_?_.emptyScript:"",y=f.reactiveElementPolyfillSupport,b=(e,t)=>e,w={toAttribute(e,t){switch(t){case Boolean:e=e?v:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=null!==e;break;case Number:n=null===e?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch(e){n=null}}return n}},x=(e,t)=>!d(e,t),C={attribute:!0,type:String,converter:w,reflect:!1,hasChanged:x};Symbol.metadata??=Symbol("metadata"),f.litPropertyMetadata??=new WeakMap;class M extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=C){if(t.state&&(t.attribute=!1),this._$Ei(),this.elementProperties.set(e,t),!t.noAccessor){const n=Symbol(),a=this.getPropertyDescriptor(e,n,t);void 0!==a&&u(this.prototype,e,a)}}static getPropertyDescriptor(e,t,n){const{get:a,set:i}=h(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get(){return a?.call(this)},set(t){const r=a?.call(this);i.call(this,t),this.requestUpdate(e,r,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??C}static _$Ei(){if(this.hasOwnProperty(b("elementProperties")))return;const e=g(this);e.finalize(),void 0!==e.l&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(b("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(b("properties"))){const e=this.properties,t=[...p(e),...m(e)];for(const n of t)this.createProperty(n,e[n])}const e=this[Symbol.metadata];if(null!==e){const t=litPropertyMetadata.get(e);if(void 0!==t)for(const[e,n]of t)this.elementProperties.set(e,n)}this._$Eh=new Map;for(const[e,t]of this.elementProperties){const n=this._$Eu(e,t);void 0!==n&&this._$Eh.set(n,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const n=new Set(e.flat(1/0).reverse());for(const e of n)t.unshift(l(e))}else void 0!==e&&t.push(l(e));return t}static _$Eu(e,t){const n=t.attribute;return!1===n?void 0:"string"==typeof n?n:"string"==typeof e?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((e=>this.enableUpdating=e)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((e=>e(this)))}addController(e){(this._$EO??=new Set).add(e),void 0!==this.renderRoot&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){const e=new Map,t=this.constructor.elementProperties;for(const n of t.keys())this.hasOwnProperty(n)&&(e.set(n,this[n]),delete this[n]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return c(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((e=>e.hostConnected?.()))}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach((e=>e.hostDisconnected?.()))}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$EC(e,t){const n=this.constructor.elementProperties.get(e),a=this.constructor._$Eu(e,n);if(void 0!==a&&!0===n.reflect){const i=(void 0!==n.converter?.toAttribute?n.converter:w).toAttribute(t,n.type);this._$Em=e,null==i?this.removeAttribute(a):this.setAttribute(a,i),this._$Em=null}}_$AK(e,t){const n=this.constructor,a=n._$Eh.get(e);if(void 0!==a&&this._$Em!==a){const e=n.getPropertyOptions(a),i="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==e.converter?.fromAttribute?e.converter:w;this._$Em=a,this[a]=i.fromAttribute(t,e.type),this._$Em=null}}requestUpdate(e,t,n){if(void 0!==e){if(n??=this.constructor.getPropertyOptions(e),!(n.hasChanged??x)(this[e],t))return;this.P(e,t,n)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(e,t,n){this._$AL.has(e)||this._$AL.set(e,t),!0===n.reflect&&this._$Em!==e&&(this._$Ej??=new Set).add(e)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}const e=this.constructor.elementProperties;if(e.size>0)for(const[t,n]of e)!0!==n.wrapped||this._$AL.has(t)||void 0===this[t]||this.P(t,this[t],n)}let e=!1;const t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach((e=>e.hostUpdate?.())),this.update(t)):this._$EU()}catch(t){throw e=!1,this._$EU(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach((e=>e.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Ej&&=this._$Ej.forEach((e=>this._$EC(e,this[e]))),this._$EU()}updated(e){}firstUpdated(e){}}M.elementStyles=[],M.shadowRootOptions={mode:"open"},M[b("elementProperties")]=new Map,M[b("finalized")]=new Map,y?.({ReactiveElement:M}),(f.reactiveElementVersions??=[]).push("2.0.4"); -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const k=globalThis,S=k.trustedTypes,E=S?S.createPolicy("lit-html",{createHTML:e=>e}):void 0,$="$lit$",A=`lit$${(Math.random()+"").slice(9)}$`,z="?"+A,I=`<${z}>`,T=document,j=()=>T.createComment(""),O=e=>null===e||"object"!=typeof e&&"function"!=typeof e,D=Array.isArray,R="[ \t\n\f\r]",P=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,L=/-->/g,N=/>/g,F=RegExp(`>|${R}(?:([^\\s"'>=/]+)(${R}*=${R}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),V=/'/g,H=/"/g,B=/^(?:script|style|textarea|title)$/i,q=(e=>(t,...n)=>({_$litType$:e,strings:t,values:n}))(1),U=Symbol.for("lit-noChange"),W=Symbol.for("lit-nothing"),Z=new WeakMap,Q=T.createTreeWalker(T,129);function G(e,t){if(!Array.isArray(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==E?E.createHTML(t):t}const Y=(e,t)=>{const n=e.length-1,a=[];let i,r=2===t?"":"",o=P;for(let t=0;t"===c[0]?(o=i??P,l=-1):void 0===c[1]?l=-2:(l=o.lastIndex-c[2].length,s=c[1],o=void 0===c[3]?F:'"'===c[3]?H:V):o===H||o===V?o=F:o===L||o===N?o=P:(o=F,i=void 0);const u=o===F&&e[t+1].startsWith("/>")?" ":"";r+=o===P?n+I:l>=0?(a.push(s),n.slice(0,l)+$+n.slice(l)+A+u):n+A+(-2===l?t:u)}return[G(e,r+(e[n]||"")+(2===t?"":"")),a]};class K{constructor({strings:e,_$litType$:t},n){let a;this.parts=[];let i=0,r=0;const o=e.length-1,s=this.parts,[c,l]=Y(e,t);if(this.el=K.createElement(c,n),Q.currentNode=this.el.content,2===t){const e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;null!==(a=Q.nextNode())&&s.length0){a.textContent=S?S.emptyScript:"";for(let n=0;nD(e)||"function"==typeof e?.[Symbol.iterator])(e)?this.k(e):this._(e)}S(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.S(e))}_(e){this._$AH!==W&&O(this._$AH)?this._$AA.nextSibling.data=e:this.T(T.createTextNode(e)),this._$AH=e}$(e){const{values:t,_$litType$:n}=e,a="number"==typeof n?this._$AC(e):(void 0===n.el&&(n.el=K.createElement(G(n.h,n.h[0]),this.options)),n);if(this._$AH?._$AD===a)this._$AH.p(t);else{const e=new J(a,this),n=e.u(this.options);e.p(t),this.T(n),this._$AH=e}}_$AC(e){let t=Z.get(e.strings);return void 0===t&&Z.set(e.strings,t=new K(e)),t}k(e){D(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let n,a=0;for(const i of e)a===t.length?t.push(n=new ee(this.S(j()),this.S(j()),this,this.options)):n=t[a],n._$AI(i),a++;a2||""!==n[0]||""!==n[1]?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=W}_$AI(e,t=this,n,a){const i=this.strings;let r=!1;if(void 0===i)e=X(this,e,t,0),r=!O(e)||e!==this._$AH&&e!==U,r&&(this._$AH=e);else{const a=e;let o,s;for(e=i[0],o=0;o{const a=n?.renderBefore??t;let i=a._$litPart$;if(void 0===i){const e=n?.renderBefore??null;a._$litPart$=i=new ee(t.insertBefore(j(),e),e,void 0,n??{})}return i._$AI(e),i})(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return U}};se._$litElement$=!0,se.finalized=!0,globalThis.litElementHydrateSupport?.({LitElement:se});const ce=globalThis.litElementPolyfillSupport;ce?.({LitElement:se}),(globalThis.litElementVersions??=[]).push("4.0.4"); -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const le=e=>(t,n)=>{void 0!==n?n.addInitializer((()=>{customElements.define(e,t)})):customElements.define(e,t)} -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */,de={attribute:!0,type:String,converter:w,reflect:!1,hasChanged:x},ue=(e=de,t,n)=>{const{kind:a,metadata:i}=n;let r=globalThis.litPropertyMetadata.get(i);if(void 0===r&&globalThis.litPropertyMetadata.set(i,r=new Map),r.set(n.name,e),"accessor"===a){const{name:a}=n;return{set(n){const i=t.get.call(this);t.set.call(this,n),this.requestUpdate(a,i,e)},init(t){return void 0!==t&&this.P(a,void 0,e),t}}}if("setter"===a){const{name:a}=n;return function(n){const i=this[a];t.call(this,n),this.requestUpdate(a,i,e)}}throw Error("Unsupported decorator location: "+a)};function he(e){return(t,n)=>"object"==typeof n?ue(e,t,n):((e,t,n)=>{const a=t.hasOwnProperty(n);return t.constructor.createProperty(n,a?{...e,wrapped:!0}:e),a?Object.getOwnPropertyDescriptor(t,n):void 0})(e,t,n) -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */}function pe(e){return he({...e,state:!0,attribute:!1})} -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const me={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},ge=e=>(...t)=>({_$litDirective$:e,values:t});let fe=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,n){this._$Ct=e,this._$AM=t,this._$Ci=n}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}}; -/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const _e=ge(class extends fe{constructor(e){if(super(e),e.type!==me.ATTRIBUTE||"class"!==e.name||e.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(e){return" "+Object.keys(e).filter((t=>e[t])).join(" ")+" "}update(e,[t]){if(void 0===this.st){this.st=new Set,void 0!==e.strings&&(this.nt=new Set(e.strings.join(" ").split(/\s/).filter((e=>""!==e))));for(const e in t)t[e]&&!this.nt?.has(e)&&this.st.add(e);return this.render(t)}const n=e.element.classList;for(const e of this.st)e in t||(n.remove(e),this.st.delete(e));for(const e in t){const a=!!t[e];a===this.st.has(e)||this.nt?.has(e)||(a?(n.add(e),this.st.add(e)):(n.remove(e),this.st.delete(e)))}return U}}),ve=e=>e??W -/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */,ye=e=>null===e||"object"!=typeof e&&"function"!=typeof e,be=e=>void 0===e.strings,we={},xe=(e,t=we)=>e._$AH=t -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */,Ce=(e,t)=>{const n=e._$AN;if(void 0===n)return!1;for(const e of n)e._$AO?.(t,!1),Ce(e,t);return!0},Me=e=>{let t,n;do{if(void 0===(t=e._$AM))break;n=t._$AN,n.delete(e),e=t}while(0===n?.size)},ke=e=>{for(let t;t=e._$AM;e=t){let n=t._$AN;if(void 0===n)t._$AN=n=new Set;else if(n.has(e))break;n.add(e),$e(t)}}; -/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */function Se(e){void 0!==this._$AN?(Me(this),this._$AM=e,ke(this)):this._$AM=e}function Ee(e,t=!1,n=0){const a=this._$AH,i=this._$AN;if(void 0!==i&&0!==i.size)if(t)if(Array.isArray(a))for(let e=n;e{e.type==me.CHILD&&(e._$AP??=Ee,e._$AQ??=Se)};class Ae extends fe{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,t,n){super._$AT(e,t,n),ke(this),this.isConnected=e._$AU}_$AO(e,t=!0){e!==this.isConnected&&(this.isConnected=e,e?this.reconnected?.():this.disconnected?.()),t&&(Ce(this,e),Me(this))}setValue(e){if(be(this._$Ct))this._$Ct._$AI(e,this);else{const t=[...this._$Ct._$AH];t[this._$Ci]=e,this._$Ct._$AI(t,this,0)}}disconnected(){}reconnected(){}} -/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const ze=()=>new Ie;let Ie=class{};const Te=new WeakMap,je=ge(class extends Ae{render(e){return W}update(e,[t]){const n=t!==this.Y;return n&&void 0!==this.Y&&this.rt(void 0),(n||this.lt!==this.ct)&&(this.Y=t,this.ht=e.options?.host,this.rt(this.ct=e.element)),W}rt(e){if("function"==typeof this.Y){const t=this.ht??globalThis;let n=Te.get(t);void 0===n&&(n=new WeakMap,Te.set(t,n)),void 0!==n.get(this.Y)&&this.Y.call(this.ht,void 0),n.set(this.Y,e),void 0!==e&&this.Y.call(this.ht,e)}else this.Y.value=e}get lt(){return"function"==typeof this.Y?Te.get(this.ht??globalThis)?.get(this.Y):this.Y?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}}),Oe="important",De=" !"+Oe,Re=ge(class extends fe{constructor(e){if(super(e),e.type!==me.ATTRIBUTE||"style"!==e.name||e.strings?.length>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(e){return Object.keys(e).reduce(((t,n)=>{const a=e[n];return null==a?t:t+`${n=n.includes("-")?n:n.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${a};`}),"")}update(e,[t]){const{style:n}=e.element;if(void 0===this.ft)return this.ft=new Set(Object.keys(t)),this.render(t);for(const e of this.ft)null==t[e]&&(this.ft.delete(e),e.includes("-")?n.removeProperty(e):n[e]=null);for(const e in t){const a=t[e];if(null!=a){this.ft.add(e);const t="string"==typeof a&&a.endsWith(De);e.includes("-")||t?n.setProperty(e,t?a.slice(0,-11):a,t?Oe:""):n[e]=a}}return U}}); -/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */function Pe(e,t,n,a=20,i=0){let r=[];if(i>=a)return r;const o=e=>{const r=e.assignedNodes().filter((e=>1===e.nodeType));return r.length>0?Pe(r[0].parentElement,t,n,a,i+1):[]},s=Array.from(e.children||[]);for(const e of s)t(e)||(n(e)&&r.push(e),null!=e.shadowRoot?r.push(...Pe(e.shadowRoot,t,n,a,i+1)):"SLOT"===e.tagName?r.push(...o(e)):r.push(...Pe(e,t,n,a,i+1)));return r}function Le(e){return e.hasAttribute("hidden")||e.hasAttribute("aria-hidden")&&"false"!==e.getAttribute("aria-hidden")||"none"===e.style.display||"0"===e.style.opacity||"hidden"===e.style.visibility||"collapse"===e.style.visibility}function Ne(e){return"-1"!==e.getAttribute("tabindex")&&!Le(e)&&!function(e){return e.hasAttribute("disabled")||e.hasAttribute("aria-disabled")&&"false"!==e.getAttribute("aria-disabled")}(e)&&(e.hasAttribute("tabindex")||(e instanceof HTMLAnchorElement||e instanceof HTMLAreaElement)&&e.hasAttribute("href")||e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLIFrameElement)}const Fe=new Map;const Ve=document.createElement("template");Ve.innerHTML='\n\t
\n\t
\n\t\n\t
\n';class He extends HTMLElement{constructor(){super(),this.debounceId=Math.random().toString(),this._focused=!1;const e=this.attachShadow({mode:"open"});e.appendChild(Ve.content.cloneNode(!0)),this.$backup=e.querySelector("#backup"),this.$start=e.querySelector("#start"),this.$end=e.querySelector("#end"),this.focusLastElement=this.focusLastElement.bind(this),this.focusFirstElement=this.focusFirstElement.bind(this),this.onFocusIn=this.onFocusIn.bind(this),this.onFocusOut=this.onFocusOut.bind(this)}static get observedAttributes(){return["inactive"]}get inactive(){return this.hasAttribute("inactive")}set inactive(e){e?this.setAttribute("inactive",""):this.removeAttribute("inactive")}get focused(){return this._focused}connectedCallback(){this.$start.addEventListener("focus",this.focusLastElement),this.$end.addEventListener("focus",this.focusFirstElement),this.addEventListener("focusin",this.onFocusIn),this.addEventListener("focusout",this.onFocusOut),this.render()}disconnectedCallback(){this.$start.removeEventListener("focus",this.focusLastElement),this.$end.removeEventListener("focus",this.focusFirstElement),this.removeEventListener("focusin",this.onFocusIn),this.removeEventListener("focusout",this.onFocusOut)}attributeChangedCallback(){this.render()}focusFirstElement(){this.trapFocus()}focusLastElement(){this.trapFocus(!0)}getFocusableElements(){return Pe(this,Le,Ne)}trapFocus(e){if(this.inactive)return;let t=this.getFocusableElements();t.length>0?(e?t[t.length-1].focus():t[0].focus(),this.$backup.setAttribute("tabindex","-1")):(this.$backup.setAttribute("tabindex","0"),this.$backup.focus())}onFocusIn(){this.updateFocused(!0)}onFocusOut(){this.updateFocused(!1)}updateFocused(e){!function(e,t,n){const a=Fe.get(n);null!=a&&window.clearTimeout(a),Fe.set(n,window.setTimeout((()=>{e(),Fe.delete(n)}),t))}((()=>{this.focused!==e&&(this._focused=e,this.render())}),0,this.debounceId)}render(){this.$start.setAttribute("tabindex",!this.focused||this.inactive?"-1":"0"),this.$end.setAttribute("tabindex",!this.focused||this.inactive?"-1":"0"),this.focused?this.setAttribute("focused",""):this.removeAttribute("focused")}}function Be(e){return Number(e.getAttribute("data-dialog-count"))||0}function qe(e,t){e.setAttribute("data-dialog-count",t.toString())}function Ue(e=document.activeElement){return null!=e&&null!=e.shadowRoot&&null!=e.shadowRoot.activeElement?Ue(e.shadowRoot.activeElement):e}window.customElements.define("focus-trap",He);const We=document.createElement("template");We.innerHTML='\n \n
\n \n \n \n';class Ze extends HTMLElement{constructor(){super(),this.$scrollContainer=document.documentElement,this.$previousActiveElement=null;const e=this.attachShadow({mode:"open"});e.appendChild(We.content.cloneNode(!0)),this.$dialog=e.querySelector("#dialog"),this.$backdrop=e.querySelector("#backdrop"),this.onBackdropClick=this.onBackdropClick.bind(this),this.onKeyDown=this.onKeyDown.bind(this),this.setAttribute("aria-modal","true"),this.$dialog.setAttribute("role","alertdialog")}static get observedAttributes(){return["open","center"]}get open(){return this.hasAttribute("open")}set open(e){e?this.setAttribute("open",""):this.removeAttribute("open")}get center(){return this.hasAttribute("center")}set center(e){e?this.setAttribute("center",""):this.removeAttribute("center")}connectedCallback(){this.$backdrop.addEventListener("click",this.onBackdropClick)}disconnectedCallback(){this.$backdrop.removeEventListener("click",this.onBackdropClick),this.open&&this.didClose()}show(){this.open=!0}close(e){this.result=e,this.open=!1}onBackdropClick(){this.assertClosing()&&this.close()}onKeyDown(e){if("Escape"===e.code)this.assertClosing()&&(this.close(),e.stopImmediatePropagation())}assertClosing(){return this.dispatchEvent(new CustomEvent("closing",{cancelable:!0}))}didOpen(){this.$previousActiveElement=Ue(document.activeElement),requestAnimationFrame((()=>{this.$dialog.focusFirstElement()})),this.tabIndex=0,this.$scrollContainer.style.overflow="hidden",this.addEventListener("keydown",this.onKeyDown,{capture:!0,passive:!0}),qe(this.$scrollContainer,Be(this.$scrollContainer)+1),this.dispatchEvent(new CustomEvent("open"))}didClose(){this.removeEventListener("keydown",this.onKeyDown,{capture:!0}),qe(this.$scrollContainer,Math.max(0,Be(this.$scrollContainer)-1)),Be(this.$scrollContainer)<=0&&(this.$scrollContainer.style.overflow=""),this.tabIndex=-1,null!=this.$previousActiveElement&&(this.$previousActiveElement.focus(),this.$previousActiveElement=null),this.dispatchEvent(new CustomEvent("close",{detail:this.result}))}attributeChangedCallback(e,t,n){if("open"===e)this.open?this.didOpen():this.didClose()}}var Qe,Ge;function Ye(e){return e.substr(0,e.indexOf("."))}customElements.define("web-dialog",Ze),function(e){e.language="language",e.system="system",e.comma_decimal="comma_decimal",e.decimal_comma="decimal_comma",e.space_comma="space_comma",e.none="none"}(Qe||(Qe={})),function(e){e.language="language",e.system="system",e.am_pm="12",e.twenty_four="24"}(Ge||(Ge={}));var Ke,Xe,Je=["closed","locked","off"],et=function(e,t,n,a){a=a||{},n=null==n?{}:n;var i=new Event(t,{bubbles:void 0===a.bubbles||a.bubbles,cancelable:Boolean(a.cancelable),composed:void 0===a.composed||a.composed});return i.detail=n,e.dispatchEvent(i),i},tt=function(e){et(window,"haptic",e)},nt=function(e,t){return function(e,t,n){void 0===n&&(n=!0);var a,i=Ye(t),r="group"===i?"homeassistant":i;switch(i){case"lock":a=n?"unlock":"lock";break;case"cover":a=n?"open_cover":"close_cover";break;default:a=n?"turn_on":"turn_off"}return e.callService(r,a,{entity_id:t})}(e,t,Je.includes(e.states[t].state))},at=function(e,t,n,a){if(a||(a={action:"more-info"}),!a.confirmation||a.confirmation.exemptions&&a.confirmation.exemptions.some((function(e){return e.user===t.user.id}))||(tt("warning"),confirm(a.confirmation.text||"Are you sure you want to "+a.action+"?")))switch(a.action){case"more-info":(n.entity||n.camera_image)&&et(e,"hass-more-info",{entityId:n.entity?n.entity:n.camera_image});break;case"navigate":a.navigation_path&&function(e,t,n){void 0===n&&(n=!1),n?history.replaceState(null,"",t):history.pushState(null,"",t),et(window,"location-changed",{replace:n})}(0,a.navigation_path);break;case"url":a.url_path&&window.open(a.url_path);break;case"toggle":n.entity&&(nt(t,n.entity),tt("success"));break;case"perform-action":if(!a.perform_action)return void tt("failure");var i=a.perform_action.split(".",2);t.callService(i[0],i[1],a.data,a.target),tt("success");break;case"call-service":if(!a.service)return void tt("failure");var r=a.service.split(".",2);t.callService(r[0],r[1],a.data,a.target),tt("success");break;case"fire-dom-event":et(e,"ll-custom",a)}};!function(e){e.assertEqual=e=>e,e.assertIs=function(e){},e.assertNever=function(e){throw new Error},e.arrayToEnum=e=>{const t={};for(const n of e)t[n]=n;return t},e.getValidEnumValues=t=>{const n=e.objectKeys(t).filter((e=>"number"!=typeof t[t[e]])),a={};for(const e of n)a[e]=t[e];return e.objectValues(a)},e.objectValues=t=>e.objectKeys(t).map((function(e){return t[e]})),e.objectKeys="function"==typeof Object.keys?e=>Object.keys(e):e=>{const t=[];for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},e.find=(e,t)=>{for(const n of e)if(t(n))return n},e.isInteger="function"==typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"==typeof e&&isFinite(e)&&Math.floor(e)===e,e.joinValues=function(e,t=" | "){return e.map((e=>"string"==typeof e?`'${e}'`:e)).join(t)},e.jsonStringifyReplacer=(e,t)=>"bigint"==typeof t?t.toString():t}(Ke||(Ke={})),function(e){e.mergeShapes=(e,t)=>({...e,...t})}(Xe||(Xe={}));const it=Ke.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),rt=e=>{switch(typeof e){case"undefined":return it.undefined;case"string":return it.string;case"number":return isNaN(e)?it.nan:it.number;case"boolean":return it.boolean;case"function":return it.function;case"bigint":return it.bigint;case"symbol":return it.symbol;case"object":return Array.isArray(e)?it.array:null===e?it.null:e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch?it.promise:"undefined"!=typeof Map&&e instanceof Map?it.map:"undefined"!=typeof Set&&e instanceof Set?it.set:"undefined"!=typeof Date&&e instanceof Date?it.date:it.object;default:return it.unknown}},ot=Ke.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class st extends Error{constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const t=e||function(e){return e.message},n={_errors:[]},a=e=>{for(const i of e.issues)if("invalid_union"===i.code)i.unionErrors.map(a);else if("invalid_return_type"===i.code)a(i.returnTypeError);else if("invalid_arguments"===i.code)a(i.argumentsError);else if(0===i.path.length)n._errors.push(t(i));else{let e=n,a=0;for(;ae.message)){const t={},n=[];for(const a of this.issues)a.path.length>0?(t[a.path[0]]=t[a.path[0]]||[],t[a.path[0]].push(e(a))):n.push(e(a));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}}st.create=e=>new st(e);const ct=(e,t)=>{let n;switch(e.code){case ot.invalid_type:n=e.received===it.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case ot.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,Ke.jsonStringifyReplacer)}`;break;case ot.unrecognized_keys:n=`Unrecognized key(s) in object: ${Ke.joinValues(e.keys,", ")}`;break;case ot.invalid_union:n="Invalid input";break;case ot.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Ke.joinValues(e.options)}`;break;case ot.invalid_enum_value:n=`Invalid enum value. Expected ${Ke.joinValues(e.options)}, received '${e.received}'`;break;case ot.invalid_arguments:n="Invalid function arguments";break;case ot.invalid_return_type:n="Invalid function return type";break;case ot.invalid_date:n="Invalid date";break;case ot.invalid_string:"object"==typeof e.validation?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,"number"==typeof e.validation.position&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:Ke.assertNever(e.validation):n="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case ot.too_small:n="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:"date"===e.type?`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:"Invalid input";break;case ot.too_big:n="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"bigint"===e.type?`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"date"===e.type?`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:"Invalid input";break;case ot.custom:n="Invalid input";break;case ot.invalid_intersection_types:n="Intersection results could not be merged";break;case ot.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case ot.not_finite:n="Number must be finite";break;default:n=t.defaultError,Ke.assertNever(e)}return{message:n}};let lt=ct;function dt(){return lt}const ut=e=>{const{data:t,path:n,errorMaps:a,issueData:i}=e,r=[...n,...i.path||[]],o={...i,path:r};if(void 0!==i.message)return{...i,path:r,message:i.message};let s="";const c=a.filter((e=>!!e)).slice().reverse();for(const e of c)s=e(o,{data:t,defaultError:s}).message;return{...i,path:r,message:s}};function ht(e,t){const n=dt(),a=ut({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===ct?void 0:ct].filter((e=>!!e))});e.common.issues.push(a)}class pt{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(e,t){const n=[];for(const a of t){if("aborted"===a.status)return mt;"dirty"===a.status&&e.dirty(),n.push(a.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,t){const n=[];for(const e of t){const t=await e.key,a=await e.value;n.push({key:t,value:a})}return pt.mergeObjectSync(e,n)}static mergeObjectSync(e,t){const n={};for(const a of t){const{key:t,value:i}=a;if("aborted"===t.status)return mt;if("aborted"===i.status)return mt;"dirty"===t.status&&e.dirty(),"dirty"===i.status&&e.dirty(),"__proto__"===t.value||void 0===i.value&&!a.alwaysSet||(n[t.value]=i.value)}return{status:e.value,value:n}}}const mt=Object.freeze({status:"aborted"}),gt=e=>({status:"dirty",value:e}),ft=e=>({status:"valid",value:e}),_t=e=>"aborted"===e.status,vt=e=>"dirty"===e.status,yt=e=>"valid"===e.status,bt=e=>"undefined"!=typeof Promise&&e instanceof Promise;function wt(e,t,n,a){if("a"===n&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?a:"a"===n?a.call(e):a?a.value:t.get(e)}function xt(e,t,n,a,i){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?i.call(e,n):i?i.value=n:t.set(e,n),n}var Ct,Mt,kt;"function"==typeof SuppressedError&&SuppressedError,function(e){e.errToObj=e=>"string"==typeof e?{message:e}:e||{},e.toString=e=>"string"==typeof e?e:null==e?void 0:e.message}(Ct||(Ct={}));class St{constructor(e,t,n,a){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=a}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const Et=(e,t)=>{if(yt(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new st(e.common.issues);return this._error=t,this._error}}};function $t(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:a,description:i}=e;if(t&&(n||a))throw new Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');if(t)return{errorMap:t,description:i};return{errorMap:(t,i)=>{var r,o;const{message:s}=e;return"invalid_enum_value"===t.code?{message:null!=s?s:i.defaultError}:void 0===i.data?{message:null!==(r=null!=s?s:a)&&void 0!==r?r:i.defaultError}:"invalid_type"!==t.code?{message:i.defaultError}:{message:null!==(o=null!=s?s:n)&&void 0!==o?o:i.defaultError}},description:i}}class At{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return rt(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:rt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new pt,ctx:{common:e.parent.common,data:e.data,parsedType:rt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(bt(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){var n;const a={common:{issues:[],async:null!==(n=null==t?void 0:t.async)&&void 0!==n&&n,contextualErrorMap:null==t?void 0:t.errorMap},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:rt(e)},i=this._parseSync({data:e,path:a.path,parent:a});return Et(a,i)}async parseAsync(e,t){const n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){const n={common:{issues:[],contextualErrorMap:null==t?void 0:t.errorMap,async:!0},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:rt(e)},a=this._parse({data:e,path:n.path,parent:n}),i=await(bt(a)?a:Promise.resolve(a));return Et(n,i)}refine(e,t){const n=e=>"string"==typeof t||void 0===t?{message:t}:"function"==typeof t?t(e):t;return this._refinement(((t,a)=>{const i=e(t),r=()=>a.addIssue({code:ot.custom,...n(t)});return"undefined"!=typeof Promise&&i instanceof Promise?i.then((e=>!!e||(r(),!1))):!!i||(r(),!1)}))}refinement(e,t){return this._refinement(((n,a)=>!!e(n)||(a.addIssue("function"==typeof t?t(n,a):t),!1)))}_refinement(e){return new kn({schema:this,typeName:Pn.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return Sn.create(this,this._def)}nullable(){return En.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return on.create(this,this._def)}promise(){return Mn.create(this,this._def)}or(e){return ln.create([this,e],this._def)}and(e){return pn.create(this,e,this._def)}transform(e){return new kn({...$t(this._def),schema:this,typeName:Pn.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t="function"==typeof e?e:()=>e;return new $n({...$t(this._def),innerType:this,defaultValue:t,typeName:Pn.ZodDefault})}brand(){return new Tn({typeName:Pn.ZodBranded,type:this,...$t(this._def)})}catch(e){const t="function"==typeof e?e:()=>e;return new An({...$t(this._def),innerType:this,catchValue:t,typeName:Pn.ZodCatch})}describe(e){return new(0,this.constructor)({...this._def,description:e})}pipe(e){return jn.create(this,e)}readonly(){return On.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const zt=/^c[^\s-]{8,}$/i,It=/^[0-9a-z]+$/,Tt=/^[0-9A-HJKMNP-TV-Z]{26}$/,jt=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Ot=/^[a-z0-9_-]{21}$/i,Dt=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Rt=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i;let Pt;const Lt=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Nt=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,Ft=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Vt="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Ht=new RegExp(`^${Vt}$`);function Bt(e){let t="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return e.precision?t=`${t}\\.\\d{${e.precision}}`:null==e.precision&&(t=`${t}(\\.\\d+)?`),t}function qt(e){let t=`${Vt}T${Bt(e)}`;const n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function Ut(e,t){return!("v4"!==t&&t||!Lt.test(e))||!("v6"!==t&&t||!Nt.test(e))}class Wt extends At{_parse(e){this._def.coerce&&(e.data=String(e.data));if(this._getType(e)!==it.string){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.string,received:t.parsedType}),mt}const t=new pt;let n;for(const a of this._def.checks)if("min"===a.kind)e.data.lengtha.value&&(n=this._getOrReturnCtx(e,n),ht(n,{code:ot.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),t.dirty());else if("length"===a.kind){const i=e.data.length>a.value,r=e.data.lengthe.test(t)),{validation:t,code:ot.invalid_string,...Ct.errToObj(n)})}_addCheck(e){return new Wt({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...Ct.errToObj(e)})}url(e){return this._addCheck({kind:"url",...Ct.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...Ct.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...Ct.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...Ct.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...Ct.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...Ct.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...Ct.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...Ct.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...Ct.errToObj(e)})}datetime(e){var t,n;return"string"==typeof e?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision,offset:null!==(t=null==e?void 0:e.offset)&&void 0!==t&&t,local:null!==(n=null==e?void 0:e.local)&&void 0!==n&&n,...Ct.errToObj(null==e?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return"string"==typeof e?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision,...Ct.errToObj(null==e?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...Ct.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...Ct.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:null==t?void 0:t.position,...Ct.errToObj(null==t?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...Ct.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...Ct.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...Ct.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...Ct.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...Ct.errToObj(t)})}nonempty(e){return this.min(1,Ct.errToObj(e))}trim(){return new Wt({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Wt({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Wt({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((e=>"datetime"===e.kind))}get isDate(){return!!this._def.checks.find((e=>"date"===e.kind))}get isTime(){return!!this._def.checks.find((e=>"time"===e.kind))}get isDuration(){return!!this._def.checks.find((e=>"duration"===e.kind))}get isEmail(){return!!this._def.checks.find((e=>"email"===e.kind))}get isURL(){return!!this._def.checks.find((e=>"url"===e.kind))}get isEmoji(){return!!this._def.checks.find((e=>"emoji"===e.kind))}get isUUID(){return!!this._def.checks.find((e=>"uuid"===e.kind))}get isNANOID(){return!!this._def.checks.find((e=>"nanoid"===e.kind))}get isCUID(){return!!this._def.checks.find((e=>"cuid"===e.kind))}get isCUID2(){return!!this._def.checks.find((e=>"cuid2"===e.kind))}get isULID(){return!!this._def.checks.find((e=>"ulid"===e.kind))}get isIP(){return!!this._def.checks.find((e=>"ip"===e.kind))}get isBase64(){return!!this._def.checks.find((e=>"base64"===e.kind))}get minLength(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.valuea?n:a;return parseInt(e.toFixed(i).replace(".",""))%parseInt(t.toFixed(i).replace(".",""))/Math.pow(10,i)}Wt.create=e=>{var t;return new Wt({checks:[],typeName:Pn.ZodString,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t,...$t(e)})};class Qt extends At{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){this._def.coerce&&(e.data=Number(e.data));if(this._getType(e)!==it.number){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.number,received:t.parsedType}),mt}let t;const n=new pt;for(const a of this._def.checks)if("int"===a.kind)Ke.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.invalid_type,expected:"integer",received:"float",message:a.message}),n.dirty());else if("min"===a.kind){(a.inclusive?e.dataa.value:e.data>=a.value)&&(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),n.dirty())}else"multipleOf"===a.kind?0!==Zt(e.data,a.value)&&(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.not_multiple_of,multipleOf:a.value,message:a.message}),n.dirty()):"finite"===a.kind?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.not_finite,message:a.message}),n.dirty()):Ke.assertNever(a);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,Ct.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Ct.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Ct.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Ct.toString(t))}setLimit(e,t,n,a){return new Qt({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:Ct.toString(a)}]})}_addCheck(e){return new Qt({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:Ct.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:Ct.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:Ct.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:Ct.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:Ct.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Ct.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:Ct.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:Ct.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:Ct.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value"int"===e.kind||"multipleOf"===e.kind&&Ke.isInteger(e.value)))}get isFinite(){let e=null,t=null;for(const n of this._def.checks){if("finite"===n.kind||"int"===n.kind||"multipleOf"===n.kind)return!0;"min"===n.kind?(null===t||n.value>t)&&(t=n.value):"max"===n.kind&&(null===e||n.valuenew Qt({checks:[],typeName:Pn.ZodNumber,coerce:(null==e?void 0:e.coerce)||!1,...$t(e)});class Gt extends At{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){this._def.coerce&&(e.data=BigInt(e.data));if(this._getType(e)!==it.bigint){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.bigint,received:t.parsedType}),mt}let t;const n=new pt;for(const a of this._def.checks)if("min"===a.kind){(a.inclusive?e.dataa.value:e.data>=a.value)&&(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),n.dirty())}else"multipleOf"===a.kind?e.data%a.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.not_multiple_of,multipleOf:a.value,message:a.message}),n.dirty()):Ke.assertNever(a);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,Ct.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Ct.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Ct.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Ct.toString(t))}setLimit(e,t,n,a){return new Gt({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:Ct.toString(a)}]})}_addCheck(e){return new Gt({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:Ct.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:Ct.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:Ct.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:Ct.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Ct.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value{var t;return new Gt({checks:[],typeName:Pn.ZodBigInt,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t,...$t(e)})};class Yt extends At{_parse(e){this._def.coerce&&(e.data=Boolean(e.data));if(this._getType(e)!==it.boolean){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.boolean,received:t.parsedType}),mt}return ft(e.data)}}Yt.create=e=>new Yt({typeName:Pn.ZodBoolean,coerce:(null==e?void 0:e.coerce)||!1,...$t(e)});class Kt extends At{_parse(e){this._def.coerce&&(e.data=new Date(e.data));if(this._getType(e)!==it.date){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.date,received:t.parsedType}),mt}if(isNaN(e.data.getTime())){return ht(this._getOrReturnCtx(e),{code:ot.invalid_date}),mt}const t=new pt;let n;for(const a of this._def.checks)"min"===a.kind?e.data.getTime()a.value&&(n=this._getOrReturnCtx(e,n),ht(n,{code:ot.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),t.dirty()):Ke.assertNever(a);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(e){return new Kt({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:Ct.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:Ct.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return null!=e?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.valuenew Kt({checks:[],coerce:(null==e?void 0:e.coerce)||!1,typeName:Pn.ZodDate,...$t(e)});class Xt extends At{_parse(e){if(this._getType(e)!==it.symbol){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.symbol,received:t.parsedType}),mt}return ft(e.data)}}Xt.create=e=>new Xt({typeName:Pn.ZodSymbol,...$t(e)});class Jt extends At{_parse(e){if(this._getType(e)!==it.undefined){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.undefined,received:t.parsedType}),mt}return ft(e.data)}}Jt.create=e=>new Jt({typeName:Pn.ZodUndefined,...$t(e)});class en extends At{_parse(e){if(this._getType(e)!==it.null){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.null,received:t.parsedType}),mt}return ft(e.data)}}en.create=e=>new en({typeName:Pn.ZodNull,...$t(e)});class tn extends At{constructor(){super(...arguments),this._any=!0}_parse(e){return ft(e.data)}}tn.create=e=>new tn({typeName:Pn.ZodAny,...$t(e)});class nn extends At{constructor(){super(...arguments),this._unknown=!0}_parse(e){return ft(e.data)}}nn.create=e=>new nn({typeName:Pn.ZodUnknown,...$t(e)});class an extends At{_parse(e){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.never,received:t.parsedType}),mt}}an.create=e=>new an({typeName:Pn.ZodNever,...$t(e)});class rn extends At{_parse(e){if(this._getType(e)!==it.undefined){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.void,received:t.parsedType}),mt}return ft(e.data)}}rn.create=e=>new rn({typeName:Pn.ZodVoid,...$t(e)});class on extends At{_parse(e){const{ctx:t,status:n}=this._processInputParams(e),a=this._def;if(t.parsedType!==it.array)return ht(t,{code:ot.invalid_type,expected:it.array,received:t.parsedType}),mt;if(null!==a.exactLength){const e=t.data.length>a.exactLength.value,i=t.data.lengtha.maxLength.value&&(ht(t,{code:ot.too_big,maximum:a.maxLength.value,type:"array",inclusive:!0,exact:!1,message:a.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map(((e,n)=>a.type._parseAsync(new St(t,e,t.path,n))))).then((e=>pt.mergeArray(n,e)));const i=[...t.data].map(((e,n)=>a.type._parseSync(new St(t,e,t.path,n))));return pt.mergeArray(n,i)}get element(){return this._def.type}min(e,t){return new on({...this._def,minLength:{value:e,message:Ct.toString(t)}})}max(e,t){return new on({...this._def,maxLength:{value:e,message:Ct.toString(t)}})}length(e,t){return new on({...this._def,exactLength:{value:e,message:Ct.toString(t)}})}nonempty(e){return this.min(1,e)}}function sn(e){if(e instanceof cn){const t={};for(const n in e.shape){const a=e.shape[n];t[n]=Sn.create(sn(a))}return new cn({...e._def,shape:()=>t})}return e instanceof on?new on({...e._def,type:sn(e.element)}):e instanceof Sn?Sn.create(sn(e.unwrap())):e instanceof En?En.create(sn(e.unwrap())):e instanceof mn?mn.create(e.items.map((e=>sn(e)))):e}on.create=(e,t)=>new on({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Pn.ZodArray,...$t(t)});class cn extends At{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;const e=this._def.shape(),t=Ke.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==it.object){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.object,received:t.parsedType}),mt}const{status:t,ctx:n}=this._processInputParams(e),{shape:a,keys:i}=this._getCached(),r=[];if(!(this._def.catchall instanceof an&&"strip"===this._def.unknownKeys))for(const e in n.data)i.includes(e)||r.push(e);const o=[];for(const e of i){const t=a[e],i=n.data[e];o.push({key:{status:"valid",value:e},value:t._parse(new St(n,i,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof an){const e=this._def.unknownKeys;if("passthrough"===e)for(const e of r)o.push({key:{status:"valid",value:e},value:{status:"valid",value:n.data[e]}});else if("strict"===e)r.length>0&&(ht(n,{code:ot.unrecognized_keys,keys:r}),t.dirty());else if("strip"!==e)throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const e=this._def.catchall;for(const t of r){const a=n.data[t];o.push({key:{status:"valid",value:t},value:e._parse(new St(n,a,n.path,t)),alwaysSet:t in n.data})}}return n.common.async?Promise.resolve().then((async()=>{const e=[];for(const t of o){const n=await t.key,a=await t.value;e.push({key:n,value:a,alwaysSet:t.alwaysSet})}return e})).then((e=>pt.mergeObjectSync(t,e))):pt.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(e){return Ct.errToObj,new cn({...this._def,unknownKeys:"strict",...void 0!==e?{errorMap:(t,n)=>{var a,i,r,o;const s=null!==(r=null===(i=(a=this._def).errorMap)||void 0===i?void 0:i.call(a,t,n).message)&&void 0!==r?r:n.defaultError;return"unrecognized_keys"===t.code?{message:null!==(o=Ct.errToObj(e).message)&&void 0!==o?o:s}:{message:s}}}:{}})}strip(){return new cn({...this._def,unknownKeys:"strip"})}passthrough(){return new cn({...this._def,unknownKeys:"passthrough"})}extend(e){return new cn({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new cn({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:Pn.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new cn({...this._def,catchall:e})}pick(e){const t={};return Ke.objectKeys(e).forEach((n=>{e[n]&&this.shape[n]&&(t[n]=this.shape[n])})),new cn({...this._def,shape:()=>t})}omit(e){const t={};return Ke.objectKeys(this.shape).forEach((n=>{e[n]||(t[n]=this.shape[n])})),new cn({...this._def,shape:()=>t})}deepPartial(){return sn(this)}partial(e){const t={};return Ke.objectKeys(this.shape).forEach((n=>{const a=this.shape[n];e&&!e[n]?t[n]=a:t[n]=a.optional()})),new cn({...this._def,shape:()=>t})}required(e){const t={};return Ke.objectKeys(this.shape).forEach((n=>{if(e&&!e[n])t[n]=this.shape[n];else{let e=this.shape[n];for(;e instanceof Sn;)e=e._def.innerType;t[n]=e}})),new cn({...this._def,shape:()=>t})}keyof(){return wn(Ke.objectKeys(this.shape))}}cn.create=(e,t)=>new cn({shape:()=>e,unknownKeys:"strip",catchall:an.create(),typeName:Pn.ZodObject,...$t(t)}),cn.strictCreate=(e,t)=>new cn({shape:()=>e,unknownKeys:"strict",catchall:an.create(),typeName:Pn.ZodObject,...$t(t)}),cn.lazycreate=(e,t)=>new cn({shape:e,unknownKeys:"strip",catchall:an.create(),typeName:Pn.ZodObject,...$t(t)});class ln extends At{_parse(e){const{ctx:t}=this._processInputParams(e),n=this._def.options;if(t.common.async)return Promise.all(n.map((async e=>{const n={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}}))).then((function(e){for(const t of e)if("valid"===t.result.status)return t.result;for(const n of e)if("dirty"===n.result.status)return t.common.issues.push(...n.ctx.common.issues),n.result;const n=e.map((e=>new st(e.ctx.common.issues)));return ht(t,{code:ot.invalid_union,unionErrors:n}),mt}));{let e;const a=[];for(const i of n){const n={...t,common:{...t.common,issues:[]},parent:null},r=i._parseSync({data:t.data,path:t.path,parent:n});if("valid"===r.status)return r;"dirty"!==r.status||e||(e={result:r,ctx:n}),n.common.issues.length&&a.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;const i=a.map((e=>new st(e)));return ht(t,{code:ot.invalid_union,unionErrors:i}),mt}}get options(){return this._def.options}}ln.create=(e,t)=>new ln({options:e,typeName:Pn.ZodUnion,...$t(t)});const dn=e=>e instanceof yn?dn(e.schema):e instanceof kn?dn(e.innerType()):e instanceof bn?[e.value]:e instanceof xn?e.options:e instanceof Cn?Ke.objectValues(e.enum):e instanceof $n?dn(e._def.innerType):e instanceof Jt?[void 0]:e instanceof en?[null]:e instanceof Sn?[void 0,...dn(e.unwrap())]:e instanceof En?[null,...dn(e.unwrap())]:e instanceof Tn||e instanceof On?dn(e.unwrap()):e instanceof An?dn(e._def.innerType):[];class un extends At{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==it.object)return ht(t,{code:ot.invalid_type,expected:it.object,received:t.parsedType}),mt;const n=this.discriminator,a=t.data[n],i=this.optionsMap.get(a);return i?t.common.async?i._parseAsync({data:t.data,path:t.path,parent:t}):i._parseSync({data:t.data,path:t.path,parent:t}):(ht(t,{code:ot.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),mt)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,n){const a=new Map;for(const n of t){const t=dn(n.shape[e]);if(!t.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const i of t){if(a.has(i))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(i)}`);a.set(i,n)}}return new un({typeName:Pn.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:a,...$t(n)})}}function hn(e,t){const n=rt(e),a=rt(t);if(e===t)return{valid:!0,data:e};if(n===it.object&&a===it.object){const n=Ke.objectKeys(t),a=Ke.objectKeys(e).filter((e=>-1!==n.indexOf(e))),i={...e,...t};for(const n of a){const a=hn(e[n],t[n]);if(!a.valid)return{valid:!1};i[n]=a.data}return{valid:!0,data:i}}if(n===it.array&&a===it.array){if(e.length!==t.length)return{valid:!1};const n=[];for(let a=0;a{if(_t(e)||_t(a))return mt;const i=hn(e.value,a.value);return i.valid?((vt(e)||vt(a))&&t.dirty(),{status:t.value,value:i.data}):(ht(n,{code:ot.invalid_intersection_types}),mt)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then((([e,t])=>a(e,t))):a(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}}pn.create=(e,t,n)=>new pn({left:e,right:t,typeName:Pn.ZodIntersection,...$t(n)});class mn extends At{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==it.array)return ht(n,{code:ot.invalid_type,expected:it.array,received:n.parsedType}),mt;if(n.data.lengththis._def.items.length&&(ht(n,{code:ot.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const a=[...n.data].map(((e,t)=>{const a=this._def.items[t]||this._def.rest;return a?a._parse(new St(n,e,n.path,t)):null})).filter((e=>!!e));return n.common.async?Promise.all(a).then((e=>pt.mergeArray(t,e))):pt.mergeArray(t,a)}get items(){return this._def.items}rest(e){return new mn({...this._def,rest:e})}}mn.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new mn({items:e,typeName:Pn.ZodTuple,rest:null,...$t(t)})};class gn extends At{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==it.object)return ht(n,{code:ot.invalid_type,expected:it.object,received:n.parsedType}),mt;const a=[],i=this._def.keyType,r=this._def.valueType;for(const e in n.data)a.push({key:i._parse(new St(n,e,n.path,e)),value:r._parse(new St(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?pt.mergeObjectAsync(t,a):pt.mergeObjectSync(t,a)}get element(){return this._def.valueType}static create(e,t,n){return new gn(t instanceof At?{keyType:e,valueType:t,typeName:Pn.ZodRecord,...$t(n)}:{keyType:Wt.create(),valueType:e,typeName:Pn.ZodRecord,...$t(t)})}}class fn extends At{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==it.map)return ht(n,{code:ot.invalid_type,expected:it.map,received:n.parsedType}),mt;const a=this._def.keyType,i=this._def.valueType,r=[...n.data.entries()].map((([e,t],r)=>({key:a._parse(new St(n,e,n.path,[r,"key"])),value:i._parse(new St(n,t,n.path,[r,"value"]))})));if(n.common.async){const e=new Map;return Promise.resolve().then((async()=>{for(const n of r){const a=await n.key,i=await n.value;if("aborted"===a.status||"aborted"===i.status)return mt;"dirty"!==a.status&&"dirty"!==i.status||t.dirty(),e.set(a.value,i.value)}return{status:t.value,value:e}}))}{const e=new Map;for(const n of r){const a=n.key,i=n.value;if("aborted"===a.status||"aborted"===i.status)return mt;"dirty"!==a.status&&"dirty"!==i.status||t.dirty(),e.set(a.value,i.value)}return{status:t.value,value:e}}}}fn.create=(e,t,n)=>new fn({valueType:t,keyType:e,typeName:Pn.ZodMap,...$t(n)});class _n extends At{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==it.set)return ht(n,{code:ot.invalid_type,expected:it.set,received:n.parsedType}),mt;const a=this._def;null!==a.minSize&&n.data.sizea.maxSize.value&&(ht(n,{code:ot.too_big,maximum:a.maxSize.value,type:"set",inclusive:!0,exact:!1,message:a.maxSize.message}),t.dirty());const i=this._def.valueType;function r(e){const n=new Set;for(const a of e){if("aborted"===a.status)return mt;"dirty"===a.status&&t.dirty(),n.add(a.value)}return{status:t.value,value:n}}const o=[...n.data.values()].map(((e,t)=>i._parse(new St(n,e,n.path,t))));return n.common.async?Promise.all(o).then((e=>r(e))):r(o)}min(e,t){return new _n({...this._def,minSize:{value:e,message:Ct.toString(t)}})}max(e,t){return new _n({...this._def,maxSize:{value:e,message:Ct.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}_n.create=(e,t)=>new _n({valueType:e,minSize:null,maxSize:null,typeName:Pn.ZodSet,...$t(t)});class vn extends At{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==it.function)return ht(t,{code:ot.invalid_type,expected:it.function,received:t.parsedType}),mt;function n(e,n){return ut({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,dt(),ct].filter((e=>!!e)),issueData:{code:ot.invalid_arguments,argumentsError:n}})}function a(e,n){return ut({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,dt(),ct].filter((e=>!!e)),issueData:{code:ot.invalid_return_type,returnTypeError:n}})}const i={errorMap:t.common.contextualErrorMap},r=t.data;if(this._def.returns instanceof Mn){const e=this;return ft((async function(...t){const o=new st([]),s=await e._def.args.parseAsync(t,i).catch((e=>{throw o.addIssue(n(t,e)),o})),c=await Reflect.apply(r,this,s),l=await e._def.returns._def.type.parseAsync(c,i).catch((e=>{throw o.addIssue(a(c,e)),o}));return l}))}{const e=this;return ft((function(...t){const o=e._def.args.safeParse(t,i);if(!o.success)throw new st([n(t,o.error)]);const s=Reflect.apply(r,this,o.data),c=e._def.returns.safeParse(s,i);if(!c.success)throw new st([a(s,c.error)]);return c.data}))}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new vn({...this._def,args:mn.create(e).rest(nn.create())})}returns(e){return new vn({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,n){return new vn({args:e||mn.create([]).rest(nn.create()),returns:t||nn.create(),typeName:Pn.ZodFunction,...$t(n)})}}class yn extends At{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}yn.create=(e,t)=>new yn({getter:e,typeName:Pn.ZodLazy,...$t(t)});class bn extends At{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return ht(t,{received:t.data,code:ot.invalid_literal,expected:this._def.value}),mt}return{status:"valid",value:e.data}}get value(){return this._def.value}}function wn(e,t){return new xn({values:e,typeName:Pn.ZodEnum,...$t(t)})}bn.create=(e,t)=>new bn({value:e,typeName:Pn.ZodLiteral,...$t(t)});class xn extends At{constructor(){super(...arguments),Mt.set(this,void 0)}_parse(e){if("string"!=typeof e.data){const t=this._getOrReturnCtx(e),n=this._def.values;return ht(t,{expected:Ke.joinValues(n),received:t.parsedType,code:ot.invalid_type}),mt}if(wt(this,Mt,"f")||xt(this,Mt,new Set(this._def.values),"f"),!wt(this,Mt,"f").has(e.data)){const t=this._getOrReturnCtx(e),n=this._def.values;return ht(t,{received:t.data,code:ot.invalid_enum_value,options:n}),mt}return ft(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return xn.create(e,{...this._def,...t})}exclude(e,t=this._def){return xn.create(this.options.filter((t=>!e.includes(t))),{...this._def,...t})}}Mt=new WeakMap,xn.create=wn;class Cn extends At{constructor(){super(...arguments),kt.set(this,void 0)}_parse(e){const t=Ke.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==it.string&&n.parsedType!==it.number){const e=Ke.objectValues(t);return ht(n,{expected:Ke.joinValues(e),received:n.parsedType,code:ot.invalid_type}),mt}if(wt(this,kt,"f")||xt(this,kt,new Set(Ke.getValidEnumValues(this._def.values)),"f"),!wt(this,kt,"f").has(e.data)){const e=Ke.objectValues(t);return ht(n,{received:n.data,code:ot.invalid_enum_value,options:e}),mt}return ft(e.data)}get enum(){return this._def.values}}kt=new WeakMap,Cn.create=(e,t)=>new Cn({values:e,typeName:Pn.ZodNativeEnum,...$t(t)});class Mn extends At{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==it.promise&&!1===t.common.async)return ht(t,{code:ot.invalid_type,expected:it.promise,received:t.parsedType}),mt;const n=t.parsedType===it.promise?t.data:Promise.resolve(t.data);return ft(n.then((e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap}))))}}Mn.create=(e,t)=>new Mn({type:e,typeName:Pn.ZodPromise,...$t(t)});class kn extends At{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Pn.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:n}=this._processInputParams(e),a=this._def.effect||null,i={addIssue:e=>{ht(n,e),e.fatal?t.abort():t.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),"preprocess"===a.type){const e=a.transform(n.data,i);if(n.common.async)return Promise.resolve(e).then((async e=>{if("aborted"===t.value)return mt;const a=await this._def.schema._parseAsync({data:e,path:n.path,parent:n});return"aborted"===a.status?mt:"dirty"===a.status||"dirty"===t.value?gt(a.value):a}));{if("aborted"===t.value)return mt;const a=this._def.schema._parseSync({data:e,path:n.path,parent:n});return"aborted"===a.status?mt:"dirty"===a.status||"dirty"===t.value?gt(a.value):a}}if("refinement"===a.type){const e=e=>{const t=a.refinement(e,i);if(n.common.async)return Promise.resolve(t);if(t instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1===n.common.async){const a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return"aborted"===a.status?mt:("dirty"===a.status&&t.dirty(),e(a.value),{status:t.value,value:a.value})}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then((n=>"aborted"===n.status?mt:("dirty"===n.status&&t.dirty(),e(n.value).then((()=>({status:t.value,value:n.value}))))))}if("transform"===a.type){if(!1===n.common.async){const e=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!yt(e))return e;const r=a.transform(e.value,i);if(r instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:r}}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then((e=>yt(e)?Promise.resolve(a.transform(e.value,i)).then((e=>({status:t.value,value:e}))):e))}Ke.assertNever(a)}}kn.create=(e,t,n)=>new kn({schema:e,typeName:Pn.ZodEffects,effect:t,...$t(n)}),kn.createWithPreprocess=(e,t,n)=>new kn({schema:t,effect:{type:"preprocess",transform:e},typeName:Pn.ZodEffects,...$t(n)});class Sn extends At{_parse(e){return this._getType(e)===it.undefined?ft(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Sn.create=(e,t)=>new Sn({innerType:e,typeName:Pn.ZodOptional,...$t(t)});class En extends At{_parse(e){return this._getType(e)===it.null?ft(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}En.create=(e,t)=>new En({innerType:e,typeName:Pn.ZodNullable,...$t(t)});class $n extends At{_parse(e){const{ctx:t}=this._processInputParams(e);let n=t.data;return t.parsedType===it.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}$n.create=(e,t)=>new $n({innerType:e,typeName:Pn.ZodDefault,defaultValue:"function"==typeof t.default?t.default:()=>t.default,...$t(t)});class An extends At{_parse(e){const{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},a=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return bt(a)?a.then((e=>({status:"valid",value:"valid"===e.status?e.value:this._def.catchValue({get error(){return new st(n.common.issues)},input:n.data})}))):{status:"valid",value:"valid"===a.status?a.value:this._def.catchValue({get error(){return new st(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}An.create=(e,t)=>new An({innerType:e,typeName:Pn.ZodCatch,catchValue:"function"==typeof t.catch?t.catch:()=>t.catch,...$t(t)});class zn extends At{_parse(e){if(this._getType(e)!==it.nan){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.nan,received:t.parsedType}),mt}return{status:"valid",value:e.data}}}zn.create=e=>new zn({typeName:Pn.ZodNaN,...$t(e)});const In=Symbol("zod_brand");class Tn extends At{_parse(e){const{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}}class jn extends At{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.common.async){return(async()=>{const e=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return"aborted"===e.status?mt:"dirty"===e.status?(t.dirty(),gt(e.value)):this._def.out._parseAsync({data:e.value,path:n.path,parent:n})})()}{const e=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return"aborted"===e.status?mt:"dirty"===e.status?(t.dirty(),{status:"dirty",value:e.value}):this._def.out._parseSync({data:e.value,path:n.path,parent:n})}}static create(e,t){return new jn({in:e,out:t,typeName:Pn.ZodPipeline})}}class On extends At{_parse(e){const t=this._def.innerType._parse(e),n=e=>(yt(e)&&(e.value=Object.freeze(e.value)),e);return bt(t)?t.then((e=>n(e))):n(t)}unwrap(){return this._def.innerType}}function Dn(e,t={},n){return e?tn.create().superRefine(((a,i)=>{var r,o;if(!e(a)){const e="function"==typeof t?t(a):"string"==typeof t?{message:t}:t,s=null===(o=null!==(r=e.fatal)&&void 0!==r?r:n)||void 0===o||o,c="string"==typeof e?{message:e}:e;i.addIssue({code:"custom",...c,fatal:s})}})):tn.create()}On.create=(e,t)=>new On({innerType:e,typeName:Pn.ZodReadonly,...$t(t)});const Rn={object:cn.lazycreate};var Pn;!function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"}(Pn||(Pn={}));const Ln=Wt.create,Nn=Qt.create,Fn=zn.create,Vn=Gt.create,Hn=Yt.create,Bn=Kt.create,qn=Xt.create,Un=Jt.create,Wn=en.create,Zn=tn.create,Qn=nn.create,Gn=an.create,Yn=rn.create,Kn=on.create,Xn=cn.create,Jn=cn.strictCreate,ea=ln.create,ta=un.create,na=pn.create,aa=mn.create,ia=gn.create,ra=fn.create,oa=_n.create,sa=vn.create,ca=yn.create,la=bn.create,da=xn.create,ua=Cn.create,ha=Mn.create,pa=kn.create,ma=Sn.create,ga=En.create,fa=kn.createWithPreprocess,_a=jn.create,va={string:e=>Wt.create({...e,coerce:!0}),number:e=>Qt.create({...e,coerce:!0}),boolean:e=>Yt.create({...e,coerce:!0}),bigint:e=>Gt.create({...e,coerce:!0}),date:e=>Kt.create({...e,coerce:!0})},ya=mt;var ba=Object.freeze({__proto__:null,defaultErrorMap:ct,setErrorMap:function(e){lt=e},getErrorMap:dt,makeIssue:ut,EMPTY_PATH:[],addIssueToContext:ht,ParseStatus:pt,INVALID:mt,DIRTY:gt,OK:ft,isAborted:_t,isDirty:vt,isValid:yt,isAsync:bt,get util(){return Ke},get objectUtil(){return Xe},ZodParsedType:it,getParsedType:rt,ZodType:At,datetimeRegex:qt,ZodString:Wt,ZodNumber:Qt,ZodBigInt:Gt,ZodBoolean:Yt,ZodDate:Kt,ZodSymbol:Xt,ZodUndefined:Jt,ZodNull:en,ZodAny:tn,ZodUnknown:nn,ZodNever:an,ZodVoid:rn,ZodArray:on,ZodObject:cn,ZodUnion:ln,ZodDiscriminatedUnion:un,ZodIntersection:pn,ZodTuple:mn,ZodRecord:gn,ZodMap:fn,ZodSet:_n,ZodFunction:vn,ZodLazy:yn,ZodLiteral:bn,ZodEnum:xn,ZodNativeEnum:Cn,ZodPromise:Mn,ZodEffects:kn,ZodTransformer:kn,ZodOptional:Sn,ZodNullable:En,ZodDefault:$n,ZodCatch:An,ZodNaN:zn,BRAND:In,ZodBranded:Tn,ZodPipeline:jn,ZodReadonly:On,custom:Dn,Schema:At,ZodSchema:At,late:Rn,get ZodFirstPartyTypeKind(){return Pn},coerce:va,any:Zn,array:Kn,bigint:Vn,boolean:Hn,date:Bn,discriminatedUnion:ta,effect:pa,enum:da,function:sa,instanceof:(e,t={message:`Input not instance of ${e.name}`})=>Dn((t=>t instanceof e),t),intersection:na,lazy:ca,literal:la,map:ra,nan:Fn,nativeEnum:ua,never:Gn,null:Wn,nullable:ga,number:Nn,object:Xn,oboolean:()=>Hn().optional(),onumber:()=>Nn().optional(),optional:ma,ostring:()=>Ln().optional(),pipeline:_a,preprocess:fa,promise:ha,record:ia,set:oa,strictObject:Jn,string:Ln,symbol:qn,transformer:pa,tuple:aa,undefined:Un,union:ea,unknown:Qn,void:Yn,NEVER:ya,ZodIssueCode:ot,quotelessJson:e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),ZodError:st});const wa="https://github.com/dermotduffy/frigate-hass-card",xa=`${wa}#troubleshooting`,Ca="cameras",Ma=`${Ca}.#.camera_entity`,ka=`${Ca}.#.frigate.camera_name`,Sa=`${Ca}.#.capabilities.disable`,Ea=`${Ca}.#.capabilities.disable_except`,$a=`${Ca}.#.cast.method`,Aa=`${Ca}.#.cast.dashboard.dashboard_path`,za=`${Ca}.#.cast.dashboard.view_path`,Ia=`${Ca}.#.dimensions.aspect_ratio`,Ta=`${Ca}.#.frigate.client_id`,ja=`${Ca}.#.frigate.labels`,Oa=`${Ca}.#.frigate.url`,Da=`${Ca}.#.frigate.zones`,Ra=`${Ca}.#.go2rtc.modes`,Pa=`${Ca}.#.go2rtc.stream`,La=`${Ca}.#.icon`,Na=`${Ca}.#.id`,Fa=`${Ca}.#.image.entity`,Va=`${Ca}.#.image.entity_parameters`,Ha=`${Ca}.#.image.mode`,Ba=`${Ca}.#.image.refresh_seconds`,qa=`${Ca}.#.image.url`,Ua=`${Ca}.#.motioneye.images.directory_pattern`,Wa=`${Ca}.#.motioneye.images.file_pattern`,Za=`${Ca}.#.motioneye.movies.directory_pattern`,Qa=`${Ca}.#.motioneye.movies.file_pattern`,Ga=`${Ca}.#.motioneye.url`,Ya=`${Ca}.#.title`,Ka=`${Ca}.#.webrtc_card.entity`,Xa=`${Ca}.#.webrtc_card.url`,Ja=`${Ca}.#.live_provider`,ei=`${Ca}.#.dependencies.cameras`,ti=`${Ca}.#.dependencies.all_cameras`,ni=`${Ca}.#.dimensions.layout.fit`,ai=`${Ca}.#.dimensions.layout.pan.x`,ii=`${Ca}.#.dimensions.layout.pan.y`,ri=`${Ca}.#.dimensions.layout.position.x`,oi=`${Ca}.#.dimensions.layout.position.y`,si=`${Ca}.#.dimensions.layout.view_box.top`,ci=`${Ca}.#.dimensions.layout.view_box.bottom`,li=`${Ca}.#.dimensions.layout.view_box.left`,di=`${Ca}.#.dimensions.layout.view_box.right`,ui=`${Ca}.#.dimensions.layout.zoom`,hi=`${Ca}.#.proxy.dynamic`,pi=`${Ca}.#.proxy.media`,mi=`${Ca}.#.proxy.ssl_ciphers`,gi=`${Ca}.#.proxy.ssl_verification`,fi=`${Ca}.#.reolink.media_resolution`,_i=`${Ca}.#.reolink.url`,vi=`${Ca}.#.triggers.motion`,yi=`${Ca}.#.triggers.occupancy`,bi=`${Ca}.#.triggers.entities`,wi=`${Ca}.#.triggers.events`,xi="cameras_global",Ci=`${xi}.image`,Mi=`${xi}.live_provider`,ki=`${xi}.jsmpeg`,Si=`${xi}.webrtc_card`,Ei=`${xi}.triggers.occupancy`,$i=`${xi}.image.refresh_seconds`,Ai=`${xi}.dimensions.layout`,zi=`${xi}.ptz`,Ii="elements",Ti="view",ji=`${Ti}.camera_select`,Oi=`${Ti}.dark_mode`,Di=`${Ti}.default`,Ri=`${Ti}.interaction_seconds`,Pi=`${Ti}.keyboard_shortcuts`,Li=`${Ti}.keyboard_shortcuts.enabled`,Ni=`${Pi}.ptz_left`,Fi=`${Pi}.ptz_right`,Vi=`${Pi}.ptz_up`,Hi=`${Pi}.ptz_down`,Bi=`${Pi}.ptz_zoom_in`,qi=`${Pi}.ptz_zoom_out`,Ui=`${Pi}.ptz_home`,Wi=`${Ti}.default_cycle_camera`,Zi=`${Ti}.default_reset`,Qi=`${Zi}.interaction_mode`,Gi=`${Zi}.every_seconds`,Yi=`${Zi}.entities`,Ki=`${Zi}.after_interaction`,Xi=`${Ti}.triggers`,Ji=`${Xi}.show_trigger_status`,er=`${Xi}.filter_selected_camera`,tr=`${Xi}.untrigger_seconds`,nr=`${Xi}.actions`,ar=`${nr}.trigger`,ir=`${nr}.untrigger`,rr=`${nr}.interaction_mode`,or="media_gallery",sr=`${or}.controls.filter.mode`,cr=`${or}.controls.thumbnails.show_details`,lr=`${or}.controls.thumbnails.show_download_control`,dr=`${or}.controls.thumbnails.show_favorite_control`,ur=`${or}.controls.thumbnails.show_timeline_control`,hr=`${or}.controls.thumbnails.size`,pr="media_viewer",mr=`${pr}.auto_play`,gr=`${pr}.auto_pause`,fr=`${pr}.auto_mute`,_r=`${pr}.auto_unmute`,vr=`${pr}.display.mode`,yr=`${pr}.display.grid_columns`,br=`${pr}.display.grid_max_columns`,wr=`${pr}.display.grid_selected_width_factor`,xr=`${pr}.draggable`,Cr=`${pr}.lazy_load`,Mr=`${pr}.snapshot_click_plays_clip`,kr=`${pr}.transition_effect`,Sr=`${pr}.controls.builtin`,Er=`${pr}.controls.next_previous.style`,$r=`${pr}.controls.next_previous.size`,Ar=`${pr}.controls.thumbnails.mode`,zr=`${pr}.controls.thumbnails.show_details`,Ir=`${pr}.controls.thumbnails.show_download_control`,Tr=`${pr}.controls.thumbnails.show_favorite_control`,jr=`${pr}.controls.thumbnails.show_timeline_control`,Or=`${pr}.controls.thumbnails.size`,Dr=`${pr}.controls.timeline.clustering_threshold`,Rr=`${pr}.controls.timeline.events_media_type`,Pr=`${pr}.controls.timeline.mode`,Lr=`${pr}.controls.timeline.pan_mode`,Nr=`${pr}.controls.timeline.show_recordings`,Fr=`${pr}.controls.timeline.style`,Vr=`${pr}.controls.timeline.window_seconds`,Hr=`${pr}.zoomable`,Br="live",qr=`${Br}.auto_play`,Ur=`${Br}.auto_pause`,Wr=`${Br}.auto_mute`,Zr=`${Br}.auto_unmute`,Qr=`${Br}.controls.builtin`,Gr=`${Br}.controls.next_previous.style`,Yr=`${Br}.controls.next_previous.size`,Kr=`${Br}.controls.ptz.hide_home`,Xr=`${Br}.controls.ptz.hide_pan_tilt`,Jr=`${Br}.controls.ptz.hide_zoom`,eo=`${Br}.controls.ptz.mode`,to=`${Br}.controls.ptz.orientation`,no=`${Br}.controls.ptz.position`,ao=`${Br}.controls.thumbnails.media_type`,io=`${Br}.controls.thumbnails.events_media_type`,ro=`${Br}.controls.thumbnails.mode`,oo=`${Br}.controls.thumbnails.size`,so=`${Br}.controls.thumbnails.show_details`,co=`${Br}.controls.thumbnails.show_download_control`,lo=`${Br}.controls.thumbnails.show_favorite_control`,uo=`${Br}.controls.thumbnails.show_timeline_control`,ho=`${Br}.controls.timeline.clustering_threshold`,po=`${Br}.controls.timeline.events_media_type`,mo=`${Br}.controls.timeline.mode`,go=`${Br}.controls.timeline.pan_mode`,fo=`${Br}.controls.timeline.show_recordings`,_o=`${Br}.controls.timeline.style`,vo=`${Br}.controls.timeline.window_seconds`,yo=`${Br}.display.mode`,bo=`${Br}.display.grid_columns`,wo=`${Br}.display.grid_max_columns`,xo=`${Br}.display.grid_selected_width_factor`,Co=`${Br}.draggable`,Mo=`${Br}.lazy_load`,ko=`${Br}.lazy_unload`,So=`${Br}.preload`,Eo=`${Br}.transition_effect`,$o=`${Br}.show_image_during_load`,Ao=`${Br}.microphone.disconnect_seconds`,zo=`${Br}.microphone.mute_after_microphone_mute_seconds`,Io=`${Br}.microphone.always_connected`,To=`${Br}.zoomable`,jo="image",Oo=`${jo}.entity`,Do=`${jo}.entity_parameters`,Ro=`${jo}.mode`,Po=`${jo}.refresh_seconds`,Lo=`${jo}.url`,No="timeline",Fo=`${No}.window_seconds`,Vo=`${No}.clustering_threshold`,Ho=`${No}.events_media_type`,Bo=`${No}.show_recordings`,qo=`${No}.style`,Uo=`${No}.controls.thumbnails.mode`,Wo=`${No}.controls.thumbnails.size`,Zo=`${No}.controls.thumbnails.show_details`,Qo=`${No}.controls.thumbnails.show_download_control`,Go=`${No}.controls.thumbnails.show_favorite_control`,Yo=`${No}.controls.thumbnails.show_timeline_control`,Ko="menu",Xo=`${Ko}.alignment`,Jo=`${Ko}.position`,es=`${Ko}.style`,ts=`${Ko}.button_size`,ns=`${Ko}.buttons`,as=`${ns}.frigate`,is=`${ns}.camera_ui`,rs=`${ns}.fullscreen`,os=`${ns}.play`,ss=`${ns}.mute`,cs=`${ns}.media_player`,ls=`${ns}.timeline`,ds="status_bar",us=`${ds}.position`,hs=`${ds}.style`,ps=`${ds}.popup_seconds`,ms=`${ds}.height`,gs=`${ds}.items`,fs="dimensions",_s=`${fs}.aspect_ratio`,vs=`${fs}.aspect_ratio_mode`,ys=`${fs}.height`,bs="overrides",ws="performance",xs=`${ws}.features.animated_progress_indicator`,Cs=`${ws}.features.media_chunk_size`,Ms=`${ws}.features.max_simultaneous_engine_requests`,ks=`${ws}.profile`,Ss=`${ws}.style.box_shadow`,Es=`${ws}.style.border_radius`,$s="profiles",As=1e3;class zs extends Error{constructor(e,t){super(e),this.context=t}}const Is={info:10,error:20,connection:30,diagnostics:40},Ts=["clips","favorite-events","favorite-recordings","live","menu","ptz","recordings","seek","snapshots","substream"],js=ba.object({url:ba.string(),mime_type:ba.string()}),Os=ba.object({path:ba.string()});function Ds(e){if(e instanceof ba.ZodDefault)return Ds(e.removeDefault());if(e instanceof ba.ZodObject){const t={};for(const n in e.shape){const a=e.shape[n];t[n]=ba.ZodOptional.create(Ds(a))}return new ba.ZodObject({...e._def,shape:()=>t})}return e instanceof ba.ZodArray?ba.ZodArray.create(Ds(e.element)).min(e._def.minLength?.value,e._def.minLength?.message).max(e._def.maxLength?.value,e._def.maxLength?.message).length(e._def.exactLength?.value,e._def.exactLength?.message):e instanceof ba.ZodOptional?ba.ZodOptional.create(Ds(e.unwrap())):e instanceof ba.ZodNullable?ba.ZodNullable.create(Ds(e.unwrap())):e instanceof ba.ZodTuple?ba.ZodTuple.create(e.items.map((e=>Ds(e)))):e}function Rs(e){const t=e.format();return Object.keys(t).filter((e=>!e.startsWith("_")))}const Ps=e=>{const t=new Set;if(e.issues.length)for(const n of e.issues)if("invalid_union"===n.code){const e=n.unionErrors;for(const n of e)Ps(n).forEach(t.add,t)}else t.add(Ls(n.path));return t},Ls=e=>{let t="";for(let n=0;n"fire-dom-event")).or(ba.literal("fire-dom-event")),card_id:ba.string().regex(tc,"card_id parameter can only contain [a-z][A-Z][0-9_]-").optional()}),_c=fc.extend({frigate_card_action:ba.enum(Zs)}),vc=fc.extend({frigate_card_action:ba.enum(["camera_ui","default","download","expand","fullscreen","live_substream_off","live_substream_on","menu_toggle","microphone_connect","microphone_disconnect","microphone_mute","microphone_unmute","mute","pause","play","screenshot","unmute"])}),yc=fc.extend({frigate_card_action:ba.literal("camera_select"),camera:ba.string().optional(),triggered:ba.boolean().optional()}),bc=fc.extend({frigate_card_action:ba.literal("live_substream_select"),camera:ba.string()}),wc=fc.extend({frigate_card_action:ba.literal("media_player"),media_player:ba.string(),media_player_action:ba.enum(["play","stop"])}),xc=fc.extend({frigate_card_action:ba.literal("display_mode_select"),display_mode:ic}),Cc=fc.extend({frigate_card_action:ba.literal("ptz"),camera:ba.string().optional(),ptz_action:ba.enum(Hs).optional(),ptz_phase:ba.enum(Js).optional(),ptz_preset:ba.string().optional()}),Mc=fc.extend({frigate_card_action:ba.literal("ptz_digital"),target_id:ba.string().optional(),absolute:ba.object({zoom:ac.optional(),pan:nc.optional()}).optional(),ptz_action:ba.enum(Hs).optional(),ptz_phase:ba.enum(Js).optional()}),kc=fc.extend({frigate_card_action:ba.literal("ptz_multi"),target_id:ba.string().optional(),ptz_action:ba.enum(Hs).optional(),ptz_phase:ba.enum(Js).optional(),ptz_preset:ba.string().optional()}),Sc=fc.extend({frigate_card_action:ba.literal("ptz_controls"),enabled:ba.boolean()}),Ec=ba.object({ms:ba.number().optional(),s:ba.number().optional(),m:ba.number().optional(),h:ba.number().optional()}),$c=fc.extend({frigate_card_action:ba.literal("sleep"),duration:Ec.optional().default({s:1})}),Ac=fc.extend({frigate_card_action:ba.literal("status_bar"),status_bar_action:ba.enum(["add","remove","reset"]),items:ba.lazy((()=>ol)).array().optional()}),zc=fc.extend({frigate_card_action:ba.literal("log"),message:ba.string(),level:ba.enum(["debug","info","warn","error"]).default("info")}),Ic=ba.union([yc,vc,bc,zc,wc,Cc,Mc,kc,Sc,_c,xc,$c,Ac]),Tc=ba.union([sc,dc,lc,uc,hc,pc,gc,mc,Ic]),jc=ba.object({tap_action:Tc.or(Tc.array()).optional(),hold_action:Tc.or(Tc.array()).optional(),double_tap_action:Tc.or(Tc.array()).optional(),start_tap_action:Tc.or(Tc.array()).optional(),end_tap_action:Tc.or(Tc.array()).optional()}).passthrough(),Oc=ba.object({actions:jc.optional()}),Dc=jc.extend({style:ba.record(ba.string().nullable().or(ba.undefined()).or(ba.number())).optional(),title:ba.string().nullable().optional()}),Rc=Dc.extend({type:ba.literal("state-badge"),entity:ba.string()}),Pc=Dc.extend({type:ba.literal("state-icon"),entity:ba.string(),icon:ba.string().optional(),state_color:ba.boolean().default(!0)}),Lc=Dc.extend({type:ba.literal("state-label"),entity:ba.string(),attribute:ba.string().optional(),prefix:ba.string().optional(),suffix:ba.string().optional()}),Nc=Dc.extend({type:ba.literal("service-button"),title:ba.string(),service:ba.string(),service_data:ba.object({}).passthrough().optional()}),Fc=Dc.extend({type:ba.literal("icon"),icon:ba.string(),entity:ba.string().optional()}),Vc=Dc.extend({type:ba.literal("image"),entity:ba.string().optional(),image:ba.string().optional(),camera_image:ba.string().optional(),camera_view:ba.string().optional(),state_image:ba.object({}).passthrough().optional(),filter:ba.string().optional(),state_filter:ba.object({}).passthrough().optional(),aspect_ratio:ba.string().optional()}),Hc=ba.object({condition:ba.literal("state").optional(),entity:ba.string(),state:ba.string().or(ba.string().array()).optional(),state_not:ba.string().or(ba.string().array()).optional()}),Bc=ba.object({condition:ba.literal("numeric_state"),entity:ba.string(),above:ba.number().optional(),below:ba.number().optional()}),qc=ba.object({condition:ba.literal("screen"),media_query:ba.string()}),Uc=ba.object({condition:ba.literal("user"),users:ba.string().array().min(1)}),Wc=ba.discriminatedUnion("condition",[Hc,Bc,qc,Uc]),Zc=ba.object({type:ba.literal("conditional"),conditions:Wc.array(),elements:ba.lazy((()=>yl))}),Qc=ba.object({type:ba.string().superRefine(((e,t)=>{e.match(/^custom:(?!frigate-card).+/)||t.addIssue({code:ba.ZodIssueCode.custom,message:"Frigate-card custom elements must match specific schemas",fatal:!0})}))}).passthrough(),Gc=ba.object({enabled:ba.boolean().default(!0).optional(),priority:ba.number().min(0).max(Us).default(50).optional(),alignment:ba.enum(["matching","opposing"]).default("matching").optional(),icon:ba.string().optional(),permanent:ba.boolean().default(!1).optional()}),Yc=Gc.merge(Fc).extend({type:ba.literal("custom:frigate-card-menu-icon")}),Kc=Gc.merge(Pc).extend({type:ba.literal("custom:frigate-card-menu-state-icon")}).merge(Gc),Xc=Dc.extend({entity:ba.string().optional(),icon:ba.string().optional(),state_color:ba.boolean().default(!0),selected:ba.boolean().default(!1),subtitle:ba.string().optional(),enabled:ba.boolean().default(!0)}),Jc=Gc.merge(Fc).extend({type:ba.literal("custom:frigate-card-menu-submenu"),items:Xc.array()}),el=Gc.merge(Pc).extend({type:ba.literal("custom:frigate-card-menu-submenu-select"),options:ba.record(Xc.deepPartial()).optional()}),tl=ba.object({enabled:ba.boolean().default(!0).optional(),priority:ba.number().min(0).max(100).default(50).optional()}),nl=tl.extend({sufficient:ba.boolean().default(!1).optional(),exclusive:ba.boolean().default(!1).optional(),expand:ba.boolean().default(!1).optional(),actions:jc.optional()}),al=nl.extend({type:ba.literal("custom:frigate-card-status-bar-icon"),icon:ba.string()}),il=nl.extend({type:ba.literal("custom:frigate-card-status-bar-image"),image:ba.string()}),rl=nl.extend({type:ba.literal("custom:frigate-card-status-bar-string"),string:ba.string()}),ol=ba.union([al,il,rl]),sl=ba.object({condition:ba.literal("view"),views:ba.string().array()}),cl=ba.object({condition:ba.literal("fullscreen"),fullscreen:ba.boolean()}),ll=ba.object({condition:ba.literal("expand"),expand:ba.boolean()}),dl=ba.object({condition:ba.literal("camera"),cameras:ba.string().array()}),ul=ba.object({condition:ba.literal("media_loaded"),media_loaded:ba.boolean()}),hl=ba.object({condition:ba.literal("display_mode"),display_mode:ic}),pl=ba.object({condition:ba.literal("triggered"),triggered:ba.string().array()}),ml=ba.object({condition:ba.literal("interaction"),interaction:ba.boolean()}),gl=ba.object({condition:ba.literal("microphone"),connected:ba.boolean().optional(),muted:ba.boolean().optional()}),fl=ba.object({condition:ba.literal("key"),key:ba.string(),state:ba.enum(["down","up"]).optional(),ctrl:ba.boolean().optional(),shift:ba.boolean().optional(),alt:ba.boolean().optional(),meta:ba.boolean().optional()}),_l=ba.discriminatedUnion("condition",[Hc,Bc,qc,Uc,sl,cl,ll,dl,ul,hl,pl,ml,gl,fl]),vl=ba.object({type:ba.literal("custom:frigate-card-conditional"),conditions:_l.array(),elements:ba.lazy((()=>yl))}),yl=ba.union([Zc,Qc,vl,Fc,Vc,Yc,Kc,Jc,el,Nc,Rc,Pc,Lc,al,il,rl]).array().optional(),bl=ba.object({fit:ba.enum(["contain","cover","fill"]).optional(),position:ba.object({x:ba.number().min(0).max(100).optional(),y:ba.number().min(0).max(100).optional()}).optional(),view_box:ba.object({bottom:ba.number().min(0).max(100).optional().default(0),left:ba.number().min(0).max(100).optional().default(0),right:ba.number().min(0).max(100).optional().default(0),top:ba.number().min(0).max(100).optional().default(0)}).optional(),pan:nc.optional(),zoom:ac.optional()}),wl=ba.number().array().length(2).or(ba.string().regex(/^\s*\d+\.?\d*\s*[:/]\s*\d+\.?\d*\s*$/).transform((e=>e.split(/[:\/]/).map((e=>Number(e)))))),xl={r2c_delay_between_calls_seconds:.5,c2r_delay_between_calls_seconds:.2},Cl=function(e){return t=>{if(!t||"object"!=typeof t||!t.service)return t;const n={...t};return Object.keys(t).forEach((a=>{const i=a.match(/^data_(.+)$/),r=i?.[1];r&&!(`${e}${r}`in t)&&(n[`${e}${r}`]={action:"perform-action",perform_action:t.service,data:t[a]},delete n[a],delete n.service)})),n}},Ml=ba.preprocess(Cl("actions_"),ba.object({actions_left:lc.optional(),actions_left_start:lc.optional(),actions_left_stop:lc.optional(),actions_right:lc.optional(),actions_right_start:lc.optional(),actions_right_stop:lc.optional(),actions_up:lc.optional(),actions_up_start:lc.optional(),actions_up_stop:lc.optional(),actions_down:lc.optional(),actions_down_start:lc.optional(),actions_down_stop:lc.optional(),actions_zoom_in:lc.optional(),actions_zoom_in_start:lc.optional(),actions_zoom_in_stop:lc.optional(),actions_zoom_out:lc.optional(),actions_zoom_out_start:lc.optional(),actions_zoom_out_stop:lc.optional(),r2c_delay_between_calls_seconds:ba.number().default(xl.r2c_delay_between_calls_seconds),c2r_delay_between_calls_seconds:ba.number().default(xl.c2r_delay_between_calls_seconds),presets:ba.preprocess(Cl(""),ba.union([ba.record(lc),ba.object({service:ba.string().optional()})])).optional(),service:ba.string().optional()}).passthrough()),kl={orientation:"horizontal",mode:"auto",hide_pan_tilt:!1,hide_zoom:!1,hide_home:!1,position:"bottom-right"},Sl=ba.object({mode:ba.enum(["off","auto","on"]).default(kl.mode),position:ba.enum(["top-left","top-right","bottom-left","bottom-right"]).default(kl.position),orientation:ba.enum(["vertical","horizontal"]).default(kl.orientation),hide_pan_tilt:ba.boolean().default(kl.hide_pan_tilt),hide_zoom:ba.boolean().default(kl.hide_zoom),hide_home:ba.boolean().default(kl.hide_home),style:ba.object({}).passthrough().optional()}),El={mode:"auto",refresh_seconds:1},$l=ba.object({mode:ba.enum(["auto","camera","entity","screensaver","url"]).default(El.mode),refresh_seconds:ba.number().min(0).default(El.refresh_seconds),url:ba.string().optional(),entity:ba.string().optional(),entity_parameters:ba.string().optional()}),Al=$l.merge(Oc).default(El),zl=75,Il=300,Tl={size:100,show_details:!0,show_favorite_control:!0,show_timeline_control:!0,show_download_control:!0},jl=ba.object({size:ba.number().min(75).max(300).default(Tl.size),show_details:ba.boolean().default(Tl.show_details),show_favorite_control:ba.boolean().default(Tl.show_favorite_control),show_timeline_control:ba.boolean().default(Tl.show_timeline_control),show_download_control:ba.boolean().default(Tl.show_download_control)}),Ol={...Tl,mode:"right"},Dl=jl.extend({mode:ba.enum(["none","above","below","left","right"]).default(Ol.mode)}),Rl=ba.enum(["all","clips","snapshots"]),Pl={clustering_threshold:3,events_media_type:"all",window_seconds:3600,show_recordings:!0,style:"stack",pan_mode:"pan"},Ll=ba.enum(["pan","seek","seek-in-media","seek-in-camera"]),Nl=ba.object({clustering_threshold:ba.number().optional().default(Pl.clustering_threshold),events_media_type:Rl.optional().default(Pl.events_media_type),window_seconds:ba.number().min(60).max(86400).optional().default(Pl.window_seconds),show_recordings:ba.boolean().optional().default(Pl.show_recordings),style:ba.enum(["stack","ribbon"]).optional().default(Pl.style),pan_mode:Ll.optional().default(Pl.pan_mode)}),Fl={...Pl,mode:"none",style:"ribbon"},Vl=Nl.extend({mode:ba.enum(["none","above","below"]).default(Fl.mode),style:Nl.shape.style.default(Fl.style)}),Hl={...Pl,controls:{thumbnails:Ol}},Bl=Nl.extend({controls:ba.object({thumbnails:Dl.default(Hl.controls.thumbnails)}).default(Hl.controls)}).default(Hl),ql=ba.object({style:ba.enum(["none","chevrons","icons","thumbnails"]),size:ba.number().min(20)}),Ul=ba.enum(["none","slide"]),Wl={always_connected:!1,disconnect_seconds:90,mute_after_microphone_mute_seconds:60},Zl=ba.object({always_connected:ba.boolean().default(Wl.always_connected),disconnect_seconds:ba.number().min(0).default(Wl.disconnect_seconds),mute_after_microphone_mute_seconds:ba.number().min(0).default(Wl.mute_after_microphone_mute_seconds)}).default(Wl),Ql=ba.object({url:ba.string().transform((e=>e.replace(/\/+$/,""))).optional(),host:ba.string().optional(),modes:ba.enum(["webrtc","mse","mp4","mjpeg"]).array().optional(),stream:ba.string().optional()}),Gl=ba.object({entity:ba.string().optional(),url:ba.string().optional()}).passthrough(),Yl=ba.object({options:ba.object({audio:ba.boolean().optional(),video:ba.boolean().optional(),pauseWhenHidden:ba.boolean().optional(),disableGl:ba.boolean().optional(),disableWebAssembly:ba.boolean().optional(),preserveDrawingBuffer:ba.boolean().optional(),progressive:ba.boolean().optional(),throttled:ba.boolean().optional(),chunkSize:ba.number().optional(),maxAudioLag:ba.number().optional(),videoBufferSize:ba.number().optional(),audioBufferSize:ba.number().optional()}).optional()}),Kl={...Ol,media_type:"events",events_media_type:"all"},Xl={auto_play:[...Ys],auto_pause:[],auto_mute:[...Xs],auto_unmute:["microphone"],preload:!1,lazy_load:!0,lazy_unload:[],draggable:!0,zoomable:!0,transition_effect:"slide",show_image_during_load:!0,mode:"single",controls:{builtin:!0,next_previous:{size:48,style:"chevrons"},ptz:kl,thumbnails:Kl,timeline:Fl},microphone:{...Wl}},Jl=Dl.extend({media_type:ba.enum(["events","recordings"]).default(Xl.controls.thumbnails.media_type),events_media_type:Rl.default(Xl.controls.thumbnails.events_media_type)}),ed=ba.object({auto_pause:ba.enum(Gs).array().default(Xl.auto_pause),auto_play:ba.enum(Ys).array().default(Xl.auto_play),auto_mute:ba.enum(Xs).array().default(Xl.auto_mute),auto_unmute:ba.enum(Ks).array().default(Xl.auto_unmute),controls:ba.object({builtin:ba.boolean().default(Xl.controls.builtin),next_previous:ql.extend({style:ba.enum(["none","chevrons","icons"]).default(Xl.controls.next_previous.style),size:ql.shape.size.default(Xl.controls.next_previous.size)}).default(Xl.controls.next_previous),ptz:Sl.default(Xl.controls.ptz),thumbnails:Jl.default(Xl.controls.thumbnails),timeline:Vl.default(Xl.controls.timeline)}).default(Xl.controls),display:rc,draggable:ba.boolean().default(Xl.draggable),lazy_load:ba.boolean().default(Xl.lazy_load),lazy_unload:ba.enum(Gs).array().default(Xl.lazy_unload),microphone:Zl.default(Xl.microphone),preload:ba.boolean().default(Xl.preload),show_image_during_load:ba.boolean().default(Xl.show_image_during_load),transition_effect:Ul.default(Xl.transition_effect),zoomable:ba.boolean().default(Xl.zoomable)}).merge(Oc).default(Xl),td=ba.object({live:ed}),nd=ba.object({method:ba.enum(["standard","dashboard"]).default("standard").optional(),dashboard:ba.object({dashboard_path:ba.string().optional(),view_path:ba.string().optional()}).optional()}),ad={dependencies:{all_cameras:!1,cameras:[]},engine:"auto",frigate:{client_id:"frigate"},live_provider:"auto",motioneye:{images:{directory_pattern:"%Y-%m-%d",file_pattern:"%H-%M-%S"},movies:{directory_pattern:"%Y-%m-%d",file_pattern:"%H-%M-%S"}},reolink:{media_resolution:"low"},ptz:xl,triggers:{motion:!1,occupancy:!1,events:[...ec],entities:[]},proxy:{media:"auto",dynamic:!0,ssl_verification:"auto",ssl_ciphers:"auto"}},id=ba.object({media:ba.boolean().or(ba.literal("auto")).default(ad.proxy.media),dynamic:ba.boolean().default(ad.proxy.dynamic),ssl_verification:ba.boolean().or(ba.literal("auto")).default(ad.proxy.ssl_verification),ssl_ciphers:ba.enum(["default","insecure","intermediate","modern"]).or(ba.literal("auto")).default(ad.proxy.ssl_ciphers)}),rd=ba.object({camera_entity:ba.string().optional(),icon:ba.string().optional(),title:ba.string().optional(),capabilities:ba.object({disable:ba.enum(Ts).array().optional(),disable_except:ba.enum(Ts).array().optional()}).optional(),id:ba.string().optional(),dependencies:ba.object({all_cameras:ba.boolean().default(ad.dependencies.all_cameras),cameras:ba.string().array().default(ad.dependencies.cameras)}).default(ad.dependencies),triggers:ba.object({motion:ba.boolean().default(ad.triggers.motion),occupancy:ba.boolean().default(ad.triggers.occupancy),entities:ba.string().array().default(ad.triggers.entities),events:ba.enum(ec).array().default(ad.triggers.events)}).default(ad.triggers),engine:ba.enum(["auto","frigate","generic","motioneye","reolink"]).default("auto"),frigate:ba.object({url:ba.string().optional(),client_id:ba.string().default(ad.frigate.client_id),camera_name:ba.string().optional(),labels:ba.string().array().optional(),zones:ba.string().array().optional()}).default(ad.frigate),motioneye:ba.object({url:ba.string().optional(),images:ba.object({directory_pattern:ba.string().includes("%").default(ad.motioneye.images.directory_pattern),file_pattern:ba.string().includes("%").default(ad.motioneye.images.file_pattern)}).default(ad.motioneye.images),movies:ba.object({directory_pattern:ba.string().includes("%").default(ad.motioneye.movies.directory_pattern),file_pattern:ba.string().includes("%").default(ad.motioneye.movies.file_pattern)}).default(ad.motioneye.movies)}).default(ad.motioneye),reolink:ba.object({url:ba.string().optional(),media_resolution:ba.enum(["high","low"]).default(ad.reolink.media_resolution)}).default(ad.reolink),live_provider:ba.enum(["auto","image","ha","jsmpeg","go2rtc","webrtc-card"]).default(ad.live_provider),go2rtc:Ql.optional(),image:$l.optional().default(El),jsmpeg:Yl.optional(),webrtc_card:Gl.optional(),cast:nd.optional(),ptz:Ml.default(ad.ptz),dimensions:ba.object({aspect_ratio:wl.optional(),layout:bl.optional()}).optional(),proxy:id.default(ad.proxy)}).default(ad),od=rd.array().min(1),sd={default:Qs,camera_select:"current",interaction_seconds:300,default_reset:{every_seconds:0,after_interaction:!1,entities:[],interaction_mode:"inactive"},default_cycle_camera:!1,dark_mode:"off",triggers:{show_trigger_status:!1,filter_selected_camera:!0,actions:{trigger:"update",untrigger:"none"},untrigger_seconds:0},keyboard_shortcuts:Fs},cd=ba.enum(["all","inactive","active"]).default("inactive"),ld=ba.object({actions:ba.object({interaction_mode:cd,trigger:ba.enum(["default","live","media","none","update"]).default(sd.triggers.actions.trigger),untrigger:ba.enum(["default","none"]).default(sd.triggers.actions.untrigger)}).default(sd.triggers.actions),filter_selected_camera:ba.boolean().default(sd.triggers.filter_selected_camera),show_trigger_status:ba.boolean().default(sd.triggers.show_trigger_status),untrigger_seconds:ba.number().default(sd.triggers.untrigger_seconds)}),dd=ba.object({default:ba.enum(Zs).default(sd.default),camera_select:ba.enum([...Zs,"current"]).default(sd.camera_select),interaction_seconds:ba.number().default(sd.interaction_seconds),default_cycle_camera:ba.boolean().default(sd.default_cycle_camera),default_reset:ba.object({after_interaction:ba.boolean().default(sd.default_reset.after_interaction),every_seconds:ba.number().default(sd.default_reset.every_seconds),entities:ba.string().array().default(sd.default_reset.entities),interaction_mode:cd.default(sd.default_reset.interaction_mode)}).default(sd.default_reset),render_entities:ba.string().array().optional(),dark_mode:ba.enum(["on","off","auto"]).optional(),triggers:ld.default(sd.triggers),keyboard_shortcuts:Vs.default(sd.keyboard_shortcuts)}).merge(Oc).default(sd),ud=["left","right","top","bottom"],hd=ud,pd={priority:50,enabled:!0},md={priority:50,enabled:!1},gd={alignment:"left",button_size:40,buttons:{camera_ui:pd,cameras:pd,clips:pd,ptz_home:md,display_mode:pd,download:pd,expand:md,frigate:pd,fullscreen:pd,image:md,live:pd,media_player:pd,microphone:{...md,type:"momentary"},mute:md,play:md,ptz_controls:md,recordings:md,screenshot:md,snapshots:pd,substreams:pd,timeline:pd},position:"top",style:"hidden"},fd=Gc.extend({enabled:Gc.shape.enabled.default(pd.enabled),priority:Gc.shape.priority.default(pd.priority)}),_d=Gc.extend({enabled:Gc.shape.enabled.default(md.enabled),priority:Gc.shape.priority.default(md.priority)}),vd=ba.object({style:ba.enum(["none","hidden","overlay","hover","hover-card","outside"]).default(gd.style),position:ba.enum(ud).default(gd.position),alignment:ba.enum(hd).default(gd.alignment),buttons:ba.object({camera_ui:fd.default(gd.buttons.camera_ui),cameras:fd.default(gd.buttons.cameras),clips:fd.default(gd.buttons.clips),ptz_home:_d.default(gd.buttons.ptz_home),display_mode:fd.default(gd.buttons.display_mode),download:fd.default(gd.buttons.download),expand:_d.default(gd.buttons.expand),frigate:fd.default(gd.buttons.frigate),fullscreen:fd.default(gd.buttons.fullscreen),image:_d.default(gd.buttons.image),live:fd.default(gd.buttons.live),media_player:fd.default(gd.buttons.media_player),microphone:_d.extend({type:ba.enum(["momentary","toggle"]).default(gd.buttons.microphone.type)}).default(gd.buttons.microphone),mute:_d.default(gd.buttons.mute),play:_d.default(gd.buttons.play),ptz_controls:_d.default(gd.buttons.ptz_controls),recordings:_d.default(gd.buttons.recordings),screenshot:_d.default(gd.buttons.screenshot),snapshots:fd.default(gd.buttons.snapshots),substreams:fd.default(gd.buttons.substreams),timeline:fd.default(gd.buttons.timeline)}).default(gd.buttons),button_size:ba.number().min(20).default(gd.button_size)}).default(gd),yd={priority:50,enabled:!0},bd={height:46,items:{engine:yd,resolution:yd,technology:yd,title:yd},position:"bottom",style:"popup",popup_seconds:3},wd=ba.object({position:ba.enum(["top","bottom"]).default(bd.position),style:ba.enum(["none","overlay","hover","hover-card","outside","popup"]).default(bd.style),popup_seconds:ba.number().min(0).max(60).default(bd.popup_seconds),height:ba.number().min(20).default(bd.height),items:ba.object({engine:tl.default(bd.items.engine),technology:tl.default(bd.items.technology),resolution:tl.default(bd.items.resolution),title:tl.default(bd.items.title)}).default(bd.items)}).default(bd),xd={auto_play:[...Ys],auto_pause:[...Gs],auto_mute:[...Gs],auto_unmute:[],lazy_load:!0,draggable:!0,zoomable:!0,transition_effect:"slide",snapshot_click_plays_clip:!0,display_mode:"single",controls:{builtin:!0,next_previous:{size:48,style:"thumbnails"},thumbnails:Ol,timeline:Fl,ptz:{...kl,mode:"off"}}},Cd=ql.extend({style:ba.enum(["none","thumbnails","chevrons"]).default(xd.controls.next_previous.style),size:ql.shape.size.default(xd.controls.next_previous.size)}),Md=ba.object({auto_play:ba.enum(Ys).array().default(xd.auto_play),auto_pause:ba.enum(Gs).array().default(xd.auto_pause),auto_mute:ba.enum(Gs).array().default(xd.auto_mute),auto_unmute:ba.enum(Ys).array().default(xd.auto_unmute),lazy_load:ba.boolean().default(xd.lazy_load),draggable:ba.boolean().default(xd.draggable),zoomable:ba.boolean().default(xd.zoomable),transition_effect:Ul.default(xd.transition_effect),snapshot_click_plays_clip:ba.boolean().default(xd.snapshot_click_plays_clip),display:rc,controls:ba.object({builtin:ba.boolean().default(xd.controls.builtin),next_previous:Cd.default(xd.controls.next_previous),ptz:Sl.extend({mode:ba.enum(["off","on"]).default(xd.controls.ptz.mode)}).default(xd.controls.ptz),thumbnails:Dl.default(xd.controls.thumbnails),timeline:Vl.default(xd.controls.timeline)}).default(xd.controls)}).merge(Oc).default(xd),kd={...Ol,show_details:!1},Sd={controls:{thumbnails:kd,filter:{mode:"right"}}},Ed=Dl.extend({show_details:ba.boolean().default(kd.show_details)}),$d=ba.object({controls:ba.object({thumbnails:Ed.default(Sd.controls.thumbnails),filter:ba.object({mode:ba.enum(["none","left","right"]).default(Sd.controls.filter.mode)}).default(Sd.controls.filter)}).default(Sd.controls)}).merge(Oc).default(Sd),Ad={aspect_ratio_mode:"dynamic",aspect_ratio:[16,9],height:"auto"},zd=ba.object({aspect_ratio_mode:ba.enum(["dynamic","static","unconstrained"]).default(Ad.aspect_ratio_mode),aspect_ratio:wl.default(Ad.aspect_ratio),height:ba.string().default(Ad.height)}).default(Ad),Id=ba.object({conditions:_l.array(),merge:ba.object({}).passthrough().optional(),set:ba.object({}).passthrough().optional(),delete:ba.string().array().optional()}).array().optional(),Td=Tc.array(),jd=ba.object({conditions:_l.array(),actions:Td.optional(),actions_not:Td.optional()}).refine((e=>e.actions?.length||e.actions_not?.length),"Automations must include at least one action").array(),Od={features:{animated_progress_indicator:!0,media_chunk_size:50},style:{border_radius:!0,box_shadow:!0}},Dd=ba.object({features:ba.object({animated_progress_indicator:ba.boolean().default(Od.features.animated_progress_indicator),media_chunk_size:ba.number().min(0).max(1e3).default(Od.features.media_chunk_size),max_simultaneous_engine_requests:ba.number().min(1).optional()}).default(Od.features),style:ba.object({border_radius:ba.boolean().default(Od.style.border_radius),box_shadow:ba.boolean().default(Od.style.box_shadow)}).default(Od.style)}).default(Od),Rd={logging:!1},Pd=ba.object({logging:ba.boolean().default(Rd.logging)}).default(Rd),Ld=ba.enum(["casting","low-performance","scrubbing"]).array().optional(),Nd=ba.object({cameras:Ds(od),cameras_global:rd,view:dd,menu:vd,status_bar:wd,live:ed,media_gallery:$d,media_viewer:Md,image:Al,elements:yl,dimensions:zd,timeline:Bl,performance:Dd,debug:Pd,automations:jd.optional(),profiles:Ld,overrides:Id,card_mod:ba.unknown(),card_id:ba.string().regex(tc).optional(),type:ba.string()}),Fd={cameras:ad,view:sd,menu:gd,status_bar:bd,live:Xl,media_gallery:Sd,media_viewer:xd,image:El,timeline:Hl,performance:Od,debug:Rd};function Vd(e){const t=Object.prototype.toString.call(e);return e instanceof Date||"object"==typeof e&&"[object Date]"===t?new e.constructor(+e):"number"==typeof e||"[object Number]"===t||"string"==typeof e||"[object String]"===t?new Date(e):new Date(NaN)}function Hd(e,t){return e instanceof Date?new e.constructor(t):new Date(t)}function Bd(e,t){const n=Vd(e);return isNaN(t)?Hd(e,NaN):t?(n.setDate(n.getDate()+t),n):n}function qd(e,t){const n=Vd(e);if(isNaN(t))return Hd(e,NaN);if(!t)return n;const a=n.getDate(),i=Hd(e,n.getTime());i.setMonth(n.getMonth()+t+1,0);return a>=i.getDate()?i:(n.setFullYear(i.getFullYear(),i.getMonth(),a),n)}function Ud(e,t){const{years:n=0,months:a=0,weeks:i=0,days:r=0,hours:o=0,minutes:s=0,seconds:c=0}=t,l=Vd(e),d=a||n?qd(l,a+12*n):l,u=1e3*(c+60*(s+60*o));return Hd(e,(r||i?Bd(d,r+7*i):d).getTime()+u)}const Wd=6048e5,Zd=864e5,Qd=6e4,Gd=36e5,Yd=1e3;let Kd={};function Xd(){return Kd}function Jd(e,t){const n=Xd(),a=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=Vd(e),r=i.getDay(),o=(r=i.getTime()?n+1:t.getTime()>=o.getTime()?n:n-1}function nu(e){const t=Vd(e);return t.setHours(0,0,0,0),t}function au(e){const t=Vd(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function iu(e){if(!(t=e,t instanceof Date||"object"==typeof t&&"[object Date]"===Object.prototype.toString.call(t)||"number"==typeof e))return!1;var t;const n=Vd(e);return!isNaN(Number(n))}function ru(e){return t=>{const n=(e?Math[e]:Math.trunc)(t);return 0===n?0:n}}function ou(e,t){return+Vd(e)-+Vd(t)}function su(e,t,n){const a=ou(e,t)/1e3;return ru(n?.roundingMethod)(a)}const cu={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function lu(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const du={date:lu({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:lu({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:lu({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},uu={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function hu(e){return(t,n)=>{let a;if("formatting"===(n?.context?String(n.context):"standalone")&&e.formattingValues){const t=e.defaultFormattingWidth||e.defaultWidth,i=n?.width?String(n.width):t;a=e.formattingValues[i]||e.formattingValues[t]}else{const t=e.defaultWidth,i=n?.width?String(n.width):e.defaultWidth;a=e.values[i]||e.values[t]}return a[e.argumentCallback?e.argumentCallback(t):t]}}function pu(e){return(t,n={})=>{const a=n.width,i=a&&e.matchPatterns[a]||e.matchPatterns[e.defaultMatchWidth],r=t.match(i);if(!r)return null;const o=r[0],s=a&&e.parsePatterns[a]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(s)?function(e,t){for(let n=0;ne.test(o))):function(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n;return}(s,(e=>e.test(o)));let l;l=e.valueCallback?e.valueCallback(c):c,l=n.valueCallback?n.valueCallback(l):l;return{value:l,rest:t.slice(o.length)}}}var mu;const gu={code:"en-US",formatDistance:(e,t,n)=>{let a;const i=cu[e];return a="string"==typeof i?i:1===t?i.one:i.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+a:a+" ago":a},formatLong:du,formatRelative:(e,t,n,a)=>uu[e],localize:{ordinalNumber:(e,t)=>{const n=Number(e),a=n%100;if(a>20||a<10)switch(a%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:hu({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:hu({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:e=>e-1}),month:hu({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:hu({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:hu({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})},match:{ordinalNumber:(mu={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)},(e,t={})=>{const n=e.match(mu.matchPattern);if(!n)return null;const a=n[0],i=e.match(mu.parsePattern);if(!i)return null;let r=mu.valueCallback?mu.valueCallback(i[0]):i[0];return r=t.valueCallback?t.valueCallback(r):r,{value:r,rest:e.slice(a.length)}}),era:pu({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:pu({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:e=>e+1}),month:pu({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:pu({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:pu({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function fu(e){const t=Vd(e),n=function(e,t){const n=nu(e),a=nu(t),i=+n-au(n),r=+a-au(a);return Math.round((i-r)/Zd)}(t,function(e){const t=Vd(e),n=Hd(e,0);return n.setFullYear(t.getFullYear(),0,1),n.setHours(0,0,0,0),n}(t));return n+1}function _u(e){const t=Vd(e),n=+eu(t)-+function(e){const t=tu(e),n=Hd(e,0);return n.setFullYear(t,0,4),n.setHours(0,0,0,0),eu(n)}(t);return Math.round(n/Wd)+1}function vu(e,t){const n=Vd(e),a=n.getFullYear(),i=Xd(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,o=Hd(e,0);o.setFullYear(a+1,0,r),o.setHours(0,0,0,0);const s=Jd(o,t),c=Hd(e,0);c.setFullYear(a,0,r),c.setHours(0,0,0,0);const l=Jd(c,t);return n.getTime()>=s.getTime()?a+1:n.getTime()>=l.getTime()?a:a-1}function yu(e,t){const n=Vd(e),a=+Jd(n,t)-+function(e,t){const n=Xd(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,i=vu(e,t),r=Hd(e,0);return r.setFullYear(i,0,a),r.setHours(0,0,0,0),Jd(r,t)}(n,t);return Math.round(a/Wd)+1}function bu(e,t){return(e<0?"-":"")+Math.abs(e).toString().padStart(t,"0")}const wu={y(e,t){const n=e.getFullYear(),a=n>0?n:1-n;return bu("yy"===t?a%100:a,t.length)},M(e,t){const n=e.getMonth();return"M"===t?String(n+1):bu(n+1,2)},d:(e,t)=>bu(e.getDate(),t.length),a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];default:return"am"===n?"a.m.":"p.m."}},h:(e,t)=>bu(e.getHours()%12||12,t.length),H:(e,t)=>bu(e.getHours(),t.length),m:(e,t)=>bu(e.getMinutes(),t.length),s:(e,t)=>bu(e.getSeconds(),t.length),S(e,t){const n=t.length,a=e.getMilliseconds();return bu(Math.trunc(a*Math.pow(10,n-3)),t.length)}},xu="midnight",Cu="noon",Mu="morning",ku="afternoon",Su="evening",Eu="night",$u={G:function(e,t,n){const a=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(a,{width:"abbreviated"});case"GGGGG":return n.era(a,{width:"narrow"});default:return n.era(a,{width:"wide"})}},y:function(e,t,n){if("yo"===t){const t=e.getFullYear(),a=t>0?t:1-t;return n.ordinalNumber(a,{unit:"year"})}return wu.y(e,t)},Y:function(e,t,n,a){const i=vu(e,a),r=i>0?i:1-i;if("YY"===t){return bu(r%100,2)}return"Yo"===t?n.ordinalNumber(r,{unit:"year"}):bu(r,t.length)},R:function(e,t){return bu(tu(e),t.length)},u:function(e,t){return bu(e.getFullYear(),t.length)},Q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(a);case"QQ":return bu(a,2);case"Qo":return n.ordinalNumber(a,{unit:"quarter"});case"QQQ":return n.quarter(a,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(a,{width:"narrow",context:"formatting"});default:return n.quarter(a,{width:"wide",context:"formatting"})}},q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(a);case"qq":return bu(a,2);case"qo":return n.ordinalNumber(a,{unit:"quarter"});case"qqq":return n.quarter(a,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(a,{width:"narrow",context:"standalone"});default:return n.quarter(a,{width:"wide",context:"standalone"})}},M:function(e,t,n){const a=e.getMonth();switch(t){case"M":case"MM":return wu.M(e,t);case"Mo":return n.ordinalNumber(a+1,{unit:"month"});case"MMM":return n.month(a,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(a,{width:"narrow",context:"formatting"});default:return n.month(a,{width:"wide",context:"formatting"})}},L:function(e,t,n){const a=e.getMonth();switch(t){case"L":return String(a+1);case"LL":return bu(a+1,2);case"Lo":return n.ordinalNumber(a+1,{unit:"month"});case"LLL":return n.month(a,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(a,{width:"narrow",context:"standalone"});default:return n.month(a,{width:"wide",context:"standalone"})}},w:function(e,t,n,a){const i=yu(e,a);return"wo"===t?n.ordinalNumber(i,{unit:"week"}):bu(i,t.length)},I:function(e,t,n){const a=_u(e);return"Io"===t?n.ordinalNumber(a,{unit:"week"}):bu(a,t.length)},d:function(e,t,n){return"do"===t?n.ordinalNumber(e.getDate(),{unit:"date"}):wu.d(e,t)},D:function(e,t,n){const a=fu(e);return"Do"===t?n.ordinalNumber(a,{unit:"dayOfYear"}):bu(a,t.length)},E:function(e,t,n){const a=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(a,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(a,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},e:function(e,t,n,a){const i=e.getDay(),r=(i-a.weekStartsOn+8)%7||7;switch(t){case"e":return String(r);case"ee":return bu(r,2);case"eo":return n.ordinalNumber(r,{unit:"day"});case"eee":return n.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(i,{width:"short",context:"formatting"});default:return n.day(i,{width:"wide",context:"formatting"})}},c:function(e,t,n,a){const i=e.getDay(),r=(i-a.weekStartsOn+8)%7||7;switch(t){case"c":return String(r);case"cc":return bu(r,t.length);case"co":return n.ordinalNumber(r,{unit:"day"});case"ccc":return n.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(i,{width:"narrow",context:"standalone"});case"cccccc":return n.day(i,{width:"short",context:"standalone"});default:return n.day(i,{width:"wide",context:"standalone"})}},i:function(e,t,n){const a=e.getDay(),i=0===a?7:a;switch(t){case"i":return String(i);case"ii":return bu(i,t.length);case"io":return n.ordinalNumber(i,{unit:"day"});case"iii":return n.day(a,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(a,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},a:function(e,t,n){const a=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},b:function(e,t,n){const a=e.getHours();let i;switch(i=12===a?Cu:0===a?xu:a/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(i,{width:"narrow",context:"formatting"});default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},B:function(e,t,n){const a=e.getHours();let i;switch(i=a>=17?Su:a>=12?ku:a>=4?Mu:Eu,t){case"B":case"BB":case"BBB":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(i,{width:"narrow",context:"formatting"});default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},h:function(e,t,n){if("ho"===t){let t=e.getHours()%12;return 0===t&&(t=12),n.ordinalNumber(t,{unit:"hour"})}return wu.h(e,t)},H:function(e,t,n){return"Ho"===t?n.ordinalNumber(e.getHours(),{unit:"hour"}):wu.H(e,t)},K:function(e,t,n){const a=e.getHours()%12;return"Ko"===t?n.ordinalNumber(a,{unit:"hour"}):bu(a,t.length)},k:function(e,t,n){let a=e.getHours();return 0===a&&(a=24),"ko"===t?n.ordinalNumber(a,{unit:"hour"}):bu(a,t.length)},m:function(e,t,n){return"mo"===t?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):wu.m(e,t)},s:function(e,t,n){return"so"===t?n.ordinalNumber(e.getSeconds(),{unit:"second"}):wu.s(e,t)},S:function(e,t){return wu.S(e,t)},X:function(e,t,n){const a=e.getTimezoneOffset();if(0===a)return"Z";switch(t){case"X":return zu(a);case"XXXX":case"XX":return Iu(a);default:return Iu(a,":")}},x:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"x":return zu(a);case"xxxx":case"xx":return Iu(a);default:return Iu(a,":")}},O:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+Au(a,":");default:return"GMT"+Iu(a,":")}},z:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+Au(a,":");default:return"GMT"+Iu(a,":")}},t:function(e,t,n){return bu(Math.trunc(e.getTime()/1e3),t.length)},T:function(e,t,n){return bu(e.getTime(),t.length)}};function Au(e,t=""){const n=e>0?"-":"+",a=Math.abs(e),i=Math.trunc(a/60),r=a%60;return 0===r?n+String(i):n+String(i)+t+bu(r,2)}function zu(e,t){if(e%60==0){return(e>0?"-":"+")+bu(Math.abs(e)/60,2)}return Iu(e,t)}function Iu(e,t=""){const n=e>0?"-":"+",a=Math.abs(e);return n+bu(Math.trunc(a/60),2)+t+bu(a%60,2)}const Tu=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},ju=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},Ou={p:ju,P:(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],a=n[1],i=n[2];if(!i)return Tu(e,t);let r;switch(a){case"P":r=t.dateTime({width:"short"});break;case"PP":r=t.dateTime({width:"medium"});break;case"PPP":r=t.dateTime({width:"long"});break;default:r=t.dateTime({width:"full"})}return r.replace("{{date}}",Tu(a,t)).replace("{{time}}",ju(i,t))}},Du=/^D+$/,Ru=/^Y+$/,Pu=["D","DD","YY","YYYY"];function Lu(e){return Du.test(e)}function Nu(e){return Ru.test(e)}function Fu(e,t,n){const a=function(e,t,n){const a="Y"===e[0]?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${a} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}(e,t,n);if(console.warn(a),Pu.includes(e))throw new RangeError(a)}const Vu=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Hu=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Bu=/^'([^]*?)'?$/,qu=/''/g,Uu=/[a-zA-Z]/;function Wu(e,t,n){const a=Xd(),i=n?.locale??a.locale??gu,r=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,o=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??a.weekStartsOn??a.locale?.options?.weekStartsOn??0,s=Vd(e);if(!iu(s))throw new RangeError("Invalid time value");let c=t.match(Hu).map((e=>{const t=e[0];if("p"===t||"P"===t){return(0,Ou[t])(e,i.formatLong)}return e})).join("").match(Vu).map((e=>{if("''"===e)return{isToken:!1,value:"'"};const t=e[0];if("'"===t)return{isToken:!1,value:Zu(e)};if($u[t])return{isToken:!0,value:e};if(t.match(Uu))throw new RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}}));i.localize.preprocessor&&(c=i.localize.preprocessor(s,c));const l={firstWeekContainsDate:r,weekStartsOn:o,locale:i};return c.map((a=>{if(!a.isToken)return a.value;const r=a.value;(!n?.useAdditionalWeekYearTokens&&Nu(r)||!n?.useAdditionalDayOfYearTokens&&Lu(r))&&Fu(r,t,String(e));return(0,$u[r[0]])(s,r,i.localize,l)})).join("")}function Zu(e){const t=e.match(Bu);return t?t[1].replace(qu,"'"):e}function Qu(e,t){const{years:n=0,months:a=0,weeks:i=0,days:r=0,hours:o=0,minutes:s=0,seconds:c=0}=t,l=function(e,t){return qd(e,-t)}(e,a+12*n),d=function(e,t){return Bd(e,-t)}(l,r+7*i),u=1e3*(c+60*(s+60*o));return Hd(e,d.getTime()-u)}function Gu(e,t){return e===t||e!=e&&t!=t}function Yu(e,t){for(var n=e.length;n--;)if(Gu(e[n][0],t))return n;return-1}var Ku=Array.prototype.splice;function Xu(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1},Xu.prototype.set=function(e,t){var n=this.__data__,a=Yu(n,e);return a<0?(++this.size,n.push([e,t])):n[a][1]=t,this};var Ju="object"==typeof global&&global&&global.Object===Object&&global,eh="object"==typeof self&&self&&self.Object===Object&&self,th=Ju||eh||Function("return this")(),nh=th.Symbol,ah=Object.prototype,ih=ah.hasOwnProperty,rh=ah.toString,oh=nh?nh.toStringTag:void 0;var sh=Object.prototype.toString;var ch="[object Null]",lh="[object Undefined]",dh=nh?nh.toStringTag:void 0;function uh(e){return null==e?void 0===e?lh:ch:dh&&dh in Object(e)?function(e){var t=ih.call(e,oh),n=e[oh];try{e[oh]=void 0;var a=!0}catch(e){}var i=rh.call(e);return a&&(t?e[oh]=n:delete e[oh]),i}(e):function(e){return sh.call(e)}(e)}function hh(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}var ph="[object AsyncFunction]",mh="[object Function]",gh="[object GeneratorFunction]",fh="[object Proxy]";function _h(e){if(!hh(e))return!1;var t=uh(e);return t==mh||t==gh||t==ph||t==fh}var vh,yh=th["__core-js_shared__"],bh=(vh=/[^.]+$/.exec(yh&&yh.keys&&yh.keys.IE_PROTO||""))?"Symbol(src)_1."+vh:"";var wh=Function.prototype.toString;function xh(e){if(null!=e){try{return wh.call(e)}catch(e){}try{return e+""}catch(e){}}return""}var Ch=/^\[object .+?Constructor\]$/,Mh=Function.prototype,kh=Object.prototype,Sh=Mh.toString,Eh=kh.hasOwnProperty,$h=RegExp("^"+Sh.call(Eh).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Ah(e){return!(!hh(e)||(t=e,bh&&bh in t))&&(_h(e)?$h:Ch).test(xh(e));var t}function zh(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return Ah(n)?n:void 0}var Ih=zh(th,"Map"),Th=zh(Object,"create");var jh=Object.prototype.hasOwnProperty;var Oh=Object.prototype.hasOwnProperty;function Dh(e){var t=-1,n=null==e?0:e.length;for(this.clear();++ts))return!1;var l=r.get(e),d=r.get(t);if(l&&d)return l==t&&d==e;var u=-1,h=!0,p=n&Bh?new Nh:void 0;for(r.set(e,t),r.set(t,e);++u-1&&e%1==0&&e-1&&e%1==0&&e<=Ap}var Ip={};function Tp(e){return function(t){return e(t)}}Ip["[object Float32Array]"]=Ip["[object Float64Array]"]=Ip["[object Int8Array]"]=Ip["[object Int16Array]"]=Ip["[object Int32Array]"]=Ip["[object Uint8Array]"]=Ip["[object Uint8ClampedArray]"]=Ip["[object Uint16Array]"]=Ip["[object Uint32Array]"]=!0,Ip["[object Arguments]"]=Ip["[object Array]"]=Ip["[object ArrayBuffer]"]=Ip["[object Boolean]"]=Ip["[object DataView]"]=Ip["[object Date]"]=Ip["[object Error]"]=Ip["[object Function]"]=Ip["[object Map]"]=Ip["[object Number]"]=Ip["[object Object]"]=Ip["[object RegExp]"]=Ip["[object Set]"]=Ip["[object String]"]=Ip["[object WeakMap]"]=!1;var jp="object"==typeof exports&&exports&&!exports.nodeType&&exports,Op=jp&&"object"==typeof module&&module&&!module.nodeType&&module,Dp=Op&&Op.exports===jp&&Ju.process,Rp=function(){try{var e=Op&&Op.require&&Op.require("util").types;return e||Dp&&Dp.binding&&Dp.binding("util")}catch(e){}}(),Pp=Rp,Lp=Pp&&Pp.isTypedArray,Np=Lp?Tp(Lp):function(e){return fp(e)&&zp(e.length)&&!!Ip[uh(e)]},Fp=Object.prototype.hasOwnProperty;function Vp(e,t){var n=dp(e),a=!n&&wp(e),i=!n&&!a&&kp(e),r=!n&&!a&&!i&&Np(e),o=n||a||i||r,s=o?function(e,t){for(var n=-1,a=Array(e);++n0){if(++og>=800)return arguments[0]}else og=0;return rg.apply(void 0,arguments)});function lg(e,t){return cg(function(e,t,n){return t=tg(void 0===t?e.length-1:t,0),function(){for(var a=arguments,i=-1,r=tg(a.length-t,0),o=Array(r);++i1?n[i-1]:void 0,o=i>2?n[2]:void 0;for(r=e.length>3&&"function"==typeof r?(i--,r):void 0,o&&dg(n[0],n[1],o)&&(r=i<3?void 0:r,i=1),t=Object(t);++a-1}function Ng(e,t,n){for(var a=-1,i=null==e?0:e.length;++a=Vg){var l=t?null:Fg(e);if(l)return Zh(l);o=!1,i=Vh,c=new Nh}else c=t?[]:s;e:for(;++ae[0].toUpperCase()+e.substring(1))).join(" ")}function Ug(e,t,n){const a=e[t];return e.splice(t,1),e.splice(n,0,a),e}const Wg=e=>Array.isArray(e)?e:[e],Zg=e=>e instanceof Set?e:new Set(Wg(e));function Qg(e,t,n){return!function(e,t,n){var a=(n="function"==typeof n?n:void 0)?n(e,t):void 0;return void 0===a?bm(e,t,void 0,n):!!a}(e,t,n)}function Gg(e,t=console.warn){e instanceof zs&&e.context?t(e,e.context):t("object"==typeof e&&"message"in e?e.message:e)}const Yg=()=>window.matchMedia("(hover: hover) and (pointer: fine)").matches,Kg=(e,t)=>Wu(e,"yyyy-MM-dd HH:mm"+(t?":ss":"")),Xg=e=>Wu(e,"yyyy-MM-dd"),Jg=(e,t)=>{window.requestIdleCallback?window.requestIdleCallback(e,{...t&&{timeout:t}}):e()};function ef(e,t){const n=function(e,t,n){const a=ou(e,t)/Gd;return ru(n?.roundingMethod)(a)}(t,e),a=function(e,t,n){const a=ou(e,t)/Qd;return ru(n?.roundingMethod)(a)}(t,e)-60*n;let i="";return n&&(i+=`${n}h `),a&&(i+=`${a}m `),i+=`${su(t,e)-60*n*60-60*a}s`,i}const tf=async(e,t)=>await Promise.all(Array.from(e).map((e=>t(e)))),nf=e=>new Date(`${e}T00:00:00`),af=async e=>{await new Promise((t=>setTimeout(t,1e3*e)))},rf=e=>!isNaN(e.getTime()),of=(e,t,n,a)=>{t?e.setAttribute(n,a??""):e.removeAttribute(n)},sf=e=>!!e,cf=e=>e instanceof HTMLElement,lf=e=>(e instanceof HTMLSlotElement?e.assignedElements({flatten:!0}):[...e.children]).filter(cf),df=e=>e?.ratio&&2===e.ratio.length?`${e.ratio[0]} / ${e.ratio[1]}`:e?.defaultStatic?"16 / 9":"auto",uf=e=>({"aspect-ratio":df(e)}),hf=e=>{if(Array.isArray(e))return e.filter((e=>void 0!==e)).map((e=>hf(e)));if("object"==typeof e&&null!==e){const t={};for(const n in e)t[n]=hf(e[n]);return t}return e},pf=(e,t,n)=>Rg(e,n)===Rg(t,n);function mf(e){if(!e)return null;const t=Ic.safeParse(e);return t.success?t.data:null}function gf(e,t){return{action:"fire-dom-event",frigate_card_action:e,...t?.cardID&&{card_id:t.cardID}}}function ff(e,t,n){return{action:"fire-dom-event",frigate_card_action:e,camera:t,...n?.cardID&&{card_id:n.cardID}}}function _f(e,t,n){return{action:"fire-dom-event",frigate_card_action:"media_player",media_player:e,media_player_action:t,...n?.cardID&&{card_id:n.cardID}}}function vf(e){return{action:"fire-dom-event",frigate_card_action:"ptz_multi",...e?.cardID&&{card_id:e.cardID},...e?.ptzAction&&{ptz_action:e.ptzAction},...e?.ptzPhase&&{ptz_phase:e.ptzPhase},...e?.ptzPreset&&{ptz_preset:e.ptzPreset},...e?.targetID&&{target_id:e.targetID}}}function yf(e,t){return e&&t?"tap"===e&&t.tap_action?t.tap_action:"hold"===e&&t.hold_action?t.hold_action:"double_tap"===e&&t.double_tap_action?t.double_tap_action:"end_tap"===e&&t.end_tap_action?t.end_tap_action:"start_tap"===e&&t.start_tap_action?t.start_tap_action:null:null}const bf=e=>Wg(e).some((e=>function(e){return void 0!==e&&"none"!==e.action}(e))),wf=e=>{e.stopPropagation()};class xf{constructor(){this._timer=null,this._repeated=!1}stop(){this._timer&&(this._repeated?window.clearInterval(this._timer):window.clearTimeout(this._timer),this._timer=null)}isRunning(){return null!==this._timer}start(e,t){this.stop(),this._timer=window.setTimeout((()=>{this._timer=null,t()}),1e3*e),this._repeated=!1}startRepeated(e,t){this.stop(),this._timer=window.setInterval((()=>{t()}),1e3*e),this._repeated=!0}}class Cf extends HTMLElement{constructor(){super(...arguments),this.holdTime=.4,this.holdTimer=new xf,this.doubleClickTimer=new xf,this.held=!1,this.started=!1}connectedCallback(){["touchcancel","mouseout","mouseup","touchmove","mousewheel","wheel","scroll"].forEach((e=>{document.addEventListener(e,(()=>{this.holdTimer.stop()}),{passive:!0})}))}bind(e,t){if(e.actionHandlerOptions)return void(e.actionHandlerOptions=t);e.actionHandlerOptions=t,e.addEventListener("contextmenu",(e=>{const t=e||window.event;return t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.cancelBubble=!0,t.returnValue=!1,!1}));const n=()=>{this.held=!1,this.holdTimer.start(this.holdTime,(()=>{this.held=!0})),this.started||(this.started=!0,et(e,"action",{action:"start_tap"}))},a=t=>{this.holdTimer.stop(),this.started&&(this.started=!1,et(e,"action",{action:"end_tap"}))},i=t=>{const n=e.actionHandlerOptions;n?.allowPropagation||wf(t),["touchend","touchcancel"].includes(t.type)&&!this.held||(a(),n?.hasHold&&this.held?et(e,"action",{action:"hold"}):n?.hasDoubleClick?"click"===t.type&&t.detail<2||!this.doubleClickTimer.isRunning()?this.doubleClickTimer.start(.25,(()=>et(e,"action",{action:"tap"}))):(this.doubleClickTimer.stop(),et(e,"action",{action:"double_tap"})):et(e,"action",{action:"tap"}))};e.addEventListener("touchstart",n,{passive:!0}),e.addEventListener("touchend",i),e.addEventListener("touchcancel",i),e.addEventListener("mousedown",n,{passive:!0}),e.addEventListener("click",i),e.addEventListener("keyup",(e=>{"Enter"===e.key&&i(e)})),e.addEventListener("mouseleave",a)}}customElements.define("action-handler-frigate-card",Cf);const Mf=(e,t)=>{const n=(()=>{const e=document.body;if(e.querySelector("action-handler-frigate-card"))return e.querySelector("action-handler-frigate-card");const t=document.createElement("action-handler-frigate-card");return e.appendChild(t),t})();n&&n.bind(e,t)},kf=ge(class extends fe{update(e,[t]){return Mf(e.element,t),U}render(e){}});var Sf=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)lp(t,gp(e)),e=Pm(e);return t}:hp;function Ef(e){return up(e,Km,Sf)}var $f=Object.prototype.hasOwnProperty;var Af=/\w*$/;var zf=nh?nh.prototype:void 0,If=zf?zf.valueOf:void 0;var Tf="[object Boolean]",jf="[object Date]",Of="[object Map]",Df="[object Number]",Rf="[object RegExp]",Pf="[object Set]",Lf="[object String]",Nf="[object Symbol]",Ff="[object ArrayBuffer]",Vf="[object DataView]",Hf="[object Float32Array]",Bf="[object Float64Array]",qf="[object Int8Array]",Uf="[object Int16Array]",Wf="[object Int32Array]",Zf="[object Uint8Array]",Qf="[object Uint8ClampedArray]",Gf="[object Uint16Array]",Yf="[object Uint32Array]";function Kf(e,t,n){var a,i,r,o=e.constructor;switch(t){case Ff:return Tm(e);case Tf:case jf:return new o(+e);case Vf:return function(e,t){var n=t?Tm(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case Hf:case Bf:case qf:case Uf:case Wf:case Zf:case Qf:case Gf:case Yf:return jm(e,n);case Of:return new o;case Df:case Lf:return new o(e);case Rf:return(r=new(i=e).constructor(i.source,Af.exec(i))).lastIndex=i.lastIndex,r;case Pf:return new o;case Nf:return a=e,If?Object(If.call(a)):{}}}var Xf=Pp&&Pp.isMap,Jf=Xf?Tp(Xf):function(e){return fp(e)&&"[object Map]"==pm(e)};var e_=Pp&&Pp.isSet,t_=e_?Tp(e_):function(e){return fp(e)&&"[object Set]"==pm(e)},n_=1,a_=2,i_=4,r_="[object Arguments]",o_="[object Function]",s_="[object GeneratorFunction]",c_="[object Object]",l_={};function d_(e,t,n,a,i,r){var o,s=t&n_,c=t&a_,l=t&i_;if(n&&(o=i?n(e,a,i,r):n(e)),void 0!==o)return o;if(!hh(e))return e;var d=dp(e);if(d){if(o=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&$f.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!s)return Om(e,o)}else{var u=pm(e),h=u==o_||u==s_;if(kp(e))return Im(e,s);if(u==c_||u==r_||h&&!i){if(o=c||h?{}:Lm(e),!s)return c?function(e,t){return Qm(e,Sf(e),t)}(e,function(e,t){return e&&Qm(t,Km(t),e)}(o,e)):function(e,t){return Qm(e,gp(e),t)}(e,function(e,t){return e&&Qm(t,Qp(t),e)}(o,e))}else{if(!l_[u])return i?e:{};o=Kf(e,u,s)}}r||(r=new Lh);var p=r.get(e);if(p)return p;r.set(e,o),t_(e)?e.forEach((function(a){o.add(d_(a,t,n,a,e,r))})):Jf(e)&&e.forEach((function(a,i){o.set(i,d_(a,t,n,i,e,r))}));var m=d?void 0:(l?c?Ef:Gp:c?Km:Qp)(e);return function(e,t){for(var n=-1,a=null==e?0:e.length;++nvoid 0===globalThis.DOMException?new __(e):new DOMException(e),y_=e=>{const t=void 0===e.reason?v_("This operation was aborted."):e.reason;return t instanceof Error?t:v_(t)};class b_{#e=[];enqueue(e,t){const n={priority:(t={priority:0,...t}).priority,run:e};if(this.size&&this.#e[this.size-1].priority>=t.priority)return void this.#e.push(n);const a=function(e,t,n){let a=0,i=e.length;for(;i>0;){const r=Math.trunc(i/2);let o=a+r;n(e[o],t)<=0?(a=++o,i-=r+1):i=r}return a}(this.#e,n,((e,t)=>t.priority-e.priority));this.#e.splice(a,0,n)}dequeue(){const e=this.#e.shift();return e?.run}filter(e){return this.#e.filter((t=>t.priority===e.priority)).map((e=>e.run))}get size(){return this.#e.length}}class w_ extends g_{#t;#n;#a=0;#i;#r;#o=0;#s;#c;#e;#l;#d=0;#u;#h;#p;timeout;constructor(e){if(super(),!("number"==typeof(e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:b_,...e}).intervalCap&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(void 0===e.interval||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#t=e.carryoverConcurrencyCount,this.#n=e.intervalCap===Number.POSITIVE_INFINITY||0===e.interval,this.#i=e.intervalCap,this.#r=e.interval,this.#e=new e.queueClass,this.#l=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#p=!0===e.throwOnTimeout,this.#h=!1===e.autoStart}get#m(){return this.#n||this.#a{this.#v()}),t)),!0;this.#a=this.#t?this.#d:0}return!1}#_(){if(0===this.#e.size)return this.#s&&clearInterval(this.#s),this.#s=void 0,this.emit("empty"),0===this.#d&&this.emit("idle"),!1;if(!this.#h){const e=!this.#w;if(this.#m&&this.#g){const t=this.#e.dequeue();return!!t&&(this.emit("active"),t(),e&&this.#b(),!0)}}return!1}#b(){this.#n||void 0!==this.#s||(this.#s=setInterval((()=>{this.#y()}),this.#r),this.#o=Date.now()+this.#r)}#y(){0===this.#a&&0===this.#d&&this.#s&&(clearInterval(this.#s),this.#s=void 0),this.#a=this.#t?this.#d:0,this.#x()}#x(){for(;this.#_(););}get concurrency(){return this.#u}set concurrency(e){if(!("number"==typeof e&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#u=e,this.#x()}async#C(e){return new Promise(((t,n)=>{e.addEventListener("abort",(()=>{n(e.reason)}),{once:!0})}))}async add(e,t={}){return t={timeout:this.timeout,throwOnTimeout:this.#p,...t},new Promise(((n,a)=>{this.#e.enqueue((async()=>{this.#d++,this.#a++;try{t.signal?.throwIfAborted();let a=e({signal:t.signal});t.timeout&&(a=function(e,t){const{milliseconds:n,fallback:a,message:i,customTimers:r={setTimeout:setTimeout,clearTimeout:clearTimeout}}=t;let o;const s=new Promise(((s,c)=>{if("number"!=typeof n||1!==Math.sign(n))throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${n}\``);if(t.signal){const{signal:e}=t;e.aborted&&c(y_(e)),e.addEventListener("abort",(()=>{c(y_(e))}))}if(n===Number.POSITIVE_INFINITY)return void e.then(s,c);const l=new f_;o=r.setTimeout.call(void 0,(()=>{if(a)try{s(a())}catch(e){c(e)}else"function"==typeof e.cancel&&e.cancel(),!1===i?s():i instanceof Error?c(i):(l.message=i??`Promise timed out after ${n} milliseconds`,c(l))}),n),(async()=>{try{s(await e)}catch(e){c(e)}})()})),c=s.finally((()=>{c.clear()}));return c.clear=()=>{r.clearTimeout.call(void 0,o),o=void 0},c}(Promise.resolve(a),{milliseconds:t.timeout})),t.signal&&(a=Promise.race([a,this.#C(t.signal)]));const i=await a;n(i),this.emit("completed",i)}catch(e){if(e instanceof f_&&!t.throwOnTimeout)return void n();a(e),this.emit("error",e)}finally{this.#f()}}),t),this.emit("add"),this.#_()}))}async addAll(e,t){return Promise.all(e.map((async e=>this.add(e,t))))}start(){return this.#h?(this.#h=!1,this.#x(),this):this}pause(){this.#h=!0}clear(){this.#e=new this.#l}async onEmpty(){0!==this.#e.size&&await this.#M("empty")}async onSizeLessThan(e){this.#e.sizethis.#e.size{const a=()=>{t&&!t()||(this.off(e,a),n())};this.on(e,a)}))}get size(){return this.#e.size}sizeBy(e){return this.#e.filter(e).length}get pending(){return this.#d}get isPaused(){return this.#h}}var x_={frigate_card:"Frigate card",frigate_card_description:"A Lovelace card for use with Frigate",live:"Live",no_media:"No media to display",recordings:"Recordings",version:"Version"},C_={cameras:{camera_entity:"Camera Entity",capabilities:{capabilities:{clips:"Clips","favorite-events":"Favorite Events","favorite-recordings":"Favorite Recordings",live:"Live",menu:"Menu",ptz:"PTZ",recordings:"Recordings",seek:"Seeking",snapshots:"Snapshots",substream:"Substream"},disable:"Disable",disable_except:"Disable except",editor_label:"Camera capabilities"},cast:{dashboard:{dashboard_path:"Dashboard path",view_path:"View path"},editor_label:"Cast options",method:"Cast method",methods:{dashboard:"Dashboard",standard:"Standard"}},dependencies:{all_cameras:"Show events for all cameras with this camera",cameras:"Show events for specific cameras with this camera",editor_label:"Dependency options"},dimensions:{aspect_ratio:"Static aspect ratio",editor_label:"Camera dimensions",layout:{editor_label:"Camera Layout",fit:"Layout fit",fits:{contain:"Media is contained/letterboxed",cover:"Media expands proportionally to cover the card",fill:"Media is stretched to fill the card"},pan:{x:"Pan horizontal percentage",y:"Pan vertical percentage"},position:{editor_label:"Layout Cover Position",x:"Horizontal placement percentage",y:"Vertical placement percentage"},view_box:{bottom:"Bottom inset percentage",editor_label:"Layout View Box",left:"Left inset percentage",right:"Right inset percentage",top:"Top inset percentage"},zoom:"Zoom factor"}},engines:{editor_label:"Camera engine options"},frigate:{camera_name:"Frigate camera name (Autodetected from entity)",client_id:"Frigate client id (For >1 Frigate server)",editor_label:"Frigate options",labels:"Frigate labels/object filters",url:"Frigate server URL",zones:"Frigate zones"},go2rtc:{editor_label:"go2rtc Options",modes:{editor_label:"go2rtc Modes",mjpeg:"Motion JPEG (MJPEG)",mp4:"MPEG-4 (MP4)",mse:"Media Source Extensions (MSE)",webrtc:"Web Real-Time Communication (WebRTC)"},stream:"go2rtc stream name"},icon:"Icon for this camera (Autodetected from entity)",id:"Unique id for this camera in this card",image:{editor_label:"Image Options",refresh_seconds:"Number of seconds after which to refresh live image (0=never)",url:"Image URL to use instead of camera entity snapshot"},live_provider:"Live view provider for this camera",live_provider_options:{editor_label:"Live provider options"},live_providers:{auto:"Automatic",go2rtc:"go2rtc",ha:"Home Assistant video stream (i.e. HLS, LL-HLS, WebRTC via HA)",image:"Home Assistant images",jsmpeg:"JSMpeg","webrtc-card":"WebRTC Card (i.e. AlexxIT's WebRTC Card)"},motioneye:{editor_label:"MotionEye options",images:{directory_pattern:"Images directory pattern",file_pattern:"Images file pattern"},movies:{directory_pattern:"Movies directory pattern",file_pattern:"Movies file pattern"},url:"MotionEye UI URL"},proxy:{dynamic:"Dynamic proxying",editor_label:"Camera proxying",media:{auto:"Media proxying automatically configured",editor_label:"Media proxying",false:"Media proxying disabled",true:"Media proxying enabled"},ssl_ciphers:{auto:"SSL ciphers automatically configured",default:"Default SSL ciphers",editor_label:"SSL ciphers",insecure:"Insecure SSL ciphers",intermediate:"Intermediate SSL ciphers",modern:"Modern SSL ciphers"},ssl_verification:{auto:"SSL verification automatically configured",editor_label:"SSL verification",false:"SSL verification disabled",true:"SSL verification enabled"}},reolink:{editor_label:"Reolink options",media_resolution:{editor_label:"Media Resolution",high:"High Resolution",low:"Low Resolution"},url:"Reolink UI URL"},title:"Title for this camera (Autodetected from entity)",triggers:{editor_label:"Trigger options",entities:"Trigger from other entities",events:{clips:"Events with new clips",editor_label:"Trigger Events",events:"All events",snapshots:"Events with new snapshots"},motion:"Trigger by auto-detecting the motion sensor",occupancy:"Trigger by auto-detecting the occupancy sensor"},webrtc_card:{editor_label:"WebRTC Card Options",entity:"WebRTC Card Camera Entity (Not a Frigate camera)",url:"WebRTC Card Camera URL"}},common:{controls:{builtin:"Built-in video controls",filter:{editor_label:"Media Filter",mode:"Filter mode",modes:{left:"Media filter in a drawer to the left",none:"No media filter",right:"Media filter in a drawer to the right"}},next_previous:{editor_label:"Next & Previous",size:"Next & previous control size in pixels",style:"Next & previous control style",styles:{chevrons:"Chevrons",icons:"Icons",none:"None",thumbnails:"Thumbnails"}},thumbnails:{editor_label:"Thumbnails",events_media_type:"Whether to show event thumbnails of clips or snapshots",events_media_types:{clips:"Clip thumbnails",snapshots:"Snapshot thumbnails"},media_type:"Whether to show thumnails of events or recordings",media_types:{events:"Events",recordings:"Recordings"},mode:"Thumbnails mode",modes:{above:"Thumbnails above",below:"Thumbnails below",left:"Thumbnails in a drawer to the left",none:"No thumbnails",right:"Thumbnails in a drawer to the right"},show_details:"Show details with thumbnails",show_download_control:"Show download control on thumbnails",show_favorite_control:"Show favorite control on thumbnails",show_timeline_control:"Show timeline control on thumbnails",size:"Thumbnails size in pixels"},timeline:{editor_label:"Mini Timeline",mode:"Mode",modes:{above:"Above",below:"Below",none:"None"},pan_mode:"Default pan mode",pan_modes:{pan:"Pan",seek:"Pan seeks across all media","seek-in-camera":"Pan seeks within selected camera only","seek-in-media":"Pan seeks within selected media item only"}}},display:{editor_label:"Display",grid_columns:"Exact number of grid columns",grid_max_columns:"Maximum number of grid columns",grid_selected_width_factor:"Increase selected media width by this factor",mode:"Mode"},image:{entity:"Entity for use with entity mode",entity_parameters:"Query parameters added to the entity-based picture URLs (e.g. width=1920&height=1080)",mode:"Image mode",modes:{camera:"Home Assistant camera snapshot of camera entity",entity:"Entity with entity_picture attribute",screensaver:"Embedded Frigate logo",url:"Arbitrary image specified by URL"},refresh_seconds:"Number of seconds after which to refresh (0=never)",url:"Static image URL"},media_action_conditions:{all:"All opportunities",hidden:"On browser/tab hiding",microphone_mute:"On microphone mute",microphone_unmute:"On microphone unmute",never:"Never",selected:"On selection",unselected:"On unselection",visible:"On browser/tab visibility"},timeline:{clustering_threshold:"The count of events at which they are clustered (0=no clustering)",events_media_type:"The events media the timeline displays",events_media_types:{all:"All event media types",clips:"Clips",snapshots:"Snapshots"},show_recordings:"Show recordings",style:"Timeline style",styles:{ribbon:"Events on a single ribbon",stack:"Stacked & clustered events"},window_seconds:"The default length of the timeline view in seconds"}},dimensions:{aspect_ratio:"Default aspect ratio (e.g. '16:9')",aspect_ratio_mode:"Aspect ratio mode",aspect_ratio_modes:{dynamic:"Aspect ratio adjusts to media",static:"Static aspect ratio",unconstrained:"Unconstrained aspect ratio"},height:"Card height in CSS units (e.g. '500px')"},live:{auto_mute:"Automatically mute live cameras",auto_pause:"Automatically pause live cameras",auto_play:"Automatically play live cameras",auto_unmute:"Automatically unmute live cameras",controls:{editor_label:"Live Controls",ptz:{editor_label:"PTZ",hide_home:"Hide home control",hide_pan_tilt:"Hide pan & tilt control",hide_zoom:"Hide zoom control",mode:"Mode",modes:{off:"Off",on:"On"},orientation:"Orientation",orientations:{horizontal:"Horizontal",vertical:"Vertical"},position:"Position",positions:{"bottom-left":"Bottom left","bottom-right":"Bottom right","top-left":"Top left","top-right":"Top right"}}},draggable:"Live cameras view can be dragged/swiped",lazy_load:"Live cameras are lazily loaded",lazy_unload:"Live cameras are lazily unloaded",microphone:{always_connected:"Always keep the microphone connected",disconnect_seconds:"Seconds after which to disconnect microphone (0=never)",editor_label:"Microphone",enabled:"Microphone enabled",mute_after_microphone_mute_seconds:"Seconds after microphone mute to mute inbound audio"},preload:"Preload live view in the background",show_image_during_load:"Show still image while the live stream is loading",transition_effect:"Live camera transition effect",zoomable:"Live cameras can be zoomed/panned"},media_viewer:{auto_mute:"Automatically mute media",auto_pause:"Automatically pause media",auto_play:"Automatically play media",auto_unmute:"Automatically unmute media",controls:{editor_label:"Media Viewer Controls"},draggable:"Media Viewer can be dragged/swiped",lazy_load:"Media Viewer media is lazily loaded in carousel",snapshot_click_plays_clip:"Clicking on a snapshot plays a related clip",transition_effect:"Media Viewer transition effect",transition_effects:{none:"No transition",slide:"Slide transition"},zoomable:"Media Viewer can be zoomed/panned"},menu:{alignment:"Menu alignment",alignments:{bottom:"Aligned to the bottom",left:"Aligned to the left",right:"Aligned to the right",top:"Aligned to the top"},button_size:"Menu button size in pixels",buttons:{alignment:"Button alignment",alignments:{matching:"Matching the menu alignment",opposing:"Opposing the menu alignment"},camera_ui:"Camera user interface",cameras:"Cameras",clips:"Clips",display_mode:"Display mode",download:"Download",enabled:"Button enabled",expand:"Expand",frigate:"Frigate menu / Default view",fullscreen:"Fullscreen",icon:"Icon",image:"Image",live:"Live",media_player:"Send to media player",microphone:"Microphone",mute:"Mute / Unmute",permanent:"Show when the menu is hidden",play:"Play / Pause",priority:"Priority",ptz_controls:"Show PTZ controls",ptz_home:"PTZ Home",recordings:"Recordings",screenshot:"Screenshot",snapshots:"Snapshots",substreams:"Substream(s)",timeline:"Timeline",type:"Button type",types:{momentary:"Momentary",toggle:"Toggle"}},position:"Menu position",positions:{bottom:"Positioned on the bottom",left:"Positioned on the left",right:"Positioned on the right",top:"Positioned on the top"},style:"Menu style",styles:{hidden:"Hidden menu",hover:"Hover menu","hover-card":"Hover menu (card-wide)",none:"No menu",outside:"Outside menu",overlay:"Overlay menu"}},overrides:{info:"This card configuration has manually specified overrides configured which may override values shown in the visual editor, please consult the code editor to view/modify these overrides"},performance:{features:{animated_progress_indicator:"Animated Progress Indicator",editor_label:"Feature Options",max_simultaneous_engine_requests:"Max simultaneous camera engine requests",media_chunk_size:"Media chunk size"},style:{border_radius:"Curves",box_shadow:"Shadows",editor_label:"Style Options"},warning:"This card is in low profile mode so defaults have changed to optimize performance"},profiles:{casting:"Casting",editor_label:"Configuration profiles","low-performance":"Low performance",scrubbing:"Video scrubbing"},status_bar:{height:"Status bar height in pixels",items:{enabled:"Item enabled",engine:"Camera engine",live_provider:"Live provider",priority:"Item priority",resolution:"Resolution",technology:"Technology",title:"Title"},popup_seconds:"Status bar popup seconds",position:"Status bar position",positions:{bottom:"Positioned on the bottom",top:"Positioned on the top"},style:"Status bar style",styles:{hover:"Hover status bar","hover-card":"Hover status bar (card-wide)",none:"No status bar",outside:"Outside status bar",overlay:"Overlay status bar",popup:"Popup status bar"}},view:{camera_select:"View for newly selected cameras",dark_mode:"Dark mode",dark_modes:{auto:"Auto",off:"Off",on:"On"},default:"Default view",default_cycle_camera:"Cycle through cameras when default view updates",default_reset:{after_interaction:"Reset to the default view after user interaction ends",editor_label:"Default view reset behavior",entities:"Reset to the default view on entity state change",every_seconds:"Reset to default view every X seconds (0=never)",interaction_mode:"How default reset behaves when the card has human interaction",interaction_modes:{active:"Only allow reset when card has active human interaction",all:"Reset regardless of human interaction",inactive:"Only reset when card has no human interaction"}},interaction_seconds:"Seconds after user action to remain interacted with (0=never)",keyboard_shortcuts:{editor_label:"Keyboard shortcuts",enabled:"Keyboard shortcuts enabled",ptz_down:"PTZ Down",ptz_home:"PTZ Home",ptz_left:"PTZ Left",ptz_right:"PTZ Right",ptz_up:"PTZ Up",ptz_zoom_in:"PTZ Zoom In",ptz_zoom_out:"PTZ Zoom Out"},triggers:{actions:{editor_label:"Trigger actions",interaction_mode:"How to handle actions when the card has human interaction",interaction_modes:{active:"Only trigger actions when card has human interaction",all:"Trigger actions regardless of human interaction",inactive:"Only trigger actions when card has no human interaction"},trigger:"Trigger action",triggers:{default:"Change to or update default view",live:"Change to or update live view",media:"Change to the relevant media view for new media",none:"No action"},untrigger:"Untrigger action",untriggers:{default:"Change to default view/camera",none:"No action"}},editor_label:"Trigger behavior",filter_selected_camera:"Only trigger on selected camera",show_trigger_status:"Show pulsing border when triggered",untrigger_seconds:"Seconds after inactive state change to untrigger"},views:{clip:"Most recent clip",clips:"Clips gallery",current:"Current view",image:"Static image",live:"Live view",recording:"Most recent recording",recordings:"Recordings gallery",snapshot:"Most recent snapshot",snapshots:"Snapshots gallery",timeline:"Timeline view"}}},M_={grid:"Show media viewer for each camera in a grid",single:"Show single media viewer"},k_={add_new_camera:"Add new camera",button:"Button",camera:"Camera",cameras:"Cameras",cameras_secondary:"What cameras to render on this card",delete:"Delete",dimensions:"Card dimensions",dimensions_secondary:"Card dimensions & shape options",image:"Image",image_secondary:"Static image view options",live:"Live",live_secondary:"Live camera view options",media_gallery:"Media gallery",media_gallery_secondary:"Media gallery options",media_viewer:"Media viewer",media_viewer_secondary:"Viewer for static media (clips, snapshots or recordings)",menu:"Menu",menu_secondary:"Menu look & feel options",move_down:"Move down",move_up:"Move up",overrides:"Overrides are active",overrides_secondary:"Dynamic configuration overrides detected",performance:"Performance",performance_secondary:"Card performance options",profiles:"Configuration profiles",profiles_secondary:"Choose pre-configured sets of defaults",status_bar:"Status bar",status_bar_secondary:"Status bar look & feel options",timeline:"Timeline",timeline_secondary:"Event timeline options",upgrade:"Upgrade",upgrade_available:"An automatic card configuration upgrade is available",view:"View",view_secondary:"What the card should show and how to show it"},S_={ptz:{down:"Down",home:"Home",left:"Left",right:"Right",up:"Up",zoom_in:"Zoom In",zoom_out:"Zoom Out"}},E_={awaiting_live:"Waiting for live stream to load ...",awaiting_media:"Waiting for media to load",camera_initialization:"Camera initialization failed",camera_initialization_reolink:"Could not initialize Reolink camera",could_not_render_elements:"Could not render picture elements",could_not_resolve:"Could not resolve media URL",diagnostics:"Card diagnostics. Please review for confidential information prior to sharing",download_no_media:"No media to download",download_sign_failed:"Could not sign media URL for download",duplicate_camera_id:"Duplicate Frigate camera id for the following camera, use the 'id' parameter to uniquely identify cameras",empty_response:"Received empty response from Home Assistant for request",failed_response:"Failed to receive response from Home Assistant for request",failed_retain:"Could not retain event",failed_sign:"Could not sign Home Assistant URL",image_load_error:"The image could not be loaded",invalid_configuration:"Invalid configuration",invalid_configuration_no_hint:"No location hint available (bad or missing type?)",invalid_configuration_override:"Invalid override configuration",invalid_elements_config:"Invalid picture elements configuration",invalid_response:"Received invalid response from Home Assistant for request",jsmpeg_no_player:"Could not start JSMPEG player",live_camera_no_endpoint:"Could not get camera endpoint for this live provider (incomplete configuration?)",live_camera_not_found:"The configured camera_entity was not found",live_camera_unavailable:"Camera unavailable",no_camera_engine:"Could not determine suitable engine for camera",no_camera_entity:"Could not find camera entity",no_camera_entity_for_triggers:"A camera entity is required in order to autodetect triggers",no_camera_id:"Could not determine camera id for the following camera, may need to set 'id' parameter manually",no_camera_name:"Could not determine a Frigate camera name for camera (or one of its dependents), please specify either 'camera_entity' or 'camera_name'",no_dashboard_or_view:"Both 'dashboard_path' and 'view_path' parameters are required for the 'dashboard' cast method",no_live_camera:"The camera_entity parameter must be set and valid for this live provider",no_supported_camera:"The selected camera does not support this view",no_supported_cameras:"No cameras support this view",reconnecting:"Reconnecting",too_many_automations:"Too many nested automation calls, please check your configuration for loops",troubleshooting:"Check troubleshooting",unknown:"Unknown error",upgrade_available:"An automated card configuration upgrade is available, please visit the visual card editor",webrtc_card_reported_error:"WebRTC Card reported an error",webrtc_card_waiting:"Waiting for WebRTC Card to load ..."},$_={camera:"Camera",duration:"Duration",in_progress:"In Progress",score:"Score",seek:"Seek",start:"Start",tag:"Tag",what:"What",where:"Where"},A_={assign:"Assign",assigning:"Assigning",modifiers:{alt:"Alt",ctrl:"Ctrl",meta:"Meta",shift:"Shift"},unassign:"Unassign"},z_={all:"All",camera:"Camera",favorite:"Favorite",media_type:"Media Type",media_types:{clips:"Clips",recordings:"Recordings",snapshots:"Snapshots"},not_favorite:"Not Favorite",select_camera:"Select camera...",select_favorite:"Select favorite...",select_media_type:"Select media type...",select_tag:"Select tag...",select_what:"Select what...",select_when:"Select when...",select_where:"Select where...",tag:"Tag",what:"What",when:"When",whens:{custom:"Custom",past_month:"Past Month",past_week:"Past Week",today:"Today",yesterday:"Yesterday"},where:"Where"},I_={unseekable:"Seek time not found in media"},T_={camera:"Camera",duration:"Duration",events:"Events",in_progress:"In Progress",seek:"Seek",start:"Start"},j_={download:"Download media",no_thumbnail:"No thumbnail available",retain_indefinitely:"Media will be indefinitely retained",timeline:"See media in timeline"},O_={select_date:"Choose date"},D_={common:x_,config:C_,display_modes:M_,editor:k_,elements:S_,error:E_,event:$_,key_assigner:A_,media_filter:z_,media_viewer:I_,recording:T_,thumbnail:j_,timeline:O_},R_=Object.freeze({__proto__:null,common:x_,config:C_,default:D_,display_modes:M_,editor:k_,elements:S_,error:E_,event:$_,key_assigner:A_,media_filter:z_,media_viewer:I_,recording:T_,thumbnail:j_,timeline:O_});const P_="en",L_={[P_]:R_};let N_;function F_(e){const t=e=>e.replace("-","_"),n=e?.language??e?.selectedLanguage;if(n)return t(n);const a=localStorage.getItem("selectedLanguage");if(a){const e=JSON.parse(a);if(e)return t(e)}for(const e of navigator.languages){const n=t(e);if(n&&n in L_)return n}return P_}function V_(e,t="",n=""){let a="";try{a=e.split(".").reduce(((e,t)=>e[t]),L_[N_??P_])}catch(e){}return a||(a=e.split(".").reduce(((e,t)=>e[t]),L_[P_])),""!==t&&""!==n&&(a=a.replace(t,n)),a}function H_(e){return"string"==typeof e?.id&&e.id||"string"==typeof e?.camera_entity&&e.camera_entity||"object"==typeof e?.webrtc_card&&e.webrtc_card&&("string"==typeof e.webrtc_card.entity&&e.webrtc_card.entity||"string"==typeof e.webrtc_card.url&&e.webrtc_card.url)||"object"==typeof e?.go2rtc&&e.go2rtc&&"string"==typeof e.go2rtc.url&&"string"==typeof e.go2rtc.stream&&`${e.go2rtc.url}#${e.go2rtc.stream}`||"object"==typeof e?.frigate&&e.frigate&&"string"==typeof e?.frigate.camera_name&&e.frigate.camera_name||""}const B_=(e,...t)=>{e?.debug?.logging&&console.debug(...t)},q_=(e,t,n)=>"preset"===t?(n?.preset?e.ptz.presets?.[n.preset]:null)??null:n?.phase?e.ptz[`actions_${t}_${n.phase}`]??null:e.ptz[`actions_${t}`]??null,U_=(e,t,n)=>!!q_(e,t,n),W_=(e,t)=>{const n=U_(e,t,{phase:"start"})&&U_(e,t,{phase:"stop"}),a=U_(e,t);return n||a?[...n?["continuous"]:[],...a?["relative"]:[]]:null},Z_=e=>{const t=W_(e,"left"),n=W_(e,"right"),a=W_(e,"up"),i=W_(e,"down"),r=W_(e,"zoom_in"),o=W_(e,"zoom_out"),s=e.ptz.presets?Object.keys(e.ptz.presets):void 0;return t?.length||n?.length||a?.length||i?.length||r?.length||o?.length||s?.length?{...t?{left:t}:{},...n?{right:n}:{},...a?{up:a}:{},...i?{down:i}:{},...r?{zoomIn:r}:{},...o?{zoomOut:o}:{},...s?{presets:s}:{}}:null};class Q_{constructor(e,t){this._capabilities=e;for(const e of t?.disable??[])this._disable(e);for(const e of Ts)t?.disableExcept?.length&&!t.disableExcept.includes(e)&&this._disable(e)}_disable(e){delete this._capabilities[e]}matches(e){let t=!0;return"string"==typeof e&&(t&&=this.has(e)),"object"==typeof e&&e.allCapabilities&&(t&&=e.allCapabilities.every((e=>this.has(e)))),"object"==typeof e&&e.anyCapabilities&&(t&&=e.anyCapabilities.some((e=>this.has(e)))),t}has(e){return!!this._capabilities[e]}getPTZCapabilities(){return this._capabilities.ptz??null}hasPTZCapability(){return!!(this._capabilities.ptz?.down?.length||this._capabilities.ptz?.up?.length||this._capabilities.ptz?.left?.length||this._capabilities.ptz?.right?.length||this._capabilities.ptz?.zoomIn?.length||this._capabilities.ptz?.zoomOut?.length||this._capabilities.ptz?.presets?.length)}getRawCapabilities(){return this._capabilities}}function G_(e,t,n){var a=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(n=n>i?i:n)<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var r=Array(i);++at||r&&o&&c&&!s&&!l||a&&o&&c||!n&&c||!i)return 1;if(!a&&!r&&!l&&e=s?c:c*("desc"==n[a]?-1:1)}return e.index-t.index}(e,t,n)}))}function Ev(e,t,n,a){return null==e?[]:(dp(t)||(t=null==t?[]:[t]),dp(n=a?void 0:n)||(n=null==n?[]:[n]),Sv(e,t,n))}async function $v(e,t,n,a=!1){let i;try{i=await e.callWS(n)}catch(e){if(!(e instanceof Error))throw new zs(V_("error.failed_response"),{request:n,response:e});throw e}if(!i)throw new zs(V_("error.empty_response"),{request:n});const r=a?t.safeParse(JSON.parse(i)):t.safeParse(i);if(!r.success)throw new zs(V_("error.invalid_response"),{request:n,response:i,invalid_keys:Rs(r.error)});return r.data}const Av=ba.lazy((()=>ba.object({title:ba.string(),media_class:ba.string(),media_content_type:ba.string(),media_content_id:ba.string(),can_play:ba.boolean(),can_expand:ba.boolean(),children_media_class:ba.string().nullable().optional(),thumbnail:ba.string().nullable(),children:ba.array(Av).nullable().optional()}))),zv="video",Iv="image",Tv=60,jv=e=>Ev(e,(e=>e._metadata?.startDate),"desc");class Ov{async walkBrowseMedias(e,t,n){return t&&t.length?(await tf(t,(async t=>await this._walkBrowseMedia(e,t,n)))).flat():[]}async _walkBrowseMedia(e,t,n){let a=[];for(const i of function(e,t,n){t=(n?dg(e,t,n):void 0===t)?1:K_(Sg(t),0);var a=null==e?0:e.length;if(!a||t<1)return[];for(var i=0,r=0,o=Array(Y_(a/t));iawait this._browseMedia(e,a,{cache:n?.cache,metadataGenerator:t.metadataGenerator})));for(const e of r)for(const n of e.children??[])t.matcher(n)&&a.push(n);if(t.sorter&&(a=t.sorter(a)),t.earlyExit&&t.earlyExit(a))break}const i=t.advance?t.advance(a):null;return i?.length?await this.walkBrowseMedias(e,i,n):a}async _browseMedia(e,t,n){const a="object"==typeof t?t.media_content_id:t,i=n?.cache?n.cache.get(a):null;if(i)return i;const r={type:"media_source/browse_media",media_content_id:a},o=await $v(e,Av,r);if(n?.metadataGenerator)for(const e of o.children??[])e._metadata=n.metadataGenerator(e,"object"==typeof t?t:void 0)??void 0;return n?.cache&&n.cache.set(a,o,Ud(new Date,{seconds:60})),o}}function Dv(e,t){return bm(e,t)}function Rv(e,t){return e&&e.length?function(e,t){for(var n=-1,a=e.length,i=0,r=[];++nNv(t,e)))}add(e){this._ranges.push(e),this._ranges=Vv(this._ranges)}clear(){this._ranges=[]}}class Lv{constructor(e){this._ranges=e??[]}hasCoverage(e){const t=new Date;return this._ranges.some((n=>tet.start>=e.start&&t.end<=e.end,Fv=(e,t)=>e.start>=t.start&&e.start<=t.end||e.end>=t.start&&e.end<=t.end||e.start<=t.start&&e.end>=t.end,Vv=(e,t=0)=>{const n=[];e=Ev(e,(e=>e.start),"asc");let a=null;for(const i of e){const e=i.start instanceof Date?i.start.getTime():i.start;if(!a){a={...i};continue}(a.end instanceof Date?a.end.getTime():a.end)+1e3*t>=e?i.end>a.end&&(a.end=i.end):(n.push(a),a={...i})}return a&&n.push(a),n};class Hv{constructor(){this._data=[]}get(e){const t=new Date;for(const n of this._data)if((!n.expires||t<=n.expires)&&this._contains(e,n.request))return n.response;return null}clear(){this._data=[]}has(e){return!!this.get(e)}set(e,t,n){this._data.push({request:e,response:t,expires:n}),this._expireOldRequests()}_contains(e,t){return Dv(e,t)}_expireOldRequests(){const e=new Date;this._data=this._data.filter((t=>!t.expires||e=e.start.getTime()){if(a>e.end.getTime())break;t.push(n)}}return t}getSize(){return this._data.length}expireMatches(e){this._data=this._data.filter((t=>!e(t)))}}class Uv{constructor(){this._segments=new Map}add(e,t,n){let a=this._segments.get(e);a||(a=new qv((e=>1e3*e.start_time),(e=>e.id)),this._segments.set(e,a)),a.add(t,n)}clear(){this._segments.clear()}hasCoverage(e,t){return!!this._segments.get(e)?.hasCoverage(t)}get(e,t){return this._segments.get(e)?.get(t)??null}getSize(e){return this._segments.get(e)?.getSize()??null}getCameraIDs(){return[...this._segments.keys()]}expireMatches(e,t){this._segments.get(e)?.expireMatches(t)}}class Wv extends zs{}class Zv extends zs{}var Qv,Gv,Yv;!function(e){e.Event="event-query",e.Recording="recording-query",e.RecordingSegments="recording-segments-query",e.MediaMetadata="media-metadata"}(Qv||(Qv={})),function(e){e.Event="event-results",e.Recording="recording-results",e.RecordingSegments="recording-segments-results",e.MediaMetadata="media-metadata-results"}(Gv||(Gv={})),function(e){e.Frigate="frigate",e.Generic="generic",e.MotionEye="motioneye",e.Reolink="reolink"}(Yv||(Yv={}));const Kv=e=>e.camera_entity??e.webrtc_card?.entity??null;class Xv{constructor(e){this._entityRegistryManager=e}async createEngine(e,t){let n;switch(e){case Yv.Generic:const{GenericCameraManagerEngine:e}=await import("./engine-generic-458c9005.js").then((function(e){return e.e}));n=new e(t.stateWatcher,t.eventCallback);break;case Yv.Frigate:const{FrigateCameraManagerEngine:a}=await import("./engine-frigate-7cd5392b.js");n=new a(this._entityRegistryManager,t.stateWatcher,new Uv,new Bv,t.eventCallback);break;case Yv.MotionEye:const{MotionEyeCameraManagerEngine:i}=await import("./engine-motioneye-3521f17f.js");n=new i(this._entityRegistryManager,t.stateWatcher,new Ov,t.resolvedMediaCache,new Bv,t.eventCallback);break;case Yv.Reolink:const{ReolinkCameraManagerEngine:r}=await import("./engine-reolink-c0a1587c.js");n=new r(this._entityRegistryManager,t.stateWatcher,new Ov,t.resolvedMediaCache,new Bv,t.eventCallback)}return n}async getEngineForCamera(e,t){let n=null;if("frigate"===t.engine)n=Yv.Frigate;else if("motioneye"===t.engine)n=Yv.MotionEye;else if("generic"===t.engine)n=Yv.Generic;else if("reolink"===t.engine)n=Yv.Reolink;else{const a=Kv(t);if(a){const i=await this._entityRegistryManager.getEntity(e,a);if(!i){if(e.states[a])return Yv.Generic;throw new Wv(V_("error.no_camera_entity"),t)}switch(i?.platform){case"frigate":n=Yv.Frigate;break;case"motioneye":n=Yv.MotionEye;break;case"reolink":n=Yv.Reolink;break;default:n=Yv.Generic}}else t.frigate.camera_name?n=Yv.Frigate:(t.webrtc_card?.url||t.go2rtc?.url&&t.go2rtc?.stream)&&(n=Yv.Generic)}return n}}class Jv{constructor(){this._cameras=new Map,this._enginesByType=new Map}addCamera(e){this._cameras.set(e.getID(),e),this._enginesByType.set(e.getEngine().getEngineType(),e.getEngine())}async setCameras(e){for(const t of e){const e=this._cameras.get(t.getID());e!==t&&(this.addCamera(t),await(e?.destroy()))}for(const t of this._cameras.values())e.includes(t)||(await t.destroy(),this._cameras.delete(t.getID()))}async reset(){await tf(this._cameras.values(),(e=>e.destroy())),this._cameras.clear(),this._enginesByType.clear()}getCamera(e){return this._cameras.get(e)??null}getCameras(){return this._cameras}getCameraConfig(e){return this._cameras.get(e)?.getConfig()??null}hasCameraID(e){return this._cameras.has(e)}getCameraCount(){return this._cameras.size}getDefaultCameraID(){return this._cameras.keys().next().value??null}*getCameraConfigs(e){for(const[t,n]of this.getCameraConfigEntries(e))yield n}*getCameraConfigEntries(e){for(const t of e??this._cameras.keys()){const e=this.getCameraConfig(t);e&&(yield[t,e])}}getCameraIDs(){return new Set(this._cameras.keys())}getCameraIDsWithCapability(e){const t=new Set;for(const n of this._cameras.values())n.getCapabilities()?.matches(e)&&t.add(n.getID());return t}getCameraConfigForMedia(e){return this.getCameraConfig(e.getCameraID())}getEngineOfType(e){return this._enginesByType.get(e)??null}getEngineForCameraID(e){return this._cameras.get(e)?.getEngine()??null}getEnginesForCameraIDs(e){const t=new Map;for(const n of e){const e=this.getEngineForCameraID(n);e&&(t.has(e)||t.set(e,new Set),t.get(e)?.add(n))}return t.size?t:null}getEngineForMedia(e){return this.getEngineForCameraID(e.getCameraID())}getAllDependentCameras(e,t){const n=new Set,a=new Set,i=e=>{n.add(e);const r=this.getCamera(e),o=r?.getConfig();if(r&&o){t&&!r.getCapabilities()?.matches(t)||a.add(e);const s=new Set;o.dependencies.cameras.forEach((e=>s.add(e))),o.dependencies.all_cameras&&this.getCameraIDs().forEach((e=>s.add(e)));for(const e of s)n.has(e)||i(e)}};return i(e),a}}const ey=e=>{return Ev((n=e=>e.getID()??e,(t=e)&&t.length?Hg(t,xv(n)):[]),(e=>e.getStartTime()??e.getID()),"asc");var t,n};class ty{static isEventQuery(e){return e.type===Qv.Event}static isRecordingQuery(e){return e.type===Qv.Recording}static isRecordingSegmentsQuery(e){return e.type===Qv.RecordingSegments}static isMediaMetadataQuery(e){return e.type===Qv.MediaMetadata}}class ny{static isEventQueryResult(e){return e.type===Gv.Event}static isRecordingQueryResult(e){return e.type===Gv.Recording}static isRecordingSegmentsQueryResult(e){return e.type===Gv.RecordingSegments}static isMediaMetadataQueryResult(e){return e.type===Gv.MediaMetadata}}class ay{constructor(e,t){this._requestLimit=new w_,this._api=e,this._engineFactory=t?.factory??new Xv(this._api.getEntityRegistryManager()),this._store=t?.store??new Jv}async initializeCamerasFromConfig(){const e=this._api.getConfigManager().getConfig(),t=this._api.getHASSManager().getHASS();if(!e||!t)return!1;this._requestLimit.concurrency=e.performance.features.max_simultaneous_engine_requests??1/0;const n=e.cameras.map((t=>{return n={},a=u_(e?.cameras_global),hg(n,a,t,((e,t)=>Array.isArray(t)?t:void 0));var n,a}));try{await this._initializeCameras(n)}catch(e){return this._api.getMessageManager().setErrorIfHigherPriority(e,V_("error.camera_initialization")),!1}return!0}async reset(){await this._store.reset()}async _getEnginesForCameras(e){const t=new Map,n=new Map,a=this._api.getHASSManager().getHASS(); -/* istanbul ignore if: the if path cannot be reached -- @preserve */ -if(!a)return t;const i=await(async e=>await tf(e,(e=>this._engineFactory.getEngineForCamera(a,e))))(e);for(const[a,r]of e.entries()){const e=i[a],o=e?n.get(e)??await this._engineFactory.createEngine(e,{eventCallback:e=>this._api.getTriggersManager().handleCameraEvent(e),stateWatcher:this._api.getHASSManager().getStateWatcher(),resolvedMediaCache:this._api.getResolvedMediaCache()}):null;if(!o||!e)throw new Wv(V_("error.no_camera_engine"),u_(r));n.set(e,o),t.set(r,o)}return t}async _initializeCameras(e){const t=new Date,n=this._api.getHASSManager().getHASS(); -/* istanbul ignore if: the if path cannot be reached -- @preserve */ -if(!n)return;e.some((e=>(e=>e.triggers.motion||e.triggers.occupancy)(e)))&&await this._api.getEntityRegistryManager().fetchEntityList(n);const a=await this._getEnginesForCameras(e),i=await tf(a.entries(),(async([e,t])=>await t.createCamera(n,e))),r=async()=>{i.forEach((e=>e.destroy()))},o=new Set;for(const e of i){const t=H_(e.getConfig());if(!t)throw await r(),new Wv(V_("error.no_camera_id"),e.getConfig());if(o.has(t))throw await r(),new Wv(V_("error.duplicate_camera_id"),e.getConfig());e.setID(t),o.add(t)}await this._store.setCameras(i),B_(this._api.getConfigManager().getCardWideConfig(),"Frigate Card CameraManager initialized (Cameras: ",this._store.getCameras(),`, Duration: ${((new Date).getTime()-t.getTime())/1e3}s,`,")")}isInitialized(){return this._store.getCameraCount()>0}getStore(){return this._store}generateDefaultEventQueries(e,t){return this._generateDefaultQueries(e,{type:Qv.Event,...t})}generateDefaultRecordingQueries(e,t){return this._generateDefaultQueries(e,{type:Qv.Recording,...t})}generateDefaultRecordingSegmentsQueries(e,t){return this._generateDefaultQueries(e,{type:Qv.RecordingSegments,...t})}_generateDefaultQueries(e,t){const n=[],a=Zg(e),i=this._store.getEnginesForCameraIDs(a);if(!i)return null;for(const[e,a]of i){let i=null; -/* istanbul ignore else: the else path cannot be reached -- @preserve */ty.isEventQuery(t)?i=e.generateDefaultEventQuery(this._store,a,t):ty.isRecordingQuery(t)?i=e.generateDefaultRecordingQuery(this._store,a,t):ty.isRecordingSegmentsQuery(t)&&(i=e.generateDefaultRecordingSegmentsQuery(this._store,a,t));for(const e of i??[])n.push(e)}return n.length?n:null}async getMediaMetadata(){const e=new Set,t=new Set,n=new Set,a=new Set,i={type:Qv.MediaMetadata,cameraIDs:this._store.getCameraIDs()},r=await this._handleQuery(i);for(const i of r.values())i.metadata.tags&&i.metadata.tags.forEach(e.add,e),i.metadata.what&&i.metadata.what.forEach(t.add,t),i.metadata.where&&i.metadata.where.forEach(n.add,n),i.metadata.days&&i.metadata.days.forEach(a.add,a);return t.size||n.size||a.size||e.size?{...e.size&&{tags:e},...t.size&&{what:t},...n.size&&{where:n},...a.size&&{days:a}}:null}async getEvents(e,t){return await this._handleQuery(e,t)}async getRecordings(e,t){return await this._handleQuery(e,t)}async getRecordingSegments(e,t){return await this._handleQuery(e,t)}async executeMediaQueries(e,t){return this._convertQueryResultsToMedia(await this._handleQuery(e,t))}async extendMediaQueries(e,t,n,a){if(!this._api.getHASSManager().getHASS())return null;const i=e=>{let n=null;for(const a of t){const t=a.getStartTime();t&&(!n||"earliest"===e&&tn)&&(n=t)}return n},r=this._api.getConfigManager().getCardWideConfig()?.performance?.features.media_chunk_size??50,o=[],s=[];for(const t of e){const e={...t}; -/* istanbul ignore else: the else path cannot be reached -- @preserve */if("later"===n){const t=i("latest");t&&(e.start=t,delete e.end)}else if("earlier"===n){const t=i("earliest");t&&(e.end=t,delete e.start)}e.limit=r,s.push({...t,limit:(t.limit??0)+r}),o.push(e)}const c=this._convertQueryResultsToMedia(await this._handleQuery(o,a));if(!c.length)return null;const l=ey(t.concat(c));return l.length===t.length?null:{queries:s,results:l}}async getMediaDownloadPath(e){const t=this._store.getCameraConfigForMedia(e),n=this._store.getEngineForMedia(e),a=this._api.getHASSManager().getHASS();return t&&n&&a?await n.getMediaDownloadPath(a,t,e):null}getMediaCapabilities(e){const t=this._store.getEngineForMedia(e);return t?t.getMediaCapabilities(e):null}async favoriteMedia(e,t){const n=this._store.getCameraConfigForMedia(e),a=this._store.getEngineForMedia(e),i=this._api.getHASSManager().getHASS();if(!n||!a||!i)return;const r=new Date;await this._requestLimit.add((()=>a.favoriteMedia(i,n,e,t))),B_(this._api.getConfigManager().getCardWideConfig(),"Frigate Card CameraManager favorite request (",`Duration: ${((new Date).getTime()-r.getTime())/1e3}s,`,"Media:",e.getID(),", Favorite:",t,")")}areMediaQueriesResultsFresh(e,t){const n=new Date;for(const a of e){const e=this._store.getEnginesForCameraIDs(a.cameraIDs);for(const[i,r]of e??[]){const e=i.getQueryResultMaxAge({...a,cameraIDs:r});if(null!==e&&Ud(t,{seconds:e})a?null:await this._requestLimit.add((()=>i.getMediaSeekTime(r,this._store,e,t)))??null}async _handleQuery(e,t){const n=Wg(e),a=new Map,i=new Date,r=this._api.getHASSManager().getHASS();if(!r)return a;const o=async(e,n)=>{let i=null; -/* istanbul ignore else: the else path cannot be reached -- @preserve */ty.isEventQuery(n)?i=await e.getEvents(r,this._store,n,t):ty.isRecordingQuery(n)?i=await e.getRecordings(r,this._store,n,t):ty.isRecordingSegmentsQuery(n)?i=await e.getRecordingSegments(r,this._store,n,t):ty.isMediaMetadataQuery(n)&&(i=await e.getMediaMetadata(r,this._store,n,t)),i?.forEach(((e,t)=>a.set(t,e)))},s=async e=>{const t=this._store.getEnginesForCameraIDs(e.cameraIDs);t&&await Promise.all(Array.from(t.keys()).map((n=>this._requestLimit.add((()=>o(n,{...e,cameraIDs:t.get(n)}))))))};await Promise.all(n.map((e=>s(e))));const c=(l=Array.from(a.values()).map((e=>Number(e.cached??0))))&&l.length?function(e,t){for(var n,a=-1,i=e.length;++athis._store.getCamera(e))).filter(sf);return new Q_({live:t.some((e=>e.getCapabilities()?.has("live"))),clips:t.some((e=>e.getCapabilities()?.has("clips"))),recordings:t.some((e=>e.getCapabilities()?.has("recordings"))),snapshots:t.some((e=>e.getCapabilities()?.has("snapshots"))),"favorite-events":t.some((e=>e.getCapabilities()?.has("favorite-events"))),"favorite-recordings":t.some((e=>e.getCapabilities()?.has("favorite-recordings"))),seek:t.some((e=>e.getCapabilities()?.has("seek"))),menu:t.some((e=>e.getCapabilities()?.has("menu")))})}async executePTZAction(e,t,n){const a=this._store.getCameraConfig(e);if(!a)return;const i=q_(a,t,n);if(i)return await this._api.getActionsManager().executeActions(i);const r=this._api.getHASSManager().getHASS(),o=this._store.getEngineForCameraID(e);return o&&r?await this._requestLimit.add((()=>o.executePTZAction(r,a,t,n))):void 0}}class iy{constructor(e){this._cache=new Map,this._keyCallback=e}has(e){return this._cache.has(e)}getMatches(e){return[...this._cache.values()].filter(e)}get(e){return this._cache.get(e)??null}add(e){const t=e=>this._cache.set(this._keyCallback(e),e);Array.isArray(e)?e.forEach(t):t(e)}}const ry=ba.object({id:ba.string(),model:ba.string().nullable(),config_entries:ba.string().array(),manufacturer:ba.string().nullable()}).array();class oy{constructor(e){this._fetchedDeviceList=!1,this._cache=e}async getDevice(e,t){return this._cache.has(t)?this._cache.get(t):(await this._fetchDeviceList(e),this._cache.get(t)??null)}async getMatchingDevices(e,t){return await this._fetchDeviceList(e),this._cache.getMatches(t)}async _fetchDeviceList(e){if(this._fetchedDeviceList)return;let t=null;try{t=await $v(e,ry,{type:"config/device_registry/list"})}catch(e){return void Gg(e)}this._cache.add(t),this._fetchedDeviceList=!0}}const sy=ba.object({config_entry_id:ba.string().nullable(),device_id:ba.string().nullable(),disabled_by:ba.string().nullable(),entity_id:ba.string(),hidden_by:ba.string().nullable(),platform:ba.string(),translation_key:ba.string().nullable(),unique_id:ba.string().or(ba.number()).optional()}),cy=sy.array();class ly{constructor(e){this._fetchedEntityList=!1,this._cache=e}async getEntity(e,t){const n=this._cache.get(t);if(n)return n;let a=null;try{a=await $v(e,sy,{type:"config/entity_registry/get",entity_id:t})}catch(e){return Gg(e),null}return this._cache.add(a),a}async getMatchingEntities(e,t){return await this.fetchEntityList(e),this._cache.getMatches(t)}async getEntities(e,t){const n=new Map;return await Promise.all(t.map((async t=>{const a=await this.getEntity(e,t);a&&n.set(t,a)}))),n}async fetchEntityList(e){if(this._fetchedEntityList)return;let t=null;try{t=await $v(e,cy,{type:"config/entity_registry/list"})}catch(e){return void Gg(e)}this._cache.add(t),this._fetchedEntityList=!0}}class dy extends Map{constructor(e={}){if(super(),!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");if("number"==typeof e.maxAge&&0===e.maxAge)throw new TypeError("`maxAge` must be a number greater than 0");this.maxSize=e.maxSize,this.maxAge=e.maxAge||Number.POSITIVE_INFINITY,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_emitEvictions(e){if("function"==typeof this.onEviction)for(const[t,n]of e)this.onEviction(t,n.value)}_deleteIfExpired(e,t){return"number"==typeof t.expiry&&t.expiry<=Date.now()&&("function"==typeof this.onEviction&&this.onEviction(e,t.value),this.delete(e))}_getOrDeleteIfExpired(e,t){if(!1===this._deleteIfExpired(e,t))return t.value}_getItemValue(e,t){return t.expiry?this._getOrDeleteIfExpired(e,t):t.value}_peek(e,t){const n=t.get(e);return this._getItemValue(e,n)}_set(e,t){this.cache.set(e,t),this._size++,this._size>=this.maxSize&&(this._size=0,this._emitEvictions(this.oldCache),this.oldCache=this.cache,this.cache=new Map)}_moveToRecent(e,t){this.oldCache.delete(e),this._set(e,t)}*_entriesAscending(){for(const e of this.oldCache){const[t,n]=e;if(!this.cache.has(t)){!1===this._deleteIfExpired(t,n)&&(yield e)}}for(const e of this.cache){const[t,n]=e;!1===this._deleteIfExpired(t,n)&&(yield e)}}get(e){if(this.cache.has(e)){const t=this.cache.get(e);return this._getItemValue(e,t)}if(this.oldCache.has(e)){const t=this.oldCache.get(e);if(!1===this._deleteIfExpired(e,t))return this._moveToRecent(e,t),t.value}}set(e,t,{maxAge:n=this.maxAge}={}){const a="number"==typeof n&&n!==Number.POSITIVE_INFINITY?Date.now()+n:void 0;return this.cache.has(e)?this.cache.set(e,{value:t,expiry:a}):this._set(e,{value:t,expiry:a}),this}has(e){return this.cache.has(e)?!this._deleteIfExpired(e,this.cache.get(e)):!!this.oldCache.has(e)&&!this._deleteIfExpired(e,this.oldCache.get(e))}peek(e){return this.cache.has(e)?this._peek(e,this.cache):this.oldCache.has(e)?this._peek(e,this.oldCache):void 0}delete(e){const t=this.cache.delete(e);return t&&this._size--,this.oldCache.delete(e)||t}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}resize(e){if(!(e&&e>0))throw new TypeError("`maxSize` must be a number greater than 0");const t=[...this._entriesAscending()],n=t.length-e;n<0?(this.cache=new Map(t),this.oldCache=new Map,this._size=t.length):(n>0&&this._emitEvictions(t.slice(0,n)),this.oldCache=new Map(t.slice(n)),this.cache=new Map,this._size=0),this.maxSize=e}*keys(){for(const[e]of this)yield e}*values(){for(const[,e]of this)yield e}*[Symbol.iterator](){for(const e of this.cache){const[t,n]=e;!1===this._deleteIfExpired(t,n)&&(yield[t,n.value])}for(const e of this.oldCache){const[t,n]=e;if(!this.cache.has(t)){!1===this._deleteIfExpired(t,n)&&(yield[t,n.value])}}}*entriesDescending(){let e=[...this.cache];for(let t=e.length-1;t>=0;--t){const n=e[t],[a,i]=n;!1===this._deleteIfExpired(a,i)&&(yield[a,i.value])}e=[...this.oldCache];for(let t=e.length-1;t>=0;--t){const n=e[t],[a,i]=n;if(!this.cache.has(a)){!1===this._deleteIfExpired(a,i)&&(yield[a,i.value])}}}*entriesAscending(){for(const[e,t]of this._entriesAscending())yield[e,t.value]}get size(){if(!this._size)return this.oldCache.size;let e=0;for(const t of this.oldCache.keys())this.cache.has(t)||e++;return Math.min(this._size+e,this.maxSize)}entries(){return this.entriesAscending()}forEach(e,t=this){for(const[n,a]of this.entriesAscending())e.call(t,a,n,this)}get[Symbol.toStringTag](){return JSON.stringify([...this.entriesAscending()])}}class uy{constructor(){this._cache=new dy({maxSize:1e3})}has(e){return this._cache.has(e)}get(e){return this._cache.get(e)}set(e,t){this._cache.set(e,t)}}const hy=async(e,t,n)=>{const a=n?n.get(t):void 0;if(a)return a;const i={type:"media_source/resolve_media",media_content_id:t};let r=null;try{r=await $v(e,js,i)}catch(e){Gg(e)}return n&&r&&n.set(t,r),r};class py{constructor(e,t,n){this._context=e,this._action=t,this._config=n}async execute(e){}async stop(){}}class my extends py{}class gy extends my{async execute(e){const t=this._action.camera??(this._action.triggered?e.getTriggersManager().getMostRecentlyTriggeredCameraID():null),n=e.getViewManager().getView(),a=e.getConfigManager().getConfig();if(t&&n){const i=a?.view.camera_select??"current",r="current"===i?n.view:i;await e.getViewManager().setViewByParametersWithNewQuery({params:{view:r,camera:t},failSafe:!0})}}}class fy extends my{async execute(e){e.getCameraURLManager().openURL()}}class _y extends my{async execute(e){e.getViewManager().setViewDefault()}}class vy extends my{async execute(e){await e.getViewManager().setViewByParametersWithNewQuery({params:{displayMode:this._action.display_mode}})}}class yy extends my{async execute(e){await e.getDownloadManager().downloadViewerMedia()}}class by extends my{async execute(e){e.getExpandManager().toggleExpanded()}}class wy extends my{async execute(e){e.getFullscreenManager().toggleFullscreen()}}class xy extends py{async execute(e){const t=e.getHASSManager().getHASS();t&&at(e.getCardElementManager().getElement(),t,this._config??{},this._action)}}class Cy extends my{async execute(e){console[this._action.level](this._action.message)}}const My=(e,t)=>e.context?.live?.overrides?.get(t??e.camera)??t??e.camera,ky=e=>My(e)!==e.camera,Sy=(e,t)=>{const n=e.context?.live?.overrides??new Map;n.set(e.camera,t),e.mergeInContext({live:{overrides:n}})};class Ey extends my{async execute(e){const t=this._action.media_player,n=e.getMediaPlayerManager(),a=e.getViewManager().getView(),i=a?.queryResults?.getSelectedResult()??null;"stop"===this._action.media_player_action?await n.stop(t):a?.is("live")?await n.playLive(t,My(a)):a?.isViewerView()&&i&&await n.playMedia(t,i)}}class $y extends my{async execute(e){e.getCardElementManager().toggleMenu()}}class Ay extends my{async execute(e){await e.getMicrophoneManager().connect()}}class zy extends my{async execute(e){e.getMicrophoneManager().disconnect()}}class Iy extends my{async execute(e){e.getMicrophoneManager().mute()}}class Ty extends my{async execute(e){await e.getMicrophoneManager().unmute()}}class jy extends my{async execute(e){await(e.getMediaLoadedInfoManager().get()?.player?.mute())}}class Oy extends my{async execute(e){await(e.getMediaLoadedInfoManager().get()?.player?.pause())}}class Dy extends my{async execute(e){await(e.getMediaLoadedInfoManager().get()?.player?.play())}}const Ry=(e,t)=>{if(e.isViewerView()){const n=e.queryResults?.getSelectedResult()?.getID()??null;return"ptz"!==t?.type&&n?{targetID:n,type:"digital"}:null}if(e.is("live")){const n=My(e);let a="digital";return"digital"!==t?.type&&t?.cameraManager&&(Py(t.cameraManager,n)&&(a="ptz"),"ptz"!==a&&"ptz"===t?.type)?null:{targetID:n,type:a}}return null},Py=(e,t)=>!!e.getStore().getCamera(t)?.getCapabilities()?.hasPTZCapability();var Ly=ug((function(e,t,n){Jm(e,t,n)}));const Ny=(e,t)=>{t?.[e]?.inProgressAction?.stop()},Fy=(e,t,n,a)=>{Ly(t,{[n]:{[e]:{inProgressAction:a}}})};class Vy extends my{constructor(){super(...arguments),this._timer=new xf}async stop(){this._timer.stop()}async execute(e){const t=e.getViewManager().getView();if(!t)return;const n=this._action.camera??Ry(t,{type:"ptz",cameraManager:e.getCameraManager()})?.targetID??null,a=n?e.getCameraManager().getCameraCapabilities(n)?.getPTZCapabilities():null,i=n?e.getCameraManager().getStore().getCameraConfig(n)?.ptz:null;if(!n||!a||!i)return;if(!this._action.ptz_action)return void(a.presets&&a.presets.length>=1&&await e.getCameraManager().executePTZAction(n,"preset",{phase:this._action.ptz_phase,preset:a.presets[0]}));const r=(e=>{switch(e){case"left":case"right":case"up":case"down":return e;case"zoom_in":return"zoomIn";case"zoom_out":return"zoomOut"}return null})(this._action.ptz_action);if(r&&a[r]?.includes(this._action.ptz_phase?"continuous":"relative")||"preset"===this._action.ptz_action)return await e.getCameraManager().executePTZAction(n,this._action.ptz_action,{phase:this._action.ptz_phase,preset:this._action.ptz_preset});if("start"===this._action.ptz_phase){Ny(n,this._context.ptz),Fy(n,this._context,"ptz",this);const t=async()=>{this._action.ptz_action&&await e.getCameraManager().executePTZAction(n,this._action.ptz_action,{preset:this._action.ptz_preset}),this._timer.start(i.r2c_delay_between_calls_seconds,t)};await t()}else"stop"===this._action.ptz_phase?Ny(n,this._context.ptz):(await e.getCameraManager().executePTZAction(n,this._action.ptz_action,{preset:this._action.ptz_preset,phase:"start"}),this._timer.start(i.c2r_delay_between_calls_seconds,(async()=>{this._action.ptz_action&&await e.getCameraManager().executePTZAction(n,this._action.ptz_action,{preset:this._action.ptz_preset,phase:"stop"})})))}}class Hy extends my{async execute(e){e.getViewManager().setViewWithMergedContext({ptzControls:{enabled:this._action.enabled}})}}function By(e,t,n){return void 0===n&&(n=t,t=void 0),void 0!==n&&(n=(n=Cg(n))==n?n:0),void 0!==t&&(t=(t=Cg(t))==t?t:0),function(e,t,n){return e==e&&(void 0!==n&&(e=e<=n?e:n),void 0!==t&&(e=e>=t?e:t)),e}(Cg(e),t,n)}const qy=50,Uy=50,Wy=1,Zy=4,Qy=e=>void 0===e?.pan?.x&&void 0===e?.pan?.y&&void 0===e?.zoom;class Gy{constructor(e){this._context=e}modify(e){e.mergeInContext(this._context)}}const Yy=(e,t)=>({zoom:{[e]:{observed:t?.observed??void 0,requested:t?.requested??null}}}),Ky=(e,t,n)=>{t&&n&&t.setViewByParameters({modifiers:[new Gy(Yy(n,{observed:e.detail}))]})};class Xy extends my{constructor(){super(...arguments),this._timer=new xf}async _stepChange(e,t){e.getViewManager().setViewWithMergedContext(Yy(t,{requested:this._convertActionToZoomSettings(e.getViewManager().getView()?.context?.zoom?.[t]?.observed)}))}async stop(){this._timer.stop()}async execute(e){const t=e.getViewManager().getView();if(!t)return;const n=this._action.target_id??Ry(t,{type:"digital",cameraManager:e.getCameraManager()})?.targetID;return n?this._action.absolute||!this._action.ptz_phase?await this._stepChange(e,n): -/* istanbul ignore else: the else path cannot be reached -- @preserve */ -void("start"===this._action.ptz_phase?(Ny(n,this._context.ptzDigital),Fy(n,this._context,"ptzDigital",this),await this._stepChange(e,n),this._timer.startRepeated(.1,(()=>this._stepChange(e,n)))):"stop"===this._action.ptz_phase&&(Ny(n,this._context.ptzDigital),delete this._context.ptzDigital?.[n])):void 0}_convertActionToZoomSettings(e){if(!this._action.absolute&&!this._action.ptz_action)return{};if(this._action.absolute)return this._action.absolute;const t=e?.zoom??1,n=e?.pan?.x??50,a=e?.pan?.y??50,i="zoom_in"===this._action.ptz_action?.1:"zoom_out"===this._action.ptz_action?-.1:0,r="left"===this._action.ptz_action?-5:"right"===this._action.ptz_action?5:0,o="up"===this._action.ptz_action?-5:"down"===this._action.ptz_action?5:0;return{zoom:By(t+i,1,10),pan:{x:By(n+r,0,100),y:By(a+o,0,100)}}}}class Jy extends my{async execute(e){const t=e.getViewManager().getView();let n=null,a=null;if(this._action.target_id)n=this._action.target_id,a=Py(e.getCameraManager(),n)?"ptz":"digital";else if(t){const i=Ry(t,{cameraManager:e.getCameraManager()});n=i?.targetID??null,a=i?.type??null}n&&null!==a&&("ptz"===a?this._toPTZAction(n):this._toPTZDigitalAction(n)).execute(e)}_toPTZAction(e){return new Vy(this._context,(t={cardID:this._action.card_id,cameraID:e,ptzAction:this._action.ptz_action,ptzPhase:this._action.ptz_phase,ptzPreset:this._action.ptz_preset},{action:"fire-dom-event",frigate_card_action:"ptz",...t?.cardID&&{card_id:t.cardID},...t?.ptzAction&&{ptz_action:t.ptzAction},...t?.ptzPhase&&{ptz_phase:t.ptzPhase},...t?.ptzPreset&&{ptz_preset:t.ptzPreset},...t?.cameraID&&{camera:t.cameraID}}),this._config);var t}_toPTZDigitalAction(e){return new Xy(this._context,(t={cardID:this._action.card_id,ptzPhase:this._action.ptz_phase,ptzAction:this._action.ptz_action,targetID:e},{action:"fire-dom-event",frigate_card_action:"ptz_digital",...t?.cardID&&{card_id:t.cardID},...t?.ptzAction&&{ptz_action:t.ptzAction},...t?.ptzPhase&&{ptz_phase:t.ptzPhase},...t?.absolute&&{absolute:t.absolute},...t?.targetID&&{target_id:t.targetID}}),this._config);var t}}class eb extends my{async execute(e){await e.getDownloadManager().downloadScreenshot()}}class tb extends my{async execute(e){var t;await af((t=this._action.duration,3600*(t.h??0)+60*(t.m??0)+(t.s??0)+(t.ms??0)/1e3))}}class nb extends my{async execute(e){switch(this._action.status_bar_action){case"reset":e.getStatusBarItemManager().removeAllDynamicStatusBarItems();break;case"add":this._action.items?.forEach((t=>e.getStatusBarItemManager().addDynamicStatusBarItem(t)));break;case"remove":this._action.items?.forEach((t=>e.getStatusBarItemManager().removeDynamicStatusBarItem(t)))}}}class ab{modify(e){(e=>{const t=e.context?.live?.overrides;t&&t.has(e.camera)&&e.context?.live?.overrides?.delete(e.camera)})(e)}}class ib extends my{async execute(e){e.getViewManager().setViewByParameters({modifiers:[new ab]})}}class rb{constructor(e){this._api=e}modify(e){const t=[...this._api.getCameraManager().getStore().getAllDependentCameras(e.camera,"substream")];if(t.length<=1)return;const n=My(e),a=t.indexOf(n),i=a<0?0:(a+1)%t.length;Sy(e,t[i])}}class ob extends my{async execute(e){e.getViewManager().setViewByParameters({modifiers:[new rb(e)]})}}class sb{constructor(e){this._substreamID=e}modify(e){Sy(e,this._substreamID)}}class cb extends my{async execute(e){e.getViewManager().setViewByParameters({modifiers:[new sb(this._action.camera)]})}}class lb extends my{async execute(e){await(e.getMediaLoadedInfoManager().get()?.player?.unmute())}}class db extends my{async execute(e){e.getViewManager().setViewByParametersWithNewQuery({params:{view:this._action.frigate_card_action}})}}class ub{createAction(e,t,n){const a=mf(t);if("fire-dom-event"!==t.action||!a)return new xy(e,t,n?.config);if(a.card_id&&a.card_id!==n?.cardID)return null;switch(a.frigate_card_action){case"default":return new _y(e,a,n?.config);case"clip":case"clips":case"image":case"live":case"recording":case"recordings":case"snapshot":case"snapshots":case"timeline":case"diagnostics":return new db(e,a,n?.config);case"sleep":return new tb(e,a,n?.config);case"download":return new yy(e,a,n?.config);case"camera_ui":return new fy(e,a,n?.config);case"expand":return new by(e,a,n?.config);case"fullscreen":return new wy(e,a,n?.config);case"menu_toggle":return new $y(e,a,n?.config);case"camera_select":return new gy(e,a,n?.config);case"live_substream_select":return new cb(e,a,n?.config);case"live_substream_off":return new ib(e,a,n?.config);case"live_substream_on":return new ob(e,a,n?.config);case"media_player":return new Ey(e,a,n?.config);case"microphone_connect":return new Ay(e,a,n?.config);case"microphone_disconnect":return new zy(e,a,n?.config);case"microphone_mute":return new Iy(e,a,n?.config);case"microphone_unmute":return new Ty(e,a,n?.config);case"mute":return new jy(e,a,n?.config);case"unmute":return new lb(e,a,n?.config);case"play":return new Dy(e,a,n?.config);case"pause":return new Oy(e,a,n?.config);case"screenshot":return new eb(e,a,n?.config);case"display_mode_select":return new vy(e,a,n?.config);case"ptz":return new Vy(e,a,n?.config);case"ptz_digital":return new Xy(e,a,n?.config);case"ptz_multi":return new Jy(e,a,n?.config);case"ptz_controls":return new Hy(e,a,n?.config);case"log":return new Cy(e,a,n?.config);case"status_bar":return new nb(e,a,n?.config)} -/* istanbul ignore next: this path cannot be reached -- @preserve */ -/* istanbul ignore next: this path cannot be reached -- @preserve */ -return console.warn(`Frigate card received unknown card action: ${a.frigate_card_action}`),null}}class hb{constructor(e,t,n){this._actions=[],this._factory=new ub,this._stopped=!1,this._context=e;for(const a of Wg(t)){const t=this._factory.createAction(e,a,n);t&&this._actions.push(t)}}async execute(e){for(const t of this._actions){if(this._stopped)break;await t.execute(e)}}async stop(){this._stopped=!0}}const pb=ba.object({action:ba.enum(["tap","double_tap","hold","start_tap","end_tap"])}),mb=ba.object({detail:pb});class gb{constructor(e){this._actionsInFlight=[],this._actionContext={},this.handleInteractionEvent=e=>{const t=mb.safeParse(e);if(!t.success)return;const n=t.data.detail.action,a=this.getMergedActions(),i=yf(n,a);a&&n&&i&&this.executeActions(i,a)},this.handleCustomActionEvent=e=>{"detail"in e&&this.executeActions(e.detail)},this.handleActionExecutionRequestEvent=async e=>{await this.executeActions(e.detail.action,e.detail.config)},this._api=e}getMergedActions(){const e=this._api.getViewManager().getView();if(this._api.getMessageManager().hasMessage())return{};const t=this._api.getConfigManager().getConfig();let n;if(e?.is("live"))n=t?.live.actions;else if(e?.isGalleryView())n=t?.media_gallery?.actions;else if(e?.isViewerView())n=t?.media_viewer.actions;else{if(!e?.is("image"))return{};n=t?.image?.actions}return{...t?.view.actions,...n}}uninitialize(){this._actionsInFlight.forEach((e=>e.stop()))}async executeActions(e,t){const n=new hb(this._actionContext,e,{config:t,cardID:this._api.getConfigManager().getConfig()?.card_id});this._actionsInFlight.push(n),await n.execute(this._api),this._actionsInFlight=this._actionsInFlight.filter((e=>e!==n))}}class fb{constructor(e){this._automations=[],this._priorEvaluations=new Map,this._nestedAutomationExecutions=0,this._api=e}deleteAutomations(e){this._automations=this._automations.filter((t=>t.tag!==e))}addAutomations(e){this._automations.push(...e)}execute(){if(!this._api.getHASSManager().hasHASS()||!this._api.getInitializationManager().isInitializedMandatory()||this._api.getMessageManager().hasErrorMessage())return;const e=[];for(const t of this._automations){const n=this._api.getConditionsManager().evaluateConditions(t.conditions),a=n?t.actions:t.actions_not,i=this._priorEvaluations.get(t);this._priorEvaluations.set(t,n),n!==i&&a&&e.push(...a)}if(!e.length)return;(async e=>{++this._nestedAutomationExecutions,this._nestedAutomationExecutions>10?this._api.getMessageManager().setMessageIfHigherPriority({type:"error",message:V_("error.too_many_automations")}):(await this._api.getActionsManager().executeActions(e),--this._nestedAutomationExecutions)})(e)}}class _b{constructor(e){this._api=e}openURL(){const e=this.getCameraURL();e&&window.open(e)}hasCameraURL(){return!!this.getCameraURL()}getCameraURL(){const e=this._api.getViewManager().getView(),t=e?.queryResults?.getSelectedResult()??null,n=e?.camera?this._api.getCameraManager().getCameraEndpoints(e.camera,{view:e.view,...t&&{media:t}})??null:null;return n?.ui?.endpoint??null}}const vb=()=>!!navigator.userAgent.match(/CrKey\//),yb=(e,t)=>!!((e.attributes.supported_features??0)&t),bb=e=>(e=>yb(e,4)&&"number"==typeof e.attributes.in_progress)(e)||!!e.attributes.in_progress,wb=e=>{switch(e){case"armed_away":return"mdi:shield-lock";case"armed_vacation":return"mdi:shield-airplane";case"armed_home":return"mdi:shield-home";case"armed_night":return"mdi:shield-moon";case"armed_custom_bypass":return"mdi:security";case"pending":case"arming":return"mdi:shield-sync";case"triggered":return"mdi:bell-ring";case"disarmed":return"mdi:shield-off";default:return"mdi:shield"}},xb=(e,t)=>{const n="off"===e;switch(t?.attributes.device_class){case"battery":return n?"mdi:battery":"mdi:battery-outline";case"battery_charging":return n?"mdi:battery":"mdi:battery-charging";case"cold":return n?"mdi:thermometer":"mdi:snowflake";case"connectivity":return n?"mdi:close-network-outline":"mdi:check-network-outline";case"door":return n?"mdi:door-closed":"mdi:door-open";case"garage_door":return n?"mdi:garage":"mdi:garage-open";case"power":case"plug":return n?"mdi:power-plug-off":"mdi:power-plug";case"gas":case"problem":case"safety":case"tamper":return n?"mdi:check-circle":"mdi:alert-circle";case"smoke":return n?"mdi:check-circle":"mdi:smoke";case"heat":return n?"mdi:thermometer":"mdi:fire";case"light":return n?"mdi:brightness5":"mdi:brightness-7";case"lock":return n?"mdi:lock":"mdi:lock-open";case"moisture":return n?"mdi:water-off":"mdi:water";case"motion":return n?"mdi:motion-sensor-off":"mdi:motion-sensor";case"occupancy":case"presence":return n?"mdi:home-outline":"mdi:home";case"opening":return n?"mdi:square":"mdi:square-outline";case"running":return n?"mdi:stop":"mdi:play";case"sound":return n?"mdi:music-note-off":"mdi:music-note";case"update":return n?"mdi:package":"mdi:package-up";case"vibration":return n?"mdi:crop-portrait":"mdi:vibrate";case"window":return n?"mdi:window-closed":"mdi:window-open";default:return n?"mdi:radiobox-blank":"mdi:checkbox-marked-circle"}},Cb=(e,t)=>{const n="closed"!==e;switch(t?.attributes.device_class){case"garage":switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:garage";default:return"mdi:garage-open"}case"gate":switch(e){case"opening":case"closing":return"mdi:gate-arrow-right";case"closed":return"mdi:gate";default:return"mdi:gate-open"}case"door":return n?"mdi:door-open":"mdi:door-closed";case"damper":return n?"md:circle":"mdi:circle-slice-8";case"shutter":switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:window-shutter";default:return"mdi:window-shutter-open"}case"curtain":switch(e){case"opening":return"mdi:arrow-split-vertical";case"closing":return"mdi:arrow-collapse-horizontal";case"closed":return"mdi:curtains-closed";default:return"mdi:curtains"}case"blind":case"shade":switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:blinds";default:return"mdi:blinds-open"}case"window":switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:window-closed";default:return"mdi:window-open"}}switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:window-closed";default:return"mdi:window-open"}},Mb={apparent_power:"mdi:flash",aqi:"mdi:air-filter",carbon_dioxide:"mdi:molecule-co2",carbon_monoxide:"mdi:molecule-co",current:"mdi:current-ac",date:"mdi:calendar",energy:"mdi:lightning-bolt",frequency:"mdi:sine-wave",gas:"mdi:gas-cylinder",humidity:"mdi:water-percent",illuminance:"mdi:brightness-5",monetary:"mdi:cash",nitrogen_dioxide:"mdi:molecule",nitrogen_monoxide:"mdi:molecule",nitrous_oxide:"mdi:molecule",ozone:"mdi:molecule",pm1:"mdi:molecule",pm10:"mdi:molecule",pm25:"mdi:molecule",power:"mdi:flash",power_factor:"mdi:angle-acute",pressure:"mdi:gauge",reactive_power:"mdi:flash",signal_strength:"mdi:wifi",sulphur_dioxide:"mdi:molecule",temperature:"mdi:thermometer",timestamp:"mdi:clock",volatile_organic_compounds:"mdi:molecule",voltage:"mdi:sine-wave"},kb={10:"mdi:battery-10",20:"mdi:battery-20",30:"mdi:battery-30",40:"mdi:battery-40",50:"mdi:battery-50",60:"mdi:battery-60",70:"mdi:battery-70",80:"mdi:battery-80",90:"mdi:battery-90",100:"mdi:battery"},Sb={10:"mdi:battery-charging-10",20:"mdi:battery-charging-20",30:"mdi:battery-charging-30",40:"mdi:battery-charging-40",50:"mdi:battery-charging-50",60:"mdi:battery-charging-60",70:"mdi:battery-charging-70",80:"mdi:battery-charging-80",90:"mdi:battery-charging-90",100:"mdi:battery-charging"},Eb=(e,t)=>{const n=Number(e);if(isNaN(n))return"off"===e?"mdi:battery":"on"===e?"mdi:battery-alert":"mdi:battery-unknown";const a=10*Math.round(n/10);return t&&n>=10?Sb[a]:t?"mdi:battery-charging-outline":n<=5?"mdi:battery-alert-variant-outline":kb[a]},$b=e=>{const t=e?.attributes.device_class;if(t&&t in Mb)return Mb[t];if("battery"===t)return e?((e,t)=>{const n=e.state;return Eb(n,"on"===t?.state)})(e):"mdi:battery";const n=e?.attributes.unit_of_measurement;return"°C"===n||"°F"===n?"mdi:thermometer":void 0},Ab="mdi:bookmark",zb={alert:"mdi:alert",air_quality:"mdi:air-filter",automation:"mdi:robot",calendar:"mdi:calendar",camera:"mdi:video",climate:"mdi:thermostat",configurator:"mdi:cog",conversation:"mdi:text-to-speech",counter:"mdi:counter",fan:"mdi:fan",google_assistant:"mdi:google-assistant",group:"mdi:google-circles-communities",homeassistant:"mdi:home-assistant",homekit:"mdi:home-automation",image_processing:"mdi:image-filter-frames",input_button:"mdi:gesture-tap-button",input_datetime:"mdi:calendar-clock",input_number:"mdi:ray-vertex",input_select:"mdi:format-list-bulleted",input_text:"mdi:form-textbox",light:"mdi:lightbulb",mailbox:"mdi:mailbox",notify:"mdi:comment-alert",number:"mdi:ray-vertex",persistent_notification:"mdi:bell",person:"mdi:account",plant:"mdi:flower",proximity:"mdi:apple-safari",remote:"mdi:remote",scene:"mdi:palette",script:"mdi:script-text",select:"mdi:format-list-bulleted",sensor:"mdi:eye",siren:"mdi:bullhorn",simple_alarm:"mdi:bell",sun:"mdi:white-balance-sunny",timer:"mdi:timer-outline",updater:"mdi:cloud-upload",vacuum:"mdi:robot-vacuum",water_heater:"mdi:thermometer",weather:"mdi:weather-cloudy",zone:"mdi:map-marker-radius"};function Ib(e,t,n,a){switch(e){case"alarm_control_panel":return wb(n);case"binary_sensor":return xb(n,t);case"button":switch(t?.attributes.device_class){case"restart":return"mdi:restart";case"update":return"mdi:package-up";default:return"mdi:gesture-tap-button"}case"cover":return Cb(n,t);case"device_tracker":return"router"===t?.attributes.source_type?"home"===n?"mdi:lan-connect":"mdi:lan-disconnect":["bluetooth","bluetooth_le"].includes(t?.attributes.source_type)?"home"===n?"mdi:bluetooth-connect":"mdi:bluetooth":"not_home"===n?"mdi:account-arrow-right":"mdi:account";case"humidifier":return n&&"off"===n?"mdi:air-humidifier-off":"mdi:air-humidifier";case"input_boolean":return"on"===n?"mdi:check-circle-outline":"mdi:close-circle-outline";case"lock":switch(n){case"unlocked":return"mdi:lock-open";case"jammed":return"mdi:lock-alert";case"locking":case"unlocking":return"mdi:lock-clock";default:return"mdi:lock"}case"media_player":switch(t?.attributes.device_class){case"speaker":switch(n){case"playing":return"mdi:speaker-play";case"paused":return"mdi:speaker-pause";case"off":return"mdi:speaker-off";default:return"mdi:speaker"}case"tv":switch(n){case"playing":return"mdi:television-play";case"paused":return"mdi:television-pause";case"off":return"mdi:television-off";default:return"mdi:television"}default:switch(n){case"playing":case"paused":return"mdi:cast-connected";case"off":return"mdi:cast-off";default:return"mdi:cast"}}case"switch":switch(t?.attributes.device_class){case"outlet":return"on"===n?"mdi:power-plug":"mdi:power-plug-off";case"switch":return"on"===n?"mdi:toggle-switch":"mdi:toggle-switch-off";default:return"mdi:flash"}case"zwave":switch(n){case"dead":return"mdi:emoticon-dead";case"sleeping":return"mdi:sleep";case"initializing":return"mdi:timer-sand";default:return"mdi:z-wave"}case"sensor":{const e=$b(t);if(e)return e;break}case"input_datetime":if(!t?.attributes.has_date)return"mdi:clock";if(!t.attributes.has_time)return"mdi:calendar";break;case"sun":return"above_horizon"===t?.state?zb[e]:"mdi:weather-night";case"update":return"on"===t?.state?bb(t)?"mdi:package-down":"mdi:package-up":"mdi:package"}return e in zb?zb[e]:a??Ab}async function Tb(e,t,n){const a={type:"auth/sign_path",path:t,expires:n},i=await $v(e,Os,a);return i?e.hassUrl(i.path):null}function jb(e,t,n,a){if(!e||!n||!n.length)return[];const i=[];for(const r of n){const n=t?.states[r],o=e.states[r];if((a?.stateOnly&&n?.state!==o?.state||!a?.stateOnly&&n!==o)&&(i.push({entityID:r,oldState:n,newState:o}),a?.firstOnly))break}return i}function Ob(e,t,n,a){return!!jb(e,t,n,{...a,firstOnly:!0}).length}function Db(e){if("off"===e.state||!e.attributes.brightness)return"";return`brightness(${(e.attributes.brightness+245)/5}%)`}function Rb(e){return"off"===e.state?"":e.attributes.rgb_color?`rgb(${e.attributes.rgb_color.join(",")})`:""}function Pb(e){return{color:Rb(e),filter:Db(e)}}function Lb(e,t){if(!t.entity)return t;const n=e.states[t.entity];n&&t.state_color&&(t.style={...Pb(n),...t.style}),t.title=t.title??(n?.attributes?.friendly_name||t.entity),t.icon=t.icon??Fb(e,t.entity);const a=n?function(e){return Ye(e.entity_id)}(n):void 0;return t.data_domain=t.state_color||"light"===a&&!1!==t.state_color?a:void 0,n&&(t.data_state=(e=>{const t=e.entity_id.split(".")[0];let n=e.state;return"climate"===t&&(n=e.attributes.hvac_action),n})(n)),t}function Nb(e,t){return t?e?.states[t]?.attributes?.friendly_name:void 0}function Fb(e,t,n){const a=e.states[t];return a&&a.attributes.icon?a.attributes.icon:Ib(Ye(t),a,a?.state,n)}const Vb=async()=>{if(["ha-button-menu","ha-button","ha-camera-stream","ha-card","ha-circular-progress","ha-hls-player","ha-icon-button","ha-icon","ha-menu-button","ha-selector","ha-web-rtc-player"].every((e=>customElements.get(e))))return!0;const e=await window.loadCardHelpers();await e.createCardElement({type:"picture-glance",entities:[],camera_image:"dummy-to-load-editor-components"}),await customElements.whenDefined("hui-picture-glance-card");const t=customElements.get("hui-picture-glance-card");if(!t)return!1;const n=new t;return await n.constructor.getConfigElement(),!0},Hb=e=>!!e&&["on","open"].includes(e),Bb=(e,t)=>{if(!e)return[];const n=Object.keys(e.states).filter((e=>!t||e.substr(0,e.indexOf("."))===t));return n.sort(),n};function qb(e){return!!e?.startsWith("/")}function Ub(e,t){return qb(t)?e.hassUrl(t):t??null}class Wb{constructor(){this._initialized=new Set}async initializeMultipleIfNecessary(e){return(await tf(Object.entries(e),(async([e,t])=>await this.initializeIfNecessary(e,t)))).every(Boolean)}async initializeIfNecessary(e,t){return!!this._initialized.has(e)||(t?!!await t()&&(this._initialized.add(e),!0):(this._initialized.add(e),!0))}uninitialize(e){this._initialized.delete(e)}isInitialized(e){return this._initialized.has(e)}isInitializedMultiple(e){return e.every((e=>this.isInitialized(e)))}}var Zb;!function(e){e.LANGUAGES="languages",e.SIDE_LOAD_ELEMENTS="side-load-elements",e.CAMERAS="cameras",e.MICROPHONE_CONNECT="microphone-connect",e.VIEW="view"}(Zb||(Zb={}));class Qb{constructor(e,t){this._initializationQueue=new w_({concurrency:1}),this._everInitialized=!1,this._api=e,this._initializer=t??new Wb}wasEverInitialized(){return this._everInitialized}isInitializedMandatory(){return!!this._api.getConfigManager().getConfig()&&this._initializer.isInitializedMultiple([Zb.LANGUAGES,Zb.SIDE_LOAD_ELEMENTS,Zb.CAMERAS,...this._api.getMicrophoneManager().shouldConnectOnInitialization()?[Zb.MICROPHONE_CONNECT]:[],Zb.VIEW])}async initializeMandatory(){await this._initializationQueue.add((()=>this._initializeMandatory()))}async _initializeMandatory(){const e=this._api.getHASSManager().getHASS();if(!e||this.isInitializedMandatory())return;if(!await this._initializer.initializeMultipleIfNecessary({[Zb.LANGUAGES]:async()=>await(async e=>{const t=F_(e);return"ca"===t?L_[t]=await import("./lang-ca-449daa4a.js"):"it"===t?L_[t]=await import("./lang-it-2a20a319.js"):"pt"===t?L_[t]=await import("./lang-pt-PT-c4863423.js"):"pt_BR"===t?L_[t]=await import("./lang-pt-BR-83a703b9.js"):"fr"===t&&(L_[t]=await import("./lang-fr-674e5de5.js")),t&&(N_=t),!0})(e),[Zb.SIDE_LOAD_ELEMENTS]:async()=>await Vb()}))return;this._api.getConfigManager().getConfig()&&await this._initializer.initializeMultipleIfNecessary({[Zb.CAMERAS]:async()=>await this._api.getCameraManager().initializeCamerasFromConfig(),...this._api.getMicrophoneManager().shouldConnectOnInitialization()&&{[Zb.MICROPHONE_CONNECT]:async()=>await this._api.getMicrophoneManager().connect()}})&&!this._api.getMessageManager().hasMessage()&&await this._initializer.initializeIfNecessary(Zb.VIEW,this._api.getViewManager().initialize)&&(this._everInitialized=!0,this._api.getCardElementManager().update())}uninitialize(e){this._initializer.uninitialize(e)}}class Gb{constructor(e,t,n,a){this.update=()=>{this._element.requestUpdate()},this._api=e,this._element=t,this._scrollCallback=n,this._menuToggleCallback=a}getElement(){return this._element}scrollReset(){this._scrollCallback()}toggleMenu(){this._menuToggleCallback()}hasUpdated(){return this._element.hasUpdated}elementConnected(){this._api.getInteractionManager().initialize(),this._api.getFullscreenManager().initialize(),this._api.getExpandManager().initialize(),this._api.getMediaLoadedInfoManager().initialize(),this._api.getMicrophoneManager().initialize(),this._api.getKeyboardStateManager().initialize(),this._api.getDefaultManager().initialize(),this._api.getMediaPlayerManager().initialize(),this._api.getHASSManager().getStateWatcher()?.subscribe(this.update,[...this._api.getConfigManager().getConfig()?.view.render_entities??[],...this._api.getMediaPlayerManager().getMediaPlayers()??[]]),of(this._element,(e=>{const t=e.getRootNode();return!!(t&&t instanceof ShadowRoot&&"HUI-PANEL-VIEW"===t.host.tagName)})(this._element),"panel"),of(this._element,vb(),"casted"),this._api.getFullscreenManager().connect(),this._element.addEventListener("mousemove",this._api.getInteractionManager().reportInteraction),this._element.addEventListener("wheel",this._api.getInteractionManager().reportInteraction),this._element.addEventListener("ll-custom",this._api.getActionsManager().handleCustomActionEvent),this._element.addEventListener("action",this._api.getActionsManager().handleInteractionEvent),this._element.addEventListener("action",this._api.getInteractionManager().reportInteraction),this._element.addEventListener("frigate-card:action:execution-request",this._api.getActionsManager().handleActionExecutionRequestEvent),window.addEventListener("location-changed",this._api.getQueryStringManager().requestExecution),window.addEventListener("popstate",this._api.getQueryStringManager().requestExecution),this._api.getQueryStringManager().requestExecution(),this._element.requestUpdate()}elementDisconnected(){of(this._element,!1,"panel"),of(this._element,!1,"tabindex"),of(this._element,!1,"casted"),this._api.getMediaLoadedInfoManager().clear(),this._api.getFullscreenManager().disconnect(),this._api.getKeyboardStateManager().uninitialize(),this._api.getActionsManager().uninitialize(),this._api.getDefaultManager().uninitialize(),this._api.getHASSManager().getStateWatcher()?.unsubscribe(this.update),this._api.getInitializationManager().uninitialize(Zb.CAMERAS),this._api.getCameraManager().reset(),this._element.removeEventListener("mousemove",this._api.getInteractionManager().reportInteraction),this._element.removeEventListener("wheel",this._api.getInteractionManager().reportInteraction),this._element.removeEventListener("ll-custom",this._api.getActionsManager().handleCustomActionEvent),this._element.removeEventListener("action",this._api.getActionsManager().handleInteractionEvent),this._element.removeEventListener("action",this._api.getInteractionManager().reportInteraction),this._element.removeEventListener("frigate-card:action:execution-request",this._api.getActionsManager().handleActionExecutionRequestEvent),window.removeEventListener("location-changed",this._api.getQueryStringManager().requestExecution),window.removeEventListener("popstate",this._api.getQueryStringManager().requestExecution)}}function Yb(e,t,n){return null==e?e:function(e,t,n,a){if(!hh(e))return e;for(var i=-1,r=(t=sv(t,e)).length,o=r-1,s=e;null!=s&&++i{Yb(e,t,n)},Jb=(e,t,n)=>fv(e,t,n),ew=(e,t)=>{!function(e,t){null==e||Kb(e,t)}(e,t)},tw=e=>u_(e),nw=(e,t)=>e.replace("#",`[${t.toString()}]`),aw=function(e){let t=!1;for(let n=0;n{const i=Jb(e,t);if(void 0===i)return!1;const r=a?.transform?a.transform(i):i;return!(t===n&&Dv(i,r)||(null===r?a?.keepOriginal||(ew(e,t),0):void 0===r||(a?.keepOriginal||ew(e,t),Xb(e,n,r),0)))})(a,e,t,n)}},ow=function(e,t,n){return function(a){let i=rw(e,t,n)(a);return i=lw(bs,rw(e,t,n),(e=>e.overrides))(a)||i,i}},sw=function(e,t){return ow(e,e,{transform:t})},cw=function(e){return ow(e,e,{transform:e=>null})},lw=function(e,t,n){return function(a){let i=!1;const r=Jb(a,e);return Array.isArray(r)&&r.forEach((e=>{const a=n?n(e):e;a&&"object"==typeof a&&(i=t(a)||i)})),i}},dw=(e,t)=>{const n=a=>{let i=!1;if(a&&"object"==typeof a){const r=t?t(a):a;r&&(i=e(r)||i),Array.isArray(a)?a.forEach((e=>{i=n(e)||i})):Object.keys(a).forEach((e=>{i=n(a[e])||i}))}return i};return n},uw=e=>!("object"!=typeof e||!e||void 0===e.mediaLoaded)&&(e.media_loaded=e.mediaLoaded,delete e.mediaLoaded,!0),hw=e=>{if("object"!=typeof e||!e||"object"!=typeof e.conditions||!e.conditions)return!1;const t=e.conditions,n=[];if(void 0!==t.view&&n.push({condition:"view",views:t.view}),void 0!==t.fullscreen&&n.push({condition:"fullscreen",fullscreen:t.fullscreen}),void 0!==t.expand&&n.push({condition:"expand",expand:t.expand}),void 0!==t.camera&&n.push({condition:"camera",cameras:t.camera}),void 0!==t.media_loaded&&n.push({condition:"media_loaded",media_loaded:t.media_loaded}),void 0!==t.state&&Array.isArray(t.state))for(const e of t.state)"object"!=typeof e||!e||void 0===e.state&&void 0===e.state_not&&void 0===e.entity||n.push({condition:"state",...e.state&&{state:e.state},...e.state_not&&{state_not:e.state_not},...e.entity&&{entity:e.entity}});return void 0!==t.media_query&&n.push({condition:"screen",media_query:t.media_query}),!!n.length&&(e.conditions=n,!0)},pw=e=>!("object"!=typeof e||!e||"call-service"!==e.action||"string"!=typeof e.service)&&(e.action="perform-action",e.perform_action=e.service,delete e.service,!0),mw=e=>!("object"!=typeof e||!e||"call-service"!==e.action||void 0===e.service||void 0===e.service_data||void 0!==e.data)&&(e.data=e.service_data,delete e.service_data,!0),gw=e=>!("object"!=typeof e||!e||"custom:frigate-card-action"!==e.action||"frigate_ui"!==e.frigate_card_action)&&(e.frigate_card_action="camera_ui",!0),fw=[lw(bs,uw,(e=>e.conditions)),e=>dw(uw,(e=>e.conditions))("object"==typeof e&&e?e[Ii]:{}),ow("event_gallery",or),ow("menu.buttons.frigate_ui",is),e=>dw(gw)("object"==typeof e&&e?e:{}),lw(Ca,sw("live_provider",(e=>"frigate-jsmpeg"===e?"jsmpeg":e))),ow("live.jsmpeg",ki),ow("live.image",Ci),ow("live.webrtc_card",Si),lw(Ca,ow("frigate.zone","frigate.zones",{transform:e=>Wg(e)})),lw(Ca,ow("frigate.label","frigate.labels",{transform:e=>Wg(e)})),e=>dw(mw)("object"==typeof e&&e?e:{}),function(e){if("object"!=typeof e||!e||!(Ii in e)||!Array.isArray(e[Ii]))return!1;let t=!1;const n=n=>{if(!t){if(!fv(e,"live.controls.ptz")){const{type:t,...a}=n;Yb(e,"live.controls.ptz",a)}t=!0}},a=e=>{const t=[];for(const i of e)if("custom:frigate-card-ptz"===i.type)n(i);else if("conditional"!==i.type&&"custom:frigate-card-conditional"!==i.type||!Array.isArray(i.elements))t.push(i);else{const e=a(i.elements);e.length&&(i.elements=e,t.push(i))}return t},i=a(e[Ii]);return t&&(i.length?e[Ii]=i:delete e[Ii]),t},ow("view.timeout_seconds",Ri),sw("live.lazy_unload",(e=>"all"===e?["unselected","hidden"]:"never"===e?null:Wg(e))),sw("live.auto_play",(e=>"all"===e?null:"never"===e?[]:Wg(e))),sw("live.auto_pause",(e=>"all"===e?["unselected","hidden"]:"never"===e?null:Wg(e))),sw("live.auto_mute",(e=>"all"===e?null:"never"===e?[]:Wg(e))),sw("live.auto_unmute",(e=>"all"===e?["selected","visible","microphone"]:"never"===e?null:Wg(e))),sw("media_viewer.auto_play",(e=>"all"===e?null:"never"===e?[]:Wg(e))),sw("media_viewer.auto_pause",(e=>"all"===e?null:"never"===e?[]:Wg(e))),sw("media_viewer.auto_mute",(e=>"all"===e?null:"never"===e?[]:Wg(e))),sw("media_viewer.auto_unmute",(e=>"all"===e?["selected","visible"]:"never"===e?null:Wg(e))),ow("live.controls.thumbnails.media",io),ow("timeline.media",Ho),ow("live.controls.timeline.media",po),ow("media_viewer.controls.timeline.media",Rr),ow("view.scan",Xi),ow("view.triggers.enabled",ar,{transform:e=>!0===e?"live":null,keepOriginal:!0}),ow("view.triggers.enabled",er,{transform:e=>!0!==e&&null}),ow("view.triggers.untrigger_reset",ir,{transform:e=>e?"default":null}),ow("live.layout",Ai),cw("media_viewer.layout"),cw("image.layout"),lw(bs,hw),e=>dw(hw)("object"==typeof e&&e?e[Ii]:{}),e=>dw(hw)("object"==typeof e&&e?e.automations:{}),lw(Ca,ow("hide","capabilities",{transform:e=>!0===e?{disable_except:["substream"]}:null})),ow("performance.profile",$s,{transform:e=>"low"===e?["low-performance"]:null}),lw(bs,rw("overrides","merge")),ow("live.controls.ptz",zi,{transform:e=>{if("object"!=typeof e||!e)return;const t=["data_left","data_right","data_up","data_down","data_zoom_in","data_zoom_out","service"],n=["actions_left","actions_right","actions_up","actions_down","actions_zoom_in","actions_zoom_out"],a=[...t,...n,"data_home","actions_home"];if(!Object.keys(e).some((e=>a.includes(e))))return;const i={};t.filter((t=>t in e)).reduce(((t,n)=>(t[n]=e[n],t)),i),n.filter((t=>t in e)).reduce(((t,n)=>("object"==typeof e[n]&&"tap_action"in e[n]&&(t[n]=e[n].tap_action),t)),i);const r=()=>{i.presets="presets"in e&&"object"==typeof e.presets&&e.presets?e.presets:{}};return"actions_home"in e&&"object"==typeof e.actions_home&&e.actions_home&&"tap_action"in e.actions_home?(r(),i.presets.home=e.actions_home.tap_action):"data_home"in e&&"object"==typeof e.data_home&&e.data_home&&"string"==typeof e.service&&(r(),i.presets.service=e.service,i.presets.data_home=e.data_home),i},keepOriginal:!0}),sw("live.controls.ptz",(e=>{if("object"!=typeof e||!e)return e;const t=["mode","position","orientation","hide_pan_tilt","hide_zoom","hide_home","style"],n=Object.keys(e);return n.some((e=>!t.includes(e)))?n.filter((e=>t.includes(e))).reduce(((t,n)=>(t[n]=e[n],t)),{}):void 0})),ow("view.update_cycle_camera",Wi),ow("view.update_force",Qi,{transform:e=>!0===e?"all":null}),ow("view.update_seconds",Gi),ow("view.update_entities",Yi),rw("live.controls.title",ds,{transform:e=>"object"==typeof e&&e&&"string"==typeof e.mode?"none"===e.mode?{style:"none"}:e.mode.includes("bottom")?{position:"bottom"}:e.mode.includes("top")?{position:"top"}:null:null}),cw("live.controls.title"),cw("media_viewer.controls.title"),e=>dw(pw)("object"==typeof e&&e?e:{}),ow("dimensions.max_height",ys),cw("dimensions.min_height")];class _w extends zs{}class vw extends Event{constructor(e,t){super("frigate-card:conditions:evaluate",t),this.conditions=e}}function yw(e,t,n){let a=tw(t),i=!1;if(n?.configOverrides)for(const t of n.configOverrides)e.evaluateConditions(t.conditions,n?.stateOverrides)&&(t.delete?.forEach((e=>{ew(a,e)})),Object.keys(t.set??{}).forEach((e=>{Xb(a,e,t.set?.[e])})),Object.keys(t.merge??{}).forEach((e=>{Xb(a,e,Ly({},Jb(a,e),t.merge?.[e]))})),i=!0);if(!i)return t;if(n?.configOverrides?.some((e=>e.delete?.length))&&(a=hf(a)),n?.schema){const e=n.schema.safeParse(a);if(!e.success)throw new _w(V_("error.invalid_configuration_override"),[e.error.errors,a]);return e.data}return a}class bw{constructor(e,t){this._state={},this._epoch=this._createEpoch(),this._hasHAStateConditions=!1,this._mediaQueries=[],this._mediaQueryTrigger=()=>this._triggerChange(),this._api=e,this._listeners=[()=>this._api.getConfigManager().computeOverrideConfig(),()=>this._api.getAutomationsManager().execute(),...t?[t]:[]]}removeConditions(){this._mediaQueries.forEach((e=>e.removeEventListener("change",this._mediaQueryTrigger))),this._mediaQueries=[]}setConditionsFromConfig(){this.removeConditions();const e=(()=>{const e=this._api.getConfigManager().getConfig(),t=[];e?.overrides?.forEach((e=>t.push(...e.conditions))),e?.automations?.forEach((e=>t.push(...e.conditions)));const n=e=>{const a=vl.safeParse(e);a.success?(t.push(...a.data.conditions),a.data.elements?.forEach(n)):e&&"object"==typeof e&&Object.keys(e).forEach((t=>n(e[t])))};return e?.elements?.forEach(n),t})();this._hasHAStateConditions=e.some((e=>!e.condition||["state","numeric_state","user"].includes(e.condition))),e.forEach((e=>{if("screen"===e.condition){const t=window.matchMedia(e.media_query);t.addEventListener("change",this._mediaQueryTrigger),this._mediaQueries.push(t)}}))}setState(e){Object.keys(e).every((t=>Dv(e[t],this._state[t])))||(this._state={...this._state,...e},this._triggerChange())}getState(){return this._state}hasHAStateConditions(){return this._hasHAStateConditions}getEpoch(){return this._epoch}evaluateConditions(e,t){return e.every((e=>this._evaluateCondition(e,t)))}_evaluateCondition(e,t){const n={...this._state,...t};switch(e.condition){case void 0:case"state":return!!n.state&&(!e.state&&!e.state_not||e.entity in n.state&&(!e.state||(Array.isArray(e.state)?e.state.includes(n.state[e.entity].state):e.state===n.state[e.entity].state))&&(!e.state_not||(Array.isArray(e.state_not)?!e.state_not.includes(n.state[e.entity].state):e.state_not!==n.state[e.entity].state)));case"view":return!!n?.view&&e.views.includes(n.view);case"fullscreen":return void 0!==n.fullscreen&&e.fullscreen===n.fullscreen;case"expand":return void 0!==n.expand&&e.expand===n.expand;case"camera":return!!n.camera&&e.cameras.includes(n.camera);case"numeric_state":return!!n.state&&e.entity in n.state&&void 0!==n.state[e.entity].state&&(void 0===e.above||Number(n.state[e.entity].state)>e.above)&&(void 0===e.below||Number(n.state[e.entity].state)n.triggered?.has(e)));case"interaction":return void 0!==n.interaction&&e.interaction===n.interaction;case"microphone":return!(void 0!==e.connected&&n.microphone?.connected!==e.connected||void 0!==e.muted&&n.microphone?.muted!==e.muted);case"key":return!(!n.keys||!(e.key in n.keys)||(e.state??"down")!==n.keys[e.key].state||void 0!==e.ctrl&&e.ctrl!==!!n.keys[e.key].ctrl||void 0!==e.alt&&e.alt!==!!n.keys[e.key].alt||void 0!==e.meta&&e.meta!==!!n.keys[e.key].meta||void 0!==e.shift&&e.shift!==!!n.keys[e.key].shift)}}_createEpoch(){return{manager:this}}_triggerChange(){this._epoch=this._createEpoch(),this._listeners.forEach((e=>e()))}}const ww={casting:{[Qr]:!1,[Sr]:!1,[es]:"none",[`${os}.enabled`]:!0,[`${ss}.enabled`]:!0,[`${rs}.enabled`]:!1,[`${cs}.enabled`]:!1,[Zr]:["selected","visible"],[vs]:"static",[_s]:"16:9",[$i]:1,[$o]:!0},"low-performance":{[ro]:"none",[Ar]:"none",[Uo]:"none",[fo]:!1,[Nr]:!1,[Bo]:!1,[Wr]:[],[mr]:[],[gr]:[],[fr]:[],[ko]:["unselected","hidden"],[Co]:!1,[xr]:!1,[Eo]:"none",[kr]:"none",[$o]:!1,[Er]:"chevrons",[hs]:"none",[es]:"outside",[`${as}.enabled`]:!1,[`${ls}.enabled`]:!1,[`${ls}.enabled`]:!1,[`${cs}.enabled`]:!1,[lr]:!1,[dr]:!1,[ur]:!1,[cr]:!1,[co]:!1,[lo]:!1,[uo]:!1,[so]:!1,[Ir]:!1,[Tr]:!1,[jr]:!1,[zr]:!1,[Qo]:!1,[Go]:!1,[Yo]:!1,[Zo]:!1,[xs]:!1,[Cs]:10,[Es]:!1,[Ss]:!1,[Mr]:!1,[Ei]:!1,[Mi]:"image",[$i]:10,[ar]:"none",[Ms]:1},scrubbing:{[mo]:"below",[_o]:"ribbon",[go]:"seek",[Pr]:"below",[Fr]:"ribbon",[Lr]:"seek"}},xw=(e,t,n)=>{const a=Ds(Nd).safeParse(e);if(!a.success)return t;const i=a.data;for(const e of n??[])e in ww&&Object.entries(ww[e]).forEach((([e,n])=>{return r=n,void(void 0===Jb(i,a=e)&&Xb(t,a,r));var a,r}));return t},Cw=e=>{switch(e){case"ptz_left":return"left";case"ptz_right":return"right";case"ptz_up":return"up";case"ptz_down":return"down";case"ptz_zoom_in":return"zoom_in";case"ptz_zoom_out":return"zoom_out"} -/* istanbul ignore next: No (current) way to reach this code -- @preserve */return null},Mw=(e,t)=>{if(!t.enabled)return[];const n=[];for(const a of["ptz_down","ptz_left","ptz_right","ptz_up","ptz_zoom_in","ptz_zoom_out"]){const i=t[a],r=Cw(a);i&&r&&(n.push({conditions:[{condition:"key",key:i.key,state:"down",shift:i.shift,ctrl:i.ctrl,alt:i.alt,meta:i.meta}],actions:[vf({ptzAction:r,ptzPhase:"start"})],tag:e}),n.push({conditions:[{condition:"key",key:i.key,state:"up"}],actions:[vf({ptzAction:r,ptzPhase:"stop"})],tag:e}))}const a=t.ptz_home;return a&&n.push({conditions:[{condition:"key",key:a.key,state:"down",shift:a.shift,ctrl:a.ctrl,alt:a.alt,meta:a.meta}],actions:[vf()],tag:e}),n};class kw{constructor(e){this._config=null,this._overriddenConfig=null,this._rawConfig=null,this._cardWideConfig=null,this._api=e}hasConfig(){return!!this.getConfig()}getConfig(){return this._overriddenConfig??this._config}getCardWideConfig(){return this._cardWideConfig}getNonOverriddenConfig(){return this._config}getRawConfig(){return this._rawConfig}setConfig(e){if(!e)throw new Error(V_("error.invalid_configuration"));const t=Nd.safeParse(e);if(!t.success){const n=iw(e),a=Ps(t.error);let i="";throw n&&(i=`${V_("error.upgrade_available")}. `),new Error(i+`${V_("error.invalid_configuration")}: `+(a&&a.size?JSON.stringify([...a],null," "):V_("error.invalid_configuration_no_hint")))}const n=xw(e,t.data,t.data.profiles);var a;(this._rawConfig=e,Dv(this._config,n))||(this._config=n,this._cardWideConfig={performance:n.performance,debug:n.debug},this._api.getConditionsManager().setConditionsFromConfig(),this._api.getConditionsManager().setState({view:void 0,displayMode:void 0,camera:void 0}),this._api.getMediaLoadedInfoManager().clear(),this._api.getInitializationManager().uninitialize(Zb.VIEW),this._api.getViewManager().reset(),this._api.getMessageManager().reset(),this._api.getStyleManager().setPerformance(),this._api.getStatusBarItemManager().removeAllDynamicStatusBarItems(),((e,t)=>{e.getAutomationsManager().deleteAutomations(t);const n=e.getConfigManager().getConfig()?.view.keyboard_shortcuts;if(!n)return;const a=Mw(t,n);a.length&&e.getAutomationsManager().addAutomations(a)})(this._api,this),(a=this._api).getAutomationsManager().deleteAutomations(),a.getAutomationsManager().addAutomations(a.getConfigManager().getNonOverriddenConfig()?.automations??[]),this.computeOverrideConfig(),this._api.getCardElementManager().update())}computeOverrideConfig(){const e=this._api.getConditionsManager();if(!this._config)return;let t=null;try{t=yw(e,this._config,{configOverrides:this._config.overrides,schema:Nd})}catch(e){return void this._api.getMessageManager().setErrorIfHigherPriority(e)}if(Dv(t,this._overriddenConfig))return;const n=this._overriddenConfig;this._overriddenConfig=t,this._api.getStyleManager().setMinMaxHeight(),!n||Dv(n?.cameras,this._overriddenConfig?.cameras)&&Dv(n?.cameras_global,this._overriddenConfig?.cameras_global)||this._api.getInitializationManager().uninitialize(Zb.CAMERAS),n&&n?.live.microphone.always_connected!==this._overriddenConfig?.live.microphone.always_connected&&this._api.getInitializationManager().uninitialize(Zb.MICROPHONE_CONNECT),this._initializeBackground(n)}async _initializeBackground(e){await this._api.getDefaultManager().initializeIfNecessary(e),await this._api.getMediaPlayerManager().initializeIfNecessary(e),this._api.getCardElementManager().update()}}class Sw{constructor(e){this._timer=new xf,this._stateChangeHandler=()=>{this._setToDefaultIfAllowed()},this._api=e}async initializeIfNecessary(e){Dv(e?.view.default_reset,this._api.getConfigManager().getConfig()?.view.default_reset)||await this.initialize()}async initialize(){this.uninitialize();const e=this._api.getConfigManager().getConfig()?.view.default_reset;e?.entities.length&&this._api.getHASSManager().getStateWatcher().subscribe(this._stateChangeHandler,e.entities);const t=this._api.getConfigManager().getConfig()?.view.default_reset.every_seconds;return t&&this._timer.startRepeated(t,(()=>this._setToDefaultIfAllowed())),this._api.getConfigManager().getConfig()?.view.default_reset.after_interaction&&this._api.getAutomationsManager().addAutomations([{actions:[gf("default")],conditions:[{condition:"interaction",interaction:!1}],tag:this}]),!0}uninitialize(){this._timer.stop(),this._api.getHASSManager().getStateWatcher().unsubscribe(this._stateChangeHandler),this._api.getAutomationsManager().deleteAutomations(this)}_setToDefaultIfAllowed(){this._isAutomatedUpdateAllowed()&&this._api.getViewManager().setViewDefault()}_isAutomatedUpdateAllowed(){const e=this._api.getConfigManager().getConfig()?.view.default_reset.interaction_mode;return!!e&&((e,t)=>{switch(e){case"all":return!0;case"active":return t;case"inactive":return!t}})(e,this._api.getInteractionManager().hasInteraction())}}const Ew=(e,t="download")=>{const n=new URL(e).origin===window.location.origin,a=e.startsWith("data:");if(navigator.userAgent.startsWith("Home Assistant/")||navigator.userAgent.startsWith("HomeAssistant/")||!n&&!a)window.open(e,"_blank");else{const n=document.createElement("a");n.setAttribute("download",t),n.href=e,n.click(),n.remove()}},$w=async(e,t,n)=>{const a=await t.getMediaDownloadPath(n);if(!a)throw new zs(V_("error.download_no_media"));let i=a.endpoint;if(a.sign){let t;try{t=await Tb(e,a.endpoint)}catch(e){Gg(e)}if(!t)throw new zs(V_("error.download_sign_failed"));i=t}Ew(i)},Aw=e=>{const t=document.createElement("canvas");t.width=e.videoWidth,t.height=e.videoHeight;const n=t.getContext("2d");return n?(n.drawImage(e,0,0,t.width,t.height),t.toDataURL("image/jpeg")):null};class zw{constructor(e){this._api=e}async downloadViewerMedia(){const e=this._api.getViewManager().getView()?.queryResults?.getSelectedResult(),t=this._api.getHASSManager().getHASS();if(!e||!t)return!1;try{await $w(t,this._api.getCameraManager(),e)}catch(e){return this._api.getMessageManager().setErrorIfHigherPriority(e),!1}return!0}async downloadScreenshot(){const e=await(this._api.getMediaLoadedInfoManager().get()?.player?.getScreenshotURL());e&&Ew(e,(e=>{if(e?.is("live")||e?.is("image"))return`${e.view}-${e.camera}-${Wu(new Date,"yyyy-MM-dd-HH-mm-ss")}.jpg`;if(e?.isViewerView()){const t=e.queryResults?.getSelectedResult(),n=t?.getID()??null;return`${e.view}-${e.camera}${n?`-${n}`:""}.jpg`}return"screenshot.jpg"})(this._api.getViewManager().getView()))}}class Iw{constructor(e){this._expanded=!1,this._api=e}initialize(){this._setConditionState()}isExpanded(){return this._expanded}toggleExpanded(){this.setExpanded(!this._expanded)}setExpanded(e){e&&this._api.getFullscreenManager().isInFullscreen()&&this._api.getFullscreenManager().stopFullscreen(),this._expanded=e,this._setConditionState(),this._api.getCardElementManager().update()}_setConditionState(){this._api.getConditionsManager()?.setState({expand:this._expanded})}}const Tw=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],jw=(()=>{if("undefined"==typeof document)return!1;const e=Tw[0],t={};for(const n of Tw){const a=n?.[1];if(a in document){for(const[a,i]of n.entries())t[e[a]]=i;return t}}return!1})(),Ow={change:jw.fullscreenchange,error:jw.fullscreenerror};let Dw={request:(e=document.documentElement,t)=>new Promise(((n,a)=>{const i=()=>{Dw.off("change",i),n()};Dw.on("change",i);const r=e[jw.requestFullscreen](t);r instanceof Promise&&r.then(i).catch(a)})),exit:()=>new Promise(((e,t)=>{if(!Dw.isFullscreen)return void e();const n=()=>{Dw.off("change",n),e()};Dw.on("change",n);const a=document[jw.exitFullscreen]();a instanceof Promise&&a.then(n).catch(t)})),toggle:(e,t)=>Dw.isFullscreen?Dw.exit():Dw.request(e,t),onchange(e){Dw.on("change",e)},onerror(e){Dw.on("error",e)},on(e,t){const n=Ow[e];n&&document.addEventListener(n,t,!1)},off(e,t){const n=Ow[e];n&&document.removeEventListener(n,t,!1)},raw:jw};Object.defineProperties(Dw,{isFullscreen:{get:()=>Boolean(document[jw.fullscreenElement])},element:{enumerable:!0,get:()=>document[jw.fullscreenElement]??void 0},isEnabled:{enumerable:!0,get:()=>Boolean(document[jw.fullscreenEnabled])}}),jw||(Dw={isEnabled:!1});var Rw=Dw;class Pw{constructor(e){this._fullscreenHandler=()=>{this._api.getExpandManager().setExpanded(!1),this._setConditionState(),this._api.getCardElementManager().update()},this._api=e}initialize(){this._setConditionState()}connect(){Rw.isEnabled&&Rw.on("change",this._fullscreenHandler)}disconnect(){Rw.isEnabled&&Rw.off("change",this._fullscreenHandler)}isInFullscreen(){return Rw.isEnabled&&Rw.isFullscreen}toggleFullscreen(){Rw.toggle(this._api.getCardElementManager().getElement())}stopFullscreen(){Rw.exit()}_setConditionState(){this._api.getConditionsManager()?.setState({fullscreen:this.isInFullscreen()})}}class Lw{constructor(){this._watcherCallbacks=new Map}setHASS(e,t){if(e)for(const[n,a]of this._watcherCallbacks.entries()){const i=jb(t,e,a,{stateOnly:!0,firstOnly:!0});i.length&&n(i[0])}}subscribe(e,t){return!!t.length&&(this._watcherCallbacks.has(e)?this._watcherCallbacks.get(e)?.push(...t):this._watcherCallbacks.set(e,t),!0)}unsubscribe(e){this._watcherCallbacks.delete(e)}}class Nw{constructor(e){this._hass=null,this._stateWatcher=new Lw,this._api=e}getHASS(){return this._hass}hasHASS(){return!!this._hass}getStateWatcher(){return this._stateWatcher}setHASS(e){if(((e,t)=>e?.connected!==t?.connected)(this._hass,e)&&(e?.connected?this._api.getMessageManager().resetType("connection"):this._api.getMessageManager().setMessageIfHigherPriority({message:V_("error.reconnecting"),icon:"mdi:lan-disconnect",type:"connection",dotdotdot:!0})),!e)return;const t=this._hass;this._hass=e,this._api.getConditionsManager().hasHAStateConditions()&&this._api.getConditionsManager().setState({state:this._hass.states,user:this._hass.user}),this._api.getStyleManager().setLightOrDarkMode(),this._stateWatcher.setHASS(t,e)}}var Fw=function(){return th.Date.now()},Vw="Expected a function",Hw=Math.max,Bw=Math.min;function qw(e,t,n){var a,i,r,o,s,c,l=0,d=!1,u=!1,h=!0;if("function"!=typeof e)throw new TypeError(Vw);function p(t){var n=a,r=i;return a=i=void 0,l=t,o=e.apply(r,n)}function m(e){var n=e-c;return void 0===c||n>=t||n<0||u&&e-l>=r}function g(){var e=Fw();if(m(e))return f(e);s=setTimeout(g,function(e){var n=t-(e-c);return u?Bw(n,r-(e-l)):n}(e))}function f(e){return s=void 0,h&&a?p(e):(a=i=void 0,o)}function _(){var e=Fw(),n=m(e);if(a=arguments,i=this,c=e,n){if(void 0===s)return function(e){return l=e,s=setTimeout(g,t),d?p(e):o}(c);if(u)return clearTimeout(s),s=setTimeout(g,t),p(c)}return void 0===s&&(s=setTimeout(g,t)),o}return t=Cg(t)||0,hh(n)&&(d=!!n.leading,r=(u="maxWait"in n)?Hw(Cg(n.maxWait)||0,t):r,h="trailing"in n?!!n.trailing:h),_.cancel=function(){void 0!==s&&clearTimeout(s),l=0,a=c=i=s=void 0},_.flush=function(){return void 0===s?o:f(Fw())},_}function Uw(e,t,n){var a=!0,i=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return hh(n)&&(a="leading"in n?!!n.leading:a,i="trailing"in n?!!n.trailing:i),qw(e,t,{leading:a,maxWait:t,trailing:i})}class Ww{constructor(e){this._timer=new xf,this.reportInteraction=Uw((()=>{this._reportInteraction()}),1e3),this._api=e}initialize(){this._api.getConditionsManager().setState({interaction:!1})}hasInteraction(){return this._timer.isRunning()}_reportInteraction(){this._timer.stop();const e=this._api.getConfigManager().getConfig()?.view.interaction_seconds;e&&(this._api.getConditionsManager().setState({interaction:!0}),this._timer.start(e,(()=>{this._api.getConditionsManager().setState({interaction:!1}),this._api.getStyleManager().setLightOrDarkMode()})))}}class Zw{constructor(e){this._state={},this._handleKeydown=e=>{const t={state:"down",ctrl:e.ctrlKey,alt:e.altKey,meta:e.metaKey,shift:e.shiftKey};Dv(this._state[e.key],t)||(this._state[e.key]=t,this._processStateChange())},this._handleKeyup=e=>{e.key in this._state&&"down"===this._state[e.key].state&&(this._state[e.key].state="up",this._processStateChange())},this._handleBlur=()=>{Object.keys(this._state).length&&(this._state={},this._processStateChange())},this._api=e}initialize(){const e=this._api.getCardElementManager().getElement();e.addEventListener("keydown",this._handleKeydown),e.addEventListener("keyup",this._handleKeyup),e.addEventListener("blur",this._handleBlur)}uninitialize(){const e=this._api.getCardElementManager().getElement();e.removeEventListener("keydown",this._handleKeydown),e.removeEventListener("keyup",this._handleKeyup),e.removeEventListener("blur",this._handleBlur)}_processStateChange(){this._api.getConditionsManager().setState({keys:this._state})}}function Qw(e,t){let n;return n=e instanceof Event?e.composedPath()[0]:e,n instanceof HTMLImageElement?{width:n.naturalWidth,height:n.naturalHeight,...t}:n instanceof HTMLVideoElement?{width:n.videoWidth,height:n.videoHeight,...t}:n instanceof HTMLCanvasElement?{width:n.width,height:n.height,player:t?.player,...t}:null}function Gw(e,t,n){const a=Qw(t,n);a&&Yw(e,a)}function Yw(e,t){Bg(e,"media:loaded",t)}function Kw(e){Bg(e,"media:unloaded")}function Xw(e){Bg(e,"media:volumechange")}function Jw(e){Bg(e,"media:play")}function ex(e){Bg(e,"media:pause")}class tx{constructor(e){this._current=null,this._lastKnown=null,this._api=e}initialize(){this.clear()}set(e){var t;(t=e).height>=50&&t.width>=50&&(B_(this._api.getConfigManager().getCardWideConfig(),"Frigate Card media load: ",e),this._current=e,this._lastKnown=e,this._api.getConditionsManager().setState({media_loaded:!0}),this._api.getStyleManager().setExpandedMode(),this._api.getCardElementManager().update())}get(){return this._current}getLastKnown(){return this._lastKnown}clear(){this._current=null,this._api.getConditionsManager().setState({media_loaded:!1})}has(){return!!this._current}}class nx{static isEvent(e){return this.isClip(e)||this.isSnapshot(e)}static isRecording(e){return"recording"===e.getMediaType()}static isClip(e){return"clip"===e.getMediaType()}static isSnapshot(e){return"snapshot"===e.getMediaType()}static isVideo(e){return this.isClip(e)||this.isRecording(e)}}class ax{constructor(e){this._mediaPlayers=[],this._api=e}getMediaPlayers(){return this._mediaPlayers}hasMediaPlayers(){return this._mediaPlayers.length>0}async initializeIfNecessary(e){e?.menu.buttons.media_player.enabled!==this._api.getConfigManager().getConfig()?.menu.buttons.media_player.enabled&&await this.initialize()}async initialize(){const e=this._api.getHASSManager().getHASS();if(!e||!this._api.getConfigManager().getConfig()?.menu.buttons.media_player.enabled)return!1;const t=Object.keys(e.states).filter((t=>{if(t.startsWith("media_player.")){const n=e.states[t];if(n&&"unavailable"!==n.state&&yb(n,131072))return!0}return!1}));let n=null;try{n=await this._api.getEntityRegistryManager().getEntities(e,t)}catch(e){Gg(e)}return this._mediaPlayers=t.filter((e=>{const t=n?.get(e);return!t||!t.hidden_by})),!0}async stop(e){const t=this._api.getHASSManager().getHASS(),n=t?.states[e];if(!n)return;let a;if(yb(n,4096))a="media_stop";else{if(!yb(n,256))return;a="turn_off"}await t.callService("media_player",a,{entity_id:e})}async playLive(e,t){const n=this._api.getCameraManager().getStore().getCameraConfig(t);n&&("dashboard"===n.cast?.method?await this._playLiveDashboard(e,n):await this._playLiveStandard(e,t,n))}async _playLiveStandard(e,t,n){const a=this._api.getHASSManager().getHASS(),i=n?.camera_entity??null;if(!a||!i)return;const r=this._api.getCameraManager().getCameraMetadata(t)?.title??null,o=a.states[i]?.attributes?.entity_picture??null;await a.callService("media_player","play_media",{entity_id:e,media_content_id:`media-source://camera/${i}`,media_content_type:"application/vnd.apple.mpegurl",extra:{...r&&{title:r},...o&&{thumb:o}}})}async _playLiveDashboard(e,t){const n=this._api.getHASSManager().getHASS();if(!n)return;const a=t.cast?.dashboard;a?.dashboard_path&&a?.view_path?await n.callService("cast","show_lovelace_view",{entity_id:e,dashboard_path:a.dashboard_path,view_path:a.view_path}):this._api.getMessageManager().setMessageIfHigherPriority({type:"error",icon:"mdi:cast",message:V_("error.no_dashboard_or_view")})}async playMedia(e,t){const n=this._api.getHASSManager().getHASS();if(!n||!t)return;const a=t.getTitle(),i=t.getThumbnail();await n.callService("media_player","play_media",{entity_id:e,media_content_id:t.getContentID(),media_content_type:nx.isVideo(t)?"video":"image",extra:{...a&&{title:a},...i&&{thumb:i}}})}}class ix{constructor(e){this._message=null,this._api=e}getMessage(){return this._message}hasMessage(){return!!this._message}hasErrorMessage(){return"error"===this._message?.type}reset(){const e=this.hasMessage();this._message=null,e&&this._api.getCardElementManager().update()}resetType(e){this._message?.type===e&&this.reset()}setErrorIfHigherPriority(e,t){e&&"object"==typeof e&&"message"in e&&(Gg(e),this.setMessageIfHigherPriority({message:t?`${t}: ${e.message}`:e.message,type:"error",...e instanceof zs&&{context:e.context}}))}setMessageIfHigherPriority(e){const t=this._message?Is[this._message.type]:0,n=Is[e.type];return!(this._message&&ne.stop())),this._stream=void 0,this._setConditionState(),this._api.getCardElementManager().update()}getStream(){return this._stream??void 0}mute(){const e=this.isMuted();this._mute=!0,this._setMute(),this._setConditionState(),e||this._callListeners("muted")}async unmute(){if(!this.isSupported())return;const e=!this.isMuted(),t=()=>{this._mute=!1,this._setMute()};this.isConnected()||this.isForbidden()?this.isConnected()&&t():(t(),await this.connect()),this._setConditionState(),e||this._callListeners("unmuted")}isConnected(){return!!this._stream}isForbidden(){return null===this._stream}isMuted(){return!this._stream||this._stream.getTracks().every((e=>!e.enabled))}addListener(e){this._listeners.push(e)}removeListener(e){this._listeners=this._listeners.filter((t=>t!==e))}_callListeners(e){this._listeners.forEach((t=>t(e)))}_setMute(){this._stream?.getTracks().forEach((e=>{e.enabled=!this._mute})),this._startTimer(),this._api.getCardElementManager().update()}_startTimer(){const e=this._api.getConfigManager().getConfig()?.live.microphone;if(e?.always_connected)return;const t=e?.disconnect_seconds??0;t&&this._timer.start(t,(()=>{this.disconnect()}))}_setConditionState(){this._api.getConditionsManager().setState({microphone:{muted:this.isMuted(),connected:this.isConnected()}})}}class ox{constructor(e){this._shouldRun=!0,this.requestExecution=()=>{this._shouldRun=!0,this._api.getCardElementManager().update()},this.executeIfNecessary=async()=>{this._shouldRun&&(this._shouldRun=!1,await this._executeViewRelated(this._calculateIntent()),await this._executeNonViewRelated(this._calculateIntent()))},this._isViewAction=e=>{switch(e.frigate_card_action){case"clip":case"clips":case"diagnostics":case"image":case"live":case"recording":case"recordings":case"snapshot":case"snapshots":case"timeline":return!0}return!1},this._api=e}hasViewRelatedActionsToRun(){return!!this._calculateIntent().view&&this._shouldRun}async _executeViewRelated(e){e.view&&(e.view.default?await this._api.getViewManager().setViewDefaultWithNewQuery({params:{camera:e.view.camera},...e.view.substream&&{modifiers:[new sb(e.view.substream)]}}):await this._api.getViewManager().setViewByParametersWithNewQuery({params:{...e.view.view&&{view:e.view.view},...e.view.camera&&{camera:e.view.camera}},...e.view.substream&&{modifiers:[new sb(e.view.substream)]}}))}async _executeNonViewRelated(e){e.other&&await this._api.getActionsManager().executeActions(e.other)}_calculateIntent(){const e={};for(const t of this._getActions())this._isViewAction(t)?((e.view??={}).view=t.frigate_card_action,(e.view??={}).default=void 0):"default"===t.frigate_card_action?((e.view??={}).default=!0,(e.view??={}).view=void 0):"camera_select"===t.frigate_card_action?(e.view??={}).camera=t.camera:"live_substream_select"===t.frigate_card_action?(e.view??={}).substream=t.camera:(e.other??=[]).push(t);return e}_getActions(){const e=new URLSearchParams(window.location.search),t=[],n=new RegExp(/^frigate-card-action([.:](?\w+))?[.:](?\w+)/);for(const[a,i]of e.entries()){const e=a.match(n);if(!e||!e.groups)continue;const r=e.groups.cardID,o=e.groups.action;let s=null;switch(o){case"camera_select":case"live_substream_select":i&&(s=ff(o,i,{cardID:r}));break;case"camera_ui":case"clip":case"clips":case"default":case"diagnostics":case"download":case"expand":case"image":case"live":case"menu_toggle":case"recording":case"recordings":case"snapshot":case"snapshots":case"timeline":s=gf(o,{cardID:r});break;default:console.warn(`Frigate card received unknown card action in query string: ${o}`)}s&&t.push(s)}return t}}class sx{constructor(e){this._items=[],this._dynamicItems=[],this._api=e}addDynamicStatusBarItem(e){this._dynamicItems.includes(e)||this._dynamicItems.push(e),this._api.getCardElementManager().update()}removeDynamicStatusBarItem(e){this._dynamicItems=this._dynamicItems.filter((t=>!Dv(t,e))),this._api.getCardElementManager().update()}removeAllDynamicStatusBarItems(){this._dynamicItems=[],this._api.getCardElementManager().update()}calculateItems(e){const t=e?.view?e?.cameraManager?.getCameraMetadata(e?.view?.camera):null,n=t?.engineLogo??null,a=e?.view?.is("live")?t?.title??null:e?.view?.isViewerView()?e?.view.queryResults?.getSelectedResult()?.getTitle()??null:null,i=e?.mediaLoadedInfo?this._calculateResolution(e?.mediaLoadedInfo):null,r=e?.mediaLoadedInfo?.technology?.length?e?.mediaLoadedInfo.technology[0]:null;return[...a?[{type:"custom:frigate-card-status-bar-string",string:a,expand:!0,sufficient:!0,...e?.statusConfig?.items.title}]:[],...i?[{type:"custom:frigate-card-status-bar-string",string:i,...e?.statusConfig?.items.resolution}]:[],...r&&"webrtc"===r?[{type:"custom:frigate-card-status-bar-icon",icon:"mdi:webrtc",...e?.statusConfig?.items.technology}]:r?[{type:"custom:frigate-card-status-bar-string",string:r.toUpperCase(),...e?.statusConfig?.items.technology}]:[],...n?[{type:"custom:frigate-card-status-bar-image",image:n,...e?.statusConfig?.items.engine}]:[],...this._dynamicItems]}_matchesWidthHeight(e,t,n){const a=.99*t,i=1.01*t,r=.99*n,o=1.01*n,s=(e,t,n)=>e>=t&&e<=n;return!!e&&(s(e.width,a,i)&&s(e.height,r,o)||s(e.height,a,i)&&s(e.width,r,o))}_calculateResolution(e){return this._matchesWidthHeight(e,1920,1080)?"1080p":this._matchesWidthHeight(e,1280,720)?"720p":this._matchesWidthHeight(e,640,480)?"VGA":this._matchesWidthHeight(e,3840,2160)?"4K":this._matchesWidthHeight(e,720,480)?"480p":this._matchesWidthHeight(e,720,576)?"576p":this._matchesWidthHeight(e,7680,4320)?"8K":`${e.width}x${e.height}`}}class cx{constructor(e){this.setLightOrDarkMode=()=>{const e=this._api.getConfigManager().getConfig(),t="on"===e?.view.dark_mode||"auto"===e?.view.dark_mode&&(!this._api.getInteractionManager().hasInteraction()||!!this._api.getHASSManager().getHASS()?.themes.darkMode);of(this._api.getCardElementManager().getElement(),t,"dark")},this._api=e}setExpandedMode(){const e=this._api.getCardElementManager().getElement(),t=this._api.getViewManager().getView(),n=this._api.getMediaLoadedInfoManager().getLastKnown();e.style.setProperty("--frigate-card-expand-aspect-ratio",t?.isAnyMediaView()&&n?`${n.width} / ${n.height}`:"unset");const a=t?.isGrid();e.style.setProperty("--frigate-card-expand-width",!a&&t?.isAnyMediaView()?"none":"var(--frigate-card-expand-max-width)"),e.style.setProperty("--frigate-card-expand-height",!a&&t?.isAnyMediaView()?"none":"var(--frigate-card-expand-max-height)")}setMinMaxHeight(){const e=this._api.getConfigManager().getConfig();if(e){this._api.getCardElementManager().getElement().style.setProperty("--frigate-card-height",e.dimensions.height)}}setPerformance(){const e={box_shadow:"none",border_radius:"0px"},t=this._api.getCardElementManager().getElement(),n=this._api.getConfigManager().getCardWideConfig()?.performance,a=n?.style??{};for(const n of Object.keys(a)){const i=`--frigate-card-css-${n.replaceAll("_","-")}`;!1===a[n]?t.style.setProperty(i,e[n]):t.style.removeProperty(i)}}_isAspectRatioEnforced(e,t){const n=e.dimensions.aspect_ratio_mode;return!(this._api.getFullscreenManager().isInFullscreen()||this._api.getExpandManager().isExpanded()||"unconstrained"===n||"dynamic"===n&&(!t||t?.isAnyMediaView()||t?.is("timeline")||t?.is("diagnostics")))}getAspectRatioStyle(){const e=this._api.getConfigManager().getConfig(),t=this._api.getViewManager().getView();if(e){if(!this._isAspectRatioEnforced(e,t))return uf();const n=e.dimensions.aspect_ratio_mode,a=this._api.getMediaLoadedInfoManager().getLastKnown();return uf(a&&"dynamic"===n?{ratio:[a.width,a.height]}:{ratio:e.dimensions.aspect_ratio})}return uf({defaultStatic:!0})}}class lx{constructor(e){this._triggeredCameras=new Map,this._triggeredCameraTimers=new Map,this._throttledTriggerAction=Uw(this._triggerAction.bind(this),1e3,{trailing:!0}),this._api=e}getTriggeredCameraIDs(){return new Set(this._triggeredCameras.keys())}isTriggered(){return!!this._triggeredCameras.size}getMostRecentlyTriggeredCameraID(){const e=Ev([...this._triggeredCameras.entries()],(e=>e[1].getTime()),"desc");return e.length?e[0][0]:null}async handleCameraEvent(e){const t=this._api.getConfigManager().getConfig()?.view.triggers,n=this._api.getViewManager().getView()?.camera;if(!t||!n)return;const a=this._api.getCameraManager().getStore().getAllDependentCameras(n);t.filter_selected_camera&&!a.has(e.cameraID)||("end"!==e.type?(this._triggeredCameras.set(e.cameraID,new Date),this._setConditionStateIfNecessary(),await this._throttledTriggerAction(e)):this._startUntriggerTimer(e.cameraID))}_hasAllowableInteractionStateForAction(){const e=this._api.getConfigManager().getConfig()?.view.triggers,t=this._api.getInteractionManager().hasInteraction();return!!e&&("all"===e.actions.interaction_mode||"active"===e.actions.interaction_mode&&t||"inactive"===e.actions.interaction_mode&&!t)}async _triggerAction(e){const t=this._api.getConfigManager().getConfig()?.view.triggers.actions.trigger,n=this._api.getConfigManager().getConfig()?.view.default;("high"!==e.fidelity||e.snapshot||e.clip||"live"===t||"default"===t&&"live"===n)&&(this._hasAllowableInteractionStateForAction()&&("update"===t?await this._api.getViewManager().setViewByParametersWithNewQuery({queryExecutorOptions:{useCache:!1}}):"live"===t?await this._api.getViewManager().setViewByParametersWithNewQuery({params:{view:"live",camera:e.cameraID}}):"default"===t?await this._api.getViewManager().setViewDefaultWithNewQuery({params:{camera:e.cameraID}}):"high"===e.fidelity&&"media"===t&&await this._api.getViewManager().setViewByParametersWithNewQuery({params:{view:e.clip?"clip":"snapshot",camera:e.cameraID}})),this._api.getCardElementManager().update())}_setConditionStateIfNecessary(){const e=new Set(this._triggeredCameras.keys()),t=e.size?e:void 0;Dv(t,this._api.getConditionsManager().getState().triggered)||this._api.getConditionsManager().setState({triggered:t})}async _untriggerAction(e){const t=this._api.getConfigManager().getConfig()?.view.triggers.actions.untrigger;"default"===t&&this._hasAllowableInteractionStateForAction()&&await this._api.getViewManager().setViewDefaultWithNewQuery(),this._triggeredCameras.delete(e),this._deleteTimer(e),this._setConditionStateIfNecessary(),this._api.getCardElementManager().update()}_startUntriggerTimer(e){this._deleteTimer(e);const t=new xf;this._triggeredCameraTimers.set(e,t),t.start( -/* istanbul ignore next: the case of config being null here cannot be - reached, as there's no way to have the untrigger call happen without - a config. -- @preserve */ -this._api.getConfigManager().getConfig()?.view.triggers.untrigger_seconds??0,(async()=>{await this._untriggerAction(e)}))}_deleteTimer(e){this._triggeredCameraTimers.get(e)?.stop(),this._triggeredCameraTimers.delete(e)}}function dx(e,t){return t="function"==typeof t?t:void 0,e&&e.length?Hg(e,void 0,t):[]}class ux{constructor(e){this._queries=null,e&&(this._queries=e)}clone(){return u_(this)}getQueries(){return this._queries}setQueries(e){return this._queries=e,this}getQueryCameraIDs(){if(!this._queries)return null;const e=new Set;return this._queries.forEach((t=>[...t.cameraIDs].forEach((t=>e.add(t))))),e}setQueryCameraIDs(e){if(!this._queries)return this;const t=[];return this._queries.forEach((n=>t.push({...n,cameraIDs:Zg(e)}))),this._queries=dx(t,Dv),this}hasQueriesForCameraIDs(e){for(const t of e)if(!this._queries?.some((e=>e.cameraIDs.has(t))))return!1;return!0}}class hx extends ux{convertToClipsQueries(){for(const e of this._queries??[])delete e.hasSnapshot,e.hasClip=!0;return this}}class px extends ux{}class mx{static areEventQueries(e){return e instanceof hx}static areRecordingQueries(e){return e instanceof px}static areClipsQueries(e){return this.areEventQueries(e)&&!!e?.getQueries()?.every((e=>e.hasClip))}static areSnapshotQueries(e){return this.areEventQueries(e)&&!!e?.getQueries()?.every((e=>e.hasSnapshot))}static getQueriesType(e){return this.areEventQueries(e)?"event":this.areRecordingQueries(e)?"recording":null}static getMediaType(e){return this.areClipsQueries(e)?"clips":this.areSnapshotQueries(e)?"snapshots":this.areRecordingQueries(e)?"recordings":null}}const gx=(e,t,n)=>{const a={anyCapabilities:["clips","snapshots","recordings"]};switch(t){case"image":case"diagnostics":return e.getStore().getCameraIDs();case"live":case"clip":case"clips":case"snapshot":case"snapshots":case"recording":case"recordings":const i="clip"===t?"clips":"snapshot"===t?"snapshots":"recording"===t?"recordings":t;return n?e.getStore().getAllDependentCameras(n,i):e.getStore().getCameraIDsWithCapability(i);case"timeline":return e.getStore().getCameraIDsWithCapability(a);case"media":return n?e.getStore().getAllDependentCameras(n,a):e.getStore().getCameraIDsWithCapability(a)}},fx=(e,t)=>Ly({},e,t);class _x{constructor(e){this.view=e.view,this.camera=e.camera,this.query=e.query??null,this.queryResults=e.queryResults??null,this.context=e.context??null,this.displayMode=e.displayMode??null}clone(){return new _x({view:this.view,camera:this.camera,query:this.query?.clone()??null,queryResults:this.queryResults?.clone()??null,context:this.context,displayMode:this.displayMode})}evolve(e){return new _x({view:void 0!==e.view?e.view:this.view,camera:void 0!==e.camera?e.camera:this.camera,query:void 0!==e.query?e.query:this.query?.clone()??null,queryResults:void 0!==e.queryResults?e.queryResults:this.queryResults?.clone()??null,context:void 0!==e.context?e.context:this.context,displayMode:void 0!==e.displayMode?e.displayMode:this.displayMode})}mergeInContext(e){return this.context=fx(this.context,e),this}removeContext(e){return this.context&&delete this.context[e],this}removeContextProperty(e,t){const n=this.context?.[e];return n&&delete n[t],this}is(e){return this.view==e}isGalleryView(){return["clips","snapshots","recordings"].includes(this.view)}isAnyMediaView(){return this.isViewerView()||this.is("live")||this.is("image")}isViewerView(){return["media","clip","snapshot","recording"].includes(this.view)}supportsMultipleDisplayModes(){return this.isViewerView()||this.is("live")}getDefaultMediaType(){return["clip","clips"].includes(this.view)?"clips":["snapshot","snapshots"].includes(this.view)?"snapshots":["recording","recordings"].includes(this.view)?"recordings":null}isGrid(){return"grid"===this.displayMode}}const vx=(e,t)=>{t?.forEach((t=>t.modify(e)))};class yx extends zs{}class bx extends zs{}class wx{constructor(e){this._api=e}getViewDefault(e){const t=this._api.getConfigManager().getConfig();if(!t)return null;let n=null;const a=e?.params?.view??t.view.default;if(e?.params?.camera)n=e.params.camera;else{const i=[...gx(this._api.getCameraManager(),a)];if(!i.length)return null;if(e?.baseView?.camera&&t.view.default_cycle_camera){const t=i.indexOf(e.baseView.camera);n=i[t+1>=i.length?0:t+1]}else n=i[0]}return this.getViewByParameters({params:{...e?.params,view:a,camera:n},baseView:e?.baseView})}getViewByParameters(e){const t=this._api.getConfigManager().getConfig();if(!t)return null;let n=e?.params?.camera??e?.baseView?.camera??null,a=e?.params?.view??e?.baseView?.view??t.view.default;const i=this._api.getCameraManager().getStore().getCameraIDs();if(!n||!i.has(n)){n=gx(this._api.getCameraManager(),a).keys().next().value??null}if(!n){const e=[...this._api.getCameraManager().getStore().getCameras()].reduce(((e,[t,n])=>{const a=n.getCapabilities()?.getRawCapabilities();return a&&(e[t]=a),e}),{});throw new yx(V_("error.no_supported_cameras"),{view:a,cameras_capabilities:e})}if(!this.isViewSupportedByCamera(n,a)){if(!e?.failSafe||!this.isViewSupportedByCamera(n,Qs)){const e=this._api.getCameraManager().getStore().getCamera(n)?.getCapabilities()?.getRawCapabilities();throw new bx(V_("error.no_supported_camera"),{view:a,camera:n,...e&&{camera_capabilities:e}})}a=Qs}const r=e?.params?.displayMode??e?.baseView?.displayMode??this._getDefaultDisplayModeForView(a,t),o={...e?.params,view:a,camera:n,displayMode:r},s=e?.baseView?e.baseView.evolve(o):new _x(o);return vx(s,e?.modifiers),s}isViewSupportedByCamera(e,t){return!!gx(this._api.getCameraManager(),t,e).size}_getDefaultDisplayModeForView(e,t){let n=null;switch(e){case"media":case"clip":case"recording":case"snapshot":n=t.media_viewer.display?.mode??null;break;case"live":n=t.live.display?.mode??null}return n??"single"}}class xx{constructor(e,t){this._key=e,this._property=t}modify(e){e.removeContextProperty(this._key,this._property)}}class Cx{constructor(e){this._query=e?.query,this._queryResults=e?.queryResults}modify(e){void 0!==this._query&&(e.query=this._query),void 0!==this._queryResults&&(e.queryResults=this._queryResults)}}const Mx=(e,t,n)=>{let a;for(const[i,r]of e.entries()){const e=r.getStartTime(),o=r.getUsableEndTime();if(r.includesTime(t)&&e&&o){const t=o.getTime()-e.getTime();(!a||n&&a.cameraID!==n&&r.getCameraID()===n||t>a.duration&&(!n||a.cameraID!==n||r.getCameraID()===n))&&(a={index:i,duration:t,cameraID:r.getCameraID()})}}return a?a.index:null};class kx{constructor(e){this._results=e?.results??[],this._selectedIndex=this._getInitialSelectedIndex(e)}_getInitialSelectedIndex(e){return null!=e?.selectedIndex?e.selectedIndex:e?.results&&e.results.length?e?.selectApproach&&"last"!==e?.selectApproach?0:e.results.length-1:null}clone(){return new kx({results:this._results,selectedIndex:this._selectedIndex})}getResults(){return this._results}getSelectedIndex(){return this._selectedIndex}getResultsCount(){return this.getResults().length}hasResults(){return 0!==this.getResultsCount()}getResult(e){return void 0===e?null:this._results[e]}getSelectedResult(){const e=this.getSelectedIndex();return null!==e?this.getResult(e):null}hasSelectedResult(){return null!==this.getSelectedResult()}resetSelectedResult(){this._selectedIndex=null}selectIndex(e){(null===e||e>=0&&ee.getID()))),n=new Set(e._main.getResults()?.map((e=>e.getID())));return!(!t.size||!n.size||t.has(null)||n.has(null))&&((e,t)=>{for(const n of t)if(!e.has(n))return!1;return!0})(t,n)}getCameraIDs(){return new Set(this._cameras.keys())}getSlice(e){return e?this._cameras.get(e)??null:this._main}getResults(e){return this.getSlice(e)?.getResults()??null}getResultsCount(e){return this.getSlice(e)?.getResultsCount()??0}hasResults(e){return 0!==this.getSlice(e)?.getResultsCount()}getResult(e,t){return this.getSlice(t)?.getResult(e)??null}getSelectedIndex(e){return this.getSlice(e)?.getSelectedIndex()??null}getSelectedResult(e){return this.getSlice(e)?.getSelectedResult()??null}getMultipleSelectedResults(e){const t=[];if(!e||e.main){const e=this.getSelectedResult();e&&t.push(e)}const n=this._getCameraIDsFromCriteria(e);for(const e of n??[]){const n=this.getSelectedResult(e);n&&t.push(n)}return t}hasSelectedResult(e){return this.getSlice(e)?.hasSelectedResult()??!1}resetSelectedResult(e){return this.getSlice(e)?.resetSelectedResult(),this}getResultsTimestamp(){return this._resultsTimestamp}selectIndex(e,t){return this.getSlice(t)?.selectIndex(e),t||this.demoteMainSelectionToCameraSelection(),this}demoteMainSelectionToCameraSelection(){const e=this.getSelectedResult();if(e){const t=e.getCameraID();this.resetSelectedResult(t),this.selectResultIfFound((t=>t===e),{cameraID:t})}return this}promoteCameraSelectionToMainSelection(e){const t=this.getSelectedResult(e);return this.resetSelectedResult(),this.selectResultIfFound((e=>e===t)),this}_getCameraIDsFromCriteria(e){return e?.allCameras?this.getCameraIDs():e?.cameraID?new Set([e.cameraID]):null}selectResultIfFound(e,t){t&&!t?.main||(this._main.selectResultIfFound(e),this.demoteMainSelectionToCameraSelection());const n=this._getCameraIDsFromCriteria(t);for(const t of n??[])this.getSlice(t)?.selectResultIfFound(e);return this}selectBestResult(e,t){t&&!t.main||(this._main.selectBestResult(e),this.demoteMainSelectionToCameraSelection());const n=this._getCameraIDsFromCriteria(t);for(const t of n??[])this.getSlice(t)?.selectBestResult(e);return this}}class Ex{constructor(e){this._api=e}async executeDefaultEventQuery(e){const t=e?.eventsMediaType&&"all"!==e?.eventsMediaType?e.eventsMediaType:{anyCapabilities:["clips","snapshots"]},n=this._api.getCameraManager(),a=e?.cameraID?n.getStore().getAllDependentCameras(e.cameraID,t):n.getStore().getCameraIDsWithCapability(t);if(!a.size)return null;const i=n.generateDefaultEventQueries(a,{limit:this._getChunkLimit(),..."clips"===e?.eventsMediaType&&{hasClip:!0},..."snapshots"===e?.eventsMediaType&&{hasSnapshot:!0}});if(!i)return null;const r=new hx(i),o=await this.execute(r,e?.executorOptions);return o?{query:r,queryResults:o}:null}async executeDefaultRecordingQuery(e){const t=this._api.getCameraManager(),n=e?.cameraID?t.getStore().getAllDependentCameras(e.cameraID,"recordings"):t.getStore().getCameraIDsWithCapability("recordings");if(!n.size)return null;const a=t.generateDefaultRecordingQueries(n,{limit:this._getChunkLimit()});if(!a)return null;const i=new px(a),r=await this.execute(i,e?.executorOptions);return r?{query:i,queryResults:r}:null}async execute(e,t){const n=e.getQueries();if(!n)return null;const a=await this._api.getCameraManager().executeMediaQueries(n,{useCache:t?.useCache});if(!a)return null;const i=new Sx({results:a});return t?.rejectResults?.(i)?null:(t?.selectResult?.id?i.selectBestResult((e=>e.findIndex((e=>e.getID()===t.selectResult?.id)))):t?.selectResult?.func?i.selectResultIfFound(t.selectResult.func):t?.selectResult?.time&&i.selectBestResult((e=>Mx(e,t.selectResult?.time?.time,t.selectResult?.time?.favorCameraID))),i)}_getChunkLimit(){const e=this._api.getConfigManager().getCardWideConfig();return e?.performance?.features.media_chunk_size??50}}class $x{constructor(e,t){this._api=e,this._executor=t??new Ex(e)}async getExistingQueryModifiers(e,t){return e.query?[new Cx({queryResults:await this._executor.execute(e.query,t)})]:[]}async getNewQueryModifiers(e,t){return await this._executeNewQuery(e,{useCache:!1,...t})}async _executeNewQuery(e,t){const n=this._api.getConfigManager().getConfig();if(!n)return null;const a=e?.getDefaultMediaType(),i=[],r=async n=>{ -/* istanbul ignore if: this path cannot be reached -- @preserve */ -if(!n)return[];const a="recordings"===n?await this._executor.executeDefaultRecordingQuery({...!e.isGrid()&&{cameraID:e.camera},executorOptions:t}):"clips"===n||"snapshots"===n||"all"===n?await this._executor.executeDefaultEventQuery({...!e.isGrid()&&{cameraID:e.camera},eventsMediaType:n,executorOptions:t}):/* istanbul ignore next -- @preserve */ -null;return a?[new Cx(a)]:[]};switch(e.view){case"live":"none"!==n.live.controls.thumbnails.mode&&i.push(...await r("recordings"===n.live.controls.thumbnails.media_type?"recordings":n.live.controls.thumbnails.events_media_type));break;case"media":i.push(...await r("clips"));break;case"clips":case"snapshots":case"recordings":i.push(...await r(a));break;case"clip":case"snapshot":case"recording":"none"!==n.media_viewer.controls.thumbnails.mode&&i.push(...await r(a))}return i.push(...this._getTimelineWindowViewModifier(e)),i.push(...this._getSeekTimeModifier(t?.selectResult?.time?.time)),i}_getTimelineWindowViewModifier(e){if(e.is("live")){const e=new Date,t=this._api.getConfigManager().getConfig()?.live; -/* istanbul ignore if: this if branch cannot be reached as if the config is - empty this function is never called -- @preserve */ -return t?[new Gy({timeline:{window:{start:Qu(e,{seconds:t.controls.timeline.window_seconds}),end:e}}})]:[]}return[new xx("timeline","window")]}_getSeekTimeModifier(e){return e?[new Gy({mediaViewer:{seek:e}})]:[new xx("mediaViewer","seek")]}}class Ax{constructor(e,t){this._view=null,this._epoch=this._createEpoch(),this._loadingIndex=1,this.setViewDefault=e=>this._setViewGeneric(this._viewFactory.getViewDefault.bind(this._viewFactory),e),this.setViewByParameters=e=>this._setViewGeneric(this._viewFactory.getViewByParameters.bind(this._viewFactory),e),this.setViewDefaultWithNewQuery=async e=>await this._setViewThenModifyAsync(this._viewFactory.getViewDefault.bind(this._viewFactory),this._viewQueryExecutor.getNewQueryModifiers.bind(this._viewQueryExecutor),e),this.setViewByParametersWithNewQuery=async e=>await this._setViewThenModifyAsync(this._viewFactory.getViewByParameters.bind(this._viewFactory),this._viewQueryExecutor.getNewQueryModifiers.bind(this._viewQueryExecutor),e),this.setViewByParametersWithExistingQuery=async e=>await this._setViewThenModifyAsync(this._viewFactory.getViewByParameters.bind(this._viewFactory),this._viewQueryExecutor.getExistingQueryModifiers.bind(this._viewQueryExecutor),e),this.initialize=async()=>(this._api.getQueryStringManager().hasViewRelatedActionsToRun()||this.setViewDefaultWithNewQuery({failSafe:!0}),!0),this._api=e,this._viewFactory=t?.viewFactory??new wx(e),this._viewQueryExecutor=t?.viewQueryExecutor??new $x(e)}getEpoch(){return this._epoch}_createEpoch(e){return{manager:this,...e&&{oldView:e}}}getView(){return this._view}hasView(){return!!this.getView()}reset(){this._view&&this._setView(null)}_setViewGeneric(e,t){let n=null;try{n=e({baseView:this._view,...t})}catch(e){this._api.getMessageManager().setErrorIfHigherPriority(e)}n&&this._setView(n)}_markViewLoadingQuery(e,t){return e.mergeInContext({loading:{query:t}})}_markViewAsNotLoadingQuery(e){return e.removeContextProperty("loading","query")}async _setViewThenModifyAsync(e,t,n){let a=null;try{a=e({baseView:this._view,...n,params:{query:null,queryResults:null,...n?.params}})}catch(e){this._api.getMessageManager().setErrorIfHigherPriority(e)}if(!a)return;if(this._view&&this._shouldAdoptQueryAndResults(a))return a.query=this._view.query,a.queryResults=this._view.queryResults,this._markViewAsNotLoadingQuery(a),void this._setView(a);const i=this._loadingIndex++;this._markViewLoadingQuery(a,i),this._setView(a);let r=null,o=null;try{r=await t(a,n?.queryExecutorOptions)}catch(e){o=e}if(this._view&&this.hasMajorMediaChange(this._view,a))return void(this._view.context?.loading?.query===i&&this._setView(this._markViewAsNotLoadingQuery(this._view.clone())));if(o)return void this._api.getMessageManager().setErrorIfHigherPriority(o); -/* istanbul ignore if: the if path cannot be reached as the view is set - above -- @preserve */if(!this._view)return;const s=this._view.clone();this._view.context?.loading?.query===i&&this._markViewAsNotLoadingQuery(s),vx(s,r),this._setView(s)}_shouldAdoptQueryAndResults(e){const t=this._view?.isViewerView()&&e?.isGalleryView(),n=e?.getDefaultMediaType(),a=mx.getMediaType(this._view?.query)===n;return!!t&&a}setViewWithMergedContext(e){if(this._view)return this._setView(this._view?.clone().mergeInContext(e))}isViewSupportedByCamera(e,t){return!!gx(this._api.getCameraManager(),t,e).size}hasMajorMediaChange(e,t){const n=t??this._view;return!!e!=!!n||e?.view!==n?.view||e?.camera!==n?.camera||"live"===n?.view&&e&&My(e)!==My(n)||"live"!==n?.view&&e?.queryResults!==n?.queryResults}_setView(e){const t=this._view;B_(this._api.getConfigManager().getCardWideConfig(),"Frigate Card view change: ",e),this._view=e,this._epoch=this._createEpoch(t),this.hasMajorMediaChange(t)&&this._api.getMediaLoadedInfoManager().clear(),t?.view!==e?.view&&this._api.getCardElementManager().scrollReset(),this._api.getMessageManager().reset(),this._api.getStyleManager().setExpandedMode(),this._api.getConditionsManager()?.setState({view:e?.view,camera:e?.camera,displayMode:e?.displayMode??void 0}),this._api.getCardElementManager().update()}}class zx{constructor(e,t,n,a){this._deviceRegistryManager=new oy(new iy((e=>e.id))),this._entityRegistryManager=new ly(new iy((e=>e.entity_id))),this._resolvedMediaCache=new uy,this._actionsManager=new gb(this),this._automationsManager=new fb(this),this._cameraManager=new ay(this),this._cameraURLManager=new _b(this),this._configManager=new kw(this),this._defaultManager=new Sw(this),this._downloadManager=new zw(this),this._expandManager=new Iw(this),this._fullscreenManager=new Pw(this),this._hassManager=new Nw(this),this._initializationManager=new Qb(this),this._interactionManager=new Ww(this),this._keyboardStateManager=new Zw(this),this._mediaLoadedInfoManager=new tx(this),this._mediaPlayerManager=new ax(this),this._messageManager=new ix(this),this._microphoneManager=new rx(this),this._queryStringManager=new ox(this),this._statusBarItemManager=new sx(this),this._styleManager=new cx(this),this._triggersManager=new lx(this),this._viewManager=new Ax(this),e.addController(this),this._conditionsManager=new bw(this,a),this._cardElementManager=new Gb(this,e,t,n)}getActionsManager(){return this._actionsManager}getAutomationsManager(){return this._automationsManager}getCameraManager(){return this._cameraManager}getCameraURLManager(){return this._cameraURLManager}getCardElementManager(){return this._cardElementManager}getConditionsManager(){return this._conditionsManager}static async getConfigElement(){return await import("./editor-837da8b4.js"),document.createElement("frigate-card-editor")}getConfigManager(){return this._configManager}getDefaultManager(){return this._defaultManager}getDeviceRegistryManager(){return this._deviceRegistryManager}getDownloadManager(){return this._downloadManager}getEntityRegistryManager(){return this._entityRegistryManager}getExpandManager(){return this._expandManager}getFullscreenManager(){return this._fullscreenManager}getHASSManager(){return this._hassManager}getInitializationManager(){return this._initializationManager}getInteractionManager(){return this._interactionManager}getKeyboardStateManager(){return this._keyboardStateManager}getMediaLoadedInfoManager(){return this._mediaLoadedInfoManager}getMediaPlayerManager(){return this._mediaPlayerManager}getMessageManager(){return this._messageManager}getMicrophoneManager(){return this._microphoneManager}getQueryStringManager(){return this._queryStringManager}getResolvedMediaCache(){return this._resolvedMediaCache}getStatusBarItemManager(){return this._statusBarItemManager}static getStubConfig(e){return{cameras:[{camera_entity:e.find((e=>e.startsWith("camera.")))??"camera.demo"}]}}getStyleManager(){return this._styleManager}getTriggersManager(){return this._triggersManager}getViewManager(){return this._viewManager}hostConnected(){this.getCardElementManager().elementConnected()}hostDisconnected(){this.getCardElementManager().elementDisconnected()}}class Ix{constructor(){this._dynamicMenuButtons=[]}addDynamicMenuButton(e){this._dynamicMenuButtons.includes(e)||this._dynamicMenuButtons.push(e)}removeDynamicMenuButton(e){this._dynamicMenuButtons=this._dynamicMenuButtons.filter((t=>t!=e))}calculateButtons(e,t,n,a){return[this._getDefaultButton(t),this._getCamerasButton(t,n,a?.view),this._getSubstreamsButton(t,n,a?.view),this._getLiveButton(t,a?.view,a?.viewManager),this._getClipsButton(t,a?.view,a?.viewManager),this._getSnapshotsButton(t,a?.view,a?.viewManager),this._getRecordingsButton(t,a?.view,a?.viewManager),this._getImageButton(t,a?.view,a?.viewManager),this._getTimelineButton(t,a?.view,a?.viewManager),this._getDownloadButton(t,n,a?.view),this._getCameraUIButton(t,a?.showCameraUIButton),this._getMicrophoneButton(t,a?.microphoneManager,a?.currentMediaLoadedInfo),this._getExpandButton(t,a?.inExpandedMode),this._getFullscreenButton(t,a?.inFullscreenMode),this._getCastButton(e,t,n,a?.view,a?.mediaPlayerController),this._getPlayPauseButton(t,a?.currentMediaLoadedInfo),this._getMuteUnmuteButton(t,a?.currentMediaLoadedInfo),this._getScreenshotButton(t,a?.currentMediaLoadedInfo),this._getDisplayModeButton(t,n,a?.view),this._getPTZControlsButton(t,n,a?.view),this._getPTZHomeButton(t,n,a?.view),...this._dynamicMenuButtons.map((e=>({style:this._getStyleFromActions(t,e,a),...e})))].filter(sf)}_getDefaultButton(e){return{icon:"frigate",...e.menu.buttons.frigate,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.frigate"),permanent:!0,tap_action:"hidden"===e.menu?.style?gf("menu_toggle"):gf("default"),hold_action:gf("diagnostics")}}_getCamerasButton(e,t,n){const a=t.getStore().getCameraIDsWithCapability("menu");if(a.size>1){const i=Array.from(t.getStore().getCameraConfigEntries(a),(([e,a])=>{const i=ff("camera_select",e),r=t.getCameraMetadata(e);return{enabled:!0,icon:r?.icon,entity:a.camera_entity,state_color:!0,title:r?.title,selected:n?.camera===e,...i&&{tap_action:i}}}));return{icon:"mdi:video-switch",...e.menu.buttons.cameras,type:"custom:frigate-card-menu-submenu",title:V_("config.menu.buttons.cameras"),items:i}}return null}_getSubstreamsButton(e,t,n){if(!n)return null;const a=t.getStore().getAllDependentCameras(n.camera,"substream");if(a.size&&n.is("live")){const i=[...a].filter((e=>e!==n.camera)),r=[n.camera,...i],o=My(n);if(2===r.length)return{icon:"mdi:video-input-component",style:o!==n.camera?this._getEmphasizedStyle():{},title:V_("config.menu.buttons.substreams"),...e.menu.buttons.substreams,type:"custom:frigate-card-menu-icon",tap_action:gf(ky(n)?"live_substream_off":"live_substream_on")};if(r.length>2){const a=Array.from(r,(e=>{const n=ff("live_substream_select",e),a=t.getCameraMetadata(e)??void 0,i=t.getStore().getCameraConfig(e);return{enabled:!0,icon:a?.icon,entity:i?.camera_entity,state_color:!0,title:a?.title,selected:o===e,...n&&{tap_action:n}}}));return{icon:"mdi:video-input-component",title:V_("config.menu.buttons.substreams"),style:o!==n.camera?this._getEmphasizedStyle():{},...e.menu.buttons.substreams,type:"custom:frigate-card-menu-submenu",items:a}}}return null}_getLiveButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"live")?{icon:"mdi:cctv",...e.menu.buttons.live,type:"custom:frigate-card-menu-icon",title:V_("config.view.views.live"),style:t.is("live")?this._getEmphasizedStyle():{},tap_action:gf("live")}:null}_getClipsButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"clips")?{icon:"mdi:filmstrip",...e.menu.buttons.clips,type:"custom:frigate-card-menu-icon",title:V_("config.view.views.clips"),style:t?.is("clips")?this._getEmphasizedStyle():{},tap_action:gf("clips"),hold_action:gf("clip")}:null}_getSnapshotsButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"snapshots")?{icon:"mdi:camera",...e.menu.buttons.snapshots,type:"custom:frigate-card-menu-icon",title:V_("config.view.views.snapshots"),style:t?.is("snapshots")?this._getEmphasizedStyle():{},tap_action:gf("snapshots"),hold_action:gf("snapshot")}:null}_getRecordingsButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"recordings")?{icon:"mdi:album",...e.menu.buttons.recordings,type:"custom:frigate-card-menu-icon",title:V_("config.view.views.recordings"),style:t.is("recordings")?this._getEmphasizedStyle():{},tap_action:gf("recordings"),hold_action:gf("recording")}:null}_getImageButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"image")?{icon:"mdi:image",...e.menu.buttons.image,type:"custom:frigate-card-menu-icon",title:V_("config.view.views.image"),style:t?.is("image")?this._getEmphasizedStyle():{},tap_action:gf("image")}:null}_getTimelineButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"timeline")?{icon:"mdi:chart-gantt",...e.menu.buttons.timeline,type:"custom:frigate-card-menu-icon",title:V_("config.view.views.timeline"),style:t.is("timeline")?this._getEmphasizedStyle():{},tap_action:gf("timeline")}:null}_getDownloadButton(e,t,n){const a=n?.queryResults?.getSelectedResult(),i=a?t?.getMediaCapabilities(a):null;return n?.isViewerView()&&i?.canDownload&&!vb()?{icon:"mdi:download",...e.menu.buttons.download,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.download"),tap_action:gf("download")}:null}_getCameraUIButton(e,t){return t?{icon:"mdi:web",...e.menu.buttons.camera_ui,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.camera_ui"),tap_action:gf("camera_ui")}:null}_getMicrophoneButton(e,t,n){if(t&&n?.capabilities?.supports2WayAudio){const n=t.isForbidden()||!t.isSupported(),a=t.isMuted(),i=e.menu.buttons.microphone.type;return{icon:n?"mdi:microphone-message-off":a?"mdi:microphone-off":"mdi:microphone",...e.menu.buttons.microphone,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.microphone"),style:n||a?{}:this._getEmphasizedStyle(!0),...!n&&"momentary"===i&&{start_tap_action:gf("microphone_unmute"),end_tap_action:gf("microphone_mute")},...!n&&"toggle"===i&&{tap_action:gf(a?"microphone_unmute":"microphone_mute")}}}return null}_getExpandButton(e,t){return{icon:t?"mdi:arrow-collapse-all":"mdi:arrow-expand-all",...e.menu.buttons.expand,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.expand"),tap_action:gf("expand"),style:t?this._getEmphasizedStyle():{}}}_getFullscreenButton(e,t){return vb()?null:{icon:t?"mdi:fullscreen-exit":"mdi:fullscreen",...e.menu.buttons.fullscreen,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.fullscreen"),tap_action:gf("fullscreen"),style:t?this._getEmphasizedStyle():{}}}_getCastButton(e,t,n,a,i){if(!a)return null;const r=n.getStore().getCameraConfig(a.camera);if(i?.hasMediaPlayers()&&(a.isViewerView()||a.is("live")&&r?.camera_entity)){const n=i.getMediaPlayers().map((t=>{const n=Nb(e,t)||t,a=e.states[t],i=_f(t,"play"),r=_f(t,"stop"),o=!a||"unavailable"===a.state;return{enabled:!0,selected:!1,icon:Fb(e,t),entity:t,state_color:!1,title:n,disabled:o,...!o&&i&&{tap_action:i},...!o&&r&&{hold_action:r}}}));return{icon:"mdi:cast",...t.menu.buttons.media_player,type:"custom:frigate-card-menu-submenu",title:V_("config.menu.buttons.media_player"),items:n}}return null}_getPlayPauseButton(e,t){if(t&&t.player&&t.capabilities?.supportsPause){const n=t.player.isPaused();return{icon:n?"mdi:play":"mdi:pause",...e.menu.buttons.play,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.play"),tap_action:gf(n?"play":"pause")}}return null}_getMuteUnmuteButton(e,t){if(t&&t.player&&t?.capabilities?.hasAudio){const n=t.player.isMuted();return{icon:n?"mdi:volume-off":"mdi:volume-high",...e.menu.buttons.mute,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.mute"),tap_action:gf(n?"unmute":"mute")}}return null}_getScreenshotButton(e,t){return t&&t.player?{icon:"mdi:monitor-screenshot",...e.menu.buttons.screenshot,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.screenshot"),tap_action:gf("screenshot")}:null}_getDisplayModeButton(e,t,n){const a=n?gx(t,n.view):null;if(n?.supportsMultipleDisplayModes()&&a&&a.size>1){const t=n.isGrid();return{icon:t?"mdi:grid-off":"mdi:grid",...e.menu.buttons.display_mode,style:t?this._getEmphasizedStyle():{},type:"custom:frigate-card-menu-icon",title:V_(t?"display_modes.single":"display_modes.grid"),tap_action:(i=t?"single":"grid",{action:"fire-dom-event",frigate_card_action:"display_mode_select",display_mode:i,...r?.cardID&&{card_id:r.cardID}})}}var i,r;return null}_getPTZControlsButton(e,t,n){const a=n?.is("live")?e.live.controls.ptz:n?.isViewerView()?e.media_viewer.controls.ptz:null;if(!n||!a||"off"===a.mode)return null;const i=Ry(n,{cameraManager:t,..."auto"===a.mode&&{type:"ptz"}});if(i){const t=!1!==n.context?.ptzControls?.enabled&&("on"===a.mode||"auto"===a.mode&&"ptz"===i.type);return{icon:"mdi:pan",...e.menu.buttons.ptz_controls,style:t?this._getEmphasizedStyle():{},type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.ptz_controls"),tap_action:(r=!t,{action:"fire-dom-event",frigate_card_action:"ptz_controls",enabled:r,...o?.cardID&&{card_id:o.cardID}})}}var r,o;return null}_getPTZHomeButton(e,t,n){const a=n?Ry(n,{cameraManager:t}):null;return!a||(("digital"===a.type&&n?.context?.zoom?.[a.targetID]?.observed?.isDefault)??1)?null:{icon:"mdi:home",...e.menu.buttons.ptz_home,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.ptz_home"),tap_action:vf({targetID:a.targetID})}}_getEmphasizedStyle(e){return e?{animation:"pulse 3s infinite",color:"var(--error-color, white)"}:{color:"var(--primary-color, white)"}}_getStyleFromActions(e,t,n){for(const a of[t.tap_action,t.double_tap_action,t.hold_action,t.start_tap_action,t.end_tap_action]){const t=Array.isArray(a)?a:[a];for(const a of t){if(!a||"fire-dom-event"!==a.action||!("frigate_card_action"in a))continue;const t=a;if(Zs.some((e=>e===t.frigate_card_action&&n?.view?.is(t.frigate_card_action)))||"default"===t.frigate_card_action&&n?.view?.is(e.view.default)||"fullscreen"===t.frigate_card_action&&n?.inFullscreenMode||"camera_select"===t.frigate_card_action&&n?.view?.camera===t.camera)return this._getEmphasizedStyle()}}return{}}} -/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */ -function Tx(e){return null==e}var jx=function(e,t){var n,a="";for(n=0;ns&&(t=a-s+(r=" ... ").length),n-a>s&&(n=a+s-(o=" ...").length),{str:r+e.slice(t,n).replace(/\t/g,"→")+o,pos:a-t+r.length}}function Nx(e,t){return Ox.repeat(" ",t-e.length)+e}var Fx=function(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),"number"!=typeof t.indent&&(t.indent=1),"number"!=typeof t.linesBefore&&(t.linesBefore=3),"number"!=typeof t.linesAfter&&(t.linesAfter=2);for(var n,a=/\r?\n|\r|\0/g,i=[0],r=[],o=-1;n=a.exec(e.buffer);)r.push(n.index),i.push(n.index+n[0].length),e.position<=n.index&&o<0&&(o=i.length-2);o<0&&(o=i.length-1);var s,c,l="",d=Math.min(e.line+t.linesAfter,r.length).toString().length,u=t.maxLength-(t.indent+d+3);for(s=1;s<=t.linesBefore&&!(o-s<0);s++)c=Lx(e.buffer,i[o-s],r[o-s],e.position-(i[o]-i[o-s]),u),l=Ox.repeat(" ",t.indent)+Nx((e.line-s+1).toString(),d)+" | "+c.str+"\n"+l;for(c=Lx(e.buffer,i[o],r[o],e.position,u),l+=Ox.repeat(" ",t.indent)+Nx((e.line+1).toString(),d)+" | "+c.str+"\n",l+=Ox.repeat("-",t.indent+d+3+c.pos)+"^\n",s=1;s<=t.linesAfter&&!(o+s>=r.length);s++)c=Lx(e.buffer,i[o+s],r[o+s],e.position-(i[o]-i[o+s]),u),l+=Ox.repeat(" ",t.indent)+Nx((e.line+s+1).toString(),d)+" | "+c.str+"\n";return l.replace(/\n$/,"")},Vx=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],Hx=["scalar","sequence","mapping"];var Bx=function(e,t){if(t=t||{},Object.keys(t).forEach((function(t){if(-1===Vx.indexOf(t))throw new Px('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')})),this.options=t,this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.representName=t.representName||null,this.defaultStyle=t.defaultStyle||null,this.multi=t.multi||!1,this.styleAliases=function(e){var t={};return null!==e&&Object.keys(e).forEach((function(n){e[n].forEach((function(e){t[String(e)]=n}))})),t}(t.styleAliases||null),-1===Hx.indexOf(this.kind))throw new Px('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')};function qx(e,t){var n=[];return e[t].forEach((function(e){var t=n.length;n.forEach((function(n,a){n.tag===e.tag&&n.kind===e.kind&&n.multi===e.multi&&(t=a)})),n[t]=e})),n}function Ux(e){return this.extend(e)}Ux.prototype.extend=function(e){var t=[],n=[];if(e instanceof Bx)n.push(e);else if(Array.isArray(e))n=n.concat(e);else{if(!e||!Array.isArray(e.implicit)&&!Array.isArray(e.explicit))throw new Px("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");e.implicit&&(t=t.concat(e.implicit)),e.explicit&&(n=n.concat(e.explicit))}t.forEach((function(e){if(!(e instanceof Bx))throw new Px("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(e.loadKind&&"scalar"!==e.loadKind)throw new Px("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(e.multi)throw new Px("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")})),n.forEach((function(e){if(!(e instanceof Bx))throw new Px("Specified list of YAML types (or a single Type object) contains a non-Type object.")}));var a=Object.create(Ux.prototype);return a.implicit=(this.implicit||[]).concat(t),a.explicit=(this.explicit||[]).concat(n),a.compiledImplicit=qx(a,"implicit"),a.compiledExplicit=qx(a,"explicit"),a.compiledTypeMap=function(){var e,t,n={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function a(e){e.multi?(n.multi[e.kind].push(e),n.multi.fallback.push(e)):n[e.kind][e.tag]=n.fallback[e.tag]=e}for(e=0,t=arguments.length;e=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),aC=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var iC=/^[-+]?[0-9]+e/;var rC=new Bx("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!(!aC.test(e)||"_"===e[e.length-1])},construct:function(e){var t,n;return n="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(t[0])>=0&&(t=t.slice(1)),".inf"===t?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:n*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||Ox.isNegativeZero(e))},represent:function(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Ox.isNegativeZero(e))return"-0.0";return n=e.toString(10),iC.test(n)?n.replace("e",".e"):n},defaultStyle:"lowercase"}),oC=Yx.extend({implicit:[Kx,Xx,nC,rC]}),sC=oC,cC=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),lC=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");var dC=new Bx("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(e){return null!==e&&(null!==cC.exec(e)||null!==lC.exec(e))},construct:function(e){var t,n,a,i,r,o,s,c,l=0,d=null;if(null===(t=cC.exec(e))&&(t=lC.exec(e)),null===t)throw new Error("Date resolve error");if(n=+t[1],a=+t[2]-1,i=+t[3],!t[4])return new Date(Date.UTC(n,a,i));if(r=+t[4],o=+t[5],s=+t[6],t[7]){for(l=t[7].slice(0,3);l.length<3;)l+="0";l=+l}return t[9]&&(d=6e4*(60*+t[10]+ +(t[11]||0)),"-"===t[9]&&(d=-d)),c=new Date(Date.UTC(n,a,i,r,o,s,l)),d&&c.setTime(c.getTime()-d),c},instanceOf:Date,represent:function(e){return e.toISOString()}});var uC=new Bx("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}}),hC="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";var pC=new Bx("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,a=0,i=e.length,r=hC;for(n=0;n64)){if(t<0)return!1;a+=6}return a%8==0},construct:function(e){var t,n,a=e.replace(/[\r\n=]/g,""),i=a.length,r=hC,o=0,s=[];for(t=0;t>16&255),s.push(o>>8&255),s.push(255&o)),o=o<<6|r.indexOf(a.charAt(t));return 0===(n=i%4*6)?(s.push(o>>16&255),s.push(o>>8&255),s.push(255&o)):18===n?(s.push(o>>10&255),s.push(o>>2&255)):12===n&&s.push(o>>4&255),new Uint8Array(s)},predicate:function(e){return"[object Uint8Array]"===Object.prototype.toString.call(e)},represent:function(e){var t,n,a="",i=0,r=e.length,o=hC;for(t=0;t>18&63],a+=o[i>>12&63],a+=o[i>>6&63],a+=o[63&i]),i=(i<<8)+e[t];return 0===(n=r%3)?(a+=o[i>>18&63],a+=o[i>>12&63],a+=o[i>>6&63],a+=o[63&i]):2===n?(a+=o[i>>10&63],a+=o[i>>4&63],a+=o[i<<2&63],a+=o[64]):1===n&&(a+=o[i>>2&63],a+=o[i<<4&63],a+=o[64],a+=o[64]),a}}),mC=Object.prototype.hasOwnProperty,gC=Object.prototype.toString;var fC=new Bx("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,n,a,i,r,o=[],s=e;for(t=0,n=s.length;t>10),56320+(e-65536&1023))}for(var UC=new Array(256),WC=new Array(256),ZC=0;ZC<256;ZC++)UC[ZC]=BC(ZC)?1:0,WC[ZC]=BC(ZC);function QC(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||wC,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function GC(e,t){var n={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return n.snippet=Fx(n),new Px(t,n)}function YC(e,t){throw GC(e,t)}function KC(e,t){e.onWarning&&e.onWarning.call(null,GC(e,t))}var XC={YAML:function(e,t,n){var a,i,r;null!==e.version&&YC(e,"duplication of %YAML directive"),1!==n.length&&YC(e,"YAML directive accepts exactly one argument"),null===(a=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&YC(e,"ill-formed argument of the YAML directive"),i=parseInt(a[1],10),r=parseInt(a[2],10),1!==i&&YC(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=r<2,1!==r&&2!==r&&KC(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var a,i;2!==n.length&&YC(e,"TAG directive accepts exactly two arguments"),a=n[0],i=n[1],jC.test(a)||YC(e,"ill-formed tag handle (first argument) of the TAG directive"),xC.call(e.tagMap,a)&&YC(e,'there is a previously declared suffix for "'+a+'" tag handle'),OC.test(i)||YC(e,"ill-formed tag prefix (second argument) of the TAG directive");try{i=decodeURIComponent(i)}catch(t){YC(e,"tag prefix is malformed: "+i)}e.tagMap[a]=i}};function JC(e,t,n,a){var i,r,o,s;if(t1&&(e.result+=Ox.repeat("\n",t-1))}function oM(e,t){var n,a,i=e.tag,r=e.anchor,o=[],s=!1;if(-1!==e.firstTabInLine)return!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=o),a=e.input.charCodeAt(e.position);0!==a&&(-1!==e.firstTabInLine&&(e.position=e.firstTabInLine,YC(e,"tab characters must not be used in indentation")),45===a)&&LC(e.input.charCodeAt(e.position+1));)if(s=!0,e.position++,aM(e,!0,-1)&&e.lineIndent<=t)o.push(null),a=e.input.charCodeAt(e.position);else if(n=e.line,lM(e,t,kC,!1,!0),o.push(e.result),aM(e,!0,-1),a=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==a)YC(e,"bad indentation of a sequence entry");else if(e.lineIndentt?m=1:e.lineIndent===t?m=0:e.lineIndentt?m=1:e.lineIndent===t?m=0:e.lineIndentt)&&(_&&(o=e.line,s=e.lineStart,c=e.position),lM(e,t,SC,!0,i)&&(_?g=e.result:f=e.result),_||(tM(e,h,p,m,g,f,o,s,c),m=g=f=null),aM(e,!0,-1),l=e.input.charCodeAt(e.position)),(e.line===r||e.lineIndent>t)&&0!==l)YC(e,"bad indentation of a mapping entry");else if(e.lineIndent=0))break;0===i?YC(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):c?YC(e,"repeat of an indentation width identifier"):(l=t+i-1,c=!0)}if(PC(r)){do{r=e.input.charCodeAt(++e.position)}while(PC(r));if(35===r)do{r=e.input.charCodeAt(++e.position)}while(!RC(r)&&0!==r)}for(;0!==r;){for(nM(e),e.lineIndent=0,r=e.input.charCodeAt(e.position);(!c||e.lineIndentl&&(l=e.lineIndent),RC(r))d++;else{if(e.lineIndent0){for(i=o,r=0;i>0;i--)(o=FC(s=e.input.charCodeAt(++e.position)))>=0?r=(r<<4)+o:YC(e,"expected hexadecimal character");e.result+=qC(r),e.position++}else YC(e,"unknown escape sequence");n=a=e.position}else RC(s)?(JC(e,n,a,!0),rM(e,aM(e,!1,t)),n=a=e.position):e.position===e.lineStart&&iM(e)?YC(e,"unexpected end of the document within a double quoted scalar"):(e.position++,a=e.position)}YC(e,"unexpected end of the stream within a double quoted scalar")}(e,h)?f=!0:!function(e){var t,n,a;if(42!==(a=e.input.charCodeAt(e.position)))return!1;for(a=e.input.charCodeAt(++e.position),t=e.position;0!==a&&!LC(a)&&!NC(a);)a=e.input.charCodeAt(++e.position);return e.position===t&&YC(e,"name of an alias node must contain at least one character"),n=e.input.slice(t,e.position),xC.call(e.anchorMap,n)||YC(e,'unidentified alias "'+n+'"'),e.result=e.anchorMap[n],aM(e,!0,-1),!0}(e)?function(e,t,n){var a,i,r,o,s,c,l,d,u=e.kind,h=e.result;if(LC(d=e.input.charCodeAt(e.position))||NC(d)||35===d||38===d||42===d||33===d||124===d||62===d||39===d||34===d||37===d||64===d||96===d)return!1;if((63===d||45===d)&&(LC(a=e.input.charCodeAt(e.position+1))||n&&NC(a)))return!1;for(e.kind="scalar",e.result="",i=r=e.position,o=!1;0!==d;){if(58===d){if(LC(a=e.input.charCodeAt(e.position+1))||n&&NC(a))break}else if(35===d){if(LC(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&iM(e)||n&&NC(d))break;if(RC(d)){if(s=e.line,c=e.lineStart,l=e.lineIndent,aM(e,!1,-1),e.lineIndent>=t){o=!0,d=e.input.charCodeAt(e.position);continue}e.position=r,e.line=s,e.lineStart=c,e.lineIndent=l;break}}o&&(JC(e,i,r,!1),rM(e,e.line-s),i=r=e.position,o=!1),PC(d)||(r=e.position+1),d=e.input.charCodeAt(++e.position)}return JC(e,i,r,!1),!!e.result||(e.kind=u,e.result=h,!1)}(e,h,CC===n)&&(f=!0,null===e.tag&&(e.tag="?")):(f=!0,null===e.tag&&null===e.anchor||YC(e,"alias node should not have any properties")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===m&&(f=s&&oM(e,p))),null===e.tag)null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);else if("?"===e.tag){for(null!==e.result&&"scalar"!==e.kind&&YC(e,'unacceptable node kind for ! tag; it should be "scalar", not "'+e.kind+'"'),c=0,l=e.implicitTypes.length;c"),null!==e.result&&u.kind!==e.kind&&YC(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+u.kind+'", not "'+e.kind+'"'),u.resolve(e.result,e.tag)?(e.result=u.construct(e.result,e.tag),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):YC(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||f}function dM(e){var t,n,a,i,r=e.position,o=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);0!==(i=e.input.charCodeAt(e.position))&&(aM(e,!0,-1),i=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==i));){for(o=!0,i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!LC(i);)i=e.input.charCodeAt(++e.position);for(a=[],(n=e.input.slice(t,e.position)).length<1&&YC(e,"directive name must not be less than one character in length");0!==i;){for(;PC(i);)i=e.input.charCodeAt(++e.position);if(35===i){do{i=e.input.charCodeAt(++e.position)}while(0!==i&&!RC(i));break}if(RC(i))break;for(t=e.position;0!==i&&!LC(i);)i=e.input.charCodeAt(++e.position);a.push(e.input.slice(t,e.position))}0!==i&&nM(e),xC.call(XC,n)?XC[n](e,n,a):KC(e,'unknown document directive "'+n+'"')}aM(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,aM(e,!0,-1)):o&&YC(e,"directives end mark is expected"),lM(e,e.lineIndent-1,SC,!1,!0),aM(e,!0,-1),e.checkLineBreaks&&IC.test(e.input.slice(r,e.position))&&KC(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&iM(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,aM(e,!0,-1)):e.position=55296&&a<=56319&&t+1=56320&&n<=57343?1024*(a-55296)+n-56320+65536:a}function ek(e){return/^\n* /.test(e)}var tk=1,nk=2,ak=3,ik=4,rk=5;function ok(e,t,n,a,i,r,o,s){var c,l=0,d=null,u=!1,h=!1,p=-1!==a,m=-1,g=function(e){return YM(e)&&e!==gM&&!GM(e)&&e!==$M&&e!==TM&&e!==AM&&e!==EM&&e!==OM&&e!==DM&&e!==PM&&e!==NM&&e!==xM&&e!==MM&&e!==SM&&e!==bM&&e!==LM&&e!==zM&&e!==IM&&e!==kM&&e!==wM&&e!==CM&&e!==jM&&e!==RM}(JM(e,0))&&function(e){return!GM(e)&&e!==AM}(JM(e,e.length-1));if(t||o)for(c=0;c=65536?c+=2:c++){if(!YM(l=JM(e,c)))return rk;g=g&&XM(l,d,s),d=l}else{for(c=0;c=65536?c+=2:c++){if((l=JM(e,c))===_M)u=!0,p&&(h=h||c-m-1>a&&" "!==e[m+1],m=c);else if(!YM(l))return rk;g=g&&XM(l,d,s),d=l}h=h||p&&c-m-1>a&&" "!==e[m+1]}return u||h?n>9&&ek(e)?rk:o?r===UM?rk:nk:h?ik:ak:!g||o||i(e)?r===UM?rk:nk:tk}function sk(e,t,n,a,i){e.dump=function(){if(0===t.length)return e.quotingType===UM?'""':"''";if(!e.noCompatMode&&(-1!==VM.indexOf(t)||HM.test(t)))return e.quotingType===UM?'"'+t+'"':"'"+t+"'";var r=e.indent*Math.max(1,n),o=-1===e.lineWidth?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-r),s=a||e.flowLevel>-1&&n>=e.flowLevel;switch(ok(t,s,e.indent,o,(function(t){return function(e,t){var n,a;for(n=0,a=e.implicitTypes.length;n"+ck(t,e.indent)+lk(ZM(function(e,t){var n,a,i=/(\n+)([^\n]*)/g,r=(s=e.indexOf("\n"),s=-1!==s?s:e.length,i.lastIndex=s,dk(e.slice(0,s),t)),o="\n"===e[0]||" "===e[0];var s;for(;a=i.exec(e);){var c=a[1],l=a[2];n=" "===l[0],r+=c+(o||n||""===l?"":"\n")+dk(l,t),o=n}return r}(t,o),r));case rk:return'"'+function(e){for(var t,n="",a=0,i=0;i=65536?i+=2:i++)a=JM(e,i),!(t=FM[a])&&YM(a)?(n+=e[i],a>=65536&&(n+=e[i+1])):n+=t||BM(a);return n}(t)+'"';default:throw new Px("impossible error: invalid scalar style")}}()}function ck(e,t){var n=ek(e)?String(t):"",a="\n"===e[e.length-1];return n+(a&&("\n"===e[e.length-2]||"\n"===e)?"+":a?"":"-")+"\n"}function lk(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function dk(e,t){if(""===e||" "===e[0])return e;for(var n,a,i=/ [^ ]/g,r=0,o=0,s=0,c="";n=i.exec(e);)(s=n.index)-r>t&&(a=o>r?o:s,c+="\n"+e.slice(r,a),r=a+1),o=s;return c+="\n",e.length-r>t&&o>r?c+=e.slice(r,o)+"\n"+e.slice(o+1):c+=e.slice(r),c.slice(1)}function uk(e,t,n,a){var i,r,o,s="",c=e.tag;for(i=0,r=n.length;i tag resolver accepts not "'+c+'" style');a=s.represent[c](t,c)}e.dump=a}return!0}return!1}function pk(e,t,n,a,i,r,o){e.tag=null,e.dump=n,hk(e,n,!1)||hk(e,n,!0);var s,c=pM.call(e.dump),l=a;a&&(a=e.flowLevel<0||e.flowLevel>t);var d,u,h="[object Object]"===c||"[object Array]"===c;if(h&&(u=-1!==(d=e.duplicates.indexOf(n))),(null!==e.tag&&"?"!==e.tag||u||2!==e.indent&&t>0)&&(i=!1),u&&e.usedDuplicates[d])e.dump="*ref_"+d;else{if(h&&u&&!e.usedDuplicates[d]&&(e.usedDuplicates[d]=!0),"[object Object]"===c)a&&0!==Object.keys(e.dump).length?(!function(e,t,n,a){var i,r,o,s,c,l,d="",u=e.tag,h=Object.keys(n);if(!0===e.sortKeys)h.sort();else if("function"==typeof e.sortKeys)h.sort(e.sortKeys);else if(e.sortKeys)throw new Px("sortKeys must be a boolean or a function");for(i=0,r=h.length;i1024)&&(e.dump&&_M===e.dump.charCodeAt(0)?l+="?":l+="? "),l+=e.dump,c&&(l+=QM(e,t)),pk(e,t+1,s,!0,c)&&(e.dump&&_M===e.dump.charCodeAt(0)?l+=":":l+=": ",d+=l+=e.dump));e.tag=u,e.dump=d||"{}"}(e,t,e.dump,i),u&&(e.dump="&ref_"+d+e.dump)):(!function(e,t,n){var a,i,r,o,s,c="",l=e.tag,d=Object.keys(n);for(a=0,i=d.length;a1024&&(s+="? "),s+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),pk(e,t,o,!1,!1)&&(c+=s+=e.dump));e.tag=l,e.dump="{"+c+"}"}(e,t,e.dump),u&&(e.dump="&ref_"+d+" "+e.dump));else if("[object Array]"===c)a&&0!==e.dump.length?(e.noArrayIndent&&!o&&t>0?uk(e,t-1,e.dump,i):uk(e,t,e.dump,i),u&&(e.dump="&ref_"+d+e.dump)):(!function(e,t,n){var a,i,r,o="",s=e.tag;for(a=0,i=n.length;a",e.dump=s+" "+e.dump)}return!0}function mk(e,t){var n,a,i=[],r=[];for(gk(e,i,r),n=0,a=r.length;nq`
${_k.dump(e)}
`;return q`
-
-
- -
-
- - ${this.message?q`${this.message}${this.context&&"string"==typeof this.context?": "+this.context:""}`:""} - - ${this.context&&Array.isArray(this.context)?this.context.map((e=>n(e))):"object"==typeof this.context?n(this.context):""} -
-
-
`}static get styles(){return o(vk)}};e([he({attribute:!1})],yk.prototype,"message",void 0),e([he({attribute:!1})],yk.prototype,"context",void 0),e([he({attribute:!1})],yk.prototype,"icon",void 0),e([he({attribute:!0,type:Boolean})],yk.prototype,"dotdotdot",void 0),yk=e([le("frigate-card-message")],yk);let bk=class extends se{render(){if(this.message)return q` ${V_("error.troubleshooting")}.`} - .icon=${this.message.icon??"mdi:alert-circle"} - .context=${this.message.context} - .dotdotdot=${this.message.dotdotdot} - > - `}static get styles(){return o(vk)}};e([he({attribute:!1})],bk.prototype,"message",void 0),bk=e([le("frigate-card-error-message")],bk);let wk=class extends se{constructor(){super(...arguments),this.message="",this.animated=!1,this.size="large"}render(){return q`
- ${this.animated?q` - `:q``} - ${this.message?q`${this.message}`:q``} -
`}static get styles(){return o(vk)}};function xk(e){return"error"===e?.type?q` `:e?q` `:q``}function Ck(e){return q` - - - `}function Mk(e,t,n,a){Bg(e,"message",{message:t,type:n,icon:a?.icon,context:a?.context})}function kk(e,t,n){Mk(e,t,"error",{context:n?.context})}function Sk(e,t){t instanceof Error&&kk(e,t.message,{...t instanceof zs&&{context:t.context}})}e([he({attribute:!1})],wk.prototype,"message",void 0),e([he({attribute:!1})],wk.prototype,"animated",void 0),e([he({attribute:!1})],wk.prototype,"size",void 0),wk=e([le("frigate-card-progress-indicator")],wk);let Ek=class extends se{constructor(){super(...arguments),this._root=null}createRenderRoot(){return this}_createRoot(){const e=customElements.get("hui-conditional-element");if(!e||!this.hass)throw new Error(V_("error.could_not_render_elements"));const t=new e;t.hass=this.hass;const n={type:"conditional",conditions:[],elements:this.elements};try{t.setConfig(n)}catch(e){throw Gg(e,console.error),new zs(V_("error.invalid_elements_config"))}return t}willUpdate(e){try{!this.elements||this._root&&!e.has("elements")||(this._root=this._createRoot())}catch(e){return Sk(this,e)}}render(){return q`${this._root||""}`}updated(){this.hass&&this._root&&(this._root.hass=this.hass)}};e([he({attribute:!1})],Ek.prototype,"elements",void 0),e([he({attribute:!1})],Ek.prototype,"conditionsManagerEpoch",void 0),e([he({attribute:!1})],Ek.prototype,"hass",void 0),Ek=e([le("frigate-card-elements-core")],Ek);let $k=class extends se{constructor(){super(...arguments),this._menuRemoveHandler=e=>{Bg(this,"menu:remove",e.detail)},this._statusBarRemoveHandler=e=>{Bg(this,"status-bar:remove",e.detail)},this._menuAddHandler=e=>{const t=e.composedPath();t.length&&this._addHandler(t[0],"frigate-card:menu:remove",this._menuRemoveHandler)},this._statusBarAddHandler=e=>{const t=e.composedPath();t.length&&this._addHandler(t[0],"frigate-card:status-bar:add",this._statusBarRemoveHandler)}}_addHandler(e,t,n){e.removeEventListener(t,n),e.addEventListener(t,n)}connectedCallback(){super.connectedCallback(),this.addEventListener("frigate-card:menu:add",this._menuAddHandler),this.addEventListener("frigate-card:status-bar:add",this._statusBarAddHandler)}disconnectedCallback(){this.removeEventListener("frigate-card:menu:add",this._menuAddHandler),this.addEventListener("frigate-card:status-bar:add",this._statusBarAddHandler),super.disconnectedCallback()}render(){return q` - `}static get styles(){return o(":host {\n position: absolute;\n inset: 0;\n overflow: hidden;\n pointer-events: none;\n}\n\n.element {\n position: absolute;\n transform: translate(-50%, -50%);\n pointer-events: auto;\n}\n\nhui-error-card.element {\n inset: 0px;\n transform: unset;\n}")}};e([he({attribute:!1})],$k.prototype,"hass",void 0),e([he({attribute:!1})],$k.prototype,"conditionsManagerEpoch",void 0),e([he({attribute:!1})],$k.prototype,"elements",void 0),$k=e([le("frigate-card-elements")],$k);let Ak=class extends se{setConfig(e){this._config=e}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this.className=""}render(){if(function(e,t){if(!t)return!0;const n=new vw(t,{bubbles:!0,composed:!0});return e.dispatchEvent(n),n.evaluation??!1}(this,this._config?.conditions))return q` - `}};e([he({attribute:!1,hasChanged:()=>!0})],Ak.prototype,"hass",void 0),Ak=e([le("frigate-card-conditional")],Ak);class zk extends se{constructor(e){super(),this._config=null,this._eventCategory=e}setConfig(e){this._config=e}connectedCallback(){super.connectedCallback(),this._config&&Bg(this,`${this._eventCategory}:add`,this._config)}disconnectedCallback(){this._config&&Bg(this,`${this._eventCategory}:remove`,this._config),super.disconnectedCallback()}}e([pe()],zk.prototype,"_config",void 0);class Ik extends zk{constructor(){super("menu")}}let Tk=class extends Ik{};Tk=e([le("frigate-card-menu-icon")],Tk);let jk=class extends Ik{};jk=e([le("frigate-card-menu-state-icon")],jk);let Ok=class extends Ik{};Ok=e([le("frigate-card-menu-submenu")],Ok);let Dk=class extends Ik{};Dk=e([le("frigate-card-menu-submenu-select")],Dk);class Rk extends zk{constructor(){super("status-bar")}}let Pk=class extends Rk{};Pk=e([le("frigate-card-status-bar-icon")],Pk);let Lk=class extends Rk{};Lk=e([le("frigate-card-status-bar-image")],Lk);let Nk=class extends Rk{};Nk=e([le("frigate-card-status-bar-string")],Nk);let Fk=class extends se{render(){return q` `}static get styles(){return o(":host {\n width: intrinsic;\n height: intrinsic;\n display: flex;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n}\n\nimg {\n width: 10%;\n animation: rotate 8s linear infinite;\n}\n\n@keyframes rotate {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}")}};Fk=e([le("frigate-card-loading")],Fk);const Vk=(e,t)=>{Bg(e,"action:execution-request",t)};class Hk{constructor(e){this._config=null,this._buttons=[],this._expanded=!1,this._host=e}setMenuConfig(e){this._config=e,this._host.style.setProperty("--frigate-card-menu-button-size",`${e.button_size}px`),this._host.setAttribute("data-style",e.style),this._host.setAttribute("data-position",e.position),this._host.setAttribute("data-alignment",e.alignment),this._sortButtons(),this._host.requestUpdate()}getMenuConfig(){return this._config}isExpanded(){return this._expanded}setButtons(e){this._buttons=e,this._sortButtons(),this._host.requestUpdate()}getButtons(e){const t=e=>!this._isHidingMenu()||this._expanded||!!e.permanent;return this._buttons.filter((n=>(e=>!1!==e.enabled)(n)&&(t=>t.alignment===e||"matching"===e&&!t.alignment)(n)&&t(n)))}setExpanded(e){this._expanded=e,of(this._host,e,"expanded"),this._host.requestUpdate()}toggleExpanded(){this.setExpanded(!this._expanded)}actionHandler(e,t){if(e.stopPropagation(),e.detail.config&&(t=e.detail.config),!t)return;const n=e.detail.action,a=yf(n,t);if(!a)return;const i=Wg(a);let r=!1;const o=i.filter((e=>sf(e)&&!this._isUnknownActionMenuToggleAction(e)));if(o.length!=i.length&&(r=!0),o.length&&Vk(this._host,{action:i,config:t}),this._isHidingMenu())if(r)this.setExpanded(!this._expanded);else{const e=yf("hold",t),a=yf("double_tap",t),i=yf("tap",t),r=yf("end_tap",t);"end_tap"!==n&&("start_tap"!==n||e||a||i||r)&&("end_tap"===n||r)||this.setExpanded(!1)}}getFreshButtonState(e,t){const n={...t};return e&&"custom:frigate-card-menu-state-icon"===t.type?Lb(e,n):n}_sortButtons(){this._buttons=Ev(this._buttons,(e=>(e.priority??0)+(this._isHidingMenu()&&e.permanent?Us:0)),["desc"])}_isHidingMenu(){return"hidden"===this._config?.style}_isUnknownActionMenuToggleAction(e){const t=mf(e);return!!t&&"menu_toggle"==t.frigate_card_action}}var Bk="data:image/svg+xml,%3c%3fxml version='1.0' encoding='UTF-8' standalone='no'%3f%3e%3csvg width='24' height='24' viewBox='0 0 24 24' fill='none' version='1.1' id='svg54' sodipodi:docname='frigate.svg' inkscape:version='1.2.2 (b0a8486541%2c 2022-12-01)' xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape' xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd' xmlns='http://www.w3.org/2000/svg' xmlns:svg='http://www.w3.org/2000/svg'%3e %3cdefs id='defs58' /%3e %3csodipodi:namedview id='namedview56' pagecolor='%23da4040' bordercolor='%23666666' borderopacity='1.0' inkscape:pageshadow='2' inkscape:pageopacity='0' inkscape:pagecheckerboard='0' showgrid='false' width='24px' inkscape:zoom='45.254834' inkscape:cx='-0.03314563' inkscape:cy='9.9768347' inkscape:window-width='3840' inkscape:window-height='1527' inkscape:window-x='1080' inkscape:window-y='227' inkscape:window-maximized='1' inkscape:current-layer='svg54' showguides='true' inkscape:showpageshadow='2' inkscape:deskcolor='%23d1d1d1' /%3e %3cpath d='m 4.8759466%2c22.743573 c 0.0866%2c0.69274 0.811811%2c1.16359 0.37885%2c1.27183 -0.43297%2c0.10824 -2.32718%2c-3.43665 -2.7601492%2c-4.95202 -0.4329602%2c-1.51538 -0.6764993%2c-3.22017 -0.5682593%2c-4.19434 0.1082301%2c-0.97417 5.7097085%2c-2.48955 5.7097085%2c-2.89545 0%2c-0.4059 -1.81304%2c-0.0271 -1.89422%2c-0.35178 -0.0812%2c-0.32472 1.36925%2c-0.12989 1.75892%2c-0.64945 0.60885%2c-0.81181 1.3800713%2c-0.6765 1.8671505%2c-1.1094696 0.4870902%2c-0.4329599 1.0824089%2c-2.0836399 1.1906589%2c-2.7871996 0.108241%2c-0.70357 -1.0824084%2c-1.51538 -1.4071389%2c-2.05658 -0.3247195%2c-0.54121 0.7035702%2c-0.92005 3.1931099%2c-1.94834 2.48954%2c-1.02829 10.39114%2c-3.30134994 10.49938%2c-3.03074994 0.10824%2c0.27061 -2.59779%2c1.40713994 -4.492%2c2.11069994 -1.89422%2c0.70357 -4.97909%2c2.05658 -4.97909%2c2.43542 0%2c0.37885 0.16236%2c0.67651 0.0541%2c1.54244 -0.10824%2c0.86593 -0.12123%2c1.2702597 -0.32472%2c1.8400997 -0.1353%2c0.37884 -0.2706%2c1.27183 0%2c2.0836295 0.21648%2c0.64945 0.92005%2c1.13653 1.24477%2c1.24478 0.2706%2c0.018 1.01746%2c0.0433 1.8401%2c0 1.02829%2c-0.0541 2.48954%2c0.0541 2.48954%2c0.32472 0%2c0.2706 -2.21894%2c0.10824 -2.21894%2c0.48708 0%2c0.37885 2.27306%2c-0.0541 2.21894%2c0.32473 -0.0541%2c0.37884 -1.89422%2c0.21648 -2.86839%2c0.21648 -0.77933%2c0 -1.93031%2c-0.0361 -2.43542%2c-0.21648 l -0.10824%2c0.37884 c -0.18038%2c0 -0.55744%2c0.10824 -0.94711%2c0.10824 -0.48708%2c0 -0.51414%2c0.16236 -1.40713%2c0.16236 -0.892989%2c0 -0.622391%2c-0.0541 -1.4341894%2c-0.10824 -0.81181%2c-0.0541 -3.842561%2c2.27306 -4.383761%2c3.03075 -0.54121%2c0.75768 -0.21649%2c2.59778 -0.21649%2c3.43665 0%2c0.75379 -0.10824%2c2.43542 0%2c3.30135 z' fill='black' id='path330' style='fill:white%3bfill-opacity:1%3bstroke:none%3bstroke-width:0.1%3bstroke-miterlimit:4%3bstroke-dasharray:none%3bstroke-opacity:1' sodipodi:nodetypes='csccscccccsscscccccsscsccssccscc' /%3e%3c/svg%3e",qk="data:image/svg+xml,%3c%3fxml version='1.0' encoding='UTF-8' standalone='no'%3f%3e%3c!-- Created with Inkscape (http://www.inkscape.org/) --%3e%3csvg id='svg2' version='1.1' inkscape:version='1.2.2 (b0a8486541%2c 2022-12-01)' width='24' height='24' xml:space='preserve' sodipodi:docname='motioneye.svg' inkscape:export-filename='/home/ccrisan/projects/motioneye/static/img/motioneye-logo.png' inkscape:export-xdpi='960' inkscape:export-ydpi='960' xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape' xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns='http://www.w3.org/2000/svg' xmlns:svg='http://www.w3.org/2000/svg' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns%23' xmlns:cc='http://creativecommons.org/ns%23' xmlns:dc='http://purl.org/dc/elements/1.1/'%3e%3cmetadata id='metadata8'%3e%3crdf:RDF%3e%3ccc:Work rdf:about=''%3e%3cdc:format%3eimage/svg%2bxml%3c/dc:format%3e%3cdc:type rdf:resource='http://purl.org/dc/dcmitype/StillImage' /%3e%3c/cc:Work%3e%3c/rdf:RDF%3e%3c/metadata%3e%3cdefs id='defs6'%3e%3clinearGradient inkscape:collect='always' id='linearGradient2058'%3e%3cstop style='stop-color:white%3bstop-opacity:1%3b' offset='0' id='stop2054' /%3e%3cstop style='stop-color:%23585858%3bstop-opacity:1' offset='1' id='stop2056' /%3e%3c/linearGradient%3e%3clinearGradient inkscape:collect='always' id='linearGradient2005'%3e%3cstop style='stop-color:white%3bstop-opacity:1%3b' offset='0' id='stop2001' /%3e%3cstop style='stop-color:grey%3bstop-opacity:1%3b' offset='1' id='stop2003' /%3e%3c/linearGradient%3e%3clinearGradient inkscape:collect='always' id='linearGradient4205'%3e%3cstop style='stop-color:%234aa3e0%3bstop-opacity:1' offset='0' id='stop4207' /%3e%3cstop style='stop-color:%233096db%3bstop-opacity:1' offset='1' id='stop4209' /%3e%3c/linearGradient%3e%3clinearGradient inkscape:collect='always' id='linearGradient4197'%3e%3cstop style='stop-color:white%3bstop-opacity:1%3b' offset='0' id='stop4199' /%3e%3cstop style='stop-color:%23585858%3bstop-opacity:1' offset='1' id='stop4201' /%3e%3c/linearGradient%3e%3clinearGradient inkscape:collect='always' xlink:href='%23linearGradient4205' id='linearGradient4211' x1='26.602072' y1='43.034946' x2='26.602072' y2='29.466328' gradientUnits='userSpaceOnUse' gradientTransform='matrix(0.96428571%2c0%2c0%2c0.96428571%2c0.91428571%2c0.91428571)' /%3e%3cfilter style='color-interpolation-filters:sRGB' inkscape:label='Drop Shadow' id='filter4285'%3e%3cfeFlood flood-opacity='0.588235' flood-color='rgb(0%2c0%2c0)' result='flood' id='feFlood4287' /%3e%3cfeComposite in='flood' in2='SourceGraphic' operator='in' result='composite1' id='feComposite4289' /%3e%3cfeGaussianBlur in='composite1' stdDeviation='0.6' result='blur' id='feGaussianBlur4291' /%3e%3cfeOffset dx='0' dy='-1' result='offset' id='feOffset4293' /%3e%3cfeComposite in='SourceGraphic' in2='offset' operator='over' result='composite2' id='feComposite4295' /%3e%3c/filter%3e%3clinearGradient inkscape:collect='always' xlink:href='%23linearGradient2005' id='linearGradient4309' gradientUnits='userSpaceOnUse' x1='26.445793' y1='47.517574' x2='26.445793' y2='3.8183768' /%3e%3clinearGradient inkscape:collect='always' xlink:href='%23linearGradient4197' id='linearGradient4311' gradientUnits='userSpaceOnUse' x1='26.445793' y1='47.517574' x2='26.445793' y2='3.8183768' /%3e%3clinearGradient inkscape:collect='always' xlink:href='%23linearGradient2058' id='linearGradient4313' gradientUnits='userSpaceOnUse' x1='26.445793' y1='47.517574' x2='26.445793' y2='3.8183768' /%3e%3cfilter style='color-interpolation-filters:sRGB' inkscape:label='Drop Shadow' id='filter4315' x='-0.03618178' y='-0.20783284' width='1.0723636' height='1.3304883'%3e%3cfeFlood flood-opacity='0.588235' flood-color='rgb(0%2c0%2c0)' result='flood' id='feFlood4317' /%3e%3cfeComposite in='flood' in2='SourceGraphic' operator='in' result='composite1' id='feComposite4319' /%3e%3cfeGaussianBlur in='composite1' stdDeviation='0.6' result='blur' id='feGaussianBlur4321' /%3e%3cfeOffset dx='0' dy='-1' result='offset' id='feOffset4323' /%3e%3cfeComposite in='SourceGraphic' in2='offset' operator='over' result='composite2' id='feComposite4325' /%3e%3c/filter%3e%3cfilter style='color-interpolation-filters:sRGB' inkscape:label='Drop Shadow' id='filter4327' x='-0.27857143' y='-0.4720238' width='1.5571429' height='1.7505952'%3e%3cfeFlood flood-opacity='0.588235' flood-color='rgb(0%2c0%2c0)' result='flood' id='feFlood4329' /%3e%3cfeComposite in='flood' in2='SourceGraphic' operator='in' result='composite1' id='feComposite4331' /%3e%3cfeGaussianBlur in='composite1' stdDeviation='0.6' result='blur' id='feGaussianBlur4333' /%3e%3cfeOffset dx='0' dy='-1' result='offset' id='feOffset4335' /%3e%3cfeComposite in='SourceGraphic' in2='offset' operator='over' result='composite2' id='feComposite4337' /%3e%3c/filter%3e%3cfilter style='color-interpolation-filters:sRGB' inkscape:label='Drop Shadow' id='filter4339' x='-0.0202507' y='-0.13980794' width='1.0405014' height='1.2082853'%3e%3cfeFlood flood-opacity='0.588235' flood-color='rgb(0%2c0%2c0)' result='flood' id='feFlood4341' /%3e%3cfeComposite in='flood' in2='SourceGraphic' operator='in' result='composite1' id='feComposite4343' /%3e%3cfeGaussianBlur in='composite1' stdDeviation='0.2' result='blur' id='feGaussianBlur4345' /%3e%3cfeOffset dx='0' dy='-0.5' result='offset' id='feOffset4347' /%3e%3cfeComposite in='SourceGraphic' in2='offset' operator='over' result='composite2' id='feComposite4349' /%3e%3c/filter%3e%3c/defs%3e%3csodipodi:namedview pagecolor='%23ff0d0d' bordercolor='%23666666' borderopacity='1' objecttolerance='10' gridtolerance='10' guidetolerance='10' inkscape:pageopacity='0' inkscape:pageshadow='2' inkscape:window-width='3840' inkscape:window-height='1527' id='namedview4' showgrid='false' inkscape:zoom='29.890116' inkscape:cx='19.973158' inkscape:cy='16.577386' inkscape:window-x='1080' inkscape:window-y='227' inkscape:window-maximized='1' inkscape:current-layer='g10' showguides='true' inkscape:guide-bbox='true' inkscape:showpageshadow='true' inkscape:pagecheckerboard='false' inkscape:deskcolor='%23d1d1d1' /%3e%3cg id='g10' inkscape:groupmode='layer' inkscape:label='ink_ext_XXXXXX' transform='matrix(1.25%2c0%2c0%2c-1.25%2c0%2c64)'%3e%3cg id='g4823' transform='matrix(1.0344694%2c0%2c0%2c1.0344694%2c-3.551886%2c-0.86695248)'%3e%3cpath id='path4244' d='M 8.9346154%2c40.515385 C 5.3647588%2c36.547307 3.2%2c31.357779 3.2%2c25.6 3.2%2c13.228821 13.228821%2c3.2 25.6%2c3.2 37.971179%2c3.2 48%2c13.228821 48%2c25.6 c 0%2c5.736682 -2.161128%2c10.952493 -5.707692%2c14.915385 -1.695935%2c-0.623286 -3.387833%2c-1.349065 -5.061539%2c-2.288462 3.2394%2c-0.937363 5.6%2c-3.937988 5.6%2c-7.457692 0%2c-4.260339 -3.469626%2c-7.753846 -7.753846%2c-7.753846 -3.633936%2c0 -6.690552%2c2.51055 -7.538461%2c5.869231 h -3.876924 c -0.840685%2c-3.360193 -3.903443%2c-5.869231 -7.538461%2c-5.869231 -4.284219%2c0 -7.7807693%2c3.493507 -7.7807693%2c7.753846 0%2c3.56112 2.4570323%2c6.5856 5.7615383%2c7.484616 -1.676267%2c0.912203 -3.404813%2c1.620556 -5.1692306%2c2.261538 z M 25.6%2c26.461538 c 0.532632%2c-1.981435 1.101793%2c-3.947553 3.446154%2c-5.16923 L 25.6%2c16.123077 22.153846%2c21.292308 c 2.053593%2c1.454966 3.000771%2c3.237758 3.446154%2c5.16923 z' style='fill:url(%23linearGradient4309)%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4327)' inkscape:connector-curvature='0' transform='matrix(0.38078533%2c0%2c0%2c0.38078533%2c2.9655495%2c31.335499)' /%3e%3cpath id='path4242' d='m 16.123077%2c33.353847 c -1.427443%2c0 -2.584616%2c-1.157173 -2.584616%2c-2.584616 0%2c-1.427444 1.157173%2c-2.584615 2.584616%2c-2.584615 1.427444%2c0 2.584615%2c1.157171 2.584615%2c2.584615 0%2c1.427443 -1.157171%2c2.584616 -2.584615%2c2.584616 z' style='fill:url(%23linearGradient4311)%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4327)' inkscape:connector-curvature='0' transform='matrix(0.38078533%2c0%2c0%2c0.38078533%2c2.9655495%2c31.335499)' /%3e%3cpath id='path4240' d='m 35.076923%2c33.353847 c -1.427443%2c0 -2.584615%2c-1.157173 -2.584615%2c-2.584616 0%2c-1.427444 1.157172%2c-2.584615 2.584615%2c-2.584615 1.427443%2c0 2.584616%2c1.157171 2.584616%2c2.584615 0%2c1.427443 -1.157173%2c2.584616 -2.584616%2c2.584616 z' style='fill:url(%23linearGradient4313)%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4327)' inkscape:connector-curvature='0' transform='matrix(0.38078533%2c0%2c0%2c0.38078533%2c2.9655495%2c31.335499)' /%3e%3cpath inkscape:connector-curvature='0' style='fill:%23d9d9d9%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4339)' d='m 25.6%2c47.2 c -4.373944%2c0 -8.437159%2c-1.399808 -11.838461%2c-3.634616 3.677605%2c-0.394237 7.305921%2c-1.342945 11.423077%2c-3.375 4.166157%2c2.122533 8.434154%2c3.008875 12.279808%2c3.452886 C 34.057131%2c45.890032 29.986674%2c47.2 25.6%2c47.2 Z' id='path4248' transform='matrix(0.39488848%2c0%2c0%2c0.39488848%2c2.6045087%2c30.974457)' /%3e%3cpath inkscape:connector-curvature='0' style='fill:url(%23linearGradient4211)%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4315)' d='M 39.723077%2c42.552884 C 35.394064%2c42.5242 29.479588%2c40.397223 25.184616%2c38.432418 20.668821%2c40.064102 16.035448%2c42.649343 10.801923%2c42.526924 10.453022%2c42.51873 10.118061%2c42.50105 9.7634616%2c42.475 L 5.6615384%2c42.1375 9.5557693%2c40.839424 c 5.3417977%2c-1.74056 10.0398397%2c-2.851302 14.1749997%2c-10.025963 0.959101%2c0 2.845924%2c-4.15e-4 3.738462%2c-4.15e-4 4.11884%2c7.134039 9.059296%2c8.324614 14.149039%2c10.026378 L 45.460577%2c42.085577 41.4625%2c42.475 c -0.544847%2c0.05181 -1.120992%2c0.08198 -1.739423%2c0.07788 z' id='path4246' sodipodi:nodetypes='cccccccccccc' transform='matrix(0.39488848%2c0%2c0%2c0.39488848%2c2.6045087%2c30.974457)' /%3e%3c/g%3e%3c/g%3e%3c/svg%3e",Uk="data:image/svg+xml,%3c%3fxml version='1.0' encoding='UTF-8' standalone='no'%3f%3e%3c!-- Created with Inkscape (http://www.inkscape.org/) --%3e%3csvg version='1.1' id='svg62' width='24' height='24' viewBox='0 0 24 24' sodipodi:docname='reolink.svg' inkscape:version='1.2.2 (b0a8486541%2c 2022-12-01)' xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape' xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd' xmlns='http://www.w3.org/2000/svg' xmlns:svg='http://www.w3.org/2000/svg'%3e %3cdefs id='defs66' /%3e %3csodipodi:namedview id='namedview64' pagecolor='%23505050' bordercolor='%23eeeeee' borderopacity='1' inkscape:showpageshadow='0' inkscape:pageopacity='0' inkscape:pagecheckerboard='0' inkscape:deskcolor='%23505050' showgrid='true' inkscape:zoom='36.417984' inkscape:cx='18.191562' inkscape:cy='8.6633022' inkscape:window-width='3840' inkscape:window-height='1527' inkscape:window-x='1080' inkscape:window-y='227' inkscape:window-maximized='1' inkscape:current-layer='g68'%3e %3cinkscape:grid type='xygrid' id='grid1175' dotted='false' snapvisiblegridlinesonly='true' /%3e %3c/sodipodi:namedview%3e %3cg inkscape:groupmode='layer' inkscape:label='Reolink Logo' id='g68'%3e %3cpath style='fill:white%3bstroke-width:0.0393282%3bfill-opacity:1' d='M 17.037254%2c23.964909 C 16.764634%2c23.917573 16.561708%2c23.83617 16.325735%2c23.67954 16.196719%2c23.593913 14.543544%2c21.952905 12.217956%2c19.602014 10.077426%2c17.438191 8.2198993%2c15.582673 8.0901166%2c15.478642 7.6038998%2c15.088895 7.0877741%2c14.869424 6.4986827%2c14.801908 6.3140805%2c14.780765 5.079061%2c14.763305 3.7541964%2c14.763126 l -2.408845%2c-4.78e-4 0.00713%2c-7.3937713 v -7.3935985 l 6.2040046%2c3.536e-5 c 3.9799342%2c1.969e-5 6.3590882%2c0.01465833 6.6366112%2c0.0408227 2.331195%2c0.21982024 4.364771%2c1.49885914 5.578726%2c3.50085534 0.686043%2c1.1313823 1.020901%2c2.2783695 1.067186%2c3.6554196 0.06335%2c1.8844953 -0.57426%2c3.6597378 -1.831469%2c5.0992438 -0.756457%2c0.866146 -1.861127%2c1.62991 -2.928729%2c2.024919 l -0.319718%2c0.118287 -1.951287%2c-1.979284 -1.951286%2c-1.979278 1.046741%2c-0.02346 c 0.575706%2c-0.01291 1.099833%2c-0.03689 1.164724%2c-0.0533 0.596068%2c-0.150649 0.949703%2c-0.313968 1.322206%2c-0.6106282 0.643573%2c-0.5125401 1.046169%2c-1.2439257 1.137985%2c-2.0673522 0.167852%2c-1.505317 -0.771478%2c-2.8704888 -2.263547%2c-3.2897068 L 13.950001%2c4.3234481 9.7981831%2c4.3106846 5.6392389%2c4.29801 v 3.0692702 3.0692648 l 1.4185165%2c7.9e-4 c 1.6275801%2c8.87e-4 1.7789152%2c0.01912 2.3105245%2c0.27984 0.3095679%2c0.15183 0.389559%2c0.219499 1.0817441%2c0.915083 3.027399%2c3.042274 12.19404%2c12.30837 12.204589%2c12.337002 0.0161%2c0.04373 -5.364393%2c0.03953 -5.617359%2c-0.0045 z' id='path1173' inkscape:label='R' /%3e %3c/g%3e%3c/svg%3e";const Wk=e=>{switch(e){case"frigate":return Bk;case"motioneye":return qk;case"reolink":return Uk;default:return null}};const Zk=(e,t,n)=>{const a=e.states[t],i=n?.state?n.state:a?a.state:null;if(!i)return null;const r=Ye(t),o=a?a.attributes:null;return n?.entity?.translation_key&&e.localize(`component.${n.entity.platform}.entity.${r}.${n.entity.translation_key}.state.${i}`)||o?.device_class&&e.localize(`component.${r}.state.${o.device_class}.${i}`)||e.localize(`component.${r}.state._.${i}`)||i};let Qk=class extends se{_renderItem(e){if(!this.hass)return;const t=Lb(this.hass,{...e});return q` - {t.detail.config=e}} - .actionHandler=${kf({hasHold:bf(e.hold_action),hasDoubleClick:bf(e.double_tap_action)})} - > - ${t.title||""} - ${e.subtitle?q`${e.subtitle}`:""} - ${(e=>{if(e.icon){const t=Wk(e.icon);return t?q``:q` - `}return q``})(t)} - - `}render(){if(!this.submenu)return q``;const e=this.submenu.items;return q` - e.stopPropagation()} - @click=${e=>wf(e)} - > - - - - ${e.map(this._renderItem.bind(this))} - - `}static get styles(){return o("ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n pointer-events: auto;\n}\n\nmwc-list-item {\n z-index: 20;\n}")}};e([he({attribute:!1})],Qk.prototype,"hass",void 0),e([he({attribute:!1})],Qk.prototype,"submenu",void 0),Qk=e([le("frigate-card-submenu")],Qk);let Gk=class extends se{shouldUpdate(e){const t=e.get("hass");return!e.has("hass")||!t||!this.submenuSelect||Ob(this.hass,t,[this.submenuSelect.entity])}async _refreshOptionTitles(){if(!this.hass||!this.submenuSelect)return;const e=this.submenuSelect.entity,t=this.hass.states[e],n=t?.attributes?.options,a=await(this.entityRegistryManager?.getEntity(this.hass,e))??null,i={};for(const t of n){const n=Zk(this.hass,e,{...a&&{entity:a},state:t});n&&(i[t]=n)}this._optionTitles=i}willUpdate(){if(!this.submenuSelect||!this.hass)return;this._optionTitles||this._refreshOptionTitles();const e=this.submenuSelect.entity,t=this.hass.states[e],n=t?.attributes?.options;if(!t||!n)return;const a={icon:Ib("select"),...Lb(this.hass,this.submenuSelect),...this.submenuSelect,type:"custom:frigate-card-menu-submenu",items:[]};delete a.options;const i=a.items;for(const a of n){const n=this._optionTitles?.[a]??a;i.push({state_color:!0,selected:t.state===a,enabled:!0,title:n||a,...(e.startsWith("select.")||e.startsWith("input_select."))&&{tap_action:{action:"perform-action",perform_action:e.startsWith("select.")?"select.select_option":"input_select.select_option",target:{entity_id:e},data:{option:a}}},...this.submenuSelect.options&&this.submenuSelect.options[a]})}this._generatedSubmenu=a}render(){return q` `}};e([he({attribute:!1})],Gk.prototype,"hass",void 0),e([he({attribute:!1})],Gk.prototype,"submenuSelect",void 0),e([he({attribute:!1})],Gk.prototype,"entityRegistryManager",void 0),e([pe()],Gk.prototype,"_optionTitles",void 0),Gk=e([le("frigate-card-submenu-select")],Gk);let Yk=class extends se{constructor(){super(...arguments),this._controller=new Hk(this)}set menuConfig(e){this._controller.setMenuConfig(e)}set buttons(e){this._controller.setButtons(e)}set expanded(e){this._controller.setExpanded(e)}toggleMenu(){this._controller.toggleExpanded()}_renderButton(e){if(!this.hass)return;if("custom:frigate-card-menu-submenu"===e.type)return q` this._controller.actionHandler(e)} - > - `;if("custom:frigate-card-menu-submenu-select"===e.type)return q` this._controller.actionHandler(e)} - > - `;const t=this._controller.getFreshButtonState(this.hass,e),n=Wk(t.icon);return q` this._controller.actionHandler(t,e)} - > - ${n?q``:q``} - `}render(){const e=this._controller.getMenuConfig(),t=e?.style;if(!e||"none"===t)return;const n=this._controller.getButtons("matching"),a=this._controller.getButtons("opposing");return q`
- ${n.map((e=>this._renderButton(e)))} -
-
- ${a.map((e=>this._renderButton(e)))} -
`}static get styles(){return o('ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n --frigate-card-menu-button-size: 40px;\n --mdc-icon-button-size: var(--frigate-card-menu-button-size);\n --mdc-icon-size: calc(var(--mdc-icon-button-size) / 2);\n pointer-events: auto;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n}\n\n/*******************************************************\n * Non-hover styles should not interact with the pointer\n *******************************************************/\n:host(:not([data-style*=hover])) {\n pointer-events: none;\n}\n\n/***********************************\n * Aligned divs: matching & opposing\n ***********************************/\ndiv.matching,\ndiv.opposing {\n display: flex;\n flex-wrap: wrap;\n flex-direction: row;\n align-items: flex-start;\n min-width: 0px;\n min-height: 0px;\n}\n\ndiv.matching {\n justify-content: flex-start;\n}\n\ndiv.opposing {\n justify-content: flex-end;\n}\n\n/********************\n * Outside menu style\n ********************/\n:host([data-style=outside]) {\n width: 100%;\n background: var(--secondary-background-color);\n}\n\n/********************************************************\n * Hack: Ensure host & div expand for column flex layouts\n ********************************************************/\n:host(:not([data-style=outside])[data-position=left]) {\n writing-mode: vertical-lr;\n}\n\n:host(:not([data-style=outside])[data-position=right]) {\n writing-mode: vertical-rl;\n}\n\n:host(:not([data-style=outside])[data-style=overlay][data-position=left]) div > *,\n:host(:not([data-style=outside])[data-style=overlay][data-position=right]) div > *,\n:host(:not([data-style=outside])[data-style*=hover][data-position=left]) div > *,\n:host(:not([data-style=outside])[data-style*=hover][data-position=right]) div > *,\n:host(:not([data-style=outside])[data-style=hidden][data-position=left]) div > *,\n:host(:not([data-style=outside])[data-style=hidden][data-position=right]) div > * {\n writing-mode: horizontal-tb;\n}\n\n/**********************\n * "Reverse" alignments\n **********************/\n:host(:not([data-style=outside])[data-position=left][data-alignment=bottom]),\n:host(:not([data-style=outside])[data-position=right][data-alignment=bottom]),\n:host([data-position=top][data-alignment=right]),\n:host([data-position=bottom][data-alignment=right]),\n:host(:not([data-style=outside])[data-position=left][data-alignment=bottom]) div,\n:host(:not([data-style=outside])[data-position=right][data-alignment=bottom]) div,\n:host([data-position=top][data-alignment=right]) div,\n:host([data-position=bottom][data-alignment=right]) div {\n flex-direction: row-reverse;\n}\n\n/****************************\n * Wrap upwards on the bottom\n ****************************/\n:host(:not([data-style=outside])[data-position=bottom]) div {\n flex-wrap: wrap-reverse;\n}\n\n/********************************************\n * Positioning for absolute based menu styles\n ********************************************/\n:host([data-style=overlay]),\n:host([data-style*=hover]),\n:host([data-style=hidden]) {\n overflow: hidden;\n width: calc(var(--frigate-card-menu-button-size) + 6px);\n height: calc(var(--frigate-card-menu-button-size) + 6px);\n}\n\n:host([data-style=overlay]),\n:host([data-style*=hover]),\n:host([data-style=hidden][expanded]) {\n overflow: visible;\n}\n\n:host([data-style=overlay][data-position=top]),\n:host([data-style=overlay][data-position=bottom]),\n:host([data-style*=hover][data-position=top]),\n:host([data-style*=hover][data-position=bottom]),\n:host([data-style=hidden][data-position=top]),\n:host([data-style=hidden][data-position=bottom]) {\n width: 100%;\n height: auto;\n}\n\n:host([data-style=overlay][data-position=top][data-alignment=left]),\n:host([data-style=overlay][data-position=bottom][data-alignment=left]),\n:host([data-style*=hover][data-position=top][data-alignment=left]),\n:host([data-style*=hover][data-position=bottom][data-alignment=left]),\n:host([data-style=hidden][data-position=top][data-alignment=left][expanded]),\n:host([data-style=hidden][data-position=bottom][data-alignment=left][expanded]) {\n background: linear-gradient(90deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}\n\n:host([data-style=overlay][data-position=top][data-alignment=right]),\n:host([data-style=overlay][data-position=bottom][data-alignment=right]),\n:host([data-style*=hover][data-position=top][data-alignment=right]),\n:host([data-style*=hover][data-position=bottom][data-alignment=right]),\n:host([data-style=hidden][data-position=top][data-alignment=right][expanded]),\n:host([data-style=hidden][data-position=bottom][data-alignment=right][expanded]) {\n background: linear-gradient(270deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}\n\n:host([data-style=overlay][data-position=left]),\n:host([data-style=overlay][data-position=right]),\n:host([data-style*=hover][data-position=left]),\n:host([data-style*=hover][data-position=right]),\n:host([data-style=hidden][data-position=left]),\n:host([data-style=hidden][data-position=right]) {\n width: auto;\n height: 100%;\n}\n\n:host([data-style=overlay][data-position=left][data-alignment=top]),\n:host([data-style=overlay][data-position=right][data-alignment=top]),\n:host([data-style*=hover][data-position=left][data-alignment=top]),\n:host([data-style*=hover][data-position=right][data-alignment=top]),\n:host([data-style=hidden][data-position=left][data-alignment=top][expanded]),\n:host([data-style=hidden][data-position=right][data-alignment=top][expanded]) {\n background: linear-gradient(180deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}\n\n:host([data-style=overlay][data-position=left][data-alignment=bottom]),\n:host([data-style=overlay][data-position=right][data-alignment=bottom]),\n:host([data-style*=hover][data-position=left][data-alignment=bottom]),\n:host([data-style*=hover][data-position=right][data-alignment=bottom]),\n:host([data-style=hidden][data-position=left][data-alignment=bottom][expanded]),\n:host([data-style=hidden][data-position=right][data-alignment=bottom][expanded]) {\n background: linear-gradient(0deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}')}};e([he({attribute:!1})],Yk.prototype,"entityRegistryManager",void 0),e([he({attribute:!1})],Yk.prototype,"hass",void 0),Yk=e([le("frigate-card-menu")],Yk);let Kk=class extends se{render(){return q` - - - - - `}static get styles(){return o("ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n position: absolute;\n width: 100%;\n height: 100%;\n pointer-events: none;\n}\n\nslot {\n position: absolute;\n display: flex;\n}\n\n/***************\n * Slot position\n ***************/\nslot[name=top] {\n top: 0px;\n}\n\nslot[name=bottom] {\n bottom: 0px;\n}\n\nslot[name=left] {\n left: 0px;\n}\n\nslot[name=right] {\n right: 0px;\n}\n\n/***********\n * Slot size\n ***********/\nslot[name=top],\nslot[name=bottom] {\n width: 100%;\n flex-direction: column;\n}\n\nslot[name=left],\nslot[name=right] {\n height: 100%;\n flex-direction: row;\n}\n\nslot[name=top],\nslot[name=left] {\n justify-content: flex-start;\n}\n\nslot[name=bottom],\nslot[name=right] {\n justify-content: flex-end;\n}\n\n/*******************************\n * Match rounded corners to card\n *******************************/\n::slotted([slot=top]:first-child),\n::slotted([slot=left]:first-child) {\n border-top-left-radius: var(--ha-card-border-radius, 4px);\n}\n\n::slotted([slot=top]:first-child),\n::slotted([slot=right]:first-child) {\n border-top-right-radius: var(--ha-card-border-radius, 4px);\n}\n\n::slotted([slot=bottom]:last-child),\n::slotted([slot=left]:last-child) {\n border-bottom-left-radius: var(--ha-card-border-radius, 4px);\n}\n\n::slotted([slot=bottom]:last-child),\n::slotted([slot=right]:last-child) {\n border-bottom-right-radius: var(--ha-card-border-radius, 4px);\n}")}};Kk=e([le("frigate-card-overlay")],Kk);class Xk{constructor(e){this._config=null,this._popupTimer=new xf,this._items=[],this._host=e}getRenderItems(){return this._items}setItems(e){const t=e.filter((e=>!!e.exclusive)),n=Ev(t.length?t:e,(e=>e.priority??50),"desc"),a=this._getSufficientValues(this._items),i=this._getSufficientValues(n);this._items=n,"popup"!==this._config?.style||Dv(a,i)||(this._show(),this._popupTimer.start(this._config.popup_seconds,(()=>this._hide()))),this._host.requestUpdate()}setConfig(e){this._config=e,this._host.style.setProperty("--frigate-card-status-bar-height",`${e.height}px`),this._host.setAttribute("data-style",e.style),this._host.setAttribute("data-position",e.position),"popup"!==this._config?.style&&this._show(),this._host.requestUpdate()}shouldRender(){return this._items.some((e=>!1!==e.enabled&&e.sufficient))}actionHandler(e,t){e.stopPropagation();const n=yf(e.detail.action,t);n&&Vk(this._host,{action:Wg(n),config:t})}_getSufficientValue(e){ -/* istanbul ignore else: cannot happen -- @preserve */ -return"custom:frigate-card-status-bar-icon"===e.type?e.icon:"custom:frigate-card-status-bar-string"===e.type?e.string:"custom:frigate-card-status-bar-image"===e.type?e.image:null}_getSufficientValues(e){return e.filter((e=>!1!==e.enabled&&e.sufficient)).map((e=>this._getSufficientValue(e)))}_show(){of(this._host,!1,"hide")}_hide(){of(this._host,!0,"hide")}}let Jk=class extends se{constructor(){super(...arguments),this._controller=new Xk(this)}willUpdate(e){e.has("config")&&this.config&&this._controller.setConfig(this.config),e.has("items")&&this._controller.setItems(this.items??[])}render(){if(this._controller.shouldRender())return q` -
- ${this._controller.getRenderItems().map((e=>{if(!1===e.enabled)return;const t=_e({item:!0,expand:!!e.expand,action:!!Object.keys(e.actions??{}).length}),n=kf({hasHold:bf(e.actions?.hold_action),hasDoubleClick:bf(e.actions?.double_tap_action)});if("custom:frigate-card-status-bar-string"===e.type)return q`
this._controller.actionHandler(t,e.actions)} - > - ${e.string} -
`;if("custom:frigate-card-status-bar-icon"===e.type){const a=Wk(e.icon);return a?q`this._controller.actionHandler(t,e.actions)} - />`:q`this._controller.actionHandler(t,e.actions)} - >`}return"custom:frigate-card-status-bar-image"===e.type?q`this._controller.actionHandler(t,e.actions)} - />`:void 0}))} -
- `}static get styles(){return o("ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n --mdc-icon-button-size: calc(var(--frigate-card-status-bar-height) - 6px);\n --mdc-icon-size: calc(var(--mdc-icon-button-size) / 2);\n display: block;\n width: 100%;\n pointer-events: auto;\n opacity: 1;\n transition: opacity 1s;\n}\n\n/*******************************************************\n * Non-hover styles should not interact with the pointer\n *******************************************************/\n:host(:not([data-style*=hover])) {\n pointer-events: none;\n}\n\n/***************\n * Outside style\n ***************/\n:host([data-style=outside]) {\n color: var(--primary-text-color);\n background: var(--secondary-background-color);\n}\n\n/*******************\n * Non-outside style\n *******************/\n:host(:not([data-style=outside])) {\n color: white;\n background: linear-gradient(90deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}\n\n:host([data-style=popup][hide]) {\n opacity: 0;\n}\n\n/*********************\n * Status bar contents\n *********************/\n.status {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n overflow: hidden;\n width: 100%;\n height: var(--frigate-card-status-bar-height);\n}\n\n.item {\n display: inline-block;\n margin: 3px;\n padding: 3px;\n align-content: center;\n opacity: 0.7;\n}\n\n.item:first-child {\n margin-left: 10px;\n}\n\n.item:last-child {\n margin-right: 10px;\n}\n\n.item.expand {\n flex: 1;\n}\n\n.item.action {\n cursor: pointer;\n}\n\nimg.item {\n width: var(--mdc-icon-size, 24px);\n height: var(--mdc-icon-size, 24px);\n}")}};e([he({attribute:!1})],Jk.prototype,"items",void 0),e([he({attribute:!1})],Jk.prototype,"config",void 0),Jk=e([le("frigate-card-status-bar")],Jk);function eS(e){return"number"==typeof e}function tS(e){return"string"==typeof e}function nS(e){return"boolean"==typeof e}function aS(e){return"[object Object]"===Object.prototype.toString.call(e)}function iS(e){return Math.abs(e)}function rS(e){return Math.sign(e)}function oS(e,t){return iS(e-t)}function sS(e){return hS(e).map(Number)}function cS(e){return e[lS(e)]}function lS(e){return Math.max(0,e.length-1)}function dS(e,t){return t===lS(e)}function uS(e,t=0){return Array.from(Array(e),((e,n)=>t+n))}function hS(e){return Object.keys(e)}function pS(e,t){return[e,t].reduce(((e,t)=>(hS(t).forEach((n=>{const a=e[n],i=t[n],r=aS(a)&&aS(i);e[n]=r?pS(a,i):i})),e)),{})}function mS(e,t){return void 0!==t.MouseEvent&&e instanceof t.MouseEvent}function gS(){let e=[];const t={add:function(n,a,i,r={passive:!0}){let o;if("addEventListener"in n)n.addEventListener(a,i,r),o=()=>n.removeEventListener(a,i,r);else{const e=n;e.addListener(i),o=()=>e.removeListener(i)}return e.push(o),t},clear:function(){e=e.filter((e=>e()))}};return t}function fS(e,t,n,a){const i=gS(),r=1e3/60;let o=null,s=0,c=0;function l(e){if(!c)return;o||(o=e);const i=e-o;for(o=e,s+=i;s>=r;)n(r),s-=r;a(s/r),c&&t.requestAnimationFrame(l)}function d(){t.cancelAnimationFrame(c),o=null,s=0,c=0}return{init:function(){i.add(e,"visibilitychange",(()=>{e.hidden&&(o=null,s=0)}))},destroy:function(){d(),i.clear()},start:function(){c||(c=t.requestAnimationFrame(l))},stop:d,update:()=>n(r),render:a}}function _S(e=0,t=0){const n=iS(e-t);function a(t){return tt}function r(e){return a(e)||i(e)}const o={length:n,max:t,min:e,constrain:function(n){return r(n)?a(n)?e:t:n},reachedAny:r,reachedMax:i,reachedMin:a,removeOffset:function(e){return n?e-n*Math.ceil((e-t)/n):e}};return o}function vS(e,t,n){const{constrain:a}=_S(0,e),i=e+1;let r=o(t);function o(e){return n?iS((i+e)%i):a(e)}function s(){return r}function c(){return vS(e,s(),n)}const l={get:s,set:function(e){return r=o(e),l},add:function(e){return c().set(s()+e)},clone:c};return l}function yS(e,t,n,a,i,r,o,s,c,l,d,u,h,p,m,g,f,_,v){const{cross:y,direction:b}=e,w=["INPUT","SELECT","TEXTAREA"],x={passive:!1},C=gS(),M=gS(),k=_S(50,225).constrain(p.measure(20)),S={mouse:300,touch:400},E={mouse:500,touch:600},$=m?43:25;let A=!1,z=0,I=0,T=!1,j=!1,O=!1,D=!1;function R(e){if(!mS(e,a)&&e.touches.length>=2)return P(e);const t=r.readPoint(e),n=r.readPoint(e,y),o=oS(t,z),c=oS(n,I);if(!j&&!D){if(!e.cancelable)return P(e);if(j=o>c,!j)return P(e)}const d=r.pointerMove(e);o>g&&(O=!0),l.useFriction(.3).useDuration(.75),s.start(),i.add(b(d)),e.preventDefault()}function P(e){const t=d.byDistance(0,!1).index!==u.get(),n=r.pointerUp(e)*(m?E:S)[D?"mouse":"touch"],a=function(e,t){const n=u.add(-1*rS(e)),a=d.byDistance(e,!m).distance;return m||iS(e)=2,s&&0!==e.button)return;if(function(e){const t=e.nodeName||"";return w.includes(t)}(e.target))return;T=!0,r.pointerDown(e),l.useFriction(0).useDuration(0),i.set(o),function(){const e=D?n:t;M.add(e,"touchmove",R,x).add(e,"touchend",P).add(e,"mousemove",R,x).add(e,"mouseup",P)}(),z=r.readPoint(e),I=r.readPoint(e,y),h.emit("pointerDown")}(s)}const c=t;C.add(c,"dragstart",(e=>e.preventDefault()),x).add(c,"touchmove",(()=>{}),x).add(c,"touchend",(()=>{})).add(c,"touchstart",s).add(c,"mousedown",s).add(c,"touchcancel",P).add(c,"contextmenu",P).add(c,"click",L,!0)},destroy:function(){C.clear(),M.clear()},pointerDown:function(){return T}}}function bS(e,t){let n,a;function i(e){return e.timeStamp}function r(n,a){const i="client"+("x"===(a||e.scroll)?"X":"Y");return(mS(n,t)?n:n.touches[0])[i]}return{pointerDown:function(e){return n=e,a=e,r(e)},pointerMove:function(e){const t=r(e)-r(a),o=i(e)-i(n)>170;return a=e,o&&(n=e),t},pointerUp:function(e){if(!n||!a)return 0;const t=r(a)-r(n),o=i(e)-i(n),s=i(e)-i(a)>170,c=t/o;return o&&!s&&iS(c)>.1?c:0},readPoint:r}}function wS(e,t,n,a,i,r,o){const s=[e].concat(a);let c,l,d=[],u=!1;function h(e){return i.measureSize(o.measure(e))}return{init:function(i){r&&(l=h(e),d=a.map(h),c=new ResizeObserver((n=>{(nS(r)||r(i,n))&&function(n){for(const r of n){if(u)return;const n=r.target===e,o=a.indexOf(r.target),s=n?l:d[o];if(iS(h(n?e:a[o])-s)>=.5){i.reInit(),t.emit("resize");break}}}(n)})),n.requestAnimationFrame((()=>{s.forEach((e=>c.observe(e)))})))},destroy:function(){u=!0,c&&c.disconnect()}}}function xS(e,t,n,a,i){const r=i.measure(10),o=i.measure(50),s=_S(.1,.99);let c=!1;function l(){return!c&&(!!e.reachedAny(n.get())&&!!e.reachedAny(t.get()))}return{shouldConstrain:l,constrain:function(i){if(!l())return;const c=e.reachedMin(t.get())?"min":"max",d=iS(e[c]-t.get()),u=n.get()-t.get(),h=s.constrain(d/o);n.subtract(u*h),!i&&iS(u)e.add(i)))}};return c}function MS(e,t,n,a,i){const{reachedAny:r,removeOffset:o,constrain:s}=a;function c(e){return e.concat().sort(((e,t)=>iS(e)-iS(t)))[0]}function l(t,a){const i=[t,t+n,t-n];if(!e)return t;if(!a)return c(i);const r=i.filter((e=>rS(e)===a));return r.length?c(r):cS(i)-n}return{byDistance:function(n,a){const c=i.get()+n,{index:d,distance:u}=function(n){const a=e?o(n):s(n),i=t.map(((e,t)=>({diff:l(e-a,0),index:t}))).sort(((e,t)=>iS(e.diff)-iS(t.diff))),{index:r}=i[0];return{index:r,distance:a}}(c),h=!e&&r(c);return!a||h?{index:d,distance:n}:{index:d,distance:n+l(t[d]-u,0)}},byIndex:function(e,n){return{index:e,distance:l(t[e]-i.get(),n)}},shortcut:l}}function kS(e,t,n,a,i,r,o,s){const c={passive:!0,capture:!0};let l=0;function d(e){"Tab"===e.code&&(l=(new Date).getTime())}return{init:function(u){s&&(r.add(document,"keydown",d,!1),t.forEach(((t,d)=>{r.add(t,"focus",(t=>{(nS(s)||s(u,t))&&function(t){if((new Date).getTime()-l>10)return;o.emit("slideFocusStart"),e.scrollLeft=0;const r=n.findIndex((e=>e.includes(t)));eS(r)&&(i.useDuration(0),a.index(r,0),o.emit("slideFocus"))}(d)}),c)})))}}}function SS(e){let t=e;function n(e){return eS(e)?e:e.get()}const a={get:function(){return t},set:function(e){t=n(e)},add:function(e){t+=n(e)},subtract:function(e){t-=n(e)}};return a}function ES(e,t){const n="x"===e.scroll?function(e){return`translate3d(${e}px,0px,0px)`}:function(e){return`translate3d(0px,${e}px,0px)`},a=t.style;let i=!1;return{clear:function(){i||(a.transform="",t.getAttribute("style")||t.removeAttribute("style"))},to:function(t){i||(a.transform=n(e.direction(t)))},toggleActive:function(e){i=!e}}}function $S(e,t,n,a,i,r,o,s,c){const l=.5,d=sS(i),u=sS(i).reverse(),h=function(){const e=o[0];return g(m(u,e),n,!1)}().concat(function(){const e=t-o[0]-1;return g(m(d,e),-n,!0)}());function p(e,t){return e.reduce(((e,t)=>e-i[t]),t)}function m(e,t){return e.reduce(((e,n)=>p(e,t)>0?e.concat([n]):e),[])}function g(i,o,d){const u=function(e){return r.map(((n,i)=>({start:n-a[i]+l+e,end:n+t-l+e})))}(o);return i.map((t=>{const a=d?0:-n,i=d?n:0,r=d?"end":"start",o=u[t][r];return{index:t,loopPoint:o,slideLocation:SS(-1),translate:ES(e,c[t]),target:()=>s.get()>o?a:i}}))}const f={canLoop:function(){return h.every((({index:e})=>{const n=d.filter((t=>t!==e));return p(n,t)<=.1}))},clear:function(){h.forEach((e=>e.translate.clear()))},loop:function(){h.forEach((e=>{const{target:t,translate:n,slideLocation:a}=e,i=t();i!==a.get()&&(n.to(i),a.set(i))}))},loopPoints:h};return f}function AS(e,t,n){let a,i=!1;return{init:function(r){n&&(a=new MutationObserver((e=>{i||(nS(n)||n(r,e))&&function(e){for(const n of e)if("childList"===n.type){r.reInit(),t.emit("slidesChanged");break}}(e)})),a.observe(e,{childList:!0}))},destroy:function(){a&&a.disconnect(),i=!0}}}function zS(e,t,n,a){const i={};let r,o=null,s=null,c=!1;return{init:function(){r=new IntersectionObserver((e=>{c||(e.forEach((e=>{const n=t.indexOf(e.target);i[n]=e})),o=null,s=null,n.emit("slidesInView"))}),{root:e.parentElement,threshold:a}),t.forEach((e=>r.observe(e)))},destroy:function(){r&&r.disconnect(),c=!0},get:function(e=!0){if(e&&o)return o;if(!e&&s)return s;const t=function(e){return hS(i).reduce(((t,n)=>{const a=parseInt(n),{isIntersecting:r}=i[a];return(e&&r||!e&&!r)&&t.push(a),t}),[])}(e);return e&&(o=t),e||(s=t),t}}}function IS(e,t,n,a,i,r,o,s,c){const{startEdge:l,endEdge:d,direction:u}=e,h=eS(n);const p={groupSlides:function(e){return h?function(e,t){return sS(e).filter((e=>e%t==0)).map((n=>e.slice(n,n+t)))}(e,n):function(e){return e.length?sS(e).reduce(((n,h,p)=>{const m=cS(n)||0,g=0===m,f=h===lS(e),_=i[l]-r[m][l],v=i[l]-r[h][d],y=!a&&g?u(o):0,b=iS(v-(!a&&f?u(s):0)-(_+y));return p&&b>t+c&&n.push(h),f&&n.push(e.length),n}),[]).map(((t,n,a)=>{const i=Math.max(a[n-1]||0);return e.slice(i,t)})):[]}(e)}};return p}function TS(e,t,n,a,i,r,o){const{align:s,axis:c,direction:l,startIndex:d,loop:u,duration:h,dragFree:p,dragThreshold:m,inViewThreshold:g,slidesToScroll:f,skipSnaps:_,containScroll:v,watchResize:y,watchSlides:b,watchDrag:w,watchFocus:x}=r,C={measure:function(e){const{offsetTop:t,offsetLeft:n,offsetWidth:a,offsetHeight:i}=e;return{top:t,right:n+a,bottom:t+i,left:n,width:a,height:i}}},M=C.measure(t),k=n.map(C.measure),S=function(e,t){const n="rtl"===t,a="y"===e,i=!a&&n?-1:1,r={scroll:a?"y":"x",cross:a?"x":"y",startEdge:a?"top":n?"right":"left",endEdge:a?"bottom":n?"left":"right",measureSize:function(e){const{height:t,width:n}=e;return a?t:n},direction:function(e){return e*i}};return r}(c,l),E=S.measureSize(M),$=function(e){const t={measure:function(t){return e*(t/100)}};return t}(E),A=function(e,t){const n={start:function(){return 0},center:function(e){return a(e)/2},end:a};function a(e){return t-e}const i={measure:function(a,i){return tS(e)?n[e](a):e(t,a,i)}};return i}(s,E),z=!u&&!!v,I=u||!!v,{slideSizes:T,slideSizesWithGaps:j,startGap:O,endGap:D}=function(e,t,n,a,i,r){const{measureSize:o,startEdge:s,endEdge:c}=e,l=n[0]&&i,d=function(){if(!l)return 0;const e=n[0];return iS(t[s]-e[s])}(),u=function(){if(!l)return 0;const e=r.getComputedStyle(cS(a));return parseFloat(e.getPropertyValue(`margin-${c}`))}(),h=n.map(o),p=n.map(((e,t,n)=>{const a=!t,i=dS(n,t);return a?h[t]+d:i?h[t]+u:n[t+1][s]-e[s]})).map(iS);return{slideSizes:h,slideSizesWithGaps:p,startGap:d,endGap:u}}(S,M,k,n,I,i),R=IS(S,E,f,u,M,k,O,D,2),{snaps:P,snapsAligned:L}=function(e,t,n,a,i){const{startEdge:r,endEdge:o}=e,{groupSlides:s}=i,c=s(a).map((e=>cS(e)[o]-e[0][r])).map(iS).map(t.measure),l=a.map((e=>n[r]-e[r])).map((e=>-iS(e))),d=s(l).map((e=>e[0])).map(((e,t)=>e+c[t]));return{snaps:l,snapsAligned:d}}(S,A,M,k,R),N=-cS(P)+cS(j),{snapsContained:F,scrollContainLimit:V}=function(e,t,n,a,i){const r=_S(-t+e,0),o=n.map(((e,t)=>{const{min:a,max:i}=r,o=r.constrain(e),s=!t,l=dS(n,t);return s?i:l||c(a,o)?a:c(i,o)?i:o})).map((e=>parseFloat(e.toFixed(3)))),s=function(){const e=o[0],t=cS(o);return _S(o.lastIndexOf(e),o.indexOf(t)+1)}();function c(e,t){return oS(e,t)<1}return{snapsContained:function(){if(t<=e+i)return[r.max];if("keepSnaps"===a)return o;const{min:n,max:c}=s;return o.slice(n,c)}(),scrollContainLimit:s}}(E,N,L,v,2),H=z?F:L,{limit:B}=function(e,t,n){const a=t[0];return{limit:_S(n?a-e:cS(t),a)}}(N,H,u),q=vS(lS(H),d,u),U=q.clone(),W=sS(n),Z=fS(a,i,(e=>(({dragHandler:e,scrollBody:t,scrollBounds:n,options:{loop:a}},i)=>{a||n.constrain(e.pointerDown()),t.seek(i)})(se,e)),(e=>(({scrollBody:e,translate:t,location:n,offsetLocation:a,scrollLooper:i,slideLooper:r,dragHandler:o,animation:s,eventHandler:c,scrollBounds:l,options:{loop:d}},u)=>{const h=e.settled(),p=!l.shouldConstrain(),m=d?h:h&&p;m&&!o.pointerDown()&&(s.stop(),c.emit("settle")),m||c.emit("scroll");const g=n.get()*u+Y.get()*(1-u);a.set(g),d&&(i.loop(e.direction()),r.loop()),t.to(a.get())})(se,e))),Q=H[q.get()],G=SS(Q),Y=SS(Q),K=SS(Q),X=SS(Q),J=function(e,t,n,a,i,r){let o=0,s=0,c=i,l=r,d=e.get(),u=0;function h(e){return c=e,m}function p(e){return l=e,m}const m={direction:function(){return s},duration:function(){return c},velocity:function(){return o},seek:function(t){const i=t/1e3,r=c*i,h=a.get()-e.get();let p=0;return c?(n.set(e),o+=h/r,o*=l,d+=o,e.add(o*i),p=d-u):(o=0,n.set(a),e.set(a),p=h),s=rS(p),u=d,m},settled:function(){return iS(a.get()-t.get())<.001},useBaseFriction:function(){return p(r)},useBaseDuration:function(){return h(i)},useFriction:p,useDuration:h};return m}(G,K,Y,X,h,.68),ee=MS(u,H,N,B,X),te=function(e,t,n,a,i,r,o){function s(i){const s=i.distance,c=i.index!==t.get();r.add(s),s&&(a.duration()?e.start():(e.update(),e.render(1),e.update())),c&&(n.set(t.get()),t.set(i.index),o.emit("select"))}const c={distance:function(e,t){s(i.byDistance(e,t))},index:function(e,n){const a=t.clone().set(e);s(i.byIndex(a.get(),n))}};return c}(Z,q,U,J,ee,X,o),ne=function(e){const{max:t,length:n}=e,a={get:function(e){return n?(e-t)/-n:0}};return a}(B),ae=gS(),ie=zS(t,n,o,g),{slideRegistry:re}=function(e,t,n,a,i,r){const{groupSlides:o}=i,{min:s,max:c}=a;return{slideRegistry:function(){const a=o(r),i=!e||"keepSnaps"===t;return 1===n.length?[r]:i?a:a.slice(s,c).map(((e,t,n)=>{const a=!t,i=dS(n,t);return a?uS(cS(n[0])+1):i?uS(lS(r)-cS(n)[0]+1,cS(n)[0]):e}))}()}}(z,v,H,V,R,W),oe=kS(e,n,re,te,J,ae,o,x),se={ownerDocument:a,ownerWindow:i,eventHandler:o,containerRect:M,slideRects:k,animation:Z,axis:S,dragHandler:yS(S,e,a,i,X,bS(S,i),G,Z,te,J,ee,q,o,$,p,m,_,.68,w),eventStore:ae,percentOfView:$,index:q,indexPrevious:U,limit:B,location:G,offsetLocation:K,previousLocation:Y,options:r,resizeHandler:wS(t,o,i,n,S,y,C),scrollBody:J,scrollBounds:xS(B,K,X,J,$),scrollLooper:CS(N,B,K,[G,K,Y,X]),scrollProgress:ne,scrollSnapList:H.map(ne.get),scrollSnaps:H,scrollTarget:ee,scrollTo:te,slideLooper:$S(S,E,N,T,j,P,H,K,n),slideFocus:oe,slidesHandler:AS(t,o,b),slidesInView:ie,slideIndexes:W,slideRegistry:re,slidesToScroll:R,target:X,translate:ES(S,t)};return se}const jS={align:"center",axis:"x",container:null,slides:null,containScroll:"trimSnaps",direction:"ltr",slidesToScroll:1,inViewThreshold:0,breakpoints:{},dragFree:!1,dragThreshold:10,loop:!1,skipSnaps:!1,duration:25,startIndex:0,active:!0,watchDrag:!0,watchResize:!0,watchSlides:!0,watchFocus:!0};function OS(e){function t(e,t){return pS(e,t||{})}const n={mergeOptions:t,optionsAtMedia:function(n){const a=n.breakpoints||{},i=hS(a).filter((t=>e.matchMedia(t).matches)).map((e=>a[e])).reduce(((e,n)=>t(e,n)),{});return t(n,i)},optionsMediaQueries:function(t){return t.map((e=>hS(e.breakpoints||{}))).reduce(((e,t)=>e.concat(t)),[]).map(e.matchMedia)}};return n}function DS(e,t,n){const a=e.ownerDocument,i=a.defaultView,r=OS(i),o=function(e){let t=[];const n={init:function(n,a){return t=a.filter((({options:t})=>!1!==e.optionsAtMedia(t).active)),t.forEach((t=>t.init(n,e))),a.reduce(((e,t)=>Object.assign(e,{[t.name]:t})),{})},destroy:function(){t=t.filter((e=>e.destroy()))}};return n}(r),s=gS(),c=function(){let e,t={};function n(e){return t[e]||[]}const a={init:function(t){e=t},emit:function(t){return n(t).forEach((n=>n(e,t))),a},off:function(e,i){return t[e]=n(e).filter((e=>e!==i)),a},on:function(e,i){return t[e]=n(e).concat([i]),a},clear:function(){t={}}};return a}(),{mergeOptions:l,optionsAtMedia:d,optionsMediaQueries:u}=r,{on:h,off:p,emit:m}=c,g=S;let f,_,v,y,b=!1,w=l(jS,DS.globalOptions),x=l(w),C=[];function M(t){const n=TS(e,v,y,a,i,t,c);if(t.loop&&!n.slideLooper.canLoop()){return M(Object.assign({},t,{loop:!1}))}return n}function k(t,n){b||(w=l(w,t),x=d(w),C=n||C,function(){const{container:t,slides:n}=x,a=tS(t)?e.querySelector(t):t;v=a||e.children[0];const i=tS(n)?v.querySelectorAll(n):n;y=[].slice.call(i||v.children)}(),f=M(x),u([w,...C.map((({options:e})=>e))]).forEach((e=>s.add(e,"change",S))),x.active&&(f.translate.to(f.location.get()),f.animation.init(),f.slidesInView.init(),f.slideFocus.init(z),f.eventHandler.init(z),f.resizeHandler.init(z),f.slidesHandler.init(z),f.options.loop&&f.slideLooper.loop(),v.offsetParent&&y.length&&f.dragHandler.init(z),_=o.init(z,C)))}function S(e,t){const n=A();E(),k(l({startIndex:n},e),t),c.emit("reInit")}function E(){f.dragHandler.destroy(),f.eventStore.clear(),f.translate.clear(),f.slideLooper.clear(),f.resizeHandler.destroy(),f.slidesHandler.destroy(),f.slidesInView.destroy(),f.animation.destroy(),o.destroy(),s.clear()}function $(e,t,n){x.active&&!b&&(f.scrollBody.useBaseFriction().useDuration(!0===t?0:x.duration),f.scrollTo.index(e,n||0))}function A(){return f.index.get()}const z={canScrollNext:function(){return f.index.add(1).get()!==A()},canScrollPrev:function(){return f.index.add(-1).get()!==A()},containerNode:function(){return v},internalEngine:function(){return f},destroy:function(){b||(b=!0,s.clear(),E(),c.emit("destroy"),c.clear())},off:p,on:h,emit:m,plugins:function(){return _},previousScrollSnap:function(){return f.indexPrevious.get()},reInit:g,rootNode:function(){return e},scrollNext:function(e){$(f.index.add(1).get(),e,-1)},scrollPrev:function(e){$(f.index.add(-1).get(),e,1)},scrollProgress:function(){return f.scrollProgress.get(f.location.get())},scrollSnapList:function(){return f.scrollSnapList},scrollTo:$,selectedScrollSnap:A,slideNodes:function(){return y},slidesInView:function(){return f.slidesInView.get()},slidesNotInView:function(){return f.slidesInView.get(!1)}};return k(t,n),setTimeout((()=>c.emit("init")),0),z}function RS(){return RS=Object.assign||function(e){for(var t=1;t=e;case"y":return Math.abs(i)>=e;case"z":return Math.abs(r)>=e;default:return!1}}(r,a)&&e.preventDefault(),l.isStarted?l.isMomentum&&r>Math.max(2,2*l.lastAbsDelta)&&(M(!0),x()):x(),0===r&&Object.is&&Object.is(e.deltaX,-0)?d=!0:(t=e,l.axisMovement=LS(l.axisMovement,a),l.lastAbsDelta=r,l.scrollPointsToMerge.push({axisDelta:a,timeStamp:i}),g(),p({axisDelta:a,isStart:!l.isStartPublished}),l.isStartPublished=!0,C())},g=function(){var e;l.scrollPointsToMerge.length===WS?(l.scrollPoints.unshift({axisDeltaSum:l.scrollPointsToMerge.map((function(e){return e.axisDelta})).reduce(LS),timeStamp:(e=l.scrollPointsToMerge.map((function(e){return e.timeStamp})),e.reduce((function(e,t){return e+t}))/e.length)}),_(),l.scrollPointsToMerge.length=0,l.scrollPoints.length=1,l.isMomentum||b()):l.isStartPublished||f()},f=function(){var e;l.axisVelocity=(e=l.scrollPointsToMerge,e[e.length-1]).axisDelta.map((function(e){return e/l.willEndTimeout}))},_=function(){var e=l.scrollPoints,t=e[0],n=e[1];if(n&&t){var a=t.timeStamp-n.timeStamp;if(!(a<=0)){var i=t.axisDeltaSum.map((function(e){return e/a})),r=i.map((function(e,t){return e/(l.axisVelocity[t]||1)}));l.axisVelocity=i,l.accelerationFactors.push(r),v(a)}}},v=function(e){var t=10*Math.ceil(e/10)*1.2;l.isMomentum||(t=Math.max(100,2*t)),l.willEndTimeout=Math.min(1e3,Math.round(t))},y=function(e){return 0===e||e<=US&&e>=qS},b=function(){if(l.accelerationFactors.length>=ZS){if(d&&(d=!1,NS(l.axisVelocity)>=.2))return void w();var e=l.accelerationFactors.slice(-1*ZS);e.every((function(e){var t=!!e.reduce((function(e,t){return e&&e<1&&e===t?1:0})),n=e.filter(y).length===e.length;return t||n}))&&w(),l.accelerationFactors=e}},w=function(){l.isMomentum=!0},x=function(){(l=YS()).isStarted=!0,l.startTime=Date.now(),n=void 0,d=!1},C=function(){clearTimeout(a),a=setTimeout(M,l.willEndTimeout)},M=function(e){void 0===e&&(e=!1),l.isStarted&&(l.isMomentum&&e?p({isEnding:!0,isMomentumCancel:!0}):p({isEnding:!0}),l.isMomentum=!1,l.isStarted=!1)},k=function(e){var t=[],n=function(n){n.removeEventListener("wheel",e),t=t.filter((function(e){return e!==n}))};return FS({observe:function(a){return a.addEventListener("wheel",e,{passive:!1}),t.push(a),function(){return n(a)}},unobserve:n,disconnect:function(){t.forEach(n)}})}(u),S=k.observe,E=k.unobserve,$=k.disconnect;return h(e),FS({on:r,off:o,observe:S,unobserve:E,disconnect:$,feedWheel:u,updateOptions:h})}var XS={active:!0,breakpoints:{},wheelDraggingClass:"is-wheel-dragging",forceWheelAxis:void 0,target:void 0};function JS(e){var t;void 0===e&&(e={});var n=function(){};var a={name:"wheelGestures",options:e,init:function(a,i){var r,o,s=i.mergeOptions,c=i.optionsAtMedia,l=s(XS,JS.globalOptions),d=s(l,e);t=c(d);var u,h=a.internalEngine(),p=null!=(r=t.target)?r:a.containerNode().parentNode,m=null!=(o=t.forceWheelAxis)?o:h.options.axis,g=KS({preventWheelAction:m,reverseSign:[!0,!0,!1]}),f=g.observe(p),_=g.on("wheel",(function(e){var a=e.axisDelta,i=a[0],r=a[1],o="x"===m?i:r,s="x"===m?r:i,c=e.isMomentum&&e.previous&&!e.previous.isMomentum,l=e.isEnding&&!e.isMomentum||c;Math.abs(o)>Math.abs(s)&&!v&&!e.isMomentum&&function(e){try{x(u=new MouseEvent("mousedown",e.event))}catch(e){return n()}v=!0,document.documentElement.addEventListener("mousemove",b,!0),document.documentElement.addEventListener("mouseup",b,!0),void document.documentElement.addEventListener("mousedown",b,!0),t.wheelDraggingClass&&p.classList.add(t.wheelDraggingClass)}(e);if(!v)return;l?function(e){v=!1,x(w("mouseup",e)),y(),t.wheelDraggingClass&&p.classList.remove(t.wheelDraggingClass)}(e):x(w("mousemove",e))})),v=!1;function y(){document.documentElement.removeEventListener("mousemove",b,!0),document.documentElement.removeEventListener("mouseup",b,!0),document.documentElement.removeEventListener("mousedown",b,!0)}function b(e){v&&e.isTrusted&&e.stopImmediatePropagation()}function w(e,t){var n,a;if(m===h.options.axis){var i=t.axisMovement;n=i[0],a=i[1]}else{var r=t.axisMovement;a=r[0],n=r[1]}if(!h.options.skipSnaps&&!h.options.dragFree){var o=h.containerRect.width,s=h.containerRect.height;n=n<0?Math.max(n,-o):Math.min(n,o),a=a<0?Math.max(a,-s):Math.min(a,s)}return new MouseEvent(e,{clientX:u.clientX+n,clientY:u.clientY+a,screenX:u.screenX+n,screenY:u.screenY+a,movementX:n,movementY:a,button:0,bubbles:!0,cancelable:!0,composed:!0})}function x(e){a.containerNode().dispatchEvent(e)}n=function(){f(),_(),y()}},destroy:function(){return n()}};return a}JS.globalOptions=void 0;class eE{constructor(e,t,n){this._mutationObserver=new MutationObserver(((e,t)=>this._refreshCarouselContents())),this._refreshCarouselContents=()=>{const e=lf(this._parent);!Dv(this._carousel.slideNodes(),e)&&(this._carousel.destroy(),this._carousel=this._createCarousel(e))},this._root=e,this._parent=t,this._direction=n?.direction??"horizontal",this._transitionEffect=n?.transitionEffect??"slide",this._startIndex=n?.startIndex??0,this._dragFree=n?.dragFree??!1,this._loop=n?.loop??!1,this._draggable=n?.dragEnabled??!0,this._plugins=n?.plugins??[],this._carousel=this._createCarousel(lf(this._parent)),t instanceof HTMLSlotElement&&t.addEventListener("slotchange",this._refreshCarouselContents),this._mutationObserver.observe(this._parent,{childList:!0})}destroy(){this._parent instanceof HTMLSlotElement&&this._parent.removeEventListener("slotchange",this._refreshCarouselContents),this._mutationObserver.disconnect(),this._carousel.destroy()}getSlide(e){return this._carousel.slideNodes()[e]??null}getSelectedSlide(){return this.getSlide(this.getSelectedIndex())}getSelectedIndex(){return this._carousel.selectedScrollSnap()}selectSlide(e){this._carousel.scrollTo(e,"none"===this._transitionEffect);const t=this.getSlide(e);t&&Bg(this._parent,"carousel:force-select",{index:e,element:t})}_createCarousel(e){const t=DS(this._root,{slides:e,axis:"horizontal"===this._direction?"x":"y",duration:20,startIndex:this._startIndex,dragFree:this._dragFree,loop:this._loop,containScroll:"trimSnaps",watchSlides:!1,watchResize:!0,watchDrag:this._draggable},[...this._plugins,...e.length>1?[JS({forceWheelAxis:"y"})]:[]]),n=()=>{const e=(()=>{const e=t.selectedScrollSnap(),n=t.slideNodes()[e]??null;return n?{index:e,element:n}:null})();e&&Bg(this._parent,"carousel:select",e)};return t.on("select",(()=>n())),t}}let tE=class extends se{constructor(){super(...arguments),this.direction="horizontal",this.dragEnabled=!0,this.selected=0,this._refParent=ze(),this._refRoot=ze(),this._carousel=null}connectedCallback(){super.connectedCallback(),this.requestUpdate()}disconnectedCallback(){this._carousel?.destroy(),this._carousel=null,super.disconnectedCallback()}willUpdate(e){e.has("direction")&&this.setAttribute("direction",this.direction);["direction","dragEnabled","dragFree","loop","plugins","transitionEffect"].some((t=>e.has(t)))&&(this._carousel?.destroy(),this._carousel=null)}render(){return q`
- -
-
- -
-
- -
`}updated(e){!this._carousel&&this._refRoot.value&&this._refParent.value?this._carousel=new eE(this._refRoot.value,this._refParent.value,{direction:this.direction,dragEnabled:this.dragEnabled,dragFree:this.dragFree,startIndex:this.selected,transitionEffect:this.transitionEffect,loop:this.loop,plugins:this.plugins}):e.has("selected")&&this._carousel?.selectSlide(this.selected)}static get styles(){return o(":host {\n display: block;\n height: 100%;\n width: 100%;\n position: relative;\n}\n\n.embla {\n width: 100%;\n height: 100%;\n margin-left: auto;\n margin-right: auto;\n}\n\n.embla__container {\n display: flex;\n width: 100%;\n height: 100%;\n user-select: none;\n -webkit-touch-callout: none;\n -khtml-user-select: none;\n -webkit-tap-highlight-color: transparent;\n}\n\n:host([direction=vertical]) .embla__container {\n flex-direction: column;\n}\n\n:host([direction=horizontal]) .embla__container {\n flex-direction: row;\n}\n\n.embla__viewport {\n width: 100%;\n height: 100%;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.embla__viewport.is-draggable {\n cursor: move;\n cursor: grab;\n}\n\n.embla__viewport.is-dragging {\n cursor: grabbing;\n}\n\n:host([direction=vertical]) ::slotted(.embla__slide) {\n margin-bottom: 5px;\n}\n\n:host([direction=horizontal]) ::slotted(.embla__slide) {\n margin-right: 5px;\n}")}};e([he({attribute:!0,reflect:!0})],tE.prototype,"direction",void 0),e([he({attribute:!0})],tE.prototype,"transitionEffect",void 0),e([he({attribute:!1})],tE.prototype,"loop",void 0),e([he({attribute:!1})],tE.prototype,"dragFree",void 0),e([he({attribute:!1})],tE.prototype,"dragEnabled",void 0),e([he({attribute:!1})],tE.prototype,"plugins",void 0),e([he({attribute:!1})],tE.prototype,"selected",void 0),tE=e([le("frigate-card-carousel")],tE); -/** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const nE=window,aE=nE.ShadowRoot&&(void 0===nE.ShadyCSS||nE.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,iE=Symbol(),rE=new WeakMap;let oE=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==iE)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(aE&&void 0===e){const n=void 0!==t&&1===t.length;n&&(e=rE.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&rE.set(t,e))}return e}toString(){return this.cssText}};const sE=(e,t)=>{aE?e.adoptedStyleSheets=t.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet)):t.forEach((t=>{const n=document.createElement("style"),a=nE.litNonce;void 0!==a&&n.setAttribute("nonce",a),n.textContent=t.cssText,e.appendChild(n)}))},cE=aE?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const n of e.cssRules)t+=n.cssText;return(e=>new oE("string"==typeof e?e:e+"",void 0,iE))(t)})(e):e -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */;var lE;const dE=window,uE=dE.trustedTypes,hE=uE?uE.emptyScript:"",pE=dE.reactiveElementPolyfillSupport,mE={toAttribute(e,t){switch(t){case Boolean:e=e?hE:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=null!==e;break;case Number:n=null===e?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch(e){n=null}}return n}},gE=(e,t)=>t!==e&&(t==t||e==e),fE={attribute:!0,type:String,converter:mE,reflect:!1,hasChanged:gE},_E="finalized";class vE extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(e){var t;this.finalize(),(null!==(t=this.h)&&void 0!==t?t:this.h=[]).push(e)}static get observedAttributes(){this.finalize();const e=[];return this.elementProperties.forEach(((t,n)=>{const a=this._$Ep(n,t);void 0!==a&&(this._$Ev.set(a,n),e.push(a))})),e}static createProperty(e,t=fE){if(t.state&&(t.attribute=!1),this.finalize(),this.elementProperties.set(e,t),!t.noAccessor&&!this.prototype.hasOwnProperty(e)){const n="symbol"==typeof e?Symbol():"__"+e,a=this.getPropertyDescriptor(e,n,t);void 0!==a&&Object.defineProperty(this.prototype,e,a)}}static getPropertyDescriptor(e,t,n){return{get(){return this[t]},set(a){const i=this[e];this[t]=a,this.requestUpdate(e,i,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)||fE}static finalize(){if(this.hasOwnProperty(_E))return!1;this[_E]=!0;const e=Object.getPrototypeOf(this);if(e.finalize(),void 0!==e.h&&(this.h=[...e.h]),this.elementProperties=new Map(e.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const e=this.properties,t=[...Object.getOwnPropertyNames(e),...Object.getOwnPropertySymbols(e)];for(const n of t)this.createProperty(n,e[n])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const n=new Set(e.flat(1/0).reverse());for(const e of n)t.unshift(cE(e))}else void 0!==e&&t.push(cE(e));return t}static _$Ep(e,t){const n=t.attribute;return!1===n?void 0:"string"==typeof n?n:"string"==typeof e?e.toLowerCase():void 0}_$Eu(){var e;this._$E_=new Promise((e=>this.enableUpdating=e)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(e=this.constructor.h)||void 0===e||e.forEach((e=>e(this)))}addController(e){var t,n;(null!==(t=this._$ES)&&void 0!==t?t:this._$ES=[]).push(e),void 0!==this.renderRoot&&this.isConnected&&(null===(n=e.hostConnected)||void 0===n||n.call(e))}removeController(e){var t;null===(t=this._$ES)||void 0===t||t.splice(this._$ES.indexOf(e)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((e,t)=>{this.hasOwnProperty(t)&&(this._$Ei.set(t,this[t]),delete this[t])}))}createRenderRoot(){var e;const t=null!==(e=this.shadowRoot)&&void 0!==e?e:this.attachShadow(this.constructor.shadowRootOptions);return sE(t,this.constructor.elementStyles),t}connectedCallback(){var e;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostConnected)||void 0===t?void 0:t.call(e)}))}enableUpdating(e){}disconnectedCallback(){var e;null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostDisconnected)||void 0===t?void 0:t.call(e)}))}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$EO(e,t,n=fE){var a;const i=this.constructor._$Ep(e,n);if(void 0!==i&&!0===n.reflect){const r=(void 0!==(null===(a=n.converter)||void 0===a?void 0:a.toAttribute)?n.converter:mE).toAttribute(t,n.type);this._$El=e,null==r?this.removeAttribute(i):this.setAttribute(i,r),this._$El=null}}_$AK(e,t){var n;const a=this.constructor,i=a._$Ev.get(e);if(void 0!==i&&this._$El!==i){const e=a.getPropertyOptions(i),r="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==(null===(n=e.converter)||void 0===n?void 0:n.fromAttribute)?e.converter:mE;this._$El=i,this[i]=r.fromAttribute(t,e.type),this._$El=null}}requestUpdate(e,t,n){let a=!0;void 0!==e&&(((n=n||this.constructor.getPropertyOptions(e)).hasChanged||gE)(this[e],t)?(this._$AL.has(e)||this._$AL.set(e,t),!0===n.reflect&&this._$El!==e&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(e,n))):a=!1),!this.isUpdatePending&&a&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var e;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((e,t)=>this[t]=e)),this._$Ei=void 0);let t=!1;const n=this._$AL;try{t=this.shouldUpdate(n),t?(this.willUpdate(n),null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostUpdate)||void 0===t?void 0:t.call(e)})),this.update(n)):this._$Ek()}catch(e){throw t=!1,this._$Ek(),e}t&&this._$AE(n)}willUpdate(e){}_$AE(e){var t;null===(t=this._$ES)||void 0===t||t.forEach((e=>{var t;return null===(t=e.hostUpdated)||void 0===t?void 0:t.call(e)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(e){return!0}update(e){void 0!==this._$EC&&(this._$EC.forEach(((e,t)=>this._$EO(t,this[t],e))),this._$EC=void 0),this._$Ek()}updated(e){}firstUpdated(e){}}vE[_E]=!0,vE.elementProperties=new Map,vE.elementStyles=[],vE.shadowRootOptions={mode:"open"},null==pE||pE({ReactiveElement:vE}),(null!==(lE=dE.reactiveElementVersions)&&void 0!==lE?lE:dE.reactiveElementVersions=[]).push("1.6.3"); -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const yE=0,bE=Symbol();class wE{constructor(e,t,n){this.o=0,this.status=0,this.autoRun=!0,this.i=e,this.i.addController(this);const a="object"==typeof t?t:{task:t,args:n};this.t=a.task,this.h=a.args,void 0!==a.autoRun&&(this.autoRun=a.autoRun),this.taskComplete=new Promise(((e,t)=>{this.l=e,this.u=t}))}hostUpdated(){this.performTask()}async performTask(){var e;const t=null===(e=this.h)||void 0===e?void 0:e.call(this);this.shouldRun(t)&&this.run(t)}shouldRun(e){return this.autoRun&&this.v(e)}async run(e){var t;let n,a;null!=e||(e=null===(t=this.h)||void 0===t?void 0:t.call(this)),2!==this.status&&3!==this.status||(this.taskComplete=new Promise(((e,t)=>{this.l=e,this.u=t}))),this.status=1,this._=void 0,this.m=void 0,this.i.requestUpdate();const i=++this.o;try{n=await this.t(e)}catch(e){a=e}this.o===i&&(n===bE?this.status=0:(void 0===a?(this.status=2,this.l(n)):(this.status=3,this.u(a)),this.m=n,this._=a),this.i.requestUpdate())}get value(){return this.m}get error(){return this._}render(e){var t,n,a,i;switch(this.status){case 0:return null===(t=e.initial)||void 0===t?void 0:t.call(e);case 1:return null===(n=e.pending)||void 0===n?void 0:n.call(e);case 2:return null===(a=e.complete)||void 0===a?void 0:a.call(e,this.value);case 3:return null===(i=e.error)||void 0===i?void 0:i.call(e,this.error);default:this.status}}v(e){const t=this.T;return this.T=e,Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.some(((e,n)=>gE(e,t[n]))):e!==t}}class xE{constructor(e){this._keys=e}modify(e){this._keys.forEach((t=>e.removeContext(t)))}}var CE=":host {\n display: flex;\n flex-direction: column;\n width: 100%;\n margin-left: 5px;\n padding: 5px;\n color: var(--primary-text-color);\n overflow: hidden;\n column-gap: 5%;\n}\n\ndiv.title {\n font-size: 1.2rem;\n font-weight: bold;\n}\n\ndiv.details {\n flex: 1;\n justify-content: center;\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n --mdc-icon-size: 16px;\n min-height: 0px;\n}";const ME=(e,t,n,a)=>{const i={...a?.cardWideConfig&&{cardWideConfig:a.cardWideConfig}};return q` ${t.render({initial:()=>a?.inProgressFunc?.()??Ck(i),pending:()=>a?.inProgressFunc?.()??Ck(i),error:t=>{Gg(t),Sk(e,t)},complete:n})}`},kE=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,SE=(e,t,n,a=!0)=>new wE(e,{args:()=>[!!t(),n()],task:async([e,n])=>{const a=t();return e&&a&&n?(async(e,t)=>e&&t?t.startsWith("data:")||t.match(kE)?t:new Promise(((n,a)=>{e?e.fetchWithAuth(t).then((e=>e.blob())).then((e=>{const t=new FileReader;t.onload=()=>{const e=t.result;n("string"==typeof e?e:null)},t.onerror=e=>a(e),t.readAsDataURL(e)})):a()})):null)(a,n):null},autoRun:a}),EE=300;let $E=class extends se{constructor(){super(),this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this))}connectedCallback(){this._intersectionObserver.observe(this),super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback(),this._intersectionObserver.disconnect()}willUpdate(e){e.has("thumbnail")&&(this._embedThumbnailTask=SE(this,(()=>this.hass),(()=>this.thumbnail),!1),this._intersectionObserver.unobserve(this),this._intersectionObserver.observe(this))}_intersectionHandler(e){this._embedThumbnailTask?.status===yE&&e.some((e=>e.isIntersecting))&&this._embedThumbnailTask?.run()}render(){const e=q` `;return this._embedThumbnailTask?q`${this.thumbnail?ME(this,this._embedThumbnailTask,(e=>e?q``:q``),{inProgressFunc:()=>e}):e} `:e}static get styles(){return o(":host {\n display: block;\n overflow: hidden;\n aspect-ratio: 1/1;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\nimg {\n display: block;\n}\n\nimg,\nha-icon {\n display: inline-block;\n vertical-align: top;\n margin: 0;\n border-radius: var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px));\n width: var(--frigate-card-thumbnail-size);\n max-height: 100%;\n aspect-ratio: 1/1;\n object-fit: cover;\n}\n\nha-icon {\n --mdc-icon-size: 50%;\n color: var(--primary-text-color);\n display: flex;\n justify-content: center;\n align-items: center;\n border: 1px solid rgba(255, 255, 255, 0.3);\n box-sizing: border-box;\n opacity: 0.2;\n}")}};e([he({attribute:!1})],$E.prototype,"thumbnail",void 0),e([he({attribute:!1})],$E.prototype,"hass",void 0),$E=e([le("frigate-card-thumbnail-feature-thumbnail")],$E);let AE=class extends se{render(){if(this.date)return q` - ${this.cameraMetadata?.engineLogo?q``:""} -
-
${Wu(this.date,"HH:mm")}
-
${Wu(this.date,"MMM do")}
- ${this.showCameraTitle&&this.cameraMetadata?.title?q`
${this.cameraMetadata.title}
`:q``} -
- `}static get styles(){return o(":host {\n display: block;\n max-width: var(--frigate-card-thumbnail-size);\n max-height: var(--frigate-card-thumbnail-size);\n aspect-ratio: 1/1;\n border: 1px solid var(--secondary-color);\n background-color: var(--secondary-background-color);\n border-radius: var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px));\n overflow: hidden;\n padding: 10px;\n box-sizing: border-box;\n position: relative;\n}\n\nimg.background {\n display: block;\n width: 100%;\n height: 100%;\n position: absolute;\n inset: 0;\n padding: 10%;\n box-sizing: border-box;\n pointer-events: none;\n opacity: 0.1;\n}\n\ndiv.content {\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n color: var(--primary-text-color);\n}\n\ndiv {\n text-align: center;\n}\n\ndiv.title {\n font-size: 1.5rem;\n}\n\ndiv.camera {\n font-size: 0.7em;\n}")}};e([he({attribute:!1})],AE.prototype,"date",void 0),e([he({attribute:!1})],AE.prototype,"cameraMetadata",void 0),e([he({attribute:!1})],AE.prototype,"showCameraTitle",void 0),AE=e([le("frigate-card-thumbnail-feature-text")],AE);let zE=class extends se{render(){if(!this.media)return;const e=this.media.getScore(),t=e?(100*e).toFixed(2)+"%":null,n=this.media.getStartTime(),a=n?Kg(n):null,i=this.media.getEndTime(),r=n&&i?ef(n,i):null,o=this.media.inProgress()?V_("event.in_progress"):null,s=qg(this.media.getWhat()?.join(", "))??null,c=qg(this.media.getWhere()?.join(", "))??null,l=qg(this.media.getTags()?.join(", "))??null,d=s||l?(s??"")+(s&&l?": ":"")+(l??""):null,u=this.seek?Wu(this.seek,"HH:mm:ss"):null;return q` - ${d?q`
- ${d} - ${t?q`${t}`:""} -
`:""} -
- ${a?q`
- - ${a} -
- ${r||o?q`
- - ${r?q`${r}`:""} - ${o?q`${o}`:""} -
`:""}`:""} - ${this.cameraTitle?q`
- - ${this.cameraTitle} -
`:""} - ${c?q`
- - ${c} -
`:q``} - ${l?q`
- - ${l} -
`:q``} - ${u?q`
- - ${u} -
`:q``} -
- `}static get styles(){return o(CE)}};e([he({attribute:!1})],zE.prototype,"media",void 0),e([he({attribute:!1})],zE.prototype,"seek",void 0),e([he({attribute:!1})],zE.prototype,"cameraTitle",void 0),zE=e([le("frigate-card-thumbnail-details-event")],zE);let IE=class extends se{render(){if(!this.media)return;const e=this.media.getStartTime(),t=e?Kg(e):null,n=this.media.getEndTime(),a=e&&n?ef(e,n):null,i=this.media.inProgress()?V_("recording.in_progress"):null,r=this.seek?Wu(this.seek,"HH:mm:ss"):null,o=this.media.getEventCount();return q` - ${this.cameraTitle?q`
- ${this.cameraTitle} -
`:""} -
- ${t?q`
- - ${t} -
- ${a||i?q`
- - ${a?q`${a}`:""} - ${i?q`${i}`:""} -
`:""}`:""} - ${r?q`
- - ${r} -
`:q``} - ${null!==o?q`
- - ${o} -
`:""} -
- `}static get styles(){return o(CE)}};e([he({attribute:!1})],IE.prototype,"media",void 0),e([he({attribute:!1})],IE.prototype,"seek",void 0),e([he({attribute:!1})],IE.prototype,"cameraTitle",void 0),IE=e([le("frigate-card-thumbnail-details-recording")],IE);let TE=class extends se{constructor(){super(...arguments),this.details=!1,this.show_favorite_control=!1,this.show_timeline_control=!1,this.show_download_control=!1}render(){if(!this.media||!this.cameraManager||!this.hass)return;const e=this.media.getThumbnail(),t=this.media.getTitle()??"",n={star:!0,starred:!!this.media?.isFavorite()},a=this.show_timeline_control&&(!nx.isRecording(this.media)||this.media.getStartTime()&&this.media.getEndTime()),i=this.cameraManager?.getMediaCapabilities(this.media),r=this.show_favorite_control&&this.media&&this.hass&&i?.canFavorite,o=this.show_download_control&&this.hass&&this.media.getID()&&i?.canDownload,s=this.cameraManager.getCameraMetadata(this.media.getCameraID());return q` - ${nx.isEvent(this.media)&&e?q``:nx.isEvent(this.media)||nx.isRecording(this.media)?q``:q``} - ${r?q` {if(wf(e),this.hass&&this.media){try{await(this.cameraManager?.favoriteMedia(this.media,!this.media?.isFavorite()))}catch(e){return void Gg(e)}this.requestUpdate()}}} - />`:""} - ${this.details&&nx.isEvent(this.media)?q``:this.details&&nx.isRecording(this.media)?q``:q``} - ${a?q`{wf(e),this.viewManagerEpoch&&this.media&&this.viewManagerEpoch.manager.setViewByParameters({params:{view:"timeline",queryResults:this.viewManagerEpoch?.manager.getView()?.queryResults?.clone().selectResultIfFound((e=>e===this.media))},modifiers:[new xE(["timeline"])]})}} - >`:""} - ${o?q` {if(wf(e),this.hass&&this.cameraManager&&this.media)try{await $w(this.hass,this.cameraManager,this.media)}catch(e){Sk(this,e)}}} - >`:""} - `}static get styles(){return o(":host {\n display: flex;\n flex-direction: row;\n box-sizing: border-box;\n position: relative;\n overflow: hidden;\n transition: transform 0.2s linear;\n}\n\n:host(:not([details])) {\n aspect-ratio: 1/1;\n}\n\n:host([details]) {\n border: 1px solid var(--primary-color);\n border-radius: var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px));\n padding: 2px;\n background-color: var(--primary-background-color, black);\n}\n\n:host(:hover) {\n transform: scale(1.04);\n}\n\nha-icon {\n position: absolute;\n border-radius: 50%;\n opacity: 0.5;\n color: var(--primary-color);\n cursor: pointer;\n transition: opacity 0.2s ease-in-out, color 0.2s ease-in-out;\n}\n\nha-icon:hover {\n opacity: 1;\n}\n\nha-icon.star {\n top: 3px;\n left: 3px;\n}\n\nha-icon.star.starred {\n color: gold;\n}\n\nha-icon.timeline {\n top: 3px;\n right: 3px;\n}\n\nha-icon.download {\n right: 3px;\n bottom: 3px;\n}\n\nfrigate-card-thumbnail-details-event,\nfrigate-card-thumbnail-details-recording {\n flex: 1;\n}")}};e([he({attribute:!1})],TE.prototype,"cameraManager",void 0),e([he({attribute:!1})],TE.prototype,"media",void 0),e([he({attribute:!0,type:Boolean})],TE.prototype,"details",void 0),e([he({attribute:!0,type:Boolean})],TE.prototype,"show_favorite_control",void 0),e([he({attribute:!0,type:Boolean})],TE.prototype,"show_timeline_control",void 0),e([he({attribute:!0,type:Boolean})],TE.prototype,"show_download_control",void 0),e([he({attribute:!1})],TE.prototype,"seek",void 0),TE=e([le("frigate-card-thumbnail")],TE);let jE=class extends se{constructor(){super(...arguments),this.fadeThumbnails=!1,this._thumbnailSlides=[]}willUpdate(e){if(e.has("config")){this.config?.size&&this.style.setProperty("--frigate-card-thumbnail-size",`${this.config.size}px`);const e=this._getDirection();e?this.setAttribute("direction",e):this.removeAttribute("direction")}["cameraManager","config","transitionEffect","viewManagerEpoch"].some((t=>e.has(t)))&&(this._thumbnailSlides=this._renderSlides()),e.has("viewManagerEpoch")&&this.style.setProperty("--frigate-card-carousel-thumbnail-opacity",this.fadeThumbnails&&null!==this._getSelectedSlide()?"0.4":"1.0")}_getSelectedSlide(){return this.viewManagerEpoch?.manager.getView()?.queryResults?.getSelectedIndex()??null}_renderSlides(){const e=[],t=this.viewManagerEpoch?.manager.getView(),n=t?.context?.mediaViewer?.seek,a=this._getSelectedSlide();for(const i of t?.queryResults?.getResults()??[]){const t=e.length,r={embla__slide:!0,"slide-selected":a===t};e.push(q` {const n=this.viewManagerEpoch?.manager.getView();n&&n.queryResults&&Bg(this,"thumbnail-carousel:tap",{queryResults:n.queryResults.clone().selectIndex(t)}),wf(e)}} - > - `)}return e}_getDirection(){return"left"===this.config?.mode||"right"===this.config?.mode?"vertical":"above"===this.config?.mode||"below"===this.config?.mode?"horizontal":null}render(){const e=this._getDirection();if(this._thumbnailSlides.length&&this.config&&e)return q` - ${this._thumbnailSlides} - `}static get styles(){return o(":host {\n --frigate-card-thumbnail-size-max: 300px;\n --frigate-card-thumbnail-details-width: calc(\n var(--frigate-card-thumbnail-size) + 200px\n );\n}\n\n:host {\n display: block;\n width: 100%;\n height: 100%;\n --frigate-card-carousel-thumbnail-opacity: 1;\n}\n\n:host([direction=vertical]) {\n height: 100%;\n}\n\n:host([direction=horizontal]) {\n height: auto;\n}\n\n.embla__slide {\n flex: 0 0 auto;\n opacity: var(--frigate-card-carousel-thumbnail-opacity);\n}\n\n.embla__slide.slide-selected {\n opacity: 1;\n}\n\nfrigate-card-thumbnail {\n width: var(--frigate-card-thumbnail-size);\n height: var(--frigate-card-thumbnail-size);\n max-width: 100%;\n}\n\nfrigate-card-thumbnail[details] {\n width: var(--frigate-card-thumbnail-details-width);\n}")}};e([he({attribute:!1})],jE.prototype,"hass",void 0),e([he({attribute:!1})],jE.prototype,"viewManagerEpoch",void 0),e([he({attribute:!1})],jE.prototype,"cameraManager",void 0),e([he({attribute:!1})],jE.prototype,"config",void 0),e([he({attribute:!1})],jE.prototype,"fadeThumbnails",void 0),jE=e([le("frigate-card-thumbnail-carousel")],jE);var OE=":host {\n width: 100%;\n height: 100%;\n display: block;\n}";const DE=document.createElement("template");DE.innerHTML='\n
\n
\n';class RE extends HTMLElement{constructor(){super();const e=this.attachShadow({mode:"open"});e.appendChild(DE.content.cloneNode(!0)),this._freeSpaceDiv=e.getElementById("fs")}connectedCallback(){this._freeSpaceDiv&&this._freeSpaceDiv.addEventListener("click",this.handleFreeSpaceDivClick),this.upgradeProperty("open")}disconnectedCallback(){document.removeEventListener("keyup",this.handleKeyUp)}upgradeProperty(e){if(this.hasOwnProperty(e)){let t=this[e];delete this[e],this[e]=t}}handleKeyUp=e=>{if(!e.altKey&&"Escape"===e.key)e.preventDefault(),this.open=!1};get open(){return this.hasAttribute("open")}set open(e){e?this.hasAttribute("open")||this.setAttribute("open",""):this.hasAttribute("open")&&this.removeAttribute("open")}static get observedAttributes(){return["open"]}attributeChangedCallback(e,t,n){"open"===e&&(this.open?(this.setAttribute("tabindex","0"),this.setAttribute("aria-disabled","false"),this.focus({preventScroll:!0}),document.addEventListener("keyup",this.handleKeyUp),this.dispatchEvent(new CustomEvent("open",{bubbles:!0}))):(this.setAttribute("tabindex","-1"),this.setAttribute("aria-disabled","true"),document.removeEventListener("keyup",this.handleKeyUp),this.dispatchEvent(new CustomEvent("close",{bubbles:!0}))))}handleFreeSpaceDivClick=()=>{this.open=!1}}customElements.define("side-drawer",RE);let PE=class extends se{constructor(){super(...arguments),this.location="left",this.control=!0,this.open=!1,this.empty=!0,this._refDrawer=ze(),this._refSlot=ze(),this._resizeObserver=new ResizeObserver((()=>this._hideDrawerIfNecessary())),this._isHoverableDevice=Yg()}firstUpdated(e){super.firstUpdated(e);const t=document.createElement("style");t.innerHTML=":host {\n width: unset;\n}\n\n#fs {\n display: none;\n width: 100%;\n inset: 0;\n}\n\n#d,\n#fs {\n height: 100%;\n position: absolute;\n}\n\n#d {\n overflow: visible;\n max-width: 90%;\n z-index: 10;\n}\n\n:host([location=right]) #d {\n left: unset;\n right: 0;\n transform: translateX(100%);\n}\n\n:host([location=right][open]) #d {\n transform: none;\n box-shadow: var(--frigate-card-css-box-shadow, 0px 0px 25px 0px black);\n}\n\n#ifs {\n height: 100%;\n}",this._refDrawer.value?.shadowRoot?.appendChild(t)}_slotChanged(){const e=this._refSlot.value?lf(this._refSlot.value):[];this._resizeObserver.disconnect();for(const t of e)this._resizeObserver.observe(t);this._hideDrawerIfNecessary()}_hideDrawerIfNecessary(){if(!this._refDrawer.value)return;const e=this._refSlot.value?lf(this._refSlot.value):null;this.empty=!e||!e.length||e.every((e=>{const t=e.getBoundingClientRect();return!t.width||!t.height}))}render(){return q` - {this.open&&(this.open=!1)}} - > - ${this.control?q` -
{wf(e),this.open=!this.open}} - > - {this._isHoverableDevice&&!this.open&&(this.open=!0)}} - > - -
- `:""} - this._slotChanged()}> -
- `}static get styles(){return o("side-drawer {\n background-color: var(--card-background-color);\n}\n\ndiv.control-surround {\n position: absolute;\n bottom: 50%;\n transform: translateY(50%);\n z-index: 0;\n padding-top: 20px;\n padding-bottom: 20px;\n}\n\n:host([location=left]) div.control-surround {\n padding-right: 12px;\n left: 100%;\n}\n\n:host([location=right]) div.control-surround {\n padding-left: 12px;\n right: 100%;\n}\n\n:host([empty]),\n:host([empty]) > * {\n visibility: hidden;\n}\n\n:host(:not([empty])),\n:host(:not([empty])) > * {\n visibility: visible;\n}\n\nha-icon.control {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.7);\n opacity: 0.5;\n pointer-events: all;\n --mdc-icon-size: 20px;\n padding-top: 20px;\n padding-bottom: 20px;\n transition: opacity 0.5s ease;\n}\n\n:host([open]) ha-icon.control,\nha-icon.control:hover {\n opacity: 1;\n background-color: black;\n}\n\n:host([location=left]) ha-icon.control {\n border-top-right-radius: 20px;\n border-bottom-right-radius: 20px;\n}\n\n:host([location=right]) ha-icon.control {\n border-top-left-radius: 20px;\n border-bottom-left-radius: 20px;\n}")}};e([he({attribute:!0,reflect:!0})],PE.prototype,"location",void 0),e([he({attribute:!0,reflect:!0,type:Boolean})],PE.prototype,"control",void 0),e([he({type:Boolean,reflect:!0,attribute:!0})],PE.prototype,"open",void 0),e([he({attribute:!1})],PE.prototype,"icons",void 0),e([he({type:Boolean,reflect:!0,attribute:!0})],PE.prototype,"empty",void 0),PE=e([le("frigate-card-drawer")],PE);let LE=class extends se{constructor(){super(...arguments),this._refDrawerLeft=ze(),this._refDrawerRight=ze(),this._boundDrawerHandler=this._drawerHandler.bind(this)}connectedCallback(){super.connectedCallback(),this.addEventListener("frigate-card:drawer:open",this._boundDrawerHandler),this.addEventListener("frigate-card:drawer:close",this._boundDrawerHandler)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("frigate-card:drawer:open",this._boundDrawerHandler),this.removeEventListener("frigate-card:drawer:close",this._boundDrawerHandler)}_drawerHandler(e){const t=e.detail.drawer,n=e.type.endsWith(":open");"left"===t&&this._refDrawerLeft.value?this._refDrawerLeft.value.open=n:"right"===t&&this._refDrawerRight.value&&(this._refDrawerRight.value.open=n)}render(){return q` - - - - - - - - `}static get styles(){return o(":host {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n position: relative;\n overflow: hidden;\n}\n\n::slotted(:not([slot])) {\n flex: 1;\n min-height: 0px;\n}")}};e([he({attribute:!1})],LE.prototype,"drawerIcons",void 0),LE=e([le("frigate-card-surround-basic")],LE);let NE=class extends se{_hasDrawer(){return!!this.thumbnailConfig&&["left","right"].includes(this.thumbnailConfig.mode)}willUpdate(e){this.timelineConfig?.mode&&"none"!==this.timelineConfig.mode&&import("./timeline-core-b390cfa1.js");const t=this.viewManagerEpoch?.manager.getView();e.has("viewManagerEpoch")&&(this.viewManagerEpoch?.manager.hasMajorMediaChange(this.viewManagerEpoch?.oldView)||this.viewManagerEpoch?.oldView?.displayMode!==t?.displayMode)&&(this._cameraIDsForTimeline=this._getCameraIDsForTimeline()??void 0)}_getCameraIDsForTimeline(){const e=this.viewManagerEpoch?.manager.getView();if(!e||!this.cameraManager)return null;if(e.is("live")){const t={anyCapabilities:["clips","snapshots","recordings"]};return e.supportsMultipleDisplayModes()&&e.isGrid()?this.cameraManager.getStore().getCameraIDsWithCapability(t):this.cameraManager.getStore().getAllDependentCameras(e.camera,t)}return e.isViewerView()?e.query?.getQueryCameraIDs()??null:null}render(){const e=this.viewManagerEpoch?.manager.getView();if(!this.hass||!e)return;const t=(e,t)=>{this.thumbnailConfig&&this._hasDrawer()&&Bg(e.composedPath()[0],"drawer:"+t,{drawer:this.thumbnailConfig.mode})};return q` t(e,"open")} - @frigate-card:thumbnails:close=${e=>t(e,"close")} - > - ${this.thumbnailConfig&&"none"!==this.thumbnailConfig.mode?q` {const n=e.detail.queryResults.getSelectedResult();n&&(this.viewManagerEpoch?.manager.setViewByParameters({params:{view:"media",queryResults:e.detail.queryResults,...n.getCameraID()&&{camera:n.getCameraID()}},modifiers:[new xE(["timeline","mediaViewer"])]}),t(e,"close"))}} - > - `:""} - ${this.timelineConfig&&"none"!==this.timelineConfig.mode?q` - `:""} - - `}static get styles(){return o(OE)}};e([he({attribute:!1})],NE.prototype,"hass",void 0),e([he({attribute:!1})],NE.prototype,"viewManagerEpoch",void 0),e([he({attribute:!1,hasChanged:Qg})],NE.prototype,"thumbnailConfig",void 0),e([he({attribute:!1,hasChanged:Qg})],NE.prototype,"timelineConfig",void 0),e([he({attribute:!1})],NE.prototype,"cameraManager",void 0),e([he({attribute:!1})],NE.prototype,"cardWideConfig",void 0),NE=e([le("frigate-card-surround")],NE);var FE="Fri, 13 Dec 2024 16:12:40 GMT",VE="ed0bb99",HE="Fri, 13 Dec 2024 08:11:26 -0800";const BE=ba.object({domain:ba.string(),version:ba.string().optional()}).passthrough(),qE="hass_web_proxy",UE=(e,t)=>`/api/${qE}/v${t??0}/?url=${encodeURIComponent(e)}`,WE=(e,t,n="media")=>(e=>e.config.components.includes(qE))(e)&&!!t[n];async function ZE(e,t,n){await e.callService(qE,"create_proxied_url",{url_pattern:t,...n&&{url_id:n.urlID,ssl_verification:n.sslVerification,ssl_ciphers:n.sslCiphers,open_limit:n.openLimit,ttl:n.ttl,allow_unauthenticated:n.allowUnauthenticated}})}const QE=async(e,t)=>{let n=null;if(t)try{n=await(async(e,t)=>await $v(e,BE,{type:"manifest/get",integration:t}))(t,e)}catch(e){}return{detected:!!n,...n?.version&&{version:n.version}}};let GE=class extends se{constructor(){super(...arguments),this._diagnostics=null}async _fetchDiagnostics(){this._diagnostics=await(async(e,t,n)=>{const a=e&&t?await t.getMatchingDevices(e,(e=>"Frigate"===e.manufacturer)):[],i=new Map;return a?.forEach((e=>{e.config_entries.forEach((t=>{e.model&&i.set(t,e.model)}))})),{card_version:"6.0.6",browser:navigator.userAgent,date:new Date,lang:F_(),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,git:{hash:VE,build_date:FE,commit_date:HE},...e&&{ha_version:e.config.version},integrations:{reolink:await QE("reolink",e),frigate:{...await QE("frigate",e),...i.size&&{devices:Object.fromEntries(i)}},hass_web_proxy:await QE(qE,e),motioneye:await QE("motioneye",e)},...n&&{config:n}}})(this.hass,this.deviceRegistryManager,this.rawConfig)}shouldUpdate(){return!!this._diagnostics||(this._fetchDiagnostics().then((()=>this.requestUpdate())),!1)}render(){return xk({message:V_("error.diagnostics"),type:"diagnostics",icon:"mdi:information",context:this._diagnostics})}static get styles(){return o(OE)}};e([he({attribute:!1})],GE.prototype,"hass",void 0),e([he({attribute:!1})],GE.prototype,"deviceRegistryManager",void 0),e([he({attribute:!1})],GE.prototype,"rawConfig",void 0),e([pe()],GE.prototype,"_diagnostics",void 0),GE=e([le("frigate-card-diagnostics")],GE);let YE=class extends se{willUpdate(e){if(e.has("viewManagerEpoch")||e.has("config")){const e=this.viewManagerEpoch?.manager.getView();(e?.is("live")||this._shouldLivePreload())&&import("./index-e610f971.js").then((function(e){return e.i})),e?.isGalleryView()?import("./gallery-9024cb87.js"):e?.isViewerView()?import("./index-76cab2a3.js"):e?.is("image")?import("./image-1c1ebdfa.js"):e?.is("timeline")&&import("./timeline-c3ef17c4.js")}e.has("hide")&&(this.hide?this.setAttribute("hidden",""):this.removeAttribute("hidden"))}shouldUpdate(e){return!0}_shouldLivePreload(){const e=this.viewManagerEpoch?.manager.getView();return!!this.overriddenConfig?.live.preload&&!e?.is("diagnostics")}render(){if(!(this.hass&&this.overriddenConfig&&this.nonOverriddenConfig&&this.cardWideConfig))return q``;const e=this.viewManagerEpoch?.manager.getView(),t={hidden:this._shouldLivePreload()&&!e?.is("live")},n={hidden:!!this.hide},a=e?.is("live")?this.overriddenConfig.live.controls.thumbnails:e?.isViewerView()?this.overriddenConfig.media_viewer.controls.thumbnails:e?.is("timeline")?this.overriddenConfig.timeline.controls.thumbnails:void 0,i=e?.is("live")?this.overriddenConfig.live.controls.timeline:e?.isViewerView()?this.overriddenConfig.media_viewer.controls.timeline:void 0,r=e?this.cameraManager?.getStore().getCameraConfig(e.camera)??null:null;return q` - ${!this.hide&&e?.is("image")&&r?q` - `:""} - ${!this.hide&&e?.isGalleryView()?q` - `:""} - ${!this.hide&&e?.isViewerView()?q` - - - `:""} - ${!this.hide&&e?.is("timeline")?q` - `:""} - ${!this.hide&&e?.is("diagnostics")?q` - `:""} - ${this._shouldLivePreload()||!this.hide&&e?.is("live")?q` - - - `:""} - `}static get styles(){return o(":host {\n width: 100%;\n height: 100%;\n display: block;\n}\n\n:host([hidden]),\n.hidden {\n display: none;\n}")}};e([he({attribute:!1})],YE.prototype,"hass",void 0),e([he({attribute:!1})],YE.prototype,"viewManagerEpoch",void 0),e([he({attribute:!1})],YE.prototype,"cameraManager",void 0),e([he({attribute:!1})],YE.prototype,"nonOverriddenConfig",void 0),e([he({attribute:!1})],YE.prototype,"overriddenConfig",void 0),e([he({attribute:!1})],YE.prototype,"cardWideConfig",void 0),e([he({attribute:!1})],YE.prototype,"rawConfig",void 0),e([he({attribute:!1})],YE.prototype,"resolvedMediaCache",void 0),e([he({attribute:!1})],YE.prototype,"conditionsManagerEpoch",void 0),e([he({attribute:!1})],YE.prototype,"hide",void 0),e([he({attribute:!1})],YE.prototype,"microphoneManager",void 0),e([he({attribute:!1})],YE.prototype,"triggeredCameraIDs",void 0),e([he({attribute:!1})],YE.prototype,"deviceRegistryManager",void 0),YE=e([le("frigate-card-views")],YE);console.info(`%c FRIGATE-HASS-CARD \n%c ${V_("common.version")} 6.0.6`,"color: pink; font-weight: bold; background: black","color: white; font-weight: bold; background: dimgray"),window.customCards=window.customCards||[],window.customCards.push({type:"frigate-card",name:V_("common.frigate_card"),description:V_("common.frigate_card_description"),preview:!0,documentationURL:wa});let KE=class extends se{constructor(){super(...arguments),this._controller=new zx(this,(()=>this._refMain.value?.scroll({top:0})),(()=>this._refMenu.value?.toggleMenu()),this._requestUpdateForComponentsThatUseConditions.bind(this)),this._menuButtonController=new Ix,this._refMenu=ze(),this._refOverlay=ze(),this._refMain=ze(),this._refElements=ze(),this._refViews=ze()}get _config(){return this._controller.getConfigManager().getConfig()}get _hass(){return this._controller.getHASSManager().getHASS()}set hass(e){this._controller.getHASSManager().setHASS(e),this._refMenu.value&&(this._refMenu.value.hass=e),this._refElements.value&&(this._refElements.value.hass=e),this._refViews.value&&(this._refViews.value.hass=e)}static async getConfigElement(){return await zx.getConfigElement()}static getStubConfig(e,t){return zx.getStubConfig(t)}_requestUpdateForComponentsThatUseConditions(){this._refViews.value&&(this._refViews.value.conditionsManagerEpoch=this._controller.getConditionsManager().getEpoch()??void 0),this._refElements.value&&(this._refElements.value.conditionsManagerEpoch=this._controller.getConditionsManager().getEpoch()??void 0)}setConfig(e){this._controller.getConfigManager().setConfig(e)}shouldUpdate(){return!!this.isConnected&&(this._controller.getMessageManager().hasMessage()||this._controller.getInitializationManager().isInitializedMandatory()||this._controller.getInitializationManager().initializeMandatory(),!0)}_renderMenuStatusContainer(e){if(!this._config)return;const t=this._config.menu.style,n=this._config.menu.position,a=this._config.status_bar.style,i=this._config.status_bar.position;if("none"===t&&"none"===a||"overlay"===e&&"outside"===t&&"outside"===a||"overlay"!==e&&("outside"!==t||n!==e)&&("outside"!==a||i!==e))return;const r=e=>{const r="none"!==t&&("outside"===t&&"outerlay"===e||"outside"!==t&&"overlay"===e),o="none"!==a&&("outside"===a&&"outerlay"===e||"outside"!==a&&"overlay"===e),s="left"===n||"right"===n||"bottom"===n&&"hidden"===t&&"popup"!==a||"top"===n&&("hidden"!==t||"popup"===a);return q` - ${r&&s?this._renderMenu(n):""} - ${o?this._renderStatusBar(i):""} - ${r&&!s?this._renderMenu(n):""} - `};return q` - ${"overlay"===e?q`${r("overlay")}`:q`
- ${r("outerlay")} -
`} - `}_renderMenu(e){const t=this._controller.getViewManager().getView();if(this._hass&&this._config)return q` - - `}_renderStatusBar(e){if(this._config)return q` - - `}updated(){this._controller.getInitializationManager().isInitializedMandatory()&&this._controller.getQueryStringManager().executeIfNecessary()}_renderInDialogIfNecessary(e){return this._controller.getExpandManager().isExpanded()?q` {this._controller.getExpandManager().setExpanded(!1)}} - > - ${e} - `:e}render(){if(!this._hass)return;const e={main:!0,"curve-top":"outside"!==this._config?.menu.style||"top"!==this._config?.menu.position,"curve-bottom":"outside"!==this._config?.menu.style||"top"===this._config?.menu.position},t=this._controller.getActionsManager().getMergedActions(),n=this._controller.getCameraManager(),a=!1!==this._config?.performance?.features.animated_progress_indicator&&!this._controller.getInitializationManager().wasEverInitialized()&&!this._controller.getMessageManager().hasMessage();return this._renderInDialogIfNecessary(q` this._controller.getMessageManager().setMessageIfHigherPriority(e.detail)} - @frigate-card:media:loaded=${e=>this._controller.getMediaLoadedInfoManager().set(e.detail)} - @frigate-card:media:unloaded=${()=>this._controller.getMediaLoadedInfoManager().clear()} - @frigate-card:media:volumechange=${()=>this.requestUpdate()} - @frigate-card:media:play=${()=>this.requestUpdate()} - @frigate-card:media:pause=${()=>this.requestUpdate()} - @frigate-card:focus=${()=>this.focus()} - > - ${a?q``:""} - ${this._renderMenuStatusContainer("top")} - ${this._renderMenuStatusContainer("overlay")} -
- - ${xk(this._controller.getMessageManager().getMessage())} -
- ${this._renderMenuStatusContainer("bottom")} - ${this._config?.elements?q` {this._menuButtonController.addDynamicMenuButton(e.detail),this.requestUpdate()}} - @frigate-card:menu:remove=${e=>{this._menuButtonController.removeDynamicMenuButton(e.detail),this.requestUpdate()}} - @frigate-card:status-bar:add=${e=>{this._controller.getStatusBarItemManager().addDynamicStatusBarItem(e.detail)}} - @frigate-card:status-bar:remove=${e=>{this._controller.getStatusBarItemManager().removeDynamicStatusBarItem(e.detail)}} - @frigate-card:conditions:evaluate=${e=>{e.evaluation=this._controller.getConditionsManager()?.evaluateConditions(e.conditions)}} - > - `:""} -
`)}static get styles(){return o(':host {\n display: block;\n position: relative;\n background-color: var(--card-background-color);\n border-radius: var(--ha-card-border-radius, 4px);\n height: var(--frigate-card-height);\n min-height: 100px;\n pointer-events: all;\n --frigate-card-expand-max-height: calc((100vh - (2 * 56px)) * 0.85);\n --frigate-card-expand-max-width: 85vw;\n --frigate-card-expand-width: none;\n --frigate-card-expand-height: none;\n --frigate-card-expand-aspect-ratio: unset;\n --frigate-card-height: auto;\n}\n\nfrigate-card-loading {\n position: absolute;\n inset: 0;\n z-index: 1;\n}\n\n:host([dark]) {\n filter: brightness(75%);\n}\n\n:host([panel]:not([casted])) {\n height: calc(100vh - var(--header-height));\n}\n\n:host([panel][casted]) {\n height: 100%;\n}\n\ndiv.main {\n position: relative;\n overflow: auto;\n width: 100%;\n height: 100%;\n margin: auto;\n display: block;\n transform: translateZ(0);\n scrollbar-width: none;\n -ms-overflow-style: none;\n}\n\n/* Hide scrollbar for Chrome, Safari and Opera */\ndiv.main::-webkit-scrollbar {\n display: none;\n}\n\ndiv.main.curve-top {\n border-top-left-radius: var(--ha-card-border-radius, 4px);\n border-top-right-radius: var(--ha-card-border-radius, 4px);\n}\n\ndiv.main.curve-bottom {\n border-bottom-left-radius: var(--ha-card-border-radius, 4px);\n border-bottom-right-radius: var(--ha-card-border-radius, 4px);\n}\n\nha-card {\n display: flex;\n flex-direction: column;\n margin: auto;\n border: 0px;\n overflow: visible;\n width: 100%;\n height: 100%;\n position: static;\n color: var(--secondary-text-color, white);\n}\n\n/************\n * Fullscreen\n *************/\n:host(:fullscreen) #ha-card {\n border-radius: 0px;\n box-shadow: none;\n margin: 0;\n}\n\n:host(:-webkit-full-screen) #ha-card {\n border-radius: 0px;\n box-shadow: none;\n margin: 0;\n}\n\n:host(:fullscreen) div.main,\n:host(:fullscreen) frigate-card-menu {\n border-radius: 0px;\n}\n\n:host(:-webkit-full-screen) div.main,\n:host(:-webkit-full-screen) frigate-card-menu {\n border-radius: 0px;\n}\n\n/***************\n * Expanded mode\n ***************/\nweb-dialog {\n --dialog-padding: 0px;\n --dialog-container-padding: 0px;\n --dialog-max-height: var(--frigate-card-expand-max-height);\n --dialog-max-width: var(--frigate-card-expand-max-width);\n --dialog-width: var(--frigate-card-expand-width);\n --dialog-height: var(--frigate-card-expand-height);\n --dialog-overflow-x: visible;\n --dialog-overflow-y: visible;\n max-height: 100vh;\n}\n\nweb-dialog::part(dialog) {\n aspect-ratio: var(--frigate-card-expand-aspect-ratio);\n border-radius: 0px;\n background: transparent;\n}\n\n/*************************************\n * "Outside" style for menu/status bar\n *************************************/\n.outerlay[data-position=top] > *:first-child {\n border-top-left-radius: var(--ha-card-border-radius, 4px);\n border-top-right-radius: var(--ha-card-border-radius, 4px);\n}\n\n.outerlay[data-position=bottom] > *:last-child {\n border-bottom-left-radius: var(--ha-card-border-radius, 4px);\n border-bottom-right-radius: var(--ha-card-border-radius, 4px);\n}\n\n/*******************\n * Menu hover styles\n *******************/\nfrigate-card-menu {\n z-index: 2;\n}\n\nfrigate-card-menu[data-style*=hover] {\n transition: opacity 0.5s ease;\n opacity: 0;\n}\n\nfrigate-card-menu[data-style*=hover]:hover,\nha-card:hover > frigate-card-overlay > frigate-card-menu[data-style=hover-card] {\n opacity: 1;\n}\n\n/*************************\n * Status bar hover styles\n *************************/\nfrigate-card-status-bar {\n z-index: 1;\n}\n\nfrigate-card-status-bar[data-style*=hover] {\n transition: opacity 0.5s ease;\n opacity: 0;\n}\n\nfrigate-card-status-bar[data-style*=hover]:hover,\nha-card:hover > frigate-card-overlay > frigate-card-status-bar[data-style=hover-card] {\n opacity: 1;\n}')}getCardSize(){return 6}};KE=e([le("frigate-card")],KE);export{Il as $,tr as A,nr as B,Zi as C,ar as D,ir as E,rr as F,Pi as G,Li as H,Ni as I,Fi as J,Vi as K,Hi as L,Bi as M,qi as N,Ui as O,gs as P,Ws as Q,ns as R,Us as S,qo as T,Fo as U,Vo as V,Ho as W,Bo as X,Bs as Y,zl as Z,e as _,se as a,dr as a$,H_ as a0,nw as a1,et as a2,aw as a3,$s as a4,Di as a5,ji as a6,Oi as a7,Ri as a8,Wi as a9,Yr as aA,oo as aB,so as aC,lo as aD,uo as aE,co as aF,ao as aG,io as aH,ro as aI,mo as aJ,_o as aK,vo as aL,ho as aM,po as aN,fo as aO,go as aP,eo as aQ,no as aR,to as aS,Xr as aT,Jr as aU,Kr as aV,Ao as aW,Io as aX,zo as aY,hr as aZ,cr as a_,es as aa,Jo as ab,Xo as ac,ts as ad,hs as ae,us as af,ms as ag,qs as ah,ps as ai,So as aj,Co as ak,To as al,Mo as am,ko as an,qr as ao,Ur as ap,Wr as aq,Zr as ar,Eo as as,$o as at,yo as au,xo as av,bo as aw,wo as ax,Qr as ay,Gr as az,pe as b,ja as b$,ur as b0,lr as b1,sr as b2,mr as b3,gr as b4,fr as b5,_r as b6,xr as b7,Hr as b8,Cr as b9,Po as bA,Wo as bB,Zo as bC,Go as bD,Yo as bE,Qo as bF,Uo as bG,vs as bH,_s as bI,ys as bJ,xs as bK,Cs as bL,As as bM,Ms as bN,Es as bO,Ss as bP,ew as bQ,Xb as bR,Wk as bS,Ug as bT,Ma as bU,Ja as bV,Ya as bW,La as bX,Na as bY,ka as bZ,Oa as b_,kr as ba,Mr as bb,vr as bc,wr as bd,yr as be,br as bf,Sr as bg,Er as bh,$r as bi,Or as bj,zr as bk,Tr as bl,jr as bm,Ir as bn,Ar as bo,Pr as bp,Fr as bq,Vr as br,Dr as bs,Rr as bt,Nr as bu,Lr as bv,Ro as bw,Lo as bx,Oo as by,Do as bz,tw as c,wf as c$,Da as c0,Ta as c1,Ga as c2,Ua as c3,Wa as c4,Za as c5,Qa as c6,_i as c7,fi as c8,Ra as c9,ai as cA,ii as cB,Sa as cC,Ea as cD,pi as cE,hi as cF,gi as cG,mi as cH,Fd as cI,Ca as cJ,ks as cK,ge as cL,fe as cM,W as cN,xe as cO,Yw as cP,kk as cQ,ze as cR,Kw as cS,df as cT,xk as cU,je as cV,Qg as cW,yw as cX,td as cY,Sk as cZ,Ky as c_,Pa as ca,Ha as cb,qa as cc,Fa as cd,Va as ce,Ba as cf,Ka as cg,Xa as ch,ti as ci,ei as cj,yi as ck,vi as cl,bi as cm,wi as cn,$a as co,Aa as cp,za as cq,Ia as cr,ni as cs,ri as ct,oi as cu,si as cv,ci as cw,li as cx,di as cy,ui as cz,iw as d,ba as d$,My as d0,ve as d1,OE as d2,Vd as d3,nu as d4,c as d5,hx as d6,Qv as d7,px as d8,dx as d9,xx as dA,Mk as dB,U as dC,xf as dD,qw as dE,SE as dF,ME as dG,yf as dH,Vk as dI,vf as dJ,kf as dK,bf as dL,p_ as dM,h_ as dN,Pv as dO,Lv as dP,Ud as dQ,Vv as dR,Yg as dS,Kg as dT,Mx as dU,Gy as dV,fx as dW,su as dX,sf as dY,Fv as dZ,Hg as d_,mx as da,Gg as db,Ev as dc,Wu as dd,Xg as de,Qu as df,Bg as dg,Uw as dh,af as di,EE as dj,Sx as dk,Ck as dl,Aw as dm,nx as dn,hy as dp,qb as dq,Ub as dr,WE as ds,ZE as dt,Tb as du,UE as dv,Gw as dw,Xw as dx,Jw as dy,ex as dz,_e as e,nf as e0,$v as e1,zs as e2,Kv as e3,Wv as e4,Z_ as e5,Q_ as e6,Yv as e7,Jg as e8,tf as e9,Lu as eA,Hb as eB,Zv as eC,Fb as eD,lf as eE,qy as eF,Uy as eG,Wy as eH,pf as eI,Qy as eJ,Rg as eK,Zy as eL,s as eM,Ae as eN,ye as eO,Qw as eP,wE as eQ,me as eR,be as eS,Ob as eT,Gv as ea,Bk as eb,Hv as ec,rf as ed,Tv as ee,qk as ef,Iv as eg,zv as eh,jv as ei,Uk as ej,Xd as ek,Hd as el,Gd as em,Qd as en,Yd as eo,vu as ep,Jd as eq,eu as er,yu as es,_u as et,Bd as eu,au as ev,gu as ew,Ou as ex,Nu as ey,Fu as ez,xw as f,Vb as g,Jb as h,Dv as i,Nb as j,qg as k,V_ as l,Ki as m,he as n,Gi as o,Ld as p,Qi as q,o as r,of as s,le as t,Yi as u,Bb as v,Xi as w,q as x,er as y,Ji as z}; diff --git a/config/www/community/frigate-hass-card/card-09c4bade.js.gz b/config/www/community/frigate-hass-card/card-09c4bade.js.gz deleted file mode 100644 index 04e91a728f2817d325e67a80f1ae7f3f2969783d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142711 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%0D#3`0@4tI=;h!iVx9dq!kv=PC&`l)oc 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 diff --git a/config/www/community/frigate-hass-card/card-320adb66.js b/config/www/community/frigate-hass-card/card-320adb66.js deleted file mode 100644 index 28d66bb8..00000000 --- a/config/www/community/frigate-hass-card/card-320adb66.js +++ /dev/null @@ -1,650 +0,0 @@ -function e(e,t,n,a){var i,r=arguments.length,o=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o}"function"==typeof SuppressedError&&SuppressedError; -/** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const t=globalThis,n=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,a=Symbol(),i=new WeakMap;let r=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==a)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(n&&void 0===e){const n=void 0!==t&&1===t.length;n&&(e=i.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&i.set(t,e))}return e}toString(){return this.cssText}};const o=e=>new r("string"==typeof e?e:e+"",void 0,a),s=(e,...t)=>{const n=1===e.length?e[0]:t.reduce(((t,n,a)=>t+(e=>{if(!0===e._$cssResult$)return e.cssText;if("number"==typeof e)return e;throw Error("Value passed to 'css' function must be a 'css' function result: "+e+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(n)+e[a+1]),e[0]);return new r(n,e,a)},c=(e,a)=>{if(n)e.adoptedStyleSheets=a.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet));else for(const n of a){const a=document.createElement("style"),i=t.litNonce;void 0!==i&&a.setAttribute("nonce",i),a.textContent=n.cssText,e.appendChild(a)}},l=n?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const n of e.cssRules)t+=n.cssText;return o(t)})(e):e -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */,{is:d,defineProperty:u,getOwnPropertyDescriptor:h,getOwnPropertyNames:p,getOwnPropertySymbols:m,getPrototypeOf:g}=Object,f=globalThis,_=f.trustedTypes,y=_?_.emptyScript:"",v=f.reactiveElementPolyfillSupport,b=(e,t)=>e,w={toAttribute(e,t){switch(t){case Boolean:e=e?y:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=null!==e;break;case Number:n=null===e?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch(e){n=null}}return n}},x=(e,t)=>!d(e,t),C={attribute:!0,type:String,converter:w,reflect:!1,hasChanged:x};Symbol.metadata??=Symbol("metadata"),f.litPropertyMetadata??=new WeakMap;class M extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=C){if(t.state&&(t.attribute=!1),this._$Ei(),this.elementProperties.set(e,t),!t.noAccessor){const n=Symbol(),a=this.getPropertyDescriptor(e,n,t);void 0!==a&&u(this.prototype,e,a)}}static getPropertyDescriptor(e,t,n){const{get:a,set:i}=h(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get(){return a?.call(this)},set(t){const r=a?.call(this);i.call(this,t),this.requestUpdate(e,r,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??C}static _$Ei(){if(this.hasOwnProperty(b("elementProperties")))return;const e=g(this);e.finalize(),void 0!==e.l&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(b("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(b("properties"))){const e=this.properties,t=[...p(e),...m(e)];for(const n of t)this.createProperty(n,e[n])}const e=this[Symbol.metadata];if(null!==e){const t=litPropertyMetadata.get(e);if(void 0!==t)for(const[e,n]of t)this.elementProperties.set(e,n)}this._$Eh=new Map;for(const[e,t]of this.elementProperties){const n=this._$Eu(e,t);void 0!==n&&this._$Eh.set(n,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const n=new Set(e.flat(1/0).reverse());for(const e of n)t.unshift(l(e))}else void 0!==e&&t.push(l(e));return t}static _$Eu(e,t){const n=t.attribute;return!1===n?void 0:"string"==typeof n?n:"string"==typeof e?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((e=>this.enableUpdating=e)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((e=>e(this)))}addController(e){(this._$EO??=new Set).add(e),void 0!==this.renderRoot&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){const e=new Map,t=this.constructor.elementProperties;for(const n of t.keys())this.hasOwnProperty(n)&&(e.set(n,this[n]),delete this[n]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return c(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((e=>e.hostConnected?.()))}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach((e=>e.hostDisconnected?.()))}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$EC(e,t){const n=this.constructor.elementProperties.get(e),a=this.constructor._$Eu(e,n);if(void 0!==a&&!0===n.reflect){const i=(void 0!==n.converter?.toAttribute?n.converter:w).toAttribute(t,n.type);this._$Em=e,null==i?this.removeAttribute(a):this.setAttribute(a,i),this._$Em=null}}_$AK(e,t){const n=this.constructor,a=n._$Eh.get(e);if(void 0!==a&&this._$Em!==a){const e=n.getPropertyOptions(a),i="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==e.converter?.fromAttribute?e.converter:w;this._$Em=a,this[a]=i.fromAttribute(t,e.type),this._$Em=null}}requestUpdate(e,t,n){if(void 0!==e){if(n??=this.constructor.getPropertyOptions(e),!(n.hasChanged??x)(this[e],t))return;this.P(e,t,n)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(e,t,n){this._$AL.has(e)||this._$AL.set(e,t),!0===n.reflect&&this._$Em!==e&&(this._$Ej??=new Set).add(e)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}const e=this.constructor.elementProperties;if(e.size>0)for(const[t,n]of e)!0!==n.wrapped||this._$AL.has(t)||void 0===this[t]||this.P(t,this[t],n)}let e=!1;const t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach((e=>e.hostUpdate?.())),this.update(t)):this._$EU()}catch(t){throw e=!1,this._$EU(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach((e=>e.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Ej&&=this._$Ej.forEach((e=>this._$EC(e,this[e]))),this._$EU()}updated(e){}firstUpdated(e){}}M.elementStyles=[],M.shadowRootOptions={mode:"open"},M[b("elementProperties")]=new Map,M[b("finalized")]=new Map,v?.({ReactiveElement:M}),(f.reactiveElementVersions??=[]).push("2.0.4"); -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const k=globalThis,S=k.trustedTypes,E=S?S.createPolicy("lit-html",{createHTML:e=>e}):void 0,$="$lit$",A=`lit$${(Math.random()+"").slice(9)}$`,I="?"+A,z=`<${I}>`,T=document,j=()=>T.createComment(""),O=e=>null===e||"object"!=typeof e&&"function"!=typeof e,D=Array.isArray,R="[ \t\n\f\r]",P=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,L=/-->/g,N=/>/g,F=RegExp(`>|${R}(?:([^\\s"'>=/]+)(${R}*=${R}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),V=/'/g,H=/"/g,B=/^(?:script|style|textarea|title)$/i,q=(e=>(t,...n)=>({_$litType$:e,strings:t,values:n}))(1),U=Symbol.for("lit-noChange"),W=Symbol.for("lit-nothing"),Z=new WeakMap,Q=T.createTreeWalker(T,129);function G(e,t){if(!Array.isArray(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==E?E.createHTML(t):t}const Y=(e,t)=>{const n=e.length-1,a=[];let i,r=2===t?"":"",o=P;for(let t=0;t"===c[0]?(o=i??P,l=-1):void 0===c[1]?l=-2:(l=o.lastIndex-c[2].length,s=c[1],o=void 0===c[3]?F:'"'===c[3]?H:V):o===H||o===V?o=F:o===L||o===N?o=P:(o=F,i=void 0);const u=o===F&&e[t+1].startsWith("/>")?" ":"";r+=o===P?n+z:l>=0?(a.push(s),n.slice(0,l)+$+n.slice(l)+A+u):n+A+(-2===l?t:u)}return[G(e,r+(e[n]||"")+(2===t?"":"")),a]};class K{constructor({strings:e,_$litType$:t},n){let a;this.parts=[];let i=0,r=0;const o=e.length-1,s=this.parts,[c,l]=Y(e,t);if(this.el=K.createElement(c,n),Q.currentNode=this.el.content,2===t){const e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;null!==(a=Q.nextNode())&&s.length0){a.textContent=S?S.emptyScript:"";for(let n=0;nD(e)||"function"==typeof e?.[Symbol.iterator])(e)?this.k(e):this._(e)}S(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.S(e))}_(e){this._$AH!==W&&O(this._$AH)?this._$AA.nextSibling.data=e:this.T(T.createTextNode(e)),this._$AH=e}$(e){const{values:t,_$litType$:n}=e,a="number"==typeof n?this._$AC(e):(void 0===n.el&&(n.el=K.createElement(G(n.h,n.h[0]),this.options)),n);if(this._$AH?._$AD===a)this._$AH.p(t);else{const e=new J(a,this),n=e.u(this.options);e.p(t),this.T(n),this._$AH=e}}_$AC(e){let t=Z.get(e.strings);return void 0===t&&Z.set(e.strings,t=new K(e)),t}k(e){D(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let n,a=0;for(const i of e)a===t.length?t.push(n=new ee(this.S(j()),this.S(j()),this,this.options)):n=t[a],n._$AI(i),a++;a2||""!==n[0]||""!==n[1]?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=W}_$AI(e,t=this,n,a){const i=this.strings;let r=!1;if(void 0===i)e=X(this,e,t,0),r=!O(e)||e!==this._$AH&&e!==U,r&&(this._$AH=e);else{const a=e;let o,s;for(e=i[0],o=0;o{const a=n?.renderBefore??t;let i=a._$litPart$;if(void 0===i){const e=n?.renderBefore??null;a._$litPart$=i=new ee(t.insertBefore(j(),e),e,void 0,n??{})}return i._$AI(e),i})(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return U}};se._$litElement$=!0,se.finalized=!0,globalThis.litElementHydrateSupport?.({LitElement:se});const ce=globalThis.litElementPolyfillSupport;ce?.({LitElement:se}),(globalThis.litElementVersions??=[]).push("4.0.4"); -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const le=e=>(t,n)=>{void 0!==n?n.addInitializer((()=>{customElements.define(e,t)})):customElements.define(e,t)} -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */,de={attribute:!0,type:String,converter:w,reflect:!1,hasChanged:x},ue=(e=de,t,n)=>{const{kind:a,metadata:i}=n;let r=globalThis.litPropertyMetadata.get(i);if(void 0===r&&globalThis.litPropertyMetadata.set(i,r=new Map),r.set(n.name,e),"accessor"===a){const{name:a}=n;return{set(n){const i=t.get.call(this);t.set.call(this,n),this.requestUpdate(a,i,e)},init(t){return void 0!==t&&this.P(a,void 0,e),t}}}if("setter"===a){const{name:a}=n;return function(n){const i=this[a];t.call(this,n),this.requestUpdate(a,i,e)}}throw Error("Unsupported decorator location: "+a)};function he(e){return(t,n)=>"object"==typeof n?ue(e,t,n):((e,t,n)=>{const a=t.hasOwnProperty(n);return t.constructor.createProperty(n,a?{...e,wrapped:!0}:e),a?Object.getOwnPropertyDescriptor(t,n):void 0})(e,t,n) -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */}function pe(e){return he({...e,state:!0,attribute:!1})} -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const me={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},ge=e=>(...t)=>({_$litDirective$:e,values:t});let fe=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,n){this._$Ct=e,this._$AM=t,this._$Ci=n}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}}; -/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const _e=ge(class extends fe{constructor(e){if(super(e),e.type!==me.ATTRIBUTE||"class"!==e.name||e.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(e){return" "+Object.keys(e).filter((t=>e[t])).join(" ")+" "}update(e,[t]){if(void 0===this.st){this.st=new Set,void 0!==e.strings&&(this.nt=new Set(e.strings.join(" ").split(/\s/).filter((e=>""!==e))));for(const e in t)t[e]&&!this.nt?.has(e)&&this.st.add(e);return this.render(t)}const n=e.element.classList;for(const e of this.st)e in t||(n.remove(e),this.st.delete(e));for(const e in t){const a=!!t[e];a===this.st.has(e)||this.nt?.has(e)||(a?(n.add(e),this.st.add(e)):(n.remove(e),this.st.delete(e)))}return U}}),ye=e=>e??W -/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */,ve=e=>null===e||"object"!=typeof e&&"function"!=typeof e,be=e=>void 0===e.strings,we={},xe=(e,t=we)=>e._$AH=t -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */,Ce=(e,t)=>{const n=e._$AN;if(void 0===n)return!1;for(const e of n)e._$AO?.(t,!1),Ce(e,t);return!0},Me=e=>{let t,n;do{if(void 0===(t=e._$AM))break;n=t._$AN,n.delete(e),e=t}while(0===n?.size)},ke=e=>{for(let t;t=e._$AM;e=t){let n=t._$AN;if(void 0===n)t._$AN=n=new Set;else if(n.has(e))break;n.add(e),$e(t)}}; -/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */function Se(e){void 0!==this._$AN?(Me(this),this._$AM=e,ke(this)):this._$AM=e}function Ee(e,t=!1,n=0){const a=this._$AH,i=this._$AN;if(void 0!==i&&0!==i.size)if(t)if(Array.isArray(a))for(let e=n;e{e.type==me.CHILD&&(e._$AP??=Ee,e._$AQ??=Se)};class Ae extends fe{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,t,n){super._$AT(e,t,n),ke(this),this.isConnected=e._$AU}_$AO(e,t=!0){e!==this.isConnected&&(this.isConnected=e,e?this.reconnected?.():this.disconnected?.()),t&&(Ce(this,e),Me(this))}setValue(e){if(be(this._$Ct))this._$Ct._$AI(e,this);else{const t=[...this._$Ct._$AH];t[this._$Ci]=e,this._$Ct._$AI(t,this,0)}}disconnected(){}reconnected(){}} -/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const Ie=()=>new ze;let ze=class{};const Te=new WeakMap,je=ge(class extends Ae{render(e){return W}update(e,[t]){const n=t!==this.Y;return n&&void 0!==this.Y&&this.rt(void 0),(n||this.lt!==this.ct)&&(this.Y=t,this.ht=e.options?.host,this.rt(this.ct=e.element)),W}rt(e){if("function"==typeof this.Y){const t=this.ht??globalThis;let n=Te.get(t);void 0===n&&(n=new WeakMap,Te.set(t,n)),void 0!==n.get(this.Y)&&this.Y.call(this.ht,void 0),n.set(this.Y,e),void 0!==e&&this.Y.call(this.ht,e)}else this.Y.value=e}get lt(){return"function"==typeof this.Y?Te.get(this.ht??globalThis)?.get(this.Y):this.Y?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}}),Oe="important",De=" !"+Oe,Re=ge(class extends fe{constructor(e){if(super(e),e.type!==me.ATTRIBUTE||"style"!==e.name||e.strings?.length>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(e){return Object.keys(e).reduce(((t,n)=>{const a=e[n];return null==a?t:t+`${n=n.includes("-")?n:n.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${a};`}),"")}update(e,[t]){const{style:n}=e.element;if(void 0===this.ft)return this.ft=new Set(Object.keys(t)),this.render(t);for(const e of this.ft)null==t[e]&&(this.ft.delete(e),e.includes("-")?n.removeProperty(e):n[e]=null);for(const e in t){const a=t[e];if(null!=a){this.ft.add(e);const t="string"==typeof a&&a.endsWith(De);e.includes("-")||t?n.setProperty(e,t?a.slice(0,-11):a,t?Oe:""):n[e]=a}}return U}}); -/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */function Pe(e,t,n,a=20,i=0){let r=[];if(i>=a)return r;const o=e=>{const r=e.assignedNodes().filter((e=>1===e.nodeType));return r.length>0?Pe(r[0].parentElement,t,n,a,i+1):[]},s=Array.from(e.children||[]);for(const e of s)t(e)||(n(e)&&r.push(e),null!=e.shadowRoot?r.push(...Pe(e.shadowRoot,t,n,a,i+1)):"SLOT"===e.tagName?r.push(...o(e)):r.push(...Pe(e,t,n,a,i+1)));return r}function Le(e){return e.hasAttribute("hidden")||e.hasAttribute("aria-hidden")&&"false"!==e.getAttribute("aria-hidden")||"none"===e.style.display||"0"===e.style.opacity||"hidden"===e.style.visibility||"collapse"===e.style.visibility}function Ne(e){return"-1"!==e.getAttribute("tabindex")&&!Le(e)&&!function(e){return e.hasAttribute("disabled")||e.hasAttribute("aria-disabled")&&"false"!==e.getAttribute("aria-disabled")}(e)&&(e.hasAttribute("tabindex")||(e instanceof HTMLAnchorElement||e instanceof HTMLAreaElement)&&e.hasAttribute("href")||e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLIFrameElement)}const Fe=new Map;const Ve=document.createElement("template");Ve.innerHTML='\n\t

\n\t
\n\t\n\t
\n';class He extends HTMLElement{constructor(){super(),this.debounceId=Math.random().toString(),this._focused=!1;const e=this.attachShadow({mode:"open"});e.appendChild(Ve.content.cloneNode(!0)),this.$backup=e.querySelector("#backup"),this.$start=e.querySelector("#start"),this.$end=e.querySelector("#end"),this.focusLastElement=this.focusLastElement.bind(this),this.focusFirstElement=this.focusFirstElement.bind(this),this.onFocusIn=this.onFocusIn.bind(this),this.onFocusOut=this.onFocusOut.bind(this)}static get observedAttributes(){return["inactive"]}get inactive(){return this.hasAttribute("inactive")}set inactive(e){e?this.setAttribute("inactive",""):this.removeAttribute("inactive")}get focused(){return this._focused}connectedCallback(){this.$start.addEventListener("focus",this.focusLastElement),this.$end.addEventListener("focus",this.focusFirstElement),this.addEventListener("focusin",this.onFocusIn),this.addEventListener("focusout",this.onFocusOut),this.render()}disconnectedCallback(){this.$start.removeEventListener("focus",this.focusLastElement),this.$end.removeEventListener("focus",this.focusFirstElement),this.removeEventListener("focusin",this.onFocusIn),this.removeEventListener("focusout",this.onFocusOut)}attributeChangedCallback(){this.render()}focusFirstElement(){this.trapFocus()}focusLastElement(){this.trapFocus(!0)}getFocusableElements(){return Pe(this,Le,Ne)}trapFocus(e){if(this.inactive)return;let t=this.getFocusableElements();t.length>0?(e?t[t.length-1].focus():t[0].focus(),this.$backup.setAttribute("tabindex","-1")):(this.$backup.setAttribute("tabindex","0"),this.$backup.focus())}onFocusIn(){this.updateFocused(!0)}onFocusOut(){this.updateFocused(!1)}updateFocused(e){!function(e,t,n){const a=Fe.get(n);null!=a&&window.clearTimeout(a),Fe.set(n,window.setTimeout((()=>{e(),Fe.delete(n)}),t))}((()=>{this.focused!==e&&(this._focused=e,this.render())}),0,this.debounceId)}render(){this.$start.setAttribute("tabindex",!this.focused||this.inactive?"-1":"0"),this.$end.setAttribute("tabindex",!this.focused||this.inactive?"-1":"0"),this.focused?this.setAttribute("focused",""):this.removeAttribute("focused")}}function Be(e){return Number(e.getAttribute("data-dialog-count"))||0}function qe(e,t){e.setAttribute("data-dialog-count",t.toString())}function Ue(e=document.activeElement){return null!=e&&null!=e.shadowRoot&&null!=e.shadowRoot.activeElement?Ue(e.shadowRoot.activeElement):e}window.customElements.define("focus-trap",He);const We=document.createElement("template");We.innerHTML='\n \n
\n \n \n \n';class Ze extends HTMLElement{constructor(){super(),this.$scrollContainer=document.documentElement,this.$previousActiveElement=null;const e=this.attachShadow({mode:"open"});e.appendChild(We.content.cloneNode(!0)),this.$dialog=e.querySelector("#dialog"),this.$backdrop=e.querySelector("#backdrop"),this.onBackdropClick=this.onBackdropClick.bind(this),this.onKeyDown=this.onKeyDown.bind(this),this.setAttribute("aria-modal","true"),this.$dialog.setAttribute("role","alertdialog")}static get observedAttributes(){return["open","center"]}get open(){return this.hasAttribute("open")}set open(e){e?this.setAttribute("open",""):this.removeAttribute("open")}get center(){return this.hasAttribute("center")}set center(e){e?this.setAttribute("center",""):this.removeAttribute("center")}connectedCallback(){this.$backdrop.addEventListener("click",this.onBackdropClick)}disconnectedCallback(){this.$backdrop.removeEventListener("click",this.onBackdropClick),this.open&&this.didClose()}show(){this.open=!0}close(e){this.result=e,this.open=!1}onBackdropClick(){this.assertClosing()&&this.close()}onKeyDown(e){if("Escape"===e.code)this.assertClosing()&&(this.close(),e.stopImmediatePropagation())}assertClosing(){return this.dispatchEvent(new CustomEvent("closing",{cancelable:!0}))}didOpen(){this.$previousActiveElement=Ue(document.activeElement),requestAnimationFrame((()=>{this.$dialog.focusFirstElement()})),this.tabIndex=0,this.$scrollContainer.style.overflow="hidden",this.addEventListener("keydown",this.onKeyDown,{capture:!0,passive:!0}),qe(this.$scrollContainer,Be(this.$scrollContainer)+1),this.dispatchEvent(new CustomEvent("open"))}didClose(){this.removeEventListener("keydown",this.onKeyDown,{capture:!0}),qe(this.$scrollContainer,Math.max(0,Be(this.$scrollContainer)-1)),Be(this.$scrollContainer)<=0&&(this.$scrollContainer.style.overflow=""),this.tabIndex=-1,null!=this.$previousActiveElement&&(this.$previousActiveElement.focus(),this.$previousActiveElement=null),this.dispatchEvent(new CustomEvent("close",{detail:this.result}))}attributeChangedCallback(e,t,n){if("open"===e)this.open?this.didOpen():this.didClose()}}var Qe,Ge;function Ye(e){return e.substr(0,e.indexOf("."))}customElements.define("web-dialog",Ze),function(e){e.language="language",e.system="system",e.comma_decimal="comma_decimal",e.decimal_comma="decimal_comma",e.space_comma="space_comma",e.none="none"}(Qe||(Qe={})),function(e){e.language="language",e.system="system",e.am_pm="12",e.twenty_four="24"}(Ge||(Ge={}));var Ke,Xe,Je=["closed","locked","off"],et=function(e,t,n,a){a=a||{},n=null==n?{}:n;var i=new Event(t,{bubbles:void 0===a.bubbles||a.bubbles,cancelable:Boolean(a.cancelable),composed:void 0===a.composed||a.composed});return i.detail=n,e.dispatchEvent(i),i},tt=function(e){et(window,"haptic",e)},nt=function(e,t){return function(e,t,n){void 0===n&&(n=!0);var a,i=Ye(t),r="group"===i?"homeassistant":i;switch(i){case"lock":a=n?"unlock":"lock";break;case"cover":a=n?"open_cover":"close_cover";break;default:a=n?"turn_on":"turn_off"}return e.callService(r,a,{entity_id:t})}(e,t,Je.includes(e.states[t].state))},at=function(e,t,n,a){if(a||(a={action:"more-info"}),!a.confirmation||a.confirmation.exemptions&&a.confirmation.exemptions.some((function(e){return e.user===t.user.id}))||(tt("warning"),confirm(a.confirmation.text||"Are you sure you want to "+a.action+"?")))switch(a.action){case"more-info":(n.entity||n.camera_image)&&et(e,"hass-more-info",{entityId:n.entity?n.entity:n.camera_image});break;case"navigate":a.navigation_path&&function(e,t,n){void 0===n&&(n=!1),n?history.replaceState(null,"",t):history.pushState(null,"",t),et(window,"location-changed",{replace:n})}(0,a.navigation_path);break;case"url":a.url_path&&window.open(a.url_path);break;case"toggle":n.entity&&(nt(t,n.entity),tt("success"));break;case"perform-action":if(!a.perform_action)return void tt("failure");var i=a.perform_action.split(".",2);t.callService(i[0],i[1],a.data,a.target),tt("success");break;case"call-service":if(!a.service)return void tt("failure");var r=a.service.split(".",2);t.callService(r[0],r[1],a.data,a.target),tt("success");break;case"fire-dom-event":et(e,"ll-custom",a)}};!function(e){e.assertEqual=e=>e,e.assertIs=function(e){},e.assertNever=function(e){throw new Error},e.arrayToEnum=e=>{const t={};for(const n of e)t[n]=n;return t},e.getValidEnumValues=t=>{const n=e.objectKeys(t).filter((e=>"number"!=typeof t[t[e]])),a={};for(const e of n)a[e]=t[e];return e.objectValues(a)},e.objectValues=t=>e.objectKeys(t).map((function(e){return t[e]})),e.objectKeys="function"==typeof Object.keys?e=>Object.keys(e):e=>{const t=[];for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},e.find=(e,t)=>{for(const n of e)if(t(n))return n},e.isInteger="function"==typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"==typeof e&&isFinite(e)&&Math.floor(e)===e,e.joinValues=function(e,t=" | "){return e.map((e=>"string"==typeof e?`'${e}'`:e)).join(t)},e.jsonStringifyReplacer=(e,t)=>"bigint"==typeof t?t.toString():t}(Ke||(Ke={})),function(e){e.mergeShapes=(e,t)=>({...e,...t})}(Xe||(Xe={}));const it=Ke.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),rt=e=>{switch(typeof e){case"undefined":return it.undefined;case"string":return it.string;case"number":return isNaN(e)?it.nan:it.number;case"boolean":return it.boolean;case"function":return it.function;case"bigint":return it.bigint;case"symbol":return it.symbol;case"object":return Array.isArray(e)?it.array:null===e?it.null:e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch?it.promise:"undefined"!=typeof Map&&e instanceof Map?it.map:"undefined"!=typeof Set&&e instanceof Set?it.set:"undefined"!=typeof Date&&e instanceof Date?it.date:it.object;default:return it.unknown}},ot=Ke.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class st extends Error{constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const t=e||function(e){return e.message},n={_errors:[]},a=e=>{for(const i of e.issues)if("invalid_union"===i.code)i.unionErrors.map(a);else if("invalid_return_type"===i.code)a(i.returnTypeError);else if("invalid_arguments"===i.code)a(i.argumentsError);else if(0===i.path.length)n._errors.push(t(i));else{let e=n,a=0;for(;ae.message)){const t={},n=[];for(const a of this.issues)a.path.length>0?(t[a.path[0]]=t[a.path[0]]||[],t[a.path[0]].push(e(a))):n.push(e(a));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}}st.create=e=>new st(e);const ct=(e,t)=>{let n;switch(e.code){case ot.invalid_type:n=e.received===it.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case ot.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,Ke.jsonStringifyReplacer)}`;break;case ot.unrecognized_keys:n=`Unrecognized key(s) in object: ${Ke.joinValues(e.keys,", ")}`;break;case ot.invalid_union:n="Invalid input";break;case ot.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Ke.joinValues(e.options)}`;break;case ot.invalid_enum_value:n=`Invalid enum value. Expected ${Ke.joinValues(e.options)}, received '${e.received}'`;break;case ot.invalid_arguments:n="Invalid function arguments";break;case ot.invalid_return_type:n="Invalid function return type";break;case ot.invalid_date:n="Invalid date";break;case ot.invalid_string:"object"==typeof e.validation?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,"number"==typeof e.validation.position&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:Ke.assertNever(e.validation):n="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case ot.too_small:n="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:"date"===e.type?`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:"Invalid input";break;case ot.too_big:n="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"bigint"===e.type?`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"date"===e.type?`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:"Invalid input";break;case ot.custom:n="Invalid input";break;case ot.invalid_intersection_types:n="Intersection results could not be merged";break;case ot.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case ot.not_finite:n="Number must be finite";break;default:n=t.defaultError,Ke.assertNever(e)}return{message:n}};let lt=ct;function dt(){return lt}const ut=e=>{const{data:t,path:n,errorMaps:a,issueData:i}=e,r=[...n,...i.path||[]],o={...i,path:r};if(void 0!==i.message)return{...i,path:r,message:i.message};let s="";const c=a.filter((e=>!!e)).slice().reverse();for(const e of c)s=e(o,{data:t,defaultError:s}).message;return{...i,path:r,message:s}};function ht(e,t){const n=dt(),a=ut({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===ct?void 0:ct].filter((e=>!!e))});e.common.issues.push(a)}class pt{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(e,t){const n=[];for(const a of t){if("aborted"===a.status)return mt;"dirty"===a.status&&e.dirty(),n.push(a.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,t){const n=[];for(const e of t){const t=await e.key,a=await e.value;n.push({key:t,value:a})}return pt.mergeObjectSync(e,n)}static mergeObjectSync(e,t){const n={};for(const a of t){const{key:t,value:i}=a;if("aborted"===t.status)return mt;if("aborted"===i.status)return mt;"dirty"===t.status&&e.dirty(),"dirty"===i.status&&e.dirty(),"__proto__"===t.value||void 0===i.value&&!a.alwaysSet||(n[t.value]=i.value)}return{status:e.value,value:n}}}const mt=Object.freeze({status:"aborted"}),gt=e=>({status:"dirty",value:e}),ft=e=>({status:"valid",value:e}),_t=e=>"aborted"===e.status,yt=e=>"dirty"===e.status,vt=e=>"valid"===e.status,bt=e=>"undefined"!=typeof Promise&&e instanceof Promise;function wt(e,t,n,a){if("a"===n&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?a:"a"===n?a.call(e):a?a.value:t.get(e)}function xt(e,t,n,a,i){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?i.call(e,n):i?i.value=n:t.set(e,n),n}var Ct,Mt,kt;"function"==typeof SuppressedError&&SuppressedError,function(e){e.errToObj=e=>"string"==typeof e?{message:e}:e||{},e.toString=e=>"string"==typeof e?e:null==e?void 0:e.message}(Ct||(Ct={}));class St{constructor(e,t,n,a){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=a}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const Et=(e,t)=>{if(vt(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new st(e.common.issues);return this._error=t,this._error}}};function $t(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:a,description:i}=e;if(t&&(n||a))throw new Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');if(t)return{errorMap:t,description:i};return{errorMap:(t,i)=>{var r,o;const{message:s}=e;return"invalid_enum_value"===t.code?{message:null!=s?s:i.defaultError}:void 0===i.data?{message:null!==(r=null!=s?s:a)&&void 0!==r?r:i.defaultError}:"invalid_type"!==t.code?{message:i.defaultError}:{message:null!==(o=null!=s?s:n)&&void 0!==o?o:i.defaultError}},description:i}}class At{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return rt(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:rt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new pt,ctx:{common:e.parent.common,data:e.data,parsedType:rt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(bt(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){var n;const a={common:{issues:[],async:null!==(n=null==t?void 0:t.async)&&void 0!==n&&n,contextualErrorMap:null==t?void 0:t.errorMap},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:rt(e)},i=this._parseSync({data:e,path:a.path,parent:a});return Et(a,i)}async parseAsync(e,t){const n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){const n={common:{issues:[],contextualErrorMap:null==t?void 0:t.errorMap,async:!0},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:rt(e)},a=this._parse({data:e,path:n.path,parent:n}),i=await(bt(a)?a:Promise.resolve(a));return Et(n,i)}refine(e,t){const n=e=>"string"==typeof t||void 0===t?{message:t}:"function"==typeof t?t(e):t;return this._refinement(((t,a)=>{const i=e(t),r=()=>a.addIssue({code:ot.custom,...n(t)});return"undefined"!=typeof Promise&&i instanceof Promise?i.then((e=>!!e||(r(),!1))):!!i||(r(),!1)}))}refinement(e,t){return this._refinement(((n,a)=>!!e(n)||(a.addIssue("function"==typeof t?t(n,a):t),!1)))}_refinement(e){return new kn({schema:this,typeName:Pn.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return Sn.create(this,this._def)}nullable(){return En.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return on.create(this,this._def)}promise(){return Mn.create(this,this._def)}or(e){return ln.create([this,e],this._def)}and(e){return pn.create(this,e,this._def)}transform(e){return new kn({...$t(this._def),schema:this,typeName:Pn.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t="function"==typeof e?e:()=>e;return new $n({...$t(this._def),innerType:this,defaultValue:t,typeName:Pn.ZodDefault})}brand(){return new Tn({typeName:Pn.ZodBranded,type:this,...$t(this._def)})}catch(e){const t="function"==typeof e?e:()=>e;return new An({...$t(this._def),innerType:this,catchValue:t,typeName:Pn.ZodCatch})}describe(e){return new(0,this.constructor)({...this._def,description:e})}pipe(e){return jn.create(this,e)}readonly(){return On.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const It=/^c[^\s-]{8,}$/i,zt=/^[0-9a-z]+$/,Tt=/^[0-9A-HJKMNP-TV-Z]{26}$/,jt=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Ot=/^[a-z0-9_-]{21}$/i,Dt=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Rt=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i;let Pt;const Lt=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Nt=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,Ft=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Vt="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Ht=new RegExp(`^${Vt}$`);function Bt(e){let t="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return e.precision?t=`${t}\\.\\d{${e.precision}}`:null==e.precision&&(t=`${t}(\\.\\d+)?`),t}function qt(e){let t=`${Vt}T${Bt(e)}`;const n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function Ut(e,t){return!("v4"!==t&&t||!Lt.test(e))||!("v6"!==t&&t||!Nt.test(e))}class Wt extends At{_parse(e){this._def.coerce&&(e.data=String(e.data));if(this._getType(e)!==it.string){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.string,received:t.parsedType}),mt}const t=new pt;let n;for(const a of this._def.checks)if("min"===a.kind)e.data.lengtha.value&&(n=this._getOrReturnCtx(e,n),ht(n,{code:ot.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),t.dirty());else if("length"===a.kind){const i=e.data.length>a.value,r=e.data.lengthe.test(t)),{validation:t,code:ot.invalid_string,...Ct.errToObj(n)})}_addCheck(e){return new Wt({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...Ct.errToObj(e)})}url(e){return this._addCheck({kind:"url",...Ct.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...Ct.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...Ct.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...Ct.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...Ct.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...Ct.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...Ct.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...Ct.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...Ct.errToObj(e)})}datetime(e){var t,n;return"string"==typeof e?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision,offset:null!==(t=null==e?void 0:e.offset)&&void 0!==t&&t,local:null!==(n=null==e?void 0:e.local)&&void 0!==n&&n,...Ct.errToObj(null==e?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return"string"==typeof e?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision,...Ct.errToObj(null==e?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...Ct.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...Ct.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:null==t?void 0:t.position,...Ct.errToObj(null==t?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...Ct.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...Ct.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...Ct.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...Ct.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...Ct.errToObj(t)})}nonempty(e){return this.min(1,Ct.errToObj(e))}trim(){return new Wt({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Wt({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Wt({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((e=>"datetime"===e.kind))}get isDate(){return!!this._def.checks.find((e=>"date"===e.kind))}get isTime(){return!!this._def.checks.find((e=>"time"===e.kind))}get isDuration(){return!!this._def.checks.find((e=>"duration"===e.kind))}get isEmail(){return!!this._def.checks.find((e=>"email"===e.kind))}get isURL(){return!!this._def.checks.find((e=>"url"===e.kind))}get isEmoji(){return!!this._def.checks.find((e=>"emoji"===e.kind))}get isUUID(){return!!this._def.checks.find((e=>"uuid"===e.kind))}get isNANOID(){return!!this._def.checks.find((e=>"nanoid"===e.kind))}get isCUID(){return!!this._def.checks.find((e=>"cuid"===e.kind))}get isCUID2(){return!!this._def.checks.find((e=>"cuid2"===e.kind))}get isULID(){return!!this._def.checks.find((e=>"ulid"===e.kind))}get isIP(){return!!this._def.checks.find((e=>"ip"===e.kind))}get isBase64(){return!!this._def.checks.find((e=>"base64"===e.kind))}get minLength(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.valuea?n:a;return parseInt(e.toFixed(i).replace(".",""))%parseInt(t.toFixed(i).replace(".",""))/Math.pow(10,i)}Wt.create=e=>{var t;return new Wt({checks:[],typeName:Pn.ZodString,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t,...$t(e)})};class Qt extends At{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){this._def.coerce&&(e.data=Number(e.data));if(this._getType(e)!==it.number){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.number,received:t.parsedType}),mt}let t;const n=new pt;for(const a of this._def.checks)if("int"===a.kind)Ke.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.invalid_type,expected:"integer",received:"float",message:a.message}),n.dirty());else if("min"===a.kind){(a.inclusive?e.dataa.value:e.data>=a.value)&&(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),n.dirty())}else"multipleOf"===a.kind?0!==Zt(e.data,a.value)&&(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.not_multiple_of,multipleOf:a.value,message:a.message}),n.dirty()):"finite"===a.kind?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.not_finite,message:a.message}),n.dirty()):Ke.assertNever(a);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,Ct.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Ct.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Ct.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Ct.toString(t))}setLimit(e,t,n,a){return new Qt({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:Ct.toString(a)}]})}_addCheck(e){return new Qt({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:Ct.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:Ct.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:Ct.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:Ct.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:Ct.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Ct.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:Ct.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:Ct.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:Ct.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value"int"===e.kind||"multipleOf"===e.kind&&Ke.isInteger(e.value)))}get isFinite(){let e=null,t=null;for(const n of this._def.checks){if("finite"===n.kind||"int"===n.kind||"multipleOf"===n.kind)return!0;"min"===n.kind?(null===t||n.value>t)&&(t=n.value):"max"===n.kind&&(null===e||n.valuenew Qt({checks:[],typeName:Pn.ZodNumber,coerce:(null==e?void 0:e.coerce)||!1,...$t(e)});class Gt extends At{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){this._def.coerce&&(e.data=BigInt(e.data));if(this._getType(e)!==it.bigint){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.bigint,received:t.parsedType}),mt}let t;const n=new pt;for(const a of this._def.checks)if("min"===a.kind){(a.inclusive?e.dataa.value:e.data>=a.value)&&(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),n.dirty())}else"multipleOf"===a.kind?e.data%a.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.not_multiple_of,multipleOf:a.value,message:a.message}),n.dirty()):Ke.assertNever(a);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,Ct.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Ct.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Ct.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Ct.toString(t))}setLimit(e,t,n,a){return new Gt({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:Ct.toString(a)}]})}_addCheck(e){return new Gt({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:Ct.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:Ct.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:Ct.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:Ct.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Ct.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value{var t;return new Gt({checks:[],typeName:Pn.ZodBigInt,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t,...$t(e)})};class Yt extends At{_parse(e){this._def.coerce&&(e.data=Boolean(e.data));if(this._getType(e)!==it.boolean){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.boolean,received:t.parsedType}),mt}return ft(e.data)}}Yt.create=e=>new Yt({typeName:Pn.ZodBoolean,coerce:(null==e?void 0:e.coerce)||!1,...$t(e)});class Kt extends At{_parse(e){this._def.coerce&&(e.data=new Date(e.data));if(this._getType(e)!==it.date){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.date,received:t.parsedType}),mt}if(isNaN(e.data.getTime())){return ht(this._getOrReturnCtx(e),{code:ot.invalid_date}),mt}const t=new pt;let n;for(const a of this._def.checks)"min"===a.kind?e.data.getTime()a.value&&(n=this._getOrReturnCtx(e,n),ht(n,{code:ot.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),t.dirty()):Ke.assertNever(a);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(e){return new Kt({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:Ct.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:Ct.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return null!=e?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.valuenew Kt({checks:[],coerce:(null==e?void 0:e.coerce)||!1,typeName:Pn.ZodDate,...$t(e)});class Xt extends At{_parse(e){if(this._getType(e)!==it.symbol){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.symbol,received:t.parsedType}),mt}return ft(e.data)}}Xt.create=e=>new Xt({typeName:Pn.ZodSymbol,...$t(e)});class Jt extends At{_parse(e){if(this._getType(e)!==it.undefined){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.undefined,received:t.parsedType}),mt}return ft(e.data)}}Jt.create=e=>new Jt({typeName:Pn.ZodUndefined,...$t(e)});class en extends At{_parse(e){if(this._getType(e)!==it.null){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.null,received:t.parsedType}),mt}return ft(e.data)}}en.create=e=>new en({typeName:Pn.ZodNull,...$t(e)});class tn extends At{constructor(){super(...arguments),this._any=!0}_parse(e){return ft(e.data)}}tn.create=e=>new tn({typeName:Pn.ZodAny,...$t(e)});class nn extends At{constructor(){super(...arguments),this._unknown=!0}_parse(e){return ft(e.data)}}nn.create=e=>new nn({typeName:Pn.ZodUnknown,...$t(e)});class an extends At{_parse(e){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.never,received:t.parsedType}),mt}}an.create=e=>new an({typeName:Pn.ZodNever,...$t(e)});class rn extends At{_parse(e){if(this._getType(e)!==it.undefined){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.void,received:t.parsedType}),mt}return ft(e.data)}}rn.create=e=>new rn({typeName:Pn.ZodVoid,...$t(e)});class on extends At{_parse(e){const{ctx:t,status:n}=this._processInputParams(e),a=this._def;if(t.parsedType!==it.array)return ht(t,{code:ot.invalid_type,expected:it.array,received:t.parsedType}),mt;if(null!==a.exactLength){const e=t.data.length>a.exactLength.value,i=t.data.lengtha.maxLength.value&&(ht(t,{code:ot.too_big,maximum:a.maxLength.value,type:"array",inclusive:!0,exact:!1,message:a.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map(((e,n)=>a.type._parseAsync(new St(t,e,t.path,n))))).then((e=>pt.mergeArray(n,e)));const i=[...t.data].map(((e,n)=>a.type._parseSync(new St(t,e,t.path,n))));return pt.mergeArray(n,i)}get element(){return this._def.type}min(e,t){return new on({...this._def,minLength:{value:e,message:Ct.toString(t)}})}max(e,t){return new on({...this._def,maxLength:{value:e,message:Ct.toString(t)}})}length(e,t){return new on({...this._def,exactLength:{value:e,message:Ct.toString(t)}})}nonempty(e){return this.min(1,e)}}function sn(e){if(e instanceof cn){const t={};for(const n in e.shape){const a=e.shape[n];t[n]=Sn.create(sn(a))}return new cn({...e._def,shape:()=>t})}return e instanceof on?new on({...e._def,type:sn(e.element)}):e instanceof Sn?Sn.create(sn(e.unwrap())):e instanceof En?En.create(sn(e.unwrap())):e instanceof mn?mn.create(e.items.map((e=>sn(e)))):e}on.create=(e,t)=>new on({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Pn.ZodArray,...$t(t)});class cn extends At{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;const e=this._def.shape(),t=Ke.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==it.object){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.object,received:t.parsedType}),mt}const{status:t,ctx:n}=this._processInputParams(e),{shape:a,keys:i}=this._getCached(),r=[];if(!(this._def.catchall instanceof an&&"strip"===this._def.unknownKeys))for(const e in n.data)i.includes(e)||r.push(e);const o=[];for(const e of i){const t=a[e],i=n.data[e];o.push({key:{status:"valid",value:e},value:t._parse(new St(n,i,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof an){const e=this._def.unknownKeys;if("passthrough"===e)for(const e of r)o.push({key:{status:"valid",value:e},value:{status:"valid",value:n.data[e]}});else if("strict"===e)r.length>0&&(ht(n,{code:ot.unrecognized_keys,keys:r}),t.dirty());else if("strip"!==e)throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const e=this._def.catchall;for(const t of r){const a=n.data[t];o.push({key:{status:"valid",value:t},value:e._parse(new St(n,a,n.path,t)),alwaysSet:t in n.data})}}return n.common.async?Promise.resolve().then((async()=>{const e=[];for(const t of o){const n=await t.key,a=await t.value;e.push({key:n,value:a,alwaysSet:t.alwaysSet})}return e})).then((e=>pt.mergeObjectSync(t,e))):pt.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(e){return Ct.errToObj,new cn({...this._def,unknownKeys:"strict",...void 0!==e?{errorMap:(t,n)=>{var a,i,r,o;const s=null!==(r=null===(i=(a=this._def).errorMap)||void 0===i?void 0:i.call(a,t,n).message)&&void 0!==r?r:n.defaultError;return"unrecognized_keys"===t.code?{message:null!==(o=Ct.errToObj(e).message)&&void 0!==o?o:s}:{message:s}}}:{}})}strip(){return new cn({...this._def,unknownKeys:"strip"})}passthrough(){return new cn({...this._def,unknownKeys:"passthrough"})}extend(e){return new cn({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new cn({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:Pn.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new cn({...this._def,catchall:e})}pick(e){const t={};return Ke.objectKeys(e).forEach((n=>{e[n]&&this.shape[n]&&(t[n]=this.shape[n])})),new cn({...this._def,shape:()=>t})}omit(e){const t={};return Ke.objectKeys(this.shape).forEach((n=>{e[n]||(t[n]=this.shape[n])})),new cn({...this._def,shape:()=>t})}deepPartial(){return sn(this)}partial(e){const t={};return Ke.objectKeys(this.shape).forEach((n=>{const a=this.shape[n];e&&!e[n]?t[n]=a:t[n]=a.optional()})),new cn({...this._def,shape:()=>t})}required(e){const t={};return Ke.objectKeys(this.shape).forEach((n=>{if(e&&!e[n])t[n]=this.shape[n];else{let e=this.shape[n];for(;e instanceof Sn;)e=e._def.innerType;t[n]=e}})),new cn({...this._def,shape:()=>t})}keyof(){return wn(Ke.objectKeys(this.shape))}}cn.create=(e,t)=>new cn({shape:()=>e,unknownKeys:"strip",catchall:an.create(),typeName:Pn.ZodObject,...$t(t)}),cn.strictCreate=(e,t)=>new cn({shape:()=>e,unknownKeys:"strict",catchall:an.create(),typeName:Pn.ZodObject,...$t(t)}),cn.lazycreate=(e,t)=>new cn({shape:e,unknownKeys:"strip",catchall:an.create(),typeName:Pn.ZodObject,...$t(t)});class ln extends At{_parse(e){const{ctx:t}=this._processInputParams(e),n=this._def.options;if(t.common.async)return Promise.all(n.map((async e=>{const n={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}}))).then((function(e){for(const t of e)if("valid"===t.result.status)return t.result;for(const n of e)if("dirty"===n.result.status)return t.common.issues.push(...n.ctx.common.issues),n.result;const n=e.map((e=>new st(e.ctx.common.issues)));return ht(t,{code:ot.invalid_union,unionErrors:n}),mt}));{let e;const a=[];for(const i of n){const n={...t,common:{...t.common,issues:[]},parent:null},r=i._parseSync({data:t.data,path:t.path,parent:n});if("valid"===r.status)return r;"dirty"!==r.status||e||(e={result:r,ctx:n}),n.common.issues.length&&a.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;const i=a.map((e=>new st(e)));return ht(t,{code:ot.invalid_union,unionErrors:i}),mt}}get options(){return this._def.options}}ln.create=(e,t)=>new ln({options:e,typeName:Pn.ZodUnion,...$t(t)});const dn=e=>e instanceof vn?dn(e.schema):e instanceof kn?dn(e.innerType()):e instanceof bn?[e.value]:e instanceof xn?e.options:e instanceof Cn?Ke.objectValues(e.enum):e instanceof $n?dn(e._def.innerType):e instanceof Jt?[void 0]:e instanceof en?[null]:e instanceof Sn?[void 0,...dn(e.unwrap())]:e instanceof En?[null,...dn(e.unwrap())]:e instanceof Tn||e instanceof On?dn(e.unwrap()):e instanceof An?dn(e._def.innerType):[];class un extends At{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==it.object)return ht(t,{code:ot.invalid_type,expected:it.object,received:t.parsedType}),mt;const n=this.discriminator,a=t.data[n],i=this.optionsMap.get(a);return i?t.common.async?i._parseAsync({data:t.data,path:t.path,parent:t}):i._parseSync({data:t.data,path:t.path,parent:t}):(ht(t,{code:ot.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),mt)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,n){const a=new Map;for(const n of t){const t=dn(n.shape[e]);if(!t.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const i of t){if(a.has(i))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(i)}`);a.set(i,n)}}return new un({typeName:Pn.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:a,...$t(n)})}}function hn(e,t){const n=rt(e),a=rt(t);if(e===t)return{valid:!0,data:e};if(n===it.object&&a===it.object){const n=Ke.objectKeys(t),a=Ke.objectKeys(e).filter((e=>-1!==n.indexOf(e))),i={...e,...t};for(const n of a){const a=hn(e[n],t[n]);if(!a.valid)return{valid:!1};i[n]=a.data}return{valid:!0,data:i}}if(n===it.array&&a===it.array){if(e.length!==t.length)return{valid:!1};const n=[];for(let a=0;a{if(_t(e)||_t(a))return mt;const i=hn(e.value,a.value);return i.valid?((yt(e)||yt(a))&&t.dirty(),{status:t.value,value:i.data}):(ht(n,{code:ot.invalid_intersection_types}),mt)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then((([e,t])=>a(e,t))):a(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}}pn.create=(e,t,n)=>new pn({left:e,right:t,typeName:Pn.ZodIntersection,...$t(n)});class mn extends At{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==it.array)return ht(n,{code:ot.invalid_type,expected:it.array,received:n.parsedType}),mt;if(n.data.lengththis._def.items.length&&(ht(n,{code:ot.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const a=[...n.data].map(((e,t)=>{const a=this._def.items[t]||this._def.rest;return a?a._parse(new St(n,e,n.path,t)):null})).filter((e=>!!e));return n.common.async?Promise.all(a).then((e=>pt.mergeArray(t,e))):pt.mergeArray(t,a)}get items(){return this._def.items}rest(e){return new mn({...this._def,rest:e})}}mn.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new mn({items:e,typeName:Pn.ZodTuple,rest:null,...$t(t)})};class gn extends At{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==it.object)return ht(n,{code:ot.invalid_type,expected:it.object,received:n.parsedType}),mt;const a=[],i=this._def.keyType,r=this._def.valueType;for(const e in n.data)a.push({key:i._parse(new St(n,e,n.path,e)),value:r._parse(new St(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?pt.mergeObjectAsync(t,a):pt.mergeObjectSync(t,a)}get element(){return this._def.valueType}static create(e,t,n){return new gn(t instanceof At?{keyType:e,valueType:t,typeName:Pn.ZodRecord,...$t(n)}:{keyType:Wt.create(),valueType:e,typeName:Pn.ZodRecord,...$t(t)})}}class fn extends At{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==it.map)return ht(n,{code:ot.invalid_type,expected:it.map,received:n.parsedType}),mt;const a=this._def.keyType,i=this._def.valueType,r=[...n.data.entries()].map((([e,t],r)=>({key:a._parse(new St(n,e,n.path,[r,"key"])),value:i._parse(new St(n,t,n.path,[r,"value"]))})));if(n.common.async){const e=new Map;return Promise.resolve().then((async()=>{for(const n of r){const a=await n.key,i=await n.value;if("aborted"===a.status||"aborted"===i.status)return mt;"dirty"!==a.status&&"dirty"!==i.status||t.dirty(),e.set(a.value,i.value)}return{status:t.value,value:e}}))}{const e=new Map;for(const n of r){const a=n.key,i=n.value;if("aborted"===a.status||"aborted"===i.status)return mt;"dirty"!==a.status&&"dirty"!==i.status||t.dirty(),e.set(a.value,i.value)}return{status:t.value,value:e}}}}fn.create=(e,t,n)=>new fn({valueType:t,keyType:e,typeName:Pn.ZodMap,...$t(n)});class _n extends At{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==it.set)return ht(n,{code:ot.invalid_type,expected:it.set,received:n.parsedType}),mt;const a=this._def;null!==a.minSize&&n.data.sizea.maxSize.value&&(ht(n,{code:ot.too_big,maximum:a.maxSize.value,type:"set",inclusive:!0,exact:!1,message:a.maxSize.message}),t.dirty());const i=this._def.valueType;function r(e){const n=new Set;for(const a of e){if("aborted"===a.status)return mt;"dirty"===a.status&&t.dirty(),n.add(a.value)}return{status:t.value,value:n}}const o=[...n.data.values()].map(((e,t)=>i._parse(new St(n,e,n.path,t))));return n.common.async?Promise.all(o).then((e=>r(e))):r(o)}min(e,t){return new _n({...this._def,minSize:{value:e,message:Ct.toString(t)}})}max(e,t){return new _n({...this._def,maxSize:{value:e,message:Ct.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}_n.create=(e,t)=>new _n({valueType:e,minSize:null,maxSize:null,typeName:Pn.ZodSet,...$t(t)});class yn extends At{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==it.function)return ht(t,{code:ot.invalid_type,expected:it.function,received:t.parsedType}),mt;function n(e,n){return ut({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,dt(),ct].filter((e=>!!e)),issueData:{code:ot.invalid_arguments,argumentsError:n}})}function a(e,n){return ut({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,dt(),ct].filter((e=>!!e)),issueData:{code:ot.invalid_return_type,returnTypeError:n}})}const i={errorMap:t.common.contextualErrorMap},r=t.data;if(this._def.returns instanceof Mn){const e=this;return ft((async function(...t){const o=new st([]),s=await e._def.args.parseAsync(t,i).catch((e=>{throw o.addIssue(n(t,e)),o})),c=await Reflect.apply(r,this,s),l=await e._def.returns._def.type.parseAsync(c,i).catch((e=>{throw o.addIssue(a(c,e)),o}));return l}))}{const e=this;return ft((function(...t){const o=e._def.args.safeParse(t,i);if(!o.success)throw new st([n(t,o.error)]);const s=Reflect.apply(r,this,o.data),c=e._def.returns.safeParse(s,i);if(!c.success)throw new st([a(s,c.error)]);return c.data}))}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new yn({...this._def,args:mn.create(e).rest(nn.create())})}returns(e){return new yn({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,n){return new yn({args:e||mn.create([]).rest(nn.create()),returns:t||nn.create(),typeName:Pn.ZodFunction,...$t(n)})}}class vn extends At{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}vn.create=(e,t)=>new vn({getter:e,typeName:Pn.ZodLazy,...$t(t)});class bn extends At{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return ht(t,{received:t.data,code:ot.invalid_literal,expected:this._def.value}),mt}return{status:"valid",value:e.data}}get value(){return this._def.value}}function wn(e,t){return new xn({values:e,typeName:Pn.ZodEnum,...$t(t)})}bn.create=(e,t)=>new bn({value:e,typeName:Pn.ZodLiteral,...$t(t)});class xn extends At{constructor(){super(...arguments),Mt.set(this,void 0)}_parse(e){if("string"!=typeof e.data){const t=this._getOrReturnCtx(e),n=this._def.values;return ht(t,{expected:Ke.joinValues(n),received:t.parsedType,code:ot.invalid_type}),mt}if(wt(this,Mt,"f")||xt(this,Mt,new Set(this._def.values),"f"),!wt(this,Mt,"f").has(e.data)){const t=this._getOrReturnCtx(e),n=this._def.values;return ht(t,{received:t.data,code:ot.invalid_enum_value,options:n}),mt}return ft(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return xn.create(e,{...this._def,...t})}exclude(e,t=this._def){return xn.create(this.options.filter((t=>!e.includes(t))),{...this._def,...t})}}Mt=new WeakMap,xn.create=wn;class Cn extends At{constructor(){super(...arguments),kt.set(this,void 0)}_parse(e){const t=Ke.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==it.string&&n.parsedType!==it.number){const e=Ke.objectValues(t);return ht(n,{expected:Ke.joinValues(e),received:n.parsedType,code:ot.invalid_type}),mt}if(wt(this,kt,"f")||xt(this,kt,new Set(Ke.getValidEnumValues(this._def.values)),"f"),!wt(this,kt,"f").has(e.data)){const e=Ke.objectValues(t);return ht(n,{received:n.data,code:ot.invalid_enum_value,options:e}),mt}return ft(e.data)}get enum(){return this._def.values}}kt=new WeakMap,Cn.create=(e,t)=>new Cn({values:e,typeName:Pn.ZodNativeEnum,...$t(t)});class Mn extends At{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==it.promise&&!1===t.common.async)return ht(t,{code:ot.invalid_type,expected:it.promise,received:t.parsedType}),mt;const n=t.parsedType===it.promise?t.data:Promise.resolve(t.data);return ft(n.then((e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap}))))}}Mn.create=(e,t)=>new Mn({type:e,typeName:Pn.ZodPromise,...$t(t)});class kn extends At{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Pn.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:n}=this._processInputParams(e),a=this._def.effect||null,i={addIssue:e=>{ht(n,e),e.fatal?t.abort():t.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),"preprocess"===a.type){const e=a.transform(n.data,i);if(n.common.async)return Promise.resolve(e).then((async e=>{if("aborted"===t.value)return mt;const a=await this._def.schema._parseAsync({data:e,path:n.path,parent:n});return"aborted"===a.status?mt:"dirty"===a.status||"dirty"===t.value?gt(a.value):a}));{if("aborted"===t.value)return mt;const a=this._def.schema._parseSync({data:e,path:n.path,parent:n});return"aborted"===a.status?mt:"dirty"===a.status||"dirty"===t.value?gt(a.value):a}}if("refinement"===a.type){const e=e=>{const t=a.refinement(e,i);if(n.common.async)return Promise.resolve(t);if(t instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1===n.common.async){const a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return"aborted"===a.status?mt:("dirty"===a.status&&t.dirty(),e(a.value),{status:t.value,value:a.value})}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then((n=>"aborted"===n.status?mt:("dirty"===n.status&&t.dirty(),e(n.value).then((()=>({status:t.value,value:n.value}))))))}if("transform"===a.type){if(!1===n.common.async){const e=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!vt(e))return e;const r=a.transform(e.value,i);if(r instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:r}}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then((e=>vt(e)?Promise.resolve(a.transform(e.value,i)).then((e=>({status:t.value,value:e}))):e))}Ke.assertNever(a)}}kn.create=(e,t,n)=>new kn({schema:e,typeName:Pn.ZodEffects,effect:t,...$t(n)}),kn.createWithPreprocess=(e,t,n)=>new kn({schema:t,effect:{type:"preprocess",transform:e},typeName:Pn.ZodEffects,...$t(n)});class Sn extends At{_parse(e){return this._getType(e)===it.undefined?ft(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Sn.create=(e,t)=>new Sn({innerType:e,typeName:Pn.ZodOptional,...$t(t)});class En extends At{_parse(e){return this._getType(e)===it.null?ft(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}En.create=(e,t)=>new En({innerType:e,typeName:Pn.ZodNullable,...$t(t)});class $n extends At{_parse(e){const{ctx:t}=this._processInputParams(e);let n=t.data;return t.parsedType===it.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}$n.create=(e,t)=>new $n({innerType:e,typeName:Pn.ZodDefault,defaultValue:"function"==typeof t.default?t.default:()=>t.default,...$t(t)});class An extends At{_parse(e){const{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},a=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return bt(a)?a.then((e=>({status:"valid",value:"valid"===e.status?e.value:this._def.catchValue({get error(){return new st(n.common.issues)},input:n.data})}))):{status:"valid",value:"valid"===a.status?a.value:this._def.catchValue({get error(){return new st(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}An.create=(e,t)=>new An({innerType:e,typeName:Pn.ZodCatch,catchValue:"function"==typeof t.catch?t.catch:()=>t.catch,...$t(t)});class In extends At{_parse(e){if(this._getType(e)!==it.nan){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.nan,received:t.parsedType}),mt}return{status:"valid",value:e.data}}}In.create=e=>new In({typeName:Pn.ZodNaN,...$t(e)});const zn=Symbol("zod_brand");class Tn extends At{_parse(e){const{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}}class jn extends At{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.common.async){return(async()=>{const e=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return"aborted"===e.status?mt:"dirty"===e.status?(t.dirty(),gt(e.value)):this._def.out._parseAsync({data:e.value,path:n.path,parent:n})})()}{const e=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return"aborted"===e.status?mt:"dirty"===e.status?(t.dirty(),{status:"dirty",value:e.value}):this._def.out._parseSync({data:e.value,path:n.path,parent:n})}}static create(e,t){return new jn({in:e,out:t,typeName:Pn.ZodPipeline})}}class On extends At{_parse(e){const t=this._def.innerType._parse(e),n=e=>(vt(e)&&(e.value=Object.freeze(e.value)),e);return bt(t)?t.then((e=>n(e))):n(t)}unwrap(){return this._def.innerType}}function Dn(e,t={},n){return e?tn.create().superRefine(((a,i)=>{var r,o;if(!e(a)){const e="function"==typeof t?t(a):"string"==typeof t?{message:t}:t,s=null===(o=null!==(r=e.fatal)&&void 0!==r?r:n)||void 0===o||o,c="string"==typeof e?{message:e}:e;i.addIssue({code:"custom",...c,fatal:s})}})):tn.create()}On.create=(e,t)=>new On({innerType:e,typeName:Pn.ZodReadonly,...$t(t)});const Rn={object:cn.lazycreate};var Pn;!function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"}(Pn||(Pn={}));const Ln=Wt.create,Nn=Qt.create,Fn=In.create,Vn=Gt.create,Hn=Yt.create,Bn=Kt.create,qn=Xt.create,Un=Jt.create,Wn=en.create,Zn=tn.create,Qn=nn.create,Gn=an.create,Yn=rn.create,Kn=on.create,Xn=cn.create,Jn=cn.strictCreate,ea=ln.create,ta=un.create,na=pn.create,aa=mn.create,ia=gn.create,ra=fn.create,oa=_n.create,sa=yn.create,ca=vn.create,la=bn.create,da=xn.create,ua=Cn.create,ha=Mn.create,pa=kn.create,ma=Sn.create,ga=En.create,fa=kn.createWithPreprocess,_a=jn.create,ya={string:e=>Wt.create({...e,coerce:!0}),number:e=>Qt.create({...e,coerce:!0}),boolean:e=>Yt.create({...e,coerce:!0}),bigint:e=>Gt.create({...e,coerce:!0}),date:e=>Kt.create({...e,coerce:!0})},va=mt;var ba=Object.freeze({__proto__:null,defaultErrorMap:ct,setErrorMap:function(e){lt=e},getErrorMap:dt,makeIssue:ut,EMPTY_PATH:[],addIssueToContext:ht,ParseStatus:pt,INVALID:mt,DIRTY:gt,OK:ft,isAborted:_t,isDirty:yt,isValid:vt,isAsync:bt,get util(){return Ke},get objectUtil(){return Xe},ZodParsedType:it,getParsedType:rt,ZodType:At,datetimeRegex:qt,ZodString:Wt,ZodNumber:Qt,ZodBigInt:Gt,ZodBoolean:Yt,ZodDate:Kt,ZodSymbol:Xt,ZodUndefined:Jt,ZodNull:en,ZodAny:tn,ZodUnknown:nn,ZodNever:an,ZodVoid:rn,ZodArray:on,ZodObject:cn,ZodUnion:ln,ZodDiscriminatedUnion:un,ZodIntersection:pn,ZodTuple:mn,ZodRecord:gn,ZodMap:fn,ZodSet:_n,ZodFunction:yn,ZodLazy:vn,ZodLiteral:bn,ZodEnum:xn,ZodNativeEnum:Cn,ZodPromise:Mn,ZodEffects:kn,ZodTransformer:kn,ZodOptional:Sn,ZodNullable:En,ZodDefault:$n,ZodCatch:An,ZodNaN:In,BRAND:zn,ZodBranded:Tn,ZodPipeline:jn,ZodReadonly:On,custom:Dn,Schema:At,ZodSchema:At,late:Rn,get ZodFirstPartyTypeKind(){return Pn},coerce:ya,any:Zn,array:Kn,bigint:Vn,boolean:Hn,date:Bn,discriminatedUnion:ta,effect:pa,enum:da,function:sa,instanceof:(e,t={message:`Input not instance of ${e.name}`})=>Dn((t=>t instanceof e),t),intersection:na,lazy:ca,literal:la,map:ra,nan:Fn,nativeEnum:ua,never:Gn,null:Wn,nullable:ga,number:Nn,object:Xn,oboolean:()=>Hn().optional(),onumber:()=>Nn().optional(),optional:ma,ostring:()=>Ln().optional(),pipeline:_a,preprocess:fa,promise:ha,record:ia,set:oa,strictObject:Jn,string:Ln,symbol:qn,transformer:pa,tuple:aa,undefined:Un,union:ea,unknown:Qn,void:Yn,NEVER:va,ZodIssueCode:ot,quotelessJson:e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),ZodError:st});const wa="cameras",xa=`${wa}.#.camera_entity`,Ca=`${wa}.#.frigate.camera_name`,Ma=`${wa}.#.capabilities.disable`,ka=`${wa}.#.capabilities.disable_except`,Sa=`${wa}.#.cast.method`,Ea=`${wa}.#.cast.dashboard.dashboard_path`,$a=`${wa}.#.cast.dashboard.view_path`,Aa=`${wa}.#.dimensions.aspect_ratio`,Ia=`${wa}.#.frigate.client_id`,za=`${wa}.#.frigate.labels`,Ta=`${wa}.#.frigate.url`,ja=`${wa}.#.frigate.zones`,Oa=`${wa}.#.go2rtc.modes`,Da=`${wa}.#.go2rtc.stream`,Ra=`${wa}.#.icon`,Pa=`${wa}.#.id`,La=`${wa}.#.image.entity`,Na=`${wa}.#.image.entity_parameters`,Fa=`${wa}.#.image.mode`,Va=`${wa}.#.image.refresh_seconds`,Ha=`${wa}.#.image.url`,Ba=`${wa}.#.motioneye.images.directory_pattern`,qa=`${wa}.#.motioneye.images.file_pattern`,Ua=`${wa}.#.motioneye.movies.directory_pattern`,Wa=`${wa}.#.motioneye.movies.file_pattern`,Za=`${wa}.#.motioneye.url`,Qa=`${wa}.#.title`,Ga=`${wa}.#.webrtc_card.entity`,Ya=`${wa}.#.webrtc_card.url`,Ka=`${wa}.#.live_provider`,Xa=`${wa}.#.dependencies.cameras`,Ja=`${wa}.#.dependencies.all_cameras`,ei=`${wa}.#.dimensions.layout.fit`,ti=`${wa}.#.dimensions.layout.pan.x`,ni=`${wa}.#.dimensions.layout.pan.y`,ai=`${wa}.#.dimensions.layout.position.x`,ii=`${wa}.#.dimensions.layout.position.y`,ri=`${wa}.#.dimensions.layout.view_box.top`,oi=`${wa}.#.dimensions.layout.view_box.bottom`,si=`${wa}.#.dimensions.layout.view_box.left`,ci=`${wa}.#.dimensions.layout.view_box.right`,li=`${wa}.#.dimensions.layout.zoom`,di=`${wa}.#.proxy.dynamic`,ui=`${wa}.#.proxy.media`,hi=`${wa}.#.proxy.ssl_ciphers`,pi=`${wa}.#.proxy.ssl_verification`,mi=`${wa}.#.reolink.media_resolution`,gi=`${wa}.#.reolink.url`,fi=`${wa}.#.triggers.motion`,_i=`${wa}.#.triggers.occupancy`,yi=`${wa}.#.triggers.entities`,vi=`${wa}.#.triggers.events`,bi="cameras_global",wi=`${bi}.image`,xi=`${bi}.live_provider`,Ci=`${bi}.jsmpeg`,Mi=`${bi}.webrtc_card`,ki=`${bi}.triggers.occupancy`,Si=`${bi}.image.refresh_seconds`,Ei=`${bi}.dimensions.layout`,$i=`${bi}.ptz`,Ai="elements",Ii="view",zi=`${Ii}.camera_select`,Ti=`${Ii}.dark_mode`,ji=`${Ii}.default`,Oi=`${Ii}.interaction_seconds`,Di=`${Ii}.keyboard_shortcuts`,Ri=`${Ii}.keyboard_shortcuts.enabled`,Pi=`${Di}.ptz_left`,Li=`${Di}.ptz_right`,Ni=`${Di}.ptz_up`,Fi=`${Di}.ptz_down`,Vi=`${Di}.ptz_zoom_in`,Hi=`${Di}.ptz_zoom_out`,Bi=`${Di}.ptz_home`,qi=`${Ii}.default_cycle_camera`,Ui=`${Ii}.default_reset`,Wi=`${Ui}.interaction_mode`,Zi=`${Ui}.every_seconds`,Qi=`${Ui}.entities`,Gi=`${Ui}.after_interaction`,Yi=`${Ii}.triggers`,Ki=`${Yi}.show_trigger_status`,Xi=`${Yi}.filter_selected_camera`,Ji=`${Yi}.untrigger_seconds`,er=`${Yi}.actions`,tr=`${er}.trigger`,nr=`${er}.untrigger`,ar=`${er}.interaction_mode`,ir="media_gallery",rr=`${ir}.controls.filter.mode`,or=`${ir}.controls.thumbnails.show_details`,sr=`${ir}.controls.thumbnails.show_download_control`,cr=`${ir}.controls.thumbnails.show_favorite_control`,lr=`${ir}.controls.thumbnails.show_timeline_control`,dr=`${ir}.controls.thumbnails.size`,ur="media_viewer",hr=`${ur}.auto_play`,pr=`${ur}.auto_pause`,mr=`${ur}.auto_mute`,gr=`${ur}.auto_unmute`,fr=`${ur}.display.mode`,_r=`${ur}.display.grid_columns`,yr=`${ur}.display.grid_max_columns`,vr=`${ur}.display.grid_selected_width_factor`,br=`${ur}.draggable`,wr=`${ur}.lazy_load`,xr=`${ur}.snapshot_click_plays_clip`,Cr=`${ur}.transition_effect`,Mr=`${ur}.controls.builtin`,kr=`${ur}.controls.next_previous.style`,Sr=`${ur}.controls.next_previous.size`,Er=`${ur}.controls.thumbnails.mode`,$r=`${ur}.controls.thumbnails.show_details`,Ar=`${ur}.controls.thumbnails.show_download_control`,Ir=`${ur}.controls.thumbnails.show_favorite_control`,zr=`${ur}.controls.thumbnails.show_timeline_control`,Tr=`${ur}.controls.thumbnails.size`,jr=`${ur}.controls.timeline.clustering_threshold`,Or=`${ur}.controls.timeline.events_media_type`,Dr=`${ur}.controls.timeline.mode`,Rr=`${ur}.controls.timeline.pan_mode`,Pr=`${ur}.controls.timeline.show_recordings`,Lr=`${ur}.controls.timeline.style`,Nr=`${ur}.controls.timeline.window_seconds`,Fr=`${ur}.zoomable`,Vr="live",Hr=`${Vr}.auto_play`,Br=`${Vr}.auto_pause`,qr=`${Vr}.auto_mute`,Ur=`${Vr}.auto_unmute`,Wr=`${Vr}.controls.builtin`,Zr=`${Vr}.controls.next_previous.style`,Qr=`${Vr}.controls.next_previous.size`,Gr=`${Vr}.controls.ptz.hide_home`,Yr=`${Vr}.controls.ptz.hide_pan_tilt`,Kr=`${Vr}.controls.ptz.hide_zoom`,Xr=`${Vr}.controls.ptz.mode`,Jr=`${Vr}.controls.ptz.orientation`,eo=`${Vr}.controls.ptz.position`,to=`${Vr}.controls.thumbnails.media_type`,no=`${Vr}.controls.thumbnails.events_media_type`,ao=`${Vr}.controls.thumbnails.mode`,io=`${Vr}.controls.thumbnails.size`,ro=`${Vr}.controls.thumbnails.show_details`,oo=`${Vr}.controls.thumbnails.show_download_control`,so=`${Vr}.controls.thumbnails.show_favorite_control`,co=`${Vr}.controls.thumbnails.show_timeline_control`,lo=`${Vr}.controls.timeline.clustering_threshold`,uo=`${Vr}.controls.timeline.events_media_type`,ho=`${Vr}.controls.timeline.mode`,po=`${Vr}.controls.timeline.pan_mode`,mo=`${Vr}.controls.timeline.show_recordings`,go=`${Vr}.controls.timeline.style`,fo=`${Vr}.controls.timeline.window_seconds`,_o=`${Vr}.display.mode`,yo=`${Vr}.display.grid_columns`,vo=`${Vr}.display.grid_max_columns`,bo=`${Vr}.display.grid_selected_width_factor`,wo=`${Vr}.draggable`,xo=`${Vr}.lazy_load`,Co=`${Vr}.lazy_unload`,Mo=`${Vr}.preload`,ko=`${Vr}.transition_effect`,So=`${Vr}.show_image_during_load`,Eo=`${Vr}.microphone.disconnect_seconds`,$o=`${Vr}.microphone.mute_after_microphone_mute_seconds`,Ao=`${Vr}.microphone.always_connected`,Io=`${Vr}.zoomable`,zo="image",To=`${zo}.entity`,jo=`${zo}.entity_parameters`,Oo=`${zo}.mode`,Do=`${zo}.refresh_seconds`,Ro=`${zo}.url`,Po="timeline",Lo=`${Po}.window_seconds`,No=`${Po}.clustering_threshold`,Fo=`${Po}.events_media_type`,Vo=`${Po}.show_recordings`,Ho=`${Po}.style`,Bo=`${Po}.controls.thumbnails.mode`,qo=`${Po}.controls.thumbnails.size`,Uo=`${Po}.controls.thumbnails.show_details`,Wo=`${Po}.controls.thumbnails.show_download_control`,Zo=`${Po}.controls.thumbnails.show_favorite_control`,Qo=`${Po}.controls.thumbnails.show_timeline_control`,Go="menu",Yo=`${Go}.alignment`,Ko=`${Go}.position`,Xo=`${Go}.style`,Jo=`${Go}.button_size`,es=`${Go}.buttons`,ts=`${es}.frigate`,ns=`${es}.camera_ui`,as=`${es}.fullscreen`,is=`${es}.play`,rs=`${es}.mute`,os=`${es}.media_player`,ss=`${es}.timeline`,cs="status_bar",ls=`${cs}.position`,ds=`${cs}.style`,us=`${cs}.popup_seconds`,hs=`${cs}.height`,ps=`${cs}.items`,ms="dimensions",gs=`${ms}.aspect_ratio`,fs=`${ms}.aspect_ratio_mode`,_s=`${ms}.height`,ys="overrides",vs="performance",bs=`${vs}.features.animated_progress_indicator`,ws=`${vs}.features.media_chunk_size`,xs=`${vs}.features.max_simultaneous_engine_requests`,Cs=`${vs}.profile`,Ms=`${vs}.style.box_shadow`,ks=`${vs}.style.border_radius`,Ss="profiles",Es=1e3;class $s extends Error{constructor(e,t){super(e),this.context=t}}const As={info:10,error:20,connection:30,diagnostics:40},Is=["clips","favorite-events","favorite-recordings","live","menu","ptz","recordings","seek","snapshots","substream"],zs=ba.object({url:ba.string(),mime_type:ba.string()}),Ts=ba.object({path:ba.string()});function js(e){if(e instanceof ba.ZodDefault)return js(e.removeDefault());if(e instanceof ba.ZodObject){const t={};for(const n in e.shape){const a=e.shape[n];t[n]=ba.ZodOptional.create(js(a))}return new ba.ZodObject({...e._def,shape:()=>t})}return e instanceof ba.ZodArray?ba.ZodArray.create(js(e.element)).min(e._def.minLength?.value,e._def.minLength?.message).max(e._def.maxLength?.value,e._def.maxLength?.message).length(e._def.exactLength?.value,e._def.exactLength?.message):e instanceof ba.ZodOptional?ba.ZodOptional.create(js(e.unwrap())):e instanceof ba.ZodNullable?ba.ZodNullable.create(js(e.unwrap())):e instanceof ba.ZodTuple?ba.ZodTuple.create(e.items.map((e=>js(e)))):e}function Os(e){const t=e.format();return Object.keys(t).filter((e=>!e.startsWith("_")))}const Ds=e=>{const t=new Set;if(e.issues.length)for(const n of e.issues)if("invalid_union"===n.code){const e=n.unionErrors;for(const n of e)Ds(n).forEach(t.add,t)}else t.add(Rs(n.path));return t},Rs=e=>{let t="";for(let n=0;n"fire-dom-event")).or(ba.literal("fire-dom-event")),card_id:ba.string().regex(Js,"card_id parameter can only contain [a-z][A-Z][0-9_]-").optional()}),gc=mc.extend({frigate_card_action:ba.enum(Us)}),fc=mc.extend({frigate_card_action:ba.enum(["camera_ui","default","download","expand","fullscreen","live_substream_off","live_substream_on","menu_toggle","microphone_connect","microphone_disconnect","microphone_mute","microphone_unmute","mute","pause","play","screenshot","unmute"])}),_c=mc.extend({frigate_card_action:ba.literal("camera_select"),camera:ba.string().optional(),triggered:ba.boolean().optional()}),yc=mc.extend({frigate_card_action:ba.literal("live_substream_select"),camera:ba.string()}),vc=mc.extend({frigate_card_action:ba.literal("media_player"),media_player:ba.string(),media_player_action:ba.enum(["play","stop"])}),bc=mc.extend({frigate_card_action:ba.literal("display_mode_select"),display_mode:nc}),wc=mc.extend({frigate_card_action:ba.literal("ptz"),camera:ba.string().optional(),ptz_action:ba.enum(Fs).optional(),ptz_phase:ba.enum(Ks).optional(),ptz_preset:ba.string().optional()}),xc=mc.extend({frigate_card_action:ba.literal("ptz_digital"),target_id:ba.string().optional(),absolute:ba.object({zoom:tc.optional(),pan:ec.optional()}).optional(),ptz_action:ba.enum(Fs).optional(),ptz_phase:ba.enum(Ks).optional()}),Cc=mc.extend({frigate_card_action:ba.literal("ptz_multi"),target_id:ba.string().optional(),ptz_action:ba.enum(Fs).optional(),ptz_phase:ba.enum(Ks).optional(),ptz_preset:ba.string().optional()}),Mc=mc.extend({frigate_card_action:ba.literal("ptz_controls"),enabled:ba.boolean()}),kc=ba.object({ms:ba.number().optional(),s:ba.number().optional(),m:ba.number().optional(),h:ba.number().optional()}),Sc=mc.extend({frigate_card_action:ba.literal("sleep"),duration:kc.optional().default({s:1})}),Ec=mc.extend({frigate_card_action:ba.literal("status_bar"),status_bar_action:ba.enum(["add","remove","reset"]),items:ba.lazy((()=>il)).array().optional()}),$c=mc.extend({frigate_card_action:ba.literal("log"),message:ba.string(),level:ba.enum(["debug","info","warn","error"]).default("info")}),Ac=ba.union([_c,fc,yc,$c,vc,wc,xc,Cc,Mc,gc,bc,Sc,Ec]),Ic=ba.union([rc,cc,sc,lc,dc,uc,pc,hc,Ac]),zc=ba.object({tap_action:Ic.or(Ic.array()).optional(),hold_action:Ic.or(Ic.array()).optional(),double_tap_action:Ic.or(Ic.array()).optional(),start_tap_action:Ic.or(Ic.array()).optional(),end_tap_action:Ic.or(Ic.array()).optional()}).passthrough(),Tc=ba.object({actions:zc.optional()}),jc=zc.extend({style:ba.record(ba.string().nullable().or(ba.undefined()).or(ba.number())).optional(),title:ba.string().nullable().optional()}),Oc=jc.extend({type:ba.literal("state-badge"),entity:ba.string()}),Dc=jc.extend({type:ba.literal("state-icon"),entity:ba.string(),icon:ba.string().optional(),state_color:ba.boolean().default(!0)}),Rc=jc.extend({type:ba.literal("state-label"),entity:ba.string(),attribute:ba.string().optional(),prefix:ba.string().optional(),suffix:ba.string().optional()}),Pc=jc.extend({type:ba.literal("service-button"),title:ba.string(),service:ba.string(),service_data:ba.object({}).passthrough().optional()}),Lc=jc.extend({type:ba.literal("icon"),icon:ba.string(),entity:ba.string().optional()}),Nc=jc.extend({type:ba.literal("image"),entity:ba.string().optional(),image:ba.string().optional(),camera_image:ba.string().optional(),camera_view:ba.string().optional(),state_image:ba.object({}).passthrough().optional(),filter:ba.string().optional(),state_filter:ba.object({}).passthrough().optional(),aspect_ratio:ba.string().optional()}),Fc=ba.object({condition:ba.literal("state").optional(),entity:ba.string(),state:ba.string().or(ba.string().array()).optional(),state_not:ba.string().or(ba.string().array()).optional()}),Vc=ba.object({condition:ba.literal("numeric_state"),entity:ba.string(),above:ba.number().optional(),below:ba.number().optional()}),Hc=ba.object({condition:ba.literal("screen"),media_query:ba.string()}),Bc=ba.object({condition:ba.literal("user"),users:ba.string().array().min(1)}),qc=ba.discriminatedUnion("condition",[Fc,Vc,Hc,Bc]),Uc=ba.object({type:ba.literal("conditional"),conditions:qc.array(),elements:ba.lazy((()=>_l))}),Wc=ba.object({type:ba.string().superRefine(((e,t)=>{e.match(/^custom:(?!frigate-card).+/)||t.addIssue({code:ba.ZodIssueCode.custom,message:"Frigate-card custom elements must match specific schemas",fatal:!0})}))}).passthrough(),Zc=ba.object({enabled:ba.boolean().default(!0).optional(),priority:ba.number().min(0).max(Bs).default(50).optional(),alignment:ba.enum(["matching","opposing"]).default("matching").optional(),icon:ba.string().optional(),permanent:ba.boolean().default(!1).optional()}),Qc=Zc.merge(Lc).extend({type:ba.literal("custom:frigate-card-menu-icon")}),Gc=Zc.merge(Dc).extend({type:ba.literal("custom:frigate-card-menu-state-icon")}).merge(Zc),Yc=jc.extend({entity:ba.string().optional(),icon:ba.string().optional(),state_color:ba.boolean().default(!0),selected:ba.boolean().default(!1),subtitle:ba.string().optional(),enabled:ba.boolean().default(!0)}),Kc=Zc.merge(Lc).extend({type:ba.literal("custom:frigate-card-menu-submenu"),items:Yc.array()}),Xc=Zc.merge(Dc).extend({type:ba.literal("custom:frigate-card-menu-submenu-select"),options:ba.record(Yc.deepPartial()).optional()}),Jc=ba.object({enabled:ba.boolean().default(!0).optional(),priority:ba.number().min(0).max(100).default(50).optional()}),el=Jc.extend({sufficient:ba.boolean().default(!1).optional(),exclusive:ba.boolean().default(!1).optional(),expand:ba.boolean().default(!1).optional(),actions:zc.optional()}),tl=el.extend({type:ba.literal("custom:frigate-card-status-bar-icon"),icon:ba.string()}),nl=el.extend({type:ba.literal("custom:frigate-card-status-bar-image"),image:ba.string()}),al=el.extend({type:ba.literal("custom:frigate-card-status-bar-string"),string:ba.string()}),il=ba.union([tl,nl,al]),rl=ba.object({condition:ba.literal("view"),views:ba.string().array()}),ol=ba.object({condition:ba.literal("fullscreen"),fullscreen:ba.boolean()}),sl=ba.object({condition:ba.literal("expand"),expand:ba.boolean()}),cl=ba.object({condition:ba.literal("camera"),cameras:ba.string().array()}),ll=ba.object({condition:ba.literal("media_loaded"),media_loaded:ba.boolean()}),dl=ba.object({condition:ba.literal("display_mode"),display_mode:nc}),ul=ba.object({condition:ba.literal("triggered"),triggered:ba.string().array()}),hl=ba.object({condition:ba.literal("interaction"),interaction:ba.boolean()}),pl=ba.object({condition:ba.literal("microphone"),connected:ba.boolean().optional(),muted:ba.boolean().optional()}),ml=ba.object({condition:ba.literal("key"),key:ba.string(),state:ba.enum(["down","up"]).optional(),ctrl:ba.boolean().optional(),shift:ba.boolean().optional(),alt:ba.boolean().optional(),meta:ba.boolean().optional()}),gl=ba.discriminatedUnion("condition",[Fc,Vc,Hc,Bc,rl,ol,sl,cl,ll,dl,ul,hl,pl,ml]),fl=ba.object({type:ba.literal("custom:frigate-card-conditional"),conditions:gl.array(),elements:ba.lazy((()=>_l))}),_l=ba.union([Uc,Wc,fl,Lc,Nc,Qc,Gc,Kc,Xc,Pc,Oc,Dc,Rc,tl,nl,al]).array().optional(),yl=ba.object({fit:ba.enum(["contain","cover","fill"]).optional(),position:ba.object({x:ba.number().min(0).max(100).optional(),y:ba.number().min(0).max(100).optional()}).optional(),view_box:ba.object({bottom:ba.number().min(0).max(100).optional().default(0),left:ba.number().min(0).max(100).optional().default(0),right:ba.number().min(0).max(100).optional().default(0),top:ba.number().min(0).max(100).optional().default(0)}).optional(),pan:ec.optional(),zoom:tc.optional()}),vl=ba.number().array().length(2).or(ba.string().regex(/^\s*\d+\.?\d*\s*[:/]\s*\d+\.?\d*\s*$/).transform((e=>e.split(/[:\/]/).map((e=>Number(e)))))),bl={r2c_delay_between_calls_seconds:.5,c2r_delay_between_calls_seconds:.2},wl=function(e){return t=>{if(!t||"object"!=typeof t||!t.service)return t;const n={...t};return Object.keys(t).forEach((a=>{const i=a.match(/^data_(.+)$/),r=i?.[1];r&&!(`${e}${r}`in t)&&(n[`${e}${r}`]={action:"perform-action",perform_action:t.service,data:t[a]},delete n[a],delete n.service)})),n}},xl=ba.preprocess(wl("actions_"),ba.object({actions_left:sc.optional(),actions_left_start:sc.optional(),actions_left_stop:sc.optional(),actions_right:sc.optional(),actions_right_start:sc.optional(),actions_right_stop:sc.optional(),actions_up:sc.optional(),actions_up_start:sc.optional(),actions_up_stop:sc.optional(),actions_down:sc.optional(),actions_down_start:sc.optional(),actions_down_stop:sc.optional(),actions_zoom_in:sc.optional(),actions_zoom_in_start:sc.optional(),actions_zoom_in_stop:sc.optional(),actions_zoom_out:sc.optional(),actions_zoom_out_start:sc.optional(),actions_zoom_out_stop:sc.optional(),r2c_delay_between_calls_seconds:ba.number().default(bl.r2c_delay_between_calls_seconds),c2r_delay_between_calls_seconds:ba.number().default(bl.c2r_delay_between_calls_seconds),presets:ba.preprocess(wl(""),ba.union([ba.record(sc),ba.object({service:ba.string().optional()})])).optional(),service:ba.string().optional()}).passthrough()),Cl={orientation:"horizontal",mode:"auto",hide_pan_tilt:!1,hide_zoom:!1,hide_home:!1,position:"bottom-right"},Ml=ba.object({mode:ba.enum(["off","auto","on"]).default(Cl.mode),position:ba.enum(["top-left","top-right","bottom-left","bottom-right"]).default(Cl.position),orientation:ba.enum(["vertical","horizontal"]).default(Cl.orientation),hide_pan_tilt:ba.boolean().default(Cl.hide_pan_tilt),hide_zoom:ba.boolean().default(Cl.hide_zoom),hide_home:ba.boolean().default(Cl.hide_home),style:ba.object({}).passthrough().optional()}),kl={mode:"auto",refresh_seconds:1},Sl=ba.object({mode:ba.enum(["auto","camera","entity","screensaver","url"]).default(kl.mode),refresh_seconds:ba.number().min(0).default(kl.refresh_seconds),url:ba.string().optional(),entity:ba.string().optional(),entity_parameters:ba.string().optional()}),El=Sl.merge(Tc).default(kl),$l=75,Al=300,Il={size:100,show_details:!0,show_favorite_control:!0,show_timeline_control:!0,show_download_control:!0},zl=ba.object({size:ba.number().min(75).max(300).default(Il.size),show_details:ba.boolean().default(Il.show_details),show_favorite_control:ba.boolean().default(Il.show_favorite_control),show_timeline_control:ba.boolean().default(Il.show_timeline_control),show_download_control:ba.boolean().default(Il.show_download_control)}),Tl={...Il,mode:"right"},jl=zl.extend({mode:ba.enum(["none","above","below","left","right"]).default(Tl.mode)}),Ol=ba.enum(["all","clips","snapshots"]),Dl={clustering_threshold:3,events_media_type:"all",window_seconds:3600,show_recordings:!0,style:"stack",pan_mode:"pan"},Rl=ba.enum(["pan","seek","seek-in-media","seek-in-camera"]),Pl=ba.object({clustering_threshold:ba.number().optional().default(Dl.clustering_threshold),events_media_type:Ol.optional().default(Dl.events_media_type),window_seconds:ba.number().min(60).max(86400).optional().default(Dl.window_seconds),show_recordings:ba.boolean().optional().default(Dl.show_recordings),style:ba.enum(["stack","ribbon"]).optional().default(Dl.style),pan_mode:Rl.optional().default(Dl.pan_mode)}),Ll={...Dl,mode:"none",style:"ribbon"},Nl=Pl.extend({mode:ba.enum(["none","above","below"]).default(Ll.mode),style:Pl.shape.style.default(Ll.style)}),Fl={...Dl,controls:{thumbnails:Tl}},Vl=Pl.extend({controls:ba.object({thumbnails:jl.default(Fl.controls.thumbnails)}).default(Fl.controls)}).default(Fl),Hl=ba.object({style:ba.enum(["none","chevrons","icons","thumbnails"]),size:ba.number().min(20)}),Bl=ba.enum(["none","slide"]),ql={always_connected:!1,disconnect_seconds:90,mute_after_microphone_mute_seconds:60},Ul=ba.object({always_connected:ba.boolean().default(ql.always_connected),disconnect_seconds:ba.number().min(0).default(ql.disconnect_seconds),mute_after_microphone_mute_seconds:ba.number().min(0).default(ql.mute_after_microphone_mute_seconds)}).default(ql),Wl=ba.object({url:ba.string().transform((e=>e.replace(/\/+$/,""))).optional(),host:ba.string().optional(),modes:ba.enum(["webrtc","mse","mp4","mjpeg"]).array().optional(),stream:ba.string().optional()}),Zl=ba.object({entity:ba.string().optional(),url:ba.string().optional()}).passthrough(),Ql=ba.object({options:ba.object({audio:ba.boolean().optional(),video:ba.boolean().optional(),pauseWhenHidden:ba.boolean().optional(),disableGl:ba.boolean().optional(),disableWebAssembly:ba.boolean().optional(),preserveDrawingBuffer:ba.boolean().optional(),progressive:ba.boolean().optional(),throttled:ba.boolean().optional(),chunkSize:ba.number().optional(),maxAudioLag:ba.number().optional(),videoBufferSize:ba.number().optional(),audioBufferSize:ba.number().optional()}).optional()}),Gl={...Tl,media_type:"events",events_media_type:"all"},Yl={auto_play:[...Qs],auto_pause:[],auto_mute:[...Ys],auto_unmute:["microphone"],preload:!1,lazy_load:!0,lazy_unload:[],draggable:!0,zoomable:!0,transition_effect:"slide",show_image_during_load:!0,mode:"single",controls:{builtin:!0,next_previous:{size:48,style:"chevrons"},ptz:Cl,thumbnails:Gl,timeline:Ll},microphone:{...ql}},Kl=jl.extend({media_type:ba.enum(["events","recordings"]).default(Yl.controls.thumbnails.media_type),events_media_type:Ol.default(Yl.controls.thumbnails.events_media_type)}),Xl=ba.object({auto_pause:ba.enum(Zs).array().default(Yl.auto_pause),auto_play:ba.enum(Qs).array().default(Yl.auto_play),auto_mute:ba.enum(Ys).array().default(Yl.auto_mute),auto_unmute:ba.enum(Gs).array().default(Yl.auto_unmute),controls:ba.object({builtin:ba.boolean().default(Yl.controls.builtin),next_previous:Hl.extend({style:ba.enum(["none","chevrons","icons"]).default(Yl.controls.next_previous.style),size:Hl.shape.size.default(Yl.controls.next_previous.size)}).default(Yl.controls.next_previous),ptz:Ml.default(Yl.controls.ptz),thumbnails:Kl.default(Yl.controls.thumbnails),timeline:Nl.default(Yl.controls.timeline)}).default(Yl.controls),display:ac,draggable:ba.boolean().default(Yl.draggable),lazy_load:ba.boolean().default(Yl.lazy_load),lazy_unload:ba.enum(Zs).array().default(Yl.lazy_unload),microphone:Ul.default(Yl.microphone),preload:ba.boolean().default(Yl.preload),show_image_during_load:ba.boolean().default(Yl.show_image_during_load),transition_effect:Bl.default(Yl.transition_effect),zoomable:ba.boolean().default(Yl.zoomable)}).merge(Tc).default(Yl),Jl=ba.object({live:Xl}),ed=ba.object({method:ba.enum(["standard","dashboard"]).default("standard").optional(),dashboard:ba.object({dashboard_path:ba.string().optional(),view_path:ba.string().optional()}).optional()}),td={dependencies:{all_cameras:!1,cameras:[]},engine:"auto",frigate:{client_id:"frigate"},live_provider:"auto",motioneye:{images:{directory_pattern:"%Y-%m-%d",file_pattern:"%H-%M-%S"},movies:{directory_pattern:"%Y-%m-%d",file_pattern:"%H-%M-%S"}},reolink:{media_resolution:"low"},ptz:bl,triggers:{motion:!1,occupancy:!1,events:[...Xs],entities:[]},proxy:{media:"auto",dynamic:!0,ssl_verification:"auto",ssl_ciphers:"auto"},always_error_if_entity_unavailable:!1},nd=ba.object({media:ba.boolean().or(ba.literal("auto")).default(td.proxy.media),dynamic:ba.boolean().default(td.proxy.dynamic),ssl_verification:ba.boolean().or(ba.literal("auto")).default(td.proxy.ssl_verification),ssl_ciphers:ba.enum(["default","insecure","intermediate","modern"]).or(ba.literal("auto")).default(td.proxy.ssl_ciphers)}),ad=ba.object({camera_entity:ba.string().optional(),icon:ba.string().optional(),title:ba.string().optional(),capabilities:ba.object({disable:ba.enum(Is).array().optional(),disable_except:ba.enum(Is).array().optional()}).optional(),id:ba.string().optional(),dependencies:ba.object({all_cameras:ba.boolean().default(td.dependencies.all_cameras),cameras:ba.string().array().default(td.dependencies.cameras)}).default(td.dependencies),triggers:ba.object({motion:ba.boolean().default(td.triggers.motion),occupancy:ba.boolean().default(td.triggers.occupancy),entities:ba.string().array().default(td.triggers.entities),events:ba.enum(Xs).array().default(td.triggers.events)}).default(td.triggers),engine:ba.enum(["auto","frigate","generic","motioneye","reolink"]).default("auto"),frigate:ba.object({url:ba.string().optional(),client_id:ba.string().default(td.frigate.client_id),camera_name:ba.string().optional(),labels:ba.string().array().optional(),zones:ba.string().array().optional()}).default(td.frigate),motioneye:ba.object({url:ba.string().optional(),images:ba.object({directory_pattern:ba.string().includes("%").default(td.motioneye.images.directory_pattern),file_pattern:ba.string().includes("%").default(td.motioneye.images.file_pattern)}).default(td.motioneye.images),movies:ba.object({directory_pattern:ba.string().includes("%").default(td.motioneye.movies.directory_pattern),file_pattern:ba.string().includes("%").default(td.motioneye.movies.file_pattern)}).default(td.motioneye.movies)}).default(td.motioneye),reolink:ba.object({url:ba.string().optional(),media_resolution:ba.enum(["high","low"]).default(td.reolink.media_resolution)}).default(td.reolink),live_provider:ba.enum(["auto","image","ha","jsmpeg","go2rtc","webrtc-card"]).default(td.live_provider),go2rtc:Wl.optional(),image:Sl.optional().default(kl),jsmpeg:Ql.optional(),webrtc_card:Zl.optional(),cast:ed.optional(),ptz:xl.default(td.ptz),dimensions:ba.object({aspect_ratio:vl.optional(),layout:yl.optional()}).optional(),proxy:nd.default(td.proxy),always_error_if_entity_unavailable:ba.boolean().default(td.always_error_if_entity_unavailable)}).default(td),id=ad.array().min(1),rd={default:Ws,camera_select:"current",interaction_seconds:300,default_reset:{every_seconds:0,after_interaction:!1,entities:[],interaction_mode:"inactive"},default_cycle_camera:!1,dark_mode:"off",triggers:{show_trigger_status:!1,filter_selected_camera:!0,actions:{trigger:"update",untrigger:"none"},untrigger_seconds:0},keyboard_shortcuts:Ls},od=ba.enum(["all","inactive","active"]).default("inactive"),sd=ba.object({actions:ba.object({interaction_mode:od,trigger:ba.enum(["default","live","media","none","update"]).default(rd.triggers.actions.trigger),untrigger:ba.enum(["default","none"]).default(rd.triggers.actions.untrigger)}).default(rd.triggers.actions),filter_selected_camera:ba.boolean().default(rd.triggers.filter_selected_camera),show_trigger_status:ba.boolean().default(rd.triggers.show_trigger_status),untrigger_seconds:ba.number().default(rd.triggers.untrigger_seconds)}),cd=ba.object({default:ba.enum(Us).default(rd.default),camera_select:ba.enum([...Us,"current"]).default(rd.camera_select),interaction_seconds:ba.number().default(rd.interaction_seconds),default_cycle_camera:ba.boolean().default(rd.default_cycle_camera),default_reset:ba.object({after_interaction:ba.boolean().default(rd.default_reset.after_interaction),every_seconds:ba.number().default(rd.default_reset.every_seconds),entities:ba.string().array().default(rd.default_reset.entities),interaction_mode:od.default(rd.default_reset.interaction_mode)}).default(rd.default_reset),render_entities:ba.string().array().optional(),dark_mode:ba.enum(["on","off","auto"]).optional(),triggers:sd.default(rd.triggers),keyboard_shortcuts:Ns.default(rd.keyboard_shortcuts)}).merge(Tc).default(rd),ld=["left","right","top","bottom"],dd=ld,ud={priority:50,enabled:!0},hd={priority:50,enabled:!1},pd={alignment:"left",button_size:40,buttons:{camera_ui:ud,cameras:ud,clips:ud,ptz_home:hd,display_mode:ud,download:ud,expand:hd,frigate:ud,fullscreen:ud,image:hd,live:ud,media_player:ud,microphone:{...hd,type:"momentary"},mute:hd,play:hd,ptz_controls:hd,recordings:hd,screenshot:hd,snapshots:ud,substreams:ud,timeline:ud},position:"top",style:"hidden"},md=Zc.extend({enabled:Zc.shape.enabled.default(ud.enabled),priority:Zc.shape.priority.default(ud.priority)}),gd=Zc.extend({enabled:Zc.shape.enabled.default(hd.enabled),priority:Zc.shape.priority.default(hd.priority)}),fd=ba.object({style:ba.enum(["none","hidden","overlay","hover","hover-card","outside"]).default(pd.style),position:ba.enum(ld).default(pd.position),alignment:ba.enum(dd).default(pd.alignment),buttons:ba.object({camera_ui:md.default(pd.buttons.camera_ui),cameras:md.default(pd.buttons.cameras),clips:md.default(pd.buttons.clips),ptz_home:gd.default(pd.buttons.ptz_home),display_mode:md.default(pd.buttons.display_mode),download:md.default(pd.buttons.download),expand:gd.default(pd.buttons.expand),frigate:md.default(pd.buttons.frigate),fullscreen:md.default(pd.buttons.fullscreen),image:gd.default(pd.buttons.image),live:md.default(pd.buttons.live),media_player:md.default(pd.buttons.media_player),microphone:gd.extend({type:ba.enum(["momentary","toggle"]).default(pd.buttons.microphone.type)}).default(pd.buttons.microphone),mute:gd.default(pd.buttons.mute),play:gd.default(pd.buttons.play),ptz_controls:gd.default(pd.buttons.ptz_controls),recordings:gd.default(pd.buttons.recordings),screenshot:gd.default(pd.buttons.screenshot),snapshots:md.default(pd.buttons.snapshots),substreams:md.default(pd.buttons.substreams),timeline:md.default(pd.buttons.timeline)}).default(pd.buttons),button_size:ba.number().min(20).default(pd.button_size)}).default(pd),_d={priority:50,enabled:!0},yd={height:46,items:{engine:_d,resolution:_d,technology:_d,title:_d},position:"bottom",style:"popup",popup_seconds:3},vd=ba.object({position:ba.enum(["top","bottom"]).default(yd.position),style:ba.enum(["none","overlay","hover","hover-card","outside","popup"]).default(yd.style),popup_seconds:ba.number().min(0).max(60).default(yd.popup_seconds),height:ba.number().min(20).default(yd.height),items:ba.object({engine:Jc.default(yd.items.engine),technology:Jc.default(yd.items.technology),resolution:Jc.default(yd.items.resolution),title:Jc.default(yd.items.title)}).default(yd.items)}).default(yd),bd={auto_play:[...Qs],auto_pause:[...Zs],auto_mute:[...Zs],auto_unmute:[],lazy_load:!0,draggable:!0,zoomable:!0,transition_effect:"slide",snapshot_click_plays_clip:!0,display_mode:"single",controls:{builtin:!0,next_previous:{size:48,style:"thumbnails"},thumbnails:Tl,timeline:Ll,ptz:{...Cl,mode:"off"}}},wd=Hl.extend({style:ba.enum(["none","thumbnails","chevrons"]).default(bd.controls.next_previous.style),size:Hl.shape.size.default(bd.controls.next_previous.size)}),xd=ba.object({auto_play:ba.enum(Qs).array().default(bd.auto_play),auto_pause:ba.enum(Zs).array().default(bd.auto_pause),auto_mute:ba.enum(Zs).array().default(bd.auto_mute),auto_unmute:ba.enum(Qs).array().default(bd.auto_unmute),lazy_load:ba.boolean().default(bd.lazy_load),draggable:ba.boolean().default(bd.draggable),zoomable:ba.boolean().default(bd.zoomable),transition_effect:Bl.default(bd.transition_effect),snapshot_click_plays_clip:ba.boolean().default(bd.snapshot_click_plays_clip),display:ac,controls:ba.object({builtin:ba.boolean().default(bd.controls.builtin),next_previous:wd.default(bd.controls.next_previous),ptz:Ml.extend({mode:ba.enum(["off","on"]).default(bd.controls.ptz.mode)}).default(bd.controls.ptz),thumbnails:jl.default(bd.controls.thumbnails),timeline:Nl.default(bd.controls.timeline)}).default(bd.controls)}).merge(Tc).default(bd),Cd={...Tl,show_details:!1},Md={controls:{thumbnails:Cd,filter:{mode:"right"}}},kd=jl.extend({show_details:ba.boolean().default(Cd.show_details)}),Sd=ba.object({controls:ba.object({thumbnails:kd.default(Md.controls.thumbnails),filter:ba.object({mode:ba.enum(["none","left","right"]).default(Md.controls.filter.mode)}).default(Md.controls.filter)}).default(Md.controls)}).merge(Tc).default(Md),Ed={aspect_ratio_mode:"dynamic",aspect_ratio:[16,9],height:"auto"},$d=ba.object({aspect_ratio_mode:ba.enum(["dynamic","static","unconstrained"]).default(Ed.aspect_ratio_mode),aspect_ratio:vl.default(Ed.aspect_ratio),height:ba.string().default(Ed.height)}).default(Ed),Ad=ba.object({conditions:gl.array(),merge:ba.object({}).passthrough().optional(),set:ba.object({}).passthrough().optional(),delete:ba.string().array().optional()}).array().optional(),Id=Ic.array(),zd=ba.object({conditions:gl.array(),actions:Id.optional(),actions_not:Id.optional()}).refine((e=>e.actions?.length||e.actions_not?.length),"Automations must include at least one action").array(),Td={features:{animated_progress_indicator:!0,media_chunk_size:50},style:{border_radius:!0,box_shadow:!0}},jd=ba.object({features:ba.object({animated_progress_indicator:ba.boolean().default(Td.features.animated_progress_indicator),media_chunk_size:ba.number().min(0).max(1e3).default(Td.features.media_chunk_size),max_simultaneous_engine_requests:ba.number().min(1).optional()}).default(Td.features),style:ba.object({border_radius:ba.boolean().default(Td.style.border_radius),box_shadow:ba.boolean().default(Td.style.box_shadow)}).default(Td.style)}).default(Td),Od={logging:!1},Dd=ba.object({logging:ba.boolean().default(Od.logging)}).default(Od),Rd=ba.enum(["casting","low-performance","scrubbing"]).array().optional(),Pd=ba.object({cameras:js(id),cameras_global:ad,view:cd,menu:fd,status_bar:vd,live:Xl,media_gallery:Sd,media_viewer:xd,image:El,elements:_l,dimensions:$d,timeline:Vl,performance:jd,debug:Dd,automations:zd.optional(),profiles:Rd,overrides:Ad,card_mod:ba.unknown(),card_id:ba.string().regex(Js).optional(),type:ba.string()}),Ld={cameras:td,view:rd,menu:pd,status_bar:yd,live:Yl,media_gallery:Md,media_viewer:bd,image:kl,timeline:Fl,performance:Td,debug:Od};function Nd(e){const t=Object.prototype.toString.call(e);return e instanceof Date||"object"==typeof e&&"[object Date]"===t?new e.constructor(+e):"number"==typeof e||"[object Number]"===t||"string"==typeof e||"[object String]"===t?new Date(e):new Date(NaN)}function Fd(e,t){return e instanceof Date?new e.constructor(t):new Date(t)}function Vd(e,t){const n=Nd(e);return isNaN(t)?Fd(e,NaN):t?(n.setDate(n.getDate()+t),n):n}function Hd(e,t){const n=Nd(e);if(isNaN(t))return Fd(e,NaN);if(!t)return n;const a=n.getDate(),i=Fd(e,n.getTime());i.setMonth(n.getMonth()+t+1,0);return a>=i.getDate()?i:(n.setFullYear(i.getFullYear(),i.getMonth(),a),n)}function Bd(e,t){const{years:n=0,months:a=0,weeks:i=0,days:r=0,hours:o=0,minutes:s=0,seconds:c=0}=t,l=Nd(e),d=a||n?Hd(l,a+12*n):l,u=1e3*(c+60*(s+60*o));return Fd(e,(r||i?Vd(d,r+7*i):d).getTime()+u)}const qd=6048e5,Ud=864e5,Wd=6e4,Zd=36e5,Qd=1e3;let Gd={};function Yd(){return Gd}function Kd(e,t){const n=Yd(),a=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=Nd(e),r=i.getDay(),o=(r=i.getTime()?n+1:t.getTime()>=o.getTime()?n:n-1}function eu(e){const t=Nd(e);return t.setHours(0,0,0,0),t}function tu(e){const t=Nd(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function nu(e){if(!(t=e,t instanceof Date||"object"==typeof t&&"[object Date]"===Object.prototype.toString.call(t)||"number"==typeof e))return!1;var t;const n=Nd(e);return!isNaN(Number(n))}function au(e){return t=>{const n=(e?Math[e]:Math.trunc)(t);return 0===n?0:n}}function iu(e,t){return+Nd(e)-+Nd(t)}function ru(e,t,n){const a=iu(e,t)/1e3;return au(n?.roundingMethod)(a)}const ou={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function su(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const cu={date:su({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:su({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:su({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},lu={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function du(e){return(t,n)=>{let a;if("formatting"===(n?.context?String(n.context):"standalone")&&e.formattingValues){const t=e.defaultFormattingWidth||e.defaultWidth,i=n?.width?String(n.width):t;a=e.formattingValues[i]||e.formattingValues[t]}else{const t=e.defaultWidth,i=n?.width?String(n.width):e.defaultWidth;a=e.values[i]||e.values[t]}return a[e.argumentCallback?e.argumentCallback(t):t]}}function uu(e){return(t,n={})=>{const a=n.width,i=a&&e.matchPatterns[a]||e.matchPatterns[e.defaultMatchWidth],r=t.match(i);if(!r)return null;const o=r[0],s=a&&e.parsePatterns[a]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(s)?function(e,t){for(let n=0;ne.test(o))):function(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n;return}(s,(e=>e.test(o)));let l;l=e.valueCallback?e.valueCallback(c):c,l=n.valueCallback?n.valueCallback(l):l;return{value:l,rest:t.slice(o.length)}}}var hu;const pu={code:"en-US",formatDistance:(e,t,n)=>{let a;const i=ou[e];return a="string"==typeof i?i:1===t?i.one:i.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+a:a+" ago":a},formatLong:cu,formatRelative:(e,t,n,a)=>lu[e],localize:{ordinalNumber:(e,t)=>{const n=Number(e),a=n%100;if(a>20||a<10)switch(a%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:du({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:du({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:e=>e-1}),month:du({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:du({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:du({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})},match:{ordinalNumber:(hu={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)},(e,t={})=>{const n=e.match(hu.matchPattern);if(!n)return null;const a=n[0],i=e.match(hu.parsePattern);if(!i)return null;let r=hu.valueCallback?hu.valueCallback(i[0]):i[0];return r=t.valueCallback?t.valueCallback(r):r,{value:r,rest:e.slice(a.length)}}),era:uu({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:uu({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:e=>e+1}),month:uu({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:uu({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:uu({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function mu(e){const t=Nd(e),n=function(e,t){const n=eu(e),a=eu(t),i=+n-tu(n),r=+a-tu(a);return Math.round((i-r)/Ud)}(t,function(e){const t=Nd(e),n=Fd(e,0);return n.setFullYear(t.getFullYear(),0,1),n.setHours(0,0,0,0),n}(t));return n+1}function gu(e){const t=Nd(e),n=+Xd(t)-+function(e){const t=Jd(e),n=Fd(e,0);return n.setFullYear(t,0,4),n.setHours(0,0,0,0),Xd(n)}(t);return Math.round(n/qd)+1}function fu(e,t){const n=Nd(e),a=n.getFullYear(),i=Yd(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,o=Fd(e,0);o.setFullYear(a+1,0,r),o.setHours(0,0,0,0);const s=Kd(o,t),c=Fd(e,0);c.setFullYear(a,0,r),c.setHours(0,0,0,0);const l=Kd(c,t);return n.getTime()>=s.getTime()?a+1:n.getTime()>=l.getTime()?a:a-1}function _u(e,t){const n=Nd(e),a=+Kd(n,t)-+function(e,t){const n=Yd(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,i=fu(e,t),r=Fd(e,0);return r.setFullYear(i,0,a),r.setHours(0,0,0,0),Kd(r,t)}(n,t);return Math.round(a/qd)+1}function yu(e,t){return(e<0?"-":"")+Math.abs(e).toString().padStart(t,"0")}const vu={y(e,t){const n=e.getFullYear(),a=n>0?n:1-n;return yu("yy"===t?a%100:a,t.length)},M(e,t){const n=e.getMonth();return"M"===t?String(n+1):yu(n+1,2)},d:(e,t)=>yu(e.getDate(),t.length),a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];default:return"am"===n?"a.m.":"p.m."}},h:(e,t)=>yu(e.getHours()%12||12,t.length),H:(e,t)=>yu(e.getHours(),t.length),m:(e,t)=>yu(e.getMinutes(),t.length),s:(e,t)=>yu(e.getSeconds(),t.length),S(e,t){const n=t.length,a=e.getMilliseconds();return yu(Math.trunc(a*Math.pow(10,n-3)),t.length)}},bu="midnight",wu="noon",xu="morning",Cu="afternoon",Mu="evening",ku="night",Su={G:function(e,t,n){const a=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(a,{width:"abbreviated"});case"GGGGG":return n.era(a,{width:"narrow"});default:return n.era(a,{width:"wide"})}},y:function(e,t,n){if("yo"===t){const t=e.getFullYear(),a=t>0?t:1-t;return n.ordinalNumber(a,{unit:"year"})}return vu.y(e,t)},Y:function(e,t,n,a){const i=fu(e,a),r=i>0?i:1-i;if("YY"===t){return yu(r%100,2)}return"Yo"===t?n.ordinalNumber(r,{unit:"year"}):yu(r,t.length)},R:function(e,t){return yu(Jd(e),t.length)},u:function(e,t){return yu(e.getFullYear(),t.length)},Q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(a);case"QQ":return yu(a,2);case"Qo":return n.ordinalNumber(a,{unit:"quarter"});case"QQQ":return n.quarter(a,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(a,{width:"narrow",context:"formatting"});default:return n.quarter(a,{width:"wide",context:"formatting"})}},q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(a);case"qq":return yu(a,2);case"qo":return n.ordinalNumber(a,{unit:"quarter"});case"qqq":return n.quarter(a,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(a,{width:"narrow",context:"standalone"});default:return n.quarter(a,{width:"wide",context:"standalone"})}},M:function(e,t,n){const a=e.getMonth();switch(t){case"M":case"MM":return vu.M(e,t);case"Mo":return n.ordinalNumber(a+1,{unit:"month"});case"MMM":return n.month(a,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(a,{width:"narrow",context:"formatting"});default:return n.month(a,{width:"wide",context:"formatting"})}},L:function(e,t,n){const a=e.getMonth();switch(t){case"L":return String(a+1);case"LL":return yu(a+1,2);case"Lo":return n.ordinalNumber(a+1,{unit:"month"});case"LLL":return n.month(a,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(a,{width:"narrow",context:"standalone"});default:return n.month(a,{width:"wide",context:"standalone"})}},w:function(e,t,n,a){const i=_u(e,a);return"wo"===t?n.ordinalNumber(i,{unit:"week"}):yu(i,t.length)},I:function(e,t,n){const a=gu(e);return"Io"===t?n.ordinalNumber(a,{unit:"week"}):yu(a,t.length)},d:function(e,t,n){return"do"===t?n.ordinalNumber(e.getDate(),{unit:"date"}):vu.d(e,t)},D:function(e,t,n){const a=mu(e);return"Do"===t?n.ordinalNumber(a,{unit:"dayOfYear"}):yu(a,t.length)},E:function(e,t,n){const a=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(a,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(a,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},e:function(e,t,n,a){const i=e.getDay(),r=(i-a.weekStartsOn+8)%7||7;switch(t){case"e":return String(r);case"ee":return yu(r,2);case"eo":return n.ordinalNumber(r,{unit:"day"});case"eee":return n.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(i,{width:"short",context:"formatting"});default:return n.day(i,{width:"wide",context:"formatting"})}},c:function(e,t,n,a){const i=e.getDay(),r=(i-a.weekStartsOn+8)%7||7;switch(t){case"c":return String(r);case"cc":return yu(r,t.length);case"co":return n.ordinalNumber(r,{unit:"day"});case"ccc":return n.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(i,{width:"narrow",context:"standalone"});case"cccccc":return n.day(i,{width:"short",context:"standalone"});default:return n.day(i,{width:"wide",context:"standalone"})}},i:function(e,t,n){const a=e.getDay(),i=0===a?7:a;switch(t){case"i":return String(i);case"ii":return yu(i,t.length);case"io":return n.ordinalNumber(i,{unit:"day"});case"iii":return n.day(a,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(a,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},a:function(e,t,n){const a=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},b:function(e,t,n){const a=e.getHours();let i;switch(i=12===a?wu:0===a?bu:a/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(i,{width:"narrow",context:"formatting"});default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},B:function(e,t,n){const a=e.getHours();let i;switch(i=a>=17?Mu:a>=12?Cu:a>=4?xu:ku,t){case"B":case"BB":case"BBB":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(i,{width:"narrow",context:"formatting"});default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},h:function(e,t,n){if("ho"===t){let t=e.getHours()%12;return 0===t&&(t=12),n.ordinalNumber(t,{unit:"hour"})}return vu.h(e,t)},H:function(e,t,n){return"Ho"===t?n.ordinalNumber(e.getHours(),{unit:"hour"}):vu.H(e,t)},K:function(e,t,n){const a=e.getHours()%12;return"Ko"===t?n.ordinalNumber(a,{unit:"hour"}):yu(a,t.length)},k:function(e,t,n){let a=e.getHours();return 0===a&&(a=24),"ko"===t?n.ordinalNumber(a,{unit:"hour"}):yu(a,t.length)},m:function(e,t,n){return"mo"===t?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):vu.m(e,t)},s:function(e,t,n){return"so"===t?n.ordinalNumber(e.getSeconds(),{unit:"second"}):vu.s(e,t)},S:function(e,t){return vu.S(e,t)},X:function(e,t,n){const a=e.getTimezoneOffset();if(0===a)return"Z";switch(t){case"X":return $u(a);case"XXXX":case"XX":return Au(a);default:return Au(a,":")}},x:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"x":return $u(a);case"xxxx":case"xx":return Au(a);default:return Au(a,":")}},O:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+Eu(a,":");default:return"GMT"+Au(a,":")}},z:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+Eu(a,":");default:return"GMT"+Au(a,":")}},t:function(e,t,n){return yu(Math.trunc(e.getTime()/1e3),t.length)},T:function(e,t,n){return yu(e.getTime(),t.length)}};function Eu(e,t=""){const n=e>0?"-":"+",a=Math.abs(e),i=Math.trunc(a/60),r=a%60;return 0===r?n+String(i):n+String(i)+t+yu(r,2)}function $u(e,t){if(e%60==0){return(e>0?"-":"+")+yu(Math.abs(e)/60,2)}return Au(e,t)}function Au(e,t=""){const n=e>0?"-":"+",a=Math.abs(e);return n+yu(Math.trunc(a/60),2)+t+yu(a%60,2)}const Iu=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},zu=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},Tu={p:zu,P:(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],a=n[1],i=n[2];if(!i)return Iu(e,t);let r;switch(a){case"P":r=t.dateTime({width:"short"});break;case"PP":r=t.dateTime({width:"medium"});break;case"PPP":r=t.dateTime({width:"long"});break;default:r=t.dateTime({width:"full"})}return r.replace("{{date}}",Iu(a,t)).replace("{{time}}",zu(i,t))}},ju=/^D+$/,Ou=/^Y+$/,Du=["D","DD","YY","YYYY"];function Ru(e){return ju.test(e)}function Pu(e){return Ou.test(e)}function Lu(e,t,n){const a=function(e,t,n){const a="Y"===e[0]?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${a} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}(e,t,n);if(console.warn(a),Du.includes(e))throw new RangeError(a)}const Nu=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Fu=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Vu=/^'([^]*?)'?$/,Hu=/''/g,Bu=/[a-zA-Z]/;function qu(e,t,n){const a=Yd(),i=n?.locale??a.locale??pu,r=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,o=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??a.weekStartsOn??a.locale?.options?.weekStartsOn??0,s=Nd(e);if(!nu(s))throw new RangeError("Invalid time value");let c=t.match(Fu).map((e=>{const t=e[0];if("p"===t||"P"===t){return(0,Tu[t])(e,i.formatLong)}return e})).join("").match(Nu).map((e=>{if("''"===e)return{isToken:!1,value:"'"};const t=e[0];if("'"===t)return{isToken:!1,value:Uu(e)};if(Su[t])return{isToken:!0,value:e};if(t.match(Bu))throw new RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}}));i.localize.preprocessor&&(c=i.localize.preprocessor(s,c));const l={firstWeekContainsDate:r,weekStartsOn:o,locale:i};return c.map((a=>{if(!a.isToken)return a.value;const r=a.value;(!n?.useAdditionalWeekYearTokens&&Pu(r)||!n?.useAdditionalDayOfYearTokens&&Ru(r))&&Lu(r,t,String(e));return(0,Su[r[0]])(s,r,i.localize,l)})).join("")}function Uu(e){const t=e.match(Vu);return t?t[1].replace(Hu,"'"):e}function Wu(e,t){const{years:n=0,months:a=0,weeks:i=0,days:r=0,hours:o=0,minutes:s=0,seconds:c=0}=t,l=function(e,t){return Hd(e,-t)}(e,a+12*n),d=function(e,t){return Vd(e,-t)}(l,r+7*i),u=1e3*(c+60*(s+60*o));return Fd(e,d.getTime()-u)}function Zu(e,t){return e===t||e!=e&&t!=t}function Qu(e,t){for(var n=e.length;n--;)if(Zu(e[n][0],t))return n;return-1}var Gu=Array.prototype.splice;function Yu(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1},Yu.prototype.set=function(e,t){var n=this.__data__,a=Qu(n,e);return a<0?(++this.size,n.push([e,t])):n[a][1]=t,this};var Ku="object"==typeof global&&global&&global.Object===Object&&global,Xu="object"==typeof self&&self&&self.Object===Object&&self,Ju=Ku||Xu||Function("return this")(),eh=Ju.Symbol,th=Object.prototype,nh=th.hasOwnProperty,ah=th.toString,ih=eh?eh.toStringTag:void 0;var rh=Object.prototype.toString;var oh="[object Null]",sh="[object Undefined]",ch=eh?eh.toStringTag:void 0;function lh(e){return null==e?void 0===e?sh:oh:ch&&ch in Object(e)?function(e){var t=nh.call(e,ih),n=e[ih];try{e[ih]=void 0;var a=!0}catch(e){}var i=ah.call(e);return a&&(t?e[ih]=n:delete e[ih]),i}(e):function(e){return rh.call(e)}(e)}function dh(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}var uh="[object AsyncFunction]",hh="[object Function]",ph="[object GeneratorFunction]",mh="[object Proxy]";function gh(e){if(!dh(e))return!1;var t=lh(e);return t==hh||t==ph||t==uh||t==mh}var fh,_h=Ju["__core-js_shared__"],yh=(fh=/[^.]+$/.exec(_h&&_h.keys&&_h.keys.IE_PROTO||""))?"Symbol(src)_1."+fh:"";var vh=Function.prototype.toString;function bh(e){if(null!=e){try{return vh.call(e)}catch(e){}try{return e+""}catch(e){}}return""}var wh=/^\[object .+?Constructor\]$/,xh=Function.prototype,Ch=Object.prototype,Mh=xh.toString,kh=Ch.hasOwnProperty,Sh=RegExp("^"+Mh.call(kh).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Eh(e){return!(!dh(e)||(t=e,yh&&yh in t))&&(gh(e)?Sh:wh).test(bh(e));var t}function $h(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return Eh(n)?n:void 0}var Ah=$h(Ju,"Map"),Ih=$h(Object,"create");var zh=Object.prototype.hasOwnProperty;var Th=Object.prototype.hasOwnProperty;function jh(e){var t=-1,n=null==e?0:e.length;for(this.clear();++ts))return!1;var l=r.get(e),d=r.get(t);if(l&&d)return l==t&&d==e;var u=-1,h=!0,p=n&Vh?new Ph:void 0;for(r.set(e,t),r.set(t,e);++u-1&&e%1==0&&e-1&&e%1==0&&e<=Ep}var Ap={};function Ip(e){return function(t){return e(t)}}Ap["[object Float32Array]"]=Ap["[object Float64Array]"]=Ap["[object Int8Array]"]=Ap["[object Int16Array]"]=Ap["[object Int32Array]"]=Ap["[object Uint8Array]"]=Ap["[object Uint8ClampedArray]"]=Ap["[object Uint16Array]"]=Ap["[object Uint32Array]"]=!0,Ap["[object Arguments]"]=Ap["[object Array]"]=Ap["[object ArrayBuffer]"]=Ap["[object Boolean]"]=Ap["[object DataView]"]=Ap["[object Date]"]=Ap["[object Error]"]=Ap["[object Function]"]=Ap["[object Map]"]=Ap["[object Number]"]=Ap["[object Object]"]=Ap["[object RegExp]"]=Ap["[object Set]"]=Ap["[object String]"]=Ap["[object WeakMap]"]=!1;var zp="object"==typeof exports&&exports&&!exports.nodeType&&exports,Tp=zp&&"object"==typeof module&&module&&!module.nodeType&&module,jp=Tp&&Tp.exports===zp&&Ku.process,Op=function(){try{var e=Tp&&Tp.require&&Tp.require("util").types;return e||jp&&jp.binding&&jp.binding("util")}catch(e){}}(),Dp=Op,Rp=Dp&&Dp.isTypedArray,Pp=Rp?Ip(Rp):function(e){return mp(e)&&$p(e.length)&&!!Ap[lh(e)]},Lp=Object.prototype.hasOwnProperty;function Np(e,t){var n=cp(e),a=!n&&vp(e),i=!n&&!a&&Cp(e),r=!n&&!a&&!i&&Pp(e),o=n||a||i||r,s=o?function(e,t){for(var n=-1,a=Array(e);++n0){if(++ig>=800)return arguments[0]}else ig=0;return ag.apply(void 0,arguments)});function sg(e,t){return og(function(e,t,n){return t=Jm(void 0===t?e.length-1:t,0),function(){for(var a=arguments,i=-1,r=Jm(a.length-t,0),o=Array(r);++i1?n[i-1]:void 0,o=i>2?n[2]:void 0;for(r=e.length>3&&"function"==typeof r?(i--,r):void 0,o&&cg(n[0],n[1],o)&&(r=i<3?void 0:r,i=1),t=Object(t);++a-1}function Pg(e,t,n){for(var a=-1,i=null==e?0:e.length;++a=Ng){var l=t?null:Lg(e);if(l)return Uh(l);o=!1,i=Nh,c=new Ph}else c=t?[]:s;e:for(;++ae[0].toUpperCase()+e.substring(1))).join(" ")}function Bg(e,t,n){const a=e[t];return e.splice(t,1),e.splice(n,0,a),e}const qg=e=>Array.isArray(e)?e:[e],Ug=e=>e instanceof Set?e:new Set(qg(e));function Wg(e,t,n){return!function(e,t,n){var a=(n="function"==typeof n?n:void 0)?n(e,t):void 0;return void 0===a?ym(e,t,void 0,n):!!a}(e,t,n)}function Zg(e,t=console.warn){e instanceof $s&&e.context?t(e,e.context):t("object"==typeof e&&"message"in e?e.message:e)}const Qg=()=>window.matchMedia("(hover: hover) and (pointer: fine)").matches,Gg=(e,t)=>qu(e,"yyyy-MM-dd HH:mm"+(t?":ss":"")),Yg=e=>qu(e,"yyyy-MM-dd"),Kg=(e,t)=>{window.requestIdleCallback?window.requestIdleCallback(e,{...t&&{timeout:t}}):e()};function Xg(e,t){const n=function(e,t,n){const a=iu(e,t)/Zd;return au(n?.roundingMethod)(a)}(t,e),a=function(e,t,n){const a=iu(e,t)/Wd;return au(n?.roundingMethod)(a)}(t,e)-60*n;let i="";return n&&(i+=`${n}h `),a&&(i+=`${a}m `),i+=`${ru(t,e)-60*n*60-60*a}s`,i}const Jg=async(e,t)=>await Promise.all(Array.from(e).map((e=>t(e)))),ef=e=>new Date(`${e}T00:00:00`),tf=async e=>{await new Promise((t=>setTimeout(t,1e3*e)))},nf=e=>!isNaN(e.getTime()),af=(e,t,n,a)=>{t?e.setAttribute(n,a??""):e.removeAttribute(n)},rf=e=>!!e,of=e=>e instanceof HTMLElement,sf=e=>(e instanceof HTMLSlotElement?e.assignedElements({flatten:!0}):[...e.children]).filter(of),cf=e=>e?.ratio&&2===e.ratio.length?`${e.ratio[0]} / ${e.ratio[1]}`:e?.defaultStatic?"16 / 9":"auto",lf=e=>({"aspect-ratio":cf(e)}),df=e=>{if(Array.isArray(e))return e.filter((e=>void 0!==e)).map((e=>df(e)));if("object"==typeof e&&null!==e){const t={};for(const n in e)t[n]=df(e[n]);return t}return e},uf=(e,t,n)=>Og(e,n)===Og(t,n);function hf(e){if(!e)return null;const t=Ac.safeParse(e);return t.success?t.data:null}function pf(e,t){return{action:"fire-dom-event",frigate_card_action:e,...t?.cardID&&{card_id:t.cardID}}}function mf(e,t,n){return{action:"fire-dom-event",frigate_card_action:e,camera:t,...n?.cardID&&{card_id:n.cardID}}}function gf(e,t,n){return{action:"fire-dom-event",frigate_card_action:"media_player",media_player:e,media_player_action:t,...n?.cardID&&{card_id:n.cardID}}}function ff(e){return{action:"fire-dom-event",frigate_card_action:"ptz_multi",...e?.cardID&&{card_id:e.cardID},...e?.ptzAction&&{ptz_action:e.ptzAction},...e?.ptzPhase&&{ptz_phase:e.ptzPhase},...e?.ptzPreset&&{ptz_preset:e.ptzPreset},...e?.targetID&&{target_id:e.targetID}}}function _f(e,t){return e&&t?"tap"===e&&t.tap_action?t.tap_action:"hold"===e&&t.hold_action?t.hold_action:"double_tap"===e&&t.double_tap_action?t.double_tap_action:"end_tap"===e&&t.end_tap_action?t.end_tap_action:"start_tap"===e&&t.start_tap_action?t.start_tap_action:null:null}const yf=e=>qg(e).some((e=>function(e){return void 0!==e&&"none"!==e.action}(e))),vf=e=>{e.stopPropagation()};class bf{constructor(){this._timer=null,this._repeated=!1}stop(){this._timer&&(this._repeated?window.clearInterval(this._timer):window.clearTimeout(this._timer),this._timer=null)}isRunning(){return null!==this._timer}start(e,t){this.stop(),this._timer=window.setTimeout((()=>{this._timer=null,t()}),1e3*e),this._repeated=!1}startRepeated(e,t){this.stop(),this._timer=window.setInterval((()=>{t()}),1e3*e),this._repeated=!0}}class wf extends HTMLElement{constructor(){super(...arguments),this.holdTime=.4,this.holdTimer=new bf,this.doubleClickTimer=new bf,this.held=!1,this.started=!1}connectedCallback(){["touchcancel","mouseout","mouseup","touchmove","mousewheel","wheel","scroll"].forEach((e=>{document.addEventListener(e,(()=>{this.holdTimer.stop()}),{passive:!0})}))}bind(e,t){if(e.actionHandlerOptions)return void(e.actionHandlerOptions=t);e.actionHandlerOptions=t,e.addEventListener("contextmenu",(e=>{const t=e||window.event;return t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.cancelBubble=!0,t.returnValue=!1,!1}));const n=()=>{this.held=!1,this.holdTimer.start(this.holdTime,(()=>{this.held=!0})),this.started||(this.started=!0,et(e,"action",{action:"start_tap"}))},a=t=>{this.holdTimer.stop(),this.started&&(this.started=!1,et(e,"action",{action:"end_tap"}))},i=t=>{const n=e.actionHandlerOptions;n?.allowPropagation||vf(t),["touchend","touchcancel"].includes(t.type)&&!this.held||(a(),n?.hasHold&&this.held?et(e,"action",{action:"hold"}):n?.hasDoubleClick?"click"===t.type&&t.detail<2||!this.doubleClickTimer.isRunning()?this.doubleClickTimer.start(.25,(()=>et(e,"action",{action:"tap"}))):(this.doubleClickTimer.stop(),et(e,"action",{action:"double_tap"})):et(e,"action",{action:"tap"}))};e.addEventListener("touchstart",n,{passive:!0}),e.addEventListener("touchend",i),e.addEventListener("touchcancel",i),e.addEventListener("mousedown",n,{passive:!0}),e.addEventListener("click",i),e.addEventListener("keyup",(e=>{"Enter"===e.key&&i(e)})),e.addEventListener("mouseleave",a)}}customElements.define("action-handler-frigate-card",wf);const xf=(e,t)=>{const n=(()=>{const e=document.body;if(e.querySelector("action-handler-frigate-card"))return e.querySelector("action-handler-frigate-card");const t=document.createElement("action-handler-frigate-card");return e.appendChild(t),t})();n&&n.bind(e,t)},Cf=ge(class extends fe{update(e,[t]){return xf(e.element,t),U}render(e){}});var Mf=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)sp(t,pp(e)),e=Dm(e);return t}:dp;function kf(e){return lp(e,Gm,Mf)}var Sf=Object.prototype.hasOwnProperty;var Ef=/\w*$/;var $f=eh?eh.prototype:void 0,Af=$f?$f.valueOf:void 0;var If="[object Boolean]",zf="[object Date]",Tf="[object Map]",jf="[object Number]",Of="[object RegExp]",Df="[object Set]",Rf="[object String]",Pf="[object Symbol]",Lf="[object ArrayBuffer]",Nf="[object DataView]",Ff="[object Float32Array]",Vf="[object Float64Array]",Hf="[object Int8Array]",Bf="[object Int16Array]",qf="[object Int32Array]",Uf="[object Uint8Array]",Wf="[object Uint8ClampedArray]",Zf="[object Uint16Array]",Qf="[object Uint32Array]";function Gf(e,t,n){var a,i,r,o=e.constructor;switch(t){case Lf:return Im(e);case If:case zf:return new o(+e);case Nf:return function(e,t){var n=t?Im(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case Ff:case Vf:case Hf:case Bf:case qf:case Uf:case Wf:case Zf:case Qf:return zm(e,n);case Tf:return new o;case jf:case Rf:return new o(e);case Of:return(r=new(i=e).constructor(i.source,Ef.exec(i))).lastIndex=i.lastIndex,r;case Df:return new o;case Pf:return a=e,Af?Object(Af.call(a)):{}}}var Yf=Dp&&Dp.isMap,Kf=Yf?Ip(Yf):function(e){return mp(e)&&"[object Map]"==um(e)};var Xf=Dp&&Dp.isSet,Jf=Xf?Ip(Xf):function(e){return mp(e)&&"[object Set]"==um(e)},e_=1,t_=2,n_=4,a_="[object Arguments]",i_="[object Function]",r_="[object GeneratorFunction]",o_="[object Object]",s_={};function c_(e,t,n,a,i,r){var o,s=t&e_,c=t&t_,l=t&n_;if(n&&(o=i?n(e,a,i,r):n(e)),void 0!==o)return o;if(!dh(e))return e;var d=cp(e);if(d){if(o=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&Sf.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!s)return Tm(e,o)}else{var u=um(e),h=u==i_||u==r_;if(Cp(e))return Am(e,s);if(u==o_||u==a_||h&&!i){if(o=c||h?{}:Rm(e),!s)return c?function(e,t){return Wm(e,Mf(e),t)}(e,function(e,t){return e&&Wm(t,Gm(t),e)}(o,e)):function(e,t){return Wm(e,pp(e),t)}(e,function(e,t){return e&&Wm(t,Wp(t),e)}(o,e))}else{if(!s_[u])return i?e:{};o=Gf(e,u,s)}}r||(r=new Rh);var p=r.get(e);if(p)return p;r.set(e,o),Jf(e)?e.forEach((function(a){o.add(c_(a,t,n,a,e,r))})):Kf(e)&&e.forEach((function(a,i){o.set(i,c_(a,t,n,i,e,r))}));var m=d?void 0:(l?c?kf:Zp:c?Gm:Wp)(e);return function(e,t){for(var n=-1,a=null==e?0:e.length;++nvoid 0===globalThis.DOMException?new g_(e):new DOMException(e),__=e=>{const t=void 0===e.reason?f_("This operation was aborted."):e.reason;return t instanceof Error?t:f_(t)};class y_{#e=[];enqueue(e,t){const n={priority:(t={priority:0,...t}).priority,run:e};if(this.size&&this.#e[this.size-1].priority>=t.priority)return void this.#e.push(n);const a=function(e,t,n){let a=0,i=e.length;for(;i>0;){const r=Math.trunc(i/2);let o=a+r;n(e[o],t)<=0?(a=++o,i-=r+1):i=r}return a}(this.#e,n,((e,t)=>t.priority-e.priority));this.#e.splice(a,0,n)}dequeue(){const e=this.#e.shift();return e?.run}filter(e){return this.#e.filter((t=>t.priority===e.priority)).map((e=>e.run))}get size(){return this.#e.length}}class v_ extends p_{#t;#n;#a=0;#i;#r;#o=0;#s;#c;#e;#l;#d=0;#u;#h;#p;timeout;constructor(e){if(super(),!("number"==typeof(e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:y_,...e}).intervalCap&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(void 0===e.interval||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#t=e.carryoverConcurrencyCount,this.#n=e.intervalCap===Number.POSITIVE_INFINITY||0===e.interval,this.#i=e.intervalCap,this.#r=e.interval,this.#e=new e.queueClass,this.#l=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#p=!0===e.throwOnTimeout,this.#h=!1===e.autoStart}get#m(){return this.#n||this.#a{this.#y()}),t)),!0;this.#a=this.#t?this.#d:0}return!1}#_(){if(0===this.#e.size)return this.#s&&clearInterval(this.#s),this.#s=void 0,this.emit("empty"),0===this.#d&&this.emit("idle"),!1;if(!this.#h){const e=!this.#w;if(this.#m&&this.#g){const t=this.#e.dequeue();return!!t&&(this.emit("active"),t(),e&&this.#b(),!0)}}return!1}#b(){this.#n||void 0!==this.#s||(this.#s=setInterval((()=>{this.#v()}),this.#r),this.#o=Date.now()+this.#r)}#v(){0===this.#a&&0===this.#d&&this.#s&&(clearInterval(this.#s),this.#s=void 0),this.#a=this.#t?this.#d:0,this.#x()}#x(){for(;this.#_(););}get concurrency(){return this.#u}set concurrency(e){if(!("number"==typeof e&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#u=e,this.#x()}async#C(e){return new Promise(((t,n)=>{e.addEventListener("abort",(()=>{n(e.reason)}),{once:!0})}))}async add(e,t={}){return t={timeout:this.timeout,throwOnTimeout:this.#p,...t},new Promise(((n,a)=>{this.#e.enqueue((async()=>{this.#d++,this.#a++;try{t.signal?.throwIfAborted();let a=e({signal:t.signal});t.timeout&&(a=function(e,t){const{milliseconds:n,fallback:a,message:i,customTimers:r={setTimeout:setTimeout,clearTimeout:clearTimeout}}=t;let o;const s=new Promise(((s,c)=>{if("number"!=typeof n||1!==Math.sign(n))throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${n}\``);if(t.signal){const{signal:e}=t;e.aborted&&c(__(e)),e.addEventListener("abort",(()=>{c(__(e))}))}if(n===Number.POSITIVE_INFINITY)return void e.then(s,c);const l=new m_;o=r.setTimeout.call(void 0,(()=>{if(a)try{s(a())}catch(e){c(e)}else"function"==typeof e.cancel&&e.cancel(),!1===i?s():i instanceof Error?c(i):(l.message=i??`Promise timed out after ${n} milliseconds`,c(l))}),n),(async()=>{try{s(await e)}catch(e){c(e)}})()})),c=s.finally((()=>{c.clear()}));return c.clear=()=>{r.clearTimeout.call(void 0,o),o=void 0},c}(Promise.resolve(a),{milliseconds:t.timeout})),t.signal&&(a=Promise.race([a,this.#C(t.signal)]));const i=await a;n(i),this.emit("completed",i)}catch(e){if(e instanceof m_&&!t.throwOnTimeout)return void n();a(e),this.emit("error",e)}finally{this.#f()}}),t),this.emit("add"),this.#_()}))}async addAll(e,t){return Promise.all(e.map((async e=>this.add(e,t))))}start(){return this.#h?(this.#h=!1,this.#x(),this):this}pause(){this.#h=!0}clear(){this.#e=new this.#l}async onEmpty(){0!==this.#e.size&&await this.#M("empty")}async onSizeLessThan(e){this.#e.sizethis.#e.size{const a=()=>{t&&!t()||(this.off(e,a),n())};this.on(e,a)}))}get size(){return this.#e.size}sizeBy(e){return this.#e.filter(e).length}get pending(){return this.#d}get isPaused(){return this.#h}}var b_={frigate_card:"Frigate card",frigate_card_description:"A Lovelace card for use with Frigate",live:"Live",no_media:"No media to display",recordings:"Recordings",version:"Version"},w_={cameras:{camera_entity:"Camera Entity",capabilities:{capabilities:{clips:"Clips","favorite-events":"Favorite Events","favorite-recordings":"Favorite Recordings",live:"Live",menu:"Menu",ptz:"PTZ",recordings:"Recordings",seek:"Seeking",snapshots:"Snapshots",substream:"Substream"},disable:"Disable",disable_except:"Disable except",editor_label:"Camera capabilities"},cast:{dashboard:{dashboard_path:"Dashboard path",view_path:"View path"},editor_label:"Cast options",method:"Cast method",methods:{dashboard:"Dashboard",standard:"Standard"}},dependencies:{all_cameras:"Show events for all cameras with this camera",cameras:"Show events for specific cameras with this camera",editor_label:"Dependency options"},dimensions:{aspect_ratio:"Static aspect ratio",editor_label:"Camera dimensions",layout:{editor_label:"Camera Layout",fit:"Layout fit",fits:{contain:"Media is contained/letterboxed",cover:"Media expands proportionally to cover the card",fill:"Media is stretched to fill the card"},pan:{x:"Pan horizontal percentage",y:"Pan vertical percentage"},position:{editor_label:"Layout Cover Position",x:"Horizontal placement percentage",y:"Vertical placement percentage"},view_box:{bottom:"Bottom inset percentage",editor_label:"Layout View Box",left:"Left inset percentage",right:"Right inset percentage",top:"Top inset percentage"},zoom:"Zoom factor"}},engines:{editor_label:"Camera engine options"},frigate:{camera_name:"Frigate camera name (Autodetected from entity)",client_id:"Frigate client id (For >1 Frigate server)",editor_label:"Frigate options",labels:"Frigate labels/object filters",url:"Frigate server URL",zones:"Frigate zones"},go2rtc:{editor_label:"go2rtc Options",modes:{editor_label:"go2rtc Modes",mjpeg:"Motion JPEG (MJPEG)",mp4:"MPEG-4 (MP4)",mse:"Media Source Extensions (MSE)",webrtc:"Web Real-Time Communication (WebRTC)"},stream:"go2rtc stream name"},icon:"Icon for this camera (Autodetected from entity)",id:"Unique id for this camera in this card",image:{editor_label:"Image Options",refresh_seconds:"Number of seconds after which to refresh live image (0=never)",url:"Image URL to use instead of camera entity snapshot"},live_provider:"Live view provider for this camera",live_provider_options:{editor_label:"Live provider options"},live_providers:{auto:"Automatic",go2rtc:"go2rtc",ha:"Home Assistant video stream (i.e. HLS, LL-HLS, WebRTC via HA)",image:"Home Assistant images",jsmpeg:"JSMpeg","webrtc-card":"WebRTC Card (i.e. AlexxIT's WebRTC Card)"},motioneye:{editor_label:"MotionEye options",images:{directory_pattern:"Images directory pattern",file_pattern:"Images file pattern"},movies:{directory_pattern:"Movies directory pattern",file_pattern:"Movies file pattern"},url:"MotionEye UI URL"},proxy:{dynamic:"Dynamic proxying",editor_label:"Camera proxying",media:{auto:"Media proxying automatically configured",editor_label:"Media proxying",false:"Media proxying disabled",true:"Media proxying enabled"},ssl_ciphers:{auto:"SSL ciphers automatically configured",default:"Default SSL ciphers",editor_label:"SSL ciphers",insecure:"Insecure SSL ciphers",intermediate:"Intermediate SSL ciphers",modern:"Modern SSL ciphers"},ssl_verification:{auto:"SSL verification automatically configured",editor_label:"SSL verification",false:"SSL verification disabled",true:"SSL verification enabled"}},reolink:{editor_label:"Reolink options",media_resolution:{editor_label:"Media Resolution",high:"High Resolution",low:"Low Resolution"},url:"Reolink UI URL"},title:"Title for this camera (Autodetected from entity)",triggers:{editor_label:"Trigger options",entities:"Trigger from other entities",events:{clips:"Events with new clips",editor_label:"Trigger Events",events:"All events",snapshots:"Events with new snapshots"},motion:"Trigger by auto-detecting the motion sensor",occupancy:"Trigger by auto-detecting the occupancy sensor"},webrtc_card:{editor_label:"WebRTC Card Options",entity:"WebRTC Card Camera Entity (Not a Frigate camera)",url:"WebRTC Card Camera URL"}},common:{controls:{builtin:"Built-in video controls",filter:{editor_label:"Media Filter",mode:"Filter mode",modes:{left:"Media filter in a drawer to the left",none:"No media filter",right:"Media filter in a drawer to the right"}},next_previous:{editor_label:"Next & Previous",size:"Next & previous control size in pixels",style:"Next & previous control style",styles:{chevrons:"Chevrons",icons:"Icons",none:"None",thumbnails:"Thumbnails"}},thumbnails:{editor_label:"Thumbnails",events_media_type:"Whether to show event thumbnails of clips or snapshots",events_media_types:{clips:"Clip thumbnails",snapshots:"Snapshot thumbnails"},media_type:"Whether to show thumnails of events or recordings",media_types:{events:"Events",recordings:"Recordings"},mode:"Thumbnails mode",modes:{above:"Thumbnails above",below:"Thumbnails below",left:"Thumbnails in a drawer to the left",none:"No thumbnails",right:"Thumbnails in a drawer to the right"},show_details:"Show details with thumbnails",show_download_control:"Show download control on thumbnails",show_favorite_control:"Show favorite control on thumbnails",show_timeline_control:"Show timeline control on thumbnails",size:"Thumbnails size in pixels"},timeline:{editor_label:"Mini Timeline",mode:"Mode",modes:{above:"Above",below:"Below",none:"None"},pan_mode:"Default pan mode",pan_modes:{pan:"Pan",seek:"Pan seeks across all media","seek-in-camera":"Pan seeks within selected camera only","seek-in-media":"Pan seeks within selected media item only"}}},display:{editor_label:"Display",grid_columns:"Exact number of grid columns",grid_max_columns:"Maximum number of grid columns",grid_selected_width_factor:"Increase selected media width by this factor",mode:"Mode"},image:{entity:"Entity for use with entity mode",entity_parameters:"Query parameters added to the entity-based picture URLs (e.g. width=1920&height=1080)",mode:"Image mode",modes:{camera:"Home Assistant camera snapshot of camera entity",entity:"Entity with entity_picture attribute",screensaver:"Embedded Frigate logo",url:"Arbitrary image specified by URL"},refresh_seconds:"Number of seconds after which to refresh (0=never)",url:"Static image URL"},media_action_conditions:{all:"All opportunities",hidden:"On browser/tab hiding",microphone_mute:"On microphone mute",microphone_unmute:"On microphone unmute",never:"Never",selected:"On selection",unselected:"On unselection",visible:"On browser/tab visibility"},timeline:{clustering_threshold:"The count of events at which they are clustered (0=no clustering)",events_media_type:"The events media the timeline displays",events_media_types:{all:"All event media types",clips:"Clips",snapshots:"Snapshots"},show_recordings:"Show recordings",style:"Timeline style",styles:{ribbon:"Events on a single ribbon",stack:"Stacked & clustered events"},window_seconds:"The default length of the timeline view in seconds"}},dimensions:{aspect_ratio:"Default aspect ratio (e.g. '16:9')",aspect_ratio_mode:"Aspect ratio mode",aspect_ratio_modes:{dynamic:"Aspect ratio adjusts to media",static:"Static aspect ratio",unconstrained:"Unconstrained aspect ratio"},height:"Card height in CSS units (e.g. '500px')"},live:{auto_mute:"Automatically mute live cameras",auto_pause:"Automatically pause live cameras",auto_play:"Automatically play live cameras",auto_unmute:"Automatically unmute live cameras",controls:{editor_label:"Live Controls",ptz:{editor_label:"PTZ",hide_home:"Hide home control",hide_pan_tilt:"Hide pan & tilt control",hide_zoom:"Hide zoom control",mode:"Mode",modes:{off:"Off",on:"On"},orientation:"Orientation",orientations:{horizontal:"Horizontal",vertical:"Vertical"},position:"Position",positions:{"bottom-left":"Bottom left","bottom-right":"Bottom right","top-left":"Top left","top-right":"Top right"}}},draggable:"Live cameras view can be dragged/swiped",lazy_load:"Live cameras are lazily loaded",lazy_unload:"Live cameras are lazily unloaded",microphone:{always_connected:"Always keep the microphone connected",disconnect_seconds:"Seconds after which to disconnect microphone (0=never)",editor_label:"Microphone",enabled:"Microphone enabled",mute_after_microphone_mute_seconds:"Seconds after microphone mute to mute inbound audio"},preload:"Preload live view in the background",show_image_during_load:"Show still image while the live stream is loading",transition_effect:"Live camera transition effect",zoomable:"Live cameras can be zoomed/panned"},media_viewer:{auto_mute:"Automatically mute media",auto_pause:"Automatically pause media",auto_play:"Automatically play media",auto_unmute:"Automatically unmute media",controls:{editor_label:"Media Viewer Controls"},draggable:"Media Viewer can be dragged/swiped",lazy_load:"Media Viewer media is lazily loaded in carousel",snapshot_click_plays_clip:"Clicking on a snapshot plays a related clip",transition_effect:"Media Viewer transition effect",transition_effects:{none:"No transition",slide:"Slide transition"},zoomable:"Media Viewer can be zoomed/panned"},menu:{alignment:"Menu alignment",alignments:{bottom:"Aligned to the bottom",left:"Aligned to the left",right:"Aligned to the right",top:"Aligned to the top"},button_size:"Menu button size in pixels",buttons:{alignment:"Button alignment",alignments:{matching:"Matching the menu alignment",opposing:"Opposing the menu alignment"},camera_ui:"Camera user interface",cameras:"Cameras",clips:"Clips",display_mode:"Display mode",download:"Download",enabled:"Button enabled",expand:"Expand",frigate:"Frigate menu / Default view",fullscreen:"Fullscreen",icon:"Icon",image:"Image",live:"Live",media_player:"Send to media player",microphone:"Microphone",mute:"Mute / Unmute",permanent:"Show when the menu is hidden",play:"Play / Pause",priority:"Priority",ptz_controls:"Show PTZ controls",ptz_home:"PTZ Home",recordings:"Recordings",screenshot:"Screenshot",snapshots:"Snapshots",substreams:"Substream(s)",timeline:"Timeline",type:"Button type",types:{momentary:"Momentary",toggle:"Toggle"}},position:"Menu position",positions:{bottom:"Positioned on the bottom",left:"Positioned on the left",right:"Positioned on the right",top:"Positioned on the top"},style:"Menu style",styles:{hidden:"Hidden menu",hover:"Hover menu","hover-card":"Hover menu (card-wide)",none:"No menu",outside:"Outside menu",overlay:"Overlay menu"}},overrides:{info:"This card configuration has manually specified overrides configured which may override values shown in the visual editor, please consult the code editor to view/modify these overrides"},performance:{features:{animated_progress_indicator:"Animated Progress Indicator",editor_label:"Feature Options",max_simultaneous_engine_requests:"Max simultaneous camera engine requests",media_chunk_size:"Media chunk size"},style:{border_radius:"Curves",box_shadow:"Shadows",editor_label:"Style Options"},warning:"This card is in low profile mode so defaults have changed to optimize performance"},profiles:{casting:"Casting",editor_label:"Configuration profiles","low-performance":"Low performance",scrubbing:"Video scrubbing"},status_bar:{height:"Status bar height in pixels",items:{enabled:"Item enabled",engine:"Camera engine",live_provider:"Live provider",priority:"Item priority",resolution:"Resolution",technology:"Technology",title:"Title"},popup_seconds:"Status bar popup seconds",position:"Status bar position",positions:{bottom:"Positioned on the bottom",top:"Positioned on the top"},style:"Status bar style",styles:{hover:"Hover status bar","hover-card":"Hover status bar (card-wide)",none:"No status bar",outside:"Outside status bar",overlay:"Overlay status bar",popup:"Popup status bar"}},view:{camera_select:"View for newly selected cameras",dark_mode:"Dark mode",dark_modes:{auto:"Auto",off:"Off",on:"On"},default:"Default view",default_cycle_camera:"Cycle through cameras when default view updates",default_reset:{after_interaction:"Reset to the default view after user interaction ends",editor_label:"Default view reset behavior",entities:"Reset to the default view on entity state change",every_seconds:"Reset to default view every X seconds (0=never)",interaction_mode:"How default reset behaves when the card has human interaction",interaction_modes:{active:"Only allow reset when card has active human interaction",all:"Reset regardless of human interaction",inactive:"Only reset when card has no human interaction"}},interaction_seconds:"Seconds after user action to remain interacted with (0=never)",keyboard_shortcuts:{editor_label:"Keyboard shortcuts",enabled:"Keyboard shortcuts enabled",ptz_down:"PTZ Down",ptz_home:"PTZ Home",ptz_left:"PTZ Left",ptz_right:"PTZ Right",ptz_up:"PTZ Up",ptz_zoom_in:"PTZ Zoom In",ptz_zoom_out:"PTZ Zoom Out"},triggers:{actions:{editor_label:"Trigger actions",interaction_mode:"How to handle actions when the card has human interaction",interaction_modes:{active:"Only trigger actions when card has human interaction",all:"Trigger actions regardless of human interaction",inactive:"Only trigger actions when card has no human interaction"},trigger:"Trigger action",triggers:{default:"Change to or update default view",live:"Change to or update live view",media:"Change to the relevant media view for new media",none:"No action"},untrigger:"Untrigger action",untriggers:{default:"Change to default view/camera",none:"No action"}},editor_label:"Trigger behavior",filter_selected_camera:"Only trigger on selected camera",show_trigger_status:"Show pulsing border when triggered",untrigger_seconds:"Seconds after inactive state change to untrigger"},views:{clip:"Most recent clip",clips:"Clips gallery",current:"Current view",image:"Static image",live:"Live view",recording:"Most recent recording",recordings:"Recordings gallery",snapshot:"Most recent snapshot",snapshots:"Snapshots gallery",timeline:"Timeline view"}}},x_={grid:"Show media viewer for each camera in a grid",single:"Show single media viewer"},C_={add_new_camera:"Add new camera",button:"Button",camera:"Camera",cameras:"Cameras",cameras_secondary:"What cameras to render on this card",delete:"Delete",dimensions:"Card dimensions",dimensions_secondary:"Card dimensions & shape options",image:"Image",image_secondary:"Static image view options",live:"Live",live_secondary:"Live camera view options",media_gallery:"Media gallery",media_gallery_secondary:"Media gallery options",media_viewer:"Media viewer",media_viewer_secondary:"Viewer for static media (clips, snapshots or recordings)",menu:"Menu",menu_secondary:"Menu look & feel options",move_down:"Move down",move_up:"Move up",overrides:"Overrides are active",overrides_secondary:"Dynamic configuration overrides detected",performance:"Performance",performance_secondary:"Card performance options",profiles:"Configuration profiles",profiles_secondary:"Choose pre-configured sets of defaults",status_bar:"Status bar",status_bar_secondary:"Status bar look & feel options",timeline:"Timeline",timeline_secondary:"Event timeline options",upgrade:"Upgrade",upgrade_available:"An automatic card configuration upgrade is available",view:"View",view_secondary:"What the card should show and how to show it"},M_={ptz:{down:"Down",home:"Home",left:"Left",right:"Right",up:"Up",zoom_in:"Zoom In",zoom_out:"Zoom Out"}},k_={awaiting_live:"Waiting for live stream to load ...",awaiting_media:"Waiting for media to load",camera_initialization:"Camera initialization failed",camera_initialization_reolink:"Could not initialize Reolink camera",could_not_render_elements:"Could not render picture elements",could_not_resolve:"Could not resolve media URL",diagnostics:"Card diagnostics. Please review for confidential information prior to sharing",download_no_media:"No media to download",download_sign_failed:"Could not sign media URL for download",duplicate_camera_id:"Duplicate Frigate camera id for the following camera, use the 'id' parameter to uniquely identify cameras",empty_response:"Received empty response from Home Assistant for request",failed_response:"Failed to receive response from Home Assistant for request",failed_retain:"Could not retain event",failed_sign:"Could not sign Home Assistant URL",image_load_error:"The image could not be loaded",invalid_configuration:"Invalid configuration",invalid_configuration_no_hint:"No location hint available (bad or missing type?)",invalid_configuration_override:"Invalid override configuration",invalid_elements_config:"Invalid picture elements configuration",invalid_response:"Received invalid response from Home Assistant for request",jsmpeg_no_player:"Could not start JSMPEG player",live_camera_no_endpoint:"Could not get camera endpoint for this live provider (incomplete configuration?)",live_camera_not_found:"The configured camera_entity was not found",live_camera_unavailable:"Camera unavailable",no_camera_engine:"Could not determine suitable engine for camera",no_camera_entity:"Could not find camera entity",no_camera_entity_for_triggers:"A camera entity is required in order to autodetect triggers",no_camera_id:"Could not determine camera id for the following camera, may need to set 'id' parameter manually",no_camera_name:"Could not determine a Frigate camera name for camera (or one of its dependents), please specify either 'camera_entity' or 'camera_name'",no_dashboard_or_view:"Both 'dashboard_path' and 'view_path' parameters are required for the 'dashboard' cast method",no_live_camera:"The camera_entity parameter must be set and valid for this live provider",no_supported_camera:"The selected camera does not support this view",no_supported_cameras:"No cameras support this view",reconnecting:"Reconnecting",too_many_automations:"Too many nested automation calls, please check your configuration for loops",troubleshooting:"Check troubleshooting",unknown:"Unknown error",upgrade_available:"An automated card configuration upgrade is available, please visit the visual card editor",webrtc_card_reported_error:"WebRTC Card reported an error",webrtc_card_waiting:"Waiting for WebRTC Card to load ..."},S_={camera:"Camera",duration:"Duration",in_progress:"In Progress",score:"Score",seek:"Seek",start:"Start",tag:"Tag",what:"What",where:"Where"},E_={assign:"Assign",assigning:"Assigning",modifiers:{alt:"Alt",ctrl:"Ctrl",meta:"Meta",shift:"Shift"},unassign:"Unassign"},$_={all:"All",camera:"Camera",favorite:"Favorite",media_type:"Media Type",media_types:{clips:"Clips",recordings:"Recordings",snapshots:"Snapshots"},not_favorite:"Not Favorite",select_camera:"Select camera...",select_favorite:"Select favorite...",select_media_type:"Select media type...",select_tag:"Select tag...",select_what:"Select what...",select_when:"Select when...",select_where:"Select where...",tag:"Tag",what:"What",when:"When",whens:{custom:"Custom",past_month:"Past Month",past_week:"Past Week",today:"Today",yesterday:"Yesterday"},where:"Where"},A_={unseekable:"Seek time not found in media"},I_={camera:"Camera",duration:"Duration",events:"Events",in_progress:"In Progress",seek:"Seek",start:"Start"},z_={download:"Download media",no_thumbnail:"No thumbnail available",retain_indefinitely:"Media will be indefinitely retained",timeline:"See media in timeline"},T_={select_date:"Choose date"},j_={common:b_,config:w_,display_modes:x_,editor:C_,elements:M_,error:k_,event:S_,key_assigner:E_,media_filter:$_,media_viewer:A_,recording:I_,thumbnail:z_,timeline:T_},O_=Object.freeze({__proto__:null,common:b_,config:w_,default:j_,display_modes:x_,editor:C_,elements:M_,error:k_,event:S_,key_assigner:E_,media_filter:$_,media_viewer:A_,recording:I_,thumbnail:z_,timeline:T_});const D_="en",R_={[D_]:O_};let P_;function L_(e){const t=e=>e.replace("-","_"),n=e?.language??e?.selectedLanguage;if(n)return t(n);const a=localStorage.getItem("selectedLanguage");if(a){const e=JSON.parse(a);if(e)return t(e)}for(const e of navigator.languages){const n=t(e);if(n&&n in R_)return n}return D_}function N_(e,t="",n=""){let a="";try{a=e.split(".").reduce(((e,t)=>e[t]),R_[P_??D_])}catch(e){}return a||(a=e.split(".").reduce(((e,t)=>e[t]),R_[D_])),""!==t&&""!==n&&(a=a.replace(t,n)),a}function F_(e){return"string"==typeof e?.id&&e.id||"string"==typeof e?.camera_entity&&e.camera_entity||"object"==typeof e?.webrtc_card&&e.webrtc_card&&("string"==typeof e.webrtc_card.entity&&e.webrtc_card.entity||"string"==typeof e.webrtc_card.url&&e.webrtc_card.url)||"object"==typeof e?.go2rtc&&e.go2rtc&&"string"==typeof e.go2rtc.url&&"string"==typeof e.go2rtc.stream&&`${e.go2rtc.url}#${e.go2rtc.stream}`||"object"==typeof e?.frigate&&e.frigate&&"string"==typeof e?.frigate.camera_name&&e.frigate.camera_name||""}const V_=(e,...t)=>{e?.debug?.logging&&console.debug(...t)},H_=(e,t,n)=>"preset"===t?(n?.preset?e.ptz.presets?.[n.preset]:null)??null:n?.phase?e.ptz[`actions_${t}_${n.phase}`]??null:e.ptz[`actions_${t}`]??null,B_=(e,t,n)=>!!H_(e,t,n),q_=(e,t)=>{const n=B_(e,t,{phase:"start"})&&B_(e,t,{phase:"stop"}),a=B_(e,t);return n||a?[...n?["continuous"]:[],...a?["relative"]:[]]:null},U_=e=>{const t=q_(e,"left"),n=q_(e,"right"),a=q_(e,"up"),i=q_(e,"down"),r=q_(e,"zoom_in"),o=q_(e,"zoom_out"),s=e.ptz.presets?Object.keys(e.ptz.presets):void 0;return t?.length||n?.length||a?.length||i?.length||r?.length||o?.length||s?.length?{...t?{left:t}:{},...n?{right:n}:{},...a?{up:a}:{},...i?{down:i}:{},...r?{zoomIn:r}:{},...o?{zoomOut:o}:{},...s?{presets:s}:{}}:null};class W_{constructor(e,t){this._capabilities=e;for(const e of t?.disable??[])this._disable(e);for(const e of Is)t?.disableExcept?.length&&!t.disableExcept.includes(e)&&this._disable(e)}_disable(e){delete this._capabilities[e]}matches(e){let t=!0;return"string"==typeof e&&(t&&=this.has(e)),"object"==typeof e&&e.allCapabilities&&(t&&=e.allCapabilities.every((e=>this.has(e)))),"object"==typeof e&&e.anyCapabilities&&(t&&=e.anyCapabilities.some((e=>this.has(e)))),t}has(e){return!!this._capabilities[e]}getPTZCapabilities(){return this._capabilities.ptz??null}hasPTZCapability(){return!!(this._capabilities.ptz?.down?.length||this._capabilities.ptz?.up?.length||this._capabilities.ptz?.left?.length||this._capabilities.ptz?.right?.length||this._capabilities.ptz?.zoomIn?.length||this._capabilities.ptz?.zoomOut?.length||this._capabilities.ptz?.presets?.length)}getRawCapabilities(){return this._capabilities}}function Z_(e,t,n){var a=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(n=n>i?i:n)<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var r=Array(i);++at||r&&o&&c&&!s&&!l||a&&o&&c||!n&&c||!i)return 1;if(!a&&!r&&!l&&e=s?c:c*("desc"==n[a]?-1:1)}return e.index-t.index}(e,t,n)}))}function ky(e,t,n,a){return null==e?[]:(cp(t)||(t=null==t?[]:[t]),cp(n=a?void 0:n)||(n=null==n?[]:[n]),My(e,t,n))}async function Sy(e,t,n,a=!1){let i;try{i=await e.callWS(n)}catch(e){if(!(e instanceof Error))throw new $s(N_("error.failed_response"),{request:n,response:e});throw e}if(!i)throw new $s(N_("error.empty_response"),{request:n});const r=a?t.safeParse(JSON.parse(i)):t.safeParse(i);if(!r.success)throw new $s(N_("error.invalid_response"),{request:n,response:i,invalid_keys:Os(r.error)});return r.data}const Ey=ba.lazy((()=>ba.object({title:ba.string(),media_class:ba.string(),media_content_type:ba.string(),media_content_id:ba.string(),can_play:ba.boolean(),can_expand:ba.boolean(),children_media_class:ba.string().nullable().optional(),thumbnail:ba.string().nullable(),children:ba.array(Ey).nullable().optional()}))),$y="video",Ay="image",Iy=60,zy=e=>ky(e,(e=>e._metadata?.startDate),"desc");class Ty{async walkBrowseMedias(e,t,n){return t&&t.length?(await Jg(t,(async t=>await this._walkBrowseMedia(e,t,n)))).flat():[]}async _walkBrowseMedia(e,t,n){let a=[];for(const i of function(e,t,n){t=(n?cg(e,t,n):void 0===t)?1:G_(Mg(t),0);var a=null==e?0:e.length;if(!a||t<1)return[];for(var i=0,r=0,o=Array(Q_(a/t));iawait this._browseMedia(e,a,{cache:n?.cache,metadataGenerator:t.metadataGenerator})));for(const e of r)for(const n of e.children??[])t.matcher(n)&&a.push(n);if(t.sorter&&(a=t.sorter(a)),t.earlyExit&&t.earlyExit(a))break}const i=t.advance?t.advance(a):null;return i?.length?await this.walkBrowseMedias(e,i,n):a}async _browseMedia(e,t,n){const a="object"==typeof t?t.media_content_id:t,i=n?.cache?n.cache.get(a):null;if(i)return i;const r={type:"media_source/browse_media",media_content_id:a},o=await Sy(e,Ey,r);if(n?.metadataGenerator)for(const e of o.children??[])e._metadata=n.metadataGenerator(e,"object"==typeof t?t:void 0)??void 0;return n?.cache&&n.cache.set(a,o,Bd(new Date,{seconds:60})),o}}function jy(e,t){return ym(e,t)}function Oy(e,t){return e&&e.length?function(e,t){for(var n=-1,a=e.length,i=0,r=[];++nPy(t,e)))}add(e){this._ranges.push(e),this._ranges=Ny(this._ranges)}clear(){this._ranges=[]}}class Ry{constructor(e){this._ranges=e??[]}hasCoverage(e){const t=new Date;return this._ranges.some((n=>tet.start>=e.start&&t.end<=e.end,Ly=(e,t)=>e.start>=t.start&&e.start<=t.end||e.end>=t.start&&e.end<=t.end||e.start<=t.start&&e.end>=t.end,Ny=(e,t=0)=>{const n=[];e=ky(e,(e=>e.start),"asc");let a=null;for(const i of e){const e=i.start instanceof Date?i.start.getTime():i.start;if(!a){a={...i};continue}(a.end instanceof Date?a.end.getTime():a.end)+1e3*t>=e?i.end>a.end&&(a.end=i.end):(n.push(a),a={...i})}return a&&n.push(a),n};class Fy{constructor(){this._data=[]}get(e){const t=new Date;for(const n of this._data)if((!n.expires||t<=n.expires)&&this._contains(e,n.request))return n.response;return null}clear(){this._data=[]}has(e){return!!this.get(e)}set(e,t,n){this._data.push({request:e,response:t,expires:n}),this._expireOldRequests()}_contains(e,t){return jy(e,t)}_expireOldRequests(){const e=new Date;this._data=this._data.filter((t=>!t.expires||e=e.start.getTime()){if(a>e.end.getTime())break;t.push(n)}}return t}getSize(){return this._data.length}expireMatches(e){this._data=this._data.filter((t=>!e(t)))}}class By{constructor(){this._segments=new Map}add(e,t,n){let a=this._segments.get(e);a||(a=new Hy((e=>1e3*e.start_time),(e=>e.id)),this._segments.set(e,a)),a.add(t,n)}clear(){this._segments.clear()}hasCoverage(e,t){return!!this._segments.get(e)?.hasCoverage(t)}get(e,t){return this._segments.get(e)?.get(t)??null}getSize(e){return this._segments.get(e)?.getSize()??null}getCameraIDs(){return[...this._segments.keys()]}expireMatches(e,t){this._segments.get(e)?.expireMatches(t)}}class qy extends $s{}class Uy extends $s{}var Wy,Zy,Qy;!function(e){e.Event="event-query",e.Recording="recording-query",e.RecordingSegments="recording-segments-query",e.MediaMetadata="media-metadata"}(Wy||(Wy={})),function(e){e.Event="event-results",e.Recording="recording-results",e.RecordingSegments="recording-segments-results",e.MediaMetadata="media-metadata-results"}(Zy||(Zy={})),function(e){e.Frigate="frigate",e.Generic="generic",e.MotionEye="motioneye",e.Reolink="reolink"}(Qy||(Qy={}));const Gy=e=>e.camera_entity??e.webrtc_card?.entity??null;class Yy{constructor(e){this._entityRegistryManager=e}async createEngine(e,t){let n;switch(e){case Qy.Generic:const{GenericCameraManagerEngine:e}=await import("./engine-generic-39deaa91.js").then((function(e){return e.e}));n=new e(t.stateWatcher,t.eventCallback);break;case Qy.Frigate:const{FrigateCameraManagerEngine:a}=await import("./engine-frigate-69a32a9e.js");n=new a(this._entityRegistryManager,t.stateWatcher,new By,new Vy,t.eventCallback);break;case Qy.MotionEye:const{MotionEyeCameraManagerEngine:i}=await import("./engine-motioneye-205f9ce6.js");n=new i(this._entityRegistryManager,t.stateWatcher,new Ty,t.resolvedMediaCache,new Vy,t.eventCallback);break;case Qy.Reolink:const{ReolinkCameraManagerEngine:r}=await import("./engine-reolink-0f6e3569.js");n=new r(this._entityRegistryManager,t.stateWatcher,new Ty,t.resolvedMediaCache,new Vy,t.eventCallback)}return n}async getEngineForCamera(e,t){let n=null;if("frigate"===t.engine)n=Qy.Frigate;else if("motioneye"===t.engine)n=Qy.MotionEye;else if("generic"===t.engine)n=Qy.Generic;else if("reolink"===t.engine)n=Qy.Reolink;else{const a=Gy(t);if(a){const i=await this._entityRegistryManager.getEntity(e,a);if(!i){if(e.states[a])return Qy.Generic;throw new qy(N_("error.no_camera_entity"),t)}switch(i?.platform){case"frigate":n=Qy.Frigate;break;case"motioneye":n=Qy.MotionEye;break;case"reolink":n=Qy.Reolink;break;default:n=Qy.Generic}}else t.frigate.camera_name?n=Qy.Frigate:(t.webrtc_card?.url||t.go2rtc?.url&&t.go2rtc?.stream)&&(n=Qy.Generic)}return n}}class Ky{constructor(){this._cameras=new Map,this._enginesByType=new Map}addCamera(e){this._cameras.set(e.getID(),e),this._enginesByType.set(e.getEngine().getEngineType(),e.getEngine())}async setCameras(e){for(const t of e){const e=this._cameras.get(t.getID());e!==t&&(this.addCamera(t),await(e?.destroy()))}for(const t of this._cameras.values())e.includes(t)||(await t.destroy(),this._cameras.delete(t.getID()))}async reset(){await Jg(this._cameras.values(),(e=>e.destroy())),this._cameras.clear(),this._enginesByType.clear()}getCamera(e){return this._cameras.get(e)??null}getCameras(){return this._cameras}getCameraConfig(e){return this._cameras.get(e)?.getConfig()??null}hasCameraID(e){return this._cameras.has(e)}getCameraCount(){return this._cameras.size}getDefaultCameraID(){return this._cameras.keys().next().value??null}*getCameraConfigs(e){for(const[t,n]of this.getCameraConfigEntries(e))yield n}*getCameraConfigEntries(e){for(const t of e??this._cameras.keys()){const e=this.getCameraConfig(t);e&&(yield[t,e])}}getCameraIDs(){return new Set(this._cameras.keys())}getCameraIDsWithCapability(e){const t=new Set;for(const n of this._cameras.values())n.getCapabilities()?.matches(e)&&t.add(n.getID());return t}getCameraConfigForMedia(e){return this.getCameraConfig(e.getCameraID())}getEngineOfType(e){return this._enginesByType.get(e)??null}getEngineForCameraID(e){return this._cameras.get(e)?.getEngine()??null}getEnginesForCameraIDs(e){const t=new Map;for(const n of e){const e=this.getEngineForCameraID(n);e&&(t.has(e)||t.set(e,new Set),t.get(e)?.add(n))}return t.size?t:null}getEngineForMedia(e){return this.getEngineForCameraID(e.getCameraID())}getAllDependentCameras(e,t){const n=new Set,a=new Set,i=e=>{n.add(e);const r=this.getCamera(e),o=r?.getConfig();if(r&&o){t&&!r.getCapabilities()?.matches(t)||a.add(e);const s=new Set;o.dependencies.cameras.forEach((e=>s.add(e))),o.dependencies.all_cameras&&this.getCameraIDs().forEach((e=>s.add(e)));for(const e of s)n.has(e)||i(e)}};return i(e),a}}const Xy=e=>{return ky((n=e=>e.getID()??e,(t=e)&&t.length?Fg(t,by(n)):[]),(e=>e.getStartTime()??e.getID()),"asc");var t,n};class Jy{static isEventQuery(e){return e.type===Wy.Event}static isRecordingQuery(e){return e.type===Wy.Recording}static isRecordingSegmentsQuery(e){return e.type===Wy.RecordingSegments}static isMediaMetadataQuery(e){return e.type===Wy.MediaMetadata}}class ev{static isEventQueryResult(e){return e.type===Zy.Event}static isRecordingQueryResult(e){return e.type===Zy.Recording}static isRecordingSegmentsQueryResult(e){return e.type===Zy.RecordingSegments}static isMediaMetadataQueryResult(e){return e.type===Zy.MediaMetadata}}class tv{constructor(e,t){this._requestLimit=new v_,this._api=e,this._engineFactory=t?.factory??new Yy(this._api.getEntityRegistryManager()),this._store=t?.store??new Ky}async initializeCamerasFromConfig(){const e=this._api.getConfigManager().getConfig(),t=this._api.getHASSManager().getHASS();if(!e||!t)return!1;this._requestLimit.concurrency=e.performance.features.max_simultaneous_engine_requests??1/0;const n=e.cameras.map((t=>{return n={},a=l_(e?.cameras_global),dg(n,a,t,((e,t)=>Array.isArray(t)?t:void 0));var n,a}));try{await this._initializeCameras(n)}catch(e){return this._api.getMessageManager().setErrorIfHigherPriority(e,N_("error.camera_initialization")),!1}return!0}async reset(){await this._store.reset()}async _getEnginesForCameras(e){const t=new Map,n=new Map,a=this._api.getHASSManager().getHASS(); -/* istanbul ignore if: the if path cannot be reached -- @preserve */ -if(!a)return t;const i=await(async e=>await Jg(e,(e=>this._engineFactory.getEngineForCamera(a,e))))(e);for(const[a,r]of e.entries()){const e=i[a],o=e?n.get(e)??await this._engineFactory.createEngine(e,{eventCallback:e=>this._api.getTriggersManager().handleCameraEvent(e),stateWatcher:this._api.getHASSManager().getStateWatcher(),resolvedMediaCache:this._api.getResolvedMediaCache()}):null;if(!o||!e)throw new qy(N_("error.no_camera_engine"),l_(r));n.set(e,o),t.set(r,o)}return t}async _initializeCameras(e){const t=new Date,n=this._api.getHASSManager().getHASS(); -/* istanbul ignore if: the if path cannot be reached -- @preserve */ -if(!n)return;e.some((e=>(e=>e.triggers.motion||e.triggers.occupancy)(e)))&&await this._api.getEntityRegistryManager().fetchEntityList(n);const a=await this._getEnginesForCameras(e),i=await Jg(a.entries(),(async([e,t])=>await t.createCamera(n,e))),r=async()=>{i.forEach((e=>e.destroy()))},o=new Set;for(const e of i){const t=F_(e.getConfig());if(!t)throw await r(),new qy(N_("error.no_camera_id"),e.getConfig());if(o.has(t))throw await r(),new qy(N_("error.duplicate_camera_id"),e.getConfig());e.setID(t),o.add(t)}await this._store.setCameras(i),V_(this._api.getConfigManager().getCardWideConfig(),"Frigate Card CameraManager initialized (Cameras: ",this._store.getCameras(),`, Duration: ${((new Date).getTime()-t.getTime())/1e3}s,`,")")}isInitialized(){return this._store.getCameraCount()>0}getStore(){return this._store}generateDefaultEventQueries(e,t){return this._generateDefaultQueries(e,{type:Wy.Event,...t})}generateDefaultRecordingQueries(e,t){return this._generateDefaultQueries(e,{type:Wy.Recording,...t})}generateDefaultRecordingSegmentsQueries(e,t){return this._generateDefaultQueries(e,{type:Wy.RecordingSegments,...t})}_generateDefaultQueries(e,t){const n=[],a=Ug(e),i=this._store.getEnginesForCameraIDs(a);if(!i)return null;for(const[e,a]of i){let i=null; -/* istanbul ignore else: the else path cannot be reached -- @preserve */Jy.isEventQuery(t)?i=e.generateDefaultEventQuery(this._store,a,t):Jy.isRecordingQuery(t)?i=e.generateDefaultRecordingQuery(this._store,a,t):Jy.isRecordingSegmentsQuery(t)&&(i=e.generateDefaultRecordingSegmentsQuery(this._store,a,t));for(const e of i??[])n.push(e)}return n.length?n:null}async getMediaMetadata(){const e=new Set,t=new Set,n=new Set,a=new Set,i={type:Wy.MediaMetadata,cameraIDs:this._store.getCameraIDs()},r=await this._handleQuery(i);for(const i of r.values())i.metadata.tags&&i.metadata.tags.forEach(e.add,e),i.metadata.what&&i.metadata.what.forEach(t.add,t),i.metadata.where&&i.metadata.where.forEach(n.add,n),i.metadata.days&&i.metadata.days.forEach(a.add,a);return t.size||n.size||a.size||e.size?{...e.size&&{tags:e},...t.size&&{what:t},...n.size&&{where:n},...a.size&&{days:a}}:null}async getEvents(e,t){return await this._handleQuery(e,t)}async getRecordings(e,t){return await this._handleQuery(e,t)}async getRecordingSegments(e,t){return await this._handleQuery(e,t)}async executeMediaQueries(e,t){return this._convertQueryResultsToMedia(await this._handleQuery(e,t))}async extendMediaQueries(e,t,n,a){if(!this._api.getHASSManager().getHASS())return null;const i=e=>{let n=null;for(const a of t){const t=a.getStartTime();t&&(!n||"earliest"===e&&tn)&&(n=t)}return n},r=this._api.getConfigManager().getCardWideConfig()?.performance?.features.media_chunk_size??50,o=[],s=[];for(const t of e){const e={...t}; -/* istanbul ignore else: the else path cannot be reached -- @preserve */if("later"===n){const t=i("latest");t&&(e.start=t,delete e.end)}else if("earlier"===n){const t=i("earliest");t&&(e.end=t,delete e.start)}e.limit=r,s.push({...t,limit:(t.limit??0)+r}),o.push(e)}const c=this._convertQueryResultsToMedia(await this._handleQuery(o,a));if(!c.length)return null;const l=Xy(t.concat(c));return l.length===t.length?null:{queries:s,results:l}}async getMediaDownloadPath(e){const t=this._store.getCameraConfigForMedia(e),n=this._store.getEngineForMedia(e),a=this._api.getHASSManager().getHASS();return t&&n&&a?await n.getMediaDownloadPath(a,t,e):null}getMediaCapabilities(e){const t=this._store.getEngineForMedia(e);return t?t.getMediaCapabilities(e):null}async favoriteMedia(e,t){const n=this._store.getCameraConfigForMedia(e),a=this._store.getEngineForMedia(e),i=this._api.getHASSManager().getHASS();if(!n||!a||!i)return;const r=new Date;await this._requestLimit.add((()=>a.favoriteMedia(i,n,e,t))),V_(this._api.getConfigManager().getCardWideConfig(),"Frigate Card CameraManager favorite request (",`Duration: ${((new Date).getTime()-r.getTime())/1e3}s,`,"Media:",e.getID(),", Favorite:",t,")")}areMediaQueriesResultsFresh(e,t){const n=new Date;for(const a of e){const e=this._store.getEnginesForCameraIDs(a.cameraIDs);for(const[i,r]of e??[]){const e=i.getQueryResultMaxAge({...a,cameraIDs:r});if(null!==e&&Bd(t,{seconds:e})a?null:await this._requestLimit.add((()=>i.getMediaSeekTime(r,this._store,e,t)))??null}async _handleQuery(e,t){const n=qg(e),a=new Map,i=new Date,r=this._api.getHASSManager().getHASS();if(!r)return a;const o=async(e,n)=>{let i=null; -/* istanbul ignore else: the else path cannot be reached -- @preserve */Jy.isEventQuery(n)?i=await e.getEvents(r,this._store,n,t):Jy.isRecordingQuery(n)?i=await e.getRecordings(r,this._store,n,t):Jy.isRecordingSegmentsQuery(n)?i=await e.getRecordingSegments(r,this._store,n,t):Jy.isMediaMetadataQuery(n)&&(i=await e.getMediaMetadata(r,this._store,n,t)),i?.forEach(((e,t)=>a.set(t,e)))},s=async e=>{const t=this._store.getEnginesForCameraIDs(e.cameraIDs);t&&await Promise.all(Array.from(t.keys()).map((n=>this._requestLimit.add((()=>o(n,{...e,cameraIDs:t.get(n)}))))))};await Promise.all(n.map((e=>s(e))));const c=(l=Array.from(a.values()).map((e=>Number(e.cached??0))))&&l.length?function(e,t){for(var n,a=-1,i=e.length;++athis._store.getCamera(e))).filter(rf);return new W_({live:t.some((e=>e.getCapabilities()?.has("live"))),clips:t.some((e=>e.getCapabilities()?.has("clips"))),recordings:t.some((e=>e.getCapabilities()?.has("recordings"))),snapshots:t.some((e=>e.getCapabilities()?.has("snapshots"))),"favorite-events":t.some((e=>e.getCapabilities()?.has("favorite-events"))),"favorite-recordings":t.some((e=>e.getCapabilities()?.has("favorite-recordings"))),seek:t.some((e=>e.getCapabilities()?.has("seek"))),menu:t.some((e=>e.getCapabilities()?.has("menu")))})}async executePTZAction(e,t,n){const a=this._store.getCameraConfig(e);if(!a)return;const i=H_(a,t,n);if(i)return await this._api.getActionsManager().executeActions(i);const r=this._api.getHASSManager().getHASS(),o=this._store.getEngineForCameraID(e);return o&&r?await this._requestLimit.add((()=>o.executePTZAction(r,a,t,n))):void 0}}class nv{constructor(e){this._cache=new Map,this._keyCallback=e}has(e){return this._cache.has(e)}getMatches(e){return[...this._cache.values()].filter(e)}get(e){return this._cache.get(e)??null}add(e){const t=e=>this._cache.set(this._keyCallback(e),e);Array.isArray(e)?e.forEach(t):t(e)}}const av=ba.object({id:ba.string(),model:ba.string().nullable(),config_entries:ba.string().array(),manufacturer:ba.string().nullable()}).array();class iv{constructor(e){this._fetchedDeviceList=!1,this._cache=e}async getDevice(e,t){return this._cache.has(t)?this._cache.get(t):(await this._fetchDeviceList(e),this._cache.get(t)??null)}async getMatchingDevices(e,t){return await this._fetchDeviceList(e),this._cache.getMatches(t)}async _fetchDeviceList(e){if(this._fetchedDeviceList)return;let t=null;try{t=await Sy(e,av,{type:"config/device_registry/list"})}catch(e){return void Zg(e)}this._cache.add(t),this._fetchedDeviceList=!0}}const rv=ba.object({config_entry_id:ba.string().nullable(),device_id:ba.string().nullable(),disabled_by:ba.string().nullable(),entity_id:ba.string(),hidden_by:ba.string().nullable(),platform:ba.string(),translation_key:ba.string().nullable(),unique_id:ba.string().or(ba.number()).optional()}),ov=rv.array();class sv{constructor(e){this._fetchedEntityList=!1,this._cache=e}async getEntity(e,t){const n=this._cache.get(t);if(n)return n;let a=null;try{a=await Sy(e,rv,{type:"config/entity_registry/get",entity_id:t})}catch(e){return Zg(e),null}return this._cache.add(a),a}async getMatchingEntities(e,t){return await this.fetchEntityList(e),this._cache.getMatches(t)}async getEntities(e,t){const n=new Map;return await Promise.all(t.map((async t=>{const a=await this.getEntity(e,t);a&&n.set(t,a)}))),n}async fetchEntityList(e){if(this._fetchedEntityList)return;let t=null;try{t=await Sy(e,ov,{type:"config/entity_registry/list"})}catch(e){return void Zg(e)}this._cache.add(t),this._fetchedEntityList=!0}}class cv extends Map{constructor(e={}){if(super(),!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");if("number"==typeof e.maxAge&&0===e.maxAge)throw new TypeError("`maxAge` must be a number greater than 0");this.maxSize=e.maxSize,this.maxAge=e.maxAge||Number.POSITIVE_INFINITY,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_emitEvictions(e){if("function"==typeof this.onEviction)for(const[t,n]of e)this.onEviction(t,n.value)}_deleteIfExpired(e,t){return"number"==typeof t.expiry&&t.expiry<=Date.now()&&("function"==typeof this.onEviction&&this.onEviction(e,t.value),this.delete(e))}_getOrDeleteIfExpired(e,t){if(!1===this._deleteIfExpired(e,t))return t.value}_getItemValue(e,t){return t.expiry?this._getOrDeleteIfExpired(e,t):t.value}_peek(e,t){const n=t.get(e);return this._getItemValue(e,n)}_set(e,t){this.cache.set(e,t),this._size++,this._size>=this.maxSize&&(this._size=0,this._emitEvictions(this.oldCache),this.oldCache=this.cache,this.cache=new Map)}_moveToRecent(e,t){this.oldCache.delete(e),this._set(e,t)}*_entriesAscending(){for(const e of this.oldCache){const[t,n]=e;if(!this.cache.has(t)){!1===this._deleteIfExpired(t,n)&&(yield e)}}for(const e of this.cache){const[t,n]=e;!1===this._deleteIfExpired(t,n)&&(yield e)}}get(e){if(this.cache.has(e)){const t=this.cache.get(e);return this._getItemValue(e,t)}if(this.oldCache.has(e)){const t=this.oldCache.get(e);if(!1===this._deleteIfExpired(e,t))return this._moveToRecent(e,t),t.value}}set(e,t,{maxAge:n=this.maxAge}={}){const a="number"==typeof n&&n!==Number.POSITIVE_INFINITY?Date.now()+n:void 0;return this.cache.has(e)?this.cache.set(e,{value:t,expiry:a}):this._set(e,{value:t,expiry:a}),this}has(e){return this.cache.has(e)?!this._deleteIfExpired(e,this.cache.get(e)):!!this.oldCache.has(e)&&!this._deleteIfExpired(e,this.oldCache.get(e))}peek(e){return this.cache.has(e)?this._peek(e,this.cache):this.oldCache.has(e)?this._peek(e,this.oldCache):void 0}delete(e){const t=this.cache.delete(e);return t&&this._size--,this.oldCache.delete(e)||t}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}resize(e){if(!(e&&e>0))throw new TypeError("`maxSize` must be a number greater than 0");const t=[...this._entriesAscending()],n=t.length-e;n<0?(this.cache=new Map(t),this.oldCache=new Map,this._size=t.length):(n>0&&this._emitEvictions(t.slice(0,n)),this.oldCache=new Map(t.slice(n)),this.cache=new Map,this._size=0),this.maxSize=e}*keys(){for(const[e]of this)yield e}*values(){for(const[,e]of this)yield e}*[Symbol.iterator](){for(const e of this.cache){const[t,n]=e;!1===this._deleteIfExpired(t,n)&&(yield[t,n.value])}for(const e of this.oldCache){const[t,n]=e;if(!this.cache.has(t)){!1===this._deleteIfExpired(t,n)&&(yield[t,n.value])}}}*entriesDescending(){let e=[...this.cache];for(let t=e.length-1;t>=0;--t){const n=e[t],[a,i]=n;!1===this._deleteIfExpired(a,i)&&(yield[a,i.value])}e=[...this.oldCache];for(let t=e.length-1;t>=0;--t){const n=e[t],[a,i]=n;if(!this.cache.has(a)){!1===this._deleteIfExpired(a,i)&&(yield[a,i.value])}}}*entriesAscending(){for(const[e,t]of this._entriesAscending())yield[e,t.value]}get size(){if(!this._size)return this.oldCache.size;let e=0;for(const t of this.oldCache.keys())this.cache.has(t)||e++;return Math.min(this._size+e,this.maxSize)}entries(){return this.entriesAscending()}forEach(e,t=this){for(const[n,a]of this.entriesAscending())e.call(t,a,n,this)}get[Symbol.toStringTag](){return JSON.stringify([...this.entriesAscending()])}}class lv{constructor(){this._cache=new cv({maxSize:1e3})}has(e){return this._cache.has(e)}get(e){return this._cache.get(e)}set(e,t){this._cache.set(e,t)}}const dv=async(e,t,n)=>{const a=n?n.get(t):void 0;if(a)return a;const i={type:"media_source/resolve_media",media_content_id:t};let r=null;try{r=await Sy(e,zs,i)}catch(e){Zg(e)}return n&&r&&n.set(t,r),r};class uv{constructor(e,t,n){this._context=e,this._action=t,this._config=n}async execute(e){}async stop(){}}class hv extends uv{}class pv extends hv{async execute(e){const t=this._action.camera??(this._action.triggered?e.getTriggersManager().getMostRecentlyTriggeredCameraID():null),n=e.getViewManager().getView(),a=e.getConfigManager().getConfig();if(t&&n){const i=a?.view.camera_select??"current",r="current"===i?n.view:i;await e.getViewManager().setViewByParametersWithNewQuery({params:{view:r,camera:t},failSafe:!0})}}}class mv extends hv{async execute(e){e.getCameraURLManager().openURL()}}class gv extends hv{async execute(e){await e.getViewManager().setViewDefaultWithNewQuery()}}class fv extends hv{async execute(e){await e.getViewManager().setViewByParametersWithNewQuery({params:{displayMode:this._action.display_mode}})}}class _v extends hv{async execute(e){await e.getDownloadManager().downloadViewerMedia()}}class yv extends hv{async execute(e){e.getExpandManager().toggleExpanded()}}class vv extends hv{async execute(e){e.getFullscreenManager().toggleFullscreen()}}class bv extends uv{async execute(e){const t=e.getHASSManager().getHASS();t&&at(e.getCardElementManager().getElement(),t,this._config??{},this._action)}}class wv extends hv{async execute(e){console[this._action.level](this._action.message)}}const xv=(e,t)=>e.context?.live?.overrides?.get(t??e.camera)??t??e.camera,Cv=e=>xv(e)!==e.camera,Mv=(e,t)=>{const n=e.context?.live?.overrides??new Map;n.set(e.camera,t),e.mergeInContext({live:{overrides:n}})};class kv extends hv{async execute(e){const t=this._action.media_player,n=e.getMediaPlayerManager(),a=e.getViewManager().getView(),i=a?.queryResults?.getSelectedResult()??null;"stop"===this._action.media_player_action?await n.stop(t):a?.is("live")?await n.playLive(t,xv(a)):a?.isViewerView()&&i&&await n.playMedia(t,i)}}class Sv extends hv{async execute(e){e.getCardElementManager().toggleMenu()}}class Ev extends hv{async execute(e){await e.getMicrophoneManager().connect()}}class $v extends hv{async execute(e){e.getMicrophoneManager().disconnect()}}class Av extends hv{async execute(e){e.getMicrophoneManager().mute()}}class Iv extends hv{async execute(e){await e.getMicrophoneManager().unmute()}}class zv extends hv{async execute(e){await(e.getMediaLoadedInfoManager().get()?.player?.mute())}}class Tv extends hv{async execute(e){await(e.getMediaLoadedInfoManager().get()?.player?.pause())}}class jv extends hv{async execute(e){await(e.getMediaLoadedInfoManager().get()?.player?.play())}}const Ov=(e,t)=>{if(e.isViewerView()){const n=e.queryResults?.getSelectedResult()?.getID()??null;return"ptz"!==t?.type&&n?{targetID:n,type:"digital"}:null}if(e.is("live")){const n=xv(e);let a="digital";return"digital"!==t?.type&&t?.cameraManager&&(Dv(t.cameraManager,n)&&(a="ptz"),"ptz"!==a&&"ptz"===t?.type)?null:{targetID:n,type:a}}return null},Dv=(e,t)=>!!e.getStore().getCamera(t)?.getCapabilities()?.hasPTZCapability();var Rv=lg((function(e,t,n){Km(e,t,n)}));const Pv=(e,t)=>{t?.[e]?.inProgressAction?.stop()},Lv=(e,t,n,a)=>{Rv(t,{[n]:{[e]:{inProgressAction:a}}})};class Nv extends hv{constructor(){super(...arguments),this._timer=new bf}async stop(){this._timer.stop()}async execute(e){const t=e.getViewManager().getView();if(!t)return;const n=this._action.camera??Ov(t,{type:"ptz",cameraManager:e.getCameraManager()})?.targetID??null,a=n?e.getCameraManager().getCameraCapabilities(n)?.getPTZCapabilities():null,i=n?e.getCameraManager().getStore().getCameraConfig(n)?.ptz:null;if(!n||!a||!i)return;if(!this._action.ptz_action)return void(a.presets&&a.presets.length>=1&&await e.getCameraManager().executePTZAction(n,"preset",{phase:this._action.ptz_phase,preset:a.presets[0]}));const r=(e=>{switch(e){case"left":case"right":case"up":case"down":return e;case"zoom_in":return"zoomIn";case"zoom_out":return"zoomOut"}return null})(this._action.ptz_action);if(r&&a[r]?.includes(this._action.ptz_phase?"continuous":"relative")||"preset"===this._action.ptz_action)return await e.getCameraManager().executePTZAction(n,this._action.ptz_action,{phase:this._action.ptz_phase,preset:this._action.ptz_preset});if("start"===this._action.ptz_phase){Pv(n,this._context.ptz),Lv(n,this._context,"ptz",this);const t=async()=>{this._action.ptz_action&&await e.getCameraManager().executePTZAction(n,this._action.ptz_action,{preset:this._action.ptz_preset}),this._timer.start(i.r2c_delay_between_calls_seconds,t)};await t()}else"stop"===this._action.ptz_phase?Pv(n,this._context.ptz):(await e.getCameraManager().executePTZAction(n,this._action.ptz_action,{preset:this._action.ptz_preset,phase:"start"}),this._timer.start(i.c2r_delay_between_calls_seconds,(async()=>{this._action.ptz_action&&await e.getCameraManager().executePTZAction(n,this._action.ptz_action,{preset:this._action.ptz_preset,phase:"stop"})})))}}class Fv extends hv{async execute(e){e.getViewManager().setViewWithMergedContext({ptzControls:{enabled:this._action.enabled}})}}function Vv(e,t,n){return void 0===n&&(n=t,t=void 0),void 0!==n&&(n=(n=wg(n))==n?n:0),void 0!==t&&(t=(t=wg(t))==t?t:0),function(e,t,n){return e==e&&(void 0!==n&&(e=e<=n?e:n),void 0!==t&&(e=e>=t?e:t)),e}(wg(e),t,n)}const Hv=50,Bv=50,qv=1,Uv=4,Wv=e=>void 0===e?.pan?.x&&void 0===e?.pan?.y&&void 0===e?.zoom;class Zv{constructor(e){this._context=e}modify(e){e.mergeInContext(this._context)}}const Qv=(e,t)=>({zoom:{[e]:{observed:t?.observed??void 0,requested:t?.requested??null}}}),Gv=(e,t,n)=>{t&&n&&t.setViewByParameters({modifiers:[new Zv(Qv(n,{observed:e.detail}))]})};class Yv extends hv{constructor(){super(...arguments),this._timer=new bf}async _stepChange(e,t){e.getViewManager().setViewWithMergedContext(Qv(t,{requested:this._convertActionToZoomSettings(e.getViewManager().getView()?.context?.zoom?.[t]?.observed)}))}async stop(){this._timer.stop()}async execute(e){const t=e.getViewManager().getView();if(!t)return;const n=this._action.target_id??Ov(t,{type:"digital",cameraManager:e.getCameraManager()})?.targetID;return n?this._action.absolute||!this._action.ptz_phase?await this._stepChange(e,n): -/* istanbul ignore else: the else path cannot be reached -- @preserve */ -void("start"===this._action.ptz_phase?(Pv(n,this._context.ptzDigital),Lv(n,this._context,"ptzDigital",this),await this._stepChange(e,n),this._timer.startRepeated(.1,(()=>this._stepChange(e,n)))):"stop"===this._action.ptz_phase&&(Pv(n,this._context.ptzDigital),delete this._context.ptzDigital?.[n])):void 0}_convertActionToZoomSettings(e){if(!this._action.absolute&&!this._action.ptz_action)return{};if(this._action.absolute)return this._action.absolute;const t=e?.zoom??1,n=e?.pan?.x??50,a=e?.pan?.y??50,i="zoom_in"===this._action.ptz_action?.1:"zoom_out"===this._action.ptz_action?-.1:0,r="left"===this._action.ptz_action?-5:"right"===this._action.ptz_action?5:0,o="up"===this._action.ptz_action?-5:"down"===this._action.ptz_action?5:0;return{zoom:Vv(t+i,1,10),pan:{x:Vv(n+r,0,100),y:Vv(a+o,0,100)}}}}class Kv extends hv{async execute(e){const t=e.getViewManager().getView();let n=null,a=null;if(this._action.target_id)n=this._action.target_id,a=Dv(e.getCameraManager(),n)?"ptz":"digital";else if(t){const i=Ov(t,{cameraManager:e.getCameraManager()});n=i?.targetID??null,a=i?.type??null}n&&null!==a&&("ptz"===a?this._toPTZAction(n):this._toPTZDigitalAction(n)).execute(e)}_toPTZAction(e){return new Nv(this._context,(t={cardID:this._action.card_id,cameraID:e,ptzAction:this._action.ptz_action,ptzPhase:this._action.ptz_phase,ptzPreset:this._action.ptz_preset},{action:"fire-dom-event",frigate_card_action:"ptz",...t?.cardID&&{card_id:t.cardID},...t?.ptzAction&&{ptz_action:t.ptzAction},...t?.ptzPhase&&{ptz_phase:t.ptzPhase},...t?.ptzPreset&&{ptz_preset:t.ptzPreset},...t?.cameraID&&{camera:t.cameraID}}),this._config);var t}_toPTZDigitalAction(e){return new Yv(this._context,(t={cardID:this._action.card_id,ptzPhase:this._action.ptz_phase,ptzAction:this._action.ptz_action,targetID:e},{action:"fire-dom-event",frigate_card_action:"ptz_digital",...t?.cardID&&{card_id:t.cardID},...t?.ptzAction&&{ptz_action:t.ptzAction},...t?.ptzPhase&&{ptz_phase:t.ptzPhase},...t?.absolute&&{absolute:t.absolute},...t?.targetID&&{target_id:t.targetID}}),this._config);var t}}class Xv extends hv{async execute(e){await e.getDownloadManager().downloadScreenshot()}}class Jv extends hv{async execute(e){var t;await tf((t=this._action.duration,3600*(t.h??0)+60*(t.m??0)+(t.s??0)+(t.ms??0)/1e3))}}class eb extends hv{async execute(e){switch(this._action.status_bar_action){case"reset":e.getStatusBarItemManager().removeAllDynamicStatusBarItems();break;case"add":this._action.items?.forEach((t=>e.getStatusBarItemManager().addDynamicStatusBarItem(t)));break;case"remove":this._action.items?.forEach((t=>e.getStatusBarItemManager().removeDynamicStatusBarItem(t)))}}}class tb{modify(e){(e=>{const t=e.context?.live?.overrides;t&&t.has(e.camera)&&e.context?.live?.overrides?.delete(e.camera)})(e)}}class nb extends hv{async execute(e){e.getViewManager().setViewByParameters({modifiers:[new tb]})}}class ab{constructor(e){this._api=e}modify(e){const t=[...this._api.getCameraManager().getStore().getAllDependentCameras(e.camera,"substream")];if(t.length<=1)return;const n=xv(e),a=t.indexOf(n),i=a<0?0:(a+1)%t.length;Mv(e,t[i])}}class ib extends hv{async execute(e){e.getViewManager().setViewByParameters({modifiers:[new ab(e)]})}}class rb{constructor(e){this._substreamID=e}modify(e){Mv(e,this._substreamID)}}class ob extends hv{async execute(e){e.getViewManager().setViewByParameters({modifiers:[new rb(this._action.camera)]})}}class sb extends hv{async execute(e){await(e.getMediaLoadedInfoManager().get()?.player?.unmute())}}class cb extends hv{async execute(e){await e.getViewManager().setViewByParametersWithNewQuery({params:{view:this._action.frigate_card_action}})}}class lb{createAction(e,t,n){const a=hf(t);if("fire-dom-event"!==t.action||!a)return new bv(e,t,n?.config);if(a.card_id&&a.card_id!==n?.cardID)return null;switch(a.frigate_card_action){case"default":return new gv(e,a,n?.config);case"clip":case"clips":case"image":case"live":case"recording":case"recordings":case"snapshot":case"snapshots":case"timeline":case"diagnostics":return new cb(e,a,n?.config);case"sleep":return new Jv(e,a,n?.config);case"download":return new _v(e,a,n?.config);case"camera_ui":return new mv(e,a,n?.config);case"expand":return new yv(e,a,n?.config);case"fullscreen":return new vv(e,a,n?.config);case"menu_toggle":return new Sv(e,a,n?.config);case"camera_select":return new pv(e,a,n?.config);case"live_substream_select":return new ob(e,a,n?.config);case"live_substream_off":return new nb(e,a,n?.config);case"live_substream_on":return new ib(e,a,n?.config);case"media_player":return new kv(e,a,n?.config);case"microphone_connect":return new Ev(e,a,n?.config);case"microphone_disconnect":return new $v(e,a,n?.config);case"microphone_mute":return new Av(e,a,n?.config);case"microphone_unmute":return new Iv(e,a,n?.config);case"mute":return new zv(e,a,n?.config);case"unmute":return new sb(e,a,n?.config);case"play":return new jv(e,a,n?.config);case"pause":return new Tv(e,a,n?.config);case"screenshot":return new Xv(e,a,n?.config);case"display_mode_select":return new fv(e,a,n?.config);case"ptz":return new Nv(e,a,n?.config);case"ptz_digital":return new Yv(e,a,n?.config);case"ptz_multi":return new Kv(e,a,n?.config);case"ptz_controls":return new Fv(e,a,n?.config);case"log":return new wv(e,a,n?.config);case"status_bar":return new eb(e,a,n?.config)} -/* istanbul ignore next: this path cannot be reached -- @preserve */ -/* istanbul ignore next: this path cannot be reached -- @preserve */ -return console.warn(`Frigate card received unknown card action: ${a.frigate_card_action}`),null}}class db{constructor(e,t,n){this._actions=[],this._factory=new lb,this._stopped=!1,this._context=e;for(const a of qg(t)){const t=this._factory.createAction(e,a,n);t&&this._actions.push(t)}}async execute(e){for(const t of this._actions){if(this._stopped)break;await t.execute(e)}}async stop(){this._stopped=!0}}const ub=ba.object({action:ba.enum(["tap","double_tap","hold","start_tap","end_tap"])}),hb=ba.object({detail:ub});class pb{constructor(e){this._actionsInFlight=[],this._actionContext={},this.handleInteractionEvent=e=>{const t=hb.safeParse(e);if(!t.success)return;const n=t.data.detail.action,a=this.getMergedActions(),i=_f(n,a);a&&n&&i&&this.executeActions(i,a)},this.handleCustomActionEvent=e=>{"detail"in e&&this.executeActions(e.detail)},this.handleActionExecutionRequestEvent=async e=>{await this.executeActions(e.detail.action,e.detail.config)},this._api=e}getMergedActions(){const e=this._api.getViewManager().getView();if(this._api.getMessageManager().hasMessage())return{};const t=this._api.getConfigManager().getConfig();let n;if(e?.is("live"))n=t?.live.actions;else if(e?.isGalleryView())n=t?.media_gallery?.actions;else if(e?.isViewerView())n=t?.media_viewer.actions;else{if(!e?.is("image"))return{};n=t?.image?.actions}return{...t?.view.actions,...n}}uninitialize(){this._actionsInFlight.forEach((e=>e.stop()))}async executeActions(e,t){const n=new db(this._actionContext,e,{config:t,cardID:this._api.getConfigManager().getConfig()?.card_id});this._actionsInFlight.push(n),await n.execute(this._api),this._actionsInFlight=this._actionsInFlight.filter((e=>e!==n))}}class mb{constructor(e){this._automations=[],this._priorEvaluations=new Map,this._nestedAutomationExecutions=0,this._api=e}deleteAutomations(e){this._automations=this._automations.filter((t=>t.tag!==e))}addAutomations(e){this._automations.push(...e)}execute(){if(!this._api.getHASSManager().hasHASS()||!this._api.getInitializationManager().isInitializedMandatory()||this._api.getMessageManager().hasErrorMessage())return;const e=[];for(const t of this._automations){const n=this._api.getConditionsManager().evaluateConditions(t.conditions),a=n?t.actions:t.actions_not,i=this._priorEvaluations.get(t);this._priorEvaluations.set(t,n),n!==i&&a&&e.push(...a)}if(!e.length)return;(async e=>{++this._nestedAutomationExecutions,this._nestedAutomationExecutions>10?this._api.getMessageManager().setMessageIfHigherPriority({type:"error",message:N_("error.too_many_automations")}):(await this._api.getActionsManager().executeActions(e),--this._nestedAutomationExecutions)})(e)}}class gb{constructor(e){this._api=e}openURL(){const e=this.getCameraURL();e&&window.open(e)}hasCameraURL(){return!!this.getCameraURL()}getCameraURL(){const e=this._api.getViewManager().getView(),t=e?.queryResults?.getSelectedResult()??null,n=e?.camera?this._api.getCameraManager().getCameraEndpoints(e.camera,{view:e.view,...t&&{media:t}})??null:null;return n?.ui?.endpoint??null}}const fb=()=>!!navigator.userAgent.match(/CrKey\//),_b=(e,t)=>!!((e.attributes.supported_features??0)&t),yb=e=>(e=>_b(e,4)&&"number"==typeof e.attributes.in_progress)(e)||!!e.attributes.in_progress,vb=e=>{switch(e){case"armed_away":return"mdi:shield-lock";case"armed_vacation":return"mdi:shield-airplane";case"armed_home":return"mdi:shield-home";case"armed_night":return"mdi:shield-moon";case"armed_custom_bypass":return"mdi:security";case"pending":case"arming":return"mdi:shield-sync";case"triggered":return"mdi:bell-ring";case"disarmed":return"mdi:shield-off";default:return"mdi:shield"}},bb=(e,t)=>{const n="off"===e;switch(t?.attributes.device_class){case"battery":return n?"mdi:battery":"mdi:battery-outline";case"battery_charging":return n?"mdi:battery":"mdi:battery-charging";case"cold":return n?"mdi:thermometer":"mdi:snowflake";case"connectivity":return n?"mdi:close-network-outline":"mdi:check-network-outline";case"door":return n?"mdi:door-closed":"mdi:door-open";case"garage_door":return n?"mdi:garage":"mdi:garage-open";case"power":case"plug":return n?"mdi:power-plug-off":"mdi:power-plug";case"gas":case"problem":case"safety":case"tamper":return n?"mdi:check-circle":"mdi:alert-circle";case"smoke":return n?"mdi:check-circle":"mdi:smoke";case"heat":return n?"mdi:thermometer":"mdi:fire";case"light":return n?"mdi:brightness5":"mdi:brightness-7";case"lock":return n?"mdi:lock":"mdi:lock-open";case"moisture":return n?"mdi:water-off":"mdi:water";case"motion":return n?"mdi:motion-sensor-off":"mdi:motion-sensor";case"occupancy":case"presence":return n?"mdi:home-outline":"mdi:home";case"opening":return n?"mdi:square":"mdi:square-outline";case"running":return n?"mdi:stop":"mdi:play";case"sound":return n?"mdi:music-note-off":"mdi:music-note";case"update":return n?"mdi:package":"mdi:package-up";case"vibration":return n?"mdi:crop-portrait":"mdi:vibrate";case"window":return n?"mdi:window-closed":"mdi:window-open";default:return n?"mdi:radiobox-blank":"mdi:checkbox-marked-circle"}},wb=(e,t)=>{const n="closed"!==e;switch(t?.attributes.device_class){case"garage":switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:garage";default:return"mdi:garage-open"}case"gate":switch(e){case"opening":case"closing":return"mdi:gate-arrow-right";case"closed":return"mdi:gate";default:return"mdi:gate-open"}case"door":return n?"mdi:door-open":"mdi:door-closed";case"damper":return n?"md:circle":"mdi:circle-slice-8";case"shutter":switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:window-shutter";default:return"mdi:window-shutter-open"}case"curtain":switch(e){case"opening":return"mdi:arrow-split-vertical";case"closing":return"mdi:arrow-collapse-horizontal";case"closed":return"mdi:curtains-closed";default:return"mdi:curtains"}case"blind":case"shade":switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:blinds";default:return"mdi:blinds-open"}case"window":switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:window-closed";default:return"mdi:window-open"}}switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:window-closed";default:return"mdi:window-open"}},xb={apparent_power:"mdi:flash",aqi:"mdi:air-filter",carbon_dioxide:"mdi:molecule-co2",carbon_monoxide:"mdi:molecule-co",current:"mdi:current-ac",date:"mdi:calendar",energy:"mdi:lightning-bolt",frequency:"mdi:sine-wave",gas:"mdi:gas-cylinder",humidity:"mdi:water-percent",illuminance:"mdi:brightness-5",monetary:"mdi:cash",nitrogen_dioxide:"mdi:molecule",nitrogen_monoxide:"mdi:molecule",nitrous_oxide:"mdi:molecule",ozone:"mdi:molecule",pm1:"mdi:molecule",pm10:"mdi:molecule",pm25:"mdi:molecule",power:"mdi:flash",power_factor:"mdi:angle-acute",pressure:"mdi:gauge",reactive_power:"mdi:flash",signal_strength:"mdi:wifi",sulphur_dioxide:"mdi:molecule",temperature:"mdi:thermometer",timestamp:"mdi:clock",volatile_organic_compounds:"mdi:molecule",voltage:"mdi:sine-wave"},Cb={10:"mdi:battery-10",20:"mdi:battery-20",30:"mdi:battery-30",40:"mdi:battery-40",50:"mdi:battery-50",60:"mdi:battery-60",70:"mdi:battery-70",80:"mdi:battery-80",90:"mdi:battery-90",100:"mdi:battery"},Mb={10:"mdi:battery-charging-10",20:"mdi:battery-charging-20",30:"mdi:battery-charging-30",40:"mdi:battery-charging-40",50:"mdi:battery-charging-50",60:"mdi:battery-charging-60",70:"mdi:battery-charging-70",80:"mdi:battery-charging-80",90:"mdi:battery-charging-90",100:"mdi:battery-charging"},kb=(e,t)=>{const n=Number(e);if(isNaN(n))return"off"===e?"mdi:battery":"on"===e?"mdi:battery-alert":"mdi:battery-unknown";const a=10*Math.round(n/10);return t&&n>=10?Mb[a]:t?"mdi:battery-charging-outline":n<=5?"mdi:battery-alert-variant-outline":Cb[a]},Sb=e=>{const t=e?.attributes.device_class;if(t&&t in xb)return xb[t];if("battery"===t)return e?((e,t)=>{const n=e.state;return kb(n,"on"===t?.state)})(e):"mdi:battery";const n=e?.attributes.unit_of_measurement;return"°C"===n||"°F"===n?"mdi:thermometer":void 0},Eb="mdi:bookmark",$b={alert:"mdi:alert",air_quality:"mdi:air-filter",automation:"mdi:robot",calendar:"mdi:calendar",camera:"mdi:video",climate:"mdi:thermostat",configurator:"mdi:cog",conversation:"mdi:text-to-speech",counter:"mdi:counter",fan:"mdi:fan",google_assistant:"mdi:google-assistant",group:"mdi:google-circles-communities",homeassistant:"mdi:home-assistant",homekit:"mdi:home-automation",image_processing:"mdi:image-filter-frames",input_button:"mdi:gesture-tap-button",input_datetime:"mdi:calendar-clock",input_number:"mdi:ray-vertex",input_select:"mdi:format-list-bulleted",input_text:"mdi:form-textbox",light:"mdi:lightbulb",mailbox:"mdi:mailbox",notify:"mdi:comment-alert",number:"mdi:ray-vertex",persistent_notification:"mdi:bell",person:"mdi:account",plant:"mdi:flower",proximity:"mdi:apple-safari",remote:"mdi:remote",scene:"mdi:palette",script:"mdi:script-text",select:"mdi:format-list-bulleted",sensor:"mdi:eye",siren:"mdi:bullhorn",simple_alarm:"mdi:bell",sun:"mdi:white-balance-sunny",timer:"mdi:timer-outline",updater:"mdi:cloud-upload",vacuum:"mdi:robot-vacuum",water_heater:"mdi:thermometer",weather:"mdi:weather-cloudy",zone:"mdi:map-marker-radius"};function Ab(e,t,n,a){switch(e){case"alarm_control_panel":return vb(n);case"binary_sensor":return bb(n,t);case"button":switch(t?.attributes.device_class){case"restart":return"mdi:restart";case"update":return"mdi:package-up";default:return"mdi:gesture-tap-button"}case"cover":return wb(n,t);case"device_tracker":return"router"===t?.attributes.source_type?"home"===n?"mdi:lan-connect":"mdi:lan-disconnect":["bluetooth","bluetooth_le"].includes(t?.attributes.source_type)?"home"===n?"mdi:bluetooth-connect":"mdi:bluetooth":"not_home"===n?"mdi:account-arrow-right":"mdi:account";case"humidifier":return n&&"off"===n?"mdi:air-humidifier-off":"mdi:air-humidifier";case"input_boolean":return"on"===n?"mdi:check-circle-outline":"mdi:close-circle-outline";case"lock":switch(n){case"unlocked":return"mdi:lock-open";case"jammed":return"mdi:lock-alert";case"locking":case"unlocking":return"mdi:lock-clock";default:return"mdi:lock"}case"media_player":switch(t?.attributes.device_class){case"speaker":switch(n){case"playing":return"mdi:speaker-play";case"paused":return"mdi:speaker-pause";case"off":return"mdi:speaker-off";default:return"mdi:speaker"}case"tv":switch(n){case"playing":return"mdi:television-play";case"paused":return"mdi:television-pause";case"off":return"mdi:television-off";default:return"mdi:television"}default:switch(n){case"playing":case"paused":return"mdi:cast-connected";case"off":return"mdi:cast-off";default:return"mdi:cast"}}case"switch":switch(t?.attributes.device_class){case"outlet":return"on"===n?"mdi:power-plug":"mdi:power-plug-off";case"switch":return"on"===n?"mdi:toggle-switch":"mdi:toggle-switch-off";default:return"mdi:flash"}case"zwave":switch(n){case"dead":return"mdi:emoticon-dead";case"sleeping":return"mdi:sleep";case"initializing":return"mdi:timer-sand";default:return"mdi:z-wave"}case"sensor":{const e=Sb(t);if(e)return e;break}case"input_datetime":if(!t?.attributes.has_date)return"mdi:clock";if(!t.attributes.has_time)return"mdi:calendar";break;case"sun":return"above_horizon"===t?.state?$b[e]:"mdi:weather-night";case"update":return"on"===t?.state?yb(t)?"mdi:package-down":"mdi:package-up":"mdi:package"}return e in $b?$b[e]:a??Eb}async function Ib(e,t,n){const a={type:"auth/sign_path",path:t,expires:n},i=await Sy(e,Ts,a);return i?e.hassUrl(i.path):null}function zb(e,t,n,a){if(!e||!n||!n.length)return[];const i=[];for(const r of n){const n=t?.states[r],o=e.states[r];if((a?.stateOnly&&n?.state!==o?.state||!a?.stateOnly&&n!==o)&&(i.push({entityID:r,oldState:n,newState:o}),a?.firstOnly))break}return i}function Tb(e,t,n,a){return!!zb(e,t,n,{...a,firstOnly:!0}).length}function jb(e){if("off"===e.state||!e.attributes.brightness)return"";return`brightness(${(e.attributes.brightness+245)/5}%)`}function Ob(e){return"off"===e.state?"":e.attributes.rgb_color?`rgb(${e.attributes.rgb_color.join(",")})`:""}function Db(e){return{color:Ob(e),filter:jb(e)}}function Rb(e,t){if(!t.entity)return t;const n=e.states[t.entity];n&&t.state_color&&(t.style={...Db(n),...t.style}),t.title=t.title??(n?.attributes?.friendly_name||t.entity),t.icon=t.icon??Lb(e,t.entity);const a=n?function(e){return Ye(e.entity_id)}(n):void 0;return t.data_domain=t.state_color||"light"===a&&!1!==t.state_color?a:void 0,n&&(t.data_state=(e=>{const t=e.entity_id.split(".")[0];let n=e.state;return"climate"===t&&(n=e.attributes.hvac_action),n})(n)),t}function Pb(e,t){return t?e?.states[t]?.attributes?.friendly_name:void 0}function Lb(e,t,n){const a=e.states[t];return a&&a.attributes.icon?a.attributes.icon:Ab(Ye(t),a,a?.state,n)}const Nb=async()=>{if(["ha-button-menu","ha-button","ha-camera-stream","ha-card","ha-circular-progress","ha-hls-player","ha-icon-button","ha-icon","ha-menu-button","ha-selector","ha-web-rtc-player"].every((e=>customElements.get(e))))return!0;const e=await window.loadCardHelpers();await e.createCardElement({type:"picture-glance",entities:[],camera_image:"dummy-to-load-editor-components"}),await customElements.whenDefined("hui-picture-glance-card");const t=customElements.get("hui-picture-glance-card");if(!t)return!1;const n=new t;return await n.constructor.getConfigElement(),!0},Fb=e=>!!e&&["on","open"].includes(e),Vb=(e,t)=>{if(!e)return[];const n=Object.keys(e.states).filter((e=>!t||e.substr(0,e.indexOf("."))===t));return n.sort(),n};function Hb(e){return!!e?.startsWith("/")}function Bb(e,t){return Hb(t)?e.hassUrl(t):t??null}class qb{constructor(){this._initialized=new Set}async initializeMultipleIfNecessary(e){return(await Jg(Object.entries(e),(async([e,t])=>await this.initializeIfNecessary(e,t)))).every(Boolean)}async initializeIfNecessary(e,t){return!!this._initialized.has(e)||(t?!!await t()&&(this._initialized.add(e),!0):(this._initialized.add(e),!0))}uninitialize(e){this._initialized.delete(e)}isInitialized(e){return this._initialized.has(e)}isInitializedMultiple(e){return e.every((e=>this.isInitialized(e)))}}var Ub;!function(e){e.LANGUAGES="languages",e.SIDE_LOAD_ELEMENTS="side-load-elements",e.CAMERAS="cameras",e.MICROPHONE_CONNECT="microphone-connect",e.VIEW="view"}(Ub||(Ub={}));class Wb{constructor(e,t){this._initializationQueue=new v_({concurrency:1}),this._everInitialized=!1,this._api=e,this._initializer=t??new qb}wasEverInitialized(){return this._everInitialized}isInitializedMandatory(){return!!this._api.getConfigManager().getConfig()&&this._initializer.isInitializedMultiple([Ub.LANGUAGES,Ub.SIDE_LOAD_ELEMENTS,Ub.CAMERAS,...this._api.getMicrophoneManager().shouldConnectOnInitialization()?[Ub.MICROPHONE_CONNECT]:[],Ub.VIEW])}async initializeMandatory(){await this._initializationQueue.add((()=>this._initializeMandatory()))}async _initializeMandatory(){const e=this._api.getHASSManager().getHASS();if(!e||this.isInitializedMandatory())return;if(!await this._initializer.initializeMultipleIfNecessary({[Ub.LANGUAGES]:async()=>await(async e=>{const t=L_(e);return"ca"===t?R_[t]=await import("./lang-ca-449daa4a.js"):"it"===t?R_[t]=await import("./lang-it-2a20a319.js"):"pt"===t?R_[t]=await import("./lang-pt-PT-c4863423.js"):"pt_BR"===t?R_[t]=await import("./lang-pt-BR-83a703b9.js"):"fr"===t&&(R_[t]=await import("./lang-fr-ea16daba.js")),t&&(P_=t),!0})(e),[Ub.SIDE_LOAD_ELEMENTS]:async()=>await Nb()}))return;this._api.getConfigManager().getConfig()&&await this._initializer.initializeMultipleIfNecessary({[Ub.CAMERAS]:async()=>await this._api.getCameraManager().initializeCamerasFromConfig(),...this._api.getMicrophoneManager().shouldConnectOnInitialization()&&{[Ub.MICROPHONE_CONNECT]:async()=>await this._api.getMicrophoneManager().connect()}})&&!this._api.getMessageManager().hasMessage()&&await this._initializer.initializeIfNecessary(Ub.VIEW,this._api.getViewManager().initialize)&&(this._everInitialized=!0,this._api.getCardElementManager().update())}uninitialize(e){this._initializer.uninitialize(e)}}class Zb{constructor(e,t,n,a){this.update=()=>{this._element.requestUpdate()},this._api=e,this._element=t,this._scrollCallback=n,this._menuToggleCallback=a}getElement(){return this._element}scrollReset(){this._scrollCallback()}toggleMenu(){this._menuToggleCallback()}hasUpdated(){return this._element.hasUpdated}elementConnected(){this._api.getInteractionManager().initialize(),this._api.getFullscreenManager().initialize(),this._api.getExpandManager().initialize(),this._api.getMediaLoadedInfoManager().initialize(),this._api.getMicrophoneManager().initialize(),this._api.getKeyboardStateManager().initialize(),this._api.getDefaultManager().initialize(),this._api.getMediaPlayerManager().initialize(),this._api.getHASSManager().getStateWatcher()?.subscribe(this.update,[...this._api.getConfigManager().getConfig()?.view.render_entities??[],...this._api.getMediaPlayerManager().getMediaPlayers()??[]]),af(this._element,(e=>{const t=e.getRootNode();return!!(t&&t instanceof ShadowRoot&&"HUI-PANEL-VIEW"===t.host.tagName)})(this._element),"panel"),af(this._element,fb(),"casted"),this._api.getFullscreenManager().connect(),this._element.addEventListener("mousemove",this._api.getInteractionManager().reportInteraction),this._element.addEventListener("wheel",this._api.getInteractionManager().reportInteraction),this._element.addEventListener("ll-custom",this._api.getActionsManager().handleCustomActionEvent),this._element.addEventListener("action",this._api.getActionsManager().handleInteractionEvent),this._element.addEventListener("action",this._api.getInteractionManager().reportInteraction),this._element.addEventListener("frigate-card:action:execution-request",this._api.getActionsManager().handleActionExecutionRequestEvent),window.addEventListener("location-changed",this._api.getQueryStringManager().requestExecution),window.addEventListener("popstate",this._api.getQueryStringManager().requestExecution),this._api.getQueryStringManager().requestExecution(),this._element.requestUpdate()}elementDisconnected(){af(this._element,!1,"panel"),af(this._element,!1,"tabindex"),af(this._element,!1,"casted"),this._api.getMediaLoadedInfoManager().clear(),this._api.getFullscreenManager().disconnect(),this._api.getKeyboardStateManager().uninitialize(),this._api.getActionsManager().uninitialize(),this._api.getDefaultManager().uninitialize(),this._api.getHASSManager().getStateWatcher()?.unsubscribe(this.update),this._api.getInitializationManager().uninitialize(Ub.CAMERAS),this._api.getCameraManager().reset(),this._element.removeEventListener("mousemove",this._api.getInteractionManager().reportInteraction),this._element.removeEventListener("wheel",this._api.getInteractionManager().reportInteraction),this._element.removeEventListener("ll-custom",this._api.getActionsManager().handleCustomActionEvent),this._element.removeEventListener("action",this._api.getActionsManager().handleInteractionEvent),this._element.removeEventListener("action",this._api.getInteractionManager().reportInteraction),this._element.removeEventListener("frigate-card:action:execution-request",this._api.getActionsManager().handleActionExecutionRequestEvent),window.removeEventListener("location-changed",this._api.getQueryStringManager().requestExecution),window.removeEventListener("popstate",this._api.getQueryStringManager().requestExecution)}}function Qb(e,t,n){return null==e?e:function(e,t,n,a){if(!dh(e))return e;for(var i=-1,r=(t=ry(t,e)).length,o=r-1,s=e;null!=s&&++i{Qb(e,t,n)},Kb=(e,t,n)=>my(e,t,n),Xb=(e,t)=>{!function(e,t){null==e||Gb(e,t)}(e,t)},Jb=e=>l_(e),ew=(e,t)=>e.replace("#",`[${t.toString()}]`),tw=function(e){let t=!1;for(let n=0;n{const i=Kb(e,t);if(void 0===i)return!1;const r=a?.transform?a.transform(i):i;return!(t===n&&jy(i,r)||(null===r?a?.keepOriginal||(Xb(e,t),0):void 0===r||(a?.keepOriginal||Xb(e,t),Yb(e,n,r),0)))})(a,e,t,n)}},iw=function(e,t,n){return function(a){let i=aw(e,t,n)(a);return i=sw(ys,aw(e,t,n),(e=>e.overrides))(a)||i,i}},rw=function(e,t){return iw(e,e,{transform:t})},ow=function(e){return iw(e,e,{transform:e=>null})},sw=function(e,t,n){return function(a){let i=!1;const r=Kb(a,e);return Array.isArray(r)&&r.forEach((e=>{const a=n?n(e):e;a&&"object"==typeof a&&(i=t(a)||i)})),i}},cw=(e,t)=>{const n=a=>{let i=!1;if(a&&"object"==typeof a){const r=t?t(a):a;r&&(i=e(r)||i),Array.isArray(a)?a.forEach((e=>{i=n(e)||i})):Object.keys(a).forEach((e=>{i=n(a[e])||i}))}return i};return n},lw=e=>!("object"!=typeof e||!e||void 0===e.mediaLoaded)&&(e.media_loaded=e.mediaLoaded,delete e.mediaLoaded,!0),dw=e=>{if("object"!=typeof e||!e||"object"!=typeof e.conditions||!e.conditions)return!1;const t=e.conditions,n=[];if(void 0!==t.view&&n.push({condition:"view",views:t.view}),void 0!==t.fullscreen&&n.push({condition:"fullscreen",fullscreen:t.fullscreen}),void 0!==t.expand&&n.push({condition:"expand",expand:t.expand}),void 0!==t.camera&&n.push({condition:"camera",cameras:t.camera}),void 0!==t.media_loaded&&n.push({condition:"media_loaded",media_loaded:t.media_loaded}),void 0!==t.state&&Array.isArray(t.state))for(const e of t.state)"object"!=typeof e||!e||void 0===e.state&&void 0===e.state_not&&void 0===e.entity||n.push({condition:"state",...e.state&&{state:e.state},...e.state_not&&{state_not:e.state_not},...e.entity&&{entity:e.entity}});return void 0!==t.media_query&&n.push({condition:"screen",media_query:t.media_query}),!!n.length&&(e.conditions=n,!0)},uw=e=>!("object"!=typeof e||!e||"call-service"!==e.action||"string"!=typeof e.service)&&(e.action="perform-action",e.perform_action=e.service,delete e.service,!0),hw=e=>!("object"!=typeof e||!e||"call-service"!==e.action||void 0===e.service||void 0===e.service_data||void 0!==e.data)&&(e.data=e.service_data,delete e.service_data,!0),pw=e=>!("object"!=typeof e||!e||"custom:frigate-card-action"!==e.action||"frigate_ui"!==e.frigate_card_action)&&(e.frigate_card_action="camera_ui",!0),mw=[sw(ys,lw,(e=>e.conditions)),e=>cw(lw,(e=>e.conditions))("object"==typeof e&&e?e[Ai]:{}),iw("event_gallery",ir),iw("menu.buttons.frigate_ui",ns),e=>cw(pw)("object"==typeof e&&e?e:{}),sw(wa,rw("live_provider",(e=>"frigate-jsmpeg"===e?"jsmpeg":e))),iw("live.jsmpeg",Ci),iw("live.image",wi),iw("live.webrtc_card",Mi),sw(wa,iw("frigate.zone","frigate.zones",{transform:e=>qg(e)})),sw(wa,iw("frigate.label","frigate.labels",{transform:e=>qg(e)})),e=>cw(hw)("object"==typeof e&&e?e:{}),function(e){if("object"!=typeof e||!e||!(Ai in e)||!Array.isArray(e[Ai]))return!1;let t=!1;const n=n=>{if(!t){if(!my(e,"live.controls.ptz")){const{type:t,...a}=n;Qb(e,"live.controls.ptz",a)}t=!0}},a=e=>{const t=[];for(const i of e)if("custom:frigate-card-ptz"===i.type)n(i);else if("conditional"!==i.type&&"custom:frigate-card-conditional"!==i.type||!Array.isArray(i.elements))t.push(i);else{const e=a(i.elements);e.length&&(i.elements=e,t.push(i))}return t},i=a(e[Ai]);return t&&(i.length?e[Ai]=i:delete e[Ai]),t},iw("view.timeout_seconds",Oi),rw("live.lazy_unload",(e=>"all"===e?["unselected","hidden"]:"never"===e?null:qg(e))),rw("live.auto_play",(e=>"all"===e?null:"never"===e?[]:qg(e))),rw("live.auto_pause",(e=>"all"===e?["unselected","hidden"]:"never"===e?null:qg(e))),rw("live.auto_mute",(e=>"all"===e?null:"never"===e?[]:qg(e))),rw("live.auto_unmute",(e=>"all"===e?["selected","visible","microphone"]:"never"===e?null:qg(e))),rw("media_viewer.auto_play",(e=>"all"===e?null:"never"===e?[]:qg(e))),rw("media_viewer.auto_pause",(e=>"all"===e?null:"never"===e?[]:qg(e))),rw("media_viewer.auto_mute",(e=>"all"===e?null:"never"===e?[]:qg(e))),rw("media_viewer.auto_unmute",(e=>"all"===e?["selected","visible"]:"never"===e?null:qg(e))),iw("live.controls.thumbnails.media",no),iw("timeline.media",Fo),iw("live.controls.timeline.media",uo),iw("media_viewer.controls.timeline.media",Or),iw("view.scan",Yi),iw("view.triggers.enabled",tr,{transform:e=>!0===e?"live":null,keepOriginal:!0}),iw("view.triggers.enabled",Xi,{transform:e=>!0!==e&&null}),iw("view.triggers.untrigger_reset",nr,{transform:e=>e?"default":null}),iw("live.layout",Ei),ow("media_viewer.layout"),ow("image.layout"),sw(ys,dw),e=>cw(dw)("object"==typeof e&&e?e[Ai]:{}),e=>cw(dw)("object"==typeof e&&e?e.automations:{}),sw(wa,iw("hide","capabilities",{transform:e=>!0===e?{disable_except:["substream"]}:null})),iw("performance.profile",Ss,{transform:e=>"low"===e?["low-performance"]:null}),sw(ys,aw("overrides","merge")),iw("live.controls.ptz",$i,{transform:e=>{if("object"!=typeof e||!e)return;const t=["data_left","data_right","data_up","data_down","data_zoom_in","data_zoom_out","service"],n=["actions_left","actions_right","actions_up","actions_down","actions_zoom_in","actions_zoom_out"],a=[...t,...n,"data_home","actions_home"];if(!Object.keys(e).some((e=>a.includes(e))))return;const i={};t.filter((t=>t in e)).reduce(((t,n)=>(t[n]=e[n],t)),i),n.filter((t=>t in e)).reduce(((t,n)=>("object"==typeof e[n]&&"tap_action"in e[n]&&(t[n]=e[n].tap_action),t)),i);const r=()=>{i.presets="presets"in e&&"object"==typeof e.presets&&e.presets?e.presets:{}};return"actions_home"in e&&"object"==typeof e.actions_home&&e.actions_home&&"tap_action"in e.actions_home?(r(),i.presets.home=e.actions_home.tap_action):"data_home"in e&&"object"==typeof e.data_home&&e.data_home&&"string"==typeof e.service&&(r(),i.presets.service=e.service,i.presets.data_home=e.data_home),i},keepOriginal:!0}),rw("live.controls.ptz",(e=>{if("object"!=typeof e||!e)return e;const t=["mode","position","orientation","hide_pan_tilt","hide_zoom","hide_home","style"],n=Object.keys(e);return n.some((e=>!t.includes(e)))?n.filter((e=>t.includes(e))).reduce(((t,n)=>(t[n]=e[n],t)),{}):void 0})),iw("view.update_cycle_camera",qi),iw("view.update_force",Wi,{transform:e=>!0===e?"all":null}),iw("view.update_seconds",Zi),iw("view.update_entities",Qi),aw("live.controls.title",cs,{transform:e=>"object"==typeof e&&e&&"string"==typeof e.mode?"none"===e.mode?{style:"none"}:e.mode.includes("bottom")?{position:"bottom"}:e.mode.includes("top")?{position:"top"}:null:null}),ow("live.controls.title"),ow("media_viewer.controls.title"),e=>cw(uw)("object"==typeof e&&e?e:{}),iw("dimensions.max_height",_s),ow("dimensions.min_height")];class gw extends $s{}class fw extends Event{constructor(e,t){super("frigate-card:conditions:evaluate",t),this.conditions=e}}function _w(e,t,n){let a=Jb(t),i=!1;if(n?.configOverrides)for(const t of n.configOverrides)e.evaluateConditions(t.conditions,n?.stateOverrides)&&(t.delete?.forEach((e=>{Xb(a,e)})),Object.keys(t.set??{}).forEach((e=>{Yb(a,e,t.set?.[e])})),Object.keys(t.merge??{}).forEach((e=>{Yb(a,e,Rv({},Kb(a,e),t.merge?.[e]))})),i=!0);if(!i)return t;if(n?.configOverrides?.some((e=>e.delete?.length))&&(a=df(a)),n?.schema){const e=n.schema.safeParse(a);if(!e.success)throw new gw(N_("error.invalid_configuration_override"),[e.error.errors,a]);return e.data}return a}class yw{constructor(e,t){this._state={},this._epoch=this._createEpoch(),this._hasHAStateConditions=!1,this._mediaQueries=[],this._mediaQueryTrigger=()=>this._triggerChange(),this._api=e,this._listeners=[()=>this._api.getConfigManager().computeOverrideConfig(),()=>this._api.getAutomationsManager().execute(),...t?[t]:[]]}removeConditions(){this._mediaQueries.forEach((e=>e.removeEventListener("change",this._mediaQueryTrigger))),this._mediaQueries=[]}setConditionsFromConfig(){this.removeConditions();const e=(()=>{const e=this._api.getConfigManager().getConfig(),t=[];e?.overrides?.forEach((e=>t.push(...e.conditions))),e?.automations?.forEach((e=>t.push(...e.conditions)));const n=e=>{const a=fl.safeParse(e);a.success?(t.push(...a.data.conditions),a.data.elements?.forEach(n)):e&&"object"==typeof e&&Object.keys(e).forEach((t=>n(e[t])))};return e?.elements?.forEach(n),t})();this._hasHAStateConditions=e.some((e=>!e.condition||["state","numeric_state","user"].includes(e.condition))),e.forEach((e=>{if("screen"===e.condition){const t=window.matchMedia(e.media_query);t.addEventListener("change",this._mediaQueryTrigger),this._mediaQueries.push(t)}}))}setState(e){Object.keys(e).every((t=>jy(e[t],this._state[t])))||(this._state={...this._state,...e},this._triggerChange())}getState(){return this._state}hasHAStateConditions(){return this._hasHAStateConditions}getEpoch(){return this._epoch}evaluateConditions(e,t){return e.every((e=>this._evaluateCondition(e,t)))}_evaluateCondition(e,t){const n={...this._state,...t};switch(e.condition){case void 0:case"state":return!!n.state&&(!e.state&&!e.state_not||e.entity in n.state&&(!e.state||(Array.isArray(e.state)?e.state.includes(n.state[e.entity].state):e.state===n.state[e.entity].state))&&(!e.state_not||(Array.isArray(e.state_not)?!e.state_not.includes(n.state[e.entity].state):e.state_not!==n.state[e.entity].state)));case"view":return!!n?.view&&e.views.includes(n.view);case"fullscreen":return void 0!==n.fullscreen&&e.fullscreen===n.fullscreen;case"expand":return void 0!==n.expand&&e.expand===n.expand;case"camera":return!!n.camera&&e.cameras.includes(n.camera);case"numeric_state":return!!n.state&&e.entity in n.state&&void 0!==n.state[e.entity].state&&(void 0===e.above||Number(n.state[e.entity].state)>e.above)&&(void 0===e.below||Number(n.state[e.entity].state)n.triggered?.has(e)));case"interaction":return void 0!==n.interaction&&e.interaction===n.interaction;case"microphone":return!(void 0!==e.connected&&n.microphone?.connected!==e.connected||void 0!==e.muted&&n.microphone?.muted!==e.muted);case"key":return!(!n.keys||!(e.key in n.keys)||(e.state??"down")!==n.keys[e.key].state||void 0!==e.ctrl&&e.ctrl!==!!n.keys[e.key].ctrl||void 0!==e.alt&&e.alt!==!!n.keys[e.key].alt||void 0!==e.meta&&e.meta!==!!n.keys[e.key].meta||void 0!==e.shift&&e.shift!==!!n.keys[e.key].shift)}}_createEpoch(){return{manager:this}}_triggerChange(){this._epoch=this._createEpoch(),this._listeners.forEach((e=>e()))}}const vw={casting:{[Wr]:!1,[Mr]:!1,[Xo]:"none",[`${is}.enabled`]:!0,[`${rs}.enabled`]:!0,[`${as}.enabled`]:!1,[`${os}.enabled`]:!1,[Ur]:["selected","visible"],[fs]:"static",[gs]:"16:9",[Si]:1,[So]:!0},"low-performance":{[ao]:"none",[Er]:"none",[Bo]:"none",[mo]:!1,[Pr]:!1,[Vo]:!1,[qr]:[],[hr]:[],[pr]:[],[mr]:[],[Co]:["unselected","hidden"],[wo]:!1,[br]:!1,[ko]:"none",[Cr]:"none",[So]:!1,[kr]:"chevrons",[ds]:"none",[Xo]:"outside",[`${ts}.enabled`]:!1,[`${ss}.enabled`]:!1,[`${ss}.enabled`]:!1,[`${os}.enabled`]:!1,[sr]:!1,[cr]:!1,[lr]:!1,[or]:!1,[oo]:!1,[so]:!1,[co]:!1,[ro]:!1,[Ar]:!1,[Ir]:!1,[zr]:!1,[$r]:!1,[Wo]:!1,[Zo]:!1,[Qo]:!1,[Uo]:!1,[bs]:!1,[ws]:10,[ks]:!1,[Ms]:!1,[xr]:!1,[ki]:!1,[xi]:"image",[Si]:10,[tr]:"none",[xs]:1},scrubbing:{[ho]:"below",[go]:"ribbon",[po]:"seek",[Dr]:"below",[Lr]:"ribbon",[Rr]:"seek"}},bw=(e,t,n)=>{const a=js(Pd).safeParse(e);if(!a.success)return t;const i=a.data;for(const e of n??[])e in vw&&Object.entries(vw[e]).forEach((([e,n])=>{return r=n,void(void 0===Kb(i,a=e)&&Yb(t,a,r));var a,r}));return t},ww=e=>{switch(e){case"ptz_left":return"left";case"ptz_right":return"right";case"ptz_up":return"up";case"ptz_down":return"down";case"ptz_zoom_in":return"zoom_in";case"ptz_zoom_out":return"zoom_out"} -/* istanbul ignore next: No (current) way to reach this code -- @preserve */return null},xw=(e,t)=>{if(!t.enabled)return[];const n=[];for(const a of["ptz_down","ptz_left","ptz_right","ptz_up","ptz_zoom_in","ptz_zoom_out"]){const i=t[a],r=ww(a);i&&r&&(n.push({conditions:[{condition:"key",key:i.key,state:"down",shift:i.shift,ctrl:i.ctrl,alt:i.alt,meta:i.meta}],actions:[ff({ptzAction:r,ptzPhase:"start"})],tag:e}),n.push({conditions:[{condition:"key",key:i.key,state:"up"}],actions:[ff({ptzAction:r,ptzPhase:"stop"})],tag:e}))}const a=t.ptz_home;return a&&n.push({conditions:[{condition:"key",key:a.key,state:"down",shift:a.shift,ctrl:a.ctrl,alt:a.alt,meta:a.meta}],actions:[ff()],tag:e}),n};class Cw{constructor(e){this._config=null,this._overriddenConfig=null,this._rawConfig=null,this._cardWideConfig=null,this._api=e}hasConfig(){return!!this.getConfig()}getConfig(){return this._overriddenConfig??this._config}getCardWideConfig(){return this._cardWideConfig}getNonOverriddenConfig(){return this._config}getRawConfig(){return this._rawConfig}setConfig(e){if(!e)throw new Error(N_("error.invalid_configuration"));const t=Pd.safeParse(e);if(!t.success){const n=nw(e),a=Ds(t.error);let i="";throw n&&(i=`${N_("error.upgrade_available")}. `),new Error(i+`${N_("error.invalid_configuration")}: `+(a&&a.size?JSON.stringify([...a],null," "):N_("error.invalid_configuration_no_hint")))}const n=bw(e,t.data,t.data.profiles);var a;(this._rawConfig=e,jy(this._config,n))||(this._config=n,this._cardWideConfig={performance:n.performance,debug:n.debug},this._api.getConditionsManager().setConditionsFromConfig(),this._api.getConditionsManager().setState({view:void 0,displayMode:void 0,camera:void 0}),this._api.getMediaLoadedInfoManager().clear(),this._api.getInitializationManager().uninitialize(Ub.VIEW),this._api.getViewManager().reset(),this._api.getMessageManager().reset(),this._api.getStyleManager().setPerformance(),this._api.getStatusBarItemManager().removeAllDynamicStatusBarItems(),((e,t)=>{e.getAutomationsManager().deleteAutomations(t);const n=e.getConfigManager().getConfig()?.view.keyboard_shortcuts;if(!n)return;const a=xw(t,n);a.length&&e.getAutomationsManager().addAutomations(a)})(this._api,this),(a=this._api).getAutomationsManager().deleteAutomations(),a.getAutomationsManager().addAutomations(a.getConfigManager().getNonOverriddenConfig()?.automations??[]),this.computeOverrideConfig(),this._api.getCardElementManager().update())}computeOverrideConfig(){const e=this._api.getConditionsManager();if(!this._config)return;let t=null;try{t=_w(e,this._config,{configOverrides:this._config.overrides,schema:Pd})}catch(e){return void this._api.getMessageManager().setErrorIfHigherPriority(e)}if(jy(t,this._overriddenConfig))return;const n=this._overriddenConfig;this._overriddenConfig=t,this._api.getStyleManager().setMinMaxHeight(),!n||jy(n?.cameras,this._overriddenConfig?.cameras)&&jy(n?.cameras_global,this._overriddenConfig?.cameras_global)||this._api.getInitializationManager().uninitialize(Ub.CAMERAS),n&&n?.live.microphone.always_connected!==this._overriddenConfig?.live.microphone.always_connected&&this._api.getInitializationManager().uninitialize(Ub.MICROPHONE_CONNECT),this._initializeBackground(n)}async _initializeBackground(e){await this._api.getDefaultManager().initializeIfNecessary(e),await this._api.getMediaPlayerManager().initializeIfNecessary(e),this._api.getCardElementManager().update()}}class Mw{constructor(e){this._timer=new bf,this._stateChangeHandler=()=>{this._setToDefaultIfAllowed()},this._api=e}async initializeIfNecessary(e){jy(e?.view.default_reset,this._api.getConfigManager().getConfig()?.view.default_reset)||await this.initialize()}async initialize(){this.uninitialize();const e=this._api.getConfigManager().getConfig()?.view.default_reset;e?.entities.length&&this._api.getHASSManager().getStateWatcher().subscribe(this._stateChangeHandler,e.entities);const t=this._api.getConfigManager().getConfig()?.view.default_reset.every_seconds;return t&&this._timer.startRepeated(t,(()=>this._setToDefaultIfAllowed())),this._api.getConfigManager().getConfig()?.view.default_reset.after_interaction&&this._api.getAutomationsManager().addAutomations([{actions:[pf("default")],conditions:[{condition:"interaction",interaction:!1}],tag:this}]),!0}uninitialize(){this._timer.stop(),this._api.getHASSManager().getStateWatcher().unsubscribe(this._stateChangeHandler),this._api.getAutomationsManager().deleteAutomations(this)}_setToDefaultIfAllowed(){this._isAutomatedUpdateAllowed()&&this._api.getViewManager().setViewDefault()}_isAutomatedUpdateAllowed(){const e=this._api.getConfigManager().getConfig()?.view.default_reset.interaction_mode;return!!e&&((e,t)=>{switch(e){case"all":return!0;case"active":return t;case"inactive":return!t}})(e,this._api.getInteractionManager().hasInteraction())}}const kw=(e,t="download")=>{const n=new URL(e).origin===window.location.origin,a=e.startsWith("data:");if(navigator.userAgent.startsWith("Home Assistant/")||navigator.userAgent.startsWith("HomeAssistant/")||!n&&!a)window.open(e,"_blank");else{const n=document.createElement("a");n.setAttribute("download",t),n.href=e,n.click(),n.remove()}},Sw=async(e,t,n)=>{const a=await t.getMediaDownloadPath(n);if(!a)throw new $s(N_("error.download_no_media"));let i=a.endpoint;if(a.sign){let t;try{t=await Ib(e,a.endpoint)}catch(e){Zg(e)}if(!t)throw new $s(N_("error.download_sign_failed"));i=t}kw(i)},Ew=e=>{const t=document.createElement("canvas");t.width=e.videoWidth,t.height=e.videoHeight;const n=t.getContext("2d");return n?(n.drawImage(e,0,0,t.width,t.height),t.toDataURL("image/jpeg")):null};class $w{constructor(e){this._api=e}async downloadViewerMedia(){const e=this._api.getViewManager().getView()?.queryResults?.getSelectedResult(),t=this._api.getHASSManager().getHASS();if(!e||!t)return!1;try{await Sw(t,this._api.getCameraManager(),e)}catch(e){return this._api.getMessageManager().setErrorIfHigherPriority(e),!1}return!0}async downloadScreenshot(){const e=await(this._api.getMediaLoadedInfoManager().get()?.player?.getScreenshotURL());e&&kw(e,(e=>{if(e?.is("live")||e?.is("image"))return`${e.view}-${e.camera}-${qu(new Date,"yyyy-MM-dd-HH-mm-ss")}.jpg`;if(e?.isViewerView()){const t=e.queryResults?.getSelectedResult(),n=t?.getID()??null;return`${e.view}-${e.camera}${n?`-${n}`:""}.jpg`}return"screenshot.jpg"})(this._api.getViewManager().getView()))}}class Aw{constructor(e){this._expanded=!1,this._api=e}initialize(){this._setConditionState()}isExpanded(){return this._expanded}toggleExpanded(){this.setExpanded(!this._expanded)}setExpanded(e){e&&this._api.getFullscreenManager().isInFullscreen()&&this._api.getFullscreenManager().stopFullscreen(),this._expanded=e,this._setConditionState(),this._api.getCardElementManager().update()}_setConditionState(){this._api.getConditionsManager()?.setState({expand:this._expanded})}}const Iw=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],zw=(()=>{if("undefined"==typeof document)return!1;const e=Iw[0],t={};for(const n of Iw){const a=n?.[1];if(a in document){for(const[a,i]of n.entries())t[e[a]]=i;return t}}return!1})(),Tw={change:zw.fullscreenchange,error:zw.fullscreenerror};let jw={request:(e=document.documentElement,t)=>new Promise(((n,a)=>{const i=()=>{jw.off("change",i),n()};jw.on("change",i);const r=e[zw.requestFullscreen](t);r instanceof Promise&&r.then(i).catch(a)})),exit:()=>new Promise(((e,t)=>{if(!jw.isFullscreen)return void e();const n=()=>{jw.off("change",n),e()};jw.on("change",n);const a=document[zw.exitFullscreen]();a instanceof Promise&&a.then(n).catch(t)})),toggle:(e,t)=>jw.isFullscreen?jw.exit():jw.request(e,t),onchange(e){jw.on("change",e)},onerror(e){jw.on("error",e)},on(e,t){const n=Tw[e];n&&document.addEventListener(n,t,!1)},off(e,t){const n=Tw[e];n&&document.removeEventListener(n,t,!1)},raw:zw};Object.defineProperties(jw,{isFullscreen:{get:()=>Boolean(document[zw.fullscreenElement])},element:{enumerable:!0,get:()=>document[zw.fullscreenElement]??void 0},isEnabled:{enumerable:!0,get:()=>Boolean(document[zw.fullscreenEnabled])}}),zw||(jw={isEnabled:!1});var Ow=jw;class Dw{constructor(e){this._fullscreenHandler=()=>{this._api.getExpandManager().setExpanded(!1),this._setConditionState(),this._api.getCardElementManager().update()},this._api=e}initialize(){this._setConditionState()}connect(){Ow.isEnabled&&Ow.on("change",this._fullscreenHandler)}disconnect(){Ow.isEnabled&&Ow.off("change",this._fullscreenHandler)}isInFullscreen(){return Ow.isEnabled&&Ow.isFullscreen}toggleFullscreen(){Ow.toggle(this._api.getCardElementManager().getElement())}stopFullscreen(){Ow.exit()}_setConditionState(){this._api.getConditionsManager()?.setState({fullscreen:this.isInFullscreen()})}}class Rw{constructor(){this._watcherCallbacks=new Map}setHASS(e,t){if(e)for(const[n,a]of this._watcherCallbacks.entries()){const i=zb(t,e,a,{stateOnly:!0,firstOnly:!0});i.length&&n(i[0])}}subscribe(e,t){return!!t.length&&(this._watcherCallbacks.has(e)?this._watcherCallbacks.get(e)?.push(...t):this._watcherCallbacks.set(e,t),!0)}unsubscribe(e){this._watcherCallbacks.delete(e)}}class Pw{constructor(e){this._hass=null,this._stateWatcher=new Rw,this._api=e}getHASS(){return this._hass}hasHASS(){return!!this._hass}getStateWatcher(){return this._stateWatcher}setHASS(e){if(((e,t)=>e?.connected!==t?.connected)(this._hass,e)&&(e?.connected?this._api.getMessageManager().resetType("connection"):this._api.getMessageManager().setMessageIfHigherPriority({message:N_("error.reconnecting"),icon:"mdi:lan-disconnect",type:"connection",dotdotdot:!0})),!e)return;const t=this._hass;this._hass=e,this._api.getConditionsManager().hasHAStateConditions()&&this._api.getConditionsManager().setState({state:this._hass.states,user:this._hass.user}),this._api.getStyleManager().setLightOrDarkMode(),this._stateWatcher.setHASS(t,e)}}var Lw=function(){return Ju.Date.now()},Nw="Expected a function",Fw=Math.max,Vw=Math.min;function Hw(e,t,n){var a,i,r,o,s,c,l=0,d=!1,u=!1,h=!0;if("function"!=typeof e)throw new TypeError(Nw);function p(t){var n=a,r=i;return a=i=void 0,l=t,o=e.apply(r,n)}function m(e){var n=e-c;return void 0===c||n>=t||n<0||u&&e-l>=r}function g(){var e=Lw();if(m(e))return f(e);s=setTimeout(g,function(e){var n=t-(e-c);return u?Vw(n,r-(e-l)):n}(e))}function f(e){return s=void 0,h&&a?p(e):(a=i=void 0,o)}function _(){var e=Lw(),n=m(e);if(a=arguments,i=this,c=e,n){if(void 0===s)return function(e){return l=e,s=setTimeout(g,t),d?p(e):o}(c);if(u)return clearTimeout(s),s=setTimeout(g,t),p(c)}return void 0===s&&(s=setTimeout(g,t)),o}return t=wg(t)||0,dh(n)&&(d=!!n.leading,r=(u="maxWait"in n)?Fw(wg(n.maxWait)||0,t):r,h="trailing"in n?!!n.trailing:h),_.cancel=function(){void 0!==s&&clearTimeout(s),l=0,a=c=i=s=void 0},_.flush=function(){return void 0===s?o:f(Lw())},_}function Bw(e,t,n){var a=!0,i=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return dh(n)&&(a="leading"in n?!!n.leading:a,i="trailing"in n?!!n.trailing:i),Hw(e,t,{leading:a,maxWait:t,trailing:i})}class qw{constructor(e){this._timer=new bf,this.reportInteraction=Bw((()=>{this._reportInteraction()}),1e3),this._api=e}initialize(){this._api.getConditionsManager().setState({interaction:!1})}hasInteraction(){return this._timer.isRunning()}_reportInteraction(){this._timer.stop();const e=this._api.getConfigManager().getConfig()?.view.interaction_seconds;e&&(this._api.getConditionsManager().setState({interaction:!0}),this._timer.start(e,(()=>{this._api.getConditionsManager().setState({interaction:!1}),this._api.getStyleManager().setLightOrDarkMode()})))}}class Uw{constructor(e){this._state={},this._handleKeydown=e=>{const t={state:"down",ctrl:e.ctrlKey,alt:e.altKey,meta:e.metaKey,shift:e.shiftKey};jy(this._state[e.key],t)||(this._state[e.key]=t,this._processStateChange())},this._handleKeyup=e=>{e.key in this._state&&"down"===this._state[e.key].state&&(this._state[e.key].state="up",this._processStateChange())},this._handleBlur=()=>{Object.keys(this._state).length&&(this._state={},this._processStateChange())},this._api=e}initialize(){const e=this._api.getCardElementManager().getElement();e.addEventListener("keydown",this._handleKeydown),e.addEventListener("keyup",this._handleKeyup),e.addEventListener("blur",this._handleBlur)}uninitialize(){const e=this._api.getCardElementManager().getElement();e.removeEventListener("keydown",this._handleKeydown),e.removeEventListener("keyup",this._handleKeyup),e.removeEventListener("blur",this._handleBlur)}_processStateChange(){this._api.getConditionsManager().setState({keys:this._state})}}function Ww(e,t){let n;return n=e instanceof Event?e.composedPath()[0]:e,n instanceof HTMLImageElement?{width:n.naturalWidth,height:n.naturalHeight,...t}:n instanceof HTMLVideoElement?{width:n.videoWidth,height:n.videoHeight,...t}:n instanceof HTMLCanvasElement?{width:n.width,height:n.height,player:t?.player,...t}:null}function Zw(e,t,n){const a=Ww(t,n);a&&Qw(e,a)}function Qw(e,t){Vg(e,"media:loaded",t)}function Gw(e){Vg(e,"media:unloaded")}function Yw(e){Vg(e,"media:volumechange")}function Kw(e){Vg(e,"media:play")}function Xw(e){Vg(e,"media:pause")}class Jw{constructor(e){this._current=null,this._lastKnown=null,this._api=e}initialize(){this.clear()}set(e){var t;(t=e).height>=50&&t.width>=50&&(V_(this._api.getConfigManager().getCardWideConfig(),"Frigate Card media load: ",e),this._current=e,this._lastKnown=e,this._api.getConditionsManager().setState({media_loaded:!0}),this._api.getStyleManager().setExpandedMode(),this._api.getCardElementManager().update())}get(){return this._current}getLastKnown(){return this._lastKnown}clear(){this._current=null,this._api.getConditionsManager().setState({media_loaded:!1})}has(){return!!this._current}}class ex{static isEvent(e){return this.isClip(e)||this.isSnapshot(e)}static isRecording(e){return"recording"===e.getMediaType()}static isClip(e){return"clip"===e.getMediaType()}static isSnapshot(e){return"snapshot"===e.getMediaType()}static isVideo(e){return this.isClip(e)||this.isRecording(e)}}class tx{constructor(e){this._mediaPlayers=[],this._api=e}getMediaPlayers(){return this._mediaPlayers}hasMediaPlayers(){return this._mediaPlayers.length>0}async initializeIfNecessary(e){e?.menu.buttons.media_player.enabled!==this._api.getConfigManager().getConfig()?.menu.buttons.media_player.enabled&&await this.initialize()}async initialize(){const e=this._api.getHASSManager().getHASS();if(!e||!this._api.getConfigManager().getConfig()?.menu.buttons.media_player.enabled)return!1;const t=Object.keys(e.states).filter((t=>{if(t.startsWith("media_player.")){const n=e.states[t];if(n&&"unavailable"!==n.state&&_b(n,131072))return!0}return!1}));let n=null;try{n=await this._api.getEntityRegistryManager().getEntities(e,t)}catch(e){Zg(e)}return this._mediaPlayers=t.filter((e=>{const t=n?.get(e);return!t||!t.hidden_by})),!0}async stop(e){const t=this._api.getHASSManager().getHASS(),n=t?.states[e];if(!n)return;let a;if(_b(n,4096))a="media_stop";else{if(!_b(n,256))return;a="turn_off"}await t.callService("media_player",a,{entity_id:e})}async playLive(e,t){const n=this._api.getCameraManager().getStore().getCameraConfig(t);n&&("dashboard"===n.cast?.method?await this._playLiveDashboard(e,n):await this._playLiveStandard(e,t,n))}async _playLiveStandard(e,t,n){const a=this._api.getHASSManager().getHASS(),i=n?.camera_entity??null;if(!a||!i)return;const r=this._api.getCameraManager().getCameraMetadata(t)?.title??null,o=a.states[i]?.attributes?.entity_picture??null;await a.callService("media_player","play_media",{entity_id:e,media_content_id:`media-source://camera/${i}`,media_content_type:"application/vnd.apple.mpegurl",extra:{...r&&{title:r},...o&&{thumb:o}}})}async _playLiveDashboard(e,t){const n=this._api.getHASSManager().getHASS();if(!n)return;const a=t.cast?.dashboard;a?.dashboard_path&&a?.view_path?await n.callService("cast","show_lovelace_view",{entity_id:e,dashboard_path:a.dashboard_path,view_path:a.view_path}):this._api.getMessageManager().setMessageIfHigherPriority({type:"error",icon:"mdi:cast",message:N_("error.no_dashboard_or_view")})}async playMedia(e,t){const n=this._api.getHASSManager().getHASS();if(!n||!t)return;const a=t.getTitle(),i=t.getThumbnail();await n.callService("media_player","play_media",{entity_id:e,media_content_id:t.getContentID(),media_content_type:ex.isVideo(t)?"video":"image",extra:{...a&&{title:a},...i&&{thumb:i}}})}}class nx{constructor(e){this._message=null,this._api=e}getMessage(){return this._message}hasMessage(){return!!this._message}hasErrorMessage(){return"error"===this._message?.type}reset(){const e=this.hasMessage();this._message=null,e&&this._api.getCardElementManager().update()}resetType(e){this._message?.type===e&&this.reset()}setErrorIfHigherPriority(e,t){e&&"object"==typeof e&&"message"in e&&(Zg(e),this.setMessageIfHigherPriority({message:t?`${t}: ${e.message}`:e.message,type:"error",...e instanceof $s&&{context:e.context}}))}setMessageIfHigherPriority(e){const t=this._message?As[this._message.type]:0,n=As[e.type];return!(this._message&&ne.stop())),this._stream=void 0,this._setConditionState(),this._api.getCardElementManager().update()}getStream(){return this._stream??void 0}mute(){const e=this.isMuted();this._mute=!0,this._setMute(),this._setConditionState(),e||this._callListeners("muted")}async unmute(){if(!this.isSupported())return;const e=!this.isMuted(),t=()=>{this._mute=!1,this._setMute()};this.isConnected()||this.isForbidden()?this.isConnected()&&t():(t(),await this.connect()),this._setConditionState(),e||this._callListeners("unmuted")}isConnected(){return!!this._stream}isForbidden(){return null===this._stream}isMuted(){return!this._stream||this._stream.getTracks().every((e=>!e.enabled))}addListener(e){this._listeners.push(e)}removeListener(e){this._listeners=this._listeners.filter((t=>t!==e))}_callListeners(e){this._listeners.forEach((t=>t(e)))}_setMute(){this._stream?.getTracks().forEach((e=>{e.enabled=!this._mute})),this._startTimer(),this._api.getCardElementManager().update()}_startTimer(){const e=this._api.getConfigManager().getConfig()?.live.microphone;if(e?.always_connected)return;const t=e?.disconnect_seconds??0;t&&this._timer.start(t,(()=>{this.disconnect()}))}_setConditionState(){this._api.getConditionsManager().setState({microphone:{muted:this.isMuted(),connected:this.isConnected()}})}}class ix{constructor(e){this._shouldRun=!0,this.requestExecution=()=>{this._shouldRun=!0,this._api.getCardElementManager().update()},this.executeIfNecessary=async()=>{this._shouldRun&&(this._shouldRun=!1,await this._executeViewRelated(this._calculateIntent()),await this._executeNonViewRelated(this._calculateIntent()))},this._isViewAction=e=>{switch(e.frigate_card_action){case"clip":case"clips":case"diagnostics":case"image":case"live":case"recording":case"recordings":case"snapshot":case"snapshots":case"timeline":return!0}return!1},this._api=e}hasViewRelatedActionsToRun(){return!!this._calculateIntent().view&&this._shouldRun}async _executeViewRelated(e){e.view&&(e.view.default?await this._api.getViewManager().setViewDefaultWithNewQuery({params:{camera:e.view.camera},...e.view.substream&&{modifiers:[new rb(e.view.substream)]}}):await this._api.getViewManager().setViewByParametersWithNewQuery({params:{...e.view.view&&{view:e.view.view},...e.view.camera&&{camera:e.view.camera}},...e.view.substream&&{modifiers:[new rb(e.view.substream)]}}))}async _executeNonViewRelated(e){e.other&&await this._api.getActionsManager().executeActions(e.other)}_calculateIntent(){const e={};for(const t of this._getActions())this._isViewAction(t)?((e.view??={}).view=t.frigate_card_action,(e.view??={}).default=void 0):"default"===t.frigate_card_action?((e.view??={}).default=!0,(e.view??={}).view=void 0):"camera_select"===t.frigate_card_action?(e.view??={}).camera=t.camera:"live_substream_select"===t.frigate_card_action?(e.view??={}).substream=t.camera:(e.other??=[]).push(t);return e}_getActions(){const e=new URLSearchParams(window.location.search),t=[],n=new RegExp(/^frigate-card-action([.:](?\w+))?[.:](?\w+)/);for(const[a,i]of e.entries()){const e=a.match(n);if(!e||!e.groups)continue;const r=e.groups.cardID,o=e.groups.action;let s=null;switch(o){case"camera_select":case"live_substream_select":i&&(s=mf(o,i,{cardID:r}));break;case"camera_ui":case"clip":case"clips":case"default":case"diagnostics":case"download":case"expand":case"image":case"live":case"menu_toggle":case"recording":case"recordings":case"snapshot":case"snapshots":case"timeline":s=pf(o,{cardID:r});break;default:console.warn(`Frigate card received unknown card action in query string: ${o}`)}s&&t.push(s)}return t}}class rx{constructor(e){this._items=[],this._dynamicItems=[],this._api=e}addDynamicStatusBarItem(e){this._dynamicItems.includes(e)||this._dynamicItems.push(e),this._api.getCardElementManager().update()}removeDynamicStatusBarItem(e){this._dynamicItems=this._dynamicItems.filter((t=>!jy(t,e))),this._api.getCardElementManager().update()}removeAllDynamicStatusBarItems(){this._dynamicItems=[],this._api.getCardElementManager().update()}calculateItems(e){const t=e?.view?e?.cameraManager?.getCameraMetadata(e?.view?.camera):null,n=t?.engineLogo??null,a=e?.view?.is("live")?t?.title??null:e?.view?.isViewerView()?e?.view.queryResults?.getSelectedResult()?.getTitle()??null:null,i=e?.mediaLoadedInfo?this._calculateResolution(e?.mediaLoadedInfo):null,r=e?.mediaLoadedInfo?.technology?.length?e?.mediaLoadedInfo.technology[0]:null;return[...a?[{type:"custom:frigate-card-status-bar-string",string:a,expand:!0,sufficient:!0,...e?.statusConfig?.items.title}]:[],...i?[{type:"custom:frigate-card-status-bar-string",string:i,...e?.statusConfig?.items.resolution}]:[],...r&&"webrtc"===r?[{type:"custom:frigate-card-status-bar-icon",icon:"mdi:webrtc",...e?.statusConfig?.items.technology}]:r?[{type:"custom:frigate-card-status-bar-string",string:r.toUpperCase(),...e?.statusConfig?.items.technology}]:[],...n?[{type:"custom:frigate-card-status-bar-image",image:n,...e?.statusConfig?.items.engine}]:[],...this._dynamicItems]}_matchesWidthHeight(e,t,n){const a=.99*t,i=1.01*t,r=.99*n,o=1.01*n,s=(e,t,n)=>e>=t&&e<=n;return!!e&&(s(e.width,a,i)&&s(e.height,r,o)||s(e.height,a,i)&&s(e.width,r,o))}_calculateResolution(e){return this._matchesWidthHeight(e,1920,1080)?"1080p":this._matchesWidthHeight(e,1280,720)?"720p":this._matchesWidthHeight(e,640,480)?"VGA":this._matchesWidthHeight(e,3840,2160)?"4K":this._matchesWidthHeight(e,720,480)?"480p":this._matchesWidthHeight(e,720,576)?"576p":this._matchesWidthHeight(e,7680,4320)?"8K":`${e.width}x${e.height}`}}class ox{constructor(e){this.setLightOrDarkMode=()=>{const e=this._api.getConfigManager().getConfig(),t="on"===e?.view.dark_mode||"auto"===e?.view.dark_mode&&(!this._api.getInteractionManager().hasInteraction()||!!this._api.getHASSManager().getHASS()?.themes.darkMode);af(this._api.getCardElementManager().getElement(),t,"dark")},this._api=e}setExpandedMode(){const e=this._api.getCardElementManager().getElement(),t=this._api.getViewManager().getView(),n=this._api.getMediaLoadedInfoManager().getLastKnown();e.style.setProperty("--frigate-card-expand-aspect-ratio",t?.isAnyMediaView()&&n?`${n.width} / ${n.height}`:"unset");const a=t?.isGrid();e.style.setProperty("--frigate-card-expand-width",!a&&t?.isAnyMediaView()?"none":"var(--frigate-card-expand-max-width)"),e.style.setProperty("--frigate-card-expand-height",!a&&t?.isAnyMediaView()?"none":"var(--frigate-card-expand-max-height)")}setMinMaxHeight(){const e=this._api.getConfigManager().getConfig();if(e){this._api.getCardElementManager().getElement().style.setProperty("--frigate-card-height",e.dimensions.height)}}setPerformance(){const e={box_shadow:"none",border_radius:"0px"},t=this._api.getCardElementManager().getElement(),n=this._api.getConfigManager().getCardWideConfig()?.performance,a=n?.style??{};for(const n of Object.keys(a)){const i=`--frigate-card-css-${n.replaceAll("_","-")}`;!1===a[n]?t.style.setProperty(i,e[n]):t.style.removeProperty(i)}}_isAspectRatioEnforced(e,t){const n=e.dimensions.aspect_ratio_mode;return!(this._api.getFullscreenManager().isInFullscreen()||this._api.getExpandManager().isExpanded()||"unconstrained"===n||"dynamic"===n&&(!t||t?.isAnyMediaView()||t?.is("timeline")||t?.is("diagnostics")))}getAspectRatioStyle(){const e=this._api.getConfigManager().getConfig(),t=this._api.getViewManager().getView();if(e){if(!this._isAspectRatioEnforced(e,t))return lf();const n=e.dimensions.aspect_ratio_mode,a=this._api.getMediaLoadedInfoManager().getLastKnown();return lf(a&&"dynamic"===n?{ratio:[a.width,a.height]}:{ratio:e.dimensions.aspect_ratio})}return lf({defaultStatic:!0})}}class sx{constructor(e){this._triggeredCameras=new Map,this._triggeredCameraTimers=new Map,this._throttledTriggerAction=Bw(this._triggerAction.bind(this),1e3,{trailing:!0}),this._api=e}getTriggeredCameraIDs(){return new Set(this._triggeredCameras.keys())}isTriggered(){return!!this._triggeredCameras.size}getMostRecentlyTriggeredCameraID(){const e=ky([...this._triggeredCameras.entries()],(e=>e[1].getTime()),"desc");return e.length?e[0][0]:null}async handleCameraEvent(e){const t=this._api.getConfigManager().getConfig()?.view.triggers,n=this._api.getViewManager().getView()?.camera;if(!t||!n)return;const a=this._api.getCameraManager().getStore().getAllDependentCameras(n);t.filter_selected_camera&&!a.has(e.cameraID)||("end"!==e.type?(this._triggeredCameras.set(e.cameraID,new Date),this._setConditionStateIfNecessary(),await this._throttledTriggerAction(e)):this._startUntriggerTimer(e.cameraID))}_hasAllowableInteractionStateForAction(){const e=this._api.getConfigManager().getConfig()?.view.triggers,t=this._api.getInteractionManager().hasInteraction();return!!e&&("all"===e.actions.interaction_mode||"active"===e.actions.interaction_mode&&t||"inactive"===e.actions.interaction_mode&&!t)}async _triggerAction(e){const t=this._api.getConfigManager().getConfig()?.view.triggers.actions.trigger,n=this._api.getConfigManager().getConfig()?.view.default;("high"!==e.fidelity||e.snapshot||e.clip||"live"===t||"default"===t&&"live"===n)&&(this._hasAllowableInteractionStateForAction()&&("update"===t?await this._api.getViewManager().setViewByParametersWithNewQuery({queryExecutorOptions:{useCache:!1}}):"live"===t?await this._api.getViewManager().setViewByParametersWithNewQuery({params:{view:"live",camera:e.cameraID}}):"default"===t?await this._api.getViewManager().setViewDefaultWithNewQuery({params:{camera:e.cameraID}}):"high"===e.fidelity&&"media"===t&&await this._api.getViewManager().setViewByParametersWithNewQuery({params:{view:e.clip?"clip":"snapshot",camera:e.cameraID}})),this._api.getCardElementManager().update())}_setConditionStateIfNecessary(){const e=new Set(this._triggeredCameras.keys()),t=e.size?e:void 0;jy(t,this._api.getConditionsManager().getState().triggered)||this._api.getConditionsManager().setState({triggered:t})}async _untriggerAction(e){const t=this._api.getConfigManager().getConfig()?.view.triggers.actions.untrigger;"default"===t&&this._hasAllowableInteractionStateForAction()&&await this._api.getViewManager().setViewDefaultWithNewQuery(),this._triggeredCameras.delete(e),this._deleteTimer(e),this._setConditionStateIfNecessary(),this._api.getCardElementManager().update()}_startUntriggerTimer(e){this._deleteTimer(e);const t=new bf;this._triggeredCameraTimers.set(e,t),t.start( -/* istanbul ignore next: the case of config being null here cannot be - reached, as there's no way to have the untrigger call happen without - a config. -- @preserve */ -this._api.getConfigManager().getConfig()?.view.triggers.untrigger_seconds??0,(async()=>{await this._untriggerAction(e)}))}_deleteTimer(e){this._triggeredCameraTimers.get(e)?.stop(),this._triggeredCameraTimers.delete(e)}}function cx(e,t){return t="function"==typeof t?t:void 0,e&&e.length?Fg(e,void 0,t):[]}class lx{constructor(e){this._queries=null,e&&(this._queries=e)}clone(){return l_(this)}getQueries(){return this._queries}setQueries(e){return this._queries=e,this}getQueryCameraIDs(){if(!this._queries)return null;const e=new Set;return this._queries.forEach((t=>[...t.cameraIDs].forEach((t=>e.add(t))))),e}setQueryCameraIDs(e){if(!this._queries)return this;const t=[];return this._queries.forEach((n=>t.push({...n,cameraIDs:Ug(e)}))),this._queries=cx(t,jy),this}hasQueriesForCameraIDs(e){for(const t of e)if(!this._queries?.some((e=>e.cameraIDs.has(t))))return!1;return!0}}class dx extends lx{convertToClipsQueries(){for(const e of this._queries??[])delete e.hasSnapshot,e.hasClip=!0;return this}}class ux extends lx{}class hx{static areEventQueries(e){return e instanceof dx}static areRecordingQueries(e){return e instanceof ux}static areClipsQueries(e){return this.areEventQueries(e)&&!!e?.getQueries()?.every((e=>e.hasClip))}static areSnapshotQueries(e){return this.areEventQueries(e)&&!!e?.getQueries()?.every((e=>e.hasSnapshot))}static getQueriesType(e){return this.areEventQueries(e)?"event":this.areRecordingQueries(e)?"recording":null}static getMediaType(e){return this.areClipsQueries(e)?"clips":this.areSnapshotQueries(e)?"snapshots":this.areRecordingQueries(e)?"recordings":null}}const px=(e,t,n)=>{const a={anyCapabilities:["clips","snapshots","recordings"]};switch(t){case"image":case"diagnostics":return e.getStore().getCameraIDs();case"live":case"clip":case"clips":case"snapshot":case"snapshots":case"recording":case"recordings":const i="clip"===t?"clips":"snapshot"===t?"snapshots":"recording"===t?"recordings":t;return n?e.getStore().getAllDependentCameras(n,i):e.getStore().getCameraIDsWithCapability(i);case"timeline":return e.getStore().getCameraIDsWithCapability(a);case"media":return n?e.getStore().getAllDependentCameras(n,a):e.getStore().getCameraIDsWithCapability(a)}},mx=(e,t)=>Rv({},e,t);class gx{constructor(e){this.view=e.view,this.camera=e.camera,this.query=e.query??null,this.queryResults=e.queryResults??null,this.context=e.context??null,this.displayMode=e.displayMode??null}clone(){return new gx({view:this.view,camera:this.camera,query:this.query?.clone()??null,queryResults:this.queryResults?.clone()??null,context:this.context,displayMode:this.displayMode})}evolve(e){return new gx({view:void 0!==e.view?e.view:this.view,camera:void 0!==e.camera?e.camera:this.camera,query:void 0!==e.query?e.query:this.query?.clone()??null,queryResults:void 0!==e.queryResults?e.queryResults:this.queryResults?.clone()??null,context:void 0!==e.context?e.context:this.context,displayMode:void 0!==e.displayMode?e.displayMode:this.displayMode})}mergeInContext(e){return this.context=mx(this.context,e),this}removeContext(e){return this.context&&delete this.context[e],this}removeContextProperty(e,t){const n=this.context?.[e];return n&&delete n[t],this}is(e){return this.view==e}isGalleryView(){return["clips","snapshots","recordings"].includes(this.view)}isAnyMediaView(){return this.isViewerView()||this.is("live")||this.is("image")}isViewerView(){return["media","clip","snapshot","recording"].includes(this.view)}supportsMultipleDisplayModes(){return this.isViewerView()||this.is("live")}getDefaultMediaType(){return["clip","clips"].includes(this.view)?"clips":["snapshot","snapshots"].includes(this.view)?"snapshots":["recording","recordings"].includes(this.view)?"recordings":null}isGrid(){return"grid"===this.displayMode}}const fx=(e,t)=>{t?.forEach((t=>t.modify(e)))};class _x extends $s{}class yx extends $s{}class vx{constructor(e){this._api=e}getViewDefault(e){const t=this._api.getConfigManager().getConfig();if(!t)return null;let n=null;const a=e?.params?.view??t.view.default;if(e?.params?.camera)n=e.params.camera;else{const i=[...px(this._api.getCameraManager(),a)];if(!i.length)return null;if(e?.baseView?.camera&&t.view.default_cycle_camera){const t=i.indexOf(e.baseView.camera);n=i[t+1>=i.length?0:t+1]}else n=i[0]}return this.getViewByParameters({params:{...e?.params,view:a,camera:n},baseView:e?.baseView})}getViewByParameters(e){const t=this._api.getConfigManager().getConfig();if(!t)return null;let n=e?.params?.camera??e?.baseView?.camera??null,a=e?.params?.view??e?.baseView?.view??t.view.default;const i=this._api.getCameraManager().getStore().getCameraIDs();if(!n||!i.has(n)){n=px(this._api.getCameraManager(),a).keys().next().value??null}if(!n){const e=[...this._api.getCameraManager().getStore().getCameras()].reduce(((e,[t,n])=>{const a=n.getCapabilities()?.getRawCapabilities();return a&&(e[t]=a),e}),{});throw new _x(N_("error.no_supported_cameras"),{view:a,cameras_capabilities:e})}if(!this.isViewSupportedByCamera(n,a)){if(!e?.failSafe||!this.isViewSupportedByCamera(n,Ws)){const e=this._api.getCameraManager().getStore().getCamera(n)?.getCapabilities()?.getRawCapabilities();throw new yx(N_("error.no_supported_camera"),{view:a,camera:n,...e&&{camera_capabilities:e}})}a=Ws}const r=e?.params?.displayMode??e?.baseView?.displayMode??this._getDefaultDisplayModeForView(a,t),o={...e?.params,view:a,camera:n,displayMode:r},s=e?.baseView?e.baseView.evolve(o):new gx(o);return fx(s,e?.modifiers),s}isViewSupportedByCamera(e,t){return!!px(this._api.getCameraManager(),t,e).size}_getDefaultDisplayModeForView(e,t){let n=null;switch(e){case"media":case"clip":case"recording":case"snapshot":n=t.media_viewer.display?.mode??null;break;case"live":n=t.live.display?.mode??null}return n??"single"}}class bx{constructor(e,t){this._key=e,this._property=t}modify(e){e.removeContextProperty(this._key,this._property)}}class wx{constructor(e){this._query=e?.query,this._queryResults=e?.queryResults}modify(e){void 0!==this._query&&(e.query=this._query),void 0!==this._queryResults&&(e.queryResults=this._queryResults)}}const xx=(e,t,n)=>{let a;for(const[i,r]of e.entries()){const e=r.getStartTime(),o=r.getUsableEndTime();if(r.includesTime(t)&&e&&o){const t=o.getTime()-e.getTime();(!a||n&&a.cameraID!==n&&r.getCameraID()===n||t>a.duration&&(!n||a.cameraID!==n||r.getCameraID()===n))&&(a={index:i,duration:t,cameraID:r.getCameraID()})}}return a?a.index:null};class Cx{constructor(e){this._results=e?.results??[],this._selectedIndex=this._getInitialSelectedIndex(e)}_getInitialSelectedIndex(e){return null!=e?.selectedIndex?e.selectedIndex:e?.results&&e.results.length?e?.selectApproach&&"last"!==e?.selectApproach?0:e.results.length-1:null}clone(){return new Cx({results:this._results,selectedIndex:this._selectedIndex})}getResults(){return this._results}getSelectedIndex(){return this._selectedIndex}getResultsCount(){return this.getResults().length}hasResults(){return 0!==this.getResultsCount()}getResult(e){return void 0===e?null:this._results[e]}getSelectedResult(){const e=this.getSelectedIndex();return null!==e?this.getResult(e):null}hasSelectedResult(){return null!==this.getSelectedResult()}resetSelectedResult(){this._selectedIndex=null}selectIndex(e){(null===e||e>=0&&ee.getID()))),n=new Set(e._main.getResults()?.map((e=>e.getID())));return!(!t.size||!n.size||t.has(null)||n.has(null))&&((e,t)=>{for(const n of t)if(!e.has(n))return!1;return!0})(t,n)}getCameraIDs(){return new Set(this._cameras.keys())}getSlice(e){return e?this._cameras.get(e)??null:this._main}getResults(e){return this.getSlice(e)?.getResults()??null}getResultsCount(e){return this.getSlice(e)?.getResultsCount()??0}hasResults(e){return 0!==this.getSlice(e)?.getResultsCount()}getResult(e,t){return this.getSlice(t)?.getResult(e)??null}getSelectedIndex(e){return this.getSlice(e)?.getSelectedIndex()??null}getSelectedResult(e){return this.getSlice(e)?.getSelectedResult()??null}getMultipleSelectedResults(e){const t=[];if(!e||e.main){const e=this.getSelectedResult();e&&t.push(e)}const n=this._getCameraIDsFromCriteria(e);for(const e of n??[]){const n=this.getSelectedResult(e);n&&t.push(n)}return t}hasSelectedResult(e){return this.getSlice(e)?.hasSelectedResult()??!1}resetSelectedResult(e){return this.getSlice(e)?.resetSelectedResult(),this}getResultsTimestamp(){return this._resultsTimestamp}selectIndex(e,t){return this.getSlice(t)?.selectIndex(e),t||this.demoteMainSelectionToCameraSelection(),this}demoteMainSelectionToCameraSelection(){const e=this.getSelectedResult();if(e){const t=e.getCameraID();this.resetSelectedResult(t),this.selectResultIfFound((t=>t===e),{cameraID:t})}return this}promoteCameraSelectionToMainSelection(e){const t=this.getSelectedResult(e);return this.resetSelectedResult(),this.selectResultIfFound((e=>e===t)),this}_getCameraIDsFromCriteria(e){return e?.allCameras?this.getCameraIDs():e?.cameraID?new Set([e.cameraID]):null}selectResultIfFound(e,t){t&&!t?.main||(this._main.selectResultIfFound(e),this.demoteMainSelectionToCameraSelection());const n=this._getCameraIDsFromCriteria(t);for(const t of n??[])this.getSlice(t)?.selectResultIfFound(e);return this}selectBestResult(e,t){t&&!t.main||(this._main.selectBestResult(e),this.demoteMainSelectionToCameraSelection());const n=this._getCameraIDsFromCriteria(t);for(const t of n??[])this.getSlice(t)?.selectBestResult(e);return this}}class kx{constructor(e){this._api=e}async executeDefaultEventQuery(e){const t=e?.eventsMediaType&&"all"!==e?.eventsMediaType?e.eventsMediaType:{anyCapabilities:["clips","snapshots"]},n=this._api.getCameraManager(),a=e?.cameraID?n.getStore().getAllDependentCameras(e.cameraID,t):n.getStore().getCameraIDsWithCapability(t);if(!a.size)return null;const i=n.generateDefaultEventQueries(a,{limit:this._getChunkLimit(),..."clips"===e?.eventsMediaType&&{hasClip:!0},..."snapshots"===e?.eventsMediaType&&{hasSnapshot:!0}});if(!i)return null;const r=new dx(i),o=await this.execute(r,e?.executorOptions);return o?{query:r,queryResults:o}:null}async executeDefaultRecordingQuery(e){const t=this._api.getCameraManager(),n=e?.cameraID?t.getStore().getAllDependentCameras(e.cameraID,"recordings"):t.getStore().getCameraIDsWithCapability("recordings");if(!n.size)return null;const a=t.generateDefaultRecordingQueries(n,{limit:this._getChunkLimit()});if(!a)return null;const i=new ux(a),r=await this.execute(i,e?.executorOptions);return r?{query:i,queryResults:r}:null}async execute(e,t){const n=e.getQueries();if(!n)return null;const a=await this._api.getCameraManager().executeMediaQueries(n,{useCache:t?.useCache});if(!a)return null;const i=new Mx({results:a});return t?.rejectResults?.(i)?null:(t?.selectResult?.id?i.selectBestResult((e=>e.findIndex((e=>e.getID()===t.selectResult?.id)))):t?.selectResult?.func?i.selectResultIfFound(t.selectResult.func):t?.selectResult?.time&&i.selectBestResult((e=>xx(e,t.selectResult?.time?.time,t.selectResult?.time?.favorCameraID))),i)}_getChunkLimit(){const e=this._api.getConfigManager().getCardWideConfig();return e?.performance?.features.media_chunk_size??50}}class Sx{constructor(e,t){this._api=e,this._executor=t??new kx(e)}async getExistingQueryModifiers(e,t){return e.query?[new wx({queryResults:await this._executor.execute(e.query,t)})]:[]}async getNewQueryModifiers(e,t){return await this._executeNewQuery(e,{useCache:!1,...t})}async _executeNewQuery(e,t){const n=this._api.getConfigManager().getConfig();if(!n)return null;const a=e?.getDefaultMediaType(),i=[],r=async n=>{ -/* istanbul ignore if: this path cannot be reached -- @preserve */ -if(!n)return[];const a="recordings"===n?await this._executor.executeDefaultRecordingQuery({...!e.isGrid()&&{cameraID:e.camera},executorOptions:t}):"clips"===n||"snapshots"===n||"all"===n?await this._executor.executeDefaultEventQuery({...!e.isGrid()&&{cameraID:e.camera},eventsMediaType:n,executorOptions:t}):/* istanbul ignore next -- @preserve */ -null;return a?[new wx(a)]:[]};switch(e.view){case"live":"none"!==n.live.controls.thumbnails.mode&&i.push(...await r("recordings"===n.live.controls.thumbnails.media_type?"recordings":n.live.controls.thumbnails.events_media_type));break;case"media":i.push(...await r("clips"));break;case"clips":case"snapshots":case"recordings":i.push(...await r(a));break;case"clip":case"snapshot":case"recording":"none"!==n.media_viewer.controls.thumbnails.mode&&i.push(...await r(a))}return i.push(...this._getTimelineWindowViewModifier(e)),i.push(...this._getSeekTimeModifier(t?.selectResult?.time?.time)),i}_getTimelineWindowViewModifier(e){if(e.is("live")){const e=new Date,t=this._api.getConfigManager().getConfig()?.live; -/* istanbul ignore if: this if branch cannot be reached as if the config is - empty this function is never called -- @preserve */ -return t?[new Zv({timeline:{window:{start:Wu(e,{seconds:t.controls.timeline.window_seconds}),end:e}}})]:[]}return[new bx("timeline","window")]}_getSeekTimeModifier(e){return e?[new Zv({mediaViewer:{seek:e}})]:[new bx("mediaViewer","seek")]}}class Ex{constructor(e,t){this._view=null,this._epoch=this._createEpoch(),this._loadingIndex=1,this.setViewDefault=e=>this._setViewGeneric(this._viewFactory.getViewDefault.bind(this._viewFactory),e),this.setViewByParameters=e=>this._setViewGeneric(this._viewFactory.getViewByParameters.bind(this._viewFactory),e),this.setViewDefaultWithNewQuery=async e=>await this._setViewThenModifyAsync(this._viewFactory.getViewDefault.bind(this._viewFactory),this._viewQueryExecutor.getNewQueryModifiers.bind(this._viewQueryExecutor),e),this.setViewByParametersWithNewQuery=async e=>await this._setViewThenModifyAsync(this._viewFactory.getViewByParameters.bind(this._viewFactory),this._viewQueryExecutor.getNewQueryModifiers.bind(this._viewQueryExecutor),e),this.setViewByParametersWithExistingQuery=async e=>await this._setViewThenModifyAsync(this._viewFactory.getViewByParameters.bind(this._viewFactory),this._viewQueryExecutor.getExistingQueryModifiers.bind(this._viewQueryExecutor),e),this.initialize=async()=>(this._api.getQueryStringManager().hasViewRelatedActionsToRun()||this.setViewDefaultWithNewQuery({failSafe:!0}),!0),this._api=e,this._viewFactory=t?.viewFactory??new vx(e),this._viewQueryExecutor=t?.viewQueryExecutor??new Sx(e)}getEpoch(){return this._epoch}_createEpoch(e){return{manager:this,...e&&{oldView:e}}}getView(){return this._view}hasView(){return!!this.getView()}reset(){this._view&&this._setView(null)}_setViewGeneric(e,t){let n=null;try{n=e({baseView:this._view,...t})}catch(e){this._api.getMessageManager().setErrorIfHigherPriority(e)}n&&this._setView(n)}_markViewLoadingQuery(e,t){return e.mergeInContext({loading:{query:t}})}_markViewAsNotLoadingQuery(e){return e.removeContextProperty("loading","query")}async _setViewThenModifyAsync(e,t,n){let a=null;try{a=e({baseView:this._view,...n,params:{query:null,queryResults:null,...n?.params}})}catch(e){this._api.getMessageManager().setErrorIfHigherPriority(e)}if(!a)return;if(this._view&&this._shouldAdoptQueryAndResults(a))return a.query=this._view.query,a.queryResults=this._view.queryResults,this._markViewAsNotLoadingQuery(a),void this._setView(a);const i=this._loadingIndex++;this._markViewLoadingQuery(a,i),this._setView(a);let r=null,o=null;try{r=await t(a,n?.queryExecutorOptions)}catch(e){o=e}if(this._view&&this.hasMajorMediaChange(this._view,a))return void(this._view.context?.loading?.query===i&&this._setView(this._markViewAsNotLoadingQuery(this._view.clone())));if(o)return void this._api.getMessageManager().setErrorIfHigherPriority(o); -/* istanbul ignore if: the if path cannot be reached as the view is set - above -- @preserve */if(!this._view)return;const s=this._view.clone();this._view.context?.loading?.query===i&&this._markViewAsNotLoadingQuery(s),fx(s,r),this._setView(s)}_shouldAdoptQueryAndResults(e){const t=this._view?.isViewerView()&&e?.isGalleryView(),n=e?.getDefaultMediaType(),a=hx.getMediaType(this._view?.query)===n;return!!t&&a}setViewWithMergedContext(e){if(this._view)return this._setView(this._view?.clone().mergeInContext(e))}isViewSupportedByCamera(e,t){return!!px(this._api.getCameraManager(),t,e).size}hasMajorMediaChange(e,t){const n=t??this._view;return!!e!=!!n||e?.view!==n?.view||e?.camera!==n?.camera||"live"===n?.view&&e&&xv(e)!==xv(n)||"live"!==n?.view&&e?.queryResults!==n?.queryResults}_setView(e){const t=this._view;V_(this._api.getConfigManager().getCardWideConfig(),"Frigate Card view change: ",e),this._view=e,this._epoch=this._createEpoch(t),this.hasMajorMediaChange(t)&&this._api.getMediaLoadedInfoManager().clear(),t?.view!==e?.view&&this._api.getCardElementManager().scrollReset(),this._api.getMessageManager().reset(),this._api.getStyleManager().setExpandedMode(),this._api.getConditionsManager()?.setState({view:e?.view,camera:e?.camera,displayMode:e?.displayMode??void 0}),this._api.getCardElementManager().update()}}class $x{constructor(e,t,n,a){this._deviceRegistryManager=new iv(new nv((e=>e.id))),this._entityRegistryManager=new sv(new nv((e=>e.entity_id))),this._resolvedMediaCache=new lv,this._actionsManager=new pb(this),this._automationsManager=new mb(this),this._cameraManager=new tv(this),this._cameraURLManager=new gb(this),this._configManager=new Cw(this),this._defaultManager=new Mw(this),this._downloadManager=new $w(this),this._expandManager=new Aw(this),this._fullscreenManager=new Dw(this),this._hassManager=new Pw(this),this._initializationManager=new Wb(this),this._interactionManager=new qw(this),this._keyboardStateManager=new Uw(this),this._mediaLoadedInfoManager=new Jw(this),this._mediaPlayerManager=new tx(this),this._messageManager=new nx(this),this._microphoneManager=new ax(this),this._queryStringManager=new ix(this),this._statusBarItemManager=new rx(this),this._styleManager=new ox(this),this._triggersManager=new sx(this),this._viewManager=new Ex(this),e.addController(this),this._conditionsManager=new yw(this,a),this._cardElementManager=new Zb(this,e,t,n)}getActionsManager(){return this._actionsManager}getAutomationsManager(){return this._automationsManager}getCameraManager(){return this._cameraManager}getCameraURLManager(){return this._cameraURLManager}getCardElementManager(){return this._cardElementManager}getConditionsManager(){return this._conditionsManager}static async getConfigElement(){return await import("./editor-0c0425c2.js"),document.createElement("frigate-card-editor")}getConfigManager(){return this._configManager}getDefaultManager(){return this._defaultManager}getDeviceRegistryManager(){return this._deviceRegistryManager}getDownloadManager(){return this._downloadManager}getEntityRegistryManager(){return this._entityRegistryManager}getExpandManager(){return this._expandManager}getFullscreenManager(){return this._fullscreenManager}getHASSManager(){return this._hassManager}getInitializationManager(){return this._initializationManager}getInteractionManager(){return this._interactionManager}getKeyboardStateManager(){return this._keyboardStateManager}getMediaLoadedInfoManager(){return this._mediaLoadedInfoManager}getMediaPlayerManager(){return this._mediaPlayerManager}getMessageManager(){return this._messageManager}getMicrophoneManager(){return this._microphoneManager}getQueryStringManager(){return this._queryStringManager}getResolvedMediaCache(){return this._resolvedMediaCache}getStatusBarItemManager(){return this._statusBarItemManager}static getStubConfig(e){return{cameras:[{camera_entity:e.find((e=>e.startsWith("camera.")))??"camera.demo"}]}}getStyleManager(){return this._styleManager}getTriggersManager(){return this._triggersManager}getViewManager(){return this._viewManager}hostConnected(){this.getCardElementManager().elementConnected()}hostDisconnected(){this.getCardElementManager().elementDisconnected()}}class Ax{constructor(){this._dynamicMenuButtons=[]}addDynamicMenuButton(e){this._dynamicMenuButtons.includes(e)||this._dynamicMenuButtons.push(e)}removeDynamicMenuButton(e){this._dynamicMenuButtons=this._dynamicMenuButtons.filter((t=>t!=e))}calculateButtons(e,t,n,a){return[this._getDefaultButton(t),this._getCamerasButton(t,n,a?.view),this._getSubstreamsButton(t,n,a?.view),this._getLiveButton(t,a?.view,a?.viewManager),this._getClipsButton(t,a?.view,a?.viewManager),this._getSnapshotsButton(t,a?.view,a?.viewManager),this._getRecordingsButton(t,a?.view,a?.viewManager),this._getImageButton(t,a?.view,a?.viewManager),this._getTimelineButton(t,a?.view,a?.viewManager),this._getDownloadButton(t,n,a?.view),this._getCameraUIButton(t,a?.showCameraUIButton),this._getMicrophoneButton(t,a?.microphoneManager,a?.currentMediaLoadedInfo),this._getExpandButton(t,a?.inExpandedMode),this._getFullscreenButton(t,a?.inFullscreenMode),this._getCastButton(e,t,n,a?.view,a?.mediaPlayerController),this._getPlayPauseButton(t,a?.currentMediaLoadedInfo),this._getMuteUnmuteButton(t,a?.currentMediaLoadedInfo),this._getScreenshotButton(t,a?.currentMediaLoadedInfo),this._getDisplayModeButton(t,n,a?.view),this._getPTZControlsButton(t,n,a?.view),this._getPTZHomeButton(t,n,a?.view),...this._dynamicMenuButtons.map((e=>({style:this._getStyleFromActions(t,e,a),...e})))].filter(rf)}_getDefaultButton(e){return{icon:"frigate",...e.menu.buttons.frigate,type:"custom:frigate-card-menu-icon",title:N_("config.menu.buttons.frigate"),permanent:!0,tap_action:"hidden"===e.menu?.style?pf("menu_toggle"):pf("default"),hold_action:pf("diagnostics")}}_getCamerasButton(e,t,n){const a=t.getStore().getCameraIDsWithCapability("menu");if(a.size>1){const i=Array.from(t.getStore().getCameraConfigEntries(a),(([e,a])=>{const i=mf("camera_select",e),r=t.getCameraMetadata(e);return{enabled:!0,icon:r?.icon,entity:a.camera_entity,state_color:!0,title:r?.title,selected:n?.camera===e,...i&&{tap_action:i}}}));return{icon:"mdi:video-switch",...e.menu.buttons.cameras,type:"custom:frigate-card-menu-submenu",title:N_("config.menu.buttons.cameras"),items:i}}return null}_getSubstreamsButton(e,t,n){if(!n)return null;const a=t.getStore().getAllDependentCameras(n.camera,"substream");if(a.size&&n.is("live")){const i=[...a].filter((e=>e!==n.camera)),r=[n.camera,...i],o=xv(n);if(2===r.length)return{icon:"mdi:video-input-component",style:o!==n.camera?this._getEmphasizedStyle():{},title:N_("config.menu.buttons.substreams"),...e.menu.buttons.substreams,type:"custom:frigate-card-menu-icon",tap_action:pf(Cv(n)?"live_substream_off":"live_substream_on")};if(r.length>2){const a=Array.from(r,(e=>{const n=mf("live_substream_select",e),a=t.getCameraMetadata(e)??void 0,i=t.getStore().getCameraConfig(e);return{enabled:!0,icon:a?.icon,entity:i?.camera_entity,state_color:!0,title:a?.title,selected:o===e,...n&&{tap_action:n}}}));return{icon:"mdi:video-input-component",title:N_("config.menu.buttons.substreams"),style:o!==n.camera?this._getEmphasizedStyle():{},...e.menu.buttons.substreams,type:"custom:frigate-card-menu-submenu",items:a}}}return null}_getLiveButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"live")?{icon:"mdi:cctv",...e.menu.buttons.live,type:"custom:frigate-card-menu-icon",title:N_("config.view.views.live"),style:t.is("live")?this._getEmphasizedStyle():{},tap_action:pf("live")}:null}_getClipsButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"clips")?{icon:"mdi:filmstrip",...e.menu.buttons.clips,type:"custom:frigate-card-menu-icon",title:N_("config.view.views.clips"),style:t?.is("clips")?this._getEmphasizedStyle():{},tap_action:pf("clips"),hold_action:pf("clip")}:null}_getSnapshotsButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"snapshots")?{icon:"mdi:camera",...e.menu.buttons.snapshots,type:"custom:frigate-card-menu-icon",title:N_("config.view.views.snapshots"),style:t?.is("snapshots")?this._getEmphasizedStyle():{},tap_action:pf("snapshots"),hold_action:pf("snapshot")}:null}_getRecordingsButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"recordings")?{icon:"mdi:album",...e.menu.buttons.recordings,type:"custom:frigate-card-menu-icon",title:N_("config.view.views.recordings"),style:t.is("recordings")?this._getEmphasizedStyle():{},tap_action:pf("recordings"),hold_action:pf("recording")}:null}_getImageButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"image")?{icon:"mdi:image",...e.menu.buttons.image,type:"custom:frigate-card-menu-icon",title:N_("config.view.views.image"),style:t?.is("image")?this._getEmphasizedStyle():{},tap_action:pf("image")}:null}_getTimelineButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"timeline")?{icon:"mdi:chart-gantt",...e.menu.buttons.timeline,type:"custom:frigate-card-menu-icon",title:N_("config.view.views.timeline"),style:t.is("timeline")?this._getEmphasizedStyle():{},tap_action:pf("timeline")}:null}_getDownloadButton(e,t,n){const a=n?.queryResults?.getSelectedResult(),i=a?t?.getMediaCapabilities(a):null;return n?.isViewerView()&&i?.canDownload&&!fb()?{icon:"mdi:download",...e.menu.buttons.download,type:"custom:frigate-card-menu-icon",title:N_("config.menu.buttons.download"),tap_action:pf("download")}:null}_getCameraUIButton(e,t){return t?{icon:"mdi:web",...e.menu.buttons.camera_ui,type:"custom:frigate-card-menu-icon",title:N_("config.menu.buttons.camera_ui"),tap_action:pf("camera_ui")}:null}_getMicrophoneButton(e,t,n){if(t&&n?.capabilities?.supports2WayAudio){const n=t.isForbidden()||!t.isSupported(),a=t.isMuted(),i=e.menu.buttons.microphone.type;return{icon:n?"mdi:microphone-message-off":a?"mdi:microphone-off":"mdi:microphone",...e.menu.buttons.microphone,type:"custom:frigate-card-menu-icon",title:N_("config.menu.buttons.microphone"),style:n||a?{}:this._getEmphasizedStyle(!0),...!n&&"momentary"===i&&{start_tap_action:pf("microphone_unmute"),end_tap_action:pf("microphone_mute")},...!n&&"toggle"===i&&{tap_action:pf(a?"microphone_unmute":"microphone_mute")}}}return null}_getExpandButton(e,t){return{icon:t?"mdi:arrow-collapse-all":"mdi:arrow-expand-all",...e.menu.buttons.expand,type:"custom:frigate-card-menu-icon",title:N_("config.menu.buttons.expand"),tap_action:pf("expand"),style:t?this._getEmphasizedStyle():{}}}_getFullscreenButton(e,t){return fb()?null:{icon:t?"mdi:fullscreen-exit":"mdi:fullscreen",...e.menu.buttons.fullscreen,type:"custom:frigate-card-menu-icon",title:N_("config.menu.buttons.fullscreen"),tap_action:pf("fullscreen"),style:t?this._getEmphasizedStyle():{}}}_getCastButton(e,t,n,a,i){if(!a)return null;const r=n.getStore().getCameraConfig(a.camera);if(i?.hasMediaPlayers()&&(a.isViewerView()||a.is("live")&&r?.camera_entity)){const n=i.getMediaPlayers().map((t=>{const n=Pb(e,t)||t,a=e.states[t],i=gf(t,"play"),r=gf(t,"stop"),o=!a||"unavailable"===a.state;return{enabled:!0,selected:!1,icon:Lb(e,t),entity:t,state_color:!1,title:n,disabled:o,...!o&&i&&{tap_action:i},...!o&&r&&{hold_action:r}}}));return{icon:"mdi:cast",...t.menu.buttons.media_player,type:"custom:frigate-card-menu-submenu",title:N_("config.menu.buttons.media_player"),items:n}}return null}_getPlayPauseButton(e,t){if(t&&t.player&&t.capabilities?.supportsPause){const n=t.player.isPaused();return{icon:n?"mdi:play":"mdi:pause",...e.menu.buttons.play,type:"custom:frigate-card-menu-icon",title:N_("config.menu.buttons.play"),tap_action:pf(n?"play":"pause")}}return null}_getMuteUnmuteButton(e,t){if(t&&t.player&&t?.capabilities?.hasAudio){const n=t.player.isMuted();return{icon:n?"mdi:volume-off":"mdi:volume-high",...e.menu.buttons.mute,type:"custom:frigate-card-menu-icon",title:N_("config.menu.buttons.mute"),tap_action:pf(n?"unmute":"mute")}}return null}_getScreenshotButton(e,t){return t&&t.player?{icon:"mdi:monitor-screenshot",...e.menu.buttons.screenshot,type:"custom:frigate-card-menu-icon",title:N_("config.menu.buttons.screenshot"),tap_action:pf("screenshot")}:null}_getDisplayModeButton(e,t,n){const a=n?px(t,n.view):null;if(n?.supportsMultipleDisplayModes()&&a&&a.size>1){const t=n.isGrid();return{icon:t?"mdi:grid-off":"mdi:grid",...e.menu.buttons.display_mode,style:t?this._getEmphasizedStyle():{},type:"custom:frigate-card-menu-icon",title:N_(t?"display_modes.single":"display_modes.grid"),tap_action:(i=t?"single":"grid",{action:"fire-dom-event",frigate_card_action:"display_mode_select",display_mode:i,...r?.cardID&&{card_id:r.cardID}})}}var i,r;return null}_getPTZControlsButton(e,t,n){const a=n?.is("live")?e.live.controls.ptz:n?.isViewerView()?e.media_viewer.controls.ptz:null;if(!n||!a||"off"===a.mode)return null;const i=Ov(n,{cameraManager:t,..."auto"===a.mode&&{type:"ptz"}});if(i){const t=!1!==n.context?.ptzControls?.enabled&&("on"===a.mode||"auto"===a.mode&&"ptz"===i.type);return{icon:"mdi:pan",...e.menu.buttons.ptz_controls,style:t?this._getEmphasizedStyle():{},type:"custom:frigate-card-menu-icon",title:N_("config.menu.buttons.ptz_controls"),tap_action:(r=!t,{action:"fire-dom-event",frigate_card_action:"ptz_controls",enabled:r,...o?.cardID&&{card_id:o.cardID}})}}var r,o;return null}_getPTZHomeButton(e,t,n){const a=n?Ov(n,{cameraManager:t}):null;return!a||(("digital"===a.type&&n?.context?.zoom?.[a.targetID]?.observed?.isDefault)??1)?null:{icon:"mdi:home",...e.menu.buttons.ptz_home,type:"custom:frigate-card-menu-icon",title:N_("config.menu.buttons.ptz_home"),tap_action:ff({targetID:a.targetID})}}_getEmphasizedStyle(e){return e?{animation:"pulse 3s infinite",color:"var(--error-color, white)"}:{color:"var(--primary-color, white)"}}_getStyleFromActions(e,t,n){for(const a of[t.tap_action,t.double_tap_action,t.hold_action,t.start_tap_action,t.end_tap_action]){const t=Array.isArray(a)?a:[a];for(const a of t){if(!a||"fire-dom-event"!==a.action||!("frigate_card_action"in a))continue;const t=a;if(Us.some((e=>e===t.frigate_card_action&&n?.view?.is(t.frigate_card_action)))||"default"===t.frigate_card_action&&n?.view?.is(e.view.default)||"fullscreen"===t.frigate_card_action&&n?.inFullscreenMode||"camera_select"===t.frigate_card_action&&n?.view?.camera===t.camera)return this._getEmphasizedStyle()}}return{}}} -/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */ -function Ix(e){return null==e}var zx=function(e,t){var n,a="";for(n=0;ns&&(t=a-s+(r=" ... ").length),n-a>s&&(n=a+s-(o=" ...").length),{str:r+e.slice(t,n).replace(/\t/g,"→")+o,pos:a-t+r.length}}function Px(e,t){return Tx.repeat(" ",t-e.length)+e}var Lx=function(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),"number"!=typeof t.indent&&(t.indent=1),"number"!=typeof t.linesBefore&&(t.linesBefore=3),"number"!=typeof t.linesAfter&&(t.linesAfter=2);for(var n,a=/\r?\n|\r|\0/g,i=[0],r=[],o=-1;n=a.exec(e.buffer);)r.push(n.index),i.push(n.index+n[0].length),e.position<=n.index&&o<0&&(o=i.length-2);o<0&&(o=i.length-1);var s,c,l="",d=Math.min(e.line+t.linesAfter,r.length).toString().length,u=t.maxLength-(t.indent+d+3);for(s=1;s<=t.linesBefore&&!(o-s<0);s++)c=Rx(e.buffer,i[o-s],r[o-s],e.position-(i[o]-i[o-s]),u),l=Tx.repeat(" ",t.indent)+Px((e.line-s+1).toString(),d)+" | "+c.str+"\n"+l;for(c=Rx(e.buffer,i[o],r[o],e.position,u),l+=Tx.repeat(" ",t.indent)+Px((e.line+1).toString(),d)+" | "+c.str+"\n",l+=Tx.repeat("-",t.indent+d+3+c.pos)+"^\n",s=1;s<=t.linesAfter&&!(o+s>=r.length);s++)c=Rx(e.buffer,i[o+s],r[o+s],e.position-(i[o]-i[o+s]),u),l+=Tx.repeat(" ",t.indent)+Px((e.line+s+1).toString(),d)+" | "+c.str+"\n";return l.replace(/\n$/,"")},Nx=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],Fx=["scalar","sequence","mapping"];var Vx=function(e,t){if(t=t||{},Object.keys(t).forEach((function(t){if(-1===Nx.indexOf(t))throw new Dx('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')})),this.options=t,this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.representName=t.representName||null,this.defaultStyle=t.defaultStyle||null,this.multi=t.multi||!1,this.styleAliases=function(e){var t={};return null!==e&&Object.keys(e).forEach((function(n){e[n].forEach((function(e){t[String(e)]=n}))})),t}(t.styleAliases||null),-1===Fx.indexOf(this.kind))throw new Dx('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')};function Hx(e,t){var n=[];return e[t].forEach((function(e){var t=n.length;n.forEach((function(n,a){n.tag===e.tag&&n.kind===e.kind&&n.multi===e.multi&&(t=a)})),n[t]=e})),n}function Bx(e){return this.extend(e)}Bx.prototype.extend=function(e){var t=[],n=[];if(e instanceof Vx)n.push(e);else if(Array.isArray(e))n=n.concat(e);else{if(!e||!Array.isArray(e.implicit)&&!Array.isArray(e.explicit))throw new Dx("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");e.implicit&&(t=t.concat(e.implicit)),e.explicit&&(n=n.concat(e.explicit))}t.forEach((function(e){if(!(e instanceof Vx))throw new Dx("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(e.loadKind&&"scalar"!==e.loadKind)throw new Dx("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(e.multi)throw new Dx("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")})),n.forEach((function(e){if(!(e instanceof Vx))throw new Dx("Specified list of YAML types (or a single Type object) contains a non-Type object.")}));var a=Object.create(Bx.prototype);return a.implicit=(this.implicit||[]).concat(t),a.explicit=(this.explicit||[]).concat(n),a.compiledImplicit=Hx(a,"implicit"),a.compiledExplicit=Hx(a,"explicit"),a.compiledTypeMap=function(){var e,t,n={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function a(e){e.multi?(n.multi[e.kind].push(e),n.multi.fallback.push(e)):n[e.kind][e.tag]=n.fallback[e.tag]=e}for(e=0,t=arguments.length;e=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),tC=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var nC=/^[-+]?[0-9]+e/;var aC=new Vx("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!(!tC.test(e)||"_"===e[e.length-1])},construct:function(e){var t,n;return n="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(t[0])>=0&&(t=t.slice(1)),".inf"===t?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:n*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||Tx.isNegativeZero(e))},represent:function(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Tx.isNegativeZero(e))return"-0.0";return n=e.toString(10),nC.test(n)?n.replace("e",".e"):n},defaultStyle:"lowercase"}),iC=Qx.extend({implicit:[Gx,Yx,eC,aC]}),rC=iC,oC=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),sC=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");var cC=new Vx("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(e){return null!==e&&(null!==oC.exec(e)||null!==sC.exec(e))},construct:function(e){var t,n,a,i,r,o,s,c,l=0,d=null;if(null===(t=oC.exec(e))&&(t=sC.exec(e)),null===t)throw new Error("Date resolve error");if(n=+t[1],a=+t[2]-1,i=+t[3],!t[4])return new Date(Date.UTC(n,a,i));if(r=+t[4],o=+t[5],s=+t[6],t[7]){for(l=t[7].slice(0,3);l.length<3;)l+="0";l=+l}return t[9]&&(d=6e4*(60*+t[10]+ +(t[11]||0)),"-"===t[9]&&(d=-d)),c=new Date(Date.UTC(n,a,i,r,o,s,l)),d&&c.setTime(c.getTime()-d),c},instanceOf:Date,represent:function(e){return e.toISOString()}});var lC=new Vx("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}}),dC="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";var uC=new Vx("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,a=0,i=e.length,r=dC;for(n=0;n64)){if(t<0)return!1;a+=6}return a%8==0},construct:function(e){var t,n,a=e.replace(/[\r\n=]/g,""),i=a.length,r=dC,o=0,s=[];for(t=0;t>16&255),s.push(o>>8&255),s.push(255&o)),o=o<<6|r.indexOf(a.charAt(t));return 0===(n=i%4*6)?(s.push(o>>16&255),s.push(o>>8&255),s.push(255&o)):18===n?(s.push(o>>10&255),s.push(o>>2&255)):12===n&&s.push(o>>4&255),new Uint8Array(s)},predicate:function(e){return"[object Uint8Array]"===Object.prototype.toString.call(e)},represent:function(e){var t,n,a="",i=0,r=e.length,o=dC;for(t=0;t>18&63],a+=o[i>>12&63],a+=o[i>>6&63],a+=o[63&i]),i=(i<<8)+e[t];return 0===(n=r%3)?(a+=o[i>>18&63],a+=o[i>>12&63],a+=o[i>>6&63],a+=o[63&i]):2===n?(a+=o[i>>10&63],a+=o[i>>4&63],a+=o[i<<2&63],a+=o[64]):1===n&&(a+=o[i>>2&63],a+=o[i<<4&63],a+=o[64],a+=o[64]),a}}),hC=Object.prototype.hasOwnProperty,pC=Object.prototype.toString;var mC=new Vx("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,n,a,i,r,o=[],s=e;for(t=0,n=s.length;t>10),56320+(e-65536&1023))}for(var BC=new Array(256),qC=new Array(256),UC=0;UC<256;UC++)BC[UC]=VC(UC)?1:0,qC[UC]=VC(UC);function WC(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||vC,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function ZC(e,t){var n={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return n.snippet=Lx(n),new Dx(t,n)}function QC(e,t){throw ZC(e,t)}function GC(e,t){e.onWarning&&e.onWarning.call(null,ZC(e,t))}var YC={YAML:function(e,t,n){var a,i,r;null!==e.version&&QC(e,"duplication of %YAML directive"),1!==n.length&&QC(e,"YAML directive accepts exactly one argument"),null===(a=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&QC(e,"ill-formed argument of the YAML directive"),i=parseInt(a[1],10),r=parseInt(a[2],10),1!==i&&QC(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=r<2,1!==r&&2!==r&&GC(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var a,i;2!==n.length&&QC(e,"TAG directive accepts exactly two arguments"),a=n[0],i=n[1],zC.test(a)||QC(e,"ill-formed tag handle (first argument) of the TAG directive"),bC.call(e.tagMap,a)&&QC(e,'there is a previously declared suffix for "'+a+'" tag handle'),TC.test(i)||QC(e,"ill-formed tag prefix (second argument) of the TAG directive");try{i=decodeURIComponent(i)}catch(t){QC(e,"tag prefix is malformed: "+i)}e.tagMap[a]=i}};function KC(e,t,n,a){var i,r,o,s;if(t1&&(e.result+=Tx.repeat("\n",t-1))}function iM(e,t){var n,a,i=e.tag,r=e.anchor,o=[],s=!1;if(-1!==e.firstTabInLine)return!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=o),a=e.input.charCodeAt(e.position);0!==a&&(-1!==e.firstTabInLine&&(e.position=e.firstTabInLine,QC(e,"tab characters must not be used in indentation")),45===a)&&RC(e.input.charCodeAt(e.position+1));)if(s=!0,e.position++,tM(e,!0,-1)&&e.lineIndent<=t)o.push(null),a=e.input.charCodeAt(e.position);else if(n=e.line,sM(e,t,CC,!1,!0),o.push(e.result),tM(e,!0,-1),a=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==a)QC(e,"bad indentation of a sequence entry");else if(e.lineIndentt?m=1:e.lineIndent===t?m=0:e.lineIndentt?m=1:e.lineIndent===t?m=0:e.lineIndentt)&&(_&&(o=e.line,s=e.lineStart,c=e.position),sM(e,t,MC,!0,i)&&(_?g=e.result:f=e.result),_||(JC(e,h,p,m,g,f,o,s,c),m=g=f=null),tM(e,!0,-1),l=e.input.charCodeAt(e.position)),(e.line===r||e.lineIndent>t)&&0!==l)QC(e,"bad indentation of a mapping entry");else if(e.lineIndent=0))break;0===i?QC(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):c?QC(e,"repeat of an indentation width identifier"):(l=t+i-1,c=!0)}if(DC(r)){do{r=e.input.charCodeAt(++e.position)}while(DC(r));if(35===r)do{r=e.input.charCodeAt(++e.position)}while(!OC(r)&&0!==r)}for(;0!==r;){for(eM(e),e.lineIndent=0,r=e.input.charCodeAt(e.position);(!c||e.lineIndentl&&(l=e.lineIndent),OC(r))d++;else{if(e.lineIndent0){for(i=o,r=0;i>0;i--)(o=LC(s=e.input.charCodeAt(++e.position)))>=0?r=(r<<4)+o:QC(e,"expected hexadecimal character");e.result+=HC(r),e.position++}else QC(e,"unknown escape sequence");n=a=e.position}else OC(s)?(KC(e,n,a,!0),aM(e,tM(e,!1,t)),n=a=e.position):e.position===e.lineStart&&nM(e)?QC(e,"unexpected end of the document within a double quoted scalar"):(e.position++,a=e.position)}QC(e,"unexpected end of the stream within a double quoted scalar")}(e,h)?f=!0:!function(e){var t,n,a;if(42!==(a=e.input.charCodeAt(e.position)))return!1;for(a=e.input.charCodeAt(++e.position),t=e.position;0!==a&&!RC(a)&&!PC(a);)a=e.input.charCodeAt(++e.position);return e.position===t&&QC(e,"name of an alias node must contain at least one character"),n=e.input.slice(t,e.position),bC.call(e.anchorMap,n)||QC(e,'unidentified alias "'+n+'"'),e.result=e.anchorMap[n],tM(e,!0,-1),!0}(e)?function(e,t,n){var a,i,r,o,s,c,l,d,u=e.kind,h=e.result;if(RC(d=e.input.charCodeAt(e.position))||PC(d)||35===d||38===d||42===d||33===d||124===d||62===d||39===d||34===d||37===d||64===d||96===d)return!1;if((63===d||45===d)&&(RC(a=e.input.charCodeAt(e.position+1))||n&&PC(a)))return!1;for(e.kind="scalar",e.result="",i=r=e.position,o=!1;0!==d;){if(58===d){if(RC(a=e.input.charCodeAt(e.position+1))||n&&PC(a))break}else if(35===d){if(RC(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&nM(e)||n&&PC(d))break;if(OC(d)){if(s=e.line,c=e.lineStart,l=e.lineIndent,tM(e,!1,-1),e.lineIndent>=t){o=!0,d=e.input.charCodeAt(e.position);continue}e.position=r,e.line=s,e.lineStart=c,e.lineIndent=l;break}}o&&(KC(e,i,r,!1),aM(e,e.line-s),i=r=e.position,o=!1),DC(d)||(r=e.position+1),d=e.input.charCodeAt(++e.position)}return KC(e,i,r,!1),!!e.result||(e.kind=u,e.result=h,!1)}(e,h,wC===n)&&(f=!0,null===e.tag&&(e.tag="?")):(f=!0,null===e.tag&&null===e.anchor||QC(e,"alias node should not have any properties")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===m&&(f=s&&iM(e,p))),null===e.tag)null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);else if("?"===e.tag){for(null!==e.result&&"scalar"!==e.kind&&QC(e,'unacceptable node kind for ! tag; it should be "scalar", not "'+e.kind+'"'),c=0,l=e.implicitTypes.length;c"),null!==e.result&&u.kind!==e.kind&&QC(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+u.kind+'", not "'+e.kind+'"'),u.resolve(e.result,e.tag)?(e.result=u.construct(e.result,e.tag),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):QC(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||f}function cM(e){var t,n,a,i,r=e.position,o=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);0!==(i=e.input.charCodeAt(e.position))&&(tM(e,!0,-1),i=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==i));){for(o=!0,i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!RC(i);)i=e.input.charCodeAt(++e.position);for(a=[],(n=e.input.slice(t,e.position)).length<1&&QC(e,"directive name must not be less than one character in length");0!==i;){for(;DC(i);)i=e.input.charCodeAt(++e.position);if(35===i){do{i=e.input.charCodeAt(++e.position)}while(0!==i&&!OC(i));break}if(OC(i))break;for(t=e.position;0!==i&&!RC(i);)i=e.input.charCodeAt(++e.position);a.push(e.input.slice(t,e.position))}0!==i&&eM(e),bC.call(YC,n)?YC[n](e,n,a):GC(e,'unknown document directive "'+n+'"')}tM(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,tM(e,!0,-1)):o&&QC(e,"directives end mark is expected"),sM(e,e.lineIndent-1,MC,!1,!0),tM(e,!0,-1),e.checkLineBreaks&&AC.test(e.input.slice(r,e.position))&&GC(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&nM(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,tM(e,!0,-1)):e.position=55296&&a<=56319&&t+1=56320&&n<=57343?1024*(a-55296)+n-56320+65536:a}function XM(e){return/^\n* /.test(e)}var JM=1,ek=2,tk=3,nk=4,ak=5;function ik(e,t,n,a,i,r,o,s){var c,l=0,d=null,u=!1,h=!1,p=-1!==a,m=-1,g=function(e){return QM(e)&&e!==pM&&!ZM(e)&&e!==SM&&e!==IM&&e!==EM&&e!==kM&&e!==TM&&e!==jM&&e!==DM&&e!==PM&&e!==bM&&e!==xM&&e!==MM&&e!==yM&&e!==RM&&e!==$M&&e!==AM&&e!==CM&&e!==vM&&e!==wM&&e!==zM&&e!==OM}(KM(e,0))&&function(e){return!ZM(e)&&e!==EM}(KM(e,e.length-1));if(t||o)for(c=0;c=65536?c+=2:c++){if(!QM(l=KM(e,c)))return ak;g=g&&YM(l,d,s),d=l}else{for(c=0;c=65536?c+=2:c++){if((l=KM(e,c))===gM)u=!0,p&&(h=h||c-m-1>a&&" "!==e[m+1],m=c);else if(!QM(l))return ak;g=g&&YM(l,d,s),d=l}h=h||p&&c-m-1>a&&" "!==e[m+1]}return u||h?n>9&&XM(e)?ak:o?r===BM?ak:ek:h?nk:tk:!g||o||i(e)?r===BM?ak:ek:JM}function rk(e,t,n,a,i){e.dump=function(){if(0===t.length)return e.quotingType===BM?'""':"''";if(!e.noCompatMode&&(-1!==NM.indexOf(t)||FM.test(t)))return e.quotingType===BM?'"'+t+'"':"'"+t+"'";var r=e.indent*Math.max(1,n),o=-1===e.lineWidth?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-r),s=a||e.flowLevel>-1&&n>=e.flowLevel;switch(ik(t,s,e.indent,o,(function(t){return function(e,t){var n,a;for(n=0,a=e.implicitTypes.length;n"+ok(t,e.indent)+sk(UM(function(e,t){var n,a,i=/(\n+)([^\n]*)/g,r=(s=e.indexOf("\n"),s=-1!==s?s:e.length,i.lastIndex=s,ck(e.slice(0,s),t)),o="\n"===e[0]||" "===e[0];var s;for(;a=i.exec(e);){var c=a[1],l=a[2];n=" "===l[0],r+=c+(o||n||""===l?"":"\n")+ck(l,t),o=n}return r}(t,o),r));case ak:return'"'+function(e){for(var t,n="",a=0,i=0;i=65536?i+=2:i++)a=KM(e,i),!(t=LM[a])&&QM(a)?(n+=e[i],a>=65536&&(n+=e[i+1])):n+=t||VM(a);return n}(t)+'"';default:throw new Dx("impossible error: invalid scalar style")}}()}function ok(e,t){var n=XM(e)?String(t):"",a="\n"===e[e.length-1];return n+(a&&("\n"===e[e.length-2]||"\n"===e)?"+":a?"":"-")+"\n"}function sk(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function ck(e,t){if(""===e||" "===e[0])return e;for(var n,a,i=/ [^ ]/g,r=0,o=0,s=0,c="";n=i.exec(e);)(s=n.index)-r>t&&(a=o>r?o:s,c+="\n"+e.slice(r,a),r=a+1),o=s;return c+="\n",e.length-r>t&&o>r?c+=e.slice(r,o)+"\n"+e.slice(o+1):c+=e.slice(r),c.slice(1)}function lk(e,t,n,a){var i,r,o,s="",c=e.tag;for(i=0,r=n.length;i tag resolver accepts not "'+c+'" style');a=s.represent[c](t,c)}e.dump=a}return!0}return!1}function uk(e,t,n,a,i,r,o){e.tag=null,e.dump=n,dk(e,n,!1)||dk(e,n,!0);var s,c=uM.call(e.dump),l=a;a&&(a=e.flowLevel<0||e.flowLevel>t);var d,u,h="[object Object]"===c||"[object Array]"===c;if(h&&(u=-1!==(d=e.duplicates.indexOf(n))),(null!==e.tag&&"?"!==e.tag||u||2!==e.indent&&t>0)&&(i=!1),u&&e.usedDuplicates[d])e.dump="*ref_"+d;else{if(h&&u&&!e.usedDuplicates[d]&&(e.usedDuplicates[d]=!0),"[object Object]"===c)a&&0!==Object.keys(e.dump).length?(!function(e,t,n,a){var i,r,o,s,c,l,d="",u=e.tag,h=Object.keys(n);if(!0===e.sortKeys)h.sort();else if("function"==typeof e.sortKeys)h.sort(e.sortKeys);else if(e.sortKeys)throw new Dx("sortKeys must be a boolean or a function");for(i=0,r=h.length;i1024)&&(e.dump&&gM===e.dump.charCodeAt(0)?l+="?":l+="? "),l+=e.dump,c&&(l+=WM(e,t)),uk(e,t+1,s,!0,c)&&(e.dump&&gM===e.dump.charCodeAt(0)?l+=":":l+=": ",d+=l+=e.dump));e.tag=u,e.dump=d||"{}"}(e,t,e.dump,i),u&&(e.dump="&ref_"+d+e.dump)):(!function(e,t,n){var a,i,r,o,s,c="",l=e.tag,d=Object.keys(n);for(a=0,i=d.length;a1024&&(s+="? "),s+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),uk(e,t,o,!1,!1)&&(c+=s+=e.dump));e.tag=l,e.dump="{"+c+"}"}(e,t,e.dump),u&&(e.dump="&ref_"+d+" "+e.dump));else if("[object Array]"===c)a&&0!==e.dump.length?(e.noArrayIndent&&!o&&t>0?lk(e,t-1,e.dump,i):lk(e,t,e.dump,i),u&&(e.dump="&ref_"+d+e.dump)):(!function(e,t,n){var a,i,r,o="",s=e.tag;for(a=0,i=n.length;a",e.dump=s+" "+e.dump)}return!0}function hk(e,t){var n,a,i=[],r=[];for(pk(e,i,r),n=0,a=r.length;nq`
${gk.dump(e)}
`;return q`
-
-
- -
-
- - ${this.message?q`${this.message}${this.context&&"string"==typeof this.context?": "+this.context:""}`:""} - - ${this.context&&Array.isArray(this.context)?this.context.map((e=>n(e))):"object"==typeof this.context?n(this.context):""} -
-
-
`}static get styles(){return o(fk)}};e([he({attribute:!1})],_k.prototype,"message",void 0),e([he({attribute:!1})],_k.prototype,"context",void 0),e([he({attribute:!1})],_k.prototype,"icon",void 0),e([he({attribute:!0,type:Boolean})],_k.prototype,"dotdotdot",void 0),_k=e([le("frigate-card-message")],_k);let yk=class extends se{render(){if(this.message)return q` ${N_("error.troubleshooting")}.`} - .icon=${this.message.icon??"mdi:alert-circle"} - .context=${this.message.context} - .dotdotdot=${this.message.dotdotdot} - > - `}static get styles(){return o(fk)}};e([he({attribute:!1})],yk.prototype,"message",void 0),yk=e([le("frigate-card-error-message")],yk);let vk=class extends se{constructor(){super(...arguments),this.message="",this.animated=!1,this.size="large"}render(){return q`
- ${this.animated?q` - `:q``} - ${this.message?q`${this.message}`:q``} -
`}static get styles(){return o(fk)}};function bk(e){return"error"===e?.type?q` `:e?q` `:q``}function wk(e){return q` - - - `}function xk(e,t,n){!function(e,t,n,a){Vg(e,"message",{message:t,type:n,icon:a?.icon,context:a?.context})}(e,t,"error",{context:n?.context})}function Ck(e,t){t instanceof Error&&xk(e,t.message,{...t instanceof $s&&{context:t.context}})}e([he({attribute:!1})],vk.prototype,"message",void 0),e([he({attribute:!1})],vk.prototype,"animated",void 0),e([he({attribute:!1})],vk.prototype,"size",void 0),vk=e([le("frigate-card-progress-indicator")],vk);let Mk=class extends se{constructor(){super(...arguments),this._root=null}createRenderRoot(){return this}_createRoot(){const e=customElements.get("hui-conditional-element");if(!e||!this.hass)throw new Error(N_("error.could_not_render_elements"));const t=new e;t.hass=this.hass;const n={type:"conditional",conditions:[],elements:this.elements};try{t.setConfig(n)}catch(e){throw Zg(e,console.error),new $s(N_("error.invalid_elements_config"))}return t}willUpdate(e){try{!this.elements||this._root&&!e.has("elements")||(this._root=this._createRoot())}catch(e){return Ck(this,e)}}render(){return q`${this._root||""}`}updated(){this.hass&&this._root&&(this._root.hass=this.hass)}};e([he({attribute:!1})],Mk.prototype,"elements",void 0),e([he({attribute:!1})],Mk.prototype,"conditionsManagerEpoch",void 0),e([he({attribute:!1})],Mk.prototype,"hass",void 0),Mk=e([le("frigate-card-elements-core")],Mk);let kk=class extends se{constructor(){super(...arguments),this._menuRemoveHandler=e=>{Vg(this,"menu:remove",e.detail)},this._statusBarRemoveHandler=e=>{Vg(this,"status-bar:remove",e.detail)},this._menuAddHandler=e=>{const t=e.composedPath();t.length&&this._addHandler(t[0],"frigate-card:menu:remove",this._menuRemoveHandler)},this._statusBarAddHandler=e=>{const t=e.composedPath();t.length&&this._addHandler(t[0],"frigate-card:status-bar:add",this._statusBarRemoveHandler)}}_addHandler(e,t,n){e.removeEventListener(t,n),e.addEventListener(t,n)}connectedCallback(){super.connectedCallback(),this.addEventListener("frigate-card:menu:add",this._menuAddHandler),this.addEventListener("frigate-card:status-bar:add",this._statusBarAddHandler)}disconnectedCallback(){this.removeEventListener("frigate-card:menu:add",this._menuAddHandler),this.addEventListener("frigate-card:status-bar:add",this._statusBarAddHandler),super.disconnectedCallback()}render(){return q` - `}static get styles(){return o(":host {\n position: absolute;\n inset: 0;\n overflow: hidden;\n pointer-events: none;\n}\n\n.element {\n position: absolute;\n transform: translate(-50%, -50%);\n pointer-events: auto;\n}\n\nhui-error-card.element {\n inset: 0px;\n transform: unset;\n}")}};e([he({attribute:!1})],kk.prototype,"hass",void 0),e([he({attribute:!1})],kk.prototype,"conditionsManagerEpoch",void 0),e([he({attribute:!1})],kk.prototype,"elements",void 0),kk=e([le("frigate-card-elements")],kk);let Sk=class extends se{setConfig(e){this._config=e}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this.className=""}render(){if(function(e,t){if(!t)return!0;const n=new fw(t,{bubbles:!0,composed:!0});return e.dispatchEvent(n),n.evaluation??!1}(this,this._config?.conditions))return q` - `}};e([he({attribute:!1,hasChanged:()=>!0})],Sk.prototype,"hass",void 0),Sk=e([le("frigate-card-conditional")],Sk);class Ek extends se{constructor(e){super(),this._config=null,this._eventCategory=e}setConfig(e){this._config=e}connectedCallback(){super.connectedCallback(),this._config&&Vg(this,`${this._eventCategory}:add`,this._config)}disconnectedCallback(){this._config&&Vg(this,`${this._eventCategory}:remove`,this._config),super.disconnectedCallback()}}e([pe()],Ek.prototype,"_config",void 0);class $k extends Ek{constructor(){super("menu")}}let Ak=class extends $k{};Ak=e([le("frigate-card-menu-icon")],Ak);let Ik=class extends $k{};Ik=e([le("frigate-card-menu-state-icon")],Ik);let zk=class extends $k{};zk=e([le("frigate-card-menu-submenu")],zk);let Tk=class extends $k{};Tk=e([le("frigate-card-menu-submenu-select")],Tk);class jk extends Ek{constructor(){super("status-bar")}}let Ok=class extends jk{};Ok=e([le("frigate-card-status-bar-icon")],Ok);let Dk=class extends jk{};Dk=e([le("frigate-card-status-bar-image")],Dk);let Rk=class extends jk{};Rk=e([le("frigate-card-status-bar-string")],Rk);let Pk=class extends se{render(){return q` `}static get styles(){return o(":host {\n width: intrinsic;\n height: intrinsic;\n display: flex;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n}\n\nimg {\n width: 10%;\n animation: rotate 8s linear infinite;\n}\n\n@keyframes rotate {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}")}};Pk=e([le("frigate-card-loading")],Pk);const Lk=(e,t)=>{Vg(e,"action:execution-request",t)};class Nk{constructor(e){this._config=null,this._buttons=[],this._expanded=!1,this._host=e}setMenuConfig(e){this._config=e,this._host.style.setProperty("--frigate-card-menu-button-size",`${e.button_size}px`),this._host.setAttribute("data-style",e.style),this._host.setAttribute("data-position",e.position),this._host.setAttribute("data-alignment",e.alignment),this._sortButtons(),this._host.requestUpdate()}getMenuConfig(){return this._config}isExpanded(){return this._expanded}setButtons(e){this._buttons=e,this._sortButtons(),this._host.requestUpdate()}getButtons(e){const t=e=>!this._isHidingMenu()||this._expanded||!!e.permanent;return this._buttons.filter((n=>(e=>!1!==e.enabled)(n)&&(t=>t.alignment===e||"matching"===e&&!t.alignment)(n)&&t(n)))}setExpanded(e){this._expanded=e,af(this._host,e,"expanded"),this._host.requestUpdate()}toggleExpanded(){this.setExpanded(!this._expanded)}actionHandler(e,t){if(e.stopPropagation(),e.detail.config&&(t=e.detail.config),!t)return;const n=e.detail.action,a=_f(n,t);if(!a)return;const i=qg(a);let r=!1;const o=i.filter((e=>rf(e)&&!this._isUnknownActionMenuToggleAction(e)));if(o.length!=i.length&&(r=!0),o.length&&Lk(this._host,{action:i,config:t}),this._isHidingMenu())if(r)this.setExpanded(!this._expanded);else{const e=_f("hold",t),a=_f("double_tap",t),i=_f("tap",t),r=_f("end_tap",t);"end_tap"!==n&&("start_tap"!==n||e||a||i||r)&&("end_tap"===n||r)||this.setExpanded(!1)}}getFreshButtonState(e,t){const n={...t};return e&&"custom:frigate-card-menu-state-icon"===t.type?Rb(e,n):n}_sortButtons(){this._buttons=ky(this._buttons,(e=>(e.priority??0)+(this._isHidingMenu()&&e.permanent?Bs:0)),["desc"])}_isHidingMenu(){return"hidden"===this._config?.style}_isUnknownActionMenuToggleAction(e){const t=hf(e);return!!t&&"menu_toggle"==t.frigate_card_action}}var Fk="data:image/svg+xml,%3c%3fxml version='1.0' encoding='UTF-8' standalone='no'%3f%3e%3csvg width='24' height='24' viewBox='0 0 24 24' fill='none' version='1.1' id='svg54' sodipodi:docname='frigate.svg' inkscape:version='1.2.2 (b0a8486541%2c 2022-12-01)' xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape' xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd' xmlns='http://www.w3.org/2000/svg' xmlns:svg='http://www.w3.org/2000/svg'%3e %3cdefs id='defs58' /%3e %3csodipodi:namedview id='namedview56' pagecolor='%23da4040' bordercolor='%23666666' borderopacity='1.0' inkscape:pageshadow='2' inkscape:pageopacity='0' inkscape:pagecheckerboard='0' showgrid='false' width='24px' inkscape:zoom='45.254834' inkscape:cx='-0.03314563' inkscape:cy='9.9768347' inkscape:window-width='3840' inkscape:window-height='1527' inkscape:window-x='1080' inkscape:window-y='227' inkscape:window-maximized='1' inkscape:current-layer='svg54' showguides='true' inkscape:showpageshadow='2' inkscape:deskcolor='%23d1d1d1' /%3e %3cpath d='m 4.8759466%2c22.743573 c 0.0866%2c0.69274 0.811811%2c1.16359 0.37885%2c1.27183 -0.43297%2c0.10824 -2.32718%2c-3.43665 -2.7601492%2c-4.95202 -0.4329602%2c-1.51538 -0.6764993%2c-3.22017 -0.5682593%2c-4.19434 0.1082301%2c-0.97417 5.7097085%2c-2.48955 5.7097085%2c-2.89545 0%2c-0.4059 -1.81304%2c-0.0271 -1.89422%2c-0.35178 -0.0812%2c-0.32472 1.36925%2c-0.12989 1.75892%2c-0.64945 0.60885%2c-0.81181 1.3800713%2c-0.6765 1.8671505%2c-1.1094696 0.4870902%2c-0.4329599 1.0824089%2c-2.0836399 1.1906589%2c-2.7871996 0.108241%2c-0.70357 -1.0824084%2c-1.51538 -1.4071389%2c-2.05658 -0.3247195%2c-0.54121 0.7035702%2c-0.92005 3.1931099%2c-1.94834 2.48954%2c-1.02829 10.39114%2c-3.30134994 10.49938%2c-3.03074994 0.10824%2c0.27061 -2.59779%2c1.40713994 -4.492%2c2.11069994 -1.89422%2c0.70357 -4.97909%2c2.05658 -4.97909%2c2.43542 0%2c0.37885 0.16236%2c0.67651 0.0541%2c1.54244 -0.10824%2c0.86593 -0.12123%2c1.2702597 -0.32472%2c1.8400997 -0.1353%2c0.37884 -0.2706%2c1.27183 0%2c2.0836295 0.21648%2c0.64945 0.92005%2c1.13653 1.24477%2c1.24478 0.2706%2c0.018 1.01746%2c0.0433 1.8401%2c0 1.02829%2c-0.0541 2.48954%2c0.0541 2.48954%2c0.32472 0%2c0.2706 -2.21894%2c0.10824 -2.21894%2c0.48708 0%2c0.37885 2.27306%2c-0.0541 2.21894%2c0.32473 -0.0541%2c0.37884 -1.89422%2c0.21648 -2.86839%2c0.21648 -0.77933%2c0 -1.93031%2c-0.0361 -2.43542%2c-0.21648 l -0.10824%2c0.37884 c -0.18038%2c0 -0.55744%2c0.10824 -0.94711%2c0.10824 -0.48708%2c0 -0.51414%2c0.16236 -1.40713%2c0.16236 -0.892989%2c0 -0.622391%2c-0.0541 -1.4341894%2c-0.10824 -0.81181%2c-0.0541 -3.842561%2c2.27306 -4.383761%2c3.03075 -0.54121%2c0.75768 -0.21649%2c2.59778 -0.21649%2c3.43665 0%2c0.75379 -0.10824%2c2.43542 0%2c3.30135 z' fill='black' id='path330' style='fill:white%3bfill-opacity:1%3bstroke:none%3bstroke-width:0.1%3bstroke-miterlimit:4%3bstroke-dasharray:none%3bstroke-opacity:1' sodipodi:nodetypes='csccscccccsscscccccsscsccssccscc' /%3e%3c/svg%3e",Vk="data:image/svg+xml,%3c%3fxml version='1.0' encoding='UTF-8' standalone='no'%3f%3e%3c!-- Created with Inkscape (http://www.inkscape.org/) --%3e%3csvg id='svg2' version='1.1' inkscape:version='1.2.2 (b0a8486541%2c 2022-12-01)' width='24' height='24' xml:space='preserve' sodipodi:docname='motioneye.svg' inkscape:export-filename='/home/ccrisan/projects/motioneye/static/img/motioneye-logo.png' inkscape:export-xdpi='960' inkscape:export-ydpi='960' xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape' xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns='http://www.w3.org/2000/svg' xmlns:svg='http://www.w3.org/2000/svg' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns%23' xmlns:cc='http://creativecommons.org/ns%23' xmlns:dc='http://purl.org/dc/elements/1.1/'%3e%3cmetadata id='metadata8'%3e%3crdf:RDF%3e%3ccc:Work rdf:about=''%3e%3cdc:format%3eimage/svg%2bxml%3c/dc:format%3e%3cdc:type rdf:resource='http://purl.org/dc/dcmitype/StillImage' /%3e%3c/cc:Work%3e%3c/rdf:RDF%3e%3c/metadata%3e%3cdefs id='defs6'%3e%3clinearGradient inkscape:collect='always' id='linearGradient2058'%3e%3cstop style='stop-color:white%3bstop-opacity:1%3b' offset='0' id='stop2054' /%3e%3cstop style='stop-color:%23585858%3bstop-opacity:1' offset='1' id='stop2056' /%3e%3c/linearGradient%3e%3clinearGradient inkscape:collect='always' id='linearGradient2005'%3e%3cstop style='stop-color:white%3bstop-opacity:1%3b' offset='0' id='stop2001' /%3e%3cstop style='stop-color:grey%3bstop-opacity:1%3b' offset='1' id='stop2003' /%3e%3c/linearGradient%3e%3clinearGradient inkscape:collect='always' id='linearGradient4205'%3e%3cstop style='stop-color:%234aa3e0%3bstop-opacity:1' offset='0' id='stop4207' /%3e%3cstop style='stop-color:%233096db%3bstop-opacity:1' offset='1' id='stop4209' /%3e%3c/linearGradient%3e%3clinearGradient inkscape:collect='always' id='linearGradient4197'%3e%3cstop style='stop-color:white%3bstop-opacity:1%3b' offset='0' id='stop4199' /%3e%3cstop style='stop-color:%23585858%3bstop-opacity:1' offset='1' id='stop4201' /%3e%3c/linearGradient%3e%3clinearGradient inkscape:collect='always' xlink:href='%23linearGradient4205' id='linearGradient4211' x1='26.602072' y1='43.034946' x2='26.602072' y2='29.466328' gradientUnits='userSpaceOnUse' gradientTransform='matrix(0.96428571%2c0%2c0%2c0.96428571%2c0.91428571%2c0.91428571)' /%3e%3cfilter style='color-interpolation-filters:sRGB' inkscape:label='Drop Shadow' id='filter4285'%3e%3cfeFlood flood-opacity='0.588235' flood-color='rgb(0%2c0%2c0)' result='flood' id='feFlood4287' /%3e%3cfeComposite in='flood' in2='SourceGraphic' operator='in' result='composite1' id='feComposite4289' /%3e%3cfeGaussianBlur in='composite1' stdDeviation='0.6' result='blur' id='feGaussianBlur4291' /%3e%3cfeOffset dx='0' dy='-1' result='offset' id='feOffset4293' /%3e%3cfeComposite in='SourceGraphic' in2='offset' operator='over' result='composite2' id='feComposite4295' /%3e%3c/filter%3e%3clinearGradient inkscape:collect='always' xlink:href='%23linearGradient2005' id='linearGradient4309' gradientUnits='userSpaceOnUse' x1='26.445793' y1='47.517574' x2='26.445793' y2='3.8183768' /%3e%3clinearGradient inkscape:collect='always' xlink:href='%23linearGradient4197' id='linearGradient4311' gradientUnits='userSpaceOnUse' x1='26.445793' y1='47.517574' x2='26.445793' y2='3.8183768' /%3e%3clinearGradient inkscape:collect='always' xlink:href='%23linearGradient2058' id='linearGradient4313' gradientUnits='userSpaceOnUse' x1='26.445793' y1='47.517574' x2='26.445793' y2='3.8183768' /%3e%3cfilter style='color-interpolation-filters:sRGB' inkscape:label='Drop Shadow' id='filter4315' x='-0.03618178' y='-0.20783284' width='1.0723636' height='1.3304883'%3e%3cfeFlood flood-opacity='0.588235' flood-color='rgb(0%2c0%2c0)' result='flood' id='feFlood4317' /%3e%3cfeComposite in='flood' in2='SourceGraphic' operator='in' result='composite1' id='feComposite4319' /%3e%3cfeGaussianBlur in='composite1' stdDeviation='0.6' result='blur' id='feGaussianBlur4321' /%3e%3cfeOffset dx='0' dy='-1' result='offset' id='feOffset4323' /%3e%3cfeComposite in='SourceGraphic' in2='offset' operator='over' result='composite2' id='feComposite4325' /%3e%3c/filter%3e%3cfilter style='color-interpolation-filters:sRGB' inkscape:label='Drop Shadow' id='filter4327' x='-0.27857143' y='-0.4720238' width='1.5571429' height='1.7505952'%3e%3cfeFlood flood-opacity='0.588235' flood-color='rgb(0%2c0%2c0)' result='flood' id='feFlood4329' /%3e%3cfeComposite in='flood' in2='SourceGraphic' operator='in' result='composite1' id='feComposite4331' /%3e%3cfeGaussianBlur in='composite1' stdDeviation='0.6' result='blur' id='feGaussianBlur4333' /%3e%3cfeOffset dx='0' dy='-1' result='offset' id='feOffset4335' /%3e%3cfeComposite in='SourceGraphic' in2='offset' operator='over' result='composite2' id='feComposite4337' /%3e%3c/filter%3e%3cfilter style='color-interpolation-filters:sRGB' inkscape:label='Drop Shadow' id='filter4339' x='-0.0202507' y='-0.13980794' width='1.0405014' height='1.2082853'%3e%3cfeFlood flood-opacity='0.588235' flood-color='rgb(0%2c0%2c0)' result='flood' id='feFlood4341' /%3e%3cfeComposite in='flood' in2='SourceGraphic' operator='in' result='composite1' id='feComposite4343' /%3e%3cfeGaussianBlur in='composite1' stdDeviation='0.2' result='blur' id='feGaussianBlur4345' /%3e%3cfeOffset dx='0' dy='-0.5' result='offset' id='feOffset4347' /%3e%3cfeComposite in='SourceGraphic' in2='offset' operator='over' result='composite2' id='feComposite4349' /%3e%3c/filter%3e%3c/defs%3e%3csodipodi:namedview pagecolor='%23ff0d0d' bordercolor='%23666666' borderopacity='1' objecttolerance='10' gridtolerance='10' guidetolerance='10' inkscape:pageopacity='0' inkscape:pageshadow='2' inkscape:window-width='3840' inkscape:window-height='1527' id='namedview4' showgrid='false' inkscape:zoom='29.890116' inkscape:cx='19.973158' inkscape:cy='16.577386' inkscape:window-x='1080' inkscape:window-y='227' inkscape:window-maximized='1' inkscape:current-layer='g10' showguides='true' inkscape:guide-bbox='true' inkscape:showpageshadow='true' inkscape:pagecheckerboard='false' inkscape:deskcolor='%23d1d1d1' /%3e%3cg id='g10' inkscape:groupmode='layer' inkscape:label='ink_ext_XXXXXX' transform='matrix(1.25%2c0%2c0%2c-1.25%2c0%2c64)'%3e%3cg id='g4823' transform='matrix(1.0344694%2c0%2c0%2c1.0344694%2c-3.551886%2c-0.86695248)'%3e%3cpath id='path4244' d='M 8.9346154%2c40.515385 C 5.3647588%2c36.547307 3.2%2c31.357779 3.2%2c25.6 3.2%2c13.228821 13.228821%2c3.2 25.6%2c3.2 37.971179%2c3.2 48%2c13.228821 48%2c25.6 c 0%2c5.736682 -2.161128%2c10.952493 -5.707692%2c14.915385 -1.695935%2c-0.623286 -3.387833%2c-1.349065 -5.061539%2c-2.288462 3.2394%2c-0.937363 5.6%2c-3.937988 5.6%2c-7.457692 0%2c-4.260339 -3.469626%2c-7.753846 -7.753846%2c-7.753846 -3.633936%2c0 -6.690552%2c2.51055 -7.538461%2c5.869231 h -3.876924 c -0.840685%2c-3.360193 -3.903443%2c-5.869231 -7.538461%2c-5.869231 -4.284219%2c0 -7.7807693%2c3.493507 -7.7807693%2c7.753846 0%2c3.56112 2.4570323%2c6.5856 5.7615383%2c7.484616 -1.676267%2c0.912203 -3.404813%2c1.620556 -5.1692306%2c2.261538 z M 25.6%2c26.461538 c 0.532632%2c-1.981435 1.101793%2c-3.947553 3.446154%2c-5.16923 L 25.6%2c16.123077 22.153846%2c21.292308 c 2.053593%2c1.454966 3.000771%2c3.237758 3.446154%2c5.16923 z' style='fill:url(%23linearGradient4309)%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4327)' inkscape:connector-curvature='0' transform='matrix(0.38078533%2c0%2c0%2c0.38078533%2c2.9655495%2c31.335499)' /%3e%3cpath id='path4242' d='m 16.123077%2c33.353847 c -1.427443%2c0 -2.584616%2c-1.157173 -2.584616%2c-2.584616 0%2c-1.427444 1.157173%2c-2.584615 2.584616%2c-2.584615 1.427444%2c0 2.584615%2c1.157171 2.584615%2c2.584615 0%2c1.427443 -1.157171%2c2.584616 -2.584615%2c2.584616 z' style='fill:url(%23linearGradient4311)%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4327)' inkscape:connector-curvature='0' transform='matrix(0.38078533%2c0%2c0%2c0.38078533%2c2.9655495%2c31.335499)' /%3e%3cpath id='path4240' d='m 35.076923%2c33.353847 c -1.427443%2c0 -2.584615%2c-1.157173 -2.584615%2c-2.584616 0%2c-1.427444 1.157172%2c-2.584615 2.584615%2c-2.584615 1.427443%2c0 2.584616%2c1.157171 2.584616%2c2.584615 0%2c1.427443 -1.157173%2c2.584616 -2.584616%2c2.584616 z' style='fill:url(%23linearGradient4313)%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4327)' inkscape:connector-curvature='0' transform='matrix(0.38078533%2c0%2c0%2c0.38078533%2c2.9655495%2c31.335499)' /%3e%3cpath inkscape:connector-curvature='0' style='fill:%23d9d9d9%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4339)' d='m 25.6%2c47.2 c -4.373944%2c0 -8.437159%2c-1.399808 -11.838461%2c-3.634616 3.677605%2c-0.394237 7.305921%2c-1.342945 11.423077%2c-3.375 4.166157%2c2.122533 8.434154%2c3.008875 12.279808%2c3.452886 C 34.057131%2c45.890032 29.986674%2c47.2 25.6%2c47.2 Z' id='path4248' transform='matrix(0.39488848%2c0%2c0%2c0.39488848%2c2.6045087%2c30.974457)' /%3e%3cpath inkscape:connector-curvature='0' style='fill:url(%23linearGradient4211)%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4315)' d='M 39.723077%2c42.552884 C 35.394064%2c42.5242 29.479588%2c40.397223 25.184616%2c38.432418 20.668821%2c40.064102 16.035448%2c42.649343 10.801923%2c42.526924 10.453022%2c42.51873 10.118061%2c42.50105 9.7634616%2c42.475 L 5.6615384%2c42.1375 9.5557693%2c40.839424 c 5.3417977%2c-1.74056 10.0398397%2c-2.851302 14.1749997%2c-10.025963 0.959101%2c0 2.845924%2c-4.15e-4 3.738462%2c-4.15e-4 4.11884%2c7.134039 9.059296%2c8.324614 14.149039%2c10.026378 L 45.460577%2c42.085577 41.4625%2c42.475 c -0.544847%2c0.05181 -1.120992%2c0.08198 -1.739423%2c0.07788 z' id='path4246' sodipodi:nodetypes='cccccccccccc' transform='matrix(0.39488848%2c0%2c0%2c0.39488848%2c2.6045087%2c30.974457)' /%3e%3c/g%3e%3c/g%3e%3c/svg%3e",Hk="data:image/svg+xml,%3c%3fxml version='1.0' encoding='UTF-8' standalone='no'%3f%3e%3c!-- Created with Inkscape (http://www.inkscape.org/) --%3e%3csvg version='1.1' id='svg62' width='24' height='24' viewBox='0 0 24 24' sodipodi:docname='reolink.svg' inkscape:version='1.2.2 (b0a8486541%2c 2022-12-01)' xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape' xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd' xmlns='http://www.w3.org/2000/svg' xmlns:svg='http://www.w3.org/2000/svg'%3e %3cdefs id='defs66' /%3e %3csodipodi:namedview id='namedview64' pagecolor='%23505050' bordercolor='%23eeeeee' borderopacity='1' inkscape:showpageshadow='0' inkscape:pageopacity='0' inkscape:pagecheckerboard='0' inkscape:deskcolor='%23505050' showgrid='true' inkscape:zoom='36.417984' inkscape:cx='18.191562' inkscape:cy='8.6633022' inkscape:window-width='3840' inkscape:window-height='1527' inkscape:window-x='1080' inkscape:window-y='227' inkscape:window-maximized='1' inkscape:current-layer='g68'%3e %3cinkscape:grid type='xygrid' id='grid1175' dotted='false' snapvisiblegridlinesonly='true' /%3e %3c/sodipodi:namedview%3e %3cg inkscape:groupmode='layer' inkscape:label='Reolink Logo' id='g68'%3e %3cpath style='fill:white%3bstroke-width:0.0393282%3bfill-opacity:1' d='M 17.037254%2c23.964909 C 16.764634%2c23.917573 16.561708%2c23.83617 16.325735%2c23.67954 16.196719%2c23.593913 14.543544%2c21.952905 12.217956%2c19.602014 10.077426%2c17.438191 8.2198993%2c15.582673 8.0901166%2c15.478642 7.6038998%2c15.088895 7.0877741%2c14.869424 6.4986827%2c14.801908 6.3140805%2c14.780765 5.079061%2c14.763305 3.7541964%2c14.763126 l -2.408845%2c-4.78e-4 0.00713%2c-7.3937713 v -7.3935985 l 6.2040046%2c3.536e-5 c 3.9799342%2c1.969e-5 6.3590882%2c0.01465833 6.6366112%2c0.0408227 2.331195%2c0.21982024 4.364771%2c1.49885914 5.578726%2c3.50085534 0.686043%2c1.1313823 1.020901%2c2.2783695 1.067186%2c3.6554196 0.06335%2c1.8844953 -0.57426%2c3.6597378 -1.831469%2c5.0992438 -0.756457%2c0.866146 -1.861127%2c1.62991 -2.928729%2c2.024919 l -0.319718%2c0.118287 -1.951287%2c-1.979284 -1.951286%2c-1.979278 1.046741%2c-0.02346 c 0.575706%2c-0.01291 1.099833%2c-0.03689 1.164724%2c-0.0533 0.596068%2c-0.150649 0.949703%2c-0.313968 1.322206%2c-0.6106282 0.643573%2c-0.5125401 1.046169%2c-1.2439257 1.137985%2c-2.0673522 0.167852%2c-1.505317 -0.771478%2c-2.8704888 -2.263547%2c-3.2897068 L 13.950001%2c4.3234481 9.7981831%2c4.3106846 5.6392389%2c4.29801 v 3.0692702 3.0692648 l 1.4185165%2c7.9e-4 c 1.6275801%2c8.87e-4 1.7789152%2c0.01912 2.3105245%2c0.27984 0.3095679%2c0.15183 0.389559%2c0.219499 1.0817441%2c0.915083 3.027399%2c3.042274 12.19404%2c12.30837 12.204589%2c12.337002 0.0161%2c0.04373 -5.364393%2c0.03953 -5.617359%2c-0.0045 z' id='path1173' inkscape:label='R' /%3e %3c/g%3e%3c/svg%3e";const Bk=e=>{switch(e){case"frigate":return Fk;case"motioneye":return Vk;case"reolink":return Hk;default:return null}};const qk=(e,t,n)=>{const a=e.states[t],i=n?.state?n.state:a?a.state:null;if(!i)return null;const r=Ye(t),o=a?a.attributes:null;return n?.entity?.translation_key&&e.localize(`component.${n.entity.platform}.entity.${r}.${n.entity.translation_key}.state.${i}`)||o?.device_class&&e.localize(`component.${r}.state.${o.device_class}.${i}`)||e.localize(`component.${r}.state._.${i}`)||i};let Uk=class extends se{_renderItem(e){if(!this.hass)return;const t=Rb(this.hass,{...e});return q` - {t.detail.config=e}} - .actionHandler=${Cf({hasHold:yf(e.hold_action),hasDoubleClick:yf(e.double_tap_action)})} - > - ${t.title||""} - ${e.subtitle?q`${e.subtitle}`:""} - ${(e=>{if(e.icon){const t=Bk(e.icon);return t?q``:q` - `}return q``})(t)} - - `}render(){if(!this.submenu)return q``;const e=this.submenu.items;return q` - e.stopPropagation()} - @click=${e=>vf(e)} - > - - - - ${e.map(this._renderItem.bind(this))} - - `}static get styles(){return o("ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n pointer-events: auto;\n}\n\nmwc-list-item {\n z-index: 20;\n}")}};e([he({attribute:!1})],Uk.prototype,"hass",void 0),e([he({attribute:!1})],Uk.prototype,"submenu",void 0),Uk=e([le("frigate-card-submenu")],Uk);let Wk=class extends se{shouldUpdate(e){const t=e.get("hass");return!e.has("hass")||!t||!this.submenuSelect||Tb(this.hass,t,[this.submenuSelect.entity])}async _refreshOptionTitles(){if(!this.hass||!this.submenuSelect)return;const e=this.submenuSelect.entity,t=this.hass.states[e],n=t?.attributes?.options,a=await(this.entityRegistryManager?.getEntity(this.hass,e))??null,i={};for(const t of n){const n=qk(this.hass,e,{...a&&{entity:a},state:t});n&&(i[t]=n)}this._optionTitles=i}willUpdate(){if(!this.submenuSelect||!this.hass)return;this._optionTitles||this._refreshOptionTitles();const e=this.submenuSelect.entity,t=this.hass.states[e],n=t?.attributes?.options;if(!t||!n)return;const a={icon:Ab("select"),...Rb(this.hass,this.submenuSelect),...this.submenuSelect,type:"custom:frigate-card-menu-submenu",items:[]};delete a.options;const i=a.items;for(const a of n){const n=this._optionTitles?.[a]??a;i.push({state_color:!0,selected:t.state===a,enabled:!0,title:n||a,...(e.startsWith("select.")||e.startsWith("input_select."))&&{tap_action:{action:"perform-action",perform_action:e.startsWith("select.")?"select.select_option":"input_select.select_option",target:{entity_id:e},data:{option:a}}},...this.submenuSelect.options&&this.submenuSelect.options[a]})}this._generatedSubmenu=a}render(){return q` `}};e([he({attribute:!1})],Wk.prototype,"hass",void 0),e([he({attribute:!1})],Wk.prototype,"submenuSelect",void 0),e([he({attribute:!1})],Wk.prototype,"entityRegistryManager",void 0),e([pe()],Wk.prototype,"_optionTitles",void 0),Wk=e([le("frigate-card-submenu-select")],Wk);let Zk=class extends se{constructor(){super(...arguments),this._controller=new Nk(this)}set menuConfig(e){this._controller.setMenuConfig(e)}set buttons(e){this._controller.setButtons(e)}set expanded(e){this._controller.setExpanded(e)}toggleMenu(){this._controller.toggleExpanded()}_renderButton(e){if(!this.hass)return;if("custom:frigate-card-menu-submenu"===e.type)return q` this._controller.actionHandler(e)} - > - `;if("custom:frigate-card-menu-submenu-select"===e.type)return q` this._controller.actionHandler(e)} - > - `;const t=this._controller.getFreshButtonState(this.hass,e),n=Bk(t.icon);return q` this._controller.actionHandler(t,e)} - > - ${n?q``:q``} - `}render(){const e=this._controller.getMenuConfig(),t=e?.style;if(!e||"none"===t)return;const n=this._controller.getButtons("matching"),a=this._controller.getButtons("opposing");return q`
- ${n.map((e=>this._renderButton(e)))} -
-
- ${a.map((e=>this._renderButton(e)))} -
`}static get styles(){return o('ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n --frigate-card-menu-button-size: 40px;\n --mdc-icon-button-size: var(--frigate-card-menu-button-size);\n --mdc-icon-size: calc(var(--mdc-icon-button-size) / 2);\n pointer-events: auto;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n overflow: visible;\n}\n\n/*******************************************************\n * Non-hover styles should not interact with the pointer\n *******************************************************/\n:host(:not([data-style*=hover])) {\n pointer-events: none;\n}\n\n/***********************************\n * Aligned divs: matching & opposing\n ***********************************/\ndiv.matching,\ndiv.opposing {\n display: flex;\n flex-wrap: wrap;\n flex-direction: row;\n align-items: flex-start;\n min-width: 0px;\n min-height: 0px;\n}\n\ndiv.matching {\n justify-content: flex-start;\n}\n\ndiv.opposing {\n justify-content: flex-end;\n}\n\n/********************\n * Outside menu style\n ********************/\n:host([data-style=outside]) {\n width: 100%;\n background: var(--secondary-background-color);\n}\n\n/********************************************************\n * Hack: Ensure host & div expand for column flex layouts\n ********************************************************/\n:host(:not([data-style=outside])[data-position=left]) {\n writing-mode: vertical-lr;\n}\n\n:host(:not([data-style=outside])[data-position=right]) {\n writing-mode: vertical-rl;\n}\n\n:host(:not([data-style=outside])[data-style=overlay][data-position=left]) div > *,\n:host(:not([data-style=outside])[data-style=overlay][data-position=right]) div > *,\n:host(:not([data-style=outside])[data-style*=hover][data-position=left]) div > *,\n:host(:not([data-style=outside])[data-style*=hover][data-position=right]) div > *,\n:host(:not([data-style=outside])[data-style=hidden][data-position=left]) div > *,\n:host(:not([data-style=outside])[data-style=hidden][data-position=right]) div > * {\n writing-mode: horizontal-tb;\n}\n\n/**********************\n * "Reverse" alignments\n **********************/\n:host(:not([data-style=outside])[data-position=left][data-alignment=bottom]),\n:host(:not([data-style=outside])[data-position=right][data-alignment=bottom]),\n:host([data-position=top][data-alignment=right]),\n:host([data-position=bottom][data-alignment=right]),\n:host(:not([data-style=outside])[data-position=left][data-alignment=bottom]) div,\n:host(:not([data-style=outside])[data-position=right][data-alignment=bottom]) div,\n:host([data-position=top][data-alignment=right]) div,\n:host([data-position=bottom][data-alignment=right]) div {\n flex-direction: row-reverse;\n}\n\n/****************************\n * Wrap upwards on the bottom\n ****************************/\n:host(:not([data-style=outside])[data-position=bottom]) div {\n flex-wrap: wrap-reverse;\n}\n\n/********************************************\n * Positioning for absolute based menu styles\n ********************************************/\n:host([data-style=overlay][data-position=top]),\n:host([data-style=overlay][data-position=bottom]),\n:host([data-style*=hover][data-position=top]),\n:host([data-style*=hover][data-position=bottom]),\n:host([data-style=hidden][data-position=top]),\n:host([data-style=hidden][data-position=bottom]) {\n width: 100%;\n height: auto;\n}\n\n:host([data-style=overlay][data-position=top][data-alignment=left]),\n:host([data-style=overlay][data-position=bottom][data-alignment=left]),\n:host([data-style*=hover][data-position=top][data-alignment=left]),\n:host([data-style*=hover][data-position=bottom][data-alignment=left]),\n:host([data-style=hidden][data-position=top][data-alignment=left][expanded]),\n:host([data-style=hidden][data-position=bottom][data-alignment=left][expanded]) {\n background: linear-gradient(90deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}\n\n:host([data-style=overlay][data-position=top][data-alignment=right]),\n:host([data-style=overlay][data-position=bottom][data-alignment=right]),\n:host([data-style*=hover][data-position=top][data-alignment=right]),\n:host([data-style*=hover][data-position=bottom][data-alignment=right]),\n:host([data-style=hidden][data-position=top][data-alignment=right][expanded]),\n:host([data-style=hidden][data-position=bottom][data-alignment=right][expanded]) {\n background: linear-gradient(270deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}\n\n:host([data-style=overlay][data-position=left]),\n:host([data-style=overlay][data-position=right]),\n:host([data-style*=hover][data-position=left]),\n:host([data-style*=hover][data-position=right]),\n:host([data-style=hidden][data-position=left]),\n:host([data-style=hidden][data-position=right]) {\n width: auto;\n height: 100%;\n}\n\n:host([data-style=overlay][data-position=left][data-alignment=top]),\n:host([data-style=overlay][data-position=right][data-alignment=top]),\n:host([data-style*=hover][data-position=left][data-alignment=top]),\n:host([data-style*=hover][data-position=right][data-alignment=top]),\n:host([data-style=hidden][data-position=left][data-alignment=top][expanded]),\n:host([data-style=hidden][data-position=right][data-alignment=top][expanded]) {\n background: linear-gradient(180deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}\n\n:host([data-style=overlay][data-position=left][data-alignment=bottom]),\n:host([data-style=overlay][data-position=right][data-alignment=bottom]),\n:host([data-style*=hover][data-position=left][data-alignment=bottom]),\n:host([data-style*=hover][data-position=right][data-alignment=bottom]),\n:host([data-style=hidden][data-position=left][data-alignment=bottom][expanded]),\n:host([data-style=hidden][data-position=right][data-alignment=bottom][expanded]) {\n background: linear-gradient(0deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}')}};e([he({attribute:!1})],Zk.prototype,"entityRegistryManager",void 0),e([he({attribute:!1})],Zk.prototype,"hass",void 0),Zk=e([le("frigate-card-menu")],Zk);let Qk=class extends se{render(){return q` - - - - - `}static get styles(){return o("ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n position: absolute;\n width: 100%;\n height: 100%;\n pointer-events: none;\n}\n\nslot {\n position: absolute;\n display: flex;\n}\n\n/***************\n * Slot position\n ***************/\nslot[name=top] {\n top: 0px;\n}\n\nslot[name=bottom] {\n bottom: 0px;\n}\n\nslot[name=left] {\n left: 0px;\n}\n\nslot[name=right] {\n right: 0px;\n}\n\n/***********\n * Slot size\n ***********/\nslot[name=top],\nslot[name=bottom] {\n width: 100%;\n flex-direction: column;\n}\n\nslot[name=left],\nslot[name=right] {\n height: 100%;\n flex-direction: row;\n}\n\nslot[name=top],\nslot[name=left] {\n justify-content: flex-start;\n}\n\nslot[name=bottom],\nslot[name=right] {\n justify-content: flex-end;\n}\n\n/*******************************\n * Match rounded corners to card\n *******************************/\n::slotted([slot=top]:first-child),\n::slotted([slot=left]:first-child) {\n border-top-left-radius: var(--ha-card-border-radius, 4px);\n}\n\n::slotted([slot=top]:first-child),\n::slotted([slot=right]:first-child) {\n border-top-right-radius: var(--ha-card-border-radius, 4px);\n}\n\n::slotted([slot=bottom]:last-child),\n::slotted([slot=left]:last-child) {\n border-bottom-left-radius: var(--ha-card-border-radius, 4px);\n}\n\n::slotted([slot=bottom]:last-child),\n::slotted([slot=right]:last-child) {\n border-bottom-right-radius: var(--ha-card-border-radius, 4px);\n}")}};Qk=e([le("frigate-card-overlay")],Qk);class Gk{constructor(e){this._config=null,this._popupTimer=new bf,this._items=[],this._host=e}getRenderItems(){return this._items}setItems(e){const t=e.filter((e=>!!e.exclusive)),n=ky(t.length?t:e,(e=>e.priority??50),"desc"),a=this._getSufficientValues(this._items),i=this._getSufficientValues(n);this._items=n,"popup"!==this._config?.style||jy(a,i)||(this._show(),this._popupTimer.start(this._config.popup_seconds,(()=>this._hide()))),this._host.requestUpdate()}setConfig(e){this._config=e,this._host.style.setProperty("--frigate-card-status-bar-height",`${e.height}px`),this._host.setAttribute("data-style",e.style),this._host.setAttribute("data-position",e.position),"popup"!==this._config?.style&&this._show(),this._host.requestUpdate()}shouldRender(){return this._items.some((e=>!1!==e.enabled&&e.sufficient))}actionHandler(e,t){e.stopPropagation();const n=_f(e.detail.action,t);n&&Lk(this._host,{action:qg(n),config:t})}_getSufficientValue(e){ -/* istanbul ignore else: cannot happen -- @preserve */ -return"custom:frigate-card-status-bar-icon"===e.type?e.icon:"custom:frigate-card-status-bar-string"===e.type?e.string:"custom:frigate-card-status-bar-image"===e.type?e.image:null}_getSufficientValues(e){return e.filter((e=>!1!==e.enabled&&e.sufficient)).map((e=>this._getSufficientValue(e)))}_show(){af(this._host,!1,"hide")}_hide(){af(this._host,!0,"hide")}}let Yk=class extends se{constructor(){super(...arguments),this._controller=new Gk(this)}willUpdate(e){e.has("config")&&this.config&&this._controller.setConfig(this.config),e.has("items")&&this._controller.setItems(this.items??[])}render(){if(this._controller.shouldRender())return q` -
- ${this._controller.getRenderItems().map((e=>{if(!1===e.enabled)return;const t=_e({item:!0,expand:!!e.expand,action:!!Object.keys(e.actions??{}).length}),n=Cf({hasHold:yf(e.actions?.hold_action),hasDoubleClick:yf(e.actions?.double_tap_action)});if("custom:frigate-card-status-bar-string"===e.type)return q`
this._controller.actionHandler(t,e.actions)} - > - ${e.string} -
`;if("custom:frigate-card-status-bar-icon"===e.type){const a=Bk(e.icon);return a?q`this._controller.actionHandler(t,e.actions)} - />`:q`this._controller.actionHandler(t,e.actions)} - >`}return"custom:frigate-card-status-bar-image"===e.type?q`this._controller.actionHandler(t,e.actions)} - />`:void 0}))} -
- `}static get styles(){return o("ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n --mdc-icon-button-size: calc(var(--frigate-card-status-bar-height) - 6px);\n --mdc-icon-size: calc(var(--mdc-icon-button-size) / 2);\n display: block;\n width: 100%;\n pointer-events: auto;\n opacity: 1;\n transition: opacity 1s;\n}\n\n/*******************************************************\n * Non-hover styles should not interact with the pointer\n *******************************************************/\n:host(:not([data-style*=hover])) {\n pointer-events: none;\n}\n\n/***************\n * Outside style\n ***************/\n:host([data-style=outside]) {\n color: var(--primary-text-color);\n background: var(--secondary-background-color);\n}\n\n/*******************\n * Non-outside style\n *******************/\n:host(:not([data-style=outside])) {\n color: white;\n background: linear-gradient(90deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}\n\n:host([data-style=popup][hide]) {\n opacity: 0;\n}\n\n/*********************\n * Status bar contents\n *********************/\n.status {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n overflow: hidden;\n width: 100%;\n height: var(--frigate-card-status-bar-height);\n}\n\n.item {\n display: inline-block;\n margin: 3px;\n padding: 3px;\n align-content: center;\n opacity: 0.7;\n}\n\n.item:first-child {\n margin-left: 10px;\n}\n\n.item:last-child {\n margin-right: 10px;\n}\n\n.item.expand {\n flex: 1;\n}\n\n.item.action {\n cursor: pointer;\n}\n\nimg.item {\n width: var(--mdc-icon-size, 24px);\n height: var(--mdc-icon-size, 24px);\n}")}};e([he({attribute:!1})],Yk.prototype,"items",void 0),e([he({attribute:!1})],Yk.prototype,"config",void 0),Yk=e([le("frigate-card-status-bar")],Yk);function Kk(e){return"number"==typeof e}function Xk(e){return"string"==typeof e}function Jk(e){return"boolean"==typeof e}function eS(e){return"[object Object]"===Object.prototype.toString.call(e)}function tS(e){return Math.abs(e)}function nS(e){return Math.sign(e)}function aS(e,t){return tS(e-t)}function iS(e){return lS(e).map(Number)}function rS(e){return e[oS(e)]}function oS(e){return Math.max(0,e.length-1)}function sS(e,t){return t===oS(e)}function cS(e,t=0){return Array.from(Array(e),((e,n)=>t+n))}function lS(e){return Object.keys(e)}function dS(e,t){return[e,t].reduce(((e,t)=>(lS(t).forEach((n=>{const a=e[n],i=t[n],r=eS(a)&&eS(i);e[n]=r?dS(a,i):i})),e)),{})}function uS(e,t){return void 0!==t.MouseEvent&&e instanceof t.MouseEvent}function hS(){let e=[];const t={add:function(n,a,i,r={passive:!0}){let o;if("addEventListener"in n)n.addEventListener(a,i,r),o=()=>n.removeEventListener(a,i,r);else{const e=n;e.addListener(i),o=()=>e.removeListener(i)}return e.push(o),t},clear:function(){e=e.filter((e=>e()))}};return t}function pS(e,t,n,a){const i=hS(),r=1e3/60;let o=null,s=0,c=0;function l(e){if(!c)return;o||(o=e);const i=e-o;for(o=e,s+=i;s>=r;)n(r),s-=r;a(s/r),c&&t.requestAnimationFrame(l)}function d(){t.cancelAnimationFrame(c),o=null,s=0,c=0}return{init:function(){i.add(e,"visibilitychange",(()=>{e.hidden&&(o=null,s=0)}))},destroy:function(){d(),i.clear()},start:function(){c||(c=t.requestAnimationFrame(l))},stop:d,update:()=>n(r),render:a}}function mS(e=0,t=0){const n=tS(e-t);function a(t){return tt}function r(e){return a(e)||i(e)}const o={length:n,max:t,min:e,constrain:function(n){return r(n)?a(n)?e:t:n},reachedAny:r,reachedMax:i,reachedMin:a,removeOffset:function(e){return n?e-n*Math.ceil((e-t)/n):e}};return o}function gS(e,t,n){const{constrain:a}=mS(0,e),i=e+1;let r=o(t);function o(e){return n?tS((i+e)%i):a(e)}function s(){return r}function c(){return gS(e,s(),n)}const l={get:s,set:function(e){return r=o(e),l},add:function(e){return c().set(s()+e)},clone:c};return l}function fS(e,t,n,a,i,r,o,s,c,l,d,u,h,p,m,g,f,_,y){const{cross:v,direction:b}=e,w=["INPUT","SELECT","TEXTAREA"],x={passive:!1},C=hS(),M=hS(),k=mS(50,225).constrain(p.measure(20)),S={mouse:300,touch:400},E={mouse:500,touch:600},$=m?43:25;let A=!1,I=0,z=0,T=!1,j=!1,O=!1,D=!1;function R(e){if(!uS(e,a)&&e.touches.length>=2)return P(e);const t=r.readPoint(e),n=r.readPoint(e,v),o=aS(t,I),c=aS(n,z);if(!j&&!D){if(!e.cancelable)return P(e);if(j=o>c,!j)return P(e)}const d=r.pointerMove(e);o>g&&(O=!0),l.useFriction(.3).useDuration(.75),s.start(),i.add(b(d)),e.preventDefault()}function P(e){const t=d.byDistance(0,!1).index!==u.get(),n=r.pointerUp(e)*(m?E:S)[D?"mouse":"touch"],a=function(e,t){const n=u.add(-1*nS(e)),a=d.byDistance(e,!m).distance;return m||tS(e)=2,s&&0!==e.button)return;if(function(e){const t=e.nodeName||"";return w.includes(t)}(e.target))return;T=!0,r.pointerDown(e),l.useFriction(0).useDuration(0),i.set(o),function(){const e=D?n:t;M.add(e,"touchmove",R,x).add(e,"touchend",P).add(e,"mousemove",R,x).add(e,"mouseup",P)}(),I=r.readPoint(e),z=r.readPoint(e,v),h.emit("pointerDown")}(s)}const c=t;C.add(c,"dragstart",(e=>e.preventDefault()),x).add(c,"touchmove",(()=>{}),x).add(c,"touchend",(()=>{})).add(c,"touchstart",s).add(c,"mousedown",s).add(c,"touchcancel",P).add(c,"contextmenu",P).add(c,"click",L,!0)},destroy:function(){C.clear(),M.clear()},pointerDown:function(){return T}}}function _S(e,t){let n,a;function i(e){return e.timeStamp}function r(n,a){const i="client"+("x"===(a||e.scroll)?"X":"Y");return(uS(n,t)?n:n.touches[0])[i]}return{pointerDown:function(e){return n=e,a=e,r(e)},pointerMove:function(e){const t=r(e)-r(a),o=i(e)-i(n)>170;return a=e,o&&(n=e),t},pointerUp:function(e){if(!n||!a)return 0;const t=r(a)-r(n),o=i(e)-i(n),s=i(e)-i(a)>170,c=t/o;return o&&!s&&tS(c)>.1?c:0},readPoint:r}}function yS(e,t,n,a,i,r,o){const s=[e].concat(a);let c,l,d=[],u=!1;function h(e){return i.measureSize(o.measure(e))}return{init:function(i){r&&(l=h(e),d=a.map(h),c=new ResizeObserver((n=>{(Jk(r)||r(i,n))&&function(n){for(const r of n){if(u)return;const n=r.target===e,o=a.indexOf(r.target),s=n?l:d[o];if(tS(h(n?e:a[o])-s)>=.5){i.reInit(),t.emit("resize");break}}}(n)})),n.requestAnimationFrame((()=>{s.forEach((e=>c.observe(e)))})))},destroy:function(){u=!0,c&&c.disconnect()}}}function vS(e,t,n,a,i){const r=i.measure(10),o=i.measure(50),s=mS(.1,.99);let c=!1;function l(){return!c&&(!!e.reachedAny(n.get())&&!!e.reachedAny(t.get()))}return{shouldConstrain:l,constrain:function(i){if(!l())return;const c=e.reachedMin(t.get())?"min":"max",d=tS(e[c]-t.get()),u=n.get()-t.get(),h=s.constrain(d/o);n.subtract(u*h),!i&&tS(u)e.add(i)))}};return c}function wS(e,t,n,a,i){const{reachedAny:r,removeOffset:o,constrain:s}=a;function c(e){return e.concat().sort(((e,t)=>tS(e)-tS(t)))[0]}function l(t,a){const i=[t,t+n,t-n];if(!e)return t;if(!a)return c(i);const r=i.filter((e=>nS(e)===a));return r.length?c(r):rS(i)-n}return{byDistance:function(n,a){const c=i.get()+n,{index:d,distance:u}=function(n){const a=e?o(n):s(n),i=t.map(((e,t)=>({diff:l(e-a,0),index:t}))).sort(((e,t)=>tS(e.diff)-tS(t.diff))),{index:r}=i[0];return{index:r,distance:a}}(c),h=!e&&r(c);return!a||h?{index:d,distance:n}:{index:d,distance:n+l(t[d]-u,0)}},byIndex:function(e,n){return{index:e,distance:l(t[e]-i.get(),n)}},shortcut:l}}function xS(e,t,n,a,i,r,o,s){const c={passive:!0,capture:!0};let l=0;function d(e){"Tab"===e.code&&(l=(new Date).getTime())}return{init:function(u){s&&(r.add(document,"keydown",d,!1),t.forEach(((t,d)=>{r.add(t,"focus",(t=>{(Jk(s)||s(u,t))&&function(t){if((new Date).getTime()-l>10)return;o.emit("slideFocusStart"),e.scrollLeft=0;const r=n.findIndex((e=>e.includes(t)));Kk(r)&&(i.useDuration(0),a.index(r,0),o.emit("slideFocus"))}(d)}),c)})))}}}function CS(e){let t=e;function n(e){return Kk(e)?e:e.get()}const a={get:function(){return t},set:function(e){t=n(e)},add:function(e){t+=n(e)},subtract:function(e){t-=n(e)}};return a}function MS(e,t){const n="x"===e.scroll?function(e){return`translate3d(${e}px,0px,0px)`}:function(e){return`translate3d(0px,${e}px,0px)`},a=t.style;let i=!1;return{clear:function(){i||(a.transform="",t.getAttribute("style")||t.removeAttribute("style"))},to:function(t){i||(a.transform=n(e.direction(t)))},toggleActive:function(e){i=!e}}}function kS(e,t,n,a,i,r,o,s,c){const l=.5,d=iS(i),u=iS(i).reverse(),h=function(){const e=o[0];return g(m(u,e),n,!1)}().concat(function(){const e=t-o[0]-1;return g(m(d,e),-n,!0)}());function p(e,t){return e.reduce(((e,t)=>e-i[t]),t)}function m(e,t){return e.reduce(((e,n)=>p(e,t)>0?e.concat([n]):e),[])}function g(i,o,d){const u=function(e){return r.map(((n,i)=>({start:n-a[i]+l+e,end:n+t-l+e})))}(o);return i.map((t=>{const a=d?0:-n,i=d?n:0,r=d?"end":"start",o=u[t][r];return{index:t,loopPoint:o,slideLocation:CS(-1),translate:MS(e,c[t]),target:()=>s.get()>o?a:i}}))}const f={canLoop:function(){return h.every((({index:e})=>{const n=d.filter((t=>t!==e));return p(n,t)<=.1}))},clear:function(){h.forEach((e=>e.translate.clear()))},loop:function(){h.forEach((e=>{const{target:t,translate:n,slideLocation:a}=e,i=t();i!==a.get()&&(n.to(i),a.set(i))}))},loopPoints:h};return f}function SS(e,t,n){let a,i=!1;return{init:function(r){n&&(a=new MutationObserver((e=>{i||(Jk(n)||n(r,e))&&function(e){for(const n of e)if("childList"===n.type){r.reInit(),t.emit("slidesChanged");break}}(e)})),a.observe(e,{childList:!0}))},destroy:function(){a&&a.disconnect(),i=!0}}}function ES(e,t,n,a){const i={};let r,o=null,s=null,c=!1;return{init:function(){r=new IntersectionObserver((e=>{c||(e.forEach((e=>{const n=t.indexOf(e.target);i[n]=e})),o=null,s=null,n.emit("slidesInView"))}),{root:e.parentElement,threshold:a}),t.forEach((e=>r.observe(e)))},destroy:function(){r&&r.disconnect(),c=!0},get:function(e=!0){if(e&&o)return o;if(!e&&s)return s;const t=function(e){return lS(i).reduce(((t,n)=>{const a=parseInt(n),{isIntersecting:r}=i[a];return(e&&r||!e&&!r)&&t.push(a),t}),[])}(e);return e&&(o=t),e||(s=t),t}}}function $S(e,t,n,a,i,r,o,s,c){const{startEdge:l,endEdge:d,direction:u}=e,h=Kk(n);const p={groupSlides:function(e){return h?function(e,t){return iS(e).filter((e=>e%t==0)).map((n=>e.slice(n,n+t)))}(e,n):function(e){return e.length?iS(e).reduce(((n,h,p)=>{const m=rS(n)||0,g=0===m,f=h===oS(e),_=i[l]-r[m][l],y=i[l]-r[h][d],v=!a&&g?u(o):0,b=tS(y-(!a&&f?u(s):0)-(_+v));return p&&b>t+c&&n.push(h),f&&n.push(e.length),n}),[]).map(((t,n,a)=>{const i=Math.max(a[n-1]||0);return e.slice(i,t)})):[]}(e)}};return p}function AS(e,t,n,a,i,r,o){const{align:s,axis:c,direction:l,startIndex:d,loop:u,duration:h,dragFree:p,dragThreshold:m,inViewThreshold:g,slidesToScroll:f,skipSnaps:_,containScroll:y,watchResize:v,watchSlides:b,watchDrag:w,watchFocus:x}=r,C={measure:function(e){const{offsetTop:t,offsetLeft:n,offsetWidth:a,offsetHeight:i}=e;return{top:t,right:n+a,bottom:t+i,left:n,width:a,height:i}}},M=C.measure(t),k=n.map(C.measure),S=function(e,t){const n="rtl"===t,a="y"===e,i=!a&&n?-1:1,r={scroll:a?"y":"x",cross:a?"x":"y",startEdge:a?"top":n?"right":"left",endEdge:a?"bottom":n?"left":"right",measureSize:function(e){const{height:t,width:n}=e;return a?t:n},direction:function(e){return e*i}};return r}(c,l),E=S.measureSize(M),$=function(e){const t={measure:function(t){return e*(t/100)}};return t}(E),A=function(e,t){const n={start:function(){return 0},center:function(e){return a(e)/2},end:a};function a(e){return t-e}const i={measure:function(a,i){return Xk(e)?n[e](a):e(t,a,i)}};return i}(s,E),I=!u&&!!y,z=u||!!y,{slideSizes:T,slideSizesWithGaps:j,startGap:O,endGap:D}=function(e,t,n,a,i,r){const{measureSize:o,startEdge:s,endEdge:c}=e,l=n[0]&&i,d=function(){if(!l)return 0;const e=n[0];return tS(t[s]-e[s])}(),u=function(){if(!l)return 0;const e=r.getComputedStyle(rS(a));return parseFloat(e.getPropertyValue(`margin-${c}`))}(),h=n.map(o),p=n.map(((e,t,n)=>{const a=!t,i=sS(n,t);return a?h[t]+d:i?h[t]+u:n[t+1][s]-e[s]})).map(tS);return{slideSizes:h,slideSizesWithGaps:p,startGap:d,endGap:u}}(S,M,k,n,z,i),R=$S(S,E,f,u,M,k,O,D,2),{snaps:P,snapsAligned:L}=function(e,t,n,a,i){const{startEdge:r,endEdge:o}=e,{groupSlides:s}=i,c=s(a).map((e=>rS(e)[o]-e[0][r])).map(tS).map(t.measure),l=a.map((e=>n[r]-e[r])).map((e=>-tS(e))),d=s(l).map((e=>e[0])).map(((e,t)=>e+c[t]));return{snaps:l,snapsAligned:d}}(S,A,M,k,R),N=-rS(P)+rS(j),{snapsContained:F,scrollContainLimit:V}=function(e,t,n,a,i){const r=mS(-t+e,0),o=n.map(((e,t)=>{const{min:a,max:i}=r,o=r.constrain(e),s=!t,l=sS(n,t);return s?i:l||c(a,o)?a:c(i,o)?i:o})).map((e=>parseFloat(e.toFixed(3)))),s=function(){const e=o[0],t=rS(o);return mS(o.lastIndexOf(e),o.indexOf(t)+1)}();function c(e,t){return aS(e,t)<1}return{snapsContained:function(){if(t<=e+i)return[r.max];if("keepSnaps"===a)return o;const{min:n,max:c}=s;return o.slice(n,c)}(),scrollContainLimit:s}}(E,N,L,y,2),H=I?F:L,{limit:B}=function(e,t,n){const a=t[0];return{limit:mS(n?a-e:rS(t),a)}}(N,H,u),q=gS(oS(H),d,u),U=q.clone(),W=iS(n),Z=pS(a,i,(e=>(({dragHandler:e,scrollBody:t,scrollBounds:n,options:{loop:a}},i)=>{a||n.constrain(e.pointerDown()),t.seek(i)})(se,e)),(e=>(({scrollBody:e,translate:t,location:n,offsetLocation:a,scrollLooper:i,slideLooper:r,dragHandler:o,animation:s,eventHandler:c,scrollBounds:l,options:{loop:d}},u)=>{const h=e.settled(),p=!l.shouldConstrain(),m=d?h:h&&p;m&&!o.pointerDown()&&(s.stop(),c.emit("settle")),m||c.emit("scroll");const g=n.get()*u+Y.get()*(1-u);a.set(g),d&&(i.loop(e.direction()),r.loop()),t.to(a.get())})(se,e))),Q=H[q.get()],G=CS(Q),Y=CS(Q),K=CS(Q),X=CS(Q),J=function(e,t,n,a,i,r){let o=0,s=0,c=i,l=r,d=e.get(),u=0;function h(e){return c=e,m}function p(e){return l=e,m}const m={direction:function(){return s},duration:function(){return c},velocity:function(){return o},seek:function(t){const i=t/1e3,r=c*i,h=a.get()-e.get();let p=0;return c?(n.set(e),o+=h/r,o*=l,d+=o,e.add(o*i),p=d-u):(o=0,n.set(a),e.set(a),p=h),s=nS(p),u=d,m},settled:function(){return tS(a.get()-t.get())<.001},useBaseFriction:function(){return p(r)},useBaseDuration:function(){return h(i)},useFriction:p,useDuration:h};return m}(G,K,Y,X,h,.68),ee=wS(u,H,N,B,X),te=function(e,t,n,a,i,r,o){function s(i){const s=i.distance,c=i.index!==t.get();r.add(s),s&&(a.duration()?e.start():(e.update(),e.render(1),e.update())),c&&(n.set(t.get()),t.set(i.index),o.emit("select"))}const c={distance:function(e,t){s(i.byDistance(e,t))},index:function(e,n){const a=t.clone().set(e);s(i.byIndex(a.get(),n))}};return c}(Z,q,U,J,ee,X,o),ne=function(e){const{max:t,length:n}=e,a={get:function(e){return n?(e-t)/-n:0}};return a}(B),ae=hS(),ie=ES(t,n,o,g),{slideRegistry:re}=function(e,t,n,a,i,r){const{groupSlides:o}=i,{min:s,max:c}=a;return{slideRegistry:function(){const a=o(r),i=!e||"keepSnaps"===t;return 1===n.length?[r]:i?a:a.slice(s,c).map(((e,t,n)=>{const a=!t,i=sS(n,t);return a?cS(rS(n[0])+1):i?cS(oS(r)-rS(n)[0]+1,rS(n)[0]):e}))}()}}(I,y,H,V,R,W),oe=xS(e,n,re,te,J,ae,o,x),se={ownerDocument:a,ownerWindow:i,eventHandler:o,containerRect:M,slideRects:k,animation:Z,axis:S,dragHandler:fS(S,e,a,i,X,_S(S,i),G,Z,te,J,ee,q,o,$,p,m,_,.68,w),eventStore:ae,percentOfView:$,index:q,indexPrevious:U,limit:B,location:G,offsetLocation:K,previousLocation:Y,options:r,resizeHandler:yS(t,o,i,n,S,v,C),scrollBody:J,scrollBounds:vS(B,K,X,J,$),scrollLooper:bS(N,B,K,[G,K,Y,X]),scrollProgress:ne,scrollSnapList:H.map(ne.get),scrollSnaps:H,scrollTarget:ee,scrollTo:te,slideLooper:kS(S,E,N,T,j,P,H,K,n),slideFocus:oe,slidesHandler:SS(t,o,b),slidesInView:ie,slideIndexes:W,slideRegistry:re,slidesToScroll:R,target:X,translate:MS(S,t)};return se}const IS={align:"center",axis:"x",container:null,slides:null,containScroll:"trimSnaps",direction:"ltr",slidesToScroll:1,inViewThreshold:0,breakpoints:{},dragFree:!1,dragThreshold:10,loop:!1,skipSnaps:!1,duration:25,startIndex:0,active:!0,watchDrag:!0,watchResize:!0,watchSlides:!0,watchFocus:!0};function zS(e){function t(e,t){return dS(e,t||{})}const n={mergeOptions:t,optionsAtMedia:function(n){const a=n.breakpoints||{},i=lS(a).filter((t=>e.matchMedia(t).matches)).map((e=>a[e])).reduce(((e,n)=>t(e,n)),{});return t(n,i)},optionsMediaQueries:function(t){return t.map((e=>lS(e.breakpoints||{}))).reduce(((e,t)=>e.concat(t)),[]).map(e.matchMedia)}};return n}function TS(e,t,n){const a=e.ownerDocument,i=a.defaultView,r=zS(i),o=function(e){let t=[];const n={init:function(n,a){return t=a.filter((({options:t})=>!1!==e.optionsAtMedia(t).active)),t.forEach((t=>t.init(n,e))),a.reduce(((e,t)=>Object.assign(e,{[t.name]:t})),{})},destroy:function(){t=t.filter((e=>e.destroy()))}};return n}(r),s=hS(),c=function(){let e,t={};function n(e){return t[e]||[]}const a={init:function(t){e=t},emit:function(t){return n(t).forEach((n=>n(e,t))),a},off:function(e,i){return t[e]=n(e).filter((e=>e!==i)),a},on:function(e,i){return t[e]=n(e).concat([i]),a},clear:function(){t={}}};return a}(),{mergeOptions:l,optionsAtMedia:d,optionsMediaQueries:u}=r,{on:h,off:p,emit:m}=c,g=S;let f,_,y,v,b=!1,w=l(IS,TS.globalOptions),x=l(w),C=[];function M(t){const n=AS(e,y,v,a,i,t,c);if(t.loop&&!n.slideLooper.canLoop()){return M(Object.assign({},t,{loop:!1}))}return n}function k(t,n){b||(w=l(w,t),x=d(w),C=n||C,function(){const{container:t,slides:n}=x,a=Xk(t)?e.querySelector(t):t;y=a||e.children[0];const i=Xk(n)?y.querySelectorAll(n):n;v=[].slice.call(i||y.children)}(),f=M(x),u([w,...C.map((({options:e})=>e))]).forEach((e=>s.add(e,"change",S))),x.active&&(f.translate.to(f.location.get()),f.animation.init(),f.slidesInView.init(),f.slideFocus.init(I),f.eventHandler.init(I),f.resizeHandler.init(I),f.slidesHandler.init(I),f.options.loop&&f.slideLooper.loop(),y.offsetParent&&v.length&&f.dragHandler.init(I),_=o.init(I,C)))}function S(e,t){const n=A();E(),k(l({startIndex:n},e),t),c.emit("reInit")}function E(){f.dragHandler.destroy(),f.eventStore.clear(),f.translate.clear(),f.slideLooper.clear(),f.resizeHandler.destroy(),f.slidesHandler.destroy(),f.slidesInView.destroy(),f.animation.destroy(),o.destroy(),s.clear()}function $(e,t,n){x.active&&!b&&(f.scrollBody.useBaseFriction().useDuration(!0===t?0:x.duration),f.scrollTo.index(e,n||0))}function A(){return f.index.get()}const I={canScrollNext:function(){return f.index.add(1).get()!==A()},canScrollPrev:function(){return f.index.add(-1).get()!==A()},containerNode:function(){return y},internalEngine:function(){return f},destroy:function(){b||(b=!0,s.clear(),E(),c.emit("destroy"),c.clear())},off:p,on:h,emit:m,plugins:function(){return _},previousScrollSnap:function(){return f.indexPrevious.get()},reInit:g,rootNode:function(){return e},scrollNext:function(e){$(f.index.add(1).get(),e,-1)},scrollPrev:function(e){$(f.index.add(-1).get(),e,1)},scrollProgress:function(){return f.scrollProgress.get(f.location.get())},scrollSnapList:function(){return f.scrollSnapList},scrollTo:$,selectedScrollSnap:A,slideNodes:function(){return v},slidesInView:function(){return f.slidesInView.get()},slidesNotInView:function(){return f.slidesInView.get(!1)}};return k(t,n),setTimeout((()=>c.emit("init")),0),I}function jS(){return jS=Object.assign||function(e){for(var t=1;t=e;case"y":return Math.abs(i)>=e;case"z":return Math.abs(r)>=e;default:return!1}}(r,a)&&e.preventDefault(),l.isStarted?l.isMomentum&&r>Math.max(2,2*l.lastAbsDelta)&&(M(!0),x()):x(),0===r&&Object.is&&Object.is(e.deltaX,-0)?d=!0:(t=e,l.axisMovement=DS(l.axisMovement,a),l.lastAbsDelta=r,l.scrollPointsToMerge.push({axisDelta:a,timeStamp:i}),g(),p({axisDelta:a,isStart:!l.isStartPublished}),l.isStartPublished=!0,C())},g=function(){var e;l.scrollPointsToMerge.length===BS?(l.scrollPoints.unshift({axisDeltaSum:l.scrollPointsToMerge.map((function(e){return e.axisDelta})).reduce(DS),timeStamp:(e=l.scrollPointsToMerge.map((function(e){return e.timeStamp})),e.reduce((function(e,t){return e+t}))/e.length)}),_(),l.scrollPointsToMerge.length=0,l.scrollPoints.length=1,l.isMomentum||b()):l.isStartPublished||f()},f=function(){var e;l.axisVelocity=(e=l.scrollPointsToMerge,e[e.length-1]).axisDelta.map((function(e){return e/l.willEndTimeout}))},_=function(){var e=l.scrollPoints,t=e[0],n=e[1];if(n&&t){var a=t.timeStamp-n.timeStamp;if(!(a<=0)){var i=t.axisDeltaSum.map((function(e){return e/a})),r=i.map((function(e,t){return e/(l.axisVelocity[t]||1)}));l.axisVelocity=i,l.accelerationFactors.push(r),y(a)}}},y=function(e){var t=10*Math.ceil(e/10)*1.2;l.isMomentum||(t=Math.max(100,2*t)),l.willEndTimeout=Math.min(1e3,Math.round(t))},v=function(e){return 0===e||e<=HS&&e>=VS},b=function(){if(l.accelerationFactors.length>=qS){if(d&&(d=!1,RS(l.axisVelocity)>=.2))return void w();var e=l.accelerationFactors.slice(-1*qS);e.every((function(e){var t=!!e.reduce((function(e,t){return e&&e<1&&e===t?1:0})),n=e.filter(v).length===e.length;return t||n}))&&w(),l.accelerationFactors=e}},w=function(){l.isMomentum=!0},x=function(){(l=ZS()).isStarted=!0,l.startTime=Date.now(),n=void 0,d=!1},C=function(){clearTimeout(a),a=setTimeout(M,l.willEndTimeout)},M=function(e){void 0===e&&(e=!1),l.isStarted&&(l.isMomentum&&e?p({isEnding:!0,isMomentumCancel:!0}):p({isEnding:!0}),l.isMomentum=!1,l.isStarted=!1)},k=function(e){var t=[],n=function(n){n.removeEventListener("wheel",e),t=t.filter((function(e){return e!==n}))};return PS({observe:function(a){return a.addEventListener("wheel",e,{passive:!1}),t.push(a),function(){return n(a)}},unobserve:n,disconnect:function(){t.forEach(n)}})}(u),S=k.observe,E=k.unobserve,$=k.disconnect;return h(e),PS({on:r,off:o,observe:S,unobserve:E,disconnect:$,feedWheel:u,updateOptions:h})}var GS={active:!0,breakpoints:{},wheelDraggingClass:"is-wheel-dragging",forceWheelAxis:void 0,target:void 0};function YS(e){var t;void 0===e&&(e={});var n=function(){};var a={name:"wheelGestures",options:e,init:function(a,i){var r,o,s=i.mergeOptions,c=i.optionsAtMedia,l=s(GS,YS.globalOptions),d=s(l,e);t=c(d);var u,h=a.internalEngine(),p=null!=(r=t.target)?r:a.containerNode().parentNode,m=null!=(o=t.forceWheelAxis)?o:h.options.axis,g=QS({preventWheelAction:m,reverseSign:[!0,!0,!1]}),f=g.observe(p),_=g.on("wheel",(function(e){var a=e.axisDelta,i=a[0],r=a[1],o="x"===m?i:r,s="x"===m?r:i,c=e.isMomentum&&e.previous&&!e.previous.isMomentum,l=e.isEnding&&!e.isMomentum||c;Math.abs(o)>Math.abs(s)&&!y&&!e.isMomentum&&function(e){try{x(u=new MouseEvent("mousedown",e.event))}catch(e){return n()}y=!0,document.documentElement.addEventListener("mousemove",b,!0),document.documentElement.addEventListener("mouseup",b,!0),void document.documentElement.addEventListener("mousedown",b,!0),t.wheelDraggingClass&&p.classList.add(t.wheelDraggingClass)}(e);if(!y)return;l?function(e){y=!1,x(w("mouseup",e)),v(),t.wheelDraggingClass&&p.classList.remove(t.wheelDraggingClass)}(e):x(w("mousemove",e))})),y=!1;function v(){document.documentElement.removeEventListener("mousemove",b,!0),document.documentElement.removeEventListener("mouseup",b,!0),document.documentElement.removeEventListener("mousedown",b,!0)}function b(e){y&&e.isTrusted&&e.stopImmediatePropagation()}function w(e,t){var n,a;if(m===h.options.axis){var i=t.axisMovement;n=i[0],a=i[1]}else{var r=t.axisMovement;a=r[0],n=r[1]}if(!h.options.skipSnaps&&!h.options.dragFree){var o=h.containerRect.width,s=h.containerRect.height;n=n<0?Math.max(n,-o):Math.min(n,o),a=a<0?Math.max(a,-s):Math.min(a,s)}return new MouseEvent(e,{clientX:u.clientX+n,clientY:u.clientY+a,screenX:u.screenX+n,screenY:u.screenY+a,movementX:n,movementY:a,button:0,bubbles:!0,cancelable:!0,composed:!0})}function x(e){a.containerNode().dispatchEvent(e)}n=function(){f(),_(),v()}},destroy:function(){return n()}};return a}YS.globalOptions=void 0;class KS{constructor(e,t,n){this._mutationObserver=new MutationObserver(((e,t)=>this._refreshCarouselContents())),this._refreshCarouselContents=()=>{const e=sf(this._parent);!jy(this._carousel.slideNodes(),e)&&(this._carousel.destroy(),this._carousel=this._createCarousel(e))},this._root=e,this._parent=t,this._direction=n?.direction??"horizontal",this._transitionEffect=n?.transitionEffect??"slide",this._startIndex=n?.startIndex??0,this._dragFree=n?.dragFree??!1,this._loop=n?.loop??!1,this._draggable=n?.dragEnabled??!0,this._plugins=n?.plugins??[],this._textDirection=n?.textDirection??"ltr",this._carousel=this._createCarousel(sf(this._parent)),t instanceof HTMLSlotElement&&t.addEventListener("slotchange",this._refreshCarouselContents),this._mutationObserver.observe(this._parent,{childList:!0})}destroy(){this._parent instanceof HTMLSlotElement&&this._parent.removeEventListener("slotchange",this._refreshCarouselContents),this._mutationObserver.disconnect(),this._carousel.destroy()}getSlide(e){return this._carousel.slideNodes()[e]??null}getSelectedSlide(){return this.getSlide(this.getSelectedIndex())}getSelectedIndex(){return this._carousel.selectedScrollSnap()}selectSlide(e){this._carousel.scrollTo(e,"none"===this._transitionEffect);const t=this.getSlide(e);t&&Vg(this._parent,"carousel:force-select",{index:e,element:t})}_createCarousel(e){const t=TS(this._root,{slides:e,axis:"horizontal"===this._direction?"x":"y",duration:20,startIndex:this._startIndex,dragFree:this._dragFree,loop:this._loop,containScroll:"trimSnaps",watchSlides:!1,watchResize:!0,watchDrag:this._draggable,direction:this._textDirection},[...this._plugins,...e.length>1?[YS({forceWheelAxis:"y"})]:[]]),n=()=>{const e=(()=>{const e=t.selectedScrollSnap(),n=t.slideNodes()[e]??null;return n?{index:e,element:n}:null})();e&&Vg(this._parent,"carousel:select",e)};return t.on("select",(()=>n())),t}}const XS=e=>"rtl"===getComputedStyle(e).direction?"rtl":"ltr";let JS=class extends se{constructor(){super(...arguments),this.direction="horizontal",this.dragEnabled=!0,this.selected=0,this._refParent=Ie(),this._refRoot=Ie(),this._carousel=null}connectedCallback(){super.connectedCallback(),this.requestUpdate()}disconnectedCallback(){this._carousel?.destroy(),this._carousel=null,super.disconnectedCallback()}willUpdate(e){e.has("direction")&&this.setAttribute("direction",this.direction);["direction","dragEnabled","dragFree","loop","plugins","transitionEffect"].some((t=>e.has(t)))&&(this._carousel?.destroy(),this._carousel=null)}render(){return q`
- -
-
- -
-
- -
`}updated(e){!this._carousel&&this._refRoot.value&&this._refParent.value?this._carousel=new KS(this._refRoot.value,this._refParent.value,{direction:this.direction,dragEnabled:this.dragEnabled,dragFree:this.dragFree,startIndex:this.selected,transitionEffect:this.transitionEffect,loop:this.loop,plugins:this.plugins,textDirection:XS(this)}):e.has("selected")&&this._carousel?.selectSlide(this.selected)}static get styles(){return o(":host {\n display: block;\n height: 100%;\n width: 100%;\n position: relative;\n}\n\n.embla {\n width: 100%;\n height: 100%;\n margin-left: auto;\n margin-right: auto;\n}\n\n.embla__container {\n display: flex;\n width: 100%;\n height: 100%;\n user-select: none;\n -webkit-touch-callout: none;\n -khtml-user-select: none;\n -webkit-tap-highlight-color: transparent;\n}\n\n:host([direction=vertical]) .embla__container {\n flex-direction: column;\n}\n\n:host([direction=horizontal]) .embla__container {\n flex-direction: row;\n}\n\n.embla__viewport {\n width: 100%;\n height: 100%;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.embla__viewport.is-draggable {\n cursor: move;\n cursor: grab;\n}\n\n.embla__viewport.is-dragging {\n cursor: grabbing;\n}\n\n:host([direction=vertical]) ::slotted(.embla__slide) {\n margin-bottom: 5px;\n}\n\n:host([direction=horizontal]) ::slotted(.embla__slide) {\n margin-right: 5px;\n}")}};e([he({attribute:!0,reflect:!0})],JS.prototype,"direction",void 0),e([he({attribute:!0})],JS.prototype,"transitionEffect",void 0),e([he({attribute:!1})],JS.prototype,"loop",void 0),e([he({attribute:!1})],JS.prototype,"dragFree",void 0),e([he({attribute:!1})],JS.prototype,"dragEnabled",void 0),e([he({attribute:!1})],JS.prototype,"plugins",void 0),e([he({attribute:!1})],JS.prototype,"selected",void 0),JS=e([le("frigate-card-carousel")],JS); -/** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const eE=window,tE=eE.ShadowRoot&&(void 0===eE.ShadyCSS||eE.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,nE=Symbol(),aE=new WeakMap;let iE=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==nE)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(tE&&void 0===e){const n=void 0!==t&&1===t.length;n&&(e=aE.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&aE.set(t,e))}return e}toString(){return this.cssText}};const rE=(e,t)=>{tE?e.adoptedStyleSheets=t.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet)):t.forEach((t=>{const n=document.createElement("style"),a=eE.litNonce;void 0!==a&&n.setAttribute("nonce",a),n.textContent=t.cssText,e.appendChild(n)}))},oE=tE?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const n of e.cssRules)t+=n.cssText;return(e=>new iE("string"==typeof e?e:e+"",void 0,nE))(t)})(e):e -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */;var sE;const cE=window,lE=cE.trustedTypes,dE=lE?lE.emptyScript:"",uE=cE.reactiveElementPolyfillSupport,hE={toAttribute(e,t){switch(t){case Boolean:e=e?dE:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=null!==e;break;case Number:n=null===e?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch(e){n=null}}return n}},pE=(e,t)=>t!==e&&(t==t||e==e),mE={attribute:!0,type:String,converter:hE,reflect:!1,hasChanged:pE},gE="finalized";class fE extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(e){var t;this.finalize(),(null!==(t=this.h)&&void 0!==t?t:this.h=[]).push(e)}static get observedAttributes(){this.finalize();const e=[];return this.elementProperties.forEach(((t,n)=>{const a=this._$Ep(n,t);void 0!==a&&(this._$Ev.set(a,n),e.push(a))})),e}static createProperty(e,t=mE){if(t.state&&(t.attribute=!1),this.finalize(),this.elementProperties.set(e,t),!t.noAccessor&&!this.prototype.hasOwnProperty(e)){const n="symbol"==typeof e?Symbol():"__"+e,a=this.getPropertyDescriptor(e,n,t);void 0!==a&&Object.defineProperty(this.prototype,e,a)}}static getPropertyDescriptor(e,t,n){return{get(){return this[t]},set(a){const i=this[e];this[t]=a,this.requestUpdate(e,i,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)||mE}static finalize(){if(this.hasOwnProperty(gE))return!1;this[gE]=!0;const e=Object.getPrototypeOf(this);if(e.finalize(),void 0!==e.h&&(this.h=[...e.h]),this.elementProperties=new Map(e.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const e=this.properties,t=[...Object.getOwnPropertyNames(e),...Object.getOwnPropertySymbols(e)];for(const n of t)this.createProperty(n,e[n])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const n=new Set(e.flat(1/0).reverse());for(const e of n)t.unshift(oE(e))}else void 0!==e&&t.push(oE(e));return t}static _$Ep(e,t){const n=t.attribute;return!1===n?void 0:"string"==typeof n?n:"string"==typeof e?e.toLowerCase():void 0}_$Eu(){var e;this._$E_=new Promise((e=>this.enableUpdating=e)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(e=this.constructor.h)||void 0===e||e.forEach((e=>e(this)))}addController(e){var t,n;(null!==(t=this._$ES)&&void 0!==t?t:this._$ES=[]).push(e),void 0!==this.renderRoot&&this.isConnected&&(null===(n=e.hostConnected)||void 0===n||n.call(e))}removeController(e){var t;null===(t=this._$ES)||void 0===t||t.splice(this._$ES.indexOf(e)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((e,t)=>{this.hasOwnProperty(t)&&(this._$Ei.set(t,this[t]),delete this[t])}))}createRenderRoot(){var e;const t=null!==(e=this.shadowRoot)&&void 0!==e?e:this.attachShadow(this.constructor.shadowRootOptions);return rE(t,this.constructor.elementStyles),t}connectedCallback(){var e;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostConnected)||void 0===t?void 0:t.call(e)}))}enableUpdating(e){}disconnectedCallback(){var e;null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostDisconnected)||void 0===t?void 0:t.call(e)}))}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$EO(e,t,n=mE){var a;const i=this.constructor._$Ep(e,n);if(void 0!==i&&!0===n.reflect){const r=(void 0!==(null===(a=n.converter)||void 0===a?void 0:a.toAttribute)?n.converter:hE).toAttribute(t,n.type);this._$El=e,null==r?this.removeAttribute(i):this.setAttribute(i,r),this._$El=null}}_$AK(e,t){var n;const a=this.constructor,i=a._$Ev.get(e);if(void 0!==i&&this._$El!==i){const e=a.getPropertyOptions(i),r="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==(null===(n=e.converter)||void 0===n?void 0:n.fromAttribute)?e.converter:hE;this._$El=i,this[i]=r.fromAttribute(t,e.type),this._$El=null}}requestUpdate(e,t,n){let a=!0;void 0!==e&&(((n=n||this.constructor.getPropertyOptions(e)).hasChanged||pE)(this[e],t)?(this._$AL.has(e)||this._$AL.set(e,t),!0===n.reflect&&this._$El!==e&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(e,n))):a=!1),!this.isUpdatePending&&a&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var e;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((e,t)=>this[t]=e)),this._$Ei=void 0);let t=!1;const n=this._$AL;try{t=this.shouldUpdate(n),t?(this.willUpdate(n),null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostUpdate)||void 0===t?void 0:t.call(e)})),this.update(n)):this._$Ek()}catch(e){throw t=!1,this._$Ek(),e}t&&this._$AE(n)}willUpdate(e){}_$AE(e){var t;null===(t=this._$ES)||void 0===t||t.forEach((e=>{var t;return null===(t=e.hostUpdated)||void 0===t?void 0:t.call(e)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(e){return!0}update(e){void 0!==this._$EC&&(this._$EC.forEach(((e,t)=>this._$EO(t,this[t],e))),this._$EC=void 0),this._$Ek()}updated(e){}firstUpdated(e){}}fE[gE]=!0,fE.elementProperties=new Map,fE.elementStyles=[],fE.shadowRootOptions={mode:"open"},null==uE||uE({ReactiveElement:fE}),(null!==(sE=cE.reactiveElementVersions)&&void 0!==sE?sE:cE.reactiveElementVersions=[]).push("1.6.3"); -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const _E=0,yE=Symbol();class vE{constructor(e,t,n){this.o=0,this.status=0,this.autoRun=!0,this.i=e,this.i.addController(this);const a="object"==typeof t?t:{task:t,args:n};this.t=a.task,this.h=a.args,void 0!==a.autoRun&&(this.autoRun=a.autoRun),this.taskComplete=new Promise(((e,t)=>{this.l=e,this.u=t}))}hostUpdated(){this.performTask()}async performTask(){var e;const t=null===(e=this.h)||void 0===e?void 0:e.call(this);this.shouldRun(t)&&this.run(t)}shouldRun(e){return this.autoRun&&this.v(e)}async run(e){var t;let n,a;null!=e||(e=null===(t=this.h)||void 0===t?void 0:t.call(this)),2!==this.status&&3!==this.status||(this.taskComplete=new Promise(((e,t)=>{this.l=e,this.u=t}))),this.status=1,this._=void 0,this.m=void 0,this.i.requestUpdate();const i=++this.o;try{n=await this.t(e)}catch(e){a=e}this.o===i&&(n===yE?this.status=0:(void 0===a?(this.status=2,this.l(n)):(this.status=3,this.u(a)),this.m=n,this._=a),this.i.requestUpdate())}get value(){return this.m}get error(){return this._}render(e){var t,n,a,i;switch(this.status){case 0:return null===(t=e.initial)||void 0===t?void 0:t.call(e);case 1:return null===(n=e.pending)||void 0===n?void 0:n.call(e);case 2:return null===(a=e.complete)||void 0===a?void 0:a.call(e,this.value);case 3:return null===(i=e.error)||void 0===i?void 0:i.call(e,this.error);default:this.status}}v(e){const t=this.T;return this.T=e,Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.some(((e,n)=>pE(e,t[n]))):e!==t}}class bE{constructor(e){this._keys=e}modify(e){this._keys.forEach((t=>e.removeContext(t)))}}var wE=":host {\n display: flex;\n flex-direction: column;\n width: 100%;\n margin-left: 5px;\n padding: 5px;\n color: var(--primary-text-color);\n overflow: hidden;\n column-gap: 5%;\n}\n\ndiv.title {\n font-size: 1.2rem;\n font-weight: bold;\n}\n\ndiv.details {\n flex: 1;\n justify-content: center;\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n --mdc-icon-size: 16px;\n min-height: 0px;\n}";const xE=(e,t,n)=>{const a={...n?.cardWideConfig&&{cardWideConfig:n.cardWideConfig}};return q` ${e.render({initial:()=>n?.inProgressFunc?.()??wk(a),pending:()=>n?.inProgressFunc?.()??wk(a),error:e=>{Zg(e),n?.errorFunc&&n.errorFunc(e)},complete:t})}`},CE=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,ME=(e,t,n,a=!0)=>new vE(e,{args:()=>[!!t(),n()],task:async([e,n])=>{const a=t();return e&&a&&n?(async(e,t)=>e&&t?t.startsWith("data:")||t.match(CE)?t:new Promise(((n,a)=>{e?e.fetchWithAuth(t).then((e=>e.blob())).then((e=>{const t=new FileReader;t.onload=()=>{const e=t.result;n("string"==typeof e?e:null)},t.onerror=e=>a(e),t.readAsDataURL(e)})).catch((e=>a(e))):a()})):null)(a,n):null},autoRun:a}),kE=300;let SE=class extends se{constructor(){super(),this._thumbnailError=!1,this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this))}connectedCallback(){this._intersectionObserver.observe(this),super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback(),this._intersectionObserver.disconnect()}willUpdate(e){e.has("thumbnail")&&(this._embedThumbnailTask=ME(this,(()=>this.hass),(()=>this.thumbnail),!1),this._intersectionObserver.unobserve(this),this._intersectionObserver.observe(this))}_intersectionHandler(e){this._embedThumbnailTask?.status===_E&&e.some((e=>e.isIntersecting))&&this._embedThumbnailTask?.run()}render(){const e=q` `;return!this._embedThumbnailTask||this._thumbnailError?e:q`${this.thumbnail?xE(this._embedThumbnailTask,(e=>e?q``:q``),{inProgressFunc:()=>e,errorFunc:()=>{this._thumbnailError=!0}}):e} `}static get styles(){return o(":host {\n display: block;\n overflow: hidden;\n aspect-ratio: 1/1;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\nimg {\n display: block;\n}\n\nimg,\nha-icon {\n display: inline-block;\n vertical-align: top;\n margin: 0;\n border-radius: var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px));\n width: var(--frigate-card-thumbnail-size);\n max-height: 100%;\n aspect-ratio: 1/1;\n object-fit: cover;\n}\n\nha-icon {\n --mdc-icon-size: 50%;\n color: var(--primary-text-color);\n display: flex;\n justify-content: center;\n align-items: center;\n border: 1px solid rgba(255, 255, 255, 0.3);\n box-sizing: border-box;\n opacity: 0.2;\n}")}};e([he({attribute:!1})],SE.prototype,"thumbnail",void 0),e([he({attribute:!1})],SE.prototype,"hass",void 0),e([pe()],SE.prototype,"_thumbnailError",void 0),SE=e([le("frigate-card-thumbnail-feature-thumbnail")],SE);let EE=class extends se{render(){if(this.date)return q` - ${this.cameraMetadata?.engineLogo?q``:""} -
-
${qu(this.date,"HH:mm")}
-
${qu(this.date,"MMM do")}
- ${this.showCameraTitle&&this.cameraMetadata?.title?q`
${this.cameraMetadata.title}
`:q``} -
- `}static get styles(){return o(":host {\n display: block;\n max-width: var(--frigate-card-thumbnail-size);\n max-height: var(--frigate-card-thumbnail-size);\n aspect-ratio: 1/1;\n border: 1px solid var(--secondary-color);\n background-color: var(--secondary-background-color);\n border-radius: var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px));\n overflow: hidden;\n padding: 10px;\n box-sizing: border-box;\n position: relative;\n}\n\nimg.background {\n display: block;\n width: 100%;\n height: 100%;\n position: absolute;\n inset: 0;\n padding: 10%;\n box-sizing: border-box;\n pointer-events: none;\n opacity: 0.1;\n}\n\ndiv.content {\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n color: var(--primary-text-color);\n}\n\ndiv {\n text-align: center;\n}\n\ndiv.title {\n font-size: 1.5rem;\n}\n\ndiv.camera {\n font-size: 0.7em;\n}")}};e([he({attribute:!1})],EE.prototype,"date",void 0),e([he({attribute:!1})],EE.prototype,"cameraMetadata",void 0),e([he({attribute:!1})],EE.prototype,"showCameraTitle",void 0),EE=e([le("frigate-card-thumbnail-feature-text")],EE);let $E=class extends se{render(){if(!this.media)return;const e=this.media.getScore(),t=e?(100*e).toFixed(2)+"%":null,n=this.media.getStartTime(),a=n?Gg(n):null,i=this.media.getEndTime(),r=n&&i?Xg(n,i):null,o=this.media.inProgress()?N_("event.in_progress"):null,s=Hg(this.media.getWhat()?.join(", "))??null,c=Hg(this.media.getWhere()?.join(", "))??null,l=Hg(this.media.getTags()?.join(", "))??null,d=s||l?(s??"")+(s&&l?": ":"")+(l??""):null,u=this.seek?qu(this.seek,"HH:mm:ss"):null;return q` - ${d?q`
- ${d} - ${t?q`${t}`:""} -
`:""} -
- ${a?q`
- - ${a} -
- ${r||o?q`
- - ${r?q`${r}`:""} - ${o?q`${o}`:""} -
`:""}`:""} - ${this.cameraTitle?q`
- - ${this.cameraTitle} -
`:""} - ${c?q`
- - ${c} -
`:q``} - ${l?q`
- - ${l} -
`:q``} - ${u?q`
- - ${u} -
`:q``} -
- `}static get styles(){return o(wE)}};e([he({attribute:!1})],$E.prototype,"media",void 0),e([he({attribute:!1})],$E.prototype,"seek",void 0),e([he({attribute:!1})],$E.prototype,"cameraTitle",void 0),$E=e([le("frigate-card-thumbnail-details-event")],$E);let AE=class extends se{render(){if(!this.media)return;const e=this.media.getStartTime(),t=e?Gg(e):null,n=this.media.getEndTime(),a=e&&n?Xg(e,n):null,i=this.media.inProgress()?N_("recording.in_progress"):null,r=this.seek?qu(this.seek,"HH:mm:ss"):null,o=this.media.getEventCount();return q` - ${this.cameraTitle?q`
- ${this.cameraTitle} -
`:""} -
- ${t?q`
- - ${t} -
- ${a||i?q`
- - ${a?q`${a}`:""} - ${i?q`${i}`:""} -
`:""}`:""} - ${r?q`
- - ${r} -
`:q``} - ${null!==o?q`
- - ${o} -
`:""} -
- `}static get styles(){return o(wE)}};e([he({attribute:!1})],AE.prototype,"media",void 0),e([he({attribute:!1})],AE.prototype,"seek",void 0),e([he({attribute:!1})],AE.prototype,"cameraTitle",void 0),AE=e([le("frigate-card-thumbnail-details-recording")],AE);let IE=class extends se{constructor(){super(...arguments),this.details=!1,this.show_favorite_control=!1,this.show_timeline_control=!1,this.show_download_control=!1}render(){if(!this.media||!this.cameraManager||!this.hass)return;const e=this.media.getThumbnail(),t=this.media.getTitle()??"",n={star:!0,starred:!!this.media?.isFavorite()},a=this.show_timeline_control&&(!ex.isRecording(this.media)||this.media.getStartTime()&&this.media.getEndTime()),i=this.cameraManager?.getMediaCapabilities(this.media),r=this.show_favorite_control&&this.media&&this.hass&&i?.canFavorite,o=this.show_download_control&&this.hass&&this.media.getID()&&i?.canDownload,s=this.cameraManager.getCameraMetadata(this.media.getCameraID());return q` - ${ex.isEvent(this.media)&&e?q``:ex.isEvent(this.media)||ex.isRecording(this.media)?q``:q``} - ${r?q` {if(vf(e),this.hass&&this.media){try{await(this.cameraManager?.favoriteMedia(this.media,!this.media?.isFavorite()))}catch(e){return void Zg(e)}this.requestUpdate()}}} - />`:""} - ${this.details&&ex.isEvent(this.media)?q``:this.details&&ex.isRecording(this.media)?q``:q``} - ${a?q`{vf(e),this.viewManagerEpoch&&this.media&&this.viewManagerEpoch.manager.setViewByParameters({params:{view:"timeline",queryResults:this.viewManagerEpoch?.manager.getView()?.queryResults?.clone().selectResultIfFound((e=>e===this.media))},modifiers:[new bE(["timeline"])]})}} - >`:""} - ${o?q` {if(vf(e),this.hass&&this.cameraManager&&this.media)try{await Sw(this.hass,this.cameraManager,this.media)}catch(e){Ck(this,e)}}} - >`:""} - `}static get styles(){return o(":host {\n display: flex;\n flex-direction: row;\n box-sizing: border-box;\n position: relative;\n overflow: hidden;\n transition: transform 0.2s linear;\n}\n\n:host(:not([details])) {\n aspect-ratio: 1/1;\n}\n\n:host([details]) {\n border: 1px solid var(--primary-color);\n border-radius: var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px));\n padding: 2px;\n background-color: var(--primary-background-color, black);\n}\n\n:host(:hover) {\n transform: scale(1.04);\n}\n\nha-icon {\n position: absolute;\n border-radius: 50%;\n opacity: 0.5;\n color: var(--primary-color);\n cursor: pointer;\n transition: opacity 0.2s ease-in-out, color 0.2s ease-in-out;\n}\n\nha-icon:hover {\n opacity: 1;\n}\n\nha-icon.star {\n top: 3px;\n left: 3px;\n}\n\nha-icon.star.starred {\n color: gold;\n}\n\nha-icon.timeline {\n top: 3px;\n right: 3px;\n}\n\nha-icon.download {\n right: 3px;\n bottom: 3px;\n}\n\nfrigate-card-thumbnail-details-event,\nfrigate-card-thumbnail-details-recording {\n flex: 1;\n}")}};e([he({attribute:!1})],IE.prototype,"cameraManager",void 0),e([he({attribute:!1})],IE.prototype,"media",void 0),e([he({attribute:!0,type:Boolean})],IE.prototype,"details",void 0),e([he({attribute:!0,type:Boolean})],IE.prototype,"show_favorite_control",void 0),e([he({attribute:!0,type:Boolean})],IE.prototype,"show_timeline_control",void 0),e([he({attribute:!0,type:Boolean})],IE.prototype,"show_download_control",void 0),e([he({attribute:!1})],IE.prototype,"seek",void 0),IE=e([le("frigate-card-thumbnail")],IE);let zE=class extends se{constructor(){super(...arguments),this.fadeThumbnails=!1,this._thumbnailSlides=[]}willUpdate(e){if(e.has("config")){this.config?.size&&this.style.setProperty("--frigate-card-thumbnail-size",`${this.config.size}px`);const e=this._getDirection();e?this.setAttribute("direction",e):this.removeAttribute("direction")}["cameraManager","config","transitionEffect","viewManagerEpoch"].some((t=>e.has(t)))&&(this._thumbnailSlides=this._renderSlides()),e.has("viewManagerEpoch")&&this.style.setProperty("--frigate-card-carousel-thumbnail-opacity",this.fadeThumbnails&&null!==this._getSelectedSlide()?"0.4":"1.0")}_getSelectedSlide(){return this.viewManagerEpoch?.manager.getView()?.queryResults?.getSelectedIndex()??null}_renderSlides(){const e=[],t=this.viewManagerEpoch?.manager.getView(),n=t?.context?.mediaViewer?.seek,a=this._getSelectedSlide();for(const i of t?.queryResults?.getResults()??[]){const t=e.length,r={embla__slide:!0,"slide-selected":a===t};e.push(q` {const n=this.viewManagerEpoch?.manager.getView();n&&n.queryResults&&Vg(this,"thumbnail-carousel:tap",{queryResults:n.queryResults.clone().selectIndex(t)}),vf(e)}} - > - `)}return e}_getDirection(){return"left"===this.config?.mode||"right"===this.config?.mode?"vertical":"above"===this.config?.mode||"below"===this.config?.mode?"horizontal":null}render(){const e=this._getDirection();if(this._thumbnailSlides.length&&this.config&&e)return q` - ${this._thumbnailSlides} - `}static get styles(){return o(":host {\n --frigate-card-thumbnail-size-max: 300px;\n --frigate-card-thumbnail-details-width: calc(\n var(--frigate-card-thumbnail-size) + 200px\n );\n}\n\n:host {\n display: block;\n width: 100%;\n height: 100%;\n --frigate-card-carousel-thumbnail-opacity: 1;\n}\n\n:host([direction=vertical]) {\n height: 100%;\n}\n\n:host([direction=horizontal]) {\n height: auto;\n}\n\n.embla__slide {\n flex: 0 0 auto;\n opacity: var(--frigate-card-carousel-thumbnail-opacity);\n}\n\n.embla__slide.slide-selected {\n opacity: 1;\n}\n\nfrigate-card-thumbnail {\n width: var(--frigate-card-thumbnail-size);\n height: var(--frigate-card-thumbnail-size);\n max-width: 100%;\n}\n\nfrigate-card-thumbnail[details] {\n width: var(--frigate-card-thumbnail-details-width);\n}")}};e([he({attribute:!1})],zE.prototype,"hass",void 0),e([he({attribute:!1})],zE.prototype,"viewManagerEpoch",void 0),e([he({attribute:!1})],zE.prototype,"cameraManager",void 0),e([he({attribute:!1})],zE.prototype,"config",void 0),e([he({attribute:!1})],zE.prototype,"fadeThumbnails",void 0),zE=e([le("frigate-card-thumbnail-carousel")],zE);var TE=":host {\n width: 100%;\n height: 100%;\n display: block;\n}";const jE=document.createElement("template");jE.innerHTML='\n
\n
\n';class OE extends HTMLElement{constructor(){super();const e=this.attachShadow({mode:"open"});e.appendChild(jE.content.cloneNode(!0)),this._freeSpaceDiv=e.getElementById("fs")}connectedCallback(){this._freeSpaceDiv&&this._freeSpaceDiv.addEventListener("click",this.handleFreeSpaceDivClick),this.upgradeProperty("open")}disconnectedCallback(){document.removeEventListener("keyup",this.handleKeyUp)}upgradeProperty(e){if(this.hasOwnProperty(e)){let t=this[e];delete this[e],this[e]=t}}handleKeyUp=e=>{if(!e.altKey&&"Escape"===e.key)e.preventDefault(),this.open=!1};get open(){return this.hasAttribute("open")}set open(e){e?this.hasAttribute("open")||this.setAttribute("open",""):this.hasAttribute("open")&&this.removeAttribute("open")}static get observedAttributes(){return["open"]}attributeChangedCallback(e,t,n){"open"===e&&(this.open?(this.setAttribute("tabindex","0"),this.setAttribute("aria-disabled","false"),this.focus({preventScroll:!0}),document.addEventListener("keyup",this.handleKeyUp),this.dispatchEvent(new CustomEvent("open",{bubbles:!0}))):(this.setAttribute("tabindex","-1"),this.setAttribute("aria-disabled","true"),document.removeEventListener("keyup",this.handleKeyUp),this.dispatchEvent(new CustomEvent("close",{bubbles:!0}))))}handleFreeSpaceDivClick=()=>{this.open=!1}}customElements.define("side-drawer",OE);let DE=class extends se{constructor(){super(...arguments),this.location="left",this.control=!0,this.open=!1,this.empty=!0,this._refDrawer=Ie(),this._refSlot=Ie(),this._resizeObserver=new ResizeObserver((()=>this._hideDrawerIfNecessary())),this._isHoverableDevice=Qg()}firstUpdated(e){super.firstUpdated(e);const t=document.createElement("style");t.innerHTML=":host {\n width: unset;\n}\n\n#fs {\n display: none;\n width: 100%;\n inset: 0;\n}\n\n#d,\n#fs {\n height: 100%;\n position: absolute;\n}\n\n#d {\n overflow: visible;\n max-width: 90%;\n z-index: 10;\n}\n\n:host([location=right]) #d {\n left: unset;\n right: 0;\n transform: translateX(100%);\n}\n\n:host([location=right][open]) #d {\n transform: none;\n box-shadow: var(--frigate-card-css-box-shadow, 0px 0px 25px 0px black);\n}\n\n#ifs {\n height: 100%;\n}",this._refDrawer.value?.shadowRoot?.appendChild(t)}_slotChanged(){const e=this._refSlot.value?sf(this._refSlot.value):[];this._resizeObserver.disconnect();for(const t of e)this._resizeObserver.observe(t);this._hideDrawerIfNecessary()}_hideDrawerIfNecessary(){if(!this._refDrawer.value)return;const e=this._refSlot.value?sf(this._refSlot.value):null;this.empty=!e||!e.length||e.every((e=>{const t=e.getBoundingClientRect();return!t.width||!t.height}))}render(){return q` - {this.open&&(this.open=!1)}} - > - ${this.control?q` -
{vf(e),this.open=!this.open}} - > - {this._isHoverableDevice&&!this.open&&(this.open=!0)}} - > - -
- `:""} - this._slotChanged()}> -
- `}static get styles(){return o("side-drawer {\n background-color: var(--card-background-color);\n}\n\ndiv.control-surround {\n position: absolute;\n bottom: 50%;\n transform: translateY(50%);\n z-index: 0;\n padding-top: 20px;\n padding-bottom: 20px;\n}\n\n:host([location=left]) div.control-surround {\n padding-right: 12px;\n left: 100%;\n}\n\n:host([location=right]) div.control-surround {\n padding-left: 12px;\n right: 100%;\n}\n\n:host([empty]),\n:host([empty]) > * {\n visibility: hidden;\n}\n\n:host(:not([empty])),\n:host(:not([empty])) > * {\n visibility: visible;\n}\n\nha-icon.control {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.7);\n opacity: 0.5;\n pointer-events: all;\n --mdc-icon-size: 20px;\n padding-top: 20px;\n padding-bottom: 20px;\n transition: opacity 0.5s ease;\n}\n\n:host([open]) ha-icon.control,\nha-icon.control:hover {\n opacity: 1;\n background-color: black;\n}\n\n:host([location=left]) ha-icon.control {\n border-top-right-radius: 20px;\n border-bottom-right-radius: 20px;\n}\n\n:host([location=right]) ha-icon.control {\n border-top-left-radius: 20px;\n border-bottom-left-radius: 20px;\n}")}};e([he({attribute:!0,reflect:!0})],DE.prototype,"location",void 0),e([he({attribute:!0,reflect:!0,type:Boolean})],DE.prototype,"control",void 0),e([he({type:Boolean,reflect:!0,attribute:!0})],DE.prototype,"open",void 0),e([he({attribute:!1})],DE.prototype,"icons",void 0),e([he({type:Boolean,reflect:!0,attribute:!0})],DE.prototype,"empty",void 0),DE=e([le("frigate-card-drawer")],DE);let RE=class extends se{constructor(){super(...arguments),this._refDrawerLeft=Ie(),this._refDrawerRight=Ie(),this._boundDrawerHandler=this._drawerHandler.bind(this)}connectedCallback(){super.connectedCallback(),this.addEventListener("frigate-card:drawer:open",this._boundDrawerHandler),this.addEventListener("frigate-card:drawer:close",this._boundDrawerHandler)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("frigate-card:drawer:open",this._boundDrawerHandler),this.removeEventListener("frigate-card:drawer:close",this._boundDrawerHandler)}_drawerHandler(e){const t=e.detail.drawer,n=e.type.endsWith(":open");"left"===t&&this._refDrawerLeft.value?this._refDrawerLeft.value.open=n:"right"===t&&this._refDrawerRight.value&&(this._refDrawerRight.value.open=n)}render(){return q` - - - - - - - - `}static get styles(){return o(":host {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n position: relative;\n overflow: hidden;\n}\n\n::slotted(:not([slot])) {\n flex: 1;\n min-height: 0px;\n}")}};e([he({attribute:!1})],RE.prototype,"drawerIcons",void 0),RE=e([le("frigate-card-surround-basic")],RE);let PE=class extends se{_hasDrawer(){return!!this.thumbnailConfig&&["left","right"].includes(this.thumbnailConfig.mode)}willUpdate(e){this.timelineConfig?.mode&&"none"!==this.timelineConfig.mode&&import("./timeline-core-9cf72087.js");const t=this.viewManagerEpoch?.manager.getView();e.has("viewManagerEpoch")&&(this.viewManagerEpoch?.manager.hasMajorMediaChange(this.viewManagerEpoch?.oldView)||this.viewManagerEpoch?.oldView?.displayMode!==t?.displayMode)&&(this._cameraIDsForTimeline=this._getCameraIDsForTimeline()??void 0)}_getCameraIDsForTimeline(){const e=this.viewManagerEpoch?.manager.getView();if(!e||!this.cameraManager)return null;if(e.is("live")){const t={anyCapabilities:["clips","snapshots","recordings"]};return e.supportsMultipleDisplayModes()&&e.isGrid()?this.cameraManager.getStore().getCameraIDsWithCapability(t):this.cameraManager.getStore().getAllDependentCameras(e.camera,t)}return e.isViewerView()?e.query?.getQueryCameraIDs()??null:null}render(){const e=this.viewManagerEpoch?.manager.getView();if(!this.hass||!e)return;const t=(e,t)=>{this.thumbnailConfig&&this._hasDrawer()&&Vg(e.composedPath()[0],"drawer:"+t,{drawer:this.thumbnailConfig.mode})};return q` t(e,"open")} - @frigate-card:thumbnails:close=${e=>t(e,"close")} - > - ${this.thumbnailConfig&&"none"!==this.thumbnailConfig.mode?q` {const n=e.detail.queryResults.getSelectedResult();n&&(this.viewManagerEpoch?.manager.setViewByParameters({params:{view:"media",queryResults:e.detail.queryResults,...n.getCameraID()&&{camera:n.getCameraID()}},modifiers:[new bE(["timeline","mediaViewer"])]}),t(e,"close"))}} - > - `:""} - ${this.timelineConfig&&"none"!==this.timelineConfig.mode?q` - `:""} - - `}static get styles(){return o(TE)}};e([he({attribute:!1})],PE.prototype,"hass",void 0),e([he({attribute:!1})],PE.prototype,"viewManagerEpoch",void 0),e([he({attribute:!1,hasChanged:Wg})],PE.prototype,"thumbnailConfig",void 0),e([he({attribute:!1,hasChanged:Wg})],PE.prototype,"timelineConfig",void 0),e([he({attribute:!1})],PE.prototype,"cameraManager",void 0),e([he({attribute:!1})],PE.prototype,"cardWideConfig",void 0),PE=e([le("frigate-card-surround")],PE);var LE="Tue, 17 Dec 2024 05:06:29 GMT",NE="0b68140",FE="Mon, 16 Dec 2024 21:05:17 -0800";const VE=ba.object({domain:ba.string(),version:ba.string().optional()}).passthrough(),HE="hass_web_proxy",BE=(e,t)=>`/api/${HE}/v${t??0}/?url=${encodeURIComponent(e)}`,qE=(e,t,n="media")=>(e=>e.config.components.includes(HE))(e)&&!!t[n];async function UE(e,t,n){await e.callService(HE,"create_proxied_url",{url_pattern:t,...n&&{url_id:n.urlID,ssl_verification:n.sslVerification,ssl_ciphers:n.sslCiphers,open_limit:n.openLimit,ttl:n.ttl,allow_unauthenticated:n.allowUnauthenticated}})}const WE=async(e,t)=>{let n=null;if(t)try{n=await(async(e,t)=>await Sy(e,VE,{type:"manifest/get",integration:t}))(t,e)}catch(e){}return{detected:!!n,...n?.version&&{version:n.version}}};let ZE=class extends se{constructor(){super(...arguments),this._diagnostics=null}async _fetchDiagnostics(){this._diagnostics=await(async(e,t,n)=>{const a=e&&t?await t.getMatchingDevices(e,(e=>"Frigate"===e.manufacturer)):[],i=new Map;return a?.forEach((e=>{e.config_entries.forEach((t=>{e.model&&i.set(t,e.model)}))})),{card_version:"6.1.0",browser:navigator.userAgent,date:new Date,lang:L_(),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,git:{hash:NE,build_date:LE,commit_date:FE},...e&&{ha_version:e.config.version},custom_integrations:{frigate:{...await WE("frigate",e),...i.size&&{devices:Object.fromEntries(i)}},hass_web_proxy:await WE(HE,e)},...n&&{config:n}}})(this.hass,this.deviceRegistryManager,this.rawConfig)}shouldUpdate(){return!!this._diagnostics||(this._fetchDiagnostics().then((()=>this.requestUpdate())),!1)}render(){return bk({message:N_("error.diagnostics"),type:"diagnostics",icon:"mdi:information",context:this._diagnostics})}static get styles(){return o(TE)}};e([he({attribute:!1})],ZE.prototype,"hass",void 0),e([he({attribute:!1})],ZE.prototype,"deviceRegistryManager",void 0),e([he({attribute:!1})],ZE.prototype,"rawConfig",void 0),e([pe()],ZE.prototype,"_diagnostics",void 0),ZE=e([le("frigate-card-diagnostics")],ZE);let QE=class extends se{willUpdate(e){if(e.has("viewManagerEpoch")||e.has("config")){const e=this.viewManagerEpoch?.manager.getView();(e?.is("live")||this._shouldLivePreload())&&import("./index-33db4eee.js"),e?.isGalleryView()?import("./gallery-bf3892f1.js"):e?.isViewerView()?import("./index-5de5f421.js"):e?.is("image")?import("./image-88fcb8ac.js"):e?.is("timeline")&&import("./timeline-3c6e5e5d.js")}e.has("hide")&&(this.hide?this.setAttribute("hidden",""):this.removeAttribute("hidden"))}shouldUpdate(e){return!0}_shouldLivePreload(){const e=this.viewManagerEpoch?.manager.getView();return!!this.overriddenConfig?.live.preload&&!e?.is("diagnostics")}render(){if(!(this.hass&&this.overriddenConfig&&this.nonOverriddenConfig&&this.cardWideConfig))return q``;const e=this.viewManagerEpoch?.manager.getView(),t={hidden:this._shouldLivePreload()&&!e?.is("live")},n={hidden:!!this.hide},a=e?.is("live")?this.overriddenConfig.live.controls.thumbnails:e?.isViewerView()?this.overriddenConfig.media_viewer.controls.thumbnails:e?.is("timeline")?this.overriddenConfig.timeline.controls.thumbnails:void 0,i=e?.is("live")?this.overriddenConfig.live.controls.timeline:e?.isViewerView()?this.overriddenConfig.media_viewer.controls.timeline:void 0,r=e?this.cameraManager?.getStore().getCameraConfig(e.camera)??null:null;return q` - ${!this.hide&&e?.is("image")&&r?q` - `:""} - ${!this.hide&&e?.isGalleryView()?q` - `:""} - ${!this.hide&&e?.isViewerView()?q` - - - `:""} - ${!this.hide&&e?.is("timeline")?q` - `:""} - ${!this.hide&&e?.is("diagnostics")?q` - `:""} - ${this._shouldLivePreload()||!this.hide&&e?.is("live")?q` - - - `:""} - `}static get styles(){return o(":host {\n width: 100%;\n height: 100%;\n display: block;\n}\n\n:host([hidden]),\n.hidden {\n display: none;\n}")}};e([he({attribute:!1})],QE.prototype,"hass",void 0),e([he({attribute:!1})],QE.prototype,"viewManagerEpoch",void 0),e([he({attribute:!1})],QE.prototype,"cameraManager",void 0),e([he({attribute:!1})],QE.prototype,"nonOverriddenConfig",void 0),e([he({attribute:!1})],QE.prototype,"overriddenConfig",void 0),e([he({attribute:!1})],QE.prototype,"cardWideConfig",void 0),e([he({attribute:!1})],QE.prototype,"rawConfig",void 0),e([he({attribute:!1})],QE.prototype,"resolvedMediaCache",void 0),e([he({attribute:!1})],QE.prototype,"conditionsManagerEpoch",void 0),e([he({attribute:!1})],QE.prototype,"hide",void 0),e([he({attribute:!1})],QE.prototype,"microphoneManager",void 0),e([he({attribute:!1})],QE.prototype,"triggeredCameraIDs",void 0),e([he({attribute:!1})],QE.prototype,"deviceRegistryManager",void 0),QE=e([le("frigate-card-views")],QE);console.info(`%c FRIGATE-HASS-CARD \n%c ${N_("common.version")} 6.1.0`,"color: pink; font-weight: bold; background: black","color: white; font-weight: bold; background: dimgray"),window.customCards=window.customCards||[],window.customCards.push({type:"frigate-card",name:N_("common.frigate_card"),description:N_("common.frigate_card_description"),preview:!0,documentationURL:"https://github.com/dermotduffy/frigate-hass-card"});let GE=class extends se{constructor(){super(...arguments),this._controller=new $x(this,(()=>this._refMain.value?.scroll({top:0})),(()=>this._refMenu.value?.toggleMenu()),this._requestUpdateForComponentsThatUseConditions.bind(this)),this._menuButtonController=new Ax,this._refMenu=Ie(),this._refOverlay=Ie(),this._refMain=Ie(),this._refElements=Ie(),this._refViews=Ie()}get _config(){return this._controller.getConfigManager().getConfig()}get _hass(){return this._controller.getHASSManager().getHASS()}set hass(e){this._controller.getHASSManager().setHASS(e),this._refMenu.value&&(this._refMenu.value.hass=e),this._refElements.value&&(this._refElements.value.hass=e),this._refViews.value&&(this._refViews.value.hass=e)}static async getConfigElement(){return await $x.getConfigElement()}static getStubConfig(e,t){return $x.getStubConfig(t)}_requestUpdateForComponentsThatUseConditions(){this._refViews.value&&(this._refViews.value.conditionsManagerEpoch=this._controller.getConditionsManager().getEpoch()??void 0),this._refElements.value&&(this._refElements.value.conditionsManagerEpoch=this._controller.getConditionsManager().getEpoch()??void 0)}setConfig(e){this._controller.getConfigManager().setConfig(e)}shouldUpdate(){return!!this.isConnected&&(this._controller.getMessageManager().hasMessage()||this._controller.getInitializationManager().isInitializedMandatory()||this._controller.getInitializationManager().initializeMandatory(),!0)}_renderMenuStatusContainer(e){if(!this._config)return;const t=this._config.menu.style,n=this._config.menu.position,a=this._config.status_bar.style,i=this._config.status_bar.position;if("none"===t&&"none"===a||"overlay"===e&&"outside"===t&&"outside"===a||"overlay"!==e&&("outside"!==t||n!==e)&&("outside"!==a||i!==e))return;const r=e=>{const r="none"!==t&&("outside"===t&&"outerlay"===e||"outside"!==t&&"overlay"===e),o="none"!==a&&("outside"===a&&"outerlay"===e||"outside"!==a&&"overlay"===e),s="left"===n||"right"===n||"bottom"===n&&"hidden"===t&&"popup"!==a||"top"===n&&("hidden"!==t||"popup"===a);return q` - ${r&&s?this._renderMenu(n):""} - ${o?this._renderStatusBar(i):""} - ${r&&!s?this._renderMenu(n):""} - `};return q` - ${"overlay"===e?q`${r("overlay")}`:q`
- ${r("outerlay")} -
`} - `}_renderMenu(e){const t=this._controller.getViewManager().getView();if(this._hass&&this._config)return q` - - `}_renderStatusBar(e){if(this._config)return q` - - `}updated(){this._controller.getInitializationManager().isInitializedMandatory()&&this._controller.getQueryStringManager().executeIfNecessary()}_renderInDialogIfNecessary(e){return this._controller.getExpandManager().isExpanded()?q` {this._controller.getExpandManager().setExpanded(!1)}} - > - ${e} - `:e}render(){if(!this._hass)return;const e={main:!0,"curve-top":"outside"!==this._config?.menu.style||"top"!==this._config?.menu.position,"curve-bottom":"outside"!==this._config?.menu.style||"top"===this._config?.menu.position},t=this._controller.getActionsManager().getMergedActions(),n=this._controller.getCameraManager(),a=!1!==this._config?.performance?.features.animated_progress_indicator&&!this._controller.getInitializationManager().wasEverInitialized()&&!this._controller.getMessageManager().hasMessage();return this._renderInDialogIfNecessary(q` this._controller.getMessageManager().setMessageIfHigherPriority(e.detail)} - @frigate-card:media:loaded=${e=>this._controller.getMediaLoadedInfoManager().set(e.detail)} - @frigate-card:media:unloaded=${()=>this._controller.getMediaLoadedInfoManager().clear()} - @frigate-card:media:volumechange=${()=>this.requestUpdate()} - @frigate-card:media:play=${()=>this.requestUpdate()} - @frigate-card:media:pause=${()=>this.requestUpdate()} - @frigate-card:focus=${()=>this.focus()} - > - ${a?q``:""} - ${this._renderMenuStatusContainer("top")} - ${this._renderMenuStatusContainer("overlay")} -
- - ${bk(this._controller.getMessageManager().getMessage())} -
- ${this._renderMenuStatusContainer("bottom")} - ${this._config?.elements?q` {this._menuButtonController.addDynamicMenuButton(e.detail),this.requestUpdate()}} - @frigate-card:menu:remove=${e=>{this._menuButtonController.removeDynamicMenuButton(e.detail),this.requestUpdate()}} - @frigate-card:status-bar:add=${e=>{this._controller.getStatusBarItemManager().addDynamicStatusBarItem(e.detail)}} - @frigate-card:status-bar:remove=${e=>{this._controller.getStatusBarItemManager().removeDynamicStatusBarItem(e.detail)}} - @frigate-card:conditions:evaluate=${e=>{e.evaluation=this._controller.getConditionsManager()?.evaluateConditions(e.conditions)}} - > - `:""} -
`)}static get styles(){return o(':host {\n display: block;\n position: relative;\n background-color: var(--card-background-color);\n border-radius: var(--ha-card-border-radius, 4px);\n height: var(--frigate-card-height);\n min-height: 100px;\n pointer-events: all;\n --frigate-card-expand-max-height: calc((100vh - (2 * 56px)) * 0.85);\n --frigate-card-expand-max-width: 85vw;\n --frigate-card-expand-width: none;\n --frigate-card-expand-height: none;\n --frigate-card-expand-aspect-ratio: unset;\n --frigate-card-height: auto;\n}\n\nfrigate-card-loading {\n position: absolute;\n inset: 0;\n z-index: 1;\n}\n\n:host([dark]) {\n filter: brightness(75%);\n}\n\n:host([panel]:not([casted])) {\n height: calc(100vh - var(--header-height));\n}\n\n:host([panel][casted]) {\n height: 100%;\n}\n\ndiv.main {\n position: relative;\n overflow: auto;\n width: 100%;\n height: 100%;\n margin: auto;\n display: block;\n transform: translateZ(0);\n scrollbar-width: none;\n -ms-overflow-style: none;\n}\n\n/* Hide scrollbar for Chrome, Safari and Opera */\ndiv.main::-webkit-scrollbar {\n display: none;\n}\n\ndiv.main.curve-top {\n border-top-left-radius: var(--ha-card-border-radius, 4px);\n border-top-right-radius: var(--ha-card-border-radius, 4px);\n}\n\ndiv.main.curve-bottom {\n border-bottom-left-radius: var(--ha-card-border-radius, 4px);\n border-bottom-right-radius: var(--ha-card-border-radius, 4px);\n}\n\nha-card {\n display: flex;\n flex-direction: column;\n margin: auto;\n border: 0px;\n overflow: visible;\n width: 100%;\n height: 100%;\n position: static;\n color: var(--secondary-text-color, white);\n}\n\n/************\n * Fullscreen\n *************/\n:host(:fullscreen) #ha-card {\n border-radius: 0px;\n box-shadow: none;\n margin: 0;\n}\n\n:host(:-webkit-full-screen) #ha-card {\n border-radius: 0px;\n box-shadow: none;\n margin: 0;\n}\n\n:host(:fullscreen) div.main,\n:host(:fullscreen) frigate-card-menu {\n border-radius: 0px;\n}\n\n:host(:-webkit-full-screen) div.main,\n:host(:-webkit-full-screen) frigate-card-menu {\n border-radius: 0px;\n}\n\n/***************\n * Expanded mode\n ***************/\nweb-dialog {\n --dialog-padding: 0px;\n --dialog-container-padding: 0px;\n --dialog-max-height: var(--frigate-card-expand-max-height);\n --dialog-max-width: var(--frigate-card-expand-max-width);\n --dialog-width: var(--frigate-card-expand-width);\n --dialog-height: var(--frigate-card-expand-height);\n --dialog-overflow-x: visible;\n --dialog-overflow-y: visible;\n max-height: 100vh;\n}\n\nweb-dialog::part(dialog) {\n aspect-ratio: var(--frigate-card-expand-aspect-ratio);\n border-radius: 0px;\n background: transparent;\n}\n\n/*************************************\n * "Outside" style for menu/status bar\n *************************************/\n.outerlay[data-position=top] > *:first-child {\n border-top-left-radius: var(--ha-card-border-radius, 4px);\n border-top-right-radius: var(--ha-card-border-radius, 4px);\n}\n\n.outerlay[data-position=bottom] > *:last-child {\n border-bottom-left-radius: var(--ha-card-border-radius, 4px);\n border-bottom-right-radius: var(--ha-card-border-radius, 4px);\n}\n\n/*******************\n * Menu hover styles\n *******************/\nfrigate-card-menu {\n z-index: 2;\n}\n\nfrigate-card-menu[data-style*=hover] {\n transition: opacity 0.5s ease;\n opacity: 0;\n}\n\nfrigate-card-menu[data-style*=hover]:hover,\nha-card:hover > frigate-card-overlay > frigate-card-menu[data-style=hover-card] {\n opacity: 1;\n}\n\n/*************************\n * Status bar hover styles\n *************************/\nfrigate-card-status-bar {\n z-index: 1;\n}\n\nfrigate-card-status-bar[data-style*=hover] {\n transition: opacity 0.5s ease;\n opacity: 0;\n}\n\nfrigate-card-status-bar[data-style*=hover]:hover,\nha-card:hover > frigate-card-overlay > frigate-card-status-bar[data-style=hover-card] {\n opacity: 1;\n}')}getCardSize(){return 6}};GE=e([le("frigate-card")],GE);export{Al as $,Ji as A,er as B,Ui as C,tr as D,nr as E,ar as F,Di as G,Ri as H,Pi as I,Li as J,Ni as K,Fi as L,Vi as M,Hi as N,Bi as O,ps as P,qs as Q,es as R,Bs as S,Ho as T,Lo as U,No as V,Fo as W,Vo as X,Vs as Y,$l as Z,e as _,se as a,cr as a$,F_ as a0,ew as a1,et as a2,tw as a3,Ss as a4,ji as a5,zi as a6,Ti as a7,Oi as a8,qi as a9,Qr as aA,io as aB,ro as aC,so as aD,co as aE,oo as aF,to as aG,no as aH,ao as aI,ho as aJ,go as aK,fo as aL,lo as aM,uo as aN,mo as aO,po as aP,Xr as aQ,eo as aR,Jr as aS,Yr as aT,Kr as aU,Gr as aV,Eo as aW,Ao as aX,$o as aY,dr as aZ,or as a_,Xo as aa,Ko as ab,Yo as ac,Jo as ad,ds as ae,ls as af,hs as ag,Hs as ah,us as ai,Mo as aj,wo as ak,Io as al,xo as am,Co as an,Hr as ao,Br as ap,qr as aq,Ur as ar,ko as as,So as at,_o as au,bo as av,yo as aw,vo as ax,Wr as ay,Zr as az,pe as b,za as b$,lr as b0,sr as b1,rr as b2,hr as b3,pr as b4,mr as b5,gr as b6,br as b7,Fr as b8,wr as b9,Do as bA,qo as bB,Uo as bC,Zo as bD,Qo as bE,Wo as bF,Bo as bG,fs as bH,gs as bI,_s as bJ,bs as bK,ws as bL,Es as bM,xs as bN,ks as bO,Ms as bP,Xb as bQ,Yb as bR,Bk as bS,Bg as bT,xa as bU,Ka as bV,Qa as bW,Ra as bX,Pa as bY,Ca as bZ,Ta as b_,Cr as ba,xr as bb,fr as bc,vr as bd,_r as be,yr as bf,Mr as bg,kr as bh,Sr as bi,Tr as bj,$r as bk,Ir as bl,zr as bm,Ar as bn,Er as bo,Dr as bp,Lr as bq,Nr as br,jr as bs,Or as bt,Pr as bu,Rr as bv,Oo as bw,Ro as bx,To as by,jo as bz,Jb as c,Nd as c$,ja as c0,Ia as c1,Za as c2,Ba as c3,qa as c4,Ua as c5,Wa as c6,gi as c7,mi as c8,Oa as c9,ti as cA,ni as cB,Ma as cC,ka as cD,ui as cE,di as cF,pi as cG,hi as cH,Ld as cI,wa as cJ,Cs as cK,Qw as cL,Ie as cM,Gw as cN,cf as cO,bk as cP,je as cQ,Wg as cR,_w as cS,Jl as cT,Ck as cU,Gv as cV,XS as cW,vf as cX,xv as cY,ye as cZ,TE as c_,Da as ca,Fa as cb,Ha as cc,La as cd,Na as ce,Va as cf,Ga as cg,Ya as ch,Ja as ci,Xa as cj,_i as ck,fi as cl,yi as cm,vi as cn,Sa as co,Ea as cp,$a as cq,Aa as cr,ei as cs,ai as ct,ii as cu,ri as cv,oi as cw,si as cx,ci as cy,li as cz,nw as d,$s as d$,eu as d0,c as d1,dx as d2,Wy as d3,ux as d4,cx as d5,hx as d6,Zg as d7,ky as d8,qu as d9,bf as dA,Hw as dB,ME as dC,xE as dD,_f as dE,Lk as dF,ff as dG,Cf as dH,yf as dI,u_ as dJ,d_ as dK,Dy as dL,Ry as dM,Bd as dN,Ny as dO,Qg as dP,Gg as dQ,xx as dR,Zv as dS,mx as dT,ru as dU,rf as dV,Ly as dW,Fg as dX,ba as dY,ef as dZ,Sy as d_,Yg as da,Wu as db,Vg as dc,Bw as dd,tf as de,kE as df,Mx as dg,wk as dh,Ew as di,ex as dj,dv as dk,Hb as dl,Bb as dm,qE as dn,UE as dp,Ib as dq,BE as dr,Zw as ds,Yw as dt,Kw as du,Xw as dv,bx as dw,ge as dx,fe as dy,U as dz,_e as e,Gy as e0,qy as e1,U_ as e2,W_ as e3,Qy as e4,Kg as e5,Jg as e6,Zy as e7,Fk as e8,Fy as e9,Lb as eA,sf as eB,Hv as eC,Bv as eD,qv as eE,uf as eF,Wv as eG,Og as eH,Uv as eI,s as eJ,Ae as eK,ve as eL,W as eM,Ww as eN,vE as eO,me as eP,be as eQ,xe as eR,Tb as eS,nf as ea,Iy as eb,Vk as ec,Ay as ed,$y as ee,zy as ef,Hk as eg,Yd as eh,Fd as ei,Zd as ej,Wd as ek,Qd as el,fu as em,Kd as en,Xd as eo,_u as ep,gu as eq,Vd as er,tu as es,pu as et,Tu as eu,Pu as ev,Lu as ew,Ru as ex,Fb as ey,Uy as ez,bw as f,Nb as g,Kb as h,jy as i,Pb as j,Hg as k,N_ as l,Gi as m,he as n,Zi as o,Rd as p,Wi as q,o as r,af as s,le as t,Qi as u,Vb as v,Yi as w,q as x,Xi as y,Ki as z}; diff --git a/config/www/community/frigate-hass-card/card-320adb66.js.gz b/config/www/community/frigate-hass-card/card-320adb66.js.gz deleted file mode 100644 index 055ac7666b57ce0c880620458ae7b90695a56a1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142734 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,*F%00-N)nW~G)u#C?VpzO*-y`cn# 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 XqQ@(EO~1dU>-YX2Uf8siP8bLPrild< diff --git a/config/www/community/frigate-hass-card/card-45855f1f.js b/config/www/community/frigate-hass-card/card-45855f1f.js deleted file mode 100644 index 5ca7880a..00000000 --- a/config/www/community/frigate-hass-card/card-45855f1f.js +++ /dev/null @@ -1,650 +0,0 @@ -function e(e,t,n,a){var i,r=arguments.length,o=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o}"function"==typeof SuppressedError&&SuppressedError; -/** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const t=globalThis,n=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,a=Symbol(),i=new WeakMap;let r=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==a)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(n&&void 0===e){const n=void 0!==t&&1===t.length;n&&(e=i.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&i.set(t,e))}return e}toString(){return this.cssText}};const o=e=>new r("string"==typeof e?e:e+"",void 0,a),s=(e,...t)=>{const n=1===e.length?e[0]:t.reduce(((t,n,a)=>t+(e=>{if(!0===e._$cssResult$)return e.cssText;if("number"==typeof e)return e;throw Error("Value passed to 'css' function must be a 'css' function result: "+e+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(n)+e[a+1]),e[0]);return new r(n,e,a)},c=(e,a)=>{if(n)e.adoptedStyleSheets=a.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet));else for(const n of a){const a=document.createElement("style"),i=t.litNonce;void 0!==i&&a.setAttribute("nonce",i),a.textContent=n.cssText,e.appendChild(a)}},l=n?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const n of e.cssRules)t+=n.cssText;return o(t)})(e):e -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */,{is:d,defineProperty:u,getOwnPropertyDescriptor:h,getOwnPropertyNames:p,getOwnPropertySymbols:m,getPrototypeOf:g}=Object,f=globalThis,_=f.trustedTypes,v=_?_.emptyScript:"",y=f.reactiveElementPolyfillSupport,b=(e,t)=>e,w={toAttribute(e,t){switch(t){case Boolean:e=e?v:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=null!==e;break;case Number:n=null===e?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch(e){n=null}}return n}},x=(e,t)=>!d(e,t),C={attribute:!0,type:String,converter:w,reflect:!1,hasChanged:x};Symbol.metadata??=Symbol("metadata"),f.litPropertyMetadata??=new WeakMap;class M extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=C){if(t.state&&(t.attribute=!1),this._$Ei(),this.elementProperties.set(e,t),!t.noAccessor){const n=Symbol(),a=this.getPropertyDescriptor(e,n,t);void 0!==a&&u(this.prototype,e,a)}}static getPropertyDescriptor(e,t,n){const{get:a,set:i}=h(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get(){return a?.call(this)},set(t){const r=a?.call(this);i.call(this,t),this.requestUpdate(e,r,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??C}static _$Ei(){if(this.hasOwnProperty(b("elementProperties")))return;const e=g(this);e.finalize(),void 0!==e.l&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(b("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(b("properties"))){const e=this.properties,t=[...p(e),...m(e)];for(const n of t)this.createProperty(n,e[n])}const e=this[Symbol.metadata];if(null!==e){const t=litPropertyMetadata.get(e);if(void 0!==t)for(const[e,n]of t)this.elementProperties.set(e,n)}this._$Eh=new Map;for(const[e,t]of this.elementProperties){const n=this._$Eu(e,t);void 0!==n&&this._$Eh.set(n,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const n=new Set(e.flat(1/0).reverse());for(const e of n)t.unshift(l(e))}else void 0!==e&&t.push(l(e));return t}static _$Eu(e,t){const n=t.attribute;return!1===n?void 0:"string"==typeof n?n:"string"==typeof e?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((e=>this.enableUpdating=e)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((e=>e(this)))}addController(e){(this._$EO??=new Set).add(e),void 0!==this.renderRoot&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){const e=new Map,t=this.constructor.elementProperties;for(const n of t.keys())this.hasOwnProperty(n)&&(e.set(n,this[n]),delete this[n]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return c(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((e=>e.hostConnected?.()))}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach((e=>e.hostDisconnected?.()))}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$EC(e,t){const n=this.constructor.elementProperties.get(e),a=this.constructor._$Eu(e,n);if(void 0!==a&&!0===n.reflect){const i=(void 0!==n.converter?.toAttribute?n.converter:w).toAttribute(t,n.type);this._$Em=e,null==i?this.removeAttribute(a):this.setAttribute(a,i),this._$Em=null}}_$AK(e,t){const n=this.constructor,a=n._$Eh.get(e);if(void 0!==a&&this._$Em!==a){const e=n.getPropertyOptions(a),i="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==e.converter?.fromAttribute?e.converter:w;this._$Em=a,this[a]=i.fromAttribute(t,e.type),this._$Em=null}}requestUpdate(e,t,n){if(void 0!==e){if(n??=this.constructor.getPropertyOptions(e),!(n.hasChanged??x)(this[e],t))return;this.P(e,t,n)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(e,t,n){this._$AL.has(e)||this._$AL.set(e,t),!0===n.reflect&&this._$Em!==e&&(this._$Ej??=new Set).add(e)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}const e=this.constructor.elementProperties;if(e.size>0)for(const[t,n]of e)!0!==n.wrapped||this._$AL.has(t)||void 0===this[t]||this.P(t,this[t],n)}let e=!1;const t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach((e=>e.hostUpdate?.())),this.update(t)):this._$EU()}catch(t){throw e=!1,this._$EU(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach((e=>e.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Ej&&=this._$Ej.forEach((e=>this._$EC(e,this[e]))),this._$EU()}updated(e){}firstUpdated(e){}}M.elementStyles=[],M.shadowRootOptions={mode:"open"},M[b("elementProperties")]=new Map,M[b("finalized")]=new Map,y?.({ReactiveElement:M}),(f.reactiveElementVersions??=[]).push("2.0.4"); -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const k=globalThis,S=k.trustedTypes,E=S?S.createPolicy("lit-html",{createHTML:e=>e}):void 0,$="$lit$",A=`lit$${(Math.random()+"").slice(9)}$`,z="?"+A,I=`<${z}>`,T=document,j=()=>T.createComment(""),O=e=>null===e||"object"!=typeof e&&"function"!=typeof e,D=Array.isArray,R="[ \t\n\f\r]",P=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,L=/-->/g,N=/>/g,F=RegExp(`>|${R}(?:([^\\s"'>=/]+)(${R}*=${R}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),V=/'/g,H=/"/g,B=/^(?:script|style|textarea|title)$/i,q=(e=>(t,...n)=>({_$litType$:e,strings:t,values:n}))(1),U=Symbol.for("lit-noChange"),W=Symbol.for("lit-nothing"),Z=new WeakMap,Q=T.createTreeWalker(T,129);function G(e,t){if(!Array.isArray(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==E?E.createHTML(t):t}const Y=(e,t)=>{const n=e.length-1,a=[];let i,r=2===t?"":"",o=P;for(let t=0;t"===c[0]?(o=i??P,l=-1):void 0===c[1]?l=-2:(l=o.lastIndex-c[2].length,s=c[1],o=void 0===c[3]?F:'"'===c[3]?H:V):o===H||o===V?o=F:o===L||o===N?o=P:(o=F,i=void 0);const u=o===F&&e[t+1].startsWith("/>")?" ":"";r+=o===P?n+I:l>=0?(a.push(s),n.slice(0,l)+$+n.slice(l)+A+u):n+A+(-2===l?t:u)}return[G(e,r+(e[n]||"")+(2===t?"":"")),a]};class K{constructor({strings:e,_$litType$:t},n){let a;this.parts=[];let i=0,r=0;const o=e.length-1,s=this.parts,[c,l]=Y(e,t);if(this.el=K.createElement(c,n),Q.currentNode=this.el.content,2===t){const e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;null!==(a=Q.nextNode())&&s.length0){a.textContent=S?S.emptyScript:"";for(let n=0;nD(e)||"function"==typeof e?.[Symbol.iterator])(e)?this.k(e):this._(e)}S(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.S(e))}_(e){this._$AH!==W&&O(this._$AH)?this._$AA.nextSibling.data=e:this.T(T.createTextNode(e)),this._$AH=e}$(e){const{values:t,_$litType$:n}=e,a="number"==typeof n?this._$AC(e):(void 0===n.el&&(n.el=K.createElement(G(n.h,n.h[0]),this.options)),n);if(this._$AH?._$AD===a)this._$AH.p(t);else{const e=new J(a,this),n=e.u(this.options);e.p(t),this.T(n),this._$AH=e}}_$AC(e){let t=Z.get(e.strings);return void 0===t&&Z.set(e.strings,t=new K(e)),t}k(e){D(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let n,a=0;for(const i of e)a===t.length?t.push(n=new ee(this.S(j()),this.S(j()),this,this.options)):n=t[a],n._$AI(i),a++;a2||""!==n[0]||""!==n[1]?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=W}_$AI(e,t=this,n,a){const i=this.strings;let r=!1;if(void 0===i)e=X(this,e,t,0),r=!O(e)||e!==this._$AH&&e!==U,r&&(this._$AH=e);else{const a=e;let o,s;for(e=i[0],o=0;o{const a=n?.renderBefore??t;let i=a._$litPart$;if(void 0===i){const e=n?.renderBefore??null;a._$litPart$=i=new ee(t.insertBefore(j(),e),e,void 0,n??{})}return i._$AI(e),i})(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return U}};se._$litElement$=!0,se.finalized=!0,globalThis.litElementHydrateSupport?.({LitElement:se});const ce=globalThis.litElementPolyfillSupport;ce?.({LitElement:se}),(globalThis.litElementVersions??=[]).push("4.0.4"); -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const le=e=>(t,n)=>{void 0!==n?n.addInitializer((()=>{customElements.define(e,t)})):customElements.define(e,t)} -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */,de={attribute:!0,type:String,converter:w,reflect:!1,hasChanged:x},ue=(e=de,t,n)=>{const{kind:a,metadata:i}=n;let r=globalThis.litPropertyMetadata.get(i);if(void 0===r&&globalThis.litPropertyMetadata.set(i,r=new Map),r.set(n.name,e),"accessor"===a){const{name:a}=n;return{set(n){const i=t.get.call(this);t.set.call(this,n),this.requestUpdate(a,i,e)},init(t){return void 0!==t&&this.P(a,void 0,e),t}}}if("setter"===a){const{name:a}=n;return function(n){const i=this[a];t.call(this,n),this.requestUpdate(a,i,e)}}throw Error("Unsupported decorator location: "+a)};function he(e){return(t,n)=>"object"==typeof n?ue(e,t,n):((e,t,n)=>{const a=t.hasOwnProperty(n);return t.constructor.createProperty(n,a?{...e,wrapped:!0}:e),a?Object.getOwnPropertyDescriptor(t,n):void 0})(e,t,n) -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */}function pe(e){return he({...e,state:!0,attribute:!1})} -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const me={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},ge=e=>(...t)=>({_$litDirective$:e,values:t});let fe=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,n){this._$Ct=e,this._$AM=t,this._$Ci=n}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}}; -/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const _e=ge(class extends fe{constructor(e){if(super(e),e.type!==me.ATTRIBUTE||"class"!==e.name||e.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(e){return" "+Object.keys(e).filter((t=>e[t])).join(" ")+" "}update(e,[t]){if(void 0===this.st){this.st=new Set,void 0!==e.strings&&(this.nt=new Set(e.strings.join(" ").split(/\s/).filter((e=>""!==e))));for(const e in t)t[e]&&!this.nt?.has(e)&&this.st.add(e);return this.render(t)}const n=e.element.classList;for(const e of this.st)e in t||(n.remove(e),this.st.delete(e));for(const e in t){const a=!!t[e];a===this.st.has(e)||this.nt?.has(e)||(a?(n.add(e),this.st.add(e)):(n.remove(e),this.st.delete(e)))}return U}}),ve=e=>e??W -/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */,ye=e=>null===e||"object"!=typeof e&&"function"!=typeof e,be=e=>void 0===e.strings,we={},xe=(e,t=we)=>e._$AH=t -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */,Ce=(e,t)=>{const n=e._$AN;if(void 0===n)return!1;for(const e of n)e._$AO?.(t,!1),Ce(e,t);return!0},Me=e=>{let t,n;do{if(void 0===(t=e._$AM))break;n=t._$AN,n.delete(e),e=t}while(0===n?.size)},ke=e=>{for(let t;t=e._$AM;e=t){let n=t._$AN;if(void 0===n)t._$AN=n=new Set;else if(n.has(e))break;n.add(e),$e(t)}}; -/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */function Se(e){void 0!==this._$AN?(Me(this),this._$AM=e,ke(this)):this._$AM=e}function Ee(e,t=!1,n=0){const a=this._$AH,i=this._$AN;if(void 0!==i&&0!==i.size)if(t)if(Array.isArray(a))for(let e=n;e{e.type==me.CHILD&&(e._$AP??=Ee,e._$AQ??=Se)};class Ae extends fe{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,t,n){super._$AT(e,t,n),ke(this),this.isConnected=e._$AU}_$AO(e,t=!0){e!==this.isConnected&&(this.isConnected=e,e?this.reconnected?.():this.disconnected?.()),t&&(Ce(this,e),Me(this))}setValue(e){if(be(this._$Ct))this._$Ct._$AI(e,this);else{const t=[...this._$Ct._$AH];t[this._$Ci]=e,this._$Ct._$AI(t,this,0)}}disconnected(){}reconnected(){}} -/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const ze=()=>new Ie;let Ie=class{};const Te=new WeakMap,je=ge(class extends Ae{render(e){return W}update(e,[t]){const n=t!==this.Y;return n&&void 0!==this.Y&&this.rt(void 0),(n||this.lt!==this.ct)&&(this.Y=t,this.ht=e.options?.host,this.rt(this.ct=e.element)),W}rt(e){if("function"==typeof this.Y){const t=this.ht??globalThis;let n=Te.get(t);void 0===n&&(n=new WeakMap,Te.set(t,n)),void 0!==n.get(this.Y)&&this.Y.call(this.ht,void 0),n.set(this.Y,e),void 0!==e&&this.Y.call(this.ht,e)}else this.Y.value=e}get lt(){return"function"==typeof this.Y?Te.get(this.ht??globalThis)?.get(this.Y):this.Y?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}}),Oe="important",De=" !"+Oe,Re=ge(class extends fe{constructor(e){if(super(e),e.type!==me.ATTRIBUTE||"style"!==e.name||e.strings?.length>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(e){return Object.keys(e).reduce(((t,n)=>{const a=e[n];return null==a?t:t+`${n=n.includes("-")?n:n.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${a};`}),"")}update(e,[t]){const{style:n}=e.element;if(void 0===this.ft)return this.ft=new Set(Object.keys(t)),this.render(t);for(const e of this.ft)null==t[e]&&(this.ft.delete(e),e.includes("-")?n.removeProperty(e):n[e]=null);for(const e in t){const a=t[e];if(null!=a){this.ft.add(e);const t="string"==typeof a&&a.endsWith(De);e.includes("-")||t?n.setProperty(e,t?a.slice(0,-11):a,t?Oe:""):n[e]=a}}return U}}); -/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */function Pe(e,t,n,a=20,i=0){let r=[];if(i>=a)return r;const o=e=>{const r=e.assignedNodes().filter((e=>1===e.nodeType));return r.length>0?Pe(r[0].parentElement,t,n,a,i+1):[]},s=Array.from(e.children||[]);for(const e of s)t(e)||(n(e)&&r.push(e),null!=e.shadowRoot?r.push(...Pe(e.shadowRoot,t,n,a,i+1)):"SLOT"===e.tagName?r.push(...o(e)):r.push(...Pe(e,t,n,a,i+1)));return r}function Le(e){return e.hasAttribute("hidden")||e.hasAttribute("aria-hidden")&&"false"!==e.getAttribute("aria-hidden")||"none"===e.style.display||"0"===e.style.opacity||"hidden"===e.style.visibility||"collapse"===e.style.visibility}function Ne(e){return"-1"!==e.getAttribute("tabindex")&&!Le(e)&&!function(e){return e.hasAttribute("disabled")||e.hasAttribute("aria-disabled")&&"false"!==e.getAttribute("aria-disabled")}(e)&&(e.hasAttribute("tabindex")||(e instanceof HTMLAnchorElement||e instanceof HTMLAreaElement)&&e.hasAttribute("href")||e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLIFrameElement)}const Fe=new Map;const Ve=document.createElement("template");Ve.innerHTML='\n\t

\n\t
\n\t\n\t
\n';class He extends HTMLElement{constructor(){super(),this.debounceId=Math.random().toString(),this._focused=!1;const e=this.attachShadow({mode:"open"});e.appendChild(Ve.content.cloneNode(!0)),this.$backup=e.querySelector("#backup"),this.$start=e.querySelector("#start"),this.$end=e.querySelector("#end"),this.focusLastElement=this.focusLastElement.bind(this),this.focusFirstElement=this.focusFirstElement.bind(this),this.onFocusIn=this.onFocusIn.bind(this),this.onFocusOut=this.onFocusOut.bind(this)}static get observedAttributes(){return["inactive"]}get inactive(){return this.hasAttribute("inactive")}set inactive(e){e?this.setAttribute("inactive",""):this.removeAttribute("inactive")}get focused(){return this._focused}connectedCallback(){this.$start.addEventListener("focus",this.focusLastElement),this.$end.addEventListener("focus",this.focusFirstElement),this.addEventListener("focusin",this.onFocusIn),this.addEventListener("focusout",this.onFocusOut),this.render()}disconnectedCallback(){this.$start.removeEventListener("focus",this.focusLastElement),this.$end.removeEventListener("focus",this.focusFirstElement),this.removeEventListener("focusin",this.onFocusIn),this.removeEventListener("focusout",this.onFocusOut)}attributeChangedCallback(){this.render()}focusFirstElement(){this.trapFocus()}focusLastElement(){this.trapFocus(!0)}getFocusableElements(){return Pe(this,Le,Ne)}trapFocus(e){if(this.inactive)return;let t=this.getFocusableElements();t.length>0?(e?t[t.length-1].focus():t[0].focus(),this.$backup.setAttribute("tabindex","-1")):(this.$backup.setAttribute("tabindex","0"),this.$backup.focus())}onFocusIn(){this.updateFocused(!0)}onFocusOut(){this.updateFocused(!1)}updateFocused(e){!function(e,t,n){const a=Fe.get(n);null!=a&&window.clearTimeout(a),Fe.set(n,window.setTimeout((()=>{e(),Fe.delete(n)}),t))}((()=>{this.focused!==e&&(this._focused=e,this.render())}),0,this.debounceId)}render(){this.$start.setAttribute("tabindex",!this.focused||this.inactive?"-1":"0"),this.$end.setAttribute("tabindex",!this.focused||this.inactive?"-1":"0"),this.focused?this.setAttribute("focused",""):this.removeAttribute("focused")}}function Be(e){return Number(e.getAttribute("data-dialog-count"))||0}function qe(e,t){e.setAttribute("data-dialog-count",t.toString())}function Ue(e=document.activeElement){return null!=e&&null!=e.shadowRoot&&null!=e.shadowRoot.activeElement?Ue(e.shadowRoot.activeElement):e}window.customElements.define("focus-trap",He);const We=document.createElement("template");We.innerHTML='\n \n
\n \n \n \n';class Ze extends HTMLElement{constructor(){super(),this.$scrollContainer=document.documentElement,this.$previousActiveElement=null;const e=this.attachShadow({mode:"open"});e.appendChild(We.content.cloneNode(!0)),this.$dialog=e.querySelector("#dialog"),this.$backdrop=e.querySelector("#backdrop"),this.onBackdropClick=this.onBackdropClick.bind(this),this.onKeyDown=this.onKeyDown.bind(this),this.setAttribute("aria-modal","true"),this.$dialog.setAttribute("role","alertdialog")}static get observedAttributes(){return["open","center"]}get open(){return this.hasAttribute("open")}set open(e){e?this.setAttribute("open",""):this.removeAttribute("open")}get center(){return this.hasAttribute("center")}set center(e){e?this.setAttribute("center",""):this.removeAttribute("center")}connectedCallback(){this.$backdrop.addEventListener("click",this.onBackdropClick)}disconnectedCallback(){this.$backdrop.removeEventListener("click",this.onBackdropClick),this.open&&this.didClose()}show(){this.open=!0}close(e){this.result=e,this.open=!1}onBackdropClick(){this.assertClosing()&&this.close()}onKeyDown(e){if("Escape"===e.code)this.assertClosing()&&(this.close(),e.stopImmediatePropagation())}assertClosing(){return this.dispatchEvent(new CustomEvent("closing",{cancelable:!0}))}didOpen(){this.$previousActiveElement=Ue(document.activeElement),requestAnimationFrame((()=>{this.$dialog.focusFirstElement()})),this.tabIndex=0,this.$scrollContainer.style.overflow="hidden",this.addEventListener("keydown",this.onKeyDown,{capture:!0,passive:!0}),qe(this.$scrollContainer,Be(this.$scrollContainer)+1),this.dispatchEvent(new CustomEvent("open"))}didClose(){this.removeEventListener("keydown",this.onKeyDown,{capture:!0}),qe(this.$scrollContainer,Math.max(0,Be(this.$scrollContainer)-1)),Be(this.$scrollContainer)<=0&&(this.$scrollContainer.style.overflow=""),this.tabIndex=-1,null!=this.$previousActiveElement&&(this.$previousActiveElement.focus(),this.$previousActiveElement=null),this.dispatchEvent(new CustomEvent("close",{detail:this.result}))}attributeChangedCallback(e,t,n){if("open"===e)this.open?this.didOpen():this.didClose()}}var Qe,Ge;function Ye(e){return e.substr(0,e.indexOf("."))}customElements.define("web-dialog",Ze),function(e){e.language="language",e.system="system",e.comma_decimal="comma_decimal",e.decimal_comma="decimal_comma",e.space_comma="space_comma",e.none="none"}(Qe||(Qe={})),function(e){e.language="language",e.system="system",e.am_pm="12",e.twenty_four="24"}(Ge||(Ge={}));var Ke,Xe,Je=["closed","locked","off"],et=function(e,t,n,a){a=a||{},n=null==n?{}:n;var i=new Event(t,{bubbles:void 0===a.bubbles||a.bubbles,cancelable:Boolean(a.cancelable),composed:void 0===a.composed||a.composed});return i.detail=n,e.dispatchEvent(i),i},tt=function(e){et(window,"haptic",e)},nt=function(e,t){return function(e,t,n){void 0===n&&(n=!0);var a,i=Ye(t),r="group"===i?"homeassistant":i;switch(i){case"lock":a=n?"unlock":"lock";break;case"cover":a=n?"open_cover":"close_cover";break;default:a=n?"turn_on":"turn_off"}return e.callService(r,a,{entity_id:t})}(e,t,Je.includes(e.states[t].state))},at=function(e,t,n,a){if(a||(a={action:"more-info"}),!a.confirmation||a.confirmation.exemptions&&a.confirmation.exemptions.some((function(e){return e.user===t.user.id}))||(tt("warning"),confirm(a.confirmation.text||"Are you sure you want to "+a.action+"?")))switch(a.action){case"more-info":(n.entity||n.camera_image)&&et(e,"hass-more-info",{entityId:n.entity?n.entity:n.camera_image});break;case"navigate":a.navigation_path&&function(e,t,n){void 0===n&&(n=!1),n?history.replaceState(null,"",t):history.pushState(null,"",t),et(window,"location-changed",{replace:n})}(0,a.navigation_path);break;case"url":a.url_path&&window.open(a.url_path);break;case"toggle":n.entity&&(nt(t,n.entity),tt("success"));break;case"perform-action":if(!a.perform_action)return void tt("failure");var i=a.perform_action.split(".",2);t.callService(i[0],i[1],a.data,a.target),tt("success");break;case"call-service":if(!a.service)return void tt("failure");var r=a.service.split(".",2);t.callService(r[0],r[1],a.data,a.target),tt("success");break;case"fire-dom-event":et(e,"ll-custom",a)}};!function(e){e.assertEqual=e=>e,e.assertIs=function(e){},e.assertNever=function(e){throw new Error},e.arrayToEnum=e=>{const t={};for(const n of e)t[n]=n;return t},e.getValidEnumValues=t=>{const n=e.objectKeys(t).filter((e=>"number"!=typeof t[t[e]])),a={};for(const e of n)a[e]=t[e];return e.objectValues(a)},e.objectValues=t=>e.objectKeys(t).map((function(e){return t[e]})),e.objectKeys="function"==typeof Object.keys?e=>Object.keys(e):e=>{const t=[];for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},e.find=(e,t)=>{for(const n of e)if(t(n))return n},e.isInteger="function"==typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"==typeof e&&isFinite(e)&&Math.floor(e)===e,e.joinValues=function(e,t=" | "){return e.map((e=>"string"==typeof e?`'${e}'`:e)).join(t)},e.jsonStringifyReplacer=(e,t)=>"bigint"==typeof t?t.toString():t}(Ke||(Ke={})),function(e){e.mergeShapes=(e,t)=>({...e,...t})}(Xe||(Xe={}));const it=Ke.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),rt=e=>{switch(typeof e){case"undefined":return it.undefined;case"string":return it.string;case"number":return isNaN(e)?it.nan:it.number;case"boolean":return it.boolean;case"function":return it.function;case"bigint":return it.bigint;case"symbol":return it.symbol;case"object":return Array.isArray(e)?it.array:null===e?it.null:e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch?it.promise:"undefined"!=typeof Map&&e instanceof Map?it.map:"undefined"!=typeof Set&&e instanceof Set?it.set:"undefined"!=typeof Date&&e instanceof Date?it.date:it.object;default:return it.unknown}},ot=Ke.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class st extends Error{constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const t=e||function(e){return e.message},n={_errors:[]},a=e=>{for(const i of e.issues)if("invalid_union"===i.code)i.unionErrors.map(a);else if("invalid_return_type"===i.code)a(i.returnTypeError);else if("invalid_arguments"===i.code)a(i.argumentsError);else if(0===i.path.length)n._errors.push(t(i));else{let e=n,a=0;for(;ae.message)){const t={},n=[];for(const a of this.issues)a.path.length>0?(t[a.path[0]]=t[a.path[0]]||[],t[a.path[0]].push(e(a))):n.push(e(a));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}}st.create=e=>new st(e);const ct=(e,t)=>{let n;switch(e.code){case ot.invalid_type:n=e.received===it.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case ot.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,Ke.jsonStringifyReplacer)}`;break;case ot.unrecognized_keys:n=`Unrecognized key(s) in object: ${Ke.joinValues(e.keys,", ")}`;break;case ot.invalid_union:n="Invalid input";break;case ot.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Ke.joinValues(e.options)}`;break;case ot.invalid_enum_value:n=`Invalid enum value. Expected ${Ke.joinValues(e.options)}, received '${e.received}'`;break;case ot.invalid_arguments:n="Invalid function arguments";break;case ot.invalid_return_type:n="Invalid function return type";break;case ot.invalid_date:n="Invalid date";break;case ot.invalid_string:"object"==typeof e.validation?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,"number"==typeof e.validation.position&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:Ke.assertNever(e.validation):n="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case ot.too_small:n="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:"date"===e.type?`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:"Invalid input";break;case ot.too_big:n="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"bigint"===e.type?`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"date"===e.type?`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:"Invalid input";break;case ot.custom:n="Invalid input";break;case ot.invalid_intersection_types:n="Intersection results could not be merged";break;case ot.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case ot.not_finite:n="Number must be finite";break;default:n=t.defaultError,Ke.assertNever(e)}return{message:n}};let lt=ct;function dt(){return lt}const ut=e=>{const{data:t,path:n,errorMaps:a,issueData:i}=e,r=[...n,...i.path||[]],o={...i,path:r};if(void 0!==i.message)return{...i,path:r,message:i.message};let s="";const c=a.filter((e=>!!e)).slice().reverse();for(const e of c)s=e(o,{data:t,defaultError:s}).message;return{...i,path:r,message:s}};function ht(e,t){const n=dt(),a=ut({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===ct?void 0:ct].filter((e=>!!e))});e.common.issues.push(a)}class pt{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(e,t){const n=[];for(const a of t){if("aborted"===a.status)return mt;"dirty"===a.status&&e.dirty(),n.push(a.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,t){const n=[];for(const e of t){const t=await e.key,a=await e.value;n.push({key:t,value:a})}return pt.mergeObjectSync(e,n)}static mergeObjectSync(e,t){const n={};for(const a of t){const{key:t,value:i}=a;if("aborted"===t.status)return mt;if("aborted"===i.status)return mt;"dirty"===t.status&&e.dirty(),"dirty"===i.status&&e.dirty(),"__proto__"===t.value||void 0===i.value&&!a.alwaysSet||(n[t.value]=i.value)}return{status:e.value,value:n}}}const mt=Object.freeze({status:"aborted"}),gt=e=>({status:"dirty",value:e}),ft=e=>({status:"valid",value:e}),_t=e=>"aborted"===e.status,vt=e=>"dirty"===e.status,yt=e=>"valid"===e.status,bt=e=>"undefined"!=typeof Promise&&e instanceof Promise;function wt(e,t,n,a){if("a"===n&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?a:"a"===n?a.call(e):a?a.value:t.get(e)}function xt(e,t,n,a,i){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?i.call(e,n):i?i.value=n:t.set(e,n),n}var Ct,Mt,kt;"function"==typeof SuppressedError&&SuppressedError,function(e){e.errToObj=e=>"string"==typeof e?{message:e}:e||{},e.toString=e=>"string"==typeof e?e:null==e?void 0:e.message}(Ct||(Ct={}));class St{constructor(e,t,n,a){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=a}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const Et=(e,t)=>{if(yt(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new st(e.common.issues);return this._error=t,this._error}}};function $t(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:a,description:i}=e;if(t&&(n||a))throw new Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');if(t)return{errorMap:t,description:i};return{errorMap:(t,i)=>{var r,o;const{message:s}=e;return"invalid_enum_value"===t.code?{message:null!=s?s:i.defaultError}:void 0===i.data?{message:null!==(r=null!=s?s:a)&&void 0!==r?r:i.defaultError}:"invalid_type"!==t.code?{message:i.defaultError}:{message:null!==(o=null!=s?s:n)&&void 0!==o?o:i.defaultError}},description:i}}class At{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return rt(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:rt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new pt,ctx:{common:e.parent.common,data:e.data,parsedType:rt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(bt(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){var n;const a={common:{issues:[],async:null!==(n=null==t?void 0:t.async)&&void 0!==n&&n,contextualErrorMap:null==t?void 0:t.errorMap},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:rt(e)},i=this._parseSync({data:e,path:a.path,parent:a});return Et(a,i)}async parseAsync(e,t){const n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){const n={common:{issues:[],contextualErrorMap:null==t?void 0:t.errorMap,async:!0},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:rt(e)},a=this._parse({data:e,path:n.path,parent:n}),i=await(bt(a)?a:Promise.resolve(a));return Et(n,i)}refine(e,t){const n=e=>"string"==typeof t||void 0===t?{message:t}:"function"==typeof t?t(e):t;return this._refinement(((t,a)=>{const i=e(t),r=()=>a.addIssue({code:ot.custom,...n(t)});return"undefined"!=typeof Promise&&i instanceof Promise?i.then((e=>!!e||(r(),!1))):!!i||(r(),!1)}))}refinement(e,t){return this._refinement(((n,a)=>!!e(n)||(a.addIssue("function"==typeof t?t(n,a):t),!1)))}_refinement(e){return new kn({schema:this,typeName:Pn.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return Sn.create(this,this._def)}nullable(){return En.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return on.create(this,this._def)}promise(){return Mn.create(this,this._def)}or(e){return ln.create([this,e],this._def)}and(e){return pn.create(this,e,this._def)}transform(e){return new kn({...$t(this._def),schema:this,typeName:Pn.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t="function"==typeof e?e:()=>e;return new $n({...$t(this._def),innerType:this,defaultValue:t,typeName:Pn.ZodDefault})}brand(){return new Tn({typeName:Pn.ZodBranded,type:this,...$t(this._def)})}catch(e){const t="function"==typeof e?e:()=>e;return new An({...$t(this._def),innerType:this,catchValue:t,typeName:Pn.ZodCatch})}describe(e){return new(0,this.constructor)({...this._def,description:e})}pipe(e){return jn.create(this,e)}readonly(){return On.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const zt=/^c[^\s-]{8,}$/i,It=/^[0-9a-z]+$/,Tt=/^[0-9A-HJKMNP-TV-Z]{26}$/,jt=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Ot=/^[a-z0-9_-]{21}$/i,Dt=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Rt=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i;let Pt;const Lt=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Nt=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,Ft=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Vt="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Ht=new RegExp(`^${Vt}$`);function Bt(e){let t="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return e.precision?t=`${t}\\.\\d{${e.precision}}`:null==e.precision&&(t=`${t}(\\.\\d+)?`),t}function qt(e){let t=`${Vt}T${Bt(e)}`;const n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function Ut(e,t){return!("v4"!==t&&t||!Lt.test(e))||!("v6"!==t&&t||!Nt.test(e))}class Wt extends At{_parse(e){this._def.coerce&&(e.data=String(e.data));if(this._getType(e)!==it.string){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.string,received:t.parsedType}),mt}const t=new pt;let n;for(const a of this._def.checks)if("min"===a.kind)e.data.lengtha.value&&(n=this._getOrReturnCtx(e,n),ht(n,{code:ot.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),t.dirty());else if("length"===a.kind){const i=e.data.length>a.value,r=e.data.lengthe.test(t)),{validation:t,code:ot.invalid_string,...Ct.errToObj(n)})}_addCheck(e){return new Wt({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...Ct.errToObj(e)})}url(e){return this._addCheck({kind:"url",...Ct.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...Ct.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...Ct.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...Ct.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...Ct.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...Ct.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...Ct.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...Ct.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...Ct.errToObj(e)})}datetime(e){var t,n;return"string"==typeof e?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision,offset:null!==(t=null==e?void 0:e.offset)&&void 0!==t&&t,local:null!==(n=null==e?void 0:e.local)&&void 0!==n&&n,...Ct.errToObj(null==e?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return"string"==typeof e?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision,...Ct.errToObj(null==e?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...Ct.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...Ct.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:null==t?void 0:t.position,...Ct.errToObj(null==t?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...Ct.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...Ct.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...Ct.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...Ct.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...Ct.errToObj(t)})}nonempty(e){return this.min(1,Ct.errToObj(e))}trim(){return new Wt({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Wt({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Wt({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((e=>"datetime"===e.kind))}get isDate(){return!!this._def.checks.find((e=>"date"===e.kind))}get isTime(){return!!this._def.checks.find((e=>"time"===e.kind))}get isDuration(){return!!this._def.checks.find((e=>"duration"===e.kind))}get isEmail(){return!!this._def.checks.find((e=>"email"===e.kind))}get isURL(){return!!this._def.checks.find((e=>"url"===e.kind))}get isEmoji(){return!!this._def.checks.find((e=>"emoji"===e.kind))}get isUUID(){return!!this._def.checks.find((e=>"uuid"===e.kind))}get isNANOID(){return!!this._def.checks.find((e=>"nanoid"===e.kind))}get isCUID(){return!!this._def.checks.find((e=>"cuid"===e.kind))}get isCUID2(){return!!this._def.checks.find((e=>"cuid2"===e.kind))}get isULID(){return!!this._def.checks.find((e=>"ulid"===e.kind))}get isIP(){return!!this._def.checks.find((e=>"ip"===e.kind))}get isBase64(){return!!this._def.checks.find((e=>"base64"===e.kind))}get minLength(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.valuea?n:a;return parseInt(e.toFixed(i).replace(".",""))%parseInt(t.toFixed(i).replace(".",""))/Math.pow(10,i)}Wt.create=e=>{var t;return new Wt({checks:[],typeName:Pn.ZodString,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t,...$t(e)})};class Qt extends At{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){this._def.coerce&&(e.data=Number(e.data));if(this._getType(e)!==it.number){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.number,received:t.parsedType}),mt}let t;const n=new pt;for(const a of this._def.checks)if("int"===a.kind)Ke.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.invalid_type,expected:"integer",received:"float",message:a.message}),n.dirty());else if("min"===a.kind){(a.inclusive?e.dataa.value:e.data>=a.value)&&(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),n.dirty())}else"multipleOf"===a.kind?0!==Zt(e.data,a.value)&&(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.not_multiple_of,multipleOf:a.value,message:a.message}),n.dirty()):"finite"===a.kind?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.not_finite,message:a.message}),n.dirty()):Ke.assertNever(a);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,Ct.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Ct.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Ct.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Ct.toString(t))}setLimit(e,t,n,a){return new Qt({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:Ct.toString(a)}]})}_addCheck(e){return new Qt({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:Ct.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:Ct.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:Ct.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:Ct.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:Ct.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Ct.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:Ct.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:Ct.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:Ct.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value"int"===e.kind||"multipleOf"===e.kind&&Ke.isInteger(e.value)))}get isFinite(){let e=null,t=null;for(const n of this._def.checks){if("finite"===n.kind||"int"===n.kind||"multipleOf"===n.kind)return!0;"min"===n.kind?(null===t||n.value>t)&&(t=n.value):"max"===n.kind&&(null===e||n.valuenew Qt({checks:[],typeName:Pn.ZodNumber,coerce:(null==e?void 0:e.coerce)||!1,...$t(e)});class Gt extends At{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){this._def.coerce&&(e.data=BigInt(e.data));if(this._getType(e)!==it.bigint){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.bigint,received:t.parsedType}),mt}let t;const n=new pt;for(const a of this._def.checks)if("min"===a.kind){(a.inclusive?e.dataa.value:e.data>=a.value)&&(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),n.dirty())}else"multipleOf"===a.kind?e.data%a.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.not_multiple_of,multipleOf:a.value,message:a.message}),n.dirty()):Ke.assertNever(a);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,Ct.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Ct.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Ct.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Ct.toString(t))}setLimit(e,t,n,a){return new Gt({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:Ct.toString(a)}]})}_addCheck(e){return new Gt({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:Ct.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:Ct.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:Ct.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:Ct.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Ct.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value{var t;return new Gt({checks:[],typeName:Pn.ZodBigInt,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t,...$t(e)})};class Yt extends At{_parse(e){this._def.coerce&&(e.data=Boolean(e.data));if(this._getType(e)!==it.boolean){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.boolean,received:t.parsedType}),mt}return ft(e.data)}}Yt.create=e=>new Yt({typeName:Pn.ZodBoolean,coerce:(null==e?void 0:e.coerce)||!1,...$t(e)});class Kt extends At{_parse(e){this._def.coerce&&(e.data=new Date(e.data));if(this._getType(e)!==it.date){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.date,received:t.parsedType}),mt}if(isNaN(e.data.getTime())){return ht(this._getOrReturnCtx(e),{code:ot.invalid_date}),mt}const t=new pt;let n;for(const a of this._def.checks)"min"===a.kind?e.data.getTime()a.value&&(n=this._getOrReturnCtx(e,n),ht(n,{code:ot.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),t.dirty()):Ke.assertNever(a);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(e){return new Kt({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:Ct.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:Ct.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return null!=e?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.valuenew Kt({checks:[],coerce:(null==e?void 0:e.coerce)||!1,typeName:Pn.ZodDate,...$t(e)});class Xt extends At{_parse(e){if(this._getType(e)!==it.symbol){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.symbol,received:t.parsedType}),mt}return ft(e.data)}}Xt.create=e=>new Xt({typeName:Pn.ZodSymbol,...$t(e)});class Jt extends At{_parse(e){if(this._getType(e)!==it.undefined){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.undefined,received:t.parsedType}),mt}return ft(e.data)}}Jt.create=e=>new Jt({typeName:Pn.ZodUndefined,...$t(e)});class en extends At{_parse(e){if(this._getType(e)!==it.null){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.null,received:t.parsedType}),mt}return ft(e.data)}}en.create=e=>new en({typeName:Pn.ZodNull,...$t(e)});class tn extends At{constructor(){super(...arguments),this._any=!0}_parse(e){return ft(e.data)}}tn.create=e=>new tn({typeName:Pn.ZodAny,...$t(e)});class nn extends At{constructor(){super(...arguments),this._unknown=!0}_parse(e){return ft(e.data)}}nn.create=e=>new nn({typeName:Pn.ZodUnknown,...$t(e)});class an extends At{_parse(e){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.never,received:t.parsedType}),mt}}an.create=e=>new an({typeName:Pn.ZodNever,...$t(e)});class rn extends At{_parse(e){if(this._getType(e)!==it.undefined){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.void,received:t.parsedType}),mt}return ft(e.data)}}rn.create=e=>new rn({typeName:Pn.ZodVoid,...$t(e)});class on extends At{_parse(e){const{ctx:t,status:n}=this._processInputParams(e),a=this._def;if(t.parsedType!==it.array)return ht(t,{code:ot.invalid_type,expected:it.array,received:t.parsedType}),mt;if(null!==a.exactLength){const e=t.data.length>a.exactLength.value,i=t.data.lengtha.maxLength.value&&(ht(t,{code:ot.too_big,maximum:a.maxLength.value,type:"array",inclusive:!0,exact:!1,message:a.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map(((e,n)=>a.type._parseAsync(new St(t,e,t.path,n))))).then((e=>pt.mergeArray(n,e)));const i=[...t.data].map(((e,n)=>a.type._parseSync(new St(t,e,t.path,n))));return pt.mergeArray(n,i)}get element(){return this._def.type}min(e,t){return new on({...this._def,minLength:{value:e,message:Ct.toString(t)}})}max(e,t){return new on({...this._def,maxLength:{value:e,message:Ct.toString(t)}})}length(e,t){return new on({...this._def,exactLength:{value:e,message:Ct.toString(t)}})}nonempty(e){return this.min(1,e)}}function sn(e){if(e instanceof cn){const t={};for(const n in e.shape){const a=e.shape[n];t[n]=Sn.create(sn(a))}return new cn({...e._def,shape:()=>t})}return e instanceof on?new on({...e._def,type:sn(e.element)}):e instanceof Sn?Sn.create(sn(e.unwrap())):e instanceof En?En.create(sn(e.unwrap())):e instanceof mn?mn.create(e.items.map((e=>sn(e)))):e}on.create=(e,t)=>new on({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Pn.ZodArray,...$t(t)});class cn extends At{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;const e=this._def.shape(),t=Ke.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==it.object){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.object,received:t.parsedType}),mt}const{status:t,ctx:n}=this._processInputParams(e),{shape:a,keys:i}=this._getCached(),r=[];if(!(this._def.catchall instanceof an&&"strip"===this._def.unknownKeys))for(const e in n.data)i.includes(e)||r.push(e);const o=[];for(const e of i){const t=a[e],i=n.data[e];o.push({key:{status:"valid",value:e},value:t._parse(new St(n,i,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof an){const e=this._def.unknownKeys;if("passthrough"===e)for(const e of r)o.push({key:{status:"valid",value:e},value:{status:"valid",value:n.data[e]}});else if("strict"===e)r.length>0&&(ht(n,{code:ot.unrecognized_keys,keys:r}),t.dirty());else if("strip"!==e)throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const e=this._def.catchall;for(const t of r){const a=n.data[t];o.push({key:{status:"valid",value:t},value:e._parse(new St(n,a,n.path,t)),alwaysSet:t in n.data})}}return n.common.async?Promise.resolve().then((async()=>{const e=[];for(const t of o){const n=await t.key,a=await t.value;e.push({key:n,value:a,alwaysSet:t.alwaysSet})}return e})).then((e=>pt.mergeObjectSync(t,e))):pt.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(e){return Ct.errToObj,new cn({...this._def,unknownKeys:"strict",...void 0!==e?{errorMap:(t,n)=>{var a,i,r,o;const s=null!==(r=null===(i=(a=this._def).errorMap)||void 0===i?void 0:i.call(a,t,n).message)&&void 0!==r?r:n.defaultError;return"unrecognized_keys"===t.code?{message:null!==(o=Ct.errToObj(e).message)&&void 0!==o?o:s}:{message:s}}}:{}})}strip(){return new cn({...this._def,unknownKeys:"strip"})}passthrough(){return new cn({...this._def,unknownKeys:"passthrough"})}extend(e){return new cn({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new cn({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:Pn.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new cn({...this._def,catchall:e})}pick(e){const t={};return Ke.objectKeys(e).forEach((n=>{e[n]&&this.shape[n]&&(t[n]=this.shape[n])})),new cn({...this._def,shape:()=>t})}omit(e){const t={};return Ke.objectKeys(this.shape).forEach((n=>{e[n]||(t[n]=this.shape[n])})),new cn({...this._def,shape:()=>t})}deepPartial(){return sn(this)}partial(e){const t={};return Ke.objectKeys(this.shape).forEach((n=>{const a=this.shape[n];e&&!e[n]?t[n]=a:t[n]=a.optional()})),new cn({...this._def,shape:()=>t})}required(e){const t={};return Ke.objectKeys(this.shape).forEach((n=>{if(e&&!e[n])t[n]=this.shape[n];else{let e=this.shape[n];for(;e instanceof Sn;)e=e._def.innerType;t[n]=e}})),new cn({...this._def,shape:()=>t})}keyof(){return wn(Ke.objectKeys(this.shape))}}cn.create=(e,t)=>new cn({shape:()=>e,unknownKeys:"strip",catchall:an.create(),typeName:Pn.ZodObject,...$t(t)}),cn.strictCreate=(e,t)=>new cn({shape:()=>e,unknownKeys:"strict",catchall:an.create(),typeName:Pn.ZodObject,...$t(t)}),cn.lazycreate=(e,t)=>new cn({shape:e,unknownKeys:"strip",catchall:an.create(),typeName:Pn.ZodObject,...$t(t)});class ln extends At{_parse(e){const{ctx:t}=this._processInputParams(e),n=this._def.options;if(t.common.async)return Promise.all(n.map((async e=>{const n={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}}))).then((function(e){for(const t of e)if("valid"===t.result.status)return t.result;for(const n of e)if("dirty"===n.result.status)return t.common.issues.push(...n.ctx.common.issues),n.result;const n=e.map((e=>new st(e.ctx.common.issues)));return ht(t,{code:ot.invalid_union,unionErrors:n}),mt}));{let e;const a=[];for(const i of n){const n={...t,common:{...t.common,issues:[]},parent:null},r=i._parseSync({data:t.data,path:t.path,parent:n});if("valid"===r.status)return r;"dirty"!==r.status||e||(e={result:r,ctx:n}),n.common.issues.length&&a.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;const i=a.map((e=>new st(e)));return ht(t,{code:ot.invalid_union,unionErrors:i}),mt}}get options(){return this._def.options}}ln.create=(e,t)=>new ln({options:e,typeName:Pn.ZodUnion,...$t(t)});const dn=e=>e instanceof yn?dn(e.schema):e instanceof kn?dn(e.innerType()):e instanceof bn?[e.value]:e instanceof xn?e.options:e instanceof Cn?Ke.objectValues(e.enum):e instanceof $n?dn(e._def.innerType):e instanceof Jt?[void 0]:e instanceof en?[null]:e instanceof Sn?[void 0,...dn(e.unwrap())]:e instanceof En?[null,...dn(e.unwrap())]:e instanceof Tn||e instanceof On?dn(e.unwrap()):e instanceof An?dn(e._def.innerType):[];class un extends At{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==it.object)return ht(t,{code:ot.invalid_type,expected:it.object,received:t.parsedType}),mt;const n=this.discriminator,a=t.data[n],i=this.optionsMap.get(a);return i?t.common.async?i._parseAsync({data:t.data,path:t.path,parent:t}):i._parseSync({data:t.data,path:t.path,parent:t}):(ht(t,{code:ot.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),mt)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,n){const a=new Map;for(const n of t){const t=dn(n.shape[e]);if(!t.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const i of t){if(a.has(i))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(i)}`);a.set(i,n)}}return new un({typeName:Pn.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:a,...$t(n)})}}function hn(e,t){const n=rt(e),a=rt(t);if(e===t)return{valid:!0,data:e};if(n===it.object&&a===it.object){const n=Ke.objectKeys(t),a=Ke.objectKeys(e).filter((e=>-1!==n.indexOf(e))),i={...e,...t};for(const n of a){const a=hn(e[n],t[n]);if(!a.valid)return{valid:!1};i[n]=a.data}return{valid:!0,data:i}}if(n===it.array&&a===it.array){if(e.length!==t.length)return{valid:!1};const n=[];for(let a=0;a{if(_t(e)||_t(a))return mt;const i=hn(e.value,a.value);return i.valid?((vt(e)||vt(a))&&t.dirty(),{status:t.value,value:i.data}):(ht(n,{code:ot.invalid_intersection_types}),mt)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then((([e,t])=>a(e,t))):a(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}}pn.create=(e,t,n)=>new pn({left:e,right:t,typeName:Pn.ZodIntersection,...$t(n)});class mn extends At{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==it.array)return ht(n,{code:ot.invalid_type,expected:it.array,received:n.parsedType}),mt;if(n.data.lengththis._def.items.length&&(ht(n,{code:ot.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const a=[...n.data].map(((e,t)=>{const a=this._def.items[t]||this._def.rest;return a?a._parse(new St(n,e,n.path,t)):null})).filter((e=>!!e));return n.common.async?Promise.all(a).then((e=>pt.mergeArray(t,e))):pt.mergeArray(t,a)}get items(){return this._def.items}rest(e){return new mn({...this._def,rest:e})}}mn.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new mn({items:e,typeName:Pn.ZodTuple,rest:null,...$t(t)})};class gn extends At{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==it.object)return ht(n,{code:ot.invalid_type,expected:it.object,received:n.parsedType}),mt;const a=[],i=this._def.keyType,r=this._def.valueType;for(const e in n.data)a.push({key:i._parse(new St(n,e,n.path,e)),value:r._parse(new St(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?pt.mergeObjectAsync(t,a):pt.mergeObjectSync(t,a)}get element(){return this._def.valueType}static create(e,t,n){return new gn(t instanceof At?{keyType:e,valueType:t,typeName:Pn.ZodRecord,...$t(n)}:{keyType:Wt.create(),valueType:e,typeName:Pn.ZodRecord,...$t(t)})}}class fn extends At{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==it.map)return ht(n,{code:ot.invalid_type,expected:it.map,received:n.parsedType}),mt;const a=this._def.keyType,i=this._def.valueType,r=[...n.data.entries()].map((([e,t],r)=>({key:a._parse(new St(n,e,n.path,[r,"key"])),value:i._parse(new St(n,t,n.path,[r,"value"]))})));if(n.common.async){const e=new Map;return Promise.resolve().then((async()=>{for(const n of r){const a=await n.key,i=await n.value;if("aborted"===a.status||"aborted"===i.status)return mt;"dirty"!==a.status&&"dirty"!==i.status||t.dirty(),e.set(a.value,i.value)}return{status:t.value,value:e}}))}{const e=new Map;for(const n of r){const a=n.key,i=n.value;if("aborted"===a.status||"aborted"===i.status)return mt;"dirty"!==a.status&&"dirty"!==i.status||t.dirty(),e.set(a.value,i.value)}return{status:t.value,value:e}}}}fn.create=(e,t,n)=>new fn({valueType:t,keyType:e,typeName:Pn.ZodMap,...$t(n)});class _n extends At{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==it.set)return ht(n,{code:ot.invalid_type,expected:it.set,received:n.parsedType}),mt;const a=this._def;null!==a.minSize&&n.data.sizea.maxSize.value&&(ht(n,{code:ot.too_big,maximum:a.maxSize.value,type:"set",inclusive:!0,exact:!1,message:a.maxSize.message}),t.dirty());const i=this._def.valueType;function r(e){const n=new Set;for(const a of e){if("aborted"===a.status)return mt;"dirty"===a.status&&t.dirty(),n.add(a.value)}return{status:t.value,value:n}}const o=[...n.data.values()].map(((e,t)=>i._parse(new St(n,e,n.path,t))));return n.common.async?Promise.all(o).then((e=>r(e))):r(o)}min(e,t){return new _n({...this._def,minSize:{value:e,message:Ct.toString(t)}})}max(e,t){return new _n({...this._def,maxSize:{value:e,message:Ct.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}_n.create=(e,t)=>new _n({valueType:e,minSize:null,maxSize:null,typeName:Pn.ZodSet,...$t(t)});class vn extends At{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==it.function)return ht(t,{code:ot.invalid_type,expected:it.function,received:t.parsedType}),mt;function n(e,n){return ut({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,dt(),ct].filter((e=>!!e)),issueData:{code:ot.invalid_arguments,argumentsError:n}})}function a(e,n){return ut({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,dt(),ct].filter((e=>!!e)),issueData:{code:ot.invalid_return_type,returnTypeError:n}})}const i={errorMap:t.common.contextualErrorMap},r=t.data;if(this._def.returns instanceof Mn){const e=this;return ft((async function(...t){const o=new st([]),s=await e._def.args.parseAsync(t,i).catch((e=>{throw o.addIssue(n(t,e)),o})),c=await Reflect.apply(r,this,s),l=await e._def.returns._def.type.parseAsync(c,i).catch((e=>{throw o.addIssue(a(c,e)),o}));return l}))}{const e=this;return ft((function(...t){const o=e._def.args.safeParse(t,i);if(!o.success)throw new st([n(t,o.error)]);const s=Reflect.apply(r,this,o.data),c=e._def.returns.safeParse(s,i);if(!c.success)throw new st([a(s,c.error)]);return c.data}))}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new vn({...this._def,args:mn.create(e).rest(nn.create())})}returns(e){return new vn({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,n){return new vn({args:e||mn.create([]).rest(nn.create()),returns:t||nn.create(),typeName:Pn.ZodFunction,...$t(n)})}}class yn extends At{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}yn.create=(e,t)=>new yn({getter:e,typeName:Pn.ZodLazy,...$t(t)});class bn extends At{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return ht(t,{received:t.data,code:ot.invalid_literal,expected:this._def.value}),mt}return{status:"valid",value:e.data}}get value(){return this._def.value}}function wn(e,t){return new xn({values:e,typeName:Pn.ZodEnum,...$t(t)})}bn.create=(e,t)=>new bn({value:e,typeName:Pn.ZodLiteral,...$t(t)});class xn extends At{constructor(){super(...arguments),Mt.set(this,void 0)}_parse(e){if("string"!=typeof e.data){const t=this._getOrReturnCtx(e),n=this._def.values;return ht(t,{expected:Ke.joinValues(n),received:t.parsedType,code:ot.invalid_type}),mt}if(wt(this,Mt,"f")||xt(this,Mt,new Set(this._def.values),"f"),!wt(this,Mt,"f").has(e.data)){const t=this._getOrReturnCtx(e),n=this._def.values;return ht(t,{received:t.data,code:ot.invalid_enum_value,options:n}),mt}return ft(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return xn.create(e,{...this._def,...t})}exclude(e,t=this._def){return xn.create(this.options.filter((t=>!e.includes(t))),{...this._def,...t})}}Mt=new WeakMap,xn.create=wn;class Cn extends At{constructor(){super(...arguments),kt.set(this,void 0)}_parse(e){const t=Ke.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==it.string&&n.parsedType!==it.number){const e=Ke.objectValues(t);return ht(n,{expected:Ke.joinValues(e),received:n.parsedType,code:ot.invalid_type}),mt}if(wt(this,kt,"f")||xt(this,kt,new Set(Ke.getValidEnumValues(this._def.values)),"f"),!wt(this,kt,"f").has(e.data)){const e=Ke.objectValues(t);return ht(n,{received:n.data,code:ot.invalid_enum_value,options:e}),mt}return ft(e.data)}get enum(){return this._def.values}}kt=new WeakMap,Cn.create=(e,t)=>new Cn({values:e,typeName:Pn.ZodNativeEnum,...$t(t)});class Mn extends At{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==it.promise&&!1===t.common.async)return ht(t,{code:ot.invalid_type,expected:it.promise,received:t.parsedType}),mt;const n=t.parsedType===it.promise?t.data:Promise.resolve(t.data);return ft(n.then((e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap}))))}}Mn.create=(e,t)=>new Mn({type:e,typeName:Pn.ZodPromise,...$t(t)});class kn extends At{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Pn.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:n}=this._processInputParams(e),a=this._def.effect||null,i={addIssue:e=>{ht(n,e),e.fatal?t.abort():t.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),"preprocess"===a.type){const e=a.transform(n.data,i);if(n.common.async)return Promise.resolve(e).then((async e=>{if("aborted"===t.value)return mt;const a=await this._def.schema._parseAsync({data:e,path:n.path,parent:n});return"aborted"===a.status?mt:"dirty"===a.status||"dirty"===t.value?gt(a.value):a}));{if("aborted"===t.value)return mt;const a=this._def.schema._parseSync({data:e,path:n.path,parent:n});return"aborted"===a.status?mt:"dirty"===a.status||"dirty"===t.value?gt(a.value):a}}if("refinement"===a.type){const e=e=>{const t=a.refinement(e,i);if(n.common.async)return Promise.resolve(t);if(t instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1===n.common.async){const a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return"aborted"===a.status?mt:("dirty"===a.status&&t.dirty(),e(a.value),{status:t.value,value:a.value})}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then((n=>"aborted"===n.status?mt:("dirty"===n.status&&t.dirty(),e(n.value).then((()=>({status:t.value,value:n.value}))))))}if("transform"===a.type){if(!1===n.common.async){const e=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!yt(e))return e;const r=a.transform(e.value,i);if(r instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:r}}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then((e=>yt(e)?Promise.resolve(a.transform(e.value,i)).then((e=>({status:t.value,value:e}))):e))}Ke.assertNever(a)}}kn.create=(e,t,n)=>new kn({schema:e,typeName:Pn.ZodEffects,effect:t,...$t(n)}),kn.createWithPreprocess=(e,t,n)=>new kn({schema:t,effect:{type:"preprocess",transform:e},typeName:Pn.ZodEffects,...$t(n)});class Sn extends At{_parse(e){return this._getType(e)===it.undefined?ft(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Sn.create=(e,t)=>new Sn({innerType:e,typeName:Pn.ZodOptional,...$t(t)});class En extends At{_parse(e){return this._getType(e)===it.null?ft(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}En.create=(e,t)=>new En({innerType:e,typeName:Pn.ZodNullable,...$t(t)});class $n extends At{_parse(e){const{ctx:t}=this._processInputParams(e);let n=t.data;return t.parsedType===it.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}$n.create=(e,t)=>new $n({innerType:e,typeName:Pn.ZodDefault,defaultValue:"function"==typeof t.default?t.default:()=>t.default,...$t(t)});class An extends At{_parse(e){const{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},a=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return bt(a)?a.then((e=>({status:"valid",value:"valid"===e.status?e.value:this._def.catchValue({get error(){return new st(n.common.issues)},input:n.data})}))):{status:"valid",value:"valid"===a.status?a.value:this._def.catchValue({get error(){return new st(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}An.create=(e,t)=>new An({innerType:e,typeName:Pn.ZodCatch,catchValue:"function"==typeof t.catch?t.catch:()=>t.catch,...$t(t)});class zn extends At{_parse(e){if(this._getType(e)!==it.nan){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.nan,received:t.parsedType}),mt}return{status:"valid",value:e.data}}}zn.create=e=>new zn({typeName:Pn.ZodNaN,...$t(e)});const In=Symbol("zod_brand");class Tn extends At{_parse(e){const{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}}class jn extends At{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.common.async){return(async()=>{const e=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return"aborted"===e.status?mt:"dirty"===e.status?(t.dirty(),gt(e.value)):this._def.out._parseAsync({data:e.value,path:n.path,parent:n})})()}{const e=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return"aborted"===e.status?mt:"dirty"===e.status?(t.dirty(),{status:"dirty",value:e.value}):this._def.out._parseSync({data:e.value,path:n.path,parent:n})}}static create(e,t){return new jn({in:e,out:t,typeName:Pn.ZodPipeline})}}class On extends At{_parse(e){const t=this._def.innerType._parse(e),n=e=>(yt(e)&&(e.value=Object.freeze(e.value)),e);return bt(t)?t.then((e=>n(e))):n(t)}unwrap(){return this._def.innerType}}function Dn(e,t={},n){return e?tn.create().superRefine(((a,i)=>{var r,o;if(!e(a)){const e="function"==typeof t?t(a):"string"==typeof t?{message:t}:t,s=null===(o=null!==(r=e.fatal)&&void 0!==r?r:n)||void 0===o||o,c="string"==typeof e?{message:e}:e;i.addIssue({code:"custom",...c,fatal:s})}})):tn.create()}On.create=(e,t)=>new On({innerType:e,typeName:Pn.ZodReadonly,...$t(t)});const Rn={object:cn.lazycreate};var Pn;!function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"}(Pn||(Pn={}));const Ln=Wt.create,Nn=Qt.create,Fn=zn.create,Vn=Gt.create,Hn=Yt.create,Bn=Kt.create,qn=Xt.create,Un=Jt.create,Wn=en.create,Zn=tn.create,Qn=nn.create,Gn=an.create,Yn=rn.create,Kn=on.create,Xn=cn.create,Jn=cn.strictCreate,ea=ln.create,ta=un.create,na=pn.create,aa=mn.create,ia=gn.create,ra=fn.create,oa=_n.create,sa=vn.create,ca=yn.create,la=bn.create,da=xn.create,ua=Cn.create,ha=Mn.create,pa=kn.create,ma=Sn.create,ga=En.create,fa=kn.createWithPreprocess,_a=jn.create,va={string:e=>Wt.create({...e,coerce:!0}),number:e=>Qt.create({...e,coerce:!0}),boolean:e=>Yt.create({...e,coerce:!0}),bigint:e=>Gt.create({...e,coerce:!0}),date:e=>Kt.create({...e,coerce:!0})},ya=mt;var ba=Object.freeze({__proto__:null,defaultErrorMap:ct,setErrorMap:function(e){lt=e},getErrorMap:dt,makeIssue:ut,EMPTY_PATH:[],addIssueToContext:ht,ParseStatus:pt,INVALID:mt,DIRTY:gt,OK:ft,isAborted:_t,isDirty:vt,isValid:yt,isAsync:bt,get util(){return Ke},get objectUtil(){return Xe},ZodParsedType:it,getParsedType:rt,ZodType:At,datetimeRegex:qt,ZodString:Wt,ZodNumber:Qt,ZodBigInt:Gt,ZodBoolean:Yt,ZodDate:Kt,ZodSymbol:Xt,ZodUndefined:Jt,ZodNull:en,ZodAny:tn,ZodUnknown:nn,ZodNever:an,ZodVoid:rn,ZodArray:on,ZodObject:cn,ZodUnion:ln,ZodDiscriminatedUnion:un,ZodIntersection:pn,ZodTuple:mn,ZodRecord:gn,ZodMap:fn,ZodSet:_n,ZodFunction:vn,ZodLazy:yn,ZodLiteral:bn,ZodEnum:xn,ZodNativeEnum:Cn,ZodPromise:Mn,ZodEffects:kn,ZodTransformer:kn,ZodOptional:Sn,ZodNullable:En,ZodDefault:$n,ZodCatch:An,ZodNaN:zn,BRAND:In,ZodBranded:Tn,ZodPipeline:jn,ZodReadonly:On,custom:Dn,Schema:At,ZodSchema:At,late:Rn,get ZodFirstPartyTypeKind(){return Pn},coerce:va,any:Zn,array:Kn,bigint:Vn,boolean:Hn,date:Bn,discriminatedUnion:ta,effect:pa,enum:da,function:sa,instanceof:(e,t={message:`Input not instance of ${e.name}`})=>Dn((t=>t instanceof e),t),intersection:na,lazy:ca,literal:la,map:ra,nan:Fn,nativeEnum:ua,never:Gn,null:Wn,nullable:ga,number:Nn,object:Xn,oboolean:()=>Hn().optional(),onumber:()=>Nn().optional(),optional:ma,ostring:()=>Ln().optional(),pipeline:_a,preprocess:fa,promise:ha,record:ia,set:oa,strictObject:Jn,string:Ln,symbol:qn,transformer:pa,tuple:aa,undefined:Un,union:ea,unknown:Qn,void:Yn,NEVER:ya,ZodIssueCode:ot,quotelessJson:e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),ZodError:st});const wa="https://github.com/dermotduffy/frigate-hass-card",xa=`${wa}#troubleshooting`,Ca="cameras",Ma=`${Ca}.#.camera_entity`,ka=`${Ca}.#.frigate.camera_name`,Sa=`${Ca}.#.capabilities.disable`,Ea=`${Ca}.#.capabilities.disable_except`,$a=`${Ca}.#.cast.method`,Aa=`${Ca}.#.cast.dashboard.dashboard_path`,za=`${Ca}.#.cast.dashboard.view_path`,Ia=`${Ca}.#.dimensions.aspect_ratio`,Ta=`${Ca}.#.frigate.client_id`,ja=`${Ca}.#.frigate.labels`,Oa=`${Ca}.#.frigate.url`,Da=`${Ca}.#.frigate.zones`,Ra=`${Ca}.#.go2rtc.modes`,Pa=`${Ca}.#.go2rtc.stream`,La=`${Ca}.#.icon`,Na=`${Ca}.#.id`,Fa=`${Ca}.#.image.entity`,Va=`${Ca}.#.image.entity_parameters`,Ha=`${Ca}.#.image.mode`,Ba=`${Ca}.#.image.refresh_seconds`,qa=`${Ca}.#.image.url`,Ua=`${Ca}.#.motioneye.images.directory_pattern`,Wa=`${Ca}.#.motioneye.images.file_pattern`,Za=`${Ca}.#.motioneye.movies.directory_pattern`,Qa=`${Ca}.#.motioneye.movies.file_pattern`,Ga=`${Ca}.#.motioneye.url`,Ya=`${Ca}.#.title`,Ka=`${Ca}.#.webrtc_card.entity`,Xa=`${Ca}.#.webrtc_card.url`,Ja=`${Ca}.#.live_provider`,ei=`${Ca}.#.dependencies.cameras`,ti=`${Ca}.#.dependencies.all_cameras`,ni=`${Ca}.#.dimensions.layout.fit`,ai=`${Ca}.#.dimensions.layout.pan.x`,ii=`${Ca}.#.dimensions.layout.pan.y`,ri=`${Ca}.#.dimensions.layout.position.x`,oi=`${Ca}.#.dimensions.layout.position.y`,si=`${Ca}.#.dimensions.layout.view_box.top`,ci=`${Ca}.#.dimensions.layout.view_box.bottom`,li=`${Ca}.#.dimensions.layout.view_box.left`,di=`${Ca}.#.dimensions.layout.view_box.right`,ui=`${Ca}.#.dimensions.layout.zoom`,hi=`${Ca}.#.proxy.dynamic`,pi=`${Ca}.#.proxy.media`,mi=`${Ca}.#.proxy.ssl_ciphers`,gi=`${Ca}.#.proxy.ssl_verification`,fi=`${Ca}.#.reolink.media_resolution`,_i=`${Ca}.#.reolink.url`,vi=`${Ca}.#.triggers.motion`,yi=`${Ca}.#.triggers.occupancy`,bi=`${Ca}.#.triggers.entities`,wi=`${Ca}.#.triggers.events`,xi="cameras_global",Ci=`${xi}.image`,Mi=`${xi}.live_provider`,ki=`${xi}.jsmpeg`,Si=`${xi}.webrtc_card`,Ei=`${xi}.triggers.occupancy`,$i=`${xi}.image.refresh_seconds`,Ai=`${xi}.dimensions.layout`,zi=`${xi}.ptz`,Ii="elements",Ti="view",ji=`${Ti}.camera_select`,Oi=`${Ti}.dark_mode`,Di=`${Ti}.default`,Ri=`${Ti}.interaction_seconds`,Pi=`${Ti}.keyboard_shortcuts`,Li=`${Ti}.keyboard_shortcuts.enabled`,Ni=`${Pi}.ptz_left`,Fi=`${Pi}.ptz_right`,Vi=`${Pi}.ptz_up`,Hi=`${Pi}.ptz_down`,Bi=`${Pi}.ptz_zoom_in`,qi=`${Pi}.ptz_zoom_out`,Ui=`${Pi}.ptz_home`,Wi=`${Ti}.default_cycle_camera`,Zi=`${Ti}.default_reset`,Qi=`${Zi}.interaction_mode`,Gi=`${Zi}.every_seconds`,Yi=`${Zi}.entities`,Ki=`${Zi}.after_interaction`,Xi=`${Ti}.triggers`,Ji=`${Xi}.show_trigger_status`,er=`${Xi}.filter_selected_camera`,tr=`${Xi}.untrigger_seconds`,nr=`${Xi}.actions`,ar=`${nr}.trigger`,ir=`${nr}.untrigger`,rr=`${nr}.interaction_mode`,or="media_gallery",sr=`${or}.controls.filter.mode`,cr=`${or}.controls.thumbnails.show_details`,lr=`${or}.controls.thumbnails.show_download_control`,dr=`${or}.controls.thumbnails.show_favorite_control`,ur=`${or}.controls.thumbnails.show_timeline_control`,hr=`${or}.controls.thumbnails.size`,pr="media_viewer",mr=`${pr}.auto_play`,gr=`${pr}.auto_pause`,fr=`${pr}.auto_mute`,_r=`${pr}.auto_unmute`,vr=`${pr}.display.mode`,yr=`${pr}.display.grid_columns`,br=`${pr}.display.grid_max_columns`,wr=`${pr}.display.grid_selected_width_factor`,xr=`${pr}.draggable`,Cr=`${pr}.lazy_load`,Mr=`${pr}.snapshot_click_plays_clip`,kr=`${pr}.transition_effect`,Sr=`${pr}.controls.builtin`,Er=`${pr}.controls.next_previous.style`,$r=`${pr}.controls.next_previous.size`,Ar=`${pr}.controls.thumbnails.mode`,zr=`${pr}.controls.thumbnails.show_details`,Ir=`${pr}.controls.thumbnails.show_download_control`,Tr=`${pr}.controls.thumbnails.show_favorite_control`,jr=`${pr}.controls.thumbnails.show_timeline_control`,Or=`${pr}.controls.thumbnails.size`,Dr=`${pr}.controls.timeline.clustering_threshold`,Rr=`${pr}.controls.timeline.events_media_type`,Pr=`${pr}.controls.timeline.mode`,Lr=`${pr}.controls.timeline.pan_mode`,Nr=`${pr}.controls.timeline.show_recordings`,Fr=`${pr}.controls.timeline.style`,Vr=`${pr}.controls.timeline.window_seconds`,Hr=`${pr}.zoomable`,Br="live",qr=`${Br}.auto_play`,Ur=`${Br}.auto_pause`,Wr=`${Br}.auto_mute`,Zr=`${Br}.auto_unmute`,Qr=`${Br}.controls.builtin`,Gr=`${Br}.controls.next_previous.style`,Yr=`${Br}.controls.next_previous.size`,Kr=`${Br}.controls.ptz.hide_home`,Xr=`${Br}.controls.ptz.hide_pan_tilt`,Jr=`${Br}.controls.ptz.hide_zoom`,eo=`${Br}.controls.ptz.mode`,to=`${Br}.controls.ptz.orientation`,no=`${Br}.controls.ptz.position`,ao=`${Br}.controls.thumbnails.media_type`,io=`${Br}.controls.thumbnails.events_media_type`,ro=`${Br}.controls.thumbnails.mode`,oo=`${Br}.controls.thumbnails.size`,so=`${Br}.controls.thumbnails.show_details`,co=`${Br}.controls.thumbnails.show_download_control`,lo=`${Br}.controls.thumbnails.show_favorite_control`,uo=`${Br}.controls.thumbnails.show_timeline_control`,ho=`${Br}.controls.timeline.clustering_threshold`,po=`${Br}.controls.timeline.events_media_type`,mo=`${Br}.controls.timeline.mode`,go=`${Br}.controls.timeline.pan_mode`,fo=`${Br}.controls.timeline.show_recordings`,_o=`${Br}.controls.timeline.style`,vo=`${Br}.controls.timeline.window_seconds`,yo=`${Br}.display.mode`,bo=`${Br}.display.grid_columns`,wo=`${Br}.display.grid_max_columns`,xo=`${Br}.display.grid_selected_width_factor`,Co=`${Br}.draggable`,Mo=`${Br}.lazy_load`,ko=`${Br}.lazy_unload`,So=`${Br}.preload`,Eo=`${Br}.transition_effect`,$o=`${Br}.show_image_during_load`,Ao=`${Br}.microphone.disconnect_seconds`,zo=`${Br}.microphone.mute_after_microphone_mute_seconds`,Io=`${Br}.microphone.always_connected`,To=`${Br}.zoomable`,jo="image",Oo=`${jo}.entity`,Do=`${jo}.entity_parameters`,Ro=`${jo}.mode`,Po=`${jo}.refresh_seconds`,Lo=`${jo}.url`,No="timeline",Fo=`${No}.window_seconds`,Vo=`${No}.clustering_threshold`,Ho=`${No}.events_media_type`,Bo=`${No}.show_recordings`,qo=`${No}.style`,Uo=`${No}.controls.thumbnails.mode`,Wo=`${No}.controls.thumbnails.size`,Zo=`${No}.controls.thumbnails.show_details`,Qo=`${No}.controls.thumbnails.show_download_control`,Go=`${No}.controls.thumbnails.show_favorite_control`,Yo=`${No}.controls.thumbnails.show_timeline_control`,Ko="menu",Xo=`${Ko}.alignment`,Jo=`${Ko}.position`,es=`${Ko}.style`,ts=`${Ko}.button_size`,ns=`${Ko}.buttons`,as=`${ns}.frigate`,is=`${ns}.camera_ui`,rs=`${ns}.fullscreen`,os=`${ns}.play`,ss=`${ns}.mute`,cs=`${ns}.media_player`,ls=`${ns}.timeline`,ds="status_bar",us=`${ds}.position`,hs=`${ds}.style`,ps=`${ds}.popup_seconds`,ms=`${ds}.height`,gs=`${ds}.items`,fs="dimensions",_s=`${fs}.aspect_ratio`,vs=`${fs}.aspect_ratio_mode`,ys=`${fs}.height`,bs="overrides",ws="performance",xs=`${ws}.features.animated_progress_indicator`,Cs=`${ws}.features.media_chunk_size`,Ms=`${ws}.features.max_simultaneous_engine_requests`,ks=`${ws}.profile`,Ss=`${ws}.style.box_shadow`,Es=`${ws}.style.border_radius`,$s="profiles",As=1e3;class zs extends Error{constructor(e,t){super(e),this.context=t}}const Is={info:10,error:20,connection:30,diagnostics:40},Ts=["clips","favorite-events","favorite-recordings","live","menu","ptz","recordings","seek","snapshots","substream"],js=ba.object({url:ba.string(),mime_type:ba.string()}),Os=ba.object({path:ba.string()});function Ds(e){if(e instanceof ba.ZodDefault)return Ds(e.removeDefault());if(e instanceof ba.ZodObject){const t={};for(const n in e.shape){const a=e.shape[n];t[n]=ba.ZodOptional.create(Ds(a))}return new ba.ZodObject({...e._def,shape:()=>t})}return e instanceof ba.ZodArray?ba.ZodArray.create(Ds(e.element)).min(e._def.minLength?.value,e._def.minLength?.message).max(e._def.maxLength?.value,e._def.maxLength?.message).length(e._def.exactLength?.value,e._def.exactLength?.message):e instanceof ba.ZodOptional?ba.ZodOptional.create(Ds(e.unwrap())):e instanceof ba.ZodNullable?ba.ZodNullable.create(Ds(e.unwrap())):e instanceof ba.ZodTuple?ba.ZodTuple.create(e.items.map((e=>Ds(e)))):e}function Rs(e){const t=e.format();return Object.keys(t).filter((e=>!e.startsWith("_")))}const Ps=e=>{const t=new Set;if(e.issues.length)for(const n of e.issues)if("invalid_union"===n.code){const e=n.unionErrors;for(const n of e)Ps(n).forEach(t.add,t)}else t.add(Ls(n.path));return t},Ls=e=>{let t="";for(let n=0;n"fire-dom-event")).or(ba.literal("fire-dom-event")),card_id:ba.string().regex(tc,"card_id parameter can only contain [a-z][A-Z][0-9_]-").optional()}),_c=fc.extend({frigate_card_action:ba.enum(Zs)}),vc=fc.extend({frigate_card_action:ba.enum(["camera_ui","default","download","expand","fullscreen","live_substream_off","live_substream_on","menu_toggle","microphone_connect","microphone_disconnect","microphone_mute","microphone_unmute","mute","pause","play","screenshot","unmute"])}),yc=fc.extend({frigate_card_action:ba.literal("camera_select"),camera:ba.string().optional(),triggered:ba.boolean().optional()}),bc=fc.extend({frigate_card_action:ba.literal("live_substream_select"),camera:ba.string()}),wc=fc.extend({frigate_card_action:ba.literal("media_player"),media_player:ba.string(),media_player_action:ba.enum(["play","stop"])}),xc=fc.extend({frigate_card_action:ba.literal("display_mode_select"),display_mode:ic}),Cc=fc.extend({frigate_card_action:ba.literal("ptz"),camera:ba.string().optional(),ptz_action:ba.enum(Hs).optional(),ptz_phase:ba.enum(Js).optional(),ptz_preset:ba.string().optional()}),Mc=fc.extend({frigate_card_action:ba.literal("ptz_digital"),target_id:ba.string().optional(),absolute:ba.object({zoom:ac.optional(),pan:nc.optional()}).optional(),ptz_action:ba.enum(Hs).optional(),ptz_phase:ba.enum(Js).optional()}),kc=fc.extend({frigate_card_action:ba.literal("ptz_multi"),target_id:ba.string().optional(),ptz_action:ba.enum(Hs).optional(),ptz_phase:ba.enum(Js).optional(),ptz_preset:ba.string().optional()}),Sc=fc.extend({frigate_card_action:ba.literal("ptz_controls"),enabled:ba.boolean()}),Ec=ba.object({ms:ba.number().optional(),s:ba.number().optional(),m:ba.number().optional(),h:ba.number().optional()}),$c=fc.extend({frigate_card_action:ba.literal("sleep"),duration:Ec.optional().default({s:1})}),Ac=fc.extend({frigate_card_action:ba.literal("status_bar"),status_bar_action:ba.enum(["add","remove","reset"]),items:ba.lazy((()=>ol)).array().optional()}),zc=fc.extend({frigate_card_action:ba.literal("log"),message:ba.string(),level:ba.enum(["debug","info","warn","error"]).default("info")}),Ic=ba.union([yc,vc,bc,zc,wc,Cc,Mc,kc,Sc,_c,xc,$c,Ac]),Tc=ba.union([sc,dc,lc,uc,hc,pc,gc,mc,Ic]),jc=ba.object({tap_action:Tc.or(Tc.array()).optional(),hold_action:Tc.or(Tc.array()).optional(),double_tap_action:Tc.or(Tc.array()).optional(),start_tap_action:Tc.or(Tc.array()).optional(),end_tap_action:Tc.or(Tc.array()).optional()}).passthrough(),Oc=ba.object({actions:jc.optional()}),Dc=jc.extend({style:ba.record(ba.string().nullable().or(ba.undefined()).or(ba.number())).optional(),title:ba.string().nullable().optional()}),Rc=Dc.extend({type:ba.literal("state-badge"),entity:ba.string()}),Pc=Dc.extend({type:ba.literal("state-icon"),entity:ba.string(),icon:ba.string().optional(),state_color:ba.boolean().default(!0)}),Lc=Dc.extend({type:ba.literal("state-label"),entity:ba.string(),attribute:ba.string().optional(),prefix:ba.string().optional(),suffix:ba.string().optional()}),Nc=Dc.extend({type:ba.literal("service-button"),title:ba.string(),service:ba.string(),service_data:ba.object({}).passthrough().optional()}),Fc=Dc.extend({type:ba.literal("icon"),icon:ba.string(),entity:ba.string().optional()}),Vc=Dc.extend({type:ba.literal("image"),entity:ba.string().optional(),image:ba.string().optional(),camera_image:ba.string().optional(),camera_view:ba.string().optional(),state_image:ba.object({}).passthrough().optional(),filter:ba.string().optional(),state_filter:ba.object({}).passthrough().optional(),aspect_ratio:ba.string().optional()}),Hc=ba.object({condition:ba.literal("state").optional(),entity:ba.string(),state:ba.string().or(ba.string().array()).optional(),state_not:ba.string().or(ba.string().array()).optional()}),Bc=ba.object({condition:ba.literal("numeric_state"),entity:ba.string(),above:ba.number().optional(),below:ba.number().optional()}),qc=ba.object({condition:ba.literal("screen"),media_query:ba.string()}),Uc=ba.object({condition:ba.literal("user"),users:ba.string().array().min(1)}),Wc=ba.discriminatedUnion("condition",[Hc,Bc,qc,Uc]),Zc=ba.object({type:ba.literal("conditional"),conditions:Wc.array(),elements:ba.lazy((()=>yl))}),Qc=ba.object({type:ba.string().superRefine(((e,t)=>{e.match(/^custom:(?!frigate-card).+/)||t.addIssue({code:ba.ZodIssueCode.custom,message:"Frigate-card custom elements must match specific schemas",fatal:!0})}))}).passthrough(),Gc=ba.object({enabled:ba.boolean().default(!0).optional(),priority:ba.number().min(0).max(Us).default(50).optional(),alignment:ba.enum(["matching","opposing"]).default("matching").optional(),icon:ba.string().optional(),permanent:ba.boolean().default(!1).optional()}),Yc=Gc.merge(Fc).extend({type:ba.literal("custom:frigate-card-menu-icon")}),Kc=Gc.merge(Pc).extend({type:ba.literal("custom:frigate-card-menu-state-icon")}).merge(Gc),Xc=Dc.extend({entity:ba.string().optional(),icon:ba.string().optional(),state_color:ba.boolean().default(!0),selected:ba.boolean().default(!1),subtitle:ba.string().optional(),enabled:ba.boolean().default(!0)}),Jc=Gc.merge(Fc).extend({type:ba.literal("custom:frigate-card-menu-submenu"),items:Xc.array()}),el=Gc.merge(Pc).extend({type:ba.literal("custom:frigate-card-menu-submenu-select"),options:ba.record(Xc.deepPartial()).optional()}),tl=ba.object({enabled:ba.boolean().default(!0).optional(),priority:ba.number().min(0).max(100).default(50).optional()}),nl=tl.extend({sufficient:ba.boolean().default(!1).optional(),exclusive:ba.boolean().default(!1).optional(),expand:ba.boolean().default(!1).optional(),actions:jc.optional()}),al=nl.extend({type:ba.literal("custom:frigate-card-status-bar-icon"),icon:ba.string()}),il=nl.extend({type:ba.literal("custom:frigate-card-status-bar-image"),image:ba.string()}),rl=nl.extend({type:ba.literal("custom:frigate-card-status-bar-string"),string:ba.string()}),ol=ba.union([al,il,rl]),sl=ba.object({condition:ba.literal("view"),views:ba.string().array()}),cl=ba.object({condition:ba.literal("fullscreen"),fullscreen:ba.boolean()}),ll=ba.object({condition:ba.literal("expand"),expand:ba.boolean()}),dl=ba.object({condition:ba.literal("camera"),cameras:ba.string().array()}),ul=ba.object({condition:ba.literal("media_loaded"),media_loaded:ba.boolean()}),hl=ba.object({condition:ba.literal("display_mode"),display_mode:ic}),pl=ba.object({condition:ba.literal("triggered"),triggered:ba.string().array()}),ml=ba.object({condition:ba.literal("interaction"),interaction:ba.boolean()}),gl=ba.object({condition:ba.literal("microphone"),connected:ba.boolean().optional(),muted:ba.boolean().optional()}),fl=ba.object({condition:ba.literal("key"),key:ba.string(),state:ba.enum(["down","up"]).optional(),ctrl:ba.boolean().optional(),shift:ba.boolean().optional(),alt:ba.boolean().optional(),meta:ba.boolean().optional()}),_l=ba.discriminatedUnion("condition",[Hc,Bc,qc,Uc,sl,cl,ll,dl,ul,hl,pl,ml,gl,fl]),vl=ba.object({type:ba.literal("custom:frigate-card-conditional"),conditions:_l.array(),elements:ba.lazy((()=>yl))}),yl=ba.union([Zc,Qc,vl,Fc,Vc,Yc,Kc,Jc,el,Nc,Rc,Pc,Lc,al,il,rl]).array().optional(),bl=ba.object({fit:ba.enum(["contain","cover","fill"]).optional(),position:ba.object({x:ba.number().min(0).max(100).optional(),y:ba.number().min(0).max(100).optional()}).optional(),view_box:ba.object({bottom:ba.number().min(0).max(100).optional().default(0),left:ba.number().min(0).max(100).optional().default(0),right:ba.number().min(0).max(100).optional().default(0),top:ba.number().min(0).max(100).optional().default(0)}).optional(),pan:nc.optional(),zoom:ac.optional()}),wl=ba.number().array().length(2).or(ba.string().regex(/^\s*\d+\.?\d*\s*[:/]\s*\d+\.?\d*\s*$/).transform((e=>e.split(/[:\/]/).map((e=>Number(e)))))),xl={r2c_delay_between_calls_seconds:.5,c2r_delay_between_calls_seconds:.2},Cl=function(e){return t=>{if(!t||"object"!=typeof t||!t.service)return t;const n={...t};return Object.keys(t).forEach((a=>{const i=a.match(/^data_(.+)$/),r=i?.[1];r&&!(`${e}${r}`in t)&&(n[`${e}${r}`]={action:"perform-action",perform_action:t.service,data:t[a]},delete n[a],delete n.service)})),n}},Ml=ba.preprocess(Cl("actions_"),ba.object({actions_left:lc.optional(),actions_left_start:lc.optional(),actions_left_stop:lc.optional(),actions_right:lc.optional(),actions_right_start:lc.optional(),actions_right_stop:lc.optional(),actions_up:lc.optional(),actions_up_start:lc.optional(),actions_up_stop:lc.optional(),actions_down:lc.optional(),actions_down_start:lc.optional(),actions_down_stop:lc.optional(),actions_zoom_in:lc.optional(),actions_zoom_in_start:lc.optional(),actions_zoom_in_stop:lc.optional(),actions_zoom_out:lc.optional(),actions_zoom_out_start:lc.optional(),actions_zoom_out_stop:lc.optional(),r2c_delay_between_calls_seconds:ba.number().default(xl.r2c_delay_between_calls_seconds),c2r_delay_between_calls_seconds:ba.number().default(xl.c2r_delay_between_calls_seconds),presets:ba.preprocess(Cl(""),ba.union([ba.record(lc),ba.object({service:ba.string().optional()})])).optional(),service:ba.string().optional()}).passthrough()),kl={orientation:"horizontal",mode:"auto",hide_pan_tilt:!1,hide_zoom:!1,hide_home:!1,position:"bottom-right"},Sl=ba.object({mode:ba.enum(["off","auto","on"]).default(kl.mode),position:ba.enum(["top-left","top-right","bottom-left","bottom-right"]).default(kl.position),orientation:ba.enum(["vertical","horizontal"]).default(kl.orientation),hide_pan_tilt:ba.boolean().default(kl.hide_pan_tilt),hide_zoom:ba.boolean().default(kl.hide_zoom),hide_home:ba.boolean().default(kl.hide_home),style:ba.object({}).passthrough().optional()}),El={mode:"auto",refresh_seconds:1},$l=ba.object({mode:ba.enum(["auto","camera","entity","screensaver","url"]).default(El.mode),refresh_seconds:ba.number().min(0).default(El.refresh_seconds),url:ba.string().optional(),entity:ba.string().optional(),entity_parameters:ba.string().optional()}),Al=$l.merge(Oc).default(El),zl=75,Il=300,Tl={size:100,show_details:!0,show_favorite_control:!0,show_timeline_control:!0,show_download_control:!0},jl=ba.object({size:ba.number().min(75).max(300).default(Tl.size),show_details:ba.boolean().default(Tl.show_details),show_favorite_control:ba.boolean().default(Tl.show_favorite_control),show_timeline_control:ba.boolean().default(Tl.show_timeline_control),show_download_control:ba.boolean().default(Tl.show_download_control)}),Ol={...Tl,mode:"right"},Dl=jl.extend({mode:ba.enum(["none","above","below","left","right"]).default(Ol.mode)}),Rl=ba.enum(["all","clips","snapshots"]),Pl={clustering_threshold:3,events_media_type:"all",window_seconds:3600,show_recordings:!0,style:"stack",pan_mode:"pan"},Ll=ba.enum(["pan","seek","seek-in-media","seek-in-camera"]),Nl=ba.object({clustering_threshold:ba.number().optional().default(Pl.clustering_threshold),events_media_type:Rl.optional().default(Pl.events_media_type),window_seconds:ba.number().min(60).max(86400).optional().default(Pl.window_seconds),show_recordings:ba.boolean().optional().default(Pl.show_recordings),style:ba.enum(["stack","ribbon"]).optional().default(Pl.style),pan_mode:Ll.optional().default(Pl.pan_mode)}),Fl={...Pl,mode:"none",style:"ribbon"},Vl=Nl.extend({mode:ba.enum(["none","above","below"]).default(Fl.mode),style:Nl.shape.style.default(Fl.style)}),Hl={...Pl,controls:{thumbnails:Ol}},Bl=Nl.extend({controls:ba.object({thumbnails:Dl.default(Hl.controls.thumbnails)}).default(Hl.controls)}).default(Hl),ql=ba.object({style:ba.enum(["none","chevrons","icons","thumbnails"]),size:ba.number().min(20)}),Ul=ba.enum(["none","slide"]),Wl={always_connected:!1,disconnect_seconds:90,mute_after_microphone_mute_seconds:60},Zl=ba.object({always_connected:ba.boolean().default(Wl.always_connected),disconnect_seconds:ba.number().min(0).default(Wl.disconnect_seconds),mute_after_microphone_mute_seconds:ba.number().min(0).default(Wl.mute_after_microphone_mute_seconds)}).default(Wl),Ql=ba.object({url:ba.string().transform((e=>e.replace(/\/+$/,""))).optional(),host:ba.string().optional(),modes:ba.enum(["webrtc","mse","mp4","mjpeg"]).array().optional(),stream:ba.string().optional()}),Gl=ba.object({entity:ba.string().optional(),url:ba.string().optional()}).passthrough(),Yl=ba.object({options:ba.object({audio:ba.boolean().optional(),video:ba.boolean().optional(),pauseWhenHidden:ba.boolean().optional(),disableGl:ba.boolean().optional(),disableWebAssembly:ba.boolean().optional(),preserveDrawingBuffer:ba.boolean().optional(),progressive:ba.boolean().optional(),throttled:ba.boolean().optional(),chunkSize:ba.number().optional(),maxAudioLag:ba.number().optional(),videoBufferSize:ba.number().optional(),audioBufferSize:ba.number().optional()}).optional()}),Kl={...Ol,media_type:"events",events_media_type:"all"},Xl={auto_play:[...Ys],auto_pause:[],auto_mute:[...Xs],auto_unmute:["microphone"],preload:!1,lazy_load:!0,lazy_unload:[],draggable:!0,zoomable:!0,transition_effect:"slide",show_image_during_load:!0,mode:"single",controls:{builtin:!0,next_previous:{size:48,style:"chevrons"},ptz:kl,thumbnails:Kl,timeline:Fl},microphone:{...Wl}},Jl=Dl.extend({media_type:ba.enum(["events","recordings"]).default(Xl.controls.thumbnails.media_type),events_media_type:Rl.default(Xl.controls.thumbnails.events_media_type)}),ed=ba.object({auto_pause:ba.enum(Gs).array().default(Xl.auto_pause),auto_play:ba.enum(Ys).array().default(Xl.auto_play),auto_mute:ba.enum(Xs).array().default(Xl.auto_mute),auto_unmute:ba.enum(Ks).array().default(Xl.auto_unmute),controls:ba.object({builtin:ba.boolean().default(Xl.controls.builtin),next_previous:ql.extend({style:ba.enum(["none","chevrons","icons"]).default(Xl.controls.next_previous.style),size:ql.shape.size.default(Xl.controls.next_previous.size)}).default(Xl.controls.next_previous),ptz:Sl.default(Xl.controls.ptz),thumbnails:Jl.default(Xl.controls.thumbnails),timeline:Vl.default(Xl.controls.timeline)}).default(Xl.controls),display:rc,draggable:ba.boolean().default(Xl.draggable),lazy_load:ba.boolean().default(Xl.lazy_load),lazy_unload:ba.enum(Gs).array().default(Xl.lazy_unload),microphone:Zl.default(Xl.microphone),preload:ba.boolean().default(Xl.preload),show_image_during_load:ba.boolean().default(Xl.show_image_during_load),transition_effect:Ul.default(Xl.transition_effect),zoomable:ba.boolean().default(Xl.zoomable)}).merge(Oc).default(Xl),td=ba.object({live:ed}),nd=ba.object({method:ba.enum(["standard","dashboard"]).default("standard").optional(),dashboard:ba.object({dashboard_path:ba.string().optional(),view_path:ba.string().optional()}).optional()}),ad={dependencies:{all_cameras:!1,cameras:[]},engine:"auto",frigate:{client_id:"frigate"},live_provider:"auto",motioneye:{images:{directory_pattern:"%Y-%m-%d",file_pattern:"%H-%M-%S"},movies:{directory_pattern:"%Y-%m-%d",file_pattern:"%H-%M-%S"}},reolink:{media_resolution:"low"},ptz:xl,triggers:{motion:!1,occupancy:!1,events:[...ec],entities:[]},proxy:{media:"auto",dynamic:!0,ssl_verification:"auto",ssl_ciphers:"auto"}},id=ba.object({media:ba.boolean().or(ba.literal("auto")).default(ad.proxy.media),dynamic:ba.boolean().default(ad.proxy.dynamic),ssl_verification:ba.boolean().or(ba.literal("auto")).default(ad.proxy.ssl_verification),ssl_ciphers:ba.enum(["default","insecure","intermediate","modern"]).or(ba.literal("auto")).default(ad.proxy.ssl_ciphers)}),rd=ba.object({camera_entity:ba.string().optional(),icon:ba.string().optional(),title:ba.string().optional(),capabilities:ba.object({disable:ba.enum(Ts).array().optional(),disable_except:ba.enum(Ts).array().optional()}).optional(),id:ba.string().optional(),dependencies:ba.object({all_cameras:ba.boolean().default(ad.dependencies.all_cameras),cameras:ba.string().array().default(ad.dependencies.cameras)}).default(ad.dependencies),triggers:ba.object({motion:ba.boolean().default(ad.triggers.motion),occupancy:ba.boolean().default(ad.triggers.occupancy),entities:ba.string().array().default(ad.triggers.entities),events:ba.enum(ec).array().default(ad.triggers.events)}).default(ad.triggers),engine:ba.enum(["auto","frigate","generic","motioneye","reolink"]).default("auto"),frigate:ba.object({url:ba.string().optional(),client_id:ba.string().default(ad.frigate.client_id),camera_name:ba.string().optional(),labels:ba.string().array().optional(),zones:ba.string().array().optional()}).default(ad.frigate),motioneye:ba.object({url:ba.string().optional(),images:ba.object({directory_pattern:ba.string().includes("%").default(ad.motioneye.images.directory_pattern),file_pattern:ba.string().includes("%").default(ad.motioneye.images.file_pattern)}).default(ad.motioneye.images),movies:ba.object({directory_pattern:ba.string().includes("%").default(ad.motioneye.movies.directory_pattern),file_pattern:ba.string().includes("%").default(ad.motioneye.movies.file_pattern)}).default(ad.motioneye.movies)}).default(ad.motioneye),reolink:ba.object({url:ba.string().optional(),media_resolution:ba.enum(["high","low"]).default(ad.reolink.media_resolution)}).default(ad.reolink),live_provider:ba.enum(["auto","image","ha","jsmpeg","go2rtc","webrtc-card"]).default(ad.live_provider),go2rtc:Ql.optional(),image:$l.optional().default(El),jsmpeg:Yl.optional(),webrtc_card:Gl.optional(),cast:nd.optional(),ptz:Ml.default(ad.ptz),dimensions:ba.object({aspect_ratio:wl.optional(),layout:bl.optional()}).optional(),proxy:id.default(ad.proxy)}).default(ad),od=rd.array().min(1),sd={default:Qs,camera_select:"current",interaction_seconds:300,default_reset:{every_seconds:0,after_interaction:!1,entities:[],interaction_mode:"inactive"},default_cycle_camera:!1,dark_mode:"off",triggers:{show_trigger_status:!1,filter_selected_camera:!0,actions:{trigger:"update",untrigger:"none"},untrigger_seconds:0},keyboard_shortcuts:Fs},cd=ba.enum(["all","inactive","active"]).default("inactive"),ld=ba.object({actions:ba.object({interaction_mode:cd,trigger:ba.enum(["default","live","media","none","update"]).default(sd.triggers.actions.trigger),untrigger:ba.enum(["default","none"]).default(sd.triggers.actions.untrigger)}).default(sd.triggers.actions),filter_selected_camera:ba.boolean().default(sd.triggers.filter_selected_camera),show_trigger_status:ba.boolean().default(sd.triggers.show_trigger_status),untrigger_seconds:ba.number().default(sd.triggers.untrigger_seconds)}),dd=ba.object({default:ba.enum(Zs).default(sd.default),camera_select:ba.enum([...Zs,"current"]).default(sd.camera_select),interaction_seconds:ba.number().default(sd.interaction_seconds),default_cycle_camera:ba.boolean().default(sd.default_cycle_camera),default_reset:ba.object({after_interaction:ba.boolean().default(sd.default_reset.after_interaction),every_seconds:ba.number().default(sd.default_reset.every_seconds),entities:ba.string().array().default(sd.default_reset.entities),interaction_mode:cd.default(sd.default_reset.interaction_mode)}).default(sd.default_reset),render_entities:ba.string().array().optional(),dark_mode:ba.enum(["on","off","auto"]).optional(),triggers:ld.default(sd.triggers),keyboard_shortcuts:Vs.default(sd.keyboard_shortcuts)}).merge(Oc).default(sd),ud=["left","right","top","bottom"],hd=ud,pd={priority:50,enabled:!0},md={priority:50,enabled:!1},gd={alignment:"left",button_size:40,buttons:{camera_ui:pd,cameras:pd,clips:pd,ptz_home:md,display_mode:pd,download:pd,expand:md,frigate:pd,fullscreen:pd,image:md,live:pd,media_player:pd,microphone:{...md,type:"momentary"},mute:md,play:md,ptz_controls:md,recordings:md,screenshot:md,snapshots:pd,substreams:pd,timeline:pd},position:"top",style:"hidden"},fd=Gc.extend({enabled:Gc.shape.enabled.default(pd.enabled),priority:Gc.shape.priority.default(pd.priority)}),_d=Gc.extend({enabled:Gc.shape.enabled.default(md.enabled),priority:Gc.shape.priority.default(md.priority)}),vd=ba.object({style:ba.enum(["none","hidden","overlay","hover","hover-card","outside"]).default(gd.style),position:ba.enum(ud).default(gd.position),alignment:ba.enum(hd).default(gd.alignment),buttons:ba.object({camera_ui:fd.default(gd.buttons.camera_ui),cameras:fd.default(gd.buttons.cameras),clips:fd.default(gd.buttons.clips),ptz_home:_d.default(gd.buttons.ptz_home),display_mode:fd.default(gd.buttons.display_mode),download:fd.default(gd.buttons.download),expand:_d.default(gd.buttons.expand),frigate:fd.default(gd.buttons.frigate),fullscreen:fd.default(gd.buttons.fullscreen),image:_d.default(gd.buttons.image),live:fd.default(gd.buttons.live),media_player:fd.default(gd.buttons.media_player),microphone:_d.extend({type:ba.enum(["momentary","toggle"]).default(gd.buttons.microphone.type)}).default(gd.buttons.microphone),mute:_d.default(gd.buttons.mute),play:_d.default(gd.buttons.play),ptz_controls:_d.default(gd.buttons.ptz_controls),recordings:_d.default(gd.buttons.recordings),screenshot:_d.default(gd.buttons.screenshot),snapshots:fd.default(gd.buttons.snapshots),substreams:fd.default(gd.buttons.substreams),timeline:fd.default(gd.buttons.timeline)}).default(gd.buttons),button_size:ba.number().min(20).default(gd.button_size)}).default(gd),yd={priority:50,enabled:!0},bd={height:46,items:{engine:yd,resolution:yd,technology:yd,title:yd},position:"bottom",style:"popup",popup_seconds:3},wd=ba.object({position:ba.enum(["top","bottom"]).default(bd.position),style:ba.enum(["none","overlay","hover","hover-card","outside","popup"]).default(bd.style),popup_seconds:ba.number().min(0).max(60).default(bd.popup_seconds),height:ba.number().min(20).default(bd.height),items:ba.object({engine:tl.default(bd.items.engine),technology:tl.default(bd.items.technology),resolution:tl.default(bd.items.resolution),title:tl.default(bd.items.title)}).default(bd.items)}).default(bd),xd={auto_play:[...Ys],auto_pause:[...Gs],auto_mute:[...Gs],auto_unmute:[],lazy_load:!0,draggable:!0,zoomable:!0,transition_effect:"slide",snapshot_click_plays_clip:!0,display_mode:"single",controls:{builtin:!0,next_previous:{size:48,style:"thumbnails"},thumbnails:Ol,timeline:Fl,ptz:{...kl,mode:"off"}}},Cd=ql.extend({style:ba.enum(["none","thumbnails","chevrons"]).default(xd.controls.next_previous.style),size:ql.shape.size.default(xd.controls.next_previous.size)}),Md=ba.object({auto_play:ba.enum(Ys).array().default(xd.auto_play),auto_pause:ba.enum(Gs).array().default(xd.auto_pause),auto_mute:ba.enum(Gs).array().default(xd.auto_mute),auto_unmute:ba.enum(Ys).array().default(xd.auto_unmute),lazy_load:ba.boolean().default(xd.lazy_load),draggable:ba.boolean().default(xd.draggable),zoomable:ba.boolean().default(xd.zoomable),transition_effect:Ul.default(xd.transition_effect),snapshot_click_plays_clip:ba.boolean().default(xd.snapshot_click_plays_clip),display:rc,controls:ba.object({builtin:ba.boolean().default(xd.controls.builtin),next_previous:Cd.default(xd.controls.next_previous),ptz:Sl.extend({mode:ba.enum(["off","on"]).default(xd.controls.ptz.mode)}).default(xd.controls.ptz),thumbnails:Dl.default(xd.controls.thumbnails),timeline:Vl.default(xd.controls.timeline)}).default(xd.controls)}).merge(Oc).default(xd),kd={...Ol,show_details:!1},Sd={controls:{thumbnails:kd,filter:{mode:"right"}}},Ed=Dl.extend({show_details:ba.boolean().default(kd.show_details)}),$d=ba.object({controls:ba.object({thumbnails:Ed.default(Sd.controls.thumbnails),filter:ba.object({mode:ba.enum(["none","left","right"]).default(Sd.controls.filter.mode)}).default(Sd.controls.filter)}).default(Sd.controls)}).merge(Oc).default(Sd),Ad={aspect_ratio_mode:"dynamic",aspect_ratio:[16,9],height:"auto"},zd=ba.object({aspect_ratio_mode:ba.enum(["dynamic","static","unconstrained"]).default(Ad.aspect_ratio_mode),aspect_ratio:wl.default(Ad.aspect_ratio),height:ba.string().default(Ad.height)}).default(Ad),Id=ba.object({conditions:_l.array(),merge:ba.object({}).passthrough().optional(),set:ba.object({}).passthrough().optional(),delete:ba.string().array().optional()}).array().optional(),Td=Tc.array(),jd=ba.object({conditions:_l.array(),actions:Td.optional(),actions_not:Td.optional()}).refine((e=>e.actions?.length||e.actions_not?.length),"Automations must include at least one action").array(),Od={features:{animated_progress_indicator:!0,media_chunk_size:50},style:{border_radius:!0,box_shadow:!0}},Dd=ba.object({features:ba.object({animated_progress_indicator:ba.boolean().default(Od.features.animated_progress_indicator),media_chunk_size:ba.number().min(0).max(1e3).default(Od.features.media_chunk_size),max_simultaneous_engine_requests:ba.number().min(1).optional()}).default(Od.features),style:ba.object({border_radius:ba.boolean().default(Od.style.border_radius),box_shadow:ba.boolean().default(Od.style.box_shadow)}).default(Od.style)}).default(Od),Rd={logging:!1},Pd=ba.object({logging:ba.boolean().default(Rd.logging)}).default(Rd),Ld=ba.enum(["casting","low-performance","scrubbing"]).array().optional(),Nd=ba.object({cameras:Ds(od),cameras_global:rd,view:dd,menu:vd,status_bar:wd,live:ed,media_gallery:$d,media_viewer:Md,image:Al,elements:yl,dimensions:zd,timeline:Bl,performance:Dd,debug:Pd,automations:jd.optional(),profiles:Ld,overrides:Id,card_mod:ba.unknown(),card_id:ba.string().regex(tc).optional(),type:ba.string()}),Fd={cameras:ad,view:sd,menu:gd,status_bar:bd,live:Xl,media_gallery:Sd,media_viewer:xd,image:El,timeline:Hl,performance:Od,debug:Rd};function Vd(e){const t=Object.prototype.toString.call(e);return e instanceof Date||"object"==typeof e&&"[object Date]"===t?new e.constructor(+e):"number"==typeof e||"[object Number]"===t||"string"==typeof e||"[object String]"===t?new Date(e):new Date(NaN)}function Hd(e,t){return e instanceof Date?new e.constructor(t):new Date(t)}function Bd(e,t){const n=Vd(e);return isNaN(t)?Hd(e,NaN):t?(n.setDate(n.getDate()+t),n):n}function qd(e,t){const n=Vd(e);if(isNaN(t))return Hd(e,NaN);if(!t)return n;const a=n.getDate(),i=Hd(e,n.getTime());i.setMonth(n.getMonth()+t+1,0);return a>=i.getDate()?i:(n.setFullYear(i.getFullYear(),i.getMonth(),a),n)}function Ud(e,t){const{years:n=0,months:a=0,weeks:i=0,days:r=0,hours:o=0,minutes:s=0,seconds:c=0}=t,l=Vd(e),d=a||n?qd(l,a+12*n):l,u=1e3*(c+60*(s+60*o));return Hd(e,(r||i?Bd(d,r+7*i):d).getTime()+u)}const Wd=6048e5,Zd=864e5,Qd=6e4,Gd=36e5,Yd=1e3;let Kd={};function Xd(){return Kd}function Jd(e,t){const n=Xd(),a=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=Vd(e),r=i.getDay(),o=(r=i.getTime()?n+1:t.getTime()>=o.getTime()?n:n-1}function nu(e){const t=Vd(e);return t.setHours(0,0,0,0),t}function au(e){const t=Vd(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function iu(e){if(!(t=e,t instanceof Date||"object"==typeof t&&"[object Date]"===Object.prototype.toString.call(t)||"number"==typeof e))return!1;var t;const n=Vd(e);return!isNaN(Number(n))}function ru(e){return t=>{const n=(e?Math[e]:Math.trunc)(t);return 0===n?0:n}}function ou(e,t){return+Vd(e)-+Vd(t)}function su(e,t,n){const a=ou(e,t)/1e3;return ru(n?.roundingMethod)(a)}const cu={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function lu(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const du={date:lu({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:lu({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:lu({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},uu={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function hu(e){return(t,n)=>{let a;if("formatting"===(n?.context?String(n.context):"standalone")&&e.formattingValues){const t=e.defaultFormattingWidth||e.defaultWidth,i=n?.width?String(n.width):t;a=e.formattingValues[i]||e.formattingValues[t]}else{const t=e.defaultWidth,i=n?.width?String(n.width):e.defaultWidth;a=e.values[i]||e.values[t]}return a[e.argumentCallback?e.argumentCallback(t):t]}}function pu(e){return(t,n={})=>{const a=n.width,i=a&&e.matchPatterns[a]||e.matchPatterns[e.defaultMatchWidth],r=t.match(i);if(!r)return null;const o=r[0],s=a&&e.parsePatterns[a]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(s)?function(e,t){for(let n=0;ne.test(o))):function(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n;return}(s,(e=>e.test(o)));let l;l=e.valueCallback?e.valueCallback(c):c,l=n.valueCallback?n.valueCallback(l):l;return{value:l,rest:t.slice(o.length)}}}var mu;const gu={code:"en-US",formatDistance:(e,t,n)=>{let a;const i=cu[e];return a="string"==typeof i?i:1===t?i.one:i.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+a:a+" ago":a},formatLong:du,formatRelative:(e,t,n,a)=>uu[e],localize:{ordinalNumber:(e,t)=>{const n=Number(e),a=n%100;if(a>20||a<10)switch(a%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:hu({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:hu({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:e=>e-1}),month:hu({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:hu({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:hu({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})},match:{ordinalNumber:(mu={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)},(e,t={})=>{const n=e.match(mu.matchPattern);if(!n)return null;const a=n[0],i=e.match(mu.parsePattern);if(!i)return null;let r=mu.valueCallback?mu.valueCallback(i[0]):i[0];return r=t.valueCallback?t.valueCallback(r):r,{value:r,rest:e.slice(a.length)}}),era:pu({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:pu({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:e=>e+1}),month:pu({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:pu({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:pu({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function fu(e){const t=Vd(e),n=function(e,t){const n=nu(e),a=nu(t),i=+n-au(n),r=+a-au(a);return Math.round((i-r)/Zd)}(t,function(e){const t=Vd(e),n=Hd(e,0);return n.setFullYear(t.getFullYear(),0,1),n.setHours(0,0,0,0),n}(t));return n+1}function _u(e){const t=Vd(e),n=+eu(t)-+function(e){const t=tu(e),n=Hd(e,0);return n.setFullYear(t,0,4),n.setHours(0,0,0,0),eu(n)}(t);return Math.round(n/Wd)+1}function vu(e,t){const n=Vd(e),a=n.getFullYear(),i=Xd(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,o=Hd(e,0);o.setFullYear(a+1,0,r),o.setHours(0,0,0,0);const s=Jd(o,t),c=Hd(e,0);c.setFullYear(a,0,r),c.setHours(0,0,0,0);const l=Jd(c,t);return n.getTime()>=s.getTime()?a+1:n.getTime()>=l.getTime()?a:a-1}function yu(e,t){const n=Vd(e),a=+Jd(n,t)-+function(e,t){const n=Xd(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,i=vu(e,t),r=Hd(e,0);return r.setFullYear(i,0,a),r.setHours(0,0,0,0),Jd(r,t)}(n,t);return Math.round(a/Wd)+1}function bu(e,t){return(e<0?"-":"")+Math.abs(e).toString().padStart(t,"0")}const wu={y(e,t){const n=e.getFullYear(),a=n>0?n:1-n;return bu("yy"===t?a%100:a,t.length)},M(e,t){const n=e.getMonth();return"M"===t?String(n+1):bu(n+1,2)},d:(e,t)=>bu(e.getDate(),t.length),a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];default:return"am"===n?"a.m.":"p.m."}},h:(e,t)=>bu(e.getHours()%12||12,t.length),H:(e,t)=>bu(e.getHours(),t.length),m:(e,t)=>bu(e.getMinutes(),t.length),s:(e,t)=>bu(e.getSeconds(),t.length),S(e,t){const n=t.length,a=e.getMilliseconds();return bu(Math.trunc(a*Math.pow(10,n-3)),t.length)}},xu="midnight",Cu="noon",Mu="morning",ku="afternoon",Su="evening",Eu="night",$u={G:function(e,t,n){const a=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(a,{width:"abbreviated"});case"GGGGG":return n.era(a,{width:"narrow"});default:return n.era(a,{width:"wide"})}},y:function(e,t,n){if("yo"===t){const t=e.getFullYear(),a=t>0?t:1-t;return n.ordinalNumber(a,{unit:"year"})}return wu.y(e,t)},Y:function(e,t,n,a){const i=vu(e,a),r=i>0?i:1-i;if("YY"===t){return bu(r%100,2)}return"Yo"===t?n.ordinalNumber(r,{unit:"year"}):bu(r,t.length)},R:function(e,t){return bu(tu(e),t.length)},u:function(e,t){return bu(e.getFullYear(),t.length)},Q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(a);case"QQ":return bu(a,2);case"Qo":return n.ordinalNumber(a,{unit:"quarter"});case"QQQ":return n.quarter(a,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(a,{width:"narrow",context:"formatting"});default:return n.quarter(a,{width:"wide",context:"formatting"})}},q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(a);case"qq":return bu(a,2);case"qo":return n.ordinalNumber(a,{unit:"quarter"});case"qqq":return n.quarter(a,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(a,{width:"narrow",context:"standalone"});default:return n.quarter(a,{width:"wide",context:"standalone"})}},M:function(e,t,n){const a=e.getMonth();switch(t){case"M":case"MM":return wu.M(e,t);case"Mo":return n.ordinalNumber(a+1,{unit:"month"});case"MMM":return n.month(a,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(a,{width:"narrow",context:"formatting"});default:return n.month(a,{width:"wide",context:"formatting"})}},L:function(e,t,n){const a=e.getMonth();switch(t){case"L":return String(a+1);case"LL":return bu(a+1,2);case"Lo":return n.ordinalNumber(a+1,{unit:"month"});case"LLL":return n.month(a,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(a,{width:"narrow",context:"standalone"});default:return n.month(a,{width:"wide",context:"standalone"})}},w:function(e,t,n,a){const i=yu(e,a);return"wo"===t?n.ordinalNumber(i,{unit:"week"}):bu(i,t.length)},I:function(e,t,n){const a=_u(e);return"Io"===t?n.ordinalNumber(a,{unit:"week"}):bu(a,t.length)},d:function(e,t,n){return"do"===t?n.ordinalNumber(e.getDate(),{unit:"date"}):wu.d(e,t)},D:function(e,t,n){const a=fu(e);return"Do"===t?n.ordinalNumber(a,{unit:"dayOfYear"}):bu(a,t.length)},E:function(e,t,n){const a=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(a,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(a,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},e:function(e,t,n,a){const i=e.getDay(),r=(i-a.weekStartsOn+8)%7||7;switch(t){case"e":return String(r);case"ee":return bu(r,2);case"eo":return n.ordinalNumber(r,{unit:"day"});case"eee":return n.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(i,{width:"short",context:"formatting"});default:return n.day(i,{width:"wide",context:"formatting"})}},c:function(e,t,n,a){const i=e.getDay(),r=(i-a.weekStartsOn+8)%7||7;switch(t){case"c":return String(r);case"cc":return bu(r,t.length);case"co":return n.ordinalNumber(r,{unit:"day"});case"ccc":return n.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(i,{width:"narrow",context:"standalone"});case"cccccc":return n.day(i,{width:"short",context:"standalone"});default:return n.day(i,{width:"wide",context:"standalone"})}},i:function(e,t,n){const a=e.getDay(),i=0===a?7:a;switch(t){case"i":return String(i);case"ii":return bu(i,t.length);case"io":return n.ordinalNumber(i,{unit:"day"});case"iii":return n.day(a,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(a,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},a:function(e,t,n){const a=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},b:function(e,t,n){const a=e.getHours();let i;switch(i=12===a?Cu:0===a?xu:a/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(i,{width:"narrow",context:"formatting"});default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},B:function(e,t,n){const a=e.getHours();let i;switch(i=a>=17?Su:a>=12?ku:a>=4?Mu:Eu,t){case"B":case"BB":case"BBB":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(i,{width:"narrow",context:"formatting"});default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},h:function(e,t,n){if("ho"===t){let t=e.getHours()%12;return 0===t&&(t=12),n.ordinalNumber(t,{unit:"hour"})}return wu.h(e,t)},H:function(e,t,n){return"Ho"===t?n.ordinalNumber(e.getHours(),{unit:"hour"}):wu.H(e,t)},K:function(e,t,n){const a=e.getHours()%12;return"Ko"===t?n.ordinalNumber(a,{unit:"hour"}):bu(a,t.length)},k:function(e,t,n){let a=e.getHours();return 0===a&&(a=24),"ko"===t?n.ordinalNumber(a,{unit:"hour"}):bu(a,t.length)},m:function(e,t,n){return"mo"===t?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):wu.m(e,t)},s:function(e,t,n){return"so"===t?n.ordinalNumber(e.getSeconds(),{unit:"second"}):wu.s(e,t)},S:function(e,t){return wu.S(e,t)},X:function(e,t,n){const a=e.getTimezoneOffset();if(0===a)return"Z";switch(t){case"X":return zu(a);case"XXXX":case"XX":return Iu(a);default:return Iu(a,":")}},x:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"x":return zu(a);case"xxxx":case"xx":return Iu(a);default:return Iu(a,":")}},O:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+Au(a,":");default:return"GMT"+Iu(a,":")}},z:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+Au(a,":");default:return"GMT"+Iu(a,":")}},t:function(e,t,n){return bu(Math.trunc(e.getTime()/1e3),t.length)},T:function(e,t,n){return bu(e.getTime(),t.length)}};function Au(e,t=""){const n=e>0?"-":"+",a=Math.abs(e),i=Math.trunc(a/60),r=a%60;return 0===r?n+String(i):n+String(i)+t+bu(r,2)}function zu(e,t){if(e%60==0){return(e>0?"-":"+")+bu(Math.abs(e)/60,2)}return Iu(e,t)}function Iu(e,t=""){const n=e>0?"-":"+",a=Math.abs(e);return n+bu(Math.trunc(a/60),2)+t+bu(a%60,2)}const Tu=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},ju=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},Ou={p:ju,P:(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],a=n[1],i=n[2];if(!i)return Tu(e,t);let r;switch(a){case"P":r=t.dateTime({width:"short"});break;case"PP":r=t.dateTime({width:"medium"});break;case"PPP":r=t.dateTime({width:"long"});break;default:r=t.dateTime({width:"full"})}return r.replace("{{date}}",Tu(a,t)).replace("{{time}}",ju(i,t))}},Du=/^D+$/,Ru=/^Y+$/,Pu=["D","DD","YY","YYYY"];function Lu(e){return Du.test(e)}function Nu(e){return Ru.test(e)}function Fu(e,t,n){const a=function(e,t,n){const a="Y"===e[0]?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${a} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}(e,t,n);if(console.warn(a),Pu.includes(e))throw new RangeError(a)}const Vu=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Hu=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Bu=/^'([^]*?)'?$/,qu=/''/g,Uu=/[a-zA-Z]/;function Wu(e,t,n){const a=Xd(),i=n?.locale??a.locale??gu,r=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,o=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??a.weekStartsOn??a.locale?.options?.weekStartsOn??0,s=Vd(e);if(!iu(s))throw new RangeError("Invalid time value");let c=t.match(Hu).map((e=>{const t=e[0];if("p"===t||"P"===t){return(0,Ou[t])(e,i.formatLong)}return e})).join("").match(Vu).map((e=>{if("''"===e)return{isToken:!1,value:"'"};const t=e[0];if("'"===t)return{isToken:!1,value:Zu(e)};if($u[t])return{isToken:!0,value:e};if(t.match(Uu))throw new RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}}));i.localize.preprocessor&&(c=i.localize.preprocessor(s,c));const l={firstWeekContainsDate:r,weekStartsOn:o,locale:i};return c.map((a=>{if(!a.isToken)return a.value;const r=a.value;(!n?.useAdditionalWeekYearTokens&&Nu(r)||!n?.useAdditionalDayOfYearTokens&&Lu(r))&&Fu(r,t,String(e));return(0,$u[r[0]])(s,r,i.localize,l)})).join("")}function Zu(e){const t=e.match(Bu);return t?t[1].replace(qu,"'"):e}function Qu(e,t){const{years:n=0,months:a=0,weeks:i=0,days:r=0,hours:o=0,minutes:s=0,seconds:c=0}=t,l=function(e,t){return qd(e,-t)}(e,a+12*n),d=function(e,t){return Bd(e,-t)}(l,r+7*i),u=1e3*(c+60*(s+60*o));return Hd(e,d.getTime()-u)}function Gu(e,t){return e===t||e!=e&&t!=t}function Yu(e,t){for(var n=e.length;n--;)if(Gu(e[n][0],t))return n;return-1}var Ku=Array.prototype.splice;function Xu(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1},Xu.prototype.set=function(e,t){var n=this.__data__,a=Yu(n,e);return a<0?(++this.size,n.push([e,t])):n[a][1]=t,this};var Ju="object"==typeof global&&global&&global.Object===Object&&global,eh="object"==typeof self&&self&&self.Object===Object&&self,th=Ju||eh||Function("return this")(),nh=th.Symbol,ah=Object.prototype,ih=ah.hasOwnProperty,rh=ah.toString,oh=nh?nh.toStringTag:void 0;var sh=Object.prototype.toString;var ch="[object Null]",lh="[object Undefined]",dh=nh?nh.toStringTag:void 0;function uh(e){return null==e?void 0===e?lh:ch:dh&&dh in Object(e)?function(e){var t=ih.call(e,oh),n=e[oh];try{e[oh]=void 0;var a=!0}catch(e){}var i=rh.call(e);return a&&(t?e[oh]=n:delete e[oh]),i}(e):function(e){return sh.call(e)}(e)}function hh(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}var ph="[object AsyncFunction]",mh="[object Function]",gh="[object GeneratorFunction]",fh="[object Proxy]";function _h(e){if(!hh(e))return!1;var t=uh(e);return t==mh||t==gh||t==ph||t==fh}var vh,yh=th["__core-js_shared__"],bh=(vh=/[^.]+$/.exec(yh&&yh.keys&&yh.keys.IE_PROTO||""))?"Symbol(src)_1."+vh:"";var wh=Function.prototype.toString;function xh(e){if(null!=e){try{return wh.call(e)}catch(e){}try{return e+""}catch(e){}}return""}var Ch=/^\[object .+?Constructor\]$/,Mh=Function.prototype,kh=Object.prototype,Sh=Mh.toString,Eh=kh.hasOwnProperty,$h=RegExp("^"+Sh.call(Eh).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Ah(e){return!(!hh(e)||(t=e,bh&&bh in t))&&(_h(e)?$h:Ch).test(xh(e));var t}function zh(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return Ah(n)?n:void 0}var Ih=zh(th,"Map"),Th=zh(Object,"create");var jh=Object.prototype.hasOwnProperty;var Oh=Object.prototype.hasOwnProperty;function Dh(e){var t=-1,n=null==e?0:e.length;for(this.clear();++ts))return!1;var l=r.get(e),d=r.get(t);if(l&&d)return l==t&&d==e;var u=-1,h=!0,p=n&Bh?new Nh:void 0;for(r.set(e,t),r.set(t,e);++u-1&&e%1==0&&e-1&&e%1==0&&e<=Ap}var Ip={};function Tp(e){return function(t){return e(t)}}Ip["[object Float32Array]"]=Ip["[object Float64Array]"]=Ip["[object Int8Array]"]=Ip["[object Int16Array]"]=Ip["[object Int32Array]"]=Ip["[object Uint8Array]"]=Ip["[object Uint8ClampedArray]"]=Ip["[object Uint16Array]"]=Ip["[object Uint32Array]"]=!0,Ip["[object Arguments]"]=Ip["[object Array]"]=Ip["[object ArrayBuffer]"]=Ip["[object Boolean]"]=Ip["[object DataView]"]=Ip["[object Date]"]=Ip["[object Error]"]=Ip["[object Function]"]=Ip["[object Map]"]=Ip["[object Number]"]=Ip["[object Object]"]=Ip["[object RegExp]"]=Ip["[object Set]"]=Ip["[object String]"]=Ip["[object WeakMap]"]=!1;var jp="object"==typeof exports&&exports&&!exports.nodeType&&exports,Op=jp&&"object"==typeof module&&module&&!module.nodeType&&module,Dp=Op&&Op.exports===jp&&Ju.process,Rp=function(){try{var e=Op&&Op.require&&Op.require("util").types;return e||Dp&&Dp.binding&&Dp.binding("util")}catch(e){}}(),Pp=Rp,Lp=Pp&&Pp.isTypedArray,Np=Lp?Tp(Lp):function(e){return fp(e)&&zp(e.length)&&!!Ip[uh(e)]},Fp=Object.prototype.hasOwnProperty;function Vp(e,t){var n=dp(e),a=!n&&wp(e),i=!n&&!a&&kp(e),r=!n&&!a&&!i&&Np(e),o=n||a||i||r,s=o?function(e,t){for(var n=-1,a=Array(e);++n0){if(++og>=800)return arguments[0]}else og=0;return rg.apply(void 0,arguments)});function lg(e,t){return cg(function(e,t,n){return t=tg(void 0===t?e.length-1:t,0),function(){for(var a=arguments,i=-1,r=tg(a.length-t,0),o=Array(r);++i1?n[i-1]:void 0,o=i>2?n[2]:void 0;for(r=e.length>3&&"function"==typeof r?(i--,r):void 0,o&&dg(n[0],n[1],o)&&(r=i<3?void 0:r,i=1),t=Object(t);++a-1}function Ng(e,t,n){for(var a=-1,i=null==e?0:e.length;++a=Vg){var l=t?null:Fg(e);if(l)return Zh(l);o=!1,i=Vh,c=new Nh}else c=t?[]:s;e:for(;++ae[0].toUpperCase()+e.substring(1))).join(" ")}function Ug(e,t,n){const a=e[t];return e.splice(t,1),e.splice(n,0,a),e}const Wg=e=>Array.isArray(e)?e:[e],Zg=e=>e instanceof Set?e:new Set(Wg(e));function Qg(e,t,n){return!function(e,t,n){var a=(n="function"==typeof n?n:void 0)?n(e,t):void 0;return void 0===a?bm(e,t,void 0,n):!!a}(e,t,n)}function Gg(e,t=console.warn){e instanceof zs&&e.context?t(e,e.context):t("object"==typeof e&&"message"in e?e.message:e)}const Yg=()=>window.matchMedia("(hover: hover) and (pointer: fine)").matches,Kg=(e,t)=>Wu(e,"yyyy-MM-dd HH:mm"+(t?":ss":"")),Xg=e=>Wu(e,"yyyy-MM-dd"),Jg=(e,t)=>{window.requestIdleCallback?window.requestIdleCallback(e,{...t&&{timeout:t}}):e()};function ef(e,t){const n=function(e,t,n){const a=ou(e,t)/Gd;return ru(n?.roundingMethod)(a)}(t,e),a=function(e,t,n){const a=ou(e,t)/Qd;return ru(n?.roundingMethod)(a)}(t,e)-60*n;let i="";return n&&(i+=`${n}h `),a&&(i+=`${a}m `),i+=`${su(t,e)-60*n*60-60*a}s`,i}const tf=async(e,t)=>await Promise.all(Array.from(e).map((e=>t(e)))),nf=e=>new Date(`${e}T00:00:00`),af=async e=>{await new Promise((t=>setTimeout(t,1e3*e)))},rf=e=>!isNaN(e.getTime()),of=(e,t,n,a)=>{t?e.setAttribute(n,a??""):e.removeAttribute(n)},sf=e=>!!e,cf=e=>e instanceof HTMLElement,lf=e=>(e instanceof HTMLSlotElement?e.assignedElements({flatten:!0}):[...e.children]).filter(cf),df=e=>e?.ratio&&2===e.ratio.length?`${e.ratio[0]} / ${e.ratio[1]}`:e?.defaultStatic?"16 / 9":"auto",uf=e=>({"aspect-ratio":df(e)}),hf=e=>{if(Array.isArray(e))return e.filter((e=>void 0!==e)).map((e=>hf(e)));if("object"==typeof e&&null!==e){const t={};for(const n in e)t[n]=hf(e[n]);return t}return e},pf=(e,t,n)=>Rg(e,n)===Rg(t,n);function mf(e){if(!e)return null;const t=Ic.safeParse(e);return t.success?t.data:null}function gf(e,t){return{action:"fire-dom-event",frigate_card_action:e,...t?.cardID&&{card_id:t.cardID}}}function ff(e,t,n){return{action:"fire-dom-event",frigate_card_action:e,camera:t,...n?.cardID&&{card_id:n.cardID}}}function _f(e,t,n){return{action:"fire-dom-event",frigate_card_action:"media_player",media_player:e,media_player_action:t,...n?.cardID&&{card_id:n.cardID}}}function vf(e){return{action:"fire-dom-event",frigate_card_action:"ptz_multi",...e?.cardID&&{card_id:e.cardID},...e?.ptzAction&&{ptz_action:e.ptzAction},...e?.ptzPhase&&{ptz_phase:e.ptzPhase},...e?.ptzPreset&&{ptz_preset:e.ptzPreset},...e?.targetID&&{target_id:e.targetID}}}function yf(e,t){return e&&t?"tap"===e&&t.tap_action?t.tap_action:"hold"===e&&t.hold_action?t.hold_action:"double_tap"===e&&t.double_tap_action?t.double_tap_action:"end_tap"===e&&t.end_tap_action?t.end_tap_action:"start_tap"===e&&t.start_tap_action?t.start_tap_action:null:null}const bf=e=>Wg(e).some((e=>function(e){return void 0!==e&&"none"!==e.action}(e))),wf=e=>{e.stopPropagation()};class xf{constructor(){this._timer=null,this._repeated=!1}stop(){this._timer&&(this._repeated?window.clearInterval(this._timer):window.clearTimeout(this._timer),this._timer=null)}isRunning(){return null!==this._timer}start(e,t){this.stop(),this._timer=window.setTimeout((()=>{this._timer=null,t()}),1e3*e),this._repeated=!1}startRepeated(e,t){this.stop(),this._timer=window.setInterval((()=>{t()}),1e3*e),this._repeated=!0}}class Cf extends HTMLElement{constructor(){super(...arguments),this.holdTime=.4,this.holdTimer=new xf,this.doubleClickTimer=new xf,this.held=!1,this.started=!1}connectedCallback(){["touchcancel","mouseout","mouseup","touchmove","mousewheel","wheel","scroll"].forEach((e=>{document.addEventListener(e,(()=>{this.holdTimer.stop()}),{passive:!0})}))}bind(e,t){if(e.actionHandlerOptions)return void(e.actionHandlerOptions=t);e.actionHandlerOptions=t,e.addEventListener("contextmenu",(e=>{const t=e||window.event;return t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.cancelBubble=!0,t.returnValue=!1,!1}));const n=()=>{this.held=!1,this.holdTimer.start(this.holdTime,(()=>{this.held=!0})),this.started||(this.started=!0,et(e,"action",{action:"start_tap"}))},a=t=>{this.holdTimer.stop(),this.started&&(this.started=!1,et(e,"action",{action:"end_tap"}))},i=t=>{const n=e.actionHandlerOptions;n?.allowPropagation||wf(t),["touchend","touchcancel"].includes(t.type)&&!this.held||(a(),n?.hasHold&&this.held?et(e,"action",{action:"hold"}):n?.hasDoubleClick?"click"===t.type&&t.detail<2||!this.doubleClickTimer.isRunning()?this.doubleClickTimer.start(.25,(()=>et(e,"action",{action:"tap"}))):(this.doubleClickTimer.stop(),et(e,"action",{action:"double_tap"})):et(e,"action",{action:"tap"}))};e.addEventListener("touchstart",n,{passive:!0}),e.addEventListener("touchend",i),e.addEventListener("touchcancel",i),e.addEventListener("mousedown",n,{passive:!0}),e.addEventListener("click",i),e.addEventListener("keyup",(e=>{"Enter"===e.key&&i(e)})),e.addEventListener("mouseleave",a)}}customElements.define("action-handler-frigate-card",Cf);const Mf=(e,t)=>{const n=(()=>{const e=document.body;if(e.querySelector("action-handler-frigate-card"))return e.querySelector("action-handler-frigate-card");const t=document.createElement("action-handler-frigate-card");return e.appendChild(t),t})();n&&n.bind(e,t)},kf=ge(class extends fe{update(e,[t]){return Mf(e.element,t),U}render(e){}});var Sf=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)lp(t,gp(e)),e=Pm(e);return t}:hp;function Ef(e){return up(e,Km,Sf)}var $f=Object.prototype.hasOwnProperty;var Af=/\w*$/;var zf=nh?nh.prototype:void 0,If=zf?zf.valueOf:void 0;var Tf="[object Boolean]",jf="[object Date]",Of="[object Map]",Df="[object Number]",Rf="[object RegExp]",Pf="[object Set]",Lf="[object String]",Nf="[object Symbol]",Ff="[object ArrayBuffer]",Vf="[object DataView]",Hf="[object Float32Array]",Bf="[object Float64Array]",qf="[object Int8Array]",Uf="[object Int16Array]",Wf="[object Int32Array]",Zf="[object Uint8Array]",Qf="[object Uint8ClampedArray]",Gf="[object Uint16Array]",Yf="[object Uint32Array]";function Kf(e,t,n){var a,i,r,o=e.constructor;switch(t){case Ff:return Tm(e);case Tf:case jf:return new o(+e);case Vf:return function(e,t){var n=t?Tm(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case Hf:case Bf:case qf:case Uf:case Wf:case Zf:case Qf:case Gf:case Yf:return jm(e,n);case Of:return new o;case Df:case Lf:return new o(e);case Rf:return(r=new(i=e).constructor(i.source,Af.exec(i))).lastIndex=i.lastIndex,r;case Pf:return new o;case Nf:return a=e,If?Object(If.call(a)):{}}}var Xf=Pp&&Pp.isMap,Jf=Xf?Tp(Xf):function(e){return fp(e)&&"[object Map]"==pm(e)};var e_=Pp&&Pp.isSet,t_=e_?Tp(e_):function(e){return fp(e)&&"[object Set]"==pm(e)},n_=1,a_=2,i_=4,r_="[object Arguments]",o_="[object Function]",s_="[object GeneratorFunction]",c_="[object Object]",l_={};function d_(e,t,n,a,i,r){var o,s=t&n_,c=t&a_,l=t&i_;if(n&&(o=i?n(e,a,i,r):n(e)),void 0!==o)return o;if(!hh(e))return e;var d=dp(e);if(d){if(o=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&$f.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!s)return Om(e,o)}else{var u=pm(e),h=u==o_||u==s_;if(kp(e))return Im(e,s);if(u==c_||u==r_||h&&!i){if(o=c||h?{}:Lm(e),!s)return c?function(e,t){return Qm(e,Sf(e),t)}(e,function(e,t){return e&&Qm(t,Km(t),e)}(o,e)):function(e,t){return Qm(e,gp(e),t)}(e,function(e,t){return e&&Qm(t,Qp(t),e)}(o,e))}else{if(!l_[u])return i?e:{};o=Kf(e,u,s)}}r||(r=new Lh);var p=r.get(e);if(p)return p;r.set(e,o),t_(e)?e.forEach((function(a){o.add(d_(a,t,n,a,e,r))})):Jf(e)&&e.forEach((function(a,i){o.set(i,d_(a,t,n,i,e,r))}));var m=d?void 0:(l?c?Ef:Gp:c?Km:Qp)(e);return function(e,t){for(var n=-1,a=null==e?0:e.length;++nvoid 0===globalThis.DOMException?new __(e):new DOMException(e),y_=e=>{const t=void 0===e.reason?v_("This operation was aborted."):e.reason;return t instanceof Error?t:v_(t)};class b_{#e=[];enqueue(e,t){const n={priority:(t={priority:0,...t}).priority,run:e};if(this.size&&this.#e[this.size-1].priority>=t.priority)return void this.#e.push(n);const a=function(e,t,n){let a=0,i=e.length;for(;i>0;){const r=Math.trunc(i/2);let o=a+r;n(e[o],t)<=0?(a=++o,i-=r+1):i=r}return a}(this.#e,n,((e,t)=>t.priority-e.priority));this.#e.splice(a,0,n)}dequeue(){const e=this.#e.shift();return e?.run}filter(e){return this.#e.filter((t=>t.priority===e.priority)).map((e=>e.run))}get size(){return this.#e.length}}class w_ extends g_{#t;#n;#a=0;#i;#r;#o=0;#s;#c;#e;#l;#d=0;#u;#h;#p;timeout;constructor(e){if(super(),!("number"==typeof(e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:b_,...e}).intervalCap&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(void 0===e.interval||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#t=e.carryoverConcurrencyCount,this.#n=e.intervalCap===Number.POSITIVE_INFINITY||0===e.interval,this.#i=e.intervalCap,this.#r=e.interval,this.#e=new e.queueClass,this.#l=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#p=!0===e.throwOnTimeout,this.#h=!1===e.autoStart}get#m(){return this.#n||this.#a{this.#v()}),t)),!0;this.#a=this.#t?this.#d:0}return!1}#_(){if(0===this.#e.size)return this.#s&&clearInterval(this.#s),this.#s=void 0,this.emit("empty"),0===this.#d&&this.emit("idle"),!1;if(!this.#h){const e=!this.#w;if(this.#m&&this.#g){const t=this.#e.dequeue();return!!t&&(this.emit("active"),t(),e&&this.#b(),!0)}}return!1}#b(){this.#n||void 0!==this.#s||(this.#s=setInterval((()=>{this.#y()}),this.#r),this.#o=Date.now()+this.#r)}#y(){0===this.#a&&0===this.#d&&this.#s&&(clearInterval(this.#s),this.#s=void 0),this.#a=this.#t?this.#d:0,this.#x()}#x(){for(;this.#_(););}get concurrency(){return this.#u}set concurrency(e){if(!("number"==typeof e&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#u=e,this.#x()}async#C(e){return new Promise(((t,n)=>{e.addEventListener("abort",(()=>{n(e.reason)}),{once:!0})}))}async add(e,t={}){return t={timeout:this.timeout,throwOnTimeout:this.#p,...t},new Promise(((n,a)=>{this.#e.enqueue((async()=>{this.#d++,this.#a++;try{t.signal?.throwIfAborted();let a=e({signal:t.signal});t.timeout&&(a=function(e,t){const{milliseconds:n,fallback:a,message:i,customTimers:r={setTimeout:setTimeout,clearTimeout:clearTimeout}}=t;let o;const s=new Promise(((s,c)=>{if("number"!=typeof n||1!==Math.sign(n))throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${n}\``);if(t.signal){const{signal:e}=t;e.aborted&&c(y_(e)),e.addEventListener("abort",(()=>{c(y_(e))}))}if(n===Number.POSITIVE_INFINITY)return void e.then(s,c);const l=new f_;o=r.setTimeout.call(void 0,(()=>{if(a)try{s(a())}catch(e){c(e)}else"function"==typeof e.cancel&&e.cancel(),!1===i?s():i instanceof Error?c(i):(l.message=i??`Promise timed out after ${n} milliseconds`,c(l))}),n),(async()=>{try{s(await e)}catch(e){c(e)}})()})),c=s.finally((()=>{c.clear()}));return c.clear=()=>{r.clearTimeout.call(void 0,o),o=void 0},c}(Promise.resolve(a),{milliseconds:t.timeout})),t.signal&&(a=Promise.race([a,this.#C(t.signal)]));const i=await a;n(i),this.emit("completed",i)}catch(e){if(e instanceof f_&&!t.throwOnTimeout)return void n();a(e),this.emit("error",e)}finally{this.#f()}}),t),this.emit("add"),this.#_()}))}async addAll(e,t){return Promise.all(e.map((async e=>this.add(e,t))))}start(){return this.#h?(this.#h=!1,this.#x(),this):this}pause(){this.#h=!0}clear(){this.#e=new this.#l}async onEmpty(){0!==this.#e.size&&await this.#M("empty")}async onSizeLessThan(e){this.#e.sizethis.#e.size{const a=()=>{t&&!t()||(this.off(e,a),n())};this.on(e,a)}))}get size(){return this.#e.size}sizeBy(e){return this.#e.filter(e).length}get pending(){return this.#d}get isPaused(){return this.#h}}var x_={frigate_card:"Frigate card",frigate_card_description:"A Lovelace card for use with Frigate",live:"Live",no_media:"No media to display",recordings:"Recordings",version:"Version"},C_={cameras:{camera_entity:"Camera Entity",capabilities:{capabilities:{clips:"Clips","favorite-events":"Favorite Events","favorite-recordings":"Favorite Recordings",live:"Live",menu:"Menu",ptz:"PTZ",recordings:"Recordings",seek:"Seeking",snapshots:"Snapshots",substream:"Substream"},disable:"Disable",disable_except:"Disable except",editor_label:"Camera capabilities"},cast:{dashboard:{dashboard_path:"Dashboard path",view_path:"View path"},editor_label:"Cast options",method:"Cast method",methods:{dashboard:"Dashboard",standard:"Standard"}},dependencies:{all_cameras:"Show events for all cameras with this camera",cameras:"Show events for specific cameras with this camera",editor_label:"Dependency options"},dimensions:{aspect_ratio:"Static aspect ratio",editor_label:"Camera dimensions",layout:{editor_label:"Camera Layout",fit:"Layout fit",fits:{contain:"Media is contained/letterboxed",cover:"Media expands proportionally to cover the card",fill:"Media is stretched to fill the card"},pan:{x:"Pan horizontal percentage",y:"Pan vertical percentage"},position:{editor_label:"Layout Cover Position",x:"Horizontal placement percentage",y:"Vertical placement percentage"},view_box:{bottom:"Bottom inset percentage",editor_label:"Layout View Box",left:"Left inset percentage",right:"Right inset percentage",top:"Top inset percentage"},zoom:"Zoom factor"}},engines:{editor_label:"Camera engine options"},frigate:{camera_name:"Frigate camera name (Autodetected from entity)",client_id:"Frigate client id (For >1 Frigate server)",editor_label:"Frigate options",labels:"Frigate labels/object filters",url:"Frigate server URL",zones:"Frigate zones"},go2rtc:{editor_label:"go2rtc Options",modes:{editor_label:"go2rtc Modes",mjpeg:"Motion JPEG (MJPEG)",mp4:"MPEG-4 (MP4)",mse:"Media Source Extensions (MSE)",webrtc:"Web Real-Time Communication (WebRTC)"},stream:"go2rtc stream name"},icon:"Icon for this camera (Autodetected from entity)",id:"Unique id for this camera in this card",image:{editor_label:"Image Options",refresh_seconds:"Number of seconds after which to refresh live image (0=never)",url:"Image URL to use instead of camera entity snapshot"},live_provider:"Live view provider for this camera",live_provider_options:{editor_label:"Live provider options"},live_providers:{auto:"Automatic",go2rtc:"go2rtc",ha:"Home Assistant video stream (i.e. HLS, LL-HLS, WebRTC via HA)",image:"Home Assistant images",jsmpeg:"JSMpeg","webrtc-card":"WebRTC Card (i.e. AlexxIT's WebRTC Card)"},motioneye:{editor_label:"MotionEye options",images:{directory_pattern:"Images directory pattern",file_pattern:"Images file pattern"},movies:{directory_pattern:"Movies directory pattern",file_pattern:"Movies file pattern"},url:"MotionEye UI URL"},proxy:{dynamic:"Dynamic proxying",editor_label:"Camera proxying",media:{auto:"Media proxying automatically configured",editor_label:"Media proxying",false:"Media proxying disabled",true:"Media proxying enabled"},ssl_ciphers:{auto:"SSL ciphers automatically configured",default:"Default SSL ciphers",editor_label:"SSL ciphers",insecure:"Insecure SSL ciphers",intermediate:"Intermediate SSL ciphers",modern:"Modern SSL ciphers"},ssl_verification:{auto:"SSL verification automatically configured",editor_label:"SSL verification",false:"SSL verification disabled",true:"SSL verification enabled"}},reolink:{editor_label:"Reolink options",media_resolution:{editor_label:"Media Resolution",high:"High Resolution",low:"Low Resolution"},url:"Reolink UI URL"},title:"Title for this camera (Autodetected from entity)",triggers:{editor_label:"Trigger options",entities:"Trigger from other entities",events:{clips:"Events with new clips",editor_label:"Trigger Events",events:"All events",snapshots:"Events with new snapshots"},motion:"Trigger by auto-detecting the motion sensor",occupancy:"Trigger by auto-detecting the occupancy sensor"},webrtc_card:{editor_label:"WebRTC Card Options",entity:"WebRTC Card Camera Entity (Not a Frigate camera)",url:"WebRTC Card Camera URL"}},common:{controls:{builtin:"Built-in video controls",filter:{editor_label:"Media Filter",mode:"Filter mode",modes:{left:"Media filter in a drawer to the left",none:"No media filter",right:"Media filter in a drawer to the right"}},next_previous:{editor_label:"Next & Previous",size:"Next & previous control size in pixels",style:"Next & previous control style",styles:{chevrons:"Chevrons",icons:"Icons",none:"None",thumbnails:"Thumbnails"}},thumbnails:{editor_label:"Thumbnails",events_media_type:"Whether to show event thumbnails of clips or snapshots",events_media_types:{clips:"Clip thumbnails",snapshots:"Snapshot thumbnails"},media_type:"Whether to show thumnails of events or recordings",media_types:{events:"Events",recordings:"Recordings"},mode:"Thumbnails mode",modes:{above:"Thumbnails above",below:"Thumbnails below",left:"Thumbnails in a drawer to the left",none:"No thumbnails",right:"Thumbnails in a drawer to the right"},show_details:"Show details with thumbnails",show_download_control:"Show download control on thumbnails",show_favorite_control:"Show favorite control on thumbnails",show_timeline_control:"Show timeline control on thumbnails",size:"Thumbnails size in pixels"},timeline:{editor_label:"Mini Timeline",mode:"Mode",modes:{above:"Above",below:"Below",none:"None"},pan_mode:"Default pan mode",pan_modes:{pan:"Pan",seek:"Pan seeks across all media","seek-in-camera":"Pan seeks within selected camera only","seek-in-media":"Pan seeks within selected media item only"}}},display:{editor_label:"Display",grid_columns:"Exact number of grid columns",grid_max_columns:"Maximum number of grid columns",grid_selected_width_factor:"Increase selected media width by this factor",mode:"Mode"},image:{entity:"Entity for use with entity mode",entity_parameters:"Query parameters added to the entity-based picture URLs (e.g. width=1920&height=1080)",mode:"Image mode",modes:{camera:"Home Assistant camera snapshot of camera entity",entity:"Entity with entity_picture attribute",screensaver:"Embedded Frigate logo",url:"Arbitrary image specified by URL"},refresh_seconds:"Number of seconds after which to refresh (0=never)",url:"Static image URL"},media_action_conditions:{all:"All opportunities",hidden:"On browser/tab hiding",microphone_mute:"On microphone mute",microphone_unmute:"On microphone unmute",never:"Never",selected:"On selection",unselected:"On unselection",visible:"On browser/tab visibility"},timeline:{clustering_threshold:"The count of events at which they are clustered (0=no clustering)",events_media_type:"The events media the timeline displays",events_media_types:{all:"All event media types",clips:"Clips",snapshots:"Snapshots"},show_recordings:"Show recordings",style:"Timeline style",styles:{ribbon:"Events on a single ribbon",stack:"Stacked & clustered events"},window_seconds:"The default length of the timeline view in seconds"}},dimensions:{aspect_ratio:"Default aspect ratio (e.g. '16:9')",aspect_ratio_mode:"Aspect ratio mode",aspect_ratio_modes:{dynamic:"Aspect ratio adjusts to media",static:"Static aspect ratio",unconstrained:"Unconstrained aspect ratio"},height:"Card height in CSS units (e.g. '500px')"},live:{auto_mute:"Automatically mute live cameras",auto_pause:"Automatically pause live cameras",auto_play:"Automatically play live cameras",auto_unmute:"Automatically unmute live cameras",controls:{editor_label:"Live Controls",ptz:{editor_label:"PTZ",hide_home:"Hide home control",hide_pan_tilt:"Hide pan & tilt control",hide_zoom:"Hide zoom control",mode:"Mode",modes:{off:"Off",on:"On"},orientation:"Orientation",orientations:{horizontal:"Horizontal",vertical:"Vertical"},position:"Position",positions:{"bottom-left":"Bottom left","bottom-right":"Bottom right","top-left":"Top left","top-right":"Top right"}}},draggable:"Live cameras view can be dragged/swiped",lazy_load:"Live cameras are lazily loaded",lazy_unload:"Live cameras are lazily unloaded",microphone:{always_connected:"Always keep the microphone connected",disconnect_seconds:"Seconds after which to disconnect microphone (0=never)",editor_label:"Microphone",enabled:"Microphone enabled",mute_after_microphone_mute_seconds:"Seconds after microphone mute to mute inbound audio"},preload:"Preload live view in the background",show_image_during_load:"Show still image while the live stream is loading",transition_effect:"Live camera transition effect",zoomable:"Live cameras can be zoomed/panned"},media_viewer:{auto_mute:"Automatically mute media",auto_pause:"Automatically pause media",auto_play:"Automatically play media",auto_unmute:"Automatically unmute media",controls:{editor_label:"Media Viewer Controls"},draggable:"Media Viewer can be dragged/swiped",lazy_load:"Media Viewer media is lazily loaded in carousel",snapshot_click_plays_clip:"Clicking on a snapshot plays a related clip",transition_effect:"Media Viewer transition effect",transition_effects:{none:"No transition",slide:"Slide transition"},zoomable:"Media Viewer can be zoomed/panned"},menu:{alignment:"Menu alignment",alignments:{bottom:"Aligned to the bottom",left:"Aligned to the left",right:"Aligned to the right",top:"Aligned to the top"},button_size:"Menu button size in pixels",buttons:{alignment:"Button alignment",alignments:{matching:"Matching the menu alignment",opposing:"Opposing the menu alignment"},camera_ui:"Camera user interface",cameras:"Cameras",clips:"Clips",display_mode:"Display mode",download:"Download",enabled:"Button enabled",expand:"Expand",frigate:"Frigate menu / Default view",fullscreen:"Fullscreen",icon:"Icon",image:"Image",live:"Live",media_player:"Send to media player",microphone:"Microphone",mute:"Mute / Unmute",permanent:"Show when the menu is hidden",play:"Play / Pause",priority:"Priority",ptz_controls:"Show PTZ controls",ptz_home:"PTZ Home",recordings:"Recordings",screenshot:"Screenshot",snapshots:"Snapshots",substreams:"Substream(s)",timeline:"Timeline",type:"Button type",types:{momentary:"Momentary",toggle:"Toggle"}},position:"Menu position",positions:{bottom:"Positioned on the bottom",left:"Positioned on the left",right:"Positioned on the right",top:"Positioned on the top"},style:"Menu style",styles:{hidden:"Hidden menu",hover:"Hover menu","hover-card":"Hover menu (card-wide)",none:"No menu",outside:"Outside menu",overlay:"Overlay menu"}},overrides:{info:"This card configuration has manually specified overrides configured which may override values shown in the visual editor, please consult the code editor to view/modify these overrides"},performance:{features:{animated_progress_indicator:"Animated Progress Indicator",editor_label:"Feature Options",max_simultaneous_engine_requests:"Max simultaneous camera engine requests",media_chunk_size:"Media chunk size"},style:{border_radius:"Curves",box_shadow:"Shadows",editor_label:"Style Options"},warning:"This card is in low profile mode so defaults have changed to optimize performance"},profiles:{casting:"Casting",editor_label:"Configuration profiles","low-performance":"Low performance",scrubbing:"Video scrubbing"},status_bar:{height:"Status bar height in pixels",items:{enabled:"Item enabled",engine:"Camera engine",live_provider:"Live provider",priority:"Item priority",resolution:"Resolution",technology:"Technology",title:"Title"},popup_seconds:"Status bar popup seconds",position:"Status bar position",positions:{bottom:"Positioned on the bottom",top:"Positioned on the top"},style:"Status bar style",styles:{hover:"Hover status bar","hover-card":"Hover status bar (card-wide)",none:"No status bar",outside:"Outside status bar",overlay:"Overlay status bar",popup:"Popup status bar"}},view:{camera_select:"View for newly selected cameras",dark_mode:"Dark mode",dark_modes:{auto:"Auto",off:"Off",on:"On"},default:"Default view",default_cycle_camera:"Cycle through cameras when default view updates",default_reset:{after_interaction:"Reset to the default view after user interaction ends",editor_label:"Default view reset behavior",entities:"Reset to the default view on entity state change",every_seconds:"Reset to default view every X seconds (0=never)",interaction_mode:"How default reset behaves when the card has human interaction",interaction_modes:{active:"Only allow reset when card has active human interaction",all:"Reset regardless of human interaction",inactive:"Only reset when card has no human interaction"}},interaction_seconds:"Seconds after user action to remain interacted with (0=never)",keyboard_shortcuts:{editor_label:"Keyboard shortcuts",enabled:"Keyboard shortcuts enabled",ptz_down:"PTZ Down",ptz_home:"PTZ Home",ptz_left:"PTZ Left",ptz_right:"PTZ Right",ptz_up:"PTZ Up",ptz_zoom_in:"PTZ Zoom In",ptz_zoom_out:"PTZ Zoom Out"},triggers:{actions:{editor_label:"Trigger actions",interaction_mode:"How to handle actions when the card has human interaction",interaction_modes:{active:"Only trigger actions when card has human interaction",all:"Trigger actions regardless of human interaction",inactive:"Only trigger actions when card has no human interaction"},trigger:"Trigger action",triggers:{default:"Change to or update default view",live:"Change to or update live view",media:"Change to the relevant media view for new media",none:"No action"},untrigger:"Untrigger action",untriggers:{default:"Change to default view/camera",none:"No action"}},editor_label:"Trigger behavior",filter_selected_camera:"Only trigger on selected camera",show_trigger_status:"Show pulsing border when triggered",untrigger_seconds:"Seconds after inactive state change to untrigger"},views:{clip:"Most recent clip",clips:"Clips gallery",current:"Current view",image:"Static image",live:"Live view",recording:"Most recent recording",recordings:"Recordings gallery",snapshot:"Most recent snapshot",snapshots:"Snapshots gallery",timeline:"Timeline view"}}},M_={grid:"Show media viewer for each camera in a grid",single:"Show single media viewer"},k_={add_new_camera:"Add new camera",button:"Button",camera:"Camera",cameras:"Cameras",cameras_secondary:"What cameras to render on this card",delete:"Delete",dimensions:"Card dimensions",dimensions_secondary:"Card dimensions & shape options",image:"Image",image_secondary:"Static image view options",live:"Live",live_secondary:"Live camera view options",media_gallery:"Media gallery",media_gallery_secondary:"Media gallery options",media_viewer:"Media viewer",media_viewer_secondary:"Viewer for static media (clips, snapshots or recordings)",menu:"Menu",menu_secondary:"Menu look & feel options",move_down:"Move down",move_up:"Move up",overrides:"Overrides are active",overrides_secondary:"Dynamic configuration overrides detected",performance:"Performance",performance_secondary:"Card performance options",profiles:"Configuration profiles",profiles_secondary:"Choose pre-configured sets of defaults",status_bar:"Status bar",status_bar_secondary:"Status bar look & feel options",timeline:"Timeline",timeline_secondary:"Event timeline options",upgrade:"Upgrade",upgrade_available:"An automatic card configuration upgrade is available",view:"View",view_secondary:"What the card should show and how to show it"},S_={ptz:{down:"Down",home:"Home",left:"Left",right:"Right",up:"Up",zoom_in:"Zoom In",zoom_out:"Zoom Out"}},E_={awaiting_live:"Waiting for live stream to load ...",awaiting_media:"Waiting for media to load",camera_initialization:"Camera initialization failed",camera_initialization_reolink:"Could not initialize Reolink camera",could_not_render_elements:"Could not render picture elements",could_not_resolve:"Could not resolve media URL",diagnostics:"Card diagnostics. Please review for confidential information prior to sharing",download_no_media:"No media to download",download_sign_failed:"Could not sign media URL for download",duplicate_camera_id:"Duplicate Frigate camera id for the following camera, use the 'id' parameter to uniquely identify cameras",empty_response:"Received empty response from Home Assistant for request",failed_response:"Failed to receive response from Home Assistant for request",failed_retain:"Could not retain event",failed_sign:"Could not sign Home Assistant URL",image_load_error:"The image could not be loaded",invalid_configuration:"Invalid configuration",invalid_configuration_no_hint:"No location hint available (bad or missing type?)",invalid_configuration_override:"Invalid override configuration",invalid_elements_config:"Invalid picture elements configuration",invalid_response:"Received invalid response from Home Assistant for request",jsmpeg_no_player:"Could not start JSMPEG player",live_camera_no_endpoint:"Could not get camera endpoint for this live provider (incomplete configuration?)",live_camera_not_found:"The configured camera_entity was not found",live_camera_unavailable:"Camera unavailable",no_camera_engine:"Could not determine suitable engine for camera",no_camera_entity:"Could not find camera entity",no_camera_entity_for_triggers:"A camera entity is required in order to autodetect triggers",no_camera_id:"Could not determine camera id for the following camera, may need to set 'id' parameter manually",no_camera_name:"Could not determine a Frigate camera name for camera (or one of its dependents), please specify either 'camera_entity' or 'camera_name'",no_dashboard_or_view:"Both 'dashboard_path' and 'view_path' parameters are required for the 'dashboard' cast method",no_live_camera:"The camera_entity parameter must be set and valid for this live provider",no_supported_camera:"The selected camera does not support this view",no_supported_cameras:"No cameras support this view",reconnecting:"Reconnecting",too_many_automations:"Too many nested automation calls, please check your configuration for loops",troubleshooting:"Check troubleshooting",unknown:"Unknown error",upgrade_available:"An automated card configuration upgrade is available, please visit the visual card editor",webrtc_card_reported_error:"WebRTC Card reported an error",webrtc_card_waiting:"Waiting for WebRTC Card to load ..."},$_={camera:"Camera",duration:"Duration",in_progress:"In Progress",score:"Score",seek:"Seek",start:"Start",tag:"Tag",what:"What",where:"Where"},A_={assign:"Assign",assigning:"Assigning",modifiers:{alt:"Alt",ctrl:"Ctrl",meta:"Meta",shift:"Shift"},unassign:"Unassign"},z_={all:"All",camera:"Camera",favorite:"Favorite",media_type:"Media Type",media_types:{clips:"Clips",recordings:"Recordings",snapshots:"Snapshots"},not_favorite:"Not Favorite",select_camera:"Select camera...",select_favorite:"Select favorite...",select_media_type:"Select media type...",select_tag:"Select tag...",select_what:"Select what...",select_when:"Select when...",select_where:"Select where...",tag:"Tag",what:"What",when:"When",whens:{custom:"Custom",past_month:"Past Month",past_week:"Past Week",today:"Today",yesterday:"Yesterday"},where:"Where"},I_={unseekable:"Seek time not found in media"},T_={camera:"Camera",duration:"Duration",events:"Events",in_progress:"In Progress",seek:"Seek",start:"Start"},j_={download:"Download media",no_thumbnail:"No thumbnail available",retain_indefinitely:"Media will be indefinitely retained",timeline:"See media in timeline"},O_={select_date:"Choose date"},D_={common:x_,config:C_,display_modes:M_,editor:k_,elements:S_,error:E_,event:$_,key_assigner:A_,media_filter:z_,media_viewer:I_,recording:T_,thumbnail:j_,timeline:O_},R_=Object.freeze({__proto__:null,common:x_,config:C_,default:D_,display_modes:M_,editor:k_,elements:S_,error:E_,event:$_,key_assigner:A_,media_filter:z_,media_viewer:I_,recording:T_,thumbnail:j_,timeline:O_});const P_="en",L_={[P_]:R_};let N_;function F_(e){const t=e=>e.replace("-","_"),n=e?.language??e?.selectedLanguage;if(n)return t(n);const a=localStorage.getItem("selectedLanguage");if(a){const e=JSON.parse(a);if(e)return t(e)}for(const e of navigator.languages){const n=t(e);if(n&&n in L_)return n}return P_}function V_(e,t="",n=""){let a="";try{a=e.split(".").reduce(((e,t)=>e[t]),L_[N_??P_])}catch(e){}return a||(a=e.split(".").reduce(((e,t)=>e[t]),L_[P_])),""!==t&&""!==n&&(a=a.replace(t,n)),a}function H_(e){return"string"==typeof e?.id&&e.id||"string"==typeof e?.camera_entity&&e.camera_entity||"object"==typeof e?.webrtc_card&&e.webrtc_card&&("string"==typeof e.webrtc_card.entity&&e.webrtc_card.entity||"string"==typeof e.webrtc_card.url&&e.webrtc_card.url)||"object"==typeof e?.go2rtc&&e.go2rtc&&"string"==typeof e.go2rtc.url&&"string"==typeof e.go2rtc.stream&&`${e.go2rtc.url}#${e.go2rtc.stream}`||"object"==typeof e?.frigate&&e.frigate&&"string"==typeof e?.frigate.camera_name&&e.frigate.camera_name||""}const B_=(e,...t)=>{e?.debug?.logging&&console.debug(...t)},q_=(e,t,n)=>"preset"===t?(n?.preset?e.ptz.presets?.[n.preset]:null)??null:n?.phase?e.ptz[`actions_${t}_${n.phase}`]??null:e.ptz[`actions_${t}`]??null,U_=(e,t,n)=>!!q_(e,t,n),W_=(e,t)=>{const n=U_(e,t,{phase:"start"})&&U_(e,t,{phase:"stop"}),a=U_(e,t);return n||a?[...n?["continuous"]:[],...a?["relative"]:[]]:null},Z_=e=>{const t=W_(e,"left"),n=W_(e,"right"),a=W_(e,"up"),i=W_(e,"down"),r=W_(e,"zoom_in"),o=W_(e,"zoom_out"),s=e.ptz.presets?Object.keys(e.ptz.presets):void 0;return t?.length||n?.length||a?.length||i?.length||r?.length||o?.length||s?.length?{...t?{left:t}:{},...n?{right:n}:{},...a?{up:a}:{},...i?{down:i}:{},...r?{zoomIn:r}:{},...o?{zoomOut:o}:{},...s?{presets:s}:{}}:null};class Q_{constructor(e,t){this._capabilities=e;for(const e of t?.disable??[])this._disable(e);for(const e of Ts)t?.disableExcept?.length&&!t.disableExcept.includes(e)&&this._disable(e)}_disable(e){delete this._capabilities[e]}matches(e){let t=!0;return"string"==typeof e&&(t&&=this.has(e)),"object"==typeof e&&e.allCapabilities&&(t&&=e.allCapabilities.every((e=>this.has(e)))),"object"==typeof e&&e.anyCapabilities&&(t&&=e.anyCapabilities.some((e=>this.has(e)))),t}has(e){return!!this._capabilities[e]}getPTZCapabilities(){return this._capabilities.ptz??null}hasPTZCapability(){return!!(this._capabilities.ptz?.down?.length||this._capabilities.ptz?.up?.length||this._capabilities.ptz?.left?.length||this._capabilities.ptz?.right?.length||this._capabilities.ptz?.zoomIn?.length||this._capabilities.ptz?.zoomOut?.length||this._capabilities.ptz?.presets?.length)}getRawCapabilities(){return this._capabilities}}function G_(e,t,n){var a=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(n=n>i?i:n)<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var r=Array(i);++at||r&&o&&c&&!s&&!l||a&&o&&c||!n&&c||!i)return 1;if(!a&&!r&&!l&&e=s?c:c*("desc"==n[a]?-1:1)}return e.index-t.index}(e,t,n)}))}function Ev(e,t,n,a){return null==e?[]:(dp(t)||(t=null==t?[]:[t]),dp(n=a?void 0:n)||(n=null==n?[]:[n]),Sv(e,t,n))}async function $v(e,t,n,a=!1){let i;try{i=await e.callWS(n)}catch(e){if(!(e instanceof Error))throw new zs(V_("error.failed_response"),{request:n,response:e});throw e}if(!i)throw new zs(V_("error.empty_response"),{request:n});const r=a?t.safeParse(JSON.parse(i)):t.safeParse(i);if(!r.success)throw new zs(V_("error.invalid_response"),{request:n,response:i,invalid_keys:Rs(r.error)});return r.data}const Av=ba.lazy((()=>ba.object({title:ba.string(),media_class:ba.string(),media_content_type:ba.string(),media_content_id:ba.string(),can_play:ba.boolean(),can_expand:ba.boolean(),children_media_class:ba.string().nullable().optional(),thumbnail:ba.string().nullable(),children:ba.array(Av).nullable().optional()}))),zv="video",Iv="image",Tv=60,jv=e=>Ev(e,(e=>e._metadata?.startDate),"desc");class Ov{async walkBrowseMedias(e,t,n){return t&&t.length?(await tf(t,(async t=>await this._walkBrowseMedia(e,t,n)))).flat():[]}async _walkBrowseMedia(e,t,n){let a=[];for(const i of function(e,t,n){t=(n?dg(e,t,n):void 0===t)?1:K_(Sg(t),0);var a=null==e?0:e.length;if(!a||t<1)return[];for(var i=0,r=0,o=Array(Y_(a/t));iawait this._browseMedia(e,a,{cache:n?.cache,matcher:t.matcher,metadataGenerator:t.metadataGenerator})));for(const e of r)for(const n of e.children??[])t.matcher(n)&&a.push(n);if(t.sorter&&(a=t.sorter(a)),t.earlyExit&&t.earlyExit(a))break}const i=t.advance?t.advance(a):null;return i?.length?await this.walkBrowseMedias(e,i,n):a}async _browseMedia(e,t,n){const a="object"==typeof t?t.media_content_id:t,i=n?.cache?n.cache.get(a):null;if(i)return i;const r={type:"media_source/browse_media",media_content_id:a},o=await $v(e,Av,r);if(n?.metadataGenerator)for(const e of o.children??[])e._metadata=n.metadataGenerator(e,"object"==typeof t?t:void 0)??void 0;return n?.cache&&n.cache.set(a,o,Ud(new Date,{seconds:60})),o}}function Dv(e,t){return bm(e,t)}function Rv(e,t){return e&&e.length?function(e,t){for(var n=-1,a=e.length,i=0,r=[];++nNv(t,e)))}add(e){this._ranges.push(e),this._ranges=Vv(this._ranges)}clear(){this._ranges=[]}}class Lv{constructor(e){this._ranges=e??[]}hasCoverage(e){const t=new Date;return this._ranges.some((n=>tet.start>=e.start&&t.end<=e.end,Fv=(e,t)=>e.start>=t.start&&e.start<=t.end||e.end>=t.start&&e.end<=t.end||e.start<=t.start&&e.end>=t.end,Vv=(e,t=0)=>{const n=[];e=Ev(e,(e=>e.start),"asc");let a=null;for(const i of e){const e=i.start instanceof Date?i.start.getTime():i.start;if(!a){a={...i};continue}(a.end instanceof Date?a.end.getTime():a.end)+1e3*t>=e?i.end>a.end&&(a.end=i.end):(n.push(a),a={...i})}return a&&n.push(a),n};class Hv{constructor(){this._data=[]}get(e){const t=new Date;for(const n of this._data)if((!n.expires||t<=n.expires)&&this._contains(e,n.request))return n.response;return null}clear(){this._data=[]}has(e){return!!this.get(e)}set(e,t,n){this._data.push({request:e,response:t,expires:n}),this._expireOldRequests()}_contains(e,t){return Dv(e,t)}_expireOldRequests(){const e=new Date;this._data=this._data.filter((t=>!t.expires||e=e.start.getTime()){if(a>e.end.getTime())break;t.push(n)}}return t}getSize(){return this._data.length}expireMatches(e){this._data=this._data.filter((t=>!e(t)))}}class Uv{constructor(){this._segments=new Map}add(e,t,n){let a=this._segments.get(e);a||(a=new qv((e=>1e3*e.start_time),(e=>e.id)),this._segments.set(e,a)),a.add(t,n)}clear(){this._segments.clear()}hasCoverage(e,t){return!!this._segments.get(e)?.hasCoverage(t)}get(e,t){return this._segments.get(e)?.get(t)??null}getSize(e){return this._segments.get(e)?.getSize()??null}getCameraIDs(){return[...this._segments.keys()]}expireMatches(e,t){this._segments.get(e)?.expireMatches(t)}}class Wv extends zs{}class Zv extends zs{}var Qv,Gv,Yv;!function(e){e.Event="event-query",e.Recording="recording-query",e.RecordingSegments="recording-segments-query",e.MediaMetadata="media-metadata"}(Qv||(Qv={})),function(e){e.Event="event-results",e.Recording="recording-results",e.RecordingSegments="recording-segments-results",e.MediaMetadata="media-metadata-results"}(Gv||(Gv={})),function(e){e.Frigate="frigate",e.Generic="generic",e.MotionEye="motioneye",e.Reolink="reolink"}(Yv||(Yv={}));const Kv=e=>e.camera_entity??e.webrtc_card?.entity??null;class Xv{constructor(e){this._entityRegistryManager=e}async createEngine(e,t){let n;switch(e){case Yv.Generic:const{GenericCameraManagerEngine:e}=await import("./engine-generic-31c14ad9.js").then((function(e){return e.e}));n=new e(t.stateWatcher,t.eventCallback);break;case Yv.Frigate:const{FrigateCameraManagerEngine:a}=await import("./engine-frigate-3f150159.js");n=new a(this._entityRegistryManager,t.stateWatcher,new Uv,new Bv,t.eventCallback);break;case Yv.MotionEye:const{MotionEyeCameraManagerEngine:i}=await import("./engine-motioneye-fa799851.js");n=new i(this._entityRegistryManager,t.stateWatcher,new Ov,t.resolvedMediaCache,new Bv,t.eventCallback);break;case Yv.Reolink:const{ReolinkCameraManagerEngine:r}=await import("./engine-reolink-5d642010.js");n=new r(this._entityRegistryManager,t.stateWatcher,new Ov,t.resolvedMediaCache,new Bv,t.eventCallback)}return n}async getEngineForCamera(e,t){let n=null;if("frigate"===t.engine)n=Yv.Frigate;else if("motioneye"===t.engine)n=Yv.MotionEye;else if("generic"===t.engine)n=Yv.Generic;else if("reolink"===t.engine)n=Yv.Reolink;else{const a=Kv(t);if(a){const i=await this._entityRegistryManager.getEntity(e,a);if(!i){if(e.states[a])return Yv.Generic;throw new Wv(V_("error.no_camera_entity"),t)}switch(i?.platform){case"frigate":n=Yv.Frigate;break;case"motioneye":n=Yv.MotionEye;break;case"reolink":n=Yv.Reolink;break;default:n=Yv.Generic}}else t.frigate.camera_name?n=Yv.Frigate:(t.webrtc_card?.url||t.go2rtc?.url&&t.go2rtc?.stream)&&(n=Yv.Generic)}return n}}class Jv{constructor(){this._cameras=new Map,this._enginesByType=new Map}addCamera(e){this._cameras.set(e.getID(),e),this._enginesByType.set(e.getEngine().getEngineType(),e.getEngine())}async setCameras(e){for(const t of e){const e=this._cameras.get(t.getID());e!==t&&(this.addCamera(t),await(e?.destroy()))}for(const t of this._cameras.values())e.includes(t)||(await t.destroy(),this._cameras.delete(t.getID()))}async reset(){await tf(this._cameras.values(),(e=>e.destroy())),this._cameras.clear(),this._enginesByType.clear()}getCamera(e){return this._cameras.get(e)??null}getCameras(){return this._cameras}getCameraConfig(e){return this._cameras.get(e)?.getConfig()??null}hasCameraID(e){return this._cameras.has(e)}getCameraCount(){return this._cameras.size}getDefaultCameraID(){return this._cameras.keys().next().value??null}*getCameraConfigs(e){for(const[t,n]of this.getCameraConfigEntries(e))yield n}*getCameraConfigEntries(e){for(const t of e??this._cameras.keys()){const e=this.getCameraConfig(t);e&&(yield[t,e])}}getCameraIDs(){return new Set(this._cameras.keys())}getCameraIDsWithCapability(e){const t=new Set;for(const n of this._cameras.values())n.getCapabilities()?.matches(e)&&t.add(n.getID());return t}getCameraConfigForMedia(e){return this.getCameraConfig(e.getCameraID())}getEngineOfType(e){return this._enginesByType.get(e)??null}getEngineForCameraID(e){return this._cameras.get(e)?.getEngine()??null}getEnginesForCameraIDs(e){const t=new Map;for(const n of e){const e=this.getEngineForCameraID(n);e&&(t.has(e)||t.set(e,new Set),t.get(e)?.add(n))}return t.size?t:null}getEngineForMedia(e){return this.getEngineForCameraID(e.getCameraID())}getAllDependentCameras(e,t){const n=new Set,a=new Set,i=e=>{n.add(e);const r=this.getCamera(e),o=r?.getConfig();if(r&&o){t&&!r.getCapabilities()?.matches(t)||a.add(e);const s=new Set;o.dependencies.cameras.forEach((e=>s.add(e))),o.dependencies.all_cameras&&this.getCameraIDs().forEach((e=>s.add(e)));for(const e of s)n.has(e)||i(e)}};return i(e),a}}const ey=e=>{return Ev((n=e=>e.getID()??e,(t=e)&&t.length?Hg(t,xv(n)):[]),(e=>e.getStartTime()??e.getID()),"asc");var t,n};class ty{static isEventQuery(e){return e.type===Qv.Event}static isRecordingQuery(e){return e.type===Qv.Recording}static isRecordingSegmentsQuery(e){return e.type===Qv.RecordingSegments}static isMediaMetadataQuery(e){return e.type===Qv.MediaMetadata}}class ny{static isEventQueryResult(e){return e.type===Gv.Event}static isRecordingQueryResult(e){return e.type===Gv.Recording}static isRecordingSegmentsQueryResult(e){return e.type===Gv.RecordingSegments}static isMediaMetadataQueryResult(e){return e.type===Gv.MediaMetadata}}class ay{constructor(e,t){this._requestLimit=new w_,this._api=e,this._engineFactory=t?.factory??new Xv(this._api.getEntityRegistryManager()),this._store=t?.store??new Jv}async initializeCamerasFromConfig(){const e=this._api.getConfigManager().getConfig(),t=this._api.getHASSManager().getHASS();if(!e||!t)return!1;this._requestLimit.concurrency=e.performance.features.max_simultaneous_engine_requests??1/0;const n=e.cameras.map((t=>{return n={},a=u_(e?.cameras_global),hg(n,a,t,((e,t)=>Array.isArray(t)?t:void 0));var n,a}));try{await this._initializeCameras(n)}catch(e){return this._api.getMessageManager().setErrorIfHigherPriority(e,V_("error.camera_initialization")),!1}return!0}async reset(){await this._store.reset()}async _getEnginesForCameras(e){const t=new Map,n=new Map,a=this._api.getHASSManager().getHASS(); -/* istanbul ignore if: the if path cannot be reached -- @preserve */ -if(!a)return t;const i=await(async e=>await tf(e,(e=>this._engineFactory.getEngineForCamera(a,e))))(e);for(const[a,r]of e.entries()){const e=i[a],o=e?n.get(e)??await this._engineFactory.createEngine(e,{eventCallback:e=>this._api.getTriggersManager().handleCameraEvent(e),stateWatcher:this._api.getHASSManager().getStateWatcher(),resolvedMediaCache:this._api.getResolvedMediaCache()}):null;if(!o||!e)throw new Wv(V_("error.no_camera_engine"),u_(r));n.set(e,o),t.set(r,o)}return t}async _initializeCameras(e){const t=new Date,n=this._api.getHASSManager().getHASS(); -/* istanbul ignore if: the if path cannot be reached -- @preserve */ -if(!n)return;e.some((e=>(e=>e.triggers.motion||e.triggers.occupancy)(e)))&&await this._api.getEntityRegistryManager().fetchEntityList(n);const a=await this._getEnginesForCameras(e),i=await tf(a.entries(),(async([e,t])=>await t.createCamera(n,e))),r=async()=>{i.forEach((e=>e.destroy()))},o=new Set;for(const e of i){const t=H_(e.getConfig());if(!t)throw await r(),new Wv(V_("error.no_camera_id"),e.getConfig());if(o.has(t))throw await r(),new Wv(V_("error.duplicate_camera_id"),e.getConfig());e.setID(t),o.add(t)}await this._store.setCameras(i),B_(this._api.getConfigManager().getCardWideConfig(),"Frigate Card CameraManager initialized (Cameras: ",this._store.getCameras(),`, Duration: ${((new Date).getTime()-t.getTime())/1e3}s,`,")")}isInitialized(){return this._store.getCameraCount()>0}getStore(){return this._store}generateDefaultEventQueries(e,t){return this._generateDefaultQueries(e,{type:Qv.Event,...t})}generateDefaultRecordingQueries(e,t){return this._generateDefaultQueries(e,{type:Qv.Recording,...t})}generateDefaultRecordingSegmentsQueries(e,t){return this._generateDefaultQueries(e,{type:Qv.RecordingSegments,...t})}_generateDefaultQueries(e,t){const n=[],a=Zg(e),i=this._store.getEnginesForCameraIDs(a);if(!i)return null;for(const[e,a]of i){let i=null; -/* istanbul ignore else: the else path cannot be reached -- @preserve */ty.isEventQuery(t)?i=e.generateDefaultEventQuery(this._store,a,t):ty.isRecordingQuery(t)?i=e.generateDefaultRecordingQuery(this._store,a,t):ty.isRecordingSegmentsQuery(t)&&(i=e.generateDefaultRecordingSegmentsQuery(this._store,a,t));for(const e of i??[])n.push(e)}return n.length?n:null}async getMediaMetadata(){const e=new Set,t=new Set,n=new Set,a=new Set,i={type:Qv.MediaMetadata,cameraIDs:this._store.getCameraIDs()},r=await this._handleQuery(i);for(const i of r.values())i.metadata.tags&&i.metadata.tags.forEach(e.add,e),i.metadata.what&&i.metadata.what.forEach(t.add,t),i.metadata.where&&i.metadata.where.forEach(n.add,n),i.metadata.days&&i.metadata.days.forEach(a.add,a);return t.size||n.size||a.size||e.size?{...e.size&&{tags:e},...t.size&&{what:t},...n.size&&{where:n},...a.size&&{days:a}}:null}async getEvents(e,t){return await this._handleQuery(e,t)}async getRecordings(e,t){return await this._handleQuery(e,t)}async getRecordingSegments(e,t){return await this._handleQuery(e,t)}async executeMediaQueries(e,t){return this._convertQueryResultsToMedia(await this._handleQuery(e,t))}async extendMediaQueries(e,t,n,a){if(!this._api.getHASSManager().getHASS())return null;const i=e=>{let n=null;for(const a of t){const t=a.getStartTime();t&&(!n||"earliest"===e&&tn)&&(n=t)}return n},r=this._api.getConfigManager().getCardWideConfig()?.performance?.features.media_chunk_size??50,o=[],s=[];for(const t of e){const e={...t}; -/* istanbul ignore else: the else path cannot be reached -- @preserve */if("later"===n){const t=i("latest");t&&(e.start=t,delete e.end)}else if("earlier"===n){const t=i("earliest");t&&(e.end=t,delete e.start)}e.limit=r,s.push({...t,limit:(t.limit??0)+r}),o.push(e)}const c=this._convertQueryResultsToMedia(await this._handleQuery(o,a));if(!c.length)return null;const l=ey(t.concat(c));return l.length===t.length?null:{queries:s,results:l}}async getMediaDownloadPath(e){const t=this._store.getCameraConfigForMedia(e),n=this._store.getEngineForMedia(e),a=this._api.getHASSManager().getHASS();return t&&n&&a?await n.getMediaDownloadPath(a,t,e):null}getMediaCapabilities(e){const t=this._store.getEngineForMedia(e);return t?t.getMediaCapabilities(e):null}async favoriteMedia(e,t){const n=this._store.getCameraConfigForMedia(e),a=this._store.getEngineForMedia(e),i=this._api.getHASSManager().getHASS();if(!n||!a||!i)return;const r=new Date;await this._requestLimit.add((()=>a.favoriteMedia(i,n,e,t))),B_(this._api.getConfigManager().getCardWideConfig(),"Frigate Card CameraManager favorite request (",`Duration: ${((new Date).getTime()-r.getTime())/1e3}s,`,"Media:",e.getID(),", Favorite:",t,")")}areMediaQueriesResultsFresh(e,t){const n=new Date;for(const a of e){const e=this._store.getEnginesForCameraIDs(a.cameraIDs);for(const[i,r]of e??[]){const e=i.getQueryResultMaxAge({...a,cameraIDs:r});if(null!==e&&Ud(t,{seconds:e})a?null:await this._requestLimit.add((()=>i.getMediaSeekTime(r,this._store,e,t)))??null}async _handleQuery(e,t){const n=Wg(e),a=new Map,i=new Date,r=this._api.getHASSManager().getHASS();if(!r)return a;const o=async(e,n)=>{let i=null; -/* istanbul ignore else: the else path cannot be reached -- @preserve */ty.isEventQuery(n)?i=await e.getEvents(r,this._store,n,t):ty.isRecordingQuery(n)?i=await e.getRecordings(r,this._store,n,t):ty.isRecordingSegmentsQuery(n)?i=await e.getRecordingSegments(r,this._store,n,t):ty.isMediaMetadataQuery(n)&&(i=await e.getMediaMetadata(r,this._store,n,t)),i?.forEach(((e,t)=>a.set(t,e)))},s=async e=>{const t=this._store.getEnginesForCameraIDs(e.cameraIDs);t&&await Promise.all(Array.from(t.keys()).map((n=>this._requestLimit.add((()=>o(n,{...e,cameraIDs:t.get(n)}))))))};await Promise.all(n.map((e=>s(e))));const c=(l=Array.from(a.values()).map((e=>Number(e.cached??0))))&&l.length?function(e,t){for(var n,a=-1,i=e.length;++athis._store.getCamera(e))).filter(sf);return new Q_({live:t.some((e=>e.getCapabilities()?.has("live"))),clips:t.some((e=>e.getCapabilities()?.has("clips"))),recordings:t.some((e=>e.getCapabilities()?.has("recordings"))),snapshots:t.some((e=>e.getCapabilities()?.has("snapshots"))),"favorite-events":t.some((e=>e.getCapabilities()?.has("favorite-events"))),"favorite-recordings":t.some((e=>e.getCapabilities()?.has("favorite-recordings"))),seek:t.some((e=>e.getCapabilities()?.has("seek"))),menu:t.some((e=>e.getCapabilities()?.has("menu")))})}async executePTZAction(e,t,n){const a=this._store.getCameraConfig(e);if(!a)return;const i=q_(a,t,n);if(i)return await this._api.getActionsManager().executeActions(i);const r=this._api.getHASSManager().getHASS(),o=this._store.getEngineForCameraID(e);return o&&r?await this._requestLimit.add((()=>o.executePTZAction(r,a,t,n))):void 0}}class iy{constructor(e){this._cache=new Map,this._keyCallback=e}has(e){return this._cache.has(e)}getMatches(e){return[...this._cache.values()].filter(e)}get(e){return this._cache.get(e)??null}add(e){const t=e=>this._cache.set(this._keyCallback(e),e);Array.isArray(e)?e.forEach(t):t(e)}}const ry=ba.object({id:ba.string(),model:ba.string().nullable(),config_entries:ba.string().array(),manufacturer:ba.string().nullable()}).array();class oy{constructor(e){this._fetchedDeviceList=!1,this._cache=e}async getDevice(e,t){return this._cache.has(t)?this._cache.get(t):(await this._fetchDeviceList(e),this._cache.get(t)??null)}async getMatchingDevices(e,t){return await this._fetchDeviceList(e),this._cache.getMatches(t)}async _fetchDeviceList(e){if(this._fetchedDeviceList)return;let t=null;try{t=await $v(e,ry,{type:"config/device_registry/list"})}catch(e){return void Gg(e)}this._cache.add(t),this._fetchedDeviceList=!0}}const sy=ba.object({config_entry_id:ba.string().nullable(),device_id:ba.string().nullable(),disabled_by:ba.string().nullable(),entity_id:ba.string(),hidden_by:ba.string().nullable(),platform:ba.string(),translation_key:ba.string().nullable(),unique_id:ba.string().or(ba.number()).optional()}),cy=sy.array();class ly{constructor(e){this._fetchedEntityList=!1,this._cache=e}async getEntity(e,t){const n=this._cache.get(t);if(n)return n;let a=null;try{a=await $v(e,sy,{type:"config/entity_registry/get",entity_id:t})}catch(e){return Gg(e),null}return this._cache.add(a),a}async getMatchingEntities(e,t){return await this.fetchEntityList(e),this._cache.getMatches(t)}async getEntities(e,t){const n=new Map;return await Promise.all(t.map((async t=>{const a=await this.getEntity(e,t);a&&n.set(t,a)}))),n}async fetchEntityList(e){if(this._fetchedEntityList)return;let t=null;try{t=await $v(e,cy,{type:"config/entity_registry/list"})}catch(e){return void Gg(e)}this._cache.add(t),this._fetchedEntityList=!0}}class dy extends Map{constructor(e={}){if(super(),!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");if("number"==typeof e.maxAge&&0===e.maxAge)throw new TypeError("`maxAge` must be a number greater than 0");this.maxSize=e.maxSize,this.maxAge=e.maxAge||Number.POSITIVE_INFINITY,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_emitEvictions(e){if("function"==typeof this.onEviction)for(const[t,n]of e)this.onEviction(t,n.value)}_deleteIfExpired(e,t){return"number"==typeof t.expiry&&t.expiry<=Date.now()&&("function"==typeof this.onEviction&&this.onEviction(e,t.value),this.delete(e))}_getOrDeleteIfExpired(e,t){if(!1===this._deleteIfExpired(e,t))return t.value}_getItemValue(e,t){return t.expiry?this._getOrDeleteIfExpired(e,t):t.value}_peek(e,t){const n=t.get(e);return this._getItemValue(e,n)}_set(e,t){this.cache.set(e,t),this._size++,this._size>=this.maxSize&&(this._size=0,this._emitEvictions(this.oldCache),this.oldCache=this.cache,this.cache=new Map)}_moveToRecent(e,t){this.oldCache.delete(e),this._set(e,t)}*_entriesAscending(){for(const e of this.oldCache){const[t,n]=e;if(!this.cache.has(t)){!1===this._deleteIfExpired(t,n)&&(yield e)}}for(const e of this.cache){const[t,n]=e;!1===this._deleteIfExpired(t,n)&&(yield e)}}get(e){if(this.cache.has(e)){const t=this.cache.get(e);return this._getItemValue(e,t)}if(this.oldCache.has(e)){const t=this.oldCache.get(e);if(!1===this._deleteIfExpired(e,t))return this._moveToRecent(e,t),t.value}}set(e,t,{maxAge:n=this.maxAge}={}){const a="number"==typeof n&&n!==Number.POSITIVE_INFINITY?Date.now()+n:void 0;return this.cache.has(e)?this.cache.set(e,{value:t,expiry:a}):this._set(e,{value:t,expiry:a}),this}has(e){return this.cache.has(e)?!this._deleteIfExpired(e,this.cache.get(e)):!!this.oldCache.has(e)&&!this._deleteIfExpired(e,this.oldCache.get(e))}peek(e){return this.cache.has(e)?this._peek(e,this.cache):this.oldCache.has(e)?this._peek(e,this.oldCache):void 0}delete(e){const t=this.cache.delete(e);return t&&this._size--,this.oldCache.delete(e)||t}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}resize(e){if(!(e&&e>0))throw new TypeError("`maxSize` must be a number greater than 0");const t=[...this._entriesAscending()],n=t.length-e;n<0?(this.cache=new Map(t),this.oldCache=new Map,this._size=t.length):(n>0&&this._emitEvictions(t.slice(0,n)),this.oldCache=new Map(t.slice(n)),this.cache=new Map,this._size=0),this.maxSize=e}*keys(){for(const[e]of this)yield e}*values(){for(const[,e]of this)yield e}*[Symbol.iterator](){for(const e of this.cache){const[t,n]=e;!1===this._deleteIfExpired(t,n)&&(yield[t,n.value])}for(const e of this.oldCache){const[t,n]=e;if(!this.cache.has(t)){!1===this._deleteIfExpired(t,n)&&(yield[t,n.value])}}}*entriesDescending(){let e=[...this.cache];for(let t=e.length-1;t>=0;--t){const n=e[t],[a,i]=n;!1===this._deleteIfExpired(a,i)&&(yield[a,i.value])}e=[...this.oldCache];for(let t=e.length-1;t>=0;--t){const n=e[t],[a,i]=n;if(!this.cache.has(a)){!1===this._deleteIfExpired(a,i)&&(yield[a,i.value])}}}*entriesAscending(){for(const[e,t]of this._entriesAscending())yield[e,t.value]}get size(){if(!this._size)return this.oldCache.size;let e=0;for(const t of this.oldCache.keys())this.cache.has(t)||e++;return Math.min(this._size+e,this.maxSize)}entries(){return this.entriesAscending()}forEach(e,t=this){for(const[n,a]of this.entriesAscending())e.call(t,a,n,this)}get[Symbol.toStringTag](){return JSON.stringify([...this.entriesAscending()])}}class uy{constructor(){this._cache=new dy({maxSize:1e3})}has(e){return this._cache.has(e)}get(e){return this._cache.get(e)}set(e,t){this._cache.set(e,t)}}const hy=async(e,t,n)=>{const a=n?n.get(t):void 0;if(a)return a;const i={type:"media_source/resolve_media",media_content_id:t};let r=null;try{r=await $v(e,js,i)}catch(e){Gg(e)}return n&&r&&n.set(t,r),r};class py{constructor(e,t,n){this._context=e,this._action=t,this._config=n}async execute(e){}async stop(){}}class my extends py{}class gy extends my{async execute(e){const t=this._action.camera??(this._action.triggered?e.getTriggersManager().getMostRecentlyTriggeredCameraID():null),n=e.getViewManager().getView(),a=e.getConfigManager().getConfig();if(t&&n){const i=a?.view.camera_select??"current",r="current"===i?n.view:i;await e.getViewManager().setViewByParametersWithNewQuery({params:{view:r,camera:t},failSafe:!0})}}}class fy extends my{async execute(e){e.getCameraURLManager().openURL()}}class _y extends my{async execute(e){e.getViewManager().setViewDefault()}}class vy extends my{async execute(e){await e.getViewManager().setViewByParametersWithNewQuery({params:{displayMode:this._action.display_mode}})}}class yy extends my{async execute(e){await e.getDownloadManager().downloadViewerMedia()}}class by extends my{async execute(e){e.getExpandManager().toggleExpanded()}}class wy extends my{async execute(e){e.getFullscreenManager().toggleFullscreen()}}class xy extends py{async execute(e){const t=e.getHASSManager().getHASS();t&&at(e.getCardElementManager().getElement(),t,this._config??{},this._action)}}class Cy extends my{async execute(e){console[this._action.level](this._action.message)}}const My=(e,t)=>e.context?.live?.overrides?.get(t??e.camera)??t??e.camera,ky=e=>My(e)!==e.camera,Sy=(e,t)=>{const n=e.context?.live?.overrides??new Map;n.set(e.camera,t),e.mergeInContext({live:{overrides:n}})};class Ey extends my{async execute(e){const t=this._action.media_player,n=e.getMediaPlayerManager(),a=e.getViewManager().getView(),i=a?.queryResults?.getSelectedResult()??null;"stop"===this._action.media_player_action?await n.stop(t):a?.is("live")?await n.playLive(t,My(a)):a?.isViewerView()&&i&&await n.playMedia(t,i)}}class $y extends my{async execute(e){e.getCardElementManager().toggleMenu()}}class Ay extends my{async execute(e){await e.getMicrophoneManager().connect()}}class zy extends my{async execute(e){e.getMicrophoneManager().disconnect()}}class Iy extends my{async execute(e){e.getMicrophoneManager().mute()}}class Ty extends my{async execute(e){await e.getMicrophoneManager().unmute()}}class jy extends my{async execute(e){await(e.getMediaLoadedInfoManager().get()?.player?.mute())}}class Oy extends my{async execute(e){await(e.getMediaLoadedInfoManager().get()?.player?.pause())}}class Dy extends my{async execute(e){await(e.getMediaLoadedInfoManager().get()?.player?.play())}}const Ry=(e,t)=>{if(e.isViewerView()){const n=e.queryResults?.getSelectedResult()?.getID()??null;return"ptz"!==t?.type&&n?{targetID:n,type:"digital"}:null}if(e.is("live")){const n=My(e);let a="digital";return"digital"!==t?.type&&t?.cameraManager&&(Py(t.cameraManager,n)&&(a="ptz"),"ptz"!==a&&"ptz"===t?.type)?null:{targetID:n,type:a}}return null},Py=(e,t)=>!!e.getStore().getCamera(t)?.getCapabilities()?.hasPTZCapability();var Ly=ug((function(e,t,n){Jm(e,t,n)}));const Ny=(e,t)=>{t?.[e]?.inProgressAction?.stop()},Fy=(e,t,n,a)=>{Ly(t,{[n]:{[e]:{inProgressAction:a}}})};class Vy extends my{constructor(){super(...arguments),this._timer=new xf}async stop(){this._timer.stop()}async execute(e){const t=e.getViewManager().getView();if(!t)return;const n=this._action.camera??Ry(t,{type:"ptz",cameraManager:e.getCameraManager()})?.targetID??null,a=n?e.getCameraManager().getCameraCapabilities(n)?.getPTZCapabilities():null,i=n?e.getCameraManager().getStore().getCameraConfig(n)?.ptz:null;if(!n||!a||!i)return;if(!this._action.ptz_action)return void(a.presets&&a.presets.length>=1&&await e.getCameraManager().executePTZAction(n,"preset",{phase:this._action.ptz_phase,preset:a.presets[0]}));const r=(e=>{switch(e){case"left":case"right":case"up":case"down":return e;case"zoom_in":return"zoomIn";case"zoom_out":return"zoomOut"}return null})(this._action.ptz_action);if(r&&a[r]?.includes(this._action.ptz_phase?"continuous":"relative")||"preset"===this._action.ptz_action)return await e.getCameraManager().executePTZAction(n,this._action.ptz_action,{phase:this._action.ptz_phase,preset:this._action.ptz_preset});if("start"===this._action.ptz_phase){Ny(n,this._context.ptz),Fy(n,this._context,"ptz",this);const t=async()=>{this._action.ptz_action&&await e.getCameraManager().executePTZAction(n,this._action.ptz_action,{preset:this._action.ptz_preset}),this._timer.start(i.r2c_delay_between_calls_seconds,t)};await t()}else"stop"===this._action.ptz_phase?Ny(n,this._context.ptz):(await e.getCameraManager().executePTZAction(n,this._action.ptz_action,{preset:this._action.ptz_preset,phase:"start"}),this._timer.start(i.c2r_delay_between_calls_seconds,(async()=>{this._action.ptz_action&&await e.getCameraManager().executePTZAction(n,this._action.ptz_action,{preset:this._action.ptz_preset,phase:"stop"})})))}}class Hy extends my{async execute(e){e.getViewManager().setViewWithMergedContext({ptzControls:{enabled:this._action.enabled}})}}function By(e,t,n){return void 0===n&&(n=t,t=void 0),void 0!==n&&(n=(n=Cg(n))==n?n:0),void 0!==t&&(t=(t=Cg(t))==t?t:0),function(e,t,n){return e==e&&(void 0!==n&&(e=e<=n?e:n),void 0!==t&&(e=e>=t?e:t)),e}(Cg(e),t,n)}const qy=50,Uy=50,Wy=1,Zy=4,Qy=e=>void 0===e?.pan?.x&&void 0===e?.pan?.y&&void 0===e?.zoom;class Gy{constructor(e){this._context=e}modify(e){e.mergeInContext(this._context)}}const Yy=(e,t)=>({zoom:{[e]:{observed:t?.observed??void 0,requested:t?.requested??null}}}),Ky=(e,t,n)=>{t&&n&&t.setViewByParameters({modifiers:[new Gy(Yy(n,{observed:e.detail}))]})};class Xy extends my{constructor(){super(...arguments),this._timer=new xf}async _stepChange(e,t){e.getViewManager().setViewWithMergedContext(Yy(t,{requested:this._convertActionToZoomSettings(e.getViewManager().getView()?.context?.zoom?.[t]?.observed)}))}async stop(){this._timer.stop()}async execute(e){const t=e.getViewManager().getView();if(!t)return;const n=this._action.target_id??Ry(t,{type:"digital",cameraManager:e.getCameraManager()})?.targetID;return n?this._action.absolute||!this._action.ptz_phase?await this._stepChange(e,n): -/* istanbul ignore else: the else path cannot be reached -- @preserve */ -void("start"===this._action.ptz_phase?(Ny(n,this._context.ptzDigital),Fy(n,this._context,"ptzDigital",this),await this._stepChange(e,n),this._timer.startRepeated(.1,(()=>this._stepChange(e,n)))):"stop"===this._action.ptz_phase&&(Ny(n,this._context.ptzDigital),delete this._context.ptzDigital?.[n])):void 0}_convertActionToZoomSettings(e){if(!this._action.absolute&&!this._action.ptz_action)return{};if(this._action.absolute)return this._action.absolute;const t=e?.zoom??1,n=e?.pan?.x??50,a=e?.pan?.y??50,i="zoom_in"===this._action.ptz_action?.1:"zoom_out"===this._action.ptz_action?-.1:0,r="left"===this._action.ptz_action?-5:"right"===this._action.ptz_action?5:0,o="up"===this._action.ptz_action?-5:"down"===this._action.ptz_action?5:0;return{zoom:By(t+i,1,10),pan:{x:By(n+r,0,100),y:By(a+o,0,100)}}}}class Jy extends my{async execute(e){const t=e.getViewManager().getView();let n=null,a=null;if(this._action.target_id)n=this._action.target_id,a=Py(e.getCameraManager(),n)?"ptz":"digital";else if(t){const i=Ry(t,{cameraManager:e.getCameraManager()});n=i?.targetID??null,a=i?.type??null}n&&null!==a&&("ptz"===a?this._toPTZAction(n):this._toPTZDigitalAction(n)).execute(e)}_toPTZAction(e){return new Vy(this._context,(t={cardID:this._action.card_id,cameraID:e,ptzAction:this._action.ptz_action,ptzPhase:this._action.ptz_phase,ptzPreset:this._action.ptz_preset},{action:"fire-dom-event",frigate_card_action:"ptz",...t?.cardID&&{card_id:t.cardID},...t?.ptzAction&&{ptz_action:t.ptzAction},...t?.ptzPhase&&{ptz_phase:t.ptzPhase},...t?.ptzPreset&&{ptz_preset:t.ptzPreset},...t?.cameraID&&{camera:t.cameraID}}),this._config);var t}_toPTZDigitalAction(e){return new Xy(this._context,(t={cardID:this._action.card_id,ptzPhase:this._action.ptz_phase,ptzAction:this._action.ptz_action,targetID:e},{action:"fire-dom-event",frigate_card_action:"ptz_digital",...t?.cardID&&{card_id:t.cardID},...t?.ptzAction&&{ptz_action:t.ptzAction},...t?.ptzPhase&&{ptz_phase:t.ptzPhase},...t?.absolute&&{absolute:t.absolute},...t?.targetID&&{target_id:t.targetID}}),this._config);var t}}class eb extends my{async execute(e){await e.getDownloadManager().downloadScreenshot()}}class tb extends my{async execute(e){var t;await af((t=this._action.duration,3600*(t.h??0)+60*(t.m??0)+(t.s??0)+(t.ms??0)/1e3))}}class nb extends my{async execute(e){switch(this._action.status_bar_action){case"reset":e.getStatusBarItemManager().removeAllDynamicStatusBarItems();break;case"add":this._action.items?.forEach((t=>e.getStatusBarItemManager().addDynamicStatusBarItem(t)));break;case"remove":this._action.items?.forEach((t=>e.getStatusBarItemManager().removeDynamicStatusBarItem(t)))}}}class ab{modify(e){(e=>{const t=e.context?.live?.overrides;t&&t.has(e.camera)&&e.context?.live?.overrides?.delete(e.camera)})(e)}}class ib extends my{async execute(e){e.getViewManager().setViewByParameters({modifiers:[new ab]})}}class rb{constructor(e){this._api=e}modify(e){const t=[...this._api.getCameraManager().getStore().getAllDependentCameras(e.camera,"substream")];if(t.length<=1)return;const n=My(e),a=t.indexOf(n),i=a<0?0:(a+1)%t.length;Sy(e,t[i])}}class ob extends my{async execute(e){e.getViewManager().setViewByParameters({modifiers:[new rb(e)]})}}class sb{constructor(e){this._substreamID=e}modify(e){Sy(e,this._substreamID)}}class cb extends my{async execute(e){e.getViewManager().setViewByParameters({modifiers:[new sb(this._action.camera)]})}}class lb extends my{async execute(e){await(e.getMediaLoadedInfoManager().get()?.player?.unmute())}}class db extends my{async execute(e){e.getViewManager().setViewByParametersWithNewQuery({params:{view:this._action.frigate_card_action}})}}class ub{createAction(e,t,n){const a=mf(t);if("fire-dom-event"!==t.action||!a)return new xy(e,t,n?.config);if(a.card_id&&a.card_id!==n?.cardID)return null;switch(a.frigate_card_action){case"default":return new _y(e,a,n?.config);case"clip":case"clips":case"image":case"live":case"recording":case"recordings":case"snapshot":case"snapshots":case"timeline":case"diagnostics":return new db(e,a,n?.config);case"sleep":return new tb(e,a,n?.config);case"download":return new yy(e,a,n?.config);case"camera_ui":return new fy(e,a,n?.config);case"expand":return new by(e,a,n?.config);case"fullscreen":return new wy(e,a,n?.config);case"menu_toggle":return new $y(e,a,n?.config);case"camera_select":return new gy(e,a,n?.config);case"live_substream_select":return new cb(e,a,n?.config);case"live_substream_off":return new ib(e,a,n?.config);case"live_substream_on":return new ob(e,a,n?.config);case"media_player":return new Ey(e,a,n?.config);case"microphone_connect":return new Ay(e,a,n?.config);case"microphone_disconnect":return new zy(e,a,n?.config);case"microphone_mute":return new Iy(e,a,n?.config);case"microphone_unmute":return new Ty(e,a,n?.config);case"mute":return new jy(e,a,n?.config);case"unmute":return new lb(e,a,n?.config);case"play":return new Dy(e,a,n?.config);case"pause":return new Oy(e,a,n?.config);case"screenshot":return new eb(e,a,n?.config);case"display_mode_select":return new vy(e,a,n?.config);case"ptz":return new Vy(e,a,n?.config);case"ptz_digital":return new Xy(e,a,n?.config);case"ptz_multi":return new Jy(e,a,n?.config);case"ptz_controls":return new Hy(e,a,n?.config);case"log":return new Cy(e,a,n?.config);case"status_bar":return new nb(e,a,n?.config)} -/* istanbul ignore next: this path cannot be reached -- @preserve */ -/* istanbul ignore next: this path cannot be reached -- @preserve */ -return console.warn(`Frigate card received unknown card action: ${a.frigate_card_action}`),null}}class hb{constructor(e,t,n){this._actions=[],this._factory=new ub,this._stopped=!1,this._context=e;for(const a of Wg(t)){const t=this._factory.createAction(e,a,n);t&&this._actions.push(t)}}async execute(e){for(const t of this._actions){if(this._stopped)break;await t.execute(e)}}async stop(){this._stopped=!0}}const pb=ba.object({action:ba.enum(["tap","double_tap","hold","start_tap","end_tap"])}),mb=ba.object({detail:pb});class gb{constructor(e){this._actionsInFlight=[],this._actionContext={},this.handleInteractionEvent=e=>{const t=mb.safeParse(e);if(!t.success)return;const n=t.data.detail.action,a=this.getMergedActions(),i=yf(n,a);a&&n&&i&&this.executeActions(i,a)},this.handleCustomActionEvent=e=>{"detail"in e&&this.executeActions(e.detail)},this.handleActionExecutionRequestEvent=async e=>{await this.executeActions(e.detail.action,e.detail.config)},this._api=e}getMergedActions(){const e=this._api.getViewManager().getView();if(this._api.getMessageManager().hasMessage())return{};const t=this._api.getConfigManager().getConfig();let n;if(e?.is("live"))n=t?.live.actions;else if(e?.isGalleryView())n=t?.media_gallery?.actions;else if(e?.isViewerView())n=t?.media_viewer.actions;else{if(!e?.is("image"))return{};n=t?.image?.actions}return{...t?.view.actions,...n}}uninitialize(){this._actionsInFlight.forEach((e=>e.stop()))}async executeActions(e,t){const n=new hb(this._actionContext,e,{config:t,cardID:this._api.getConfigManager().getConfig()?.card_id});this._actionsInFlight.push(n),await n.execute(this._api),this._actionsInFlight=this._actionsInFlight.filter((e=>e!==n))}}class fb{constructor(e){this._automations=[],this._priorEvaluations=new Map,this._nestedAutomationExecutions=0,this._api=e}deleteAutomations(e){this._automations=this._automations.filter((t=>t.tag!==e))}addAutomations(e){this._automations.push(...e)}execute(){if(!this._api.getHASSManager().hasHASS()||!this._api.getInitializationManager().isInitializedMandatory()||this._api.getMessageManager().hasErrorMessage())return;const e=[];for(const t of this._automations){const n=this._api.getConditionsManager().evaluateConditions(t.conditions),a=n?t.actions:t.actions_not,i=this._priorEvaluations.get(t);this._priorEvaluations.set(t,n),n!==i&&a&&e.push(...a)}if(!e.length)return;(async e=>{++this._nestedAutomationExecutions,this._nestedAutomationExecutions>10?this._api.getMessageManager().setMessageIfHigherPriority({type:"error",message:V_("error.too_many_automations")}):(await this._api.getActionsManager().executeActions(e),--this._nestedAutomationExecutions)})(e)}}class _b{constructor(e){this._api=e}openURL(){const e=this.getCameraURL();e&&window.open(e)}hasCameraURL(){return!!this.getCameraURL()}getCameraURL(){const e=this._api.getViewManager().getView(),t=e?.queryResults?.getSelectedResult()??null,n=e?.camera?this._api.getCameraManager().getCameraEndpoints(e.camera,{view:e.view,...t&&{media:t}})??null:null;return n?.ui?.endpoint??null}}const vb=(e,t)=>!!((e.attributes.supported_features??0)&t),yb=e=>(e=>vb(e,4)&&"number"==typeof e.attributes.in_progress)(e)||!!e.attributes.in_progress,bb=e=>{switch(e){case"armed_away":return"mdi:shield-lock";case"armed_vacation":return"mdi:shield-airplane";case"armed_home":return"mdi:shield-home";case"armed_night":return"mdi:shield-moon";case"armed_custom_bypass":return"mdi:security";case"pending":case"arming":return"mdi:shield-sync";case"triggered":return"mdi:bell-ring";case"disarmed":return"mdi:shield-off";default:return"mdi:shield"}},wb=(e,t)=>{const n="off"===e;switch(t?.attributes.device_class){case"battery":return n?"mdi:battery":"mdi:battery-outline";case"battery_charging":return n?"mdi:battery":"mdi:battery-charging";case"cold":return n?"mdi:thermometer":"mdi:snowflake";case"connectivity":return n?"mdi:close-network-outline":"mdi:check-network-outline";case"door":return n?"mdi:door-closed":"mdi:door-open";case"garage_door":return n?"mdi:garage":"mdi:garage-open";case"power":case"plug":return n?"mdi:power-plug-off":"mdi:power-plug";case"gas":case"problem":case"safety":case"tamper":return n?"mdi:check-circle":"mdi:alert-circle";case"smoke":return n?"mdi:check-circle":"mdi:smoke";case"heat":return n?"mdi:thermometer":"mdi:fire";case"light":return n?"mdi:brightness5":"mdi:brightness-7";case"lock":return n?"mdi:lock":"mdi:lock-open";case"moisture":return n?"mdi:water-off":"mdi:water";case"motion":return n?"mdi:motion-sensor-off":"mdi:motion-sensor";case"occupancy":case"presence":return n?"mdi:home-outline":"mdi:home";case"opening":return n?"mdi:square":"mdi:square-outline";case"running":return n?"mdi:stop":"mdi:play";case"sound":return n?"mdi:music-note-off":"mdi:music-note";case"update":return n?"mdi:package":"mdi:package-up";case"vibration":return n?"mdi:crop-portrait":"mdi:vibrate";case"window":return n?"mdi:window-closed":"mdi:window-open";default:return n?"mdi:radiobox-blank":"mdi:checkbox-marked-circle"}},xb=(e,t)=>{const n="closed"!==e;switch(t?.attributes.device_class){case"garage":switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:garage";default:return"mdi:garage-open"}case"gate":switch(e){case"opening":case"closing":return"mdi:gate-arrow-right";case"closed":return"mdi:gate";default:return"mdi:gate-open"}case"door":return n?"mdi:door-open":"mdi:door-closed";case"damper":return n?"md:circle":"mdi:circle-slice-8";case"shutter":switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:window-shutter";default:return"mdi:window-shutter-open"}case"curtain":switch(e){case"opening":return"mdi:arrow-split-vertical";case"closing":return"mdi:arrow-collapse-horizontal";case"closed":return"mdi:curtains-closed";default:return"mdi:curtains"}case"blind":case"shade":switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:blinds";default:return"mdi:blinds-open"}case"window":switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:window-closed";default:return"mdi:window-open"}}switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:window-closed";default:return"mdi:window-open"}},Cb={apparent_power:"mdi:flash",aqi:"mdi:air-filter",carbon_dioxide:"mdi:molecule-co2",carbon_monoxide:"mdi:molecule-co",current:"mdi:current-ac",date:"mdi:calendar",energy:"mdi:lightning-bolt",frequency:"mdi:sine-wave",gas:"mdi:gas-cylinder",humidity:"mdi:water-percent",illuminance:"mdi:brightness-5",monetary:"mdi:cash",nitrogen_dioxide:"mdi:molecule",nitrogen_monoxide:"mdi:molecule",nitrous_oxide:"mdi:molecule",ozone:"mdi:molecule",pm1:"mdi:molecule",pm10:"mdi:molecule",pm25:"mdi:molecule",power:"mdi:flash",power_factor:"mdi:angle-acute",pressure:"mdi:gauge",reactive_power:"mdi:flash",signal_strength:"mdi:wifi",sulphur_dioxide:"mdi:molecule",temperature:"mdi:thermometer",timestamp:"mdi:clock",volatile_organic_compounds:"mdi:molecule",voltage:"mdi:sine-wave"},Mb={10:"mdi:battery-10",20:"mdi:battery-20",30:"mdi:battery-30",40:"mdi:battery-40",50:"mdi:battery-50",60:"mdi:battery-60",70:"mdi:battery-70",80:"mdi:battery-80",90:"mdi:battery-90",100:"mdi:battery"},kb={10:"mdi:battery-charging-10",20:"mdi:battery-charging-20",30:"mdi:battery-charging-30",40:"mdi:battery-charging-40",50:"mdi:battery-charging-50",60:"mdi:battery-charging-60",70:"mdi:battery-charging-70",80:"mdi:battery-charging-80",90:"mdi:battery-charging-90",100:"mdi:battery-charging"},Sb=(e,t)=>{const n=Number(e);if(isNaN(n))return"off"===e?"mdi:battery":"on"===e?"mdi:battery-alert":"mdi:battery-unknown";const a=10*Math.round(n/10);return t&&n>=10?kb[a]:t?"mdi:battery-charging-outline":n<=5?"mdi:battery-alert-variant-outline":Mb[a]},Eb=e=>{const t=e?.attributes.device_class;if(t&&t in Cb)return Cb[t];if("battery"===t)return e?((e,t)=>{const n=e.state;return Sb(n,"on"===t?.state)})(e):"mdi:battery";const n=e?.attributes.unit_of_measurement;return"°C"===n||"°F"===n?"mdi:thermometer":void 0},$b="mdi:bookmark",Ab={alert:"mdi:alert",air_quality:"mdi:air-filter",automation:"mdi:robot",calendar:"mdi:calendar",camera:"mdi:video",climate:"mdi:thermostat",configurator:"mdi:cog",conversation:"mdi:text-to-speech",counter:"mdi:counter",fan:"mdi:fan",google_assistant:"mdi:google-assistant",group:"mdi:google-circles-communities",homeassistant:"mdi:home-assistant",homekit:"mdi:home-automation",image_processing:"mdi:image-filter-frames",input_button:"mdi:gesture-tap-button",input_datetime:"mdi:calendar-clock",input_number:"mdi:ray-vertex",input_select:"mdi:format-list-bulleted",input_text:"mdi:form-textbox",light:"mdi:lightbulb",mailbox:"mdi:mailbox",notify:"mdi:comment-alert",number:"mdi:ray-vertex",persistent_notification:"mdi:bell",person:"mdi:account",plant:"mdi:flower",proximity:"mdi:apple-safari",remote:"mdi:remote",scene:"mdi:palette",script:"mdi:script-text",select:"mdi:format-list-bulleted",sensor:"mdi:eye",siren:"mdi:bullhorn",simple_alarm:"mdi:bell",sun:"mdi:white-balance-sunny",timer:"mdi:timer-outline",updater:"mdi:cloud-upload",vacuum:"mdi:robot-vacuum",water_heater:"mdi:thermometer",weather:"mdi:weather-cloudy",zone:"mdi:map-marker-radius"};function zb(e,t,n,a){switch(e){case"alarm_control_panel":return bb(n);case"binary_sensor":return wb(n,t);case"button":switch(t?.attributes.device_class){case"restart":return"mdi:restart";case"update":return"mdi:package-up";default:return"mdi:gesture-tap-button"}case"cover":return xb(n,t);case"device_tracker":return"router"===t?.attributes.source_type?"home"===n?"mdi:lan-connect":"mdi:lan-disconnect":["bluetooth","bluetooth_le"].includes(t?.attributes.source_type)?"home"===n?"mdi:bluetooth-connect":"mdi:bluetooth":"not_home"===n?"mdi:account-arrow-right":"mdi:account";case"humidifier":return n&&"off"===n?"mdi:air-humidifier-off":"mdi:air-humidifier";case"input_boolean":return"on"===n?"mdi:check-circle-outline":"mdi:close-circle-outline";case"lock":switch(n){case"unlocked":return"mdi:lock-open";case"jammed":return"mdi:lock-alert";case"locking":case"unlocking":return"mdi:lock-clock";default:return"mdi:lock"}case"media_player":switch(t?.attributes.device_class){case"speaker":switch(n){case"playing":return"mdi:speaker-play";case"paused":return"mdi:speaker-pause";case"off":return"mdi:speaker-off";default:return"mdi:speaker"}case"tv":switch(n){case"playing":return"mdi:television-play";case"paused":return"mdi:television-pause";case"off":return"mdi:television-off";default:return"mdi:television"}default:switch(n){case"playing":case"paused":return"mdi:cast-connected";case"off":return"mdi:cast-off";default:return"mdi:cast"}}case"switch":switch(t?.attributes.device_class){case"outlet":return"on"===n?"mdi:power-plug":"mdi:power-plug-off";case"switch":return"on"===n?"mdi:toggle-switch":"mdi:toggle-switch-off";default:return"mdi:flash"}case"zwave":switch(n){case"dead":return"mdi:emoticon-dead";case"sleeping":return"mdi:sleep";case"initializing":return"mdi:timer-sand";default:return"mdi:z-wave"}case"sensor":{const e=Eb(t);if(e)return e;break}case"input_datetime":if(!t?.attributes.has_date)return"mdi:clock";if(!t.attributes.has_time)return"mdi:calendar";break;case"sun":return"above_horizon"===t?.state?Ab[e]:"mdi:weather-night";case"update":return"on"===t?.state?yb(t)?"mdi:package-down":"mdi:package-up":"mdi:package"}return e in Ab?Ab[e]:a??$b}async function Ib(e,t,n){const a={type:"auth/sign_path",path:t,expires:n},i=await $v(e,Os,a);return i?e.hassUrl(i.path):null}function Tb(e,t,n,a){if(!e||!n||!n.length)return[];const i=[];for(const r of n){const n=t?.states[r],o=e.states[r];if((a?.stateOnly&&n?.state!==o?.state||!a?.stateOnly&&n!==o)&&(i.push({entityID:r,oldState:n,newState:o}),a?.firstOnly))break}return i}function jb(e,t,n,a){return!!Tb(e,t,n,{...a,firstOnly:!0}).length}function Ob(e){if("off"===e.state||!e.attributes.brightness)return"";return`brightness(${(e.attributes.brightness+245)/5}%)`}function Db(e){return"off"===e.state?"":e.attributes.rgb_color?`rgb(${e.attributes.rgb_color.join(",")})`:""}function Rb(e){return{color:Db(e),filter:Ob(e)}}function Pb(e,t){if(!t.entity)return t;const n=e.states[t.entity];n&&t.state_color&&(t.style={...Rb(n),...t.style}),t.title=t.title??(n?.attributes?.friendly_name||t.entity),t.icon=t.icon??Nb(e,t.entity);const a=n?function(e){return Ye(e.entity_id)}(n):void 0;return t.data_domain=t.state_color||"light"===a&&!1!==t.state_color?a:void 0,n&&(t.data_state=(e=>{const t=e.entity_id.split(".")[0];let n=e.state;return"climate"===t&&(n=e.attributes.hvac_action),n})(n)),t}function Lb(e,t){return t?e?.states[t]?.attributes?.friendly_name:void 0}function Nb(e,t,n){const a=e.states[t];return a&&a.attributes.icon?a.attributes.icon:zb(Ye(t),a,a?.state,n)}const Fb=async()=>{if(["ha-button-menu","ha-button","ha-camera-stream","ha-card","ha-circular-progress","ha-hls-player","ha-icon-button","ha-icon","ha-menu-button","ha-selector","ha-web-rtc-player"].every((e=>customElements.get(e))))return!0;const e=await window.loadCardHelpers();await e.createCardElement({type:"picture-glance",entities:[],camera_image:"dummy-to-load-editor-components"}),await customElements.whenDefined("hui-picture-glance-card");const t=customElements.get("hui-picture-glance-card");if(!t)return!1;const n=new t;return await n.constructor.getConfigElement(),!0},Vb=e=>!!e&&["on","open"].includes(e),Hb=(e,t)=>{if(!e)return[];const n=Object.keys(e.states).filter((e=>!t||e.substr(0,e.indexOf("."))===t));return n.sort(),n};function Bb(e){return!!e?.startsWith("/")}function qb(e,t){return Bb(t)?e.hassUrl(t):t??null}class Ub{constructor(){this._initialized=new Set}async initializeMultipleIfNecessary(e){return(await tf(Object.entries(e),(async([e,t])=>await this.initializeIfNecessary(e,t)))).every(Boolean)}async initializeIfNecessary(e,t){return!!this._initialized.has(e)||(t?!!await t()&&(this._initialized.add(e),!0):(this._initialized.add(e),!0))}uninitialize(e){this._initialized.delete(e)}isInitialized(e){return this._initialized.has(e)}isInitializedMultiple(e){return e.every((e=>this.isInitialized(e)))}}var Wb;!function(e){e.LANGUAGES="languages",e.SIDE_LOAD_ELEMENTS="side-load-elements",e.CAMERAS="cameras",e.MICROPHONE_CONNECT="microphone-connect",e.VIEW="view"}(Wb||(Wb={}));class Zb{constructor(e,t){this._initializationQueue=new w_({concurrency:1}),this._everInitialized=!1,this._api=e,this._initializer=t??new Ub}wasEverInitialized(){return this._everInitialized}isInitializedMandatory(){return!!this._api.getConfigManager().getConfig()&&this._initializer.isInitializedMultiple([Wb.LANGUAGES,Wb.SIDE_LOAD_ELEMENTS,Wb.CAMERAS,...this._api.getMicrophoneManager().shouldConnectOnInitialization()?[Wb.MICROPHONE_CONNECT]:[],Wb.VIEW])}async initializeMandatory(){await this._initializationQueue.add((()=>this._initializeMandatory()))}async _initializeMandatory(){const e=this._api.getHASSManager().getHASS();if(!e||this.isInitializedMandatory())return;if(!await this._initializer.initializeMultipleIfNecessary({[Wb.LANGUAGES]:async()=>await(async e=>{const t=F_(e);return"ca"===t?L_[t]=await import("./lang-ca-449daa4a.js"):"it"===t?L_[t]=await import("./lang-it-2a20a319.js"):"pt"===t?L_[t]=await import("./lang-pt-PT-c4863423.js"):"pt_BR"===t?L_[t]=await import("./lang-pt-BR-83a703b9.js"):"fr"===t&&(L_[t]=await import("./lang-fr-674e5de5.js")),t&&(N_=t),!0})(e),[Wb.SIDE_LOAD_ELEMENTS]:async()=>await Fb()}))return;this._api.getConfigManager().getConfig()&&await this._initializer.initializeMultipleIfNecessary({[Wb.CAMERAS]:async()=>await this._api.getCameraManager().initializeCamerasFromConfig(),...this._api.getMicrophoneManager().shouldConnectOnInitialization()&&{[Wb.MICROPHONE_CONNECT]:async()=>await this._api.getMicrophoneManager().connect()}})&&!this._api.getMessageManager().hasMessage()&&await this._initializer.initializeIfNecessary(Wb.VIEW,this._api.getViewManager().initialize)&&(this._everInitialized=!0,this._api.getCardElementManager().update())}uninitialize(e){this._initializer.uninitialize(e)}}class Qb{constructor(e,t,n,a){this.update=()=>{this._element.requestUpdate()},this._api=e,this._element=t,this._scrollCallback=n,this._menuToggleCallback=a}getElement(){return this._element}scrollReset(){this._scrollCallback()}toggleMenu(){this._menuToggleCallback()}hasUpdated(){return this._element.hasUpdated}elementConnected(){this._api.getInteractionManager().initialize(),this._api.getFullscreenManager().initialize(),this._api.getExpandManager().initialize(),this._api.getMediaLoadedInfoManager().initialize(),this._api.getMicrophoneManager().initialize(),this._api.getKeyboardStateManager().initialize(),this._api.getDefaultManager().initialize(),this._api.getMediaPlayerManager().initialize(),this._api.getHASSManager().getStateWatcher()?.subscribe(this.update,[...this._api.getConfigManager().getConfig()?.view.render_entities??[],...this._api.getMediaPlayerManager().getMediaPlayers()??[]]),of(this._element,(e=>{const t=e.getRootNode();return!!(t&&t instanceof ShadowRoot&&"HUI-PANEL-VIEW"===t.host.tagName)})(this._element),"panel"),of(this._element,!0,"tabindex","0"),this._api.getFullscreenManager().connect(),this._element.addEventListener("mousemove",this._api.getInteractionManager().reportInteraction),this._element.addEventListener("wheel",this._api.getInteractionManager().reportInteraction),this._element.addEventListener("ll-custom",this._api.getActionsManager().handleCustomActionEvent),this._element.addEventListener("action",this._api.getActionsManager().handleInteractionEvent),this._element.addEventListener("action",this._api.getInteractionManager().reportInteraction),this._element.addEventListener("frigate-card:action:execution-request",this._api.getActionsManager().handleActionExecutionRequestEvent),window.addEventListener("location-changed",this._api.getQueryStringManager().requestExecution),window.addEventListener("popstate",this._api.getQueryStringManager().requestExecution),this._api.getQueryStringManager().requestExecution(),this._element.requestUpdate()}elementDisconnected(){of(this._element,!1,"panel"),of(this._element,!1,"tabindex"),this._api.getMediaLoadedInfoManager().clear(),this._api.getFullscreenManager().disconnect(),this._api.getKeyboardStateManager().uninitialize(),this._api.getActionsManager().uninitialize(),this._api.getDefaultManager().uninitialize(),this._api.getHASSManager().getStateWatcher()?.unsubscribe(this.update),this._api.getInitializationManager().uninitialize(Wb.CAMERAS),this._api.getCameraManager().reset(),this._element.removeEventListener("mousemove",this._api.getInteractionManager().reportInteraction),this._element.removeEventListener("wheel",this._api.getInteractionManager().reportInteraction),this._element.removeEventListener("ll-custom",this._api.getActionsManager().handleCustomActionEvent),this._element.removeEventListener("action",this._api.getActionsManager().handleInteractionEvent),this._element.removeEventListener("action",this._api.getInteractionManager().reportInteraction),this._element.removeEventListener("frigate-card:action:execution-request",this._api.getActionsManager().handleActionExecutionRequestEvent),window.removeEventListener("location-changed",this._api.getQueryStringManager().requestExecution),window.removeEventListener("popstate",this._api.getQueryStringManager().requestExecution)}}function Gb(e,t,n){return null==e?e:function(e,t,n,a){if(!hh(e))return e;for(var i=-1,r=(t=sv(t,e)).length,o=r-1,s=e;null!=s&&++i{Gb(e,t,n)},Xb=(e,t,n)=>fv(e,t,n),Jb=(e,t)=>{!function(e,t){null==e||Yb(e,t)}(e,t)},ew=e=>u_(e),tw=(e,t)=>e.replace("#",`[${t.toString()}]`),nw=function(e){let t=!1;for(let n=0;n{const i=Xb(e,t);if(void 0===i)return!1;const r=a?.transform?a.transform(i):i;return!(t===n&&Dv(i,r)||(null===r?a?.keepOriginal||(Jb(e,t),0):void 0===r||(a?.keepOriginal||Jb(e,t),Kb(e,n,r),0)))})(a,e,t,n)}},rw=function(e,t,n){return function(a){let i=iw(e,t,n)(a);return i=cw(bs,iw(e,t,n),(e=>e.overrides))(a)||i,i}},ow=function(e,t){return rw(e,e,{transform:t})},sw=function(e){return rw(e,e,{transform:e=>null})},cw=function(e,t,n){return function(a){let i=!1;const r=Xb(a,e);return Array.isArray(r)&&r.forEach((e=>{const a=n?n(e):e;a&&"object"==typeof a&&(i=t(a)||i)})),i}},lw=(e,t)=>{const n=a=>{let i=!1;if(a&&"object"==typeof a){const r=t?t(a):a;r&&(i=e(r)||i),Array.isArray(a)?a.forEach((e=>{i=n(e)||i})):Object.keys(a).forEach((e=>{i=n(a[e])||i}))}return i};return n},dw=e=>!("object"!=typeof e||!e||void 0===e.mediaLoaded)&&(e.media_loaded=e.mediaLoaded,delete e.mediaLoaded,!0),uw=e=>{if("object"!=typeof e||!e||"object"!=typeof e.conditions||!e.conditions)return!1;const t=e.conditions,n=[];if(void 0!==t.view&&n.push({condition:"view",views:t.view}),void 0!==t.fullscreen&&n.push({condition:"fullscreen",fullscreen:t.fullscreen}),void 0!==t.expand&&n.push({condition:"expand",expand:t.expand}),void 0!==t.camera&&n.push({condition:"camera",cameras:t.camera}),void 0!==t.media_loaded&&n.push({condition:"media_loaded",media_loaded:t.media_loaded}),void 0!==t.state&&Array.isArray(t.state))for(const e of t.state)"object"!=typeof e||!e||void 0===e.state&&void 0===e.state_not&&void 0===e.entity||n.push({condition:"state",...e.state&&{state:e.state},...e.state_not&&{state_not:e.state_not},...e.entity&&{entity:e.entity}});return void 0!==t.media_query&&n.push({condition:"screen",media_query:t.media_query}),!!n.length&&(e.conditions=n,!0)},hw=e=>!("object"!=typeof e||!e||"call-service"!==e.action||"string"!=typeof e.service)&&(e.action="perform-action",e.perform_action=e.service,delete e.service,!0),pw=e=>!("object"!=typeof e||!e||"call-service"!==e.action||void 0===e.service||void 0===e.service_data||void 0!==e.data)&&(e.data=e.service_data,delete e.service_data,!0),mw=e=>!("object"!=typeof e||!e||"custom:frigate-card-action"!==e.action||"frigate_ui"!==e.frigate_card_action)&&(e.frigate_card_action="camera_ui",!0),gw=[cw(bs,dw,(e=>e.conditions)),e=>lw(dw,(e=>e.conditions))("object"==typeof e&&e?e[Ii]:{}),rw("event_gallery",or),rw("menu.buttons.frigate_ui",is),e=>lw(mw)("object"==typeof e&&e?e:{}),cw(Ca,ow("live_provider",(e=>"frigate-jsmpeg"===e?"jsmpeg":e))),rw("live.jsmpeg",ki),rw("live.image",Ci),rw("live.webrtc_card",Si),cw(Ca,rw("frigate.zone","frigate.zones",{transform:e=>Wg(e)})),cw(Ca,rw("frigate.label","frigate.labels",{transform:e=>Wg(e)})),e=>lw(pw)("object"==typeof e&&e?e:{}),function(e){if("object"!=typeof e||!e||!(Ii in e)||!Array.isArray(e[Ii]))return!1;let t=!1;const n=n=>{if(!t){if(!fv(e,"live.controls.ptz")){const{type:t,...a}=n;Gb(e,"live.controls.ptz",a)}t=!0}},a=e=>{const t=[];for(const i of e)if("custom:frigate-card-ptz"===i.type)n(i);else if("conditional"!==i.type&&"custom:frigate-card-conditional"!==i.type||!Array.isArray(i.elements))t.push(i);else{const e=a(i.elements);e.length&&(i.elements=e,t.push(i))}return t},i=a(e[Ii]);return t&&(i.length?e[Ii]=i:delete e[Ii]),t},rw("view.timeout_seconds",Ri),ow("live.lazy_unload",(e=>"all"===e?["unselected","hidden"]:"never"===e?null:Wg(e))),ow("live.auto_play",(e=>"all"===e?null:"never"===e?[]:Wg(e))),ow("live.auto_pause",(e=>"all"===e?["unselected","hidden"]:"never"===e?null:Wg(e))),ow("live.auto_mute",(e=>"all"===e?null:"never"===e?[]:Wg(e))),ow("live.auto_unmute",(e=>"all"===e?["selected","visible","microphone"]:"never"===e?null:Wg(e))),ow("media_viewer.auto_play",(e=>"all"===e?null:"never"===e?[]:Wg(e))),ow("media_viewer.auto_pause",(e=>"all"===e?null:"never"===e?[]:Wg(e))),ow("media_viewer.auto_mute",(e=>"all"===e?null:"never"===e?[]:Wg(e))),ow("media_viewer.auto_unmute",(e=>"all"===e?["selected","visible"]:"never"===e?null:Wg(e))),rw("live.controls.thumbnails.media",io),rw("timeline.media",Ho),rw("live.controls.timeline.media",po),rw("media_viewer.controls.timeline.media",Rr),rw("view.scan",Xi),rw("view.triggers.enabled",ar,{transform:e=>!0===e?"live":null,keepOriginal:!0}),rw("view.triggers.enabled",er,{transform:e=>!0!==e&&null}),rw("view.triggers.untrigger_reset",ir,{transform:e=>e?"default":null}),rw("live.layout",Ai),sw("media_viewer.layout"),sw("image.layout"),cw(bs,uw),e=>lw(uw)("object"==typeof e&&e?e[Ii]:{}),e=>lw(uw)("object"==typeof e&&e?e.automations:{}),cw(Ca,rw("hide","capabilities",{transform:e=>!0===e?{disable_except:["substream"]}:null})),rw("performance.profile",$s,{transform:e=>"low"===e?["low-performance"]:null}),cw(bs,iw("overrides","merge")),rw("live.controls.ptz",zi,{transform:e=>{if("object"!=typeof e||!e)return;const t=["data_left","data_right","data_up","data_down","data_zoom_in","data_zoom_out","service"],n=["actions_left","actions_right","actions_up","actions_down","actions_zoom_in","actions_zoom_out"],a=[...t,...n,"data_home","actions_home"];if(!Object.keys(e).some((e=>a.includes(e))))return;const i={};t.filter((t=>t in e)).reduce(((t,n)=>(t[n]=e[n],t)),i),n.filter((t=>t in e)).reduce(((t,n)=>("object"==typeof e[n]&&"tap_action"in e[n]&&(t[n]=e[n].tap_action),t)),i);const r=()=>{i.presets="presets"in e&&"object"==typeof e.presets&&e.presets?e.presets:{}};return"actions_home"in e&&"object"==typeof e.actions_home&&e.actions_home&&"tap_action"in e.actions_home?(r(),i.presets.home=e.actions_home.tap_action):"data_home"in e&&"object"==typeof e.data_home&&e.data_home&&"string"==typeof e.service&&(r(),i.presets.service=e.service,i.presets.data_home=e.data_home),i},keepOriginal:!0}),ow("live.controls.ptz",(e=>{if("object"!=typeof e||!e)return e;const t=["mode","position","orientation","hide_pan_tilt","hide_zoom","hide_home","style"],n=Object.keys(e);return n.some((e=>!t.includes(e)))?n.filter((e=>t.includes(e))).reduce(((t,n)=>(t[n]=e[n],t)),{}):void 0})),rw("view.update_cycle_camera",Wi),rw("view.update_force",Qi,{transform:e=>!0===e?"all":null}),rw("view.update_seconds",Gi),rw("view.update_entities",Yi),iw("live.controls.title",ds,{transform:e=>"object"==typeof e&&e&&"string"==typeof e.mode?"none"===e.mode?{style:"none"}:e.mode.includes("bottom")?{position:"bottom"}:e.mode.includes("top")?{position:"top"}:null:null}),sw("live.controls.title"),sw("media_viewer.controls.title"),e=>lw(hw)("object"==typeof e&&e?e:{}),rw("dimensions.max_height",ys),sw("dimensions.min_height")];class fw extends zs{}class _w extends Event{constructor(e,t){super("frigate-card:conditions:evaluate",t),this.conditions=e}}function vw(e,t,n){let a=ew(t),i=!1;if(n?.configOverrides)for(const t of n.configOverrides)e.evaluateConditions(t.conditions,n?.stateOverrides)&&(t.delete?.forEach((e=>{Jb(a,e)})),Object.keys(t.set??{}).forEach((e=>{Kb(a,e,t.set?.[e])})),Object.keys(t.merge??{}).forEach((e=>{Kb(a,e,Ly({},Xb(a,e),t.merge?.[e]))})),i=!0);if(!i)return t;if(n?.configOverrides?.some((e=>e.delete?.length))&&(a=hf(a)),n?.schema){const e=n.schema.safeParse(a);if(!e.success)throw new fw(V_("error.invalid_configuration_override"),[e.error.errors,a]);return e.data}return a}class yw{constructor(e,t){this._state={},this._epoch=this._createEpoch(),this._hasHAStateConditions=!1,this._mediaQueries=[],this._mediaQueryTrigger=()=>this._triggerChange(),this._api=e,this._listeners=[()=>this._api.getConfigManager().computeOverrideConfig(),()=>this._api.getAutomationsManager().execute(),...t?[t]:[]]}removeConditions(){this._mediaQueries.forEach((e=>e.removeEventListener("change",this._mediaQueryTrigger))),this._mediaQueries=[]}setConditionsFromConfig(){this.removeConditions();const e=(()=>{const e=this._api.getConfigManager().getConfig(),t=[];e?.overrides?.forEach((e=>t.push(...e.conditions))),e?.automations?.forEach((e=>t.push(...e.conditions)));const n=e=>{const a=vl.safeParse(e);a.success?(t.push(...a.data.conditions),a.data.elements?.forEach(n)):e&&"object"==typeof e&&Object.keys(e).forEach((t=>n(e[t])))};return e?.elements?.forEach(n),t})();this._hasHAStateConditions=e.some((e=>!e.condition||["state","numeric_state","user"].includes(e.condition))),e.forEach((e=>{if("screen"===e.condition){const t=window.matchMedia(e.media_query);t.addEventListener("change",this._mediaQueryTrigger),this._mediaQueries.push(t)}}))}setState(e){Object.keys(e).every((t=>Dv(e[t],this._state[t])))||(this._state={...this._state,...e},this._triggerChange())}getState(){return this._state}hasHAStateConditions(){return this._hasHAStateConditions}getEpoch(){return this._epoch}evaluateConditions(e,t){return e.every((e=>this._evaluateCondition(e,t)))}_evaluateCondition(e,t){const n={...this._state,...t};switch(e.condition){case void 0:case"state":return!!n.state&&(!e.state&&!e.state_not||e.entity in n.state&&(!e.state||(Array.isArray(e.state)?e.state.includes(n.state[e.entity].state):e.state===n.state[e.entity].state))&&(!e.state_not||(Array.isArray(e.state_not)?!e.state_not.includes(n.state[e.entity].state):e.state_not!==n.state[e.entity].state)));case"view":return!!n?.view&&e.views.includes(n.view);case"fullscreen":return void 0!==n.fullscreen&&e.fullscreen===n.fullscreen;case"expand":return void 0!==n.expand&&e.expand===n.expand;case"camera":return!!n.camera&&e.cameras.includes(n.camera);case"numeric_state":return!!n.state&&e.entity in n.state&&void 0!==n.state[e.entity].state&&(void 0===e.above||Number(n.state[e.entity].state)>e.above)&&(void 0===e.below||Number(n.state[e.entity].state)n.triggered?.has(e)));case"interaction":return void 0!==n.interaction&&e.interaction===n.interaction;case"microphone":return!(void 0!==e.connected&&n.microphone?.connected!==e.connected||void 0!==e.muted&&n.microphone?.muted!==e.muted);case"key":return!(!n.keys||!(e.key in n.keys)||(e.state??"down")!==n.keys[e.key].state||void 0!==e.ctrl&&e.ctrl!==!!n.keys[e.key].ctrl||void 0!==e.alt&&e.alt!==!!n.keys[e.key].alt||void 0!==e.meta&&e.meta!==!!n.keys[e.key].meta||void 0!==e.shift&&e.shift!==!!n.keys[e.key].shift)}}_createEpoch(){return{manager:this}}_triggerChange(){this._epoch=this._createEpoch(),this._listeners.forEach((e=>e()))}}const bw={casting:{[Qr]:!1,[Sr]:!1,[es]:"none",[`${os}.enabled`]:!0,[`${ss}.enabled`]:!0,[`${rs}.enabled`]:!1,[`${cs}.enabled`]:!1,[Zr]:["selected","visible"],[vs]:"static",[_s]:"16:9",[$i]:1,[$o]:!0},"low-performance":{[ro]:"none",[Ar]:"none",[Uo]:"none",[fo]:!1,[Nr]:!1,[Bo]:!1,[Wr]:[],[mr]:[],[gr]:[],[fr]:[],[ko]:["unselected","hidden"],[Co]:!1,[xr]:!1,[Eo]:"none",[kr]:"none",[$o]:!1,[Er]:"chevrons",[hs]:"none",[es]:"outside",[`${as}.enabled`]:!1,[`${ls}.enabled`]:!1,[`${ls}.enabled`]:!1,[`${cs}.enabled`]:!1,[lr]:!1,[dr]:!1,[ur]:!1,[cr]:!1,[co]:!1,[lo]:!1,[uo]:!1,[so]:!1,[Ir]:!1,[Tr]:!1,[jr]:!1,[zr]:!1,[Qo]:!1,[Go]:!1,[Yo]:!1,[Zo]:!1,[xs]:!1,[Cs]:10,[Es]:!1,[Ss]:!1,[Mr]:!1,[Ei]:!1,[Mi]:"image",[$i]:10,[ar]:"none",[Ms]:1},scrubbing:{[mo]:"below",[_o]:"ribbon",[go]:"seek",[Pr]:"below",[Fr]:"ribbon",[Lr]:"seek"}},ww=(e,t,n)=>{const a=Ds(Nd).safeParse(e);if(!a.success)return t;const i=a.data;for(const e of n??[])e in bw&&Object.entries(bw[e]).forEach((([e,n])=>{return r=n,void(void 0===Xb(i,a=e)&&Kb(t,a,r));var a,r}));return t},xw=e=>{switch(e){case"ptz_left":return"left";case"ptz_right":return"right";case"ptz_up":return"up";case"ptz_down":return"down";case"ptz_zoom_in":return"zoom_in";case"ptz_zoom_out":return"zoom_out"} -/* istanbul ignore next: No (current) way to reach this code -- @preserve */return null},Cw=(e,t)=>{if(!t.enabled)return[];const n=[];for(const a of["ptz_down","ptz_left","ptz_right","ptz_up","ptz_zoom_in","ptz_zoom_out"]){const i=t[a],r=xw(a);i&&r&&(n.push({conditions:[{condition:"key",key:i.key,state:"down",shift:i.shift,ctrl:i.ctrl,alt:i.alt,meta:i.meta}],actions:[vf({ptzAction:r,ptzPhase:"start"})],tag:e}),n.push({conditions:[{condition:"key",key:i.key,state:"up"}],actions:[vf({ptzAction:r,ptzPhase:"stop"})],tag:e}))}const a=t.ptz_home;return a&&n.push({conditions:[{condition:"key",key:a.key,state:"down",shift:a.shift,ctrl:a.ctrl,alt:a.alt,meta:a.meta}],actions:[vf()],tag:e}),n};class Mw{constructor(e){this._config=null,this._overriddenConfig=null,this._rawConfig=null,this._cardWideConfig=null,this._api=e}hasConfig(){return!!this.getConfig()}getConfig(){return this._overriddenConfig??this._config}getCardWideConfig(){return this._cardWideConfig}getNonOverriddenConfig(){return this._config}getRawConfig(){return this._rawConfig}setConfig(e){if(!e)throw new Error(V_("error.invalid_configuration"));const t=Nd.safeParse(e);if(!t.success){const n=aw(e),a=Ps(t.error);let i="";throw n&&(i=`${V_("error.upgrade_available")}. `),new Error(i+`${V_("error.invalid_configuration")}: `+(a&&a.size?JSON.stringify([...a],null," "):V_("error.invalid_configuration_no_hint")))}const n=ww(e,t.data,t.data.profiles);var a;(this._rawConfig=e,Dv(this._config,n))||(this._config=n,this._cardWideConfig={performance:n.performance,debug:n.debug},this._api.getConditionsManager().setConditionsFromConfig(),this._api.getConditionsManager().setState({view:void 0,displayMode:void 0,camera:void 0}),this._api.getMediaLoadedInfoManager().clear(),this._api.getInitializationManager().uninitialize(Wb.VIEW),this._api.getViewManager().reset(),this._api.getMessageManager().reset(),this._api.getStyleManager().setPerformance(),this._api.getStatusBarItemManager().removeAllDynamicStatusBarItems(),((e,t)=>{e.getAutomationsManager().deleteAutomations(t);const n=e.getConfigManager().getConfig()?.view.keyboard_shortcuts;if(!n)return;const a=Cw(t,n);a.length&&e.getAutomationsManager().addAutomations(a)})(this._api,this),(a=this._api).getAutomationsManager().deleteAutomations(),a.getAutomationsManager().addAutomations(a.getConfigManager().getNonOverriddenConfig()?.automations??[]),this.computeOverrideConfig(),this._api.getCardElementManager().update())}computeOverrideConfig(){const e=this._api.getConditionsManager();if(!this._config)return;let t=null;try{t=vw(e,this._config,{configOverrides:this._config.overrides,schema:Nd})}catch(e){return void this._api.getMessageManager().setErrorIfHigherPriority(e)}if(Dv(t,this._overriddenConfig))return;const n=this._overriddenConfig;this._overriddenConfig=t,this._api.getStyleManager().setMinMaxHeight(),!n||Dv(n?.cameras,this._overriddenConfig?.cameras)&&Dv(n?.cameras_global,this._overriddenConfig?.cameras_global)||this._api.getInitializationManager().uninitialize(Wb.CAMERAS),n&&n?.live.microphone.always_connected!==this._overriddenConfig?.live.microphone.always_connected&&this._api.getInitializationManager().uninitialize(Wb.MICROPHONE_CONNECT),this._initializeBackground(n)}async _initializeBackground(e){await this._api.getDefaultManager().initializeIfNecessary(e),await this._api.getMediaPlayerManager().initializeIfNecessary(e),this._api.getCardElementManager().update()}}class kw{constructor(e){this._timer=new xf,this._stateChangeHandler=()=>{this._setToDefaultIfAllowed()},this._api=e}async initializeIfNecessary(e){Dv(e?.view.default_reset,this._api.getConfigManager().getConfig()?.view.default_reset)||await this.initialize()}async initialize(){this.uninitialize();const e=this._api.getConfigManager().getConfig()?.view.default_reset;e?.entities.length&&this._api.getHASSManager().getStateWatcher().subscribe(this._stateChangeHandler,e.entities);const t=this._api.getConfigManager().getConfig()?.view.default_reset.every_seconds;return t&&this._timer.startRepeated(t,(()=>this._setToDefaultIfAllowed())),this._api.getConfigManager().getConfig()?.view.default_reset.after_interaction&&this._api.getAutomationsManager().addAutomations([{actions:[gf("default")],conditions:[{condition:"interaction",interaction:!1}],tag:this}]),!0}uninitialize(){this._timer.stop(),this._api.getHASSManager().getStateWatcher().unsubscribe(this._stateChangeHandler),this._api.getAutomationsManager().deleteAutomations(this)}_setToDefaultIfAllowed(){this._isAutomatedUpdateAllowed()&&this._api.getViewManager().setViewDefault()}_isAutomatedUpdateAllowed(){const e=this._api.getConfigManager().getConfig()?.view.default_reset.interaction_mode;return!!e&&((e,t)=>{switch(e){case"all":return!0;case"active":return t;case"inactive":return!t}})(e,this._api.getInteractionManager().hasInteraction())}}const Sw=(e,t="download")=>{const n=new URL(e).origin===window.location.origin,a=e.startsWith("data:");if(navigator.userAgent.startsWith("Home Assistant/")||navigator.userAgent.startsWith("HomeAssistant/")||!n&&!a)window.open(e,"_blank");else{const n=document.createElement("a");n.setAttribute("download",t),n.href=e,n.click(),n.remove()}},Ew=async(e,t,n)=>{const a=await t.getMediaDownloadPath(n);if(!a)throw new zs(V_("error.download_no_media"));let i=a.endpoint;if(a.sign){let t;try{t=await Ib(e,a.endpoint)}catch(e){Gg(e)}if(!t)throw new zs(V_("error.download_sign_failed"));i=t}Sw(i)},$w=e=>{const t=document.createElement("canvas");t.width=e.videoWidth,t.height=e.videoHeight;const n=t.getContext("2d");return n?(n.drawImage(e,0,0,t.width,t.height),t.toDataURL("image/jpeg")):null};class Aw{constructor(e){this._api=e}async downloadViewerMedia(){const e=this._api.getViewManager().getView()?.queryResults?.getSelectedResult(),t=this._api.getHASSManager().getHASS();if(!e||!t)return!1;try{await Ew(t,this._api.getCameraManager(),e)}catch(e){return this._api.getMessageManager().setErrorIfHigherPriority(e),!1}return!0}async downloadScreenshot(){const e=await(this._api.getMediaLoadedInfoManager().get()?.player?.getScreenshotURL());e&&Sw(e,(e=>{if(e?.is("live")||e?.is("image"))return`${e.view}-${e.camera}-${Wu(new Date,"yyyy-MM-dd-HH-mm-ss")}.jpg`;if(e?.isViewerView()){const t=e.queryResults?.getSelectedResult(),n=t?.getID()??null;return`${e.view}-${e.camera}${n?`-${n}`:""}.jpg`}return"screenshot.jpg"})(this._api.getViewManager().getView()))}}class zw{constructor(e){this._expanded=!1,this._api=e}initialize(){this._setConditionState()}isExpanded(){return this._expanded}toggleExpanded(){this.setExpanded(!this._expanded)}setExpanded(e){e&&this._api.getFullscreenManager().isInFullscreen()&&this._api.getFullscreenManager().stopFullscreen(),this._expanded=e,this._setConditionState(),this._api.getCardElementManager().update()}_setConditionState(){this._api.getConditionsManager()?.setState({expand:this._expanded})}}const Iw=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],Tw=(()=>{if("undefined"==typeof document)return!1;const e=Iw[0],t={};for(const n of Iw){const a=n?.[1];if(a in document){for(const[a,i]of n.entries())t[e[a]]=i;return t}}return!1})(),jw={change:Tw.fullscreenchange,error:Tw.fullscreenerror};let Ow={request:(e=document.documentElement,t)=>new Promise(((n,a)=>{const i=()=>{Ow.off("change",i),n()};Ow.on("change",i);const r=e[Tw.requestFullscreen](t);r instanceof Promise&&r.then(i).catch(a)})),exit:()=>new Promise(((e,t)=>{if(!Ow.isFullscreen)return void e();const n=()=>{Ow.off("change",n),e()};Ow.on("change",n);const a=document[Tw.exitFullscreen]();a instanceof Promise&&a.then(n).catch(t)})),toggle:(e,t)=>Ow.isFullscreen?Ow.exit():Ow.request(e,t),onchange(e){Ow.on("change",e)},onerror(e){Ow.on("error",e)},on(e,t){const n=jw[e];n&&document.addEventListener(n,t,!1)},off(e,t){const n=jw[e];n&&document.removeEventListener(n,t,!1)},raw:Tw};Object.defineProperties(Ow,{isFullscreen:{get:()=>Boolean(document[Tw.fullscreenElement])},element:{enumerable:!0,get:()=>document[Tw.fullscreenElement]??void 0},isEnabled:{enumerable:!0,get:()=>Boolean(document[Tw.fullscreenEnabled])}}),Tw||(Ow={isEnabled:!1});var Dw=Ow;class Rw{constructor(e){this._fullscreenHandler=()=>{this._api.getExpandManager().setExpanded(!1),this._setConditionState(),this._api.getCardElementManager().update()},this._api=e}initialize(){this._setConditionState()}connect(){Dw.isEnabled&&Dw.on("change",this._fullscreenHandler)}disconnect(){Dw.isEnabled&&Dw.off("change",this._fullscreenHandler)}isInFullscreen(){return Dw.isEnabled&&Dw.isFullscreen}toggleFullscreen(){Dw.toggle(this._api.getCardElementManager().getElement())}stopFullscreen(){Dw.exit()}_setConditionState(){this._api.getConditionsManager()?.setState({fullscreen:this.isInFullscreen()})}}class Pw{constructor(){this._watcherCallbacks=new Map}setHASS(e,t){if(e)for(const[n,a]of this._watcherCallbacks.entries()){const i=Tb(t,e,a,{stateOnly:!0,firstOnly:!0});i.length&&n(i[0])}}subscribe(e,t){return!!t.length&&(this._watcherCallbacks.has(e)?this._watcherCallbacks.get(e)?.push(...t):this._watcherCallbacks.set(e,t),!0)}unsubscribe(e){this._watcherCallbacks.delete(e)}}class Lw{constructor(e){this._hass=null,this._stateWatcher=new Pw,this._api=e}getHASS(){return this._hass}hasHASS(){return!!this._hass}getStateWatcher(){return this._stateWatcher}setHASS(e){if(((e,t)=>e?.connected!==t?.connected)(this._hass,e)&&(e?.connected?this._api.getMessageManager().resetType("connection"):this._api.getMessageManager().setMessageIfHigherPriority({message:V_("error.reconnecting"),icon:"mdi:lan-disconnect",type:"connection",dotdotdot:!0})),!e)return;const t=this._hass;this._hass=e,this._api.getConditionsManager().hasHAStateConditions()&&this._api.getConditionsManager().setState({state:this._hass.states,user:this._hass.user}),this._api.getStyleManager().setLightOrDarkMode(),this._stateWatcher.setHASS(t,e)}}var Nw=function(){return th.Date.now()},Fw="Expected a function",Vw=Math.max,Hw=Math.min;function Bw(e,t,n){var a,i,r,o,s,c,l=0,d=!1,u=!1,h=!0;if("function"!=typeof e)throw new TypeError(Fw);function p(t){var n=a,r=i;return a=i=void 0,l=t,o=e.apply(r,n)}function m(e){var n=e-c;return void 0===c||n>=t||n<0||u&&e-l>=r}function g(){var e=Nw();if(m(e))return f(e);s=setTimeout(g,function(e){var n=t-(e-c);return u?Hw(n,r-(e-l)):n}(e))}function f(e){return s=void 0,h&&a?p(e):(a=i=void 0,o)}function _(){var e=Nw(),n=m(e);if(a=arguments,i=this,c=e,n){if(void 0===s)return function(e){return l=e,s=setTimeout(g,t),d?p(e):o}(c);if(u)return clearTimeout(s),s=setTimeout(g,t),p(c)}return void 0===s&&(s=setTimeout(g,t)),o}return t=Cg(t)||0,hh(n)&&(d=!!n.leading,r=(u="maxWait"in n)?Vw(Cg(n.maxWait)||0,t):r,h="trailing"in n?!!n.trailing:h),_.cancel=function(){void 0!==s&&clearTimeout(s),l=0,a=c=i=s=void 0},_.flush=function(){return void 0===s?o:f(Nw())},_}function qw(e,t,n){var a=!0,i=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return hh(n)&&(a="leading"in n?!!n.leading:a,i="trailing"in n?!!n.trailing:i),Bw(e,t,{leading:a,maxWait:t,trailing:i})}class Uw{constructor(e){this._timer=new xf,this.reportInteraction=qw((()=>{this._reportInteraction()}),1e3),this._api=e}initialize(){this._api.getConditionsManager().setState({interaction:!1})}hasInteraction(){return this._timer.isRunning()}_reportInteraction(){this._timer.stop();const e=this._api.getConfigManager().getConfig()?.view.interaction_seconds;e&&(this._api.getConditionsManager().setState({interaction:!0}),this._timer.start(e,(()=>{this._api.getConditionsManager().setState({interaction:!1}),this._api.getStyleManager().setLightOrDarkMode()})))}}class Ww{constructor(e){this._state={},this._handleKeydown=e=>{const t={state:"down",ctrl:e.ctrlKey,alt:e.altKey,meta:e.metaKey,shift:e.shiftKey};Dv(this._state[e.key],t)||(this._state[e.key]=t,this._processStateChange())},this._handleKeyup=e=>{e.key in this._state&&"down"===this._state[e.key].state&&(this._state[e.key].state="up",this._processStateChange())},this._handleBlur=()=>{Object.keys(this._state).length&&(this._state={},this._processStateChange())},this._api=e}initialize(){const e=this._api.getCardElementManager().getElement();e.addEventListener("keydown",this._handleKeydown),e.addEventListener("keyup",this._handleKeyup),e.addEventListener("blur",this._handleBlur)}uninitialize(){const e=this._api.getCardElementManager().getElement();e.removeEventListener("keydown",this._handleKeydown),e.removeEventListener("keyup",this._handleKeyup),e.removeEventListener("blur",this._handleBlur)}_processStateChange(){this._api.getConditionsManager().setState({keys:this._state})}}function Zw(e,t){let n;return n=e instanceof Event?e.composedPath()[0]:e,n instanceof HTMLImageElement?{width:n.naturalWidth,height:n.naturalHeight,...t}:n instanceof HTMLVideoElement?{width:n.videoWidth,height:n.videoHeight,...t}:n instanceof HTMLCanvasElement?{width:n.width,height:n.height,player:t?.player,...t}:null}function Qw(e,t,n){const a=Zw(t,n);a&&Gw(e,a)}function Gw(e,t){Bg(e,"media:loaded",t)}function Yw(e){Bg(e,"media:unloaded")}function Kw(e){Bg(e,"media:volumechange")}function Xw(e){Bg(e,"media:play")}function Jw(e){Bg(e,"media:pause")}class ex{constructor(e){this._current=null,this._lastKnown=null,this._api=e}initialize(){this.clear()}set(e){var t;(t=e).height>=50&&t.width>=50&&(B_(this._api.getConfigManager().getCardWideConfig(),"Frigate Card media load: ",e),this._current=e,this._lastKnown=e,this._api.getConditionsManager().setState({media_loaded:!0}),this._api.getStyleManager().setExpandedMode(),this._api.getCardElementManager().update())}get(){return this._current}getLastKnown(){return this._lastKnown}clear(){this._current=null,this._api.getConditionsManager().setState({media_loaded:!1})}has(){return!!this._current}}class tx{static isEvent(e){return this.isClip(e)||this.isSnapshot(e)}static isRecording(e){return"recording"===e.getMediaType()}static isClip(e){return"clip"===e.getMediaType()}static isSnapshot(e){return"snapshot"===e.getMediaType()}static isVideo(e){return this.isClip(e)||this.isRecording(e)}}class nx{constructor(e){this._mediaPlayers=[],this._api=e}getMediaPlayers(){return this._mediaPlayers}hasMediaPlayers(){return this._mediaPlayers.length>0}async initializeIfNecessary(e){e?.menu.buttons.media_player.enabled!==this._api.getConfigManager().getConfig()?.menu.buttons.media_player.enabled&&await this.initialize()}async initialize(){const e=this._api.getHASSManager().getHASS();if(!e||!this._api.getConfigManager().getConfig()?.menu.buttons.media_player.enabled)return!1;const t=Object.keys(e.states).filter((t=>{if(t.startsWith("media_player.")){const n=e.states[t];if(n&&"unavailable"!==n.state&&vb(n,131072))return!0}return!1}));let n=null;try{n=await this._api.getEntityRegistryManager().getEntities(e,t)}catch(e){Gg(e)}return this._mediaPlayers=t.filter((e=>{const t=n?.get(e);return!t||!t.hidden_by})),!0}async stop(e){const t=this._api.getHASSManager().getHASS(),n=t?.states[e];if(!n)return;let a;if(vb(n,4096))a="media_stop";else{if(!vb(n,256))return;a="turn_off"}await t.callService("media_player",a,{entity_id:e})}async playLive(e,t){const n=this._api.getCameraManager().getStore().getCameraConfig(t);n&&("dashboard"===n.cast?.method?await this._playLiveDashboard(e,n):await this._playLiveStandard(e,t,n))}async _playLiveStandard(e,t,n){const a=this._api.getHASSManager().getHASS(),i=n?.camera_entity??null;if(!a||!i)return;const r=this._api.getCameraManager().getCameraMetadata(t)?.title??null,o=a.states[i]?.attributes?.entity_picture??null;await a.callService("media_player","play_media",{entity_id:e,media_content_id:`media-source://camera/${i}`,media_content_type:"application/vnd.apple.mpegurl",extra:{...r&&{title:r},...o&&{thumb:o}}})}async _playLiveDashboard(e,t){const n=this._api.getHASSManager().getHASS();if(!n)return;const a=t.cast?.dashboard;a?.dashboard_path&&a?.view_path?await n.callService("cast","show_lovelace_view",{entity_id:e,dashboard_path:a.dashboard_path,view_path:a.view_path}):this._api.getMessageManager().setMessageIfHigherPriority({type:"error",icon:"mdi:cast",message:V_("error.no_dashboard_or_view")})}async playMedia(e,t){const n=this._api.getHASSManager().getHASS();if(!n||!t)return;const a=t.getTitle(),i=t.getThumbnail();await n.callService("media_player","play_media",{entity_id:e,media_content_id:t.getContentID(),media_content_type:tx.isVideo(t)?"video":"image",extra:{...a&&{title:a},...i&&{thumb:i}}})}}class ax{constructor(e){this._message=null,this._api=e}getMessage(){return this._message}hasMessage(){return!!this._message}hasErrorMessage(){return"error"===this._message?.type}reset(){const e=this.hasMessage();this._message=null,e&&this._api.getCardElementManager().update()}resetType(e){this._message?.type===e&&this.reset()}setErrorIfHigherPriority(e,t){e&&"object"==typeof e&&"message"in e&&(Gg(e),this.setMessageIfHigherPriority({message:t?`${t}: ${e.message}`:e.message,type:"error",...e instanceof zs&&{context:e.context}}))}setMessageIfHigherPriority(e){const t=this._message?Is[this._message.type]:0,n=Is[e.type];return!(this._message&&ne.stop())),this._stream=void 0,this._setConditionState(),this._api.getCardElementManager().update()}getStream(){return this._stream??void 0}mute(){const e=this.isMuted();this._mute=!0,this._setMute(),this._setConditionState(),e||this._callListeners("muted")}async unmute(){if(!this.isSupported())return;const e=!this.isMuted(),t=()=>{this._mute=!1,this._setMute()};this.isConnected()||this.isForbidden()?this.isConnected()&&t():(t(),await this.connect()),this._setConditionState(),e||this._callListeners("unmuted")}isConnected(){return!!this._stream}isForbidden(){return null===this._stream}isMuted(){return!this._stream||this._stream.getTracks().every((e=>!e.enabled))}addListener(e){this._listeners.push(e)}removeListener(e){this._listeners=this._listeners.filter((t=>t!==e))}_callListeners(e){this._listeners.forEach((t=>t(e)))}_setMute(){this._stream?.getTracks().forEach((e=>{e.enabled=!this._mute})),this._startTimer(),this._api.getCardElementManager().update()}_startTimer(){const e=this._api.getConfigManager().getConfig()?.live.microphone;if(e?.always_connected)return;const t=e?.disconnect_seconds??0;t&&this._timer.start(t,(()=>{this.disconnect()}))}_setConditionState(){this._api.getConditionsManager().setState({microphone:{muted:this.isMuted(),connected:this.isConnected()}})}}class rx{constructor(e){this._shouldRun=!0,this.requestExecution=()=>{this._shouldRun=!0,this._api.getCardElementManager().update()},this.executeIfNecessary=async()=>{this._shouldRun&&(this._shouldRun=!1,await this._executeViewRelated(this._calculateIntent()),await this._executeNonViewRelated(this._calculateIntent()))},this._isViewAction=e=>{switch(e.frigate_card_action){case"clip":case"clips":case"diagnostics":case"image":case"live":case"recording":case"recordings":case"snapshot":case"snapshots":case"timeline":return!0}return!1},this._api=e}hasViewRelatedActionsToRun(){return!!this._calculateIntent().view&&this._shouldRun}async _executeViewRelated(e){e.view&&(e.view.default?await this._api.getViewManager().setViewDefaultWithNewQuery({params:{camera:e.view.camera},...e.view.substream&&{modifiers:[new sb(e.view.substream)]}}):await this._api.getViewManager().setViewByParametersWithNewQuery({params:{...e.view.view&&{view:e.view.view},...e.view.camera&&{camera:e.view.camera}},...e.view.substream&&{modifiers:[new sb(e.view.substream)]}}))}async _executeNonViewRelated(e){e.other&&await this._api.getActionsManager().executeActions(e.other)}_calculateIntent(){const e={};for(const t of this._getActions())this._isViewAction(t)?((e.view??={}).view=t.frigate_card_action,(e.view??={}).default=void 0):"default"===t.frigate_card_action?((e.view??={}).default=!0,(e.view??={}).view=void 0):"camera_select"===t.frigate_card_action?(e.view??={}).camera=t.camera:"live_substream_select"===t.frigate_card_action?(e.view??={}).substream=t.camera:(e.other??=[]).push(t);return e}_getActions(){const e=new URLSearchParams(window.location.search),t=[],n=new RegExp(/^frigate-card-action([.:](?\w+))?[.:](?\w+)/);for(const[a,i]of e.entries()){const e=a.match(n);if(!e||!e.groups)continue;const r=e.groups.cardID,o=e.groups.action;let s=null;switch(o){case"camera_select":case"live_substream_select":i&&(s=ff(o,i,{cardID:r}));break;case"camera_ui":case"clip":case"clips":case"default":case"diagnostics":case"download":case"expand":case"image":case"live":case"menu_toggle":case"recording":case"recordings":case"snapshot":case"snapshots":case"timeline":s=gf(o,{cardID:r});break;default:console.warn(`Frigate card received unknown card action in query string: ${o}`)}s&&t.push(s)}return t}}class ox{constructor(e){this._items=[],this._dynamicItems=[],this._api=e}addDynamicStatusBarItem(e){this._dynamicItems.includes(e)||this._dynamicItems.push(e),this._api.getCardElementManager().update()}removeDynamicStatusBarItem(e){this._dynamicItems=this._dynamicItems.filter((t=>!Dv(t,e))),this._api.getCardElementManager().update()}removeAllDynamicStatusBarItems(){this._dynamicItems=[],this._api.getCardElementManager().update()}calculateItems(e){const t=e?.view?e?.cameraManager?.getCameraMetadata(e?.view?.camera):null,n=t?.engineLogo??null,a=e?.view?.is("live")?t?.title??null:e?.view?.isViewerView()?e?.view.queryResults?.getSelectedResult()?.getTitle()??null:null,i=e?.mediaLoadedInfo?this._calculateResolution(e?.mediaLoadedInfo):null,r=e?.mediaLoadedInfo?.technology?.length?e?.mediaLoadedInfo.technology[0]:null;return[...a?[{type:"custom:frigate-card-status-bar-string",string:a,expand:!0,sufficient:!0,...e?.statusConfig?.items.title}]:[],...i?[{type:"custom:frigate-card-status-bar-string",string:i,...e?.statusConfig?.items.resolution}]:[],...r&&"webrtc"===r?[{type:"custom:frigate-card-status-bar-icon",icon:"mdi:webrtc",...e?.statusConfig?.items.technology}]:r?[{type:"custom:frigate-card-status-bar-string",string:r.toUpperCase(),...e?.statusConfig?.items.technology}]:[],...n?[{type:"custom:frigate-card-status-bar-image",image:n,...e?.statusConfig?.items.engine}]:[],...this._dynamicItems]}_matchesWidthHeight(e,t,n){const a=.99*t,i=1.01*t,r=.99*n,o=1.01*n,s=(e,t,n)=>e>=t&&e<=n;return!!e&&(s(e.width,a,i)&&s(e.height,r,o)||s(e.height,a,i)&&s(e.width,r,o))}_calculateResolution(e){return this._matchesWidthHeight(e,1920,1080)?"1080p":this._matchesWidthHeight(e,1280,720)?"720p":this._matchesWidthHeight(e,640,480)?"VGA":this._matchesWidthHeight(e,3840,2160)?"4K":this._matchesWidthHeight(e,720,480)?"480p":this._matchesWidthHeight(e,720,576)?"576p":this._matchesWidthHeight(e,7680,4320)?"8K":`${e.width}x${e.height}`}}class sx{constructor(e){this.setLightOrDarkMode=()=>{const e=this._api.getConfigManager().getConfig(),t="on"===e?.view.dark_mode||"auto"===e?.view.dark_mode&&(!this._api.getInteractionManager().hasInteraction()||!!this._api.getHASSManager().getHASS()?.themes.darkMode);of(this._api.getCardElementManager().getElement(),t,"dark")},this._api=e}setExpandedMode(){const e=this._api.getCardElementManager().getElement(),t=this._api.getViewManager().getView(),n=this._api.getMediaLoadedInfoManager().getLastKnown();e.style.setProperty("--frigate-card-expand-aspect-ratio",t?.isAnyMediaView()&&n?`${n.width} / ${n.height}`:"unset");const a=t?.isGrid();e.style.setProperty("--frigate-card-expand-width",!a&&t?.isAnyMediaView()?"none":"var(--frigate-card-expand-max-width)"),e.style.setProperty("--frigate-card-expand-height",!a&&t?.isAnyMediaView()?"none":"var(--frigate-card-expand-max-height)")}setMinMaxHeight(){const e=this._api.getConfigManager().getConfig();if(e){this._api.getCardElementManager().getElement().style.setProperty("--frigate-card-height",e.dimensions.height)}}setPerformance(){const e={box_shadow:"none",border_radius:"0px"},t=this._api.getCardElementManager().getElement(),n=this._api.getConfigManager().getCardWideConfig()?.performance,a=n?.style??{};for(const n of Object.keys(a)){const i=`--frigate-card-css-${n.replaceAll("_","-")}`;!1===a[n]?t.style.setProperty(i,e[n]):t.style.removeProperty(i)}}_isAspectRatioEnforced(e,t){const n=e.dimensions.aspect_ratio_mode;return!(this._api.getFullscreenManager().isInFullscreen()||this._api.getExpandManager().isExpanded()||"unconstrained"===n||"dynamic"===n&&(!t||t?.isAnyMediaView()||t?.is("timeline")||t?.is("diagnostics")))}getAspectRatioStyle(){const e=this._api.getConfigManager().getConfig(),t=this._api.getViewManager().getView();if(e){if(!this._isAspectRatioEnforced(e,t))return uf();const n=e.dimensions.aspect_ratio_mode,a=this._api.getMediaLoadedInfoManager().getLastKnown();return uf(a&&"dynamic"===n?{ratio:[a.width,a.height]}:{ratio:e.dimensions.aspect_ratio})}return uf({defaultStatic:!0})}}class cx{constructor(e){this._triggeredCameras=new Map,this._triggeredCameraTimers=new Map,this._throttledTriggerAction=qw(this._triggerAction.bind(this),1e3,{trailing:!0}),this._api=e}getTriggeredCameraIDs(){return new Set(this._triggeredCameras.keys())}isTriggered(){return!!this._triggeredCameras.size}getMostRecentlyTriggeredCameraID(){const e=Ev([...this._triggeredCameras.entries()],(e=>e[1].getTime()),"desc");return e.length?e[0][0]:null}async handleCameraEvent(e){const t=this._api.getConfigManager().getConfig()?.view.triggers,n=this._api.getViewManager().getView()?.camera;if(!t||!n)return;const a=this._api.getCameraManager().getStore().getAllDependentCameras(n);t.filter_selected_camera&&!a.has(e.cameraID)||("end"!==e.type?(this._triggeredCameras.set(e.cameraID,new Date),this._setConditionStateIfNecessary(),await this._throttledTriggerAction(e)):this._startUntriggerTimer(e.cameraID))}_hasAllowableInteractionStateForAction(){const e=this._api.getConfigManager().getConfig()?.view.triggers,t=this._api.getInteractionManager().hasInteraction();return!!e&&("all"===e.actions.interaction_mode||"active"===e.actions.interaction_mode&&t||"inactive"===e.actions.interaction_mode&&!t)}async _triggerAction(e){const t=this._api.getConfigManager().getConfig()?.view.triggers.actions.trigger,n=this._api.getConfigManager().getConfig()?.view.default;("high"!==e.fidelity||e.snapshot||e.clip||"live"===t||"default"===t&&"live"===n)&&(this._hasAllowableInteractionStateForAction()&&("update"===t?await this._api.getViewManager().setViewByParametersWithNewQuery({queryExecutorOptions:{useCache:!1}}):"live"===t?await this._api.getViewManager().setViewByParametersWithNewQuery({params:{view:"live",camera:e.cameraID}}):"default"===t?await this._api.getViewManager().setViewDefaultWithNewQuery({params:{camera:e.cameraID}}):"high"===e.fidelity&&"media"===t&&await this._api.getViewManager().setViewByParametersWithNewQuery({params:{view:e.clip?"clip":"snapshot",camera:e.cameraID}})),this._api.getCardElementManager().update())}_setConditionStateIfNecessary(){const e=new Set(this._triggeredCameras.keys()),t=e.size?e:void 0;Dv(t,this._api.getConditionsManager().getState().triggered)||this._api.getConditionsManager().setState({triggered:t})}async _untriggerAction(e){const t=this._api.getConfigManager().getConfig()?.view.triggers.actions.untrigger;"default"===t&&this._hasAllowableInteractionStateForAction()&&await this._api.getViewManager().setViewDefaultWithNewQuery(),this._triggeredCameras.delete(e),this._deleteTimer(e),this._setConditionStateIfNecessary(),this._api.getCardElementManager().update()}_startUntriggerTimer(e){this._deleteTimer(e);const t=new xf;this._triggeredCameraTimers.set(e,t),t.start( -/* istanbul ignore next: the case of config being null here cannot be - reached, as there's no way to have the untrigger call happen without - a config. -- @preserve */ -this._api.getConfigManager().getConfig()?.view.triggers.untrigger_seconds??0,(async()=>{await this._untriggerAction(e)}))}_deleteTimer(e){this._triggeredCameraTimers.get(e)?.stop(),this._triggeredCameraTimers.delete(e)}}function lx(e,t){return t="function"==typeof t?t:void 0,e&&e.length?Hg(e,void 0,t):[]}class dx{constructor(e){this._queries=null,e&&(this._queries=e)}clone(){return u_(this)}getQueries(){return this._queries}setQueries(e){return this._queries=e,this}getQueryCameraIDs(){if(!this._queries)return null;const e=new Set;return this._queries.forEach((t=>[...t.cameraIDs].forEach((t=>e.add(t))))),e}setQueryCameraIDs(e){if(!this._queries)return this;const t=[];return this._queries.forEach((n=>t.push({...n,cameraIDs:Zg(e)}))),this._queries=lx(t,Dv),this}hasQueriesForCameraIDs(e){for(const t of e)if(!this._queries?.some((e=>e.cameraIDs.has(t))))return!1;return!0}}class ux extends dx{convertToClipsQueries(){for(const e of this._queries??[])delete e.hasSnapshot,e.hasClip=!0;return this}}class hx extends dx{}class px{static areEventQueries(e){return e instanceof ux}static areRecordingQueries(e){return e instanceof hx}static areClipsQueries(e){return this.areEventQueries(e)&&!!e?.getQueries()?.every((e=>e.hasClip))}static areSnapshotQueries(e){return this.areEventQueries(e)&&!!e?.getQueries()?.every((e=>e.hasSnapshot))}static getQueriesType(e){return this.areEventQueries(e)?"event":this.areRecordingQueries(e)?"recording":null}static getMediaType(e){return this.areClipsQueries(e)?"clips":this.areSnapshotQueries(e)?"snapshots":this.areRecordingQueries(e)?"recordings":null}}const mx=(e,t,n)=>{const a={anyCapabilities:["clips","snapshots","recordings"]};switch(t){case"image":case"diagnostics":return e.getStore().getCameraIDs();case"live":case"clip":case"clips":case"snapshot":case"snapshots":case"recording":case"recordings":const i="clip"===t?"clips":"snapshot"===t?"snapshots":"recording"===t?"recordings":t;return n?e.getStore().getAllDependentCameras(n,i):e.getStore().getCameraIDsWithCapability(i);case"timeline":return e.getStore().getCameraIDsWithCapability(a);case"media":return n?e.getStore().getAllDependentCameras(n,a):e.getStore().getCameraIDsWithCapability(a)}},gx=(e,t)=>Ly({},e,t);class fx{constructor(e){this.view=e.view,this.camera=e.camera,this.query=e.query??null,this.queryResults=e.queryResults??null,this.context=e.context??null,this.displayMode=e.displayMode??null}clone(){return new fx({view:this.view,camera:this.camera,query:this.query?.clone()??null,queryResults:this.queryResults?.clone()??null,context:this.context,displayMode:this.displayMode})}evolve(e){return new fx({view:void 0!==e.view?e.view:this.view,camera:void 0!==e.camera?e.camera:this.camera,query:void 0!==e.query?e.query:this.query?.clone()??null,queryResults:void 0!==e.queryResults?e.queryResults:this.queryResults?.clone()??null,context:void 0!==e.context?e.context:this.context,displayMode:void 0!==e.displayMode?e.displayMode:this.displayMode})}mergeInContext(e){return this.context=gx(this.context,e),this}removeContext(e){return this.context&&delete this.context[e],this}removeContextProperty(e,t){const n=this.context?.[e];return n&&delete n[t],this}is(e){return this.view==e}isGalleryView(){return["clips","snapshots","recordings"].includes(this.view)}isAnyMediaView(){return this.isViewerView()||this.is("live")||this.is("image")}isViewerView(){return["media","clip","snapshot","recording"].includes(this.view)}supportsMultipleDisplayModes(){return this.isViewerView()||this.is("live")}getDefaultMediaType(){return["clip","clips"].includes(this.view)?"clips":["snapshot","snapshots"].includes(this.view)?"snapshots":["recording","recordings"].includes(this.view)?"recordings":null}isGrid(){return"grid"===this.displayMode}}const _x=(e,t)=>{t?.forEach((t=>t.modify(e)))};class vx extends zs{}class yx extends zs{}class bx{constructor(e){this._api=e}getViewDefault(e){const t=this._api.getConfigManager().getConfig();if(!t)return null;let n=null;const a=e?.params?.view??t.view.default;if(e?.params?.camera)n=e.params.camera;else{const i=[...mx(this._api.getCameraManager(),a)];if(!i.length)return null;if(e?.baseView?.camera&&t.view.default_cycle_camera){const t=i.indexOf(e.baseView.camera);n=i[t+1>=i.length?0:t+1]}else n=i[0]}return this.getViewByParameters({params:{...e?.params,view:a,camera:n},baseView:e?.baseView})}getViewByParameters(e){const t=this._api.getConfigManager().getConfig();if(!t)return null;let n=e?.params?.camera??e?.baseView?.camera??null,a=e?.params?.view??e?.baseView?.view??t.view.default;const i=this._api.getCameraManager().getStore().getCameraIDs();if(!n||!i.has(n)){n=mx(this._api.getCameraManager(),a).keys().next().value??null}if(!n){const e=[...this._api.getCameraManager().getStore().getCameras()].reduce(((e,[t,n])=>{const a=n.getCapabilities()?.getRawCapabilities();return a&&(e[t]=a),e}),{});throw new vx(V_("error.no_supported_cameras"),{view:a,cameras_capabilities:e})}if(!this.isViewSupportedByCamera(n,a)){if(!e?.failSafe||!this.isViewSupportedByCamera(n,Qs)){const e=this._api.getCameraManager().getStore().getCamera(n)?.getCapabilities()?.getRawCapabilities();throw new yx(V_("error.no_supported_camera"),{view:a,camera:n,...e&&{camera_capabilities:e}})}a=Qs}const r=e?.params?.displayMode??e?.baseView?.displayMode??this._getDefaultDisplayModeForView(a,t),o={...e?.params,view:a,camera:n,displayMode:r},s=e?.baseView?e.baseView.evolve(o):new fx(o);return _x(s,e?.modifiers),s}isViewSupportedByCamera(e,t){return!!mx(this._api.getCameraManager(),t,e).size}_getDefaultDisplayModeForView(e,t){let n=null;switch(e){case"media":case"clip":case"recording":case"snapshot":n=t.media_viewer.display?.mode??null;break;case"live":n=t.live.display?.mode??null}return n??"single"}}class wx{constructor(e,t){this._key=e,this._property=t}modify(e){e.removeContextProperty(this._key,this._property)}}class xx{constructor(e){this._query=e?.query,this._queryResults=e?.queryResults}modify(e){void 0!==this._query&&(e.query=this._query),void 0!==this._queryResults&&(e.queryResults=this._queryResults)}}const Cx=(e,t,n)=>{let a;for(const[i,r]of e.entries()){const e=r.getStartTime(),o=r.getUsableEndTime();if(r.includesTime(t)&&e&&o){const t=o.getTime()-e.getTime();(!a||n&&a.cameraID!==n&&r.getCameraID()===n||t>a.duration&&(!n||a.cameraID!==n||r.getCameraID()===n))&&(a={index:i,duration:t,cameraID:r.getCameraID()})}}return a?a.index:null};class Mx{constructor(e){this._results=e?.results??[],this._selectedIndex=this._getInitialSelectedIndex(e)}_getInitialSelectedIndex(e){return null!=e?.selectedIndex?e.selectedIndex:e?.results&&e.results.length?e?.selectApproach&&"last"!==e?.selectApproach?0:e.results.length-1:null}clone(){return new Mx({results:this._results,selectedIndex:this._selectedIndex})}getResults(){return this._results}getSelectedIndex(){return this._selectedIndex}getResultsCount(){return this.getResults().length}hasResults(){return 0!==this.getResultsCount()}getResult(e){return void 0===e?null:this._results[e]}getSelectedResult(){const e=this.getSelectedIndex();return null!==e?this.getResult(e):null}hasSelectedResult(){return null!==this.getSelectedResult()}resetSelectedResult(){this._selectedIndex=null}selectIndex(e){(null===e||e>=0&&ee.getID()))),n=new Set(e._main.getResults()?.map((e=>e.getID())));return!(!t.size||!n.size||t.has(null)||n.has(null))&&((e,t)=>{for(const n of t)if(!e.has(n))return!1;return!0})(t,n)}getCameraIDs(){return new Set(this._cameras.keys())}getSlice(e){return e?this._cameras.get(e)??null:this._main}getResults(e){return this.getSlice(e)?.getResults()??null}getResultsCount(e){return this.getSlice(e)?.getResultsCount()??0}hasResults(e){return 0!==this.getSlice(e)?.getResultsCount()}getResult(e,t){return this.getSlice(t)?.getResult(e)??null}getSelectedIndex(e){return this.getSlice(e)?.getSelectedIndex()??null}getSelectedResult(e){return this.getSlice(e)?.getSelectedResult()??null}getMultipleSelectedResults(e){const t=[];if(!e||e.main){const e=this.getSelectedResult();e&&t.push(e)}const n=this._getCameraIDsFromCriteria(e);for(const e of n??[]){const n=this.getSelectedResult(e);n&&t.push(n)}return t}hasSelectedResult(e){return this.getSlice(e)?.hasSelectedResult()??!1}resetSelectedResult(e){return this.getSlice(e)?.resetSelectedResult(),this}getResultsTimestamp(){return this._resultsTimestamp}selectIndex(e,t){return this.getSlice(t)?.selectIndex(e),t||this.demoteMainSelectionToCameraSelection(),this}demoteMainSelectionToCameraSelection(){const e=this.getSelectedResult();if(e){const t=e.getCameraID();this.resetSelectedResult(t),this.selectResultIfFound((t=>t===e),{cameraID:t})}return this}promoteCameraSelectionToMainSelection(e){const t=this.getSelectedResult(e);return this.resetSelectedResult(),this.selectResultIfFound((e=>e===t)),this}_getCameraIDsFromCriteria(e){return e?.allCameras?this.getCameraIDs():e?.cameraID?new Set([e.cameraID]):null}selectResultIfFound(e,t){t&&!t?.main||(this._main.selectResultIfFound(e),this.demoteMainSelectionToCameraSelection());const n=this._getCameraIDsFromCriteria(t);for(const t of n??[])this.getSlice(t)?.selectResultIfFound(e);return this}selectBestResult(e,t){t&&!t.main||(this._main.selectBestResult(e),this.demoteMainSelectionToCameraSelection());const n=this._getCameraIDsFromCriteria(t);for(const t of n??[])this.getSlice(t)?.selectBestResult(e);return this}}class Sx{constructor(e){this._api=e}async executeDefaultEventQuery(e){const t=e?.eventsMediaType&&"all"!==e?.eventsMediaType?e.eventsMediaType:{anyCapabilities:["clips","snapshots"]},n=this._api.getCameraManager(),a=e?.cameraID?n.getStore().getAllDependentCameras(e.cameraID,t):n.getStore().getCameraIDsWithCapability(t);if(!a.size)return null;const i=n.generateDefaultEventQueries(a,{limit:this._getChunkLimit(),..."clips"===e?.eventsMediaType&&{hasClip:!0},..."snapshots"===e?.eventsMediaType&&{hasSnapshot:!0}});if(!i)return null;const r=new ux(i),o=await this.execute(r,e?.executorOptions);return o?{query:r,queryResults:o}:null}async executeDefaultRecordingQuery(e){const t=this._api.getCameraManager(),n=e?.cameraID?t.getStore().getAllDependentCameras(e.cameraID,"recordings"):t.getStore().getCameraIDsWithCapability("recordings");if(!n.size)return null;const a=t.generateDefaultRecordingQueries(n,{limit:this._getChunkLimit()});if(!a)return null;const i=new hx(a),r=await this.execute(i,e?.executorOptions);return r?{query:i,queryResults:r}:null}async execute(e,t){const n=e.getQueries();if(!n)return null;const a=await this._api.getCameraManager().executeMediaQueries(n,{useCache:t?.useCache});if(!a)return null;const i=new kx({results:a});return t?.rejectResults?.(i)?null:(t?.selectResult?.id?i.selectBestResult((e=>e.findIndex((e=>e.getID()===t.selectResult?.id)))):t?.selectResult?.func?i.selectResultIfFound(t.selectResult.func):t?.selectResult?.time&&i.selectBestResult((e=>Cx(e,t.selectResult?.time?.time,t.selectResult?.time?.favorCameraID))),i)}_getChunkLimit(){const e=this._api.getConfigManager().getCardWideConfig();return e?.performance?.features.media_chunk_size??50}}class Ex{constructor(e,t){this._api=e,this._executor=t??new Sx(e)}async getExistingQueryModifiers(e,t){return e.query?[new xx({queryResults:await this._executor.execute(e.query,t)})]:[]}async getNewQueryModifiers(e,t){return await this._executeNewQuery(e,{useCache:!1,...t})}async _executeNewQuery(e,t){const n=this._api.getConfigManager().getConfig();if(!n)return null;const a=e?.getDefaultMediaType(),i=[],r=async n=>{ -/* istanbul ignore if: this path cannot be reached -- @preserve */ -if(!n)return[];const a="recordings"===n?await this._executor.executeDefaultRecordingQuery({...!e.isGrid()&&{cameraID:e.camera},executorOptions:t}):"clips"===n||"snapshots"===n||"all"===n?await this._executor.executeDefaultEventQuery({...!e.isGrid()&&{cameraID:e.camera},eventsMediaType:n,executorOptions:t}):/* istanbul ignore next -- @preserve */ -null;return a?[new xx(a)]:[]};switch(e.view){case"live":"none"!==n.live.controls.thumbnails.mode&&i.push(...await r("recordings"===n.live.controls.thumbnails.media_type?"recordings":n.live.controls.thumbnails.events_media_type));break;case"media":i.push(...await r("clips"));break;case"clips":case"snapshots":case"recordings":i.push(...await r(a));break;case"clip":case"snapshot":case"recording":"none"!==n.media_viewer.controls.thumbnails.mode&&i.push(...await r(a))}return i.push(...this._getTimelineWindowViewModifier(e)),i.push(...this._getSeekTimeModifier(t?.selectResult?.time?.time)),i}_getTimelineWindowViewModifier(e){if(e.is("live")){const e=new Date,t=this._api.getConfigManager().getConfig()?.live; -/* istanbul ignore if: this if branch cannot be reached as if the config is - empty this function is never called -- @preserve */ -return t?[new Gy({timeline:{window:{start:Qu(e,{seconds:t.controls.timeline.window_seconds}),end:e}}})]:[]}return[new wx("timeline","window")]}_getSeekTimeModifier(e){return e?[new Gy({mediaViewer:{seek:e}})]:[new wx("mediaViewer","seek")]}}class $x{constructor(e,t){this._view=null,this._epoch=this._createEpoch(),this._loadingIndex=1,this.setViewDefault=e=>this._setViewGeneric(this._viewFactory.getViewDefault.bind(this._viewFactory),e),this.setViewByParameters=e=>this._setViewGeneric(this._viewFactory.getViewByParameters.bind(this._viewFactory),e),this.setViewDefaultWithNewQuery=async e=>await this._setViewThenModifyAsync(this._viewFactory.getViewDefault.bind(this._viewFactory),this._viewQueryExecutor.getNewQueryModifiers.bind(this._viewQueryExecutor),e),this.setViewByParametersWithNewQuery=async e=>await this._setViewThenModifyAsync(this._viewFactory.getViewByParameters.bind(this._viewFactory),this._viewQueryExecutor.getNewQueryModifiers.bind(this._viewQueryExecutor),e),this.setViewByParametersWithExistingQuery=async e=>await this._setViewThenModifyAsync(this._viewFactory.getViewByParameters.bind(this._viewFactory),this._viewQueryExecutor.getExistingQueryModifiers.bind(this._viewQueryExecutor),e),this.initialize=async()=>(this._api.getQueryStringManager().hasViewRelatedActionsToRun()||this.setViewDefaultWithNewQuery({failSafe:!0}),!0),this._api=e,this._viewFactory=t?.viewFactory??new bx(e),this._viewQueryExecutor=t?.viewQueryExecutor??new Ex(e)}getEpoch(){return this._epoch}_createEpoch(e){return{manager:this,...e&&{oldView:e}}}getView(){return this._view}hasView(){return!!this.getView()}reset(){this._view&&this._setView(null)}_setViewGeneric(e,t){let n=null;try{n=e({baseView:this._view,...t})}catch(e){this._api.getMessageManager().setErrorIfHigherPriority(e)}n&&this._setView(n)}_markViewLoadingQuery(e,t){return e.mergeInContext({loading:{query:t}})}_markViewAsNotLoadingQuery(e){return e.removeContextProperty("loading","query")}async _setViewThenModifyAsync(e,t,n){let a=null;try{a=e({baseView:this._view,...n,params:{query:null,queryResults:null,...n?.params}})}catch(e){this._api.getMessageManager().setErrorIfHigherPriority(e)}if(!a)return;if(this._view&&this._shouldAdoptQueryAndResults(a))return a.query=this._view.query,a.queryResults=this._view.queryResults,this._markViewAsNotLoadingQuery(a),void this._setView(a);const i=this._loadingIndex++;this._markViewLoadingQuery(a,i),this._setView(a);let r=null,o=null;try{r=await t(a,n?.queryExecutorOptions)}catch(e){o=e}if(this._view&&this.hasMajorMediaChange(this._view,a))return void(this._view.context?.loading?.query===i&&this._setView(this._markViewAsNotLoadingQuery(this._view.clone())));if(o)return void this._api.getMessageManager().setErrorIfHigherPriority(o); -/* istanbul ignore if: the if path cannot be reached as the view is set - above -- @preserve */if(!this._view)return;const s=this._view.clone();this._view.context?.loading?.query===i&&this._markViewAsNotLoadingQuery(s),_x(s,r),this._setView(s)}_shouldAdoptQueryAndResults(e){const t=this._view?.isViewerView()&&e?.isGalleryView(),n=e?.getDefaultMediaType(),a=px.getMediaType(this._view?.query)===n;return!!t&&a}setViewWithMergedContext(e){if(this._view)return this._setView(this._view?.clone().mergeInContext(e))}isViewSupportedByCamera(e,t){return!!mx(this._api.getCameraManager(),t,e).size}hasMajorMediaChange(e,t){const n=t??this._view;return!!e!=!!n||e?.view!==n?.view||e?.camera!==n?.camera||"live"===n?.view&&e&&My(e)!==My(n)||"live"!==n?.view&&e?.queryResults!==n?.queryResults}_setView(e){const t=this._view;B_(this._api.getConfigManager().getCardWideConfig(),"Frigate Card view change: ",e),this._view=e,this._epoch=this._createEpoch(t),this.hasMajorMediaChange(t)&&this._api.getMediaLoadedInfoManager().clear(),t?.view!==e?.view&&this._api.getCardElementManager().scrollReset(),this._api.getMessageManager().reset(),this._api.getStyleManager().setExpandedMode(),this._api.getConditionsManager()?.setState({view:e?.view,camera:e?.camera,displayMode:e?.displayMode??void 0}),this._api.getCardElementManager().update()}}class Ax{constructor(e,t,n,a){this._deviceRegistryManager=new oy(new iy((e=>e.id))),this._entityRegistryManager=new ly(new iy((e=>e.entity_id))),this._resolvedMediaCache=new uy,this._actionsManager=new gb(this),this._automationsManager=new fb(this),this._cameraManager=new ay(this),this._cameraURLManager=new _b(this),this._configManager=new Mw(this),this._defaultManager=new kw(this),this._downloadManager=new Aw(this),this._expandManager=new zw(this),this._fullscreenManager=new Rw(this),this._hassManager=new Lw(this),this._initializationManager=new Zb(this),this._interactionManager=new Uw(this),this._keyboardStateManager=new Ww(this),this._mediaLoadedInfoManager=new ex(this),this._mediaPlayerManager=new nx(this),this._messageManager=new ax(this),this._microphoneManager=new ix(this),this._queryStringManager=new rx(this),this._statusBarItemManager=new ox(this),this._styleManager=new sx(this),this._triggersManager=new cx(this),this._viewManager=new $x(this),e.addController(this),this._conditionsManager=new yw(this,a),this._cardElementManager=new Qb(this,e,t,n)}getActionsManager(){return this._actionsManager}getAutomationsManager(){return this._automationsManager}getCameraManager(){return this._cameraManager}getCameraURLManager(){return this._cameraURLManager}getCardElementManager(){return this._cardElementManager}getConditionsManager(){return this._conditionsManager}static async getConfigElement(){return await import("./editor-5368ad86.js"),document.createElement("frigate-card-editor")}getConfigManager(){return this._configManager}getDefaultManager(){return this._defaultManager}getDeviceRegistryManager(){return this._deviceRegistryManager}getDownloadManager(){return this._downloadManager}getEntityRegistryManager(){return this._entityRegistryManager}getExpandManager(){return this._expandManager}getFullscreenManager(){return this._fullscreenManager}getHASSManager(){return this._hassManager}getInitializationManager(){return this._initializationManager}getInteractionManager(){return this._interactionManager}getKeyboardStateManager(){return this._keyboardStateManager}getMediaLoadedInfoManager(){return this._mediaLoadedInfoManager}getMediaPlayerManager(){return this._mediaPlayerManager}getMessageManager(){return this._messageManager}getMicrophoneManager(){return this._microphoneManager}getQueryStringManager(){return this._queryStringManager}getResolvedMediaCache(){return this._resolvedMediaCache}getStatusBarItemManager(){return this._statusBarItemManager}static getStubConfig(e){return{cameras:[{camera_entity:e.find((e=>e.startsWith("camera.")))??"camera.demo"}]}}getStyleManager(){return this._styleManager}getTriggersManager(){return this._triggersManager}getViewManager(){return this._viewManager}hostConnected(){this.getCardElementManager().elementConnected()}hostDisconnected(){this.getCardElementManager().elementDisconnected()}}class zx{constructor(){this._dynamicMenuButtons=[]}addDynamicMenuButton(e){this._dynamicMenuButtons.includes(e)||this._dynamicMenuButtons.push(e)}removeDynamicMenuButton(e){this._dynamicMenuButtons=this._dynamicMenuButtons.filter((t=>t!=e))}calculateButtons(e,t,n,a){return[this._getDefaultButton(t),this._getCamerasButton(t,n,a?.view),this._getSubstreamsButton(t,n,a?.view),this._getLiveButton(t,a?.view,a?.viewManager),this._getClipsButton(t,a?.view,a?.viewManager),this._getSnapshotsButton(t,a?.view,a?.viewManager),this._getRecordingsButton(t,a?.view,a?.viewManager),this._getImageButton(t,a?.view,a?.viewManager),this._getTimelineButton(t,a?.view,a?.viewManager),this._getDownloadButton(t,n,a?.view),this._getCameraUIButton(t,a?.showCameraUIButton),this._getMicrophoneButton(t,a?.microphoneManager,a?.currentMediaLoadedInfo),this._getExpandButton(t,a?.inExpandedMode),this._getFullscreenButton(t,a?.inFullscreenMode),this._getCastButton(e,t,n,a?.view,a?.mediaPlayerController),this._getPlayPauseButton(t,a?.currentMediaLoadedInfo),this._getMuteUnmuteButton(t,a?.currentMediaLoadedInfo),this._getScreenshotButton(t,a?.currentMediaLoadedInfo),this._getDisplayModeButton(t,n,a?.view),this._getPTZControlsButton(t,n,a?.view),this._getPTZHomeButton(t,n,a?.view),...this._dynamicMenuButtons.map((e=>({style:this._getStyleFromActions(t,e,a),...e})))].filter(sf)}_getDefaultButton(e){return{icon:"frigate",...e.menu.buttons.frigate,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.frigate"),permanent:!0,tap_action:"hidden"===e.menu?.style?gf("menu_toggle"):gf("default"),hold_action:gf("diagnostics")}}_getCamerasButton(e,t,n){const a=t.getStore().getCameraIDsWithCapability("menu");if(a.size>1){const i=Array.from(t.getStore().getCameraConfigEntries(a),(([e,a])=>{const i=ff("camera_select",e),r=t.getCameraMetadata(e);return{enabled:!0,icon:r?.icon,entity:a.camera_entity,state_color:!0,title:r?.title,selected:n?.camera===e,...i&&{tap_action:i}}}));return{icon:"mdi:video-switch",...e.menu.buttons.cameras,type:"custom:frigate-card-menu-submenu",title:V_("config.menu.buttons.cameras"),items:i}}return null}_getSubstreamsButton(e,t,n){if(!n)return null;const a=t.getStore().getAllDependentCameras(n.camera,"substream");if(a.size&&n.is("live")){const i=[...a].filter((e=>e!==n.camera)),r=[n.camera,...i],o=My(n);if(2===r.length)return{icon:"mdi:video-input-component",style:o!==n.camera?this._getEmphasizedStyle():{},title:V_("config.menu.buttons.substreams"),...e.menu.buttons.substreams,type:"custom:frigate-card-menu-icon",tap_action:gf(ky(n)?"live_substream_off":"live_substream_on")};if(r.length>2){const a=Array.from(r,(e=>{const n=ff("live_substream_select",e),a=t.getCameraMetadata(e)??void 0,i=t.getStore().getCameraConfig(e);return{enabled:!0,icon:a?.icon,entity:i?.camera_entity,state_color:!0,title:a?.title,selected:o===e,...n&&{tap_action:n}}}));return{icon:"mdi:video-input-component",title:V_("config.menu.buttons.substreams"),style:o!==n.camera?this._getEmphasizedStyle():{},...e.menu.buttons.substreams,type:"custom:frigate-card-menu-submenu",items:a}}}return null}_getLiveButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"live")?{icon:"mdi:cctv",...e.menu.buttons.live,type:"custom:frigate-card-menu-icon",title:V_("config.view.views.live"),style:t.is("live")?this._getEmphasizedStyle():{},tap_action:gf("live")}:null}_getClipsButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"clips")?{icon:"mdi:filmstrip",...e.menu.buttons.clips,type:"custom:frigate-card-menu-icon",title:V_("config.view.views.clips"),style:t?.is("clips")?this._getEmphasizedStyle():{},tap_action:gf("clips"),hold_action:gf("clip")}:null}_getSnapshotsButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"snapshots")?{icon:"mdi:camera",...e.menu.buttons.snapshots,type:"custom:frigate-card-menu-icon",title:V_("config.view.views.snapshots"),style:t?.is("snapshots")?this._getEmphasizedStyle():{},tap_action:gf("snapshots"),hold_action:gf("snapshot")}:null}_getRecordingsButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"recordings")?{icon:"mdi:album",...e.menu.buttons.recordings,type:"custom:frigate-card-menu-icon",title:V_("config.view.views.recordings"),style:t.is("recordings")?this._getEmphasizedStyle():{},tap_action:gf("recordings"),hold_action:gf("recording")}:null}_getImageButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"image")?{icon:"mdi:image",...e.menu.buttons.image,type:"custom:frigate-card-menu-icon",title:V_("config.view.views.image"),style:t?.is("image")?this._getEmphasizedStyle():{},tap_action:gf("image")}:null}_getTimelineButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"timeline")?{icon:"mdi:chart-gantt",...e.menu.buttons.timeline,type:"custom:frigate-card-menu-icon",title:V_("config.view.views.timeline"),style:t.is("timeline")?this._getEmphasizedStyle():{},tap_action:gf("timeline")}:null}_getDownloadButton(e,t,n){const a=n?.queryResults?.getSelectedResult(),i=a?t?.getMediaCapabilities(a):null;return n?.isViewerView()&&i?.canDownload&&!this._isBeingCasted()?{icon:"mdi:download",...e.menu.buttons.download,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.download"),tap_action:gf("download")}:null}_getCameraUIButton(e,t){return t?{icon:"mdi:web",...e.menu.buttons.camera_ui,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.camera_ui"),tap_action:gf("camera_ui")}:null}_getMicrophoneButton(e,t,n){if(t&&n?.capabilities?.supports2WayAudio){const n=t.isForbidden()||!t.isSupported(),a=t.isMuted(),i=e.menu.buttons.microphone.type;return{icon:n?"mdi:microphone-message-off":a?"mdi:microphone-off":"mdi:microphone",...e.menu.buttons.microphone,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.microphone"),style:n||a?{}:this._getEmphasizedStyle(!0),...!n&&"momentary"===i&&{start_tap_action:gf("microphone_unmute"),end_tap_action:gf("microphone_mute")},...!n&&"toggle"===i&&{tap_action:gf(a?"microphone_unmute":"microphone_mute")}}}return null}_getExpandButton(e,t){return{icon:t?"mdi:arrow-collapse-all":"mdi:arrow-expand-all",...e.menu.buttons.expand,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.expand"),tap_action:gf("expand"),style:t?this._getEmphasizedStyle():{}}}_getFullscreenButton(e,t){return this._isBeingCasted()?null:{icon:t?"mdi:fullscreen-exit":"mdi:fullscreen",...e.menu.buttons.fullscreen,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.fullscreen"),tap_action:gf("fullscreen"),style:t?this._getEmphasizedStyle():{}}}_getCastButton(e,t,n,a,i){if(!a)return null;const r=n.getStore().getCameraConfig(a.camera);if(i?.hasMediaPlayers()&&(a.isViewerView()||a.is("live")&&r?.camera_entity)){const n=i.getMediaPlayers().map((t=>{const n=Lb(e,t)||t,a=e.states[t],i=_f(t,"play"),r=_f(t,"stop"),o=!a||"unavailable"===a.state;return{enabled:!0,selected:!1,icon:Nb(e,t),entity:t,state_color:!1,title:n,disabled:o,...!o&&i&&{tap_action:i},...!o&&r&&{hold_action:r}}}));return{icon:"mdi:cast",...t.menu.buttons.media_player,type:"custom:frigate-card-menu-submenu",title:V_("config.menu.buttons.media_player"),items:n}}return null}_getPlayPauseButton(e,t){if(t&&t.player&&t.capabilities?.supportsPause){const n=t.player.isPaused();return{icon:n?"mdi:play":"mdi:pause",...e.menu.buttons.play,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.play"),tap_action:gf(n?"play":"pause")}}return null}_getMuteUnmuteButton(e,t){if(t&&t.player&&t?.capabilities?.hasAudio){const n=t.player.isMuted();return{icon:n?"mdi:volume-off":"mdi:volume-high",...e.menu.buttons.mute,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.mute"),tap_action:gf(n?"unmute":"mute")}}return null}_getScreenshotButton(e,t){return t&&t.player?{icon:"mdi:monitor-screenshot",...e.menu.buttons.screenshot,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.screenshot"),tap_action:gf("screenshot")}:null}_getDisplayModeButton(e,t,n){const a=n?mx(t,n.view):null;if(n?.supportsMultipleDisplayModes()&&a&&a.size>1){const t=n.isGrid();return{icon:t?"mdi:grid-off":"mdi:grid",...e.menu.buttons.display_mode,style:t?this._getEmphasizedStyle():{},type:"custom:frigate-card-menu-icon",title:V_(t?"display_modes.single":"display_modes.grid"),tap_action:(i=t?"single":"grid",{action:"fire-dom-event",frigate_card_action:"display_mode_select",display_mode:i,...r?.cardID&&{card_id:r.cardID}})}}var i,r;return null}_getPTZControlsButton(e,t,n){const a=n?.is("live")?e.live.controls.ptz:n?.isViewerView()?e.media_viewer.controls.ptz:null;if(!n||!a||"off"===a.mode)return null;const i=Ry(n,{cameraManager:t,..."auto"===a.mode&&{type:"ptz"}});if(i){const t=!1!==n.context?.ptzControls?.enabled&&("on"===a.mode||"auto"===a.mode&&"ptz"===i.type);return{icon:"mdi:pan",...e.menu.buttons.ptz_controls,style:t?this._getEmphasizedStyle():{},type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.ptz_controls"),tap_action:(r=!t,{action:"fire-dom-event",frigate_card_action:"ptz_controls",enabled:r,...o?.cardID&&{card_id:o.cardID}})}}var r,o;return null}_getPTZHomeButton(e,t,n){const a=n?Ry(n,{cameraManager:t}):null;return!a||(("digital"===a.type&&n?.context?.zoom?.[a.targetID]?.observed?.isDefault)??1)?null:{icon:"mdi:home",...e.menu.buttons.ptz_home,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.ptz_home"),tap_action:vf({targetID:a.targetID})}}_getEmphasizedStyle(e){return e?{animation:"pulse 3s infinite",color:"var(--error-color, white)"}:{color:"var(--primary-color, white)"}}_getStyleFromActions(e,t,n){for(const a of[t.tap_action,t.double_tap_action,t.hold_action,t.start_tap_action,t.end_tap_action]){const t=Array.isArray(a)?a:[a];for(const a of t){if(!a||"fire-dom-event"!==a.action||!("frigate_card_action"in a))continue;const t=a;if(Zs.some((e=>e===t.frigate_card_action&&n?.view?.is(t.frigate_card_action)))||"default"===t.frigate_card_action&&n?.view?.is(e.view.default)||"fullscreen"===t.frigate_card_action&&n?.inFullscreenMode||"camera_select"===t.frigate_card_action&&n?.view?.camera===t.camera)return this._getEmphasizedStyle()}}return{}}_isBeingCasted(){return!!navigator.userAgent.match(/CrKey\//)}} -/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */ -function Ix(e){return null==e}var Tx=function(e,t){var n,a="";for(n=0;ns&&(t=a-s+(r=" ... ").length),n-a>s&&(n=a+s-(o=" ...").length),{str:r+e.slice(t,n).replace(/\t/g,"→")+o,pos:a-t+r.length}}function Lx(e,t){return jx.repeat(" ",t-e.length)+e}var Nx=function(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),"number"!=typeof t.indent&&(t.indent=1),"number"!=typeof t.linesBefore&&(t.linesBefore=3),"number"!=typeof t.linesAfter&&(t.linesAfter=2);for(var n,a=/\r?\n|\r|\0/g,i=[0],r=[],o=-1;n=a.exec(e.buffer);)r.push(n.index),i.push(n.index+n[0].length),e.position<=n.index&&o<0&&(o=i.length-2);o<0&&(o=i.length-1);var s,c,l="",d=Math.min(e.line+t.linesAfter,r.length).toString().length,u=t.maxLength-(t.indent+d+3);for(s=1;s<=t.linesBefore&&!(o-s<0);s++)c=Px(e.buffer,i[o-s],r[o-s],e.position-(i[o]-i[o-s]),u),l=jx.repeat(" ",t.indent)+Lx((e.line-s+1).toString(),d)+" | "+c.str+"\n"+l;for(c=Px(e.buffer,i[o],r[o],e.position,u),l+=jx.repeat(" ",t.indent)+Lx((e.line+1).toString(),d)+" | "+c.str+"\n",l+=jx.repeat("-",t.indent+d+3+c.pos)+"^\n",s=1;s<=t.linesAfter&&!(o+s>=r.length);s++)c=Px(e.buffer,i[o+s],r[o+s],e.position-(i[o]-i[o+s]),u),l+=jx.repeat(" ",t.indent)+Lx((e.line+s+1).toString(),d)+" | "+c.str+"\n";return l.replace(/\n$/,"")},Fx=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],Vx=["scalar","sequence","mapping"];var Hx=function(e,t){if(t=t||{},Object.keys(t).forEach((function(t){if(-1===Fx.indexOf(t))throw new Rx('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')})),this.options=t,this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.representName=t.representName||null,this.defaultStyle=t.defaultStyle||null,this.multi=t.multi||!1,this.styleAliases=function(e){var t={};return null!==e&&Object.keys(e).forEach((function(n){e[n].forEach((function(e){t[String(e)]=n}))})),t}(t.styleAliases||null),-1===Vx.indexOf(this.kind))throw new Rx('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')};function Bx(e,t){var n=[];return e[t].forEach((function(e){var t=n.length;n.forEach((function(n,a){n.tag===e.tag&&n.kind===e.kind&&n.multi===e.multi&&(t=a)})),n[t]=e})),n}function qx(e){return this.extend(e)}qx.prototype.extend=function(e){var t=[],n=[];if(e instanceof Hx)n.push(e);else if(Array.isArray(e))n=n.concat(e);else{if(!e||!Array.isArray(e.implicit)&&!Array.isArray(e.explicit))throw new Rx("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");e.implicit&&(t=t.concat(e.implicit)),e.explicit&&(n=n.concat(e.explicit))}t.forEach((function(e){if(!(e instanceof Hx))throw new Rx("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(e.loadKind&&"scalar"!==e.loadKind)throw new Rx("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(e.multi)throw new Rx("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")})),n.forEach((function(e){if(!(e instanceof Hx))throw new Rx("Specified list of YAML types (or a single Type object) contains a non-Type object.")}));var a=Object.create(qx.prototype);return a.implicit=(this.implicit||[]).concat(t),a.explicit=(this.explicit||[]).concat(n),a.compiledImplicit=Bx(a,"implicit"),a.compiledExplicit=Bx(a,"explicit"),a.compiledTypeMap=function(){var e,t,n={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function a(e){e.multi?(n.multi[e.kind].push(e),n.multi.fallback.push(e)):n[e.kind][e.tag]=n.fallback[e.tag]=e}for(e=0,t=arguments.length;e=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),nC=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var aC=/^[-+]?[0-9]+e/;var iC=new Hx("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!(!nC.test(e)||"_"===e[e.length-1])},construct:function(e){var t,n;return n="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(t[0])>=0&&(t=t.slice(1)),".inf"===t?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:n*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||jx.isNegativeZero(e))},represent:function(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(jx.isNegativeZero(e))return"-0.0";return n=e.toString(10),aC.test(n)?n.replace("e",".e"):n},defaultStyle:"lowercase"}),rC=Gx.extend({implicit:[Yx,Kx,tC,iC]}),oC=rC,sC=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),cC=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");var lC=new Hx("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(e){return null!==e&&(null!==sC.exec(e)||null!==cC.exec(e))},construct:function(e){var t,n,a,i,r,o,s,c,l=0,d=null;if(null===(t=sC.exec(e))&&(t=cC.exec(e)),null===t)throw new Error("Date resolve error");if(n=+t[1],a=+t[2]-1,i=+t[3],!t[4])return new Date(Date.UTC(n,a,i));if(r=+t[4],o=+t[5],s=+t[6],t[7]){for(l=t[7].slice(0,3);l.length<3;)l+="0";l=+l}return t[9]&&(d=6e4*(60*+t[10]+ +(t[11]||0)),"-"===t[9]&&(d=-d)),c=new Date(Date.UTC(n,a,i,r,o,s,l)),d&&c.setTime(c.getTime()-d),c},instanceOf:Date,represent:function(e){return e.toISOString()}});var dC=new Hx("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}}),uC="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";var hC=new Hx("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,a=0,i=e.length,r=uC;for(n=0;n64)){if(t<0)return!1;a+=6}return a%8==0},construct:function(e){var t,n,a=e.replace(/[\r\n=]/g,""),i=a.length,r=uC,o=0,s=[];for(t=0;t>16&255),s.push(o>>8&255),s.push(255&o)),o=o<<6|r.indexOf(a.charAt(t));return 0===(n=i%4*6)?(s.push(o>>16&255),s.push(o>>8&255),s.push(255&o)):18===n?(s.push(o>>10&255),s.push(o>>2&255)):12===n&&s.push(o>>4&255),new Uint8Array(s)},predicate:function(e){return"[object Uint8Array]"===Object.prototype.toString.call(e)},represent:function(e){var t,n,a="",i=0,r=e.length,o=uC;for(t=0;t>18&63],a+=o[i>>12&63],a+=o[i>>6&63],a+=o[63&i]),i=(i<<8)+e[t];return 0===(n=r%3)?(a+=o[i>>18&63],a+=o[i>>12&63],a+=o[i>>6&63],a+=o[63&i]):2===n?(a+=o[i>>10&63],a+=o[i>>4&63],a+=o[i<<2&63],a+=o[64]):1===n&&(a+=o[i>>2&63],a+=o[i<<4&63],a+=o[64],a+=o[64]),a}}),pC=Object.prototype.hasOwnProperty,mC=Object.prototype.toString;var gC=new Hx("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,n,a,i,r,o=[],s=e;for(t=0,n=s.length;t>10),56320+(e-65536&1023))}for(var qC=new Array(256),UC=new Array(256),WC=0;WC<256;WC++)qC[WC]=HC(WC)?1:0,UC[WC]=HC(WC);function ZC(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||bC,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function QC(e,t){var n={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return n.snippet=Nx(n),new Rx(t,n)}function GC(e,t){throw QC(e,t)}function YC(e,t){e.onWarning&&e.onWarning.call(null,QC(e,t))}var KC={YAML:function(e,t,n){var a,i,r;null!==e.version&&GC(e,"duplication of %YAML directive"),1!==n.length&&GC(e,"YAML directive accepts exactly one argument"),null===(a=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&GC(e,"ill-formed argument of the YAML directive"),i=parseInt(a[1],10),r=parseInt(a[2],10),1!==i&&GC(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=r<2,1!==r&&2!==r&&YC(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var a,i;2!==n.length&&GC(e,"TAG directive accepts exactly two arguments"),a=n[0],i=n[1],TC.test(a)||GC(e,"ill-formed tag handle (first argument) of the TAG directive"),wC.call(e.tagMap,a)&&GC(e,'there is a previously declared suffix for "'+a+'" tag handle'),jC.test(i)||GC(e,"ill-formed tag prefix (second argument) of the TAG directive");try{i=decodeURIComponent(i)}catch(t){GC(e,"tag prefix is malformed: "+i)}e.tagMap[a]=i}};function XC(e,t,n,a){var i,r,o,s;if(t1&&(e.result+=jx.repeat("\n",t-1))}function rM(e,t){var n,a,i=e.tag,r=e.anchor,o=[],s=!1;if(-1!==e.firstTabInLine)return!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=o),a=e.input.charCodeAt(e.position);0!==a&&(-1!==e.firstTabInLine&&(e.position=e.firstTabInLine,GC(e,"tab characters must not be used in indentation")),45===a)&&PC(e.input.charCodeAt(e.position+1));)if(s=!0,e.position++,nM(e,!0,-1)&&e.lineIndent<=t)o.push(null),a=e.input.charCodeAt(e.position);else if(n=e.line,cM(e,t,MC,!1,!0),o.push(e.result),nM(e,!0,-1),a=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==a)GC(e,"bad indentation of a sequence entry");else if(e.lineIndentt?m=1:e.lineIndent===t?m=0:e.lineIndentt?m=1:e.lineIndent===t?m=0:e.lineIndentt)&&(_&&(o=e.line,s=e.lineStart,c=e.position),cM(e,t,kC,!0,i)&&(_?g=e.result:f=e.result),_||(eM(e,h,p,m,g,f,o,s,c),m=g=f=null),nM(e,!0,-1),l=e.input.charCodeAt(e.position)),(e.line===r||e.lineIndent>t)&&0!==l)GC(e,"bad indentation of a mapping entry");else if(e.lineIndent=0))break;0===i?GC(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):c?GC(e,"repeat of an indentation width identifier"):(l=t+i-1,c=!0)}if(RC(r)){do{r=e.input.charCodeAt(++e.position)}while(RC(r));if(35===r)do{r=e.input.charCodeAt(++e.position)}while(!DC(r)&&0!==r)}for(;0!==r;){for(tM(e),e.lineIndent=0,r=e.input.charCodeAt(e.position);(!c||e.lineIndentl&&(l=e.lineIndent),DC(r))d++;else{if(e.lineIndent0){for(i=o,r=0;i>0;i--)(o=NC(s=e.input.charCodeAt(++e.position)))>=0?r=(r<<4)+o:GC(e,"expected hexadecimal character");e.result+=BC(r),e.position++}else GC(e,"unknown escape sequence");n=a=e.position}else DC(s)?(XC(e,n,a,!0),iM(e,nM(e,!1,t)),n=a=e.position):e.position===e.lineStart&&aM(e)?GC(e,"unexpected end of the document within a double quoted scalar"):(e.position++,a=e.position)}GC(e,"unexpected end of the stream within a double quoted scalar")}(e,h)?f=!0:!function(e){var t,n,a;if(42!==(a=e.input.charCodeAt(e.position)))return!1;for(a=e.input.charCodeAt(++e.position),t=e.position;0!==a&&!PC(a)&&!LC(a);)a=e.input.charCodeAt(++e.position);return e.position===t&&GC(e,"name of an alias node must contain at least one character"),n=e.input.slice(t,e.position),wC.call(e.anchorMap,n)||GC(e,'unidentified alias "'+n+'"'),e.result=e.anchorMap[n],nM(e,!0,-1),!0}(e)?function(e,t,n){var a,i,r,o,s,c,l,d,u=e.kind,h=e.result;if(PC(d=e.input.charCodeAt(e.position))||LC(d)||35===d||38===d||42===d||33===d||124===d||62===d||39===d||34===d||37===d||64===d||96===d)return!1;if((63===d||45===d)&&(PC(a=e.input.charCodeAt(e.position+1))||n&&LC(a)))return!1;for(e.kind="scalar",e.result="",i=r=e.position,o=!1;0!==d;){if(58===d){if(PC(a=e.input.charCodeAt(e.position+1))||n&&LC(a))break}else if(35===d){if(PC(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&aM(e)||n&&LC(d))break;if(DC(d)){if(s=e.line,c=e.lineStart,l=e.lineIndent,nM(e,!1,-1),e.lineIndent>=t){o=!0,d=e.input.charCodeAt(e.position);continue}e.position=r,e.line=s,e.lineStart=c,e.lineIndent=l;break}}o&&(XC(e,i,r,!1),iM(e,e.line-s),i=r=e.position,o=!1),RC(d)||(r=e.position+1),d=e.input.charCodeAt(++e.position)}return XC(e,i,r,!1),!!e.result||(e.kind=u,e.result=h,!1)}(e,h,xC===n)&&(f=!0,null===e.tag&&(e.tag="?")):(f=!0,null===e.tag&&null===e.anchor||GC(e,"alias node should not have any properties")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===m&&(f=s&&rM(e,p))),null===e.tag)null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);else if("?"===e.tag){for(null!==e.result&&"scalar"!==e.kind&&GC(e,'unacceptable node kind for ! tag; it should be "scalar", not "'+e.kind+'"'),c=0,l=e.implicitTypes.length;c"),null!==e.result&&u.kind!==e.kind&&GC(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+u.kind+'", not "'+e.kind+'"'),u.resolve(e.result,e.tag)?(e.result=u.construct(e.result,e.tag),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):GC(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||f}function lM(e){var t,n,a,i,r=e.position,o=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);0!==(i=e.input.charCodeAt(e.position))&&(nM(e,!0,-1),i=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==i));){for(o=!0,i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!PC(i);)i=e.input.charCodeAt(++e.position);for(a=[],(n=e.input.slice(t,e.position)).length<1&&GC(e,"directive name must not be less than one character in length");0!==i;){for(;RC(i);)i=e.input.charCodeAt(++e.position);if(35===i){do{i=e.input.charCodeAt(++e.position)}while(0!==i&&!DC(i));break}if(DC(i))break;for(t=e.position;0!==i&&!PC(i);)i=e.input.charCodeAt(++e.position);a.push(e.input.slice(t,e.position))}0!==i&&tM(e),wC.call(KC,n)?KC[n](e,n,a):YC(e,'unknown document directive "'+n+'"')}nM(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,nM(e,!0,-1)):o&&GC(e,"directives end mark is expected"),cM(e,e.lineIndent-1,kC,!1,!0),nM(e,!0,-1),e.checkLineBreaks&&zC.test(e.input.slice(r,e.position))&&YC(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&aM(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,nM(e,!0,-1)):e.position=55296&&a<=56319&&t+1=56320&&n<=57343?1024*(a-55296)+n-56320+65536:a}function JM(e){return/^\n* /.test(e)}var ek=1,tk=2,nk=3,ak=4,ik=5;function rk(e,t,n,a,i,r,o,s){var c,l=0,d=null,u=!1,h=!1,p=-1!==a,m=-1,g=function(e){return GM(e)&&e!==mM&&!QM(e)&&e!==EM&&e!==IM&&e!==$M&&e!==SM&&e!==jM&&e!==OM&&e!==RM&&e!==LM&&e!==wM&&e!==CM&&e!==kM&&e!==yM&&e!==PM&&e!==AM&&e!==zM&&e!==MM&&e!==bM&&e!==xM&&e!==TM&&e!==DM}(XM(e,0))&&function(e){return!QM(e)&&e!==$M}(XM(e,e.length-1));if(t||o)for(c=0;c=65536?c+=2:c++){if(!GM(l=XM(e,c)))return ik;g=g&&KM(l,d,s),d=l}else{for(c=0;c=65536?c+=2:c++){if((l=XM(e,c))===fM)u=!0,p&&(h=h||c-m-1>a&&" "!==e[m+1],m=c);else if(!GM(l))return ik;g=g&&KM(l,d,s),d=l}h=h||p&&c-m-1>a&&" "!==e[m+1]}return u||h?n>9&&JM(e)?ik:o?r===qM?ik:tk:h?ak:nk:!g||o||i(e)?r===qM?ik:tk:ek}function ok(e,t,n,a,i){e.dump=function(){if(0===t.length)return e.quotingType===qM?'""':"''";if(!e.noCompatMode&&(-1!==FM.indexOf(t)||VM.test(t)))return e.quotingType===qM?'"'+t+'"':"'"+t+"'";var r=e.indent*Math.max(1,n),o=-1===e.lineWidth?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-r),s=a||e.flowLevel>-1&&n>=e.flowLevel;switch(rk(t,s,e.indent,o,(function(t){return function(e,t){var n,a;for(n=0,a=e.implicitTypes.length;n"+sk(t,e.indent)+ck(WM(function(e,t){var n,a,i=/(\n+)([^\n]*)/g,r=(s=e.indexOf("\n"),s=-1!==s?s:e.length,i.lastIndex=s,lk(e.slice(0,s),t)),o="\n"===e[0]||" "===e[0];var s;for(;a=i.exec(e);){var c=a[1],l=a[2];n=" "===l[0],r+=c+(o||n||""===l?"":"\n")+lk(l,t),o=n}return r}(t,o),r));case ik:return'"'+function(e){for(var t,n="",a=0,i=0;i=65536?i+=2:i++)a=XM(e,i),!(t=NM[a])&&GM(a)?(n+=e[i],a>=65536&&(n+=e[i+1])):n+=t||HM(a);return n}(t)+'"';default:throw new Rx("impossible error: invalid scalar style")}}()}function sk(e,t){var n=JM(e)?String(t):"",a="\n"===e[e.length-1];return n+(a&&("\n"===e[e.length-2]||"\n"===e)?"+":a?"":"-")+"\n"}function ck(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function lk(e,t){if(""===e||" "===e[0])return e;for(var n,a,i=/ [^ ]/g,r=0,o=0,s=0,c="";n=i.exec(e);)(s=n.index)-r>t&&(a=o>r?o:s,c+="\n"+e.slice(r,a),r=a+1),o=s;return c+="\n",e.length-r>t&&o>r?c+=e.slice(r,o)+"\n"+e.slice(o+1):c+=e.slice(r),c.slice(1)}function dk(e,t,n,a){var i,r,o,s="",c=e.tag;for(i=0,r=n.length;i tag resolver accepts not "'+c+'" style');a=s.represent[c](t,c)}e.dump=a}return!0}return!1}function hk(e,t,n,a,i,r,o){e.tag=null,e.dump=n,uk(e,n,!1)||uk(e,n,!0);var s,c=hM.call(e.dump),l=a;a&&(a=e.flowLevel<0||e.flowLevel>t);var d,u,h="[object Object]"===c||"[object Array]"===c;if(h&&(u=-1!==(d=e.duplicates.indexOf(n))),(null!==e.tag&&"?"!==e.tag||u||2!==e.indent&&t>0)&&(i=!1),u&&e.usedDuplicates[d])e.dump="*ref_"+d;else{if(h&&u&&!e.usedDuplicates[d]&&(e.usedDuplicates[d]=!0),"[object Object]"===c)a&&0!==Object.keys(e.dump).length?(!function(e,t,n,a){var i,r,o,s,c,l,d="",u=e.tag,h=Object.keys(n);if(!0===e.sortKeys)h.sort();else if("function"==typeof e.sortKeys)h.sort(e.sortKeys);else if(e.sortKeys)throw new Rx("sortKeys must be a boolean or a function");for(i=0,r=h.length;i1024)&&(e.dump&&fM===e.dump.charCodeAt(0)?l+="?":l+="? "),l+=e.dump,c&&(l+=ZM(e,t)),hk(e,t+1,s,!0,c)&&(e.dump&&fM===e.dump.charCodeAt(0)?l+=":":l+=": ",d+=l+=e.dump));e.tag=u,e.dump=d||"{}"}(e,t,e.dump,i),u&&(e.dump="&ref_"+d+e.dump)):(!function(e,t,n){var a,i,r,o,s,c="",l=e.tag,d=Object.keys(n);for(a=0,i=d.length;a1024&&(s+="? "),s+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),hk(e,t,o,!1,!1)&&(c+=s+=e.dump));e.tag=l,e.dump="{"+c+"}"}(e,t,e.dump),u&&(e.dump="&ref_"+d+" "+e.dump));else if("[object Array]"===c)a&&0!==e.dump.length?(e.noArrayIndent&&!o&&t>0?dk(e,t-1,e.dump,i):dk(e,t,e.dump,i),u&&(e.dump="&ref_"+d+e.dump)):(!function(e,t,n){var a,i,r,o="",s=e.tag;for(a=0,i=n.length;a",e.dump=s+" "+e.dump)}return!0}function pk(e,t){var n,a,i=[],r=[];for(mk(e,i,r),n=0,a=r.length;nq`
${fk.dump(e)}
`;return q`
-
-
- -
-
- - ${this.message?q`${this.message}${this.context&&"string"==typeof this.context?": "+this.context:""}`:""} - - ${this.context&&Array.isArray(this.context)?this.context.map((e=>n(e))):"object"==typeof this.context?n(this.context):""} -
-
-
`}static get styles(){return o(_k)}};e([he({attribute:!1})],vk.prototype,"message",void 0),e([he({attribute:!1})],vk.prototype,"context",void 0),e([he({attribute:!1})],vk.prototype,"icon",void 0),e([he({attribute:!0,type:Boolean})],vk.prototype,"dotdotdot",void 0),vk=e([le("frigate-card-message")],vk);let yk=class extends se{render(){if(this.message)return q` ${V_("error.troubleshooting")}
.`} - .icon=${this.message.icon??"mdi:alert-circle"} - .context=${this.message.context} - .dotdotdot=${this.message.dotdotdot} - > - `}static get styles(){return o(_k)}};e([he({attribute:!1})],yk.prototype,"message",void 0),yk=e([le("frigate-card-error-message")],yk);let bk=class extends se{constructor(){super(...arguments),this.message="",this.animated=!1,this.size="large"}render(){return q`
- ${this.animated?q` - `:q``} - ${this.message?q`${this.message}`:q``} -
`}static get styles(){return o(_k)}};function wk(e){return"error"===e?.type?q` `:e?q` `:q``}function xk(e){return q` - - - `}function Ck(e,t,n,a){Bg(e,"message",{message:t,type:n,icon:a?.icon,context:a?.context})}function Mk(e,t,n){Ck(e,t,"error",{context:n?.context})}function kk(e,t){t instanceof Error&&Mk(e,t.message,{...t instanceof zs&&{context:t.context}})}e([he({attribute:!1})],bk.prototype,"message",void 0),e([he({attribute:!1})],bk.prototype,"animated",void 0),e([he({attribute:!1})],bk.prototype,"size",void 0),bk=e([le("frigate-card-progress-indicator")],bk);let Sk=class extends se{constructor(){super(...arguments),this._root=null}createRenderRoot(){return this}_createRoot(){const e=customElements.get("hui-conditional-element");if(!e||!this.hass)throw new Error(V_("error.could_not_render_elements"));const t=new e;t.hass=this.hass;const n={type:"conditional",conditions:[],elements:this.elements};try{t.setConfig(n)}catch(e){throw Gg(e,console.error),new zs(V_("error.invalid_elements_config"))}return t}willUpdate(e){try{!this.elements||this._root&&!e.has("elements")||(this._root=this._createRoot())}catch(e){return kk(this,e)}}render(){return q`${this._root||""}`}updated(){this.hass&&this._root&&(this._root.hass=this.hass)}};e([he({attribute:!1})],Sk.prototype,"elements",void 0),e([he({attribute:!1})],Sk.prototype,"conditionsManagerEpoch",void 0),e([he({attribute:!1})],Sk.prototype,"hass",void 0),Sk=e([le("frigate-card-elements-core")],Sk);let Ek=class extends se{constructor(){super(...arguments),this._menuRemoveHandler=e=>{Bg(this,"menu:remove",e.detail)},this._statusBarRemoveHandler=e=>{Bg(this,"status-bar:remove",e.detail)},this._menuAddHandler=e=>{const t=e.composedPath();t.length&&this._addHandler(t[0],"frigate-card:menu:remove",this._menuRemoveHandler)},this._statusBarAddHandler=e=>{const t=e.composedPath();t.length&&this._addHandler(t[0],"frigate-card:status-bar:add",this._statusBarRemoveHandler)}}_addHandler(e,t,n){e.removeEventListener(t,n),e.addEventListener(t,n)}connectedCallback(){super.connectedCallback(),this.addEventListener("frigate-card:menu:add",this._menuAddHandler),this.addEventListener("frigate-card:status-bar:add",this._statusBarAddHandler)}disconnectedCallback(){this.removeEventListener("frigate-card:menu:add",this._menuAddHandler),this.addEventListener("frigate-card:status-bar:add",this._statusBarAddHandler),super.disconnectedCallback()}render(){return q` - `}static get styles(){return o(":host {\n position: absolute;\n inset: 0;\n overflow: hidden;\n pointer-events: none;\n}\n\n.element {\n position: absolute;\n transform: translate(-50%, -50%);\n pointer-events: auto;\n}\n\nhui-error-card.element {\n inset: 0px;\n transform: unset;\n}")}};e([he({attribute:!1})],Ek.prototype,"hass",void 0),e([he({attribute:!1})],Ek.prototype,"conditionsManagerEpoch",void 0),e([he({attribute:!1})],Ek.prototype,"elements",void 0),Ek=e([le("frigate-card-elements")],Ek);let $k=class extends se{setConfig(e){this._config=e}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this.className=""}render(){if(function(e,t){if(!t)return!0;const n=new _w(t,{bubbles:!0,composed:!0});return e.dispatchEvent(n),n.evaluation??!1}(this,this._config?.conditions))return q` - `}};e([he({attribute:!1,hasChanged:()=>!0})],$k.prototype,"hass",void 0),$k=e([le("frigate-card-conditional")],$k);class Ak extends se{constructor(e){super(),this._config=null,this._eventCategory=e}setConfig(e){this._config=e}connectedCallback(){super.connectedCallback(),this._config&&Bg(this,`${this._eventCategory}:add`,this._config)}disconnectedCallback(){this._config&&Bg(this,`${this._eventCategory}:remove`,this._config),super.disconnectedCallback()}}e([pe()],Ak.prototype,"_config",void 0);class zk extends Ak{constructor(){super("menu")}}let Ik=class extends zk{};Ik=e([le("frigate-card-menu-icon")],Ik);let Tk=class extends zk{};Tk=e([le("frigate-card-menu-state-icon")],Tk);let jk=class extends zk{};jk=e([le("frigate-card-menu-submenu")],jk);let Ok=class extends zk{};Ok=e([le("frigate-card-menu-submenu-select")],Ok);class Dk extends Ak{constructor(){super("status-bar")}}let Rk=class extends Dk{};Rk=e([le("frigate-card-status-bar-icon")],Rk);let Pk=class extends Dk{};Pk=e([le("frigate-card-status-bar-image")],Pk);let Lk=class extends Dk{};Lk=e([le("frigate-card-status-bar-string")],Lk);let Nk=class extends se{render(){return q` `}static get styles(){return o(":host {\n width: intrinsic;\n height: intrinsic;\n display: flex;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n}\n\nimg {\n width: 10%;\n animation: rotate 8s linear infinite;\n}\n\n@keyframes rotate {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}")}};Nk=e([le("frigate-card-loading")],Nk);const Fk=(e,t)=>{Bg(e,"action:execution-request",t)};class Vk{constructor(e){this._config=null,this._buttons=[],this._expanded=!1,this._host=e}setMenuConfig(e){this._config=e,this._host.style.setProperty("--frigate-card-menu-button-size",`${e.button_size}px`),this._host.setAttribute("data-style",e.style),this._host.setAttribute("data-position",e.position),this._host.setAttribute("data-alignment",e.alignment),this._sortButtons(),this._host.requestUpdate()}getMenuConfig(){return this._config}isExpanded(){return this._expanded}setButtons(e){this._buttons=e,this._sortButtons(),this._host.requestUpdate()}getButtons(e){const t=e=>!this._isHidingMenu()||this._expanded||!!e.permanent;return this._buttons.filter((n=>(e=>!1!==e.enabled)(n)&&(t=>t.alignment===e||"matching"===e&&!t.alignment)(n)&&t(n)))}setExpanded(e){this._expanded=e,of(this._host,e,"expanded"),this._host.requestUpdate()}toggleExpanded(){this.setExpanded(!this._expanded)}actionHandler(e,t){if(e.stopPropagation(),e.detail.config&&(t=e.detail.config),!t)return;const n=e.detail.action,a=yf(n,t);if(!a)return;const i=Wg(a);let r=!1;const o=i.filter((e=>sf(e)&&!this._isUnknownActionMenuToggleAction(e)));if(o.length!=i.length&&(r=!0),o.length&&Fk(this._host,{action:i,config:t}),this._isHidingMenu())if(r)this.setExpanded(!this._expanded);else{const e=yf("hold",t),a=yf("double_tap",t),i=yf("tap",t),r=yf("end_tap",t);"end_tap"!==n&&("start_tap"!==n||e||a||i||r)&&("end_tap"===n||r)||this.setExpanded(!1)}}getFreshButtonState(e,t){const n={...t};return e&&"custom:frigate-card-menu-state-icon"===t.type?Pb(e,n):n}_sortButtons(){this._buttons=Ev(this._buttons,(e=>(e.priority??0)+(this._isHidingMenu()&&e.permanent?Us:0)),["desc"])}_isHidingMenu(){return"hidden"===this._config?.style}_isUnknownActionMenuToggleAction(e){const t=mf(e);return!!t&&"menu_toggle"==t.frigate_card_action}}var Hk="data:image/svg+xml,%3c%3fxml version='1.0' encoding='UTF-8' standalone='no'%3f%3e%3csvg width='24' height='24' viewBox='0 0 24 24' fill='none' version='1.1' id='svg54' sodipodi:docname='frigate.svg' inkscape:version='1.2.2 (b0a8486541%2c 2022-12-01)' xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape' xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd' xmlns='http://www.w3.org/2000/svg' xmlns:svg='http://www.w3.org/2000/svg'%3e %3cdefs id='defs58' /%3e %3csodipodi:namedview id='namedview56' pagecolor='%23da4040' bordercolor='%23666666' borderopacity='1.0' inkscape:pageshadow='2' inkscape:pageopacity='0' inkscape:pagecheckerboard='0' showgrid='false' width='24px' inkscape:zoom='45.254834' inkscape:cx='-0.03314563' inkscape:cy='9.9768347' inkscape:window-width='3840' inkscape:window-height='1527' inkscape:window-x='1080' inkscape:window-y='227' inkscape:window-maximized='1' inkscape:current-layer='svg54' showguides='true' inkscape:showpageshadow='2' inkscape:deskcolor='%23d1d1d1' /%3e %3cpath d='m 4.8759466%2c22.743573 c 0.0866%2c0.69274 0.811811%2c1.16359 0.37885%2c1.27183 -0.43297%2c0.10824 -2.32718%2c-3.43665 -2.7601492%2c-4.95202 -0.4329602%2c-1.51538 -0.6764993%2c-3.22017 -0.5682593%2c-4.19434 0.1082301%2c-0.97417 5.7097085%2c-2.48955 5.7097085%2c-2.89545 0%2c-0.4059 -1.81304%2c-0.0271 -1.89422%2c-0.35178 -0.0812%2c-0.32472 1.36925%2c-0.12989 1.75892%2c-0.64945 0.60885%2c-0.81181 1.3800713%2c-0.6765 1.8671505%2c-1.1094696 0.4870902%2c-0.4329599 1.0824089%2c-2.0836399 1.1906589%2c-2.7871996 0.108241%2c-0.70357 -1.0824084%2c-1.51538 -1.4071389%2c-2.05658 -0.3247195%2c-0.54121 0.7035702%2c-0.92005 3.1931099%2c-1.94834 2.48954%2c-1.02829 10.39114%2c-3.30134994 10.49938%2c-3.03074994 0.10824%2c0.27061 -2.59779%2c1.40713994 -4.492%2c2.11069994 -1.89422%2c0.70357 -4.97909%2c2.05658 -4.97909%2c2.43542 0%2c0.37885 0.16236%2c0.67651 0.0541%2c1.54244 -0.10824%2c0.86593 -0.12123%2c1.2702597 -0.32472%2c1.8400997 -0.1353%2c0.37884 -0.2706%2c1.27183 0%2c2.0836295 0.21648%2c0.64945 0.92005%2c1.13653 1.24477%2c1.24478 0.2706%2c0.018 1.01746%2c0.0433 1.8401%2c0 1.02829%2c-0.0541 2.48954%2c0.0541 2.48954%2c0.32472 0%2c0.2706 -2.21894%2c0.10824 -2.21894%2c0.48708 0%2c0.37885 2.27306%2c-0.0541 2.21894%2c0.32473 -0.0541%2c0.37884 -1.89422%2c0.21648 -2.86839%2c0.21648 -0.77933%2c0 -1.93031%2c-0.0361 -2.43542%2c-0.21648 l -0.10824%2c0.37884 c -0.18038%2c0 -0.55744%2c0.10824 -0.94711%2c0.10824 -0.48708%2c0 -0.51414%2c0.16236 -1.40713%2c0.16236 -0.892989%2c0 -0.622391%2c-0.0541 -1.4341894%2c-0.10824 -0.81181%2c-0.0541 -3.842561%2c2.27306 -4.383761%2c3.03075 -0.54121%2c0.75768 -0.21649%2c2.59778 -0.21649%2c3.43665 0%2c0.75379 -0.10824%2c2.43542 0%2c3.30135 z' fill='black' id='path330' style='fill:white%3bfill-opacity:1%3bstroke:none%3bstroke-width:0.1%3bstroke-miterlimit:4%3bstroke-dasharray:none%3bstroke-opacity:1' sodipodi:nodetypes='csccscccccsscscccccsscsccssccscc' /%3e%3c/svg%3e",Bk="data:image/svg+xml,%3c%3fxml version='1.0' encoding='UTF-8' standalone='no'%3f%3e%3c!-- Created with Inkscape (http://www.inkscape.org/) --%3e%3csvg id='svg2' version='1.1' inkscape:version='1.2.2 (b0a8486541%2c 2022-12-01)' width='24' height='24' xml:space='preserve' sodipodi:docname='motioneye.svg' inkscape:export-filename='/home/ccrisan/projects/motioneye/static/img/motioneye-logo.png' inkscape:export-xdpi='960' inkscape:export-ydpi='960' xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape' xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns='http://www.w3.org/2000/svg' xmlns:svg='http://www.w3.org/2000/svg' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns%23' xmlns:cc='http://creativecommons.org/ns%23' xmlns:dc='http://purl.org/dc/elements/1.1/'%3e%3cmetadata id='metadata8'%3e%3crdf:RDF%3e%3ccc:Work rdf:about=''%3e%3cdc:format%3eimage/svg%2bxml%3c/dc:format%3e%3cdc:type rdf:resource='http://purl.org/dc/dcmitype/StillImage' /%3e%3c/cc:Work%3e%3c/rdf:RDF%3e%3c/metadata%3e%3cdefs id='defs6'%3e%3clinearGradient inkscape:collect='always' id='linearGradient2058'%3e%3cstop style='stop-color:white%3bstop-opacity:1%3b' offset='0' id='stop2054' /%3e%3cstop style='stop-color:%23585858%3bstop-opacity:1' offset='1' id='stop2056' /%3e%3c/linearGradient%3e%3clinearGradient inkscape:collect='always' id='linearGradient2005'%3e%3cstop style='stop-color:white%3bstop-opacity:1%3b' offset='0' id='stop2001' /%3e%3cstop style='stop-color:grey%3bstop-opacity:1%3b' offset='1' id='stop2003' /%3e%3c/linearGradient%3e%3clinearGradient inkscape:collect='always' id='linearGradient4205'%3e%3cstop style='stop-color:%234aa3e0%3bstop-opacity:1' offset='0' id='stop4207' /%3e%3cstop style='stop-color:%233096db%3bstop-opacity:1' offset='1' id='stop4209' /%3e%3c/linearGradient%3e%3clinearGradient inkscape:collect='always' id='linearGradient4197'%3e%3cstop style='stop-color:white%3bstop-opacity:1%3b' offset='0' id='stop4199' /%3e%3cstop style='stop-color:%23585858%3bstop-opacity:1' offset='1' id='stop4201' /%3e%3c/linearGradient%3e%3clinearGradient inkscape:collect='always' xlink:href='%23linearGradient4205' id='linearGradient4211' x1='26.602072' y1='43.034946' x2='26.602072' y2='29.466328' gradientUnits='userSpaceOnUse' gradientTransform='matrix(0.96428571%2c0%2c0%2c0.96428571%2c0.91428571%2c0.91428571)' /%3e%3cfilter style='color-interpolation-filters:sRGB' inkscape:label='Drop Shadow' id='filter4285'%3e%3cfeFlood flood-opacity='0.588235' flood-color='rgb(0%2c0%2c0)' result='flood' id='feFlood4287' /%3e%3cfeComposite in='flood' in2='SourceGraphic' operator='in' result='composite1' id='feComposite4289' /%3e%3cfeGaussianBlur in='composite1' stdDeviation='0.6' result='blur' id='feGaussianBlur4291' /%3e%3cfeOffset dx='0' dy='-1' result='offset' id='feOffset4293' /%3e%3cfeComposite in='SourceGraphic' in2='offset' operator='over' result='composite2' id='feComposite4295' /%3e%3c/filter%3e%3clinearGradient inkscape:collect='always' xlink:href='%23linearGradient2005' id='linearGradient4309' gradientUnits='userSpaceOnUse' x1='26.445793' y1='47.517574' x2='26.445793' y2='3.8183768' /%3e%3clinearGradient inkscape:collect='always' xlink:href='%23linearGradient4197' id='linearGradient4311' gradientUnits='userSpaceOnUse' x1='26.445793' y1='47.517574' x2='26.445793' y2='3.8183768' /%3e%3clinearGradient inkscape:collect='always' xlink:href='%23linearGradient2058' id='linearGradient4313' gradientUnits='userSpaceOnUse' x1='26.445793' y1='47.517574' x2='26.445793' y2='3.8183768' /%3e%3cfilter style='color-interpolation-filters:sRGB' inkscape:label='Drop Shadow' id='filter4315' x='-0.03618178' y='-0.20783284' width='1.0723636' height='1.3304883'%3e%3cfeFlood flood-opacity='0.588235' flood-color='rgb(0%2c0%2c0)' result='flood' id='feFlood4317' /%3e%3cfeComposite in='flood' in2='SourceGraphic' operator='in' result='composite1' id='feComposite4319' /%3e%3cfeGaussianBlur in='composite1' stdDeviation='0.6' result='blur' id='feGaussianBlur4321' /%3e%3cfeOffset dx='0' dy='-1' result='offset' id='feOffset4323' /%3e%3cfeComposite in='SourceGraphic' in2='offset' operator='over' result='composite2' id='feComposite4325' /%3e%3c/filter%3e%3cfilter style='color-interpolation-filters:sRGB' inkscape:label='Drop Shadow' id='filter4327' x='-0.27857143' y='-0.4720238' width='1.5571429' height='1.7505952'%3e%3cfeFlood flood-opacity='0.588235' flood-color='rgb(0%2c0%2c0)' result='flood' id='feFlood4329' /%3e%3cfeComposite in='flood' in2='SourceGraphic' operator='in' result='composite1' id='feComposite4331' /%3e%3cfeGaussianBlur in='composite1' stdDeviation='0.6' result='blur' id='feGaussianBlur4333' /%3e%3cfeOffset dx='0' dy='-1' result='offset' id='feOffset4335' /%3e%3cfeComposite in='SourceGraphic' in2='offset' operator='over' result='composite2' id='feComposite4337' /%3e%3c/filter%3e%3cfilter style='color-interpolation-filters:sRGB' inkscape:label='Drop Shadow' id='filter4339' x='-0.0202507' y='-0.13980794' width='1.0405014' height='1.2082853'%3e%3cfeFlood flood-opacity='0.588235' flood-color='rgb(0%2c0%2c0)' result='flood' id='feFlood4341' /%3e%3cfeComposite in='flood' in2='SourceGraphic' operator='in' result='composite1' id='feComposite4343' /%3e%3cfeGaussianBlur in='composite1' stdDeviation='0.2' result='blur' id='feGaussianBlur4345' /%3e%3cfeOffset dx='0' dy='-0.5' result='offset' id='feOffset4347' /%3e%3cfeComposite in='SourceGraphic' in2='offset' operator='over' result='composite2' id='feComposite4349' /%3e%3c/filter%3e%3c/defs%3e%3csodipodi:namedview pagecolor='%23ff0d0d' bordercolor='%23666666' borderopacity='1' objecttolerance='10' gridtolerance='10' guidetolerance='10' inkscape:pageopacity='0' inkscape:pageshadow='2' inkscape:window-width='3840' inkscape:window-height='1527' id='namedview4' showgrid='false' inkscape:zoom='29.890116' inkscape:cx='19.973158' inkscape:cy='16.577386' inkscape:window-x='1080' inkscape:window-y='227' inkscape:window-maximized='1' inkscape:current-layer='g10' showguides='true' inkscape:guide-bbox='true' inkscape:showpageshadow='true' inkscape:pagecheckerboard='false' inkscape:deskcolor='%23d1d1d1' /%3e%3cg id='g10' inkscape:groupmode='layer' inkscape:label='ink_ext_XXXXXX' transform='matrix(1.25%2c0%2c0%2c-1.25%2c0%2c64)'%3e%3cg id='g4823' transform='matrix(1.0344694%2c0%2c0%2c1.0344694%2c-3.551886%2c-0.86695248)'%3e%3cpath id='path4244' d='M 8.9346154%2c40.515385 C 5.3647588%2c36.547307 3.2%2c31.357779 3.2%2c25.6 3.2%2c13.228821 13.228821%2c3.2 25.6%2c3.2 37.971179%2c3.2 48%2c13.228821 48%2c25.6 c 0%2c5.736682 -2.161128%2c10.952493 -5.707692%2c14.915385 -1.695935%2c-0.623286 -3.387833%2c-1.349065 -5.061539%2c-2.288462 3.2394%2c-0.937363 5.6%2c-3.937988 5.6%2c-7.457692 0%2c-4.260339 -3.469626%2c-7.753846 -7.753846%2c-7.753846 -3.633936%2c0 -6.690552%2c2.51055 -7.538461%2c5.869231 h -3.876924 c -0.840685%2c-3.360193 -3.903443%2c-5.869231 -7.538461%2c-5.869231 -4.284219%2c0 -7.7807693%2c3.493507 -7.7807693%2c7.753846 0%2c3.56112 2.4570323%2c6.5856 5.7615383%2c7.484616 -1.676267%2c0.912203 -3.404813%2c1.620556 -5.1692306%2c2.261538 z M 25.6%2c26.461538 c 0.532632%2c-1.981435 1.101793%2c-3.947553 3.446154%2c-5.16923 L 25.6%2c16.123077 22.153846%2c21.292308 c 2.053593%2c1.454966 3.000771%2c3.237758 3.446154%2c5.16923 z' style='fill:url(%23linearGradient4309)%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4327)' inkscape:connector-curvature='0' transform='matrix(0.38078533%2c0%2c0%2c0.38078533%2c2.9655495%2c31.335499)' /%3e%3cpath id='path4242' d='m 16.123077%2c33.353847 c -1.427443%2c0 -2.584616%2c-1.157173 -2.584616%2c-2.584616 0%2c-1.427444 1.157173%2c-2.584615 2.584616%2c-2.584615 1.427444%2c0 2.584615%2c1.157171 2.584615%2c2.584615 0%2c1.427443 -1.157171%2c2.584616 -2.584615%2c2.584616 z' style='fill:url(%23linearGradient4311)%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4327)' inkscape:connector-curvature='0' transform='matrix(0.38078533%2c0%2c0%2c0.38078533%2c2.9655495%2c31.335499)' /%3e%3cpath id='path4240' d='m 35.076923%2c33.353847 c -1.427443%2c0 -2.584615%2c-1.157173 -2.584615%2c-2.584616 0%2c-1.427444 1.157172%2c-2.584615 2.584615%2c-2.584615 1.427443%2c0 2.584616%2c1.157171 2.584616%2c2.584615 0%2c1.427443 -1.157173%2c2.584616 -2.584616%2c2.584616 z' style='fill:url(%23linearGradient4313)%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4327)' inkscape:connector-curvature='0' transform='matrix(0.38078533%2c0%2c0%2c0.38078533%2c2.9655495%2c31.335499)' /%3e%3cpath inkscape:connector-curvature='0' style='fill:%23d9d9d9%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4339)' d='m 25.6%2c47.2 c -4.373944%2c0 -8.437159%2c-1.399808 -11.838461%2c-3.634616 3.677605%2c-0.394237 7.305921%2c-1.342945 11.423077%2c-3.375 4.166157%2c2.122533 8.434154%2c3.008875 12.279808%2c3.452886 C 34.057131%2c45.890032 29.986674%2c47.2 25.6%2c47.2 Z' id='path4248' transform='matrix(0.39488848%2c0%2c0%2c0.39488848%2c2.6045087%2c30.974457)' /%3e%3cpath inkscape:connector-curvature='0' style='fill:url(%23linearGradient4211)%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4315)' d='M 39.723077%2c42.552884 C 35.394064%2c42.5242 29.479588%2c40.397223 25.184616%2c38.432418 20.668821%2c40.064102 16.035448%2c42.649343 10.801923%2c42.526924 10.453022%2c42.51873 10.118061%2c42.50105 9.7634616%2c42.475 L 5.6615384%2c42.1375 9.5557693%2c40.839424 c 5.3417977%2c-1.74056 10.0398397%2c-2.851302 14.1749997%2c-10.025963 0.959101%2c0 2.845924%2c-4.15e-4 3.738462%2c-4.15e-4 4.11884%2c7.134039 9.059296%2c8.324614 14.149039%2c10.026378 L 45.460577%2c42.085577 41.4625%2c42.475 c -0.544847%2c0.05181 -1.120992%2c0.08198 -1.739423%2c0.07788 z' id='path4246' sodipodi:nodetypes='cccccccccccc' transform='matrix(0.39488848%2c0%2c0%2c0.39488848%2c2.6045087%2c30.974457)' /%3e%3c/g%3e%3c/g%3e%3c/svg%3e",qk="data:image/svg+xml,%3c%3fxml version='1.0' encoding='UTF-8' standalone='no'%3f%3e%3c!-- Created with Inkscape (http://www.inkscape.org/) --%3e%3csvg version='1.1' id='svg62' width='24' height='24' viewBox='0 0 24 24' sodipodi:docname='reolink.svg' inkscape:version='1.2.2 (b0a8486541%2c 2022-12-01)' xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape' xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd' xmlns='http://www.w3.org/2000/svg' xmlns:svg='http://www.w3.org/2000/svg'%3e %3cdefs id='defs66' /%3e %3csodipodi:namedview id='namedview64' pagecolor='%23505050' bordercolor='%23eeeeee' borderopacity='1' inkscape:showpageshadow='0' inkscape:pageopacity='0' inkscape:pagecheckerboard='0' inkscape:deskcolor='%23505050' showgrid='true' inkscape:zoom='36.417984' inkscape:cx='18.191562' inkscape:cy='8.6633022' inkscape:window-width='3840' inkscape:window-height='1527' inkscape:window-x='1080' inkscape:window-y='227' inkscape:window-maximized='1' inkscape:current-layer='g68'%3e %3cinkscape:grid type='xygrid' id='grid1175' dotted='false' snapvisiblegridlinesonly='true' /%3e %3c/sodipodi:namedview%3e %3cg inkscape:groupmode='layer' inkscape:label='Reolink Logo' id='g68'%3e %3cpath style='fill:white%3bstroke-width:0.0393282%3bfill-opacity:1' d='M 17.037254%2c23.964909 C 16.764634%2c23.917573 16.561708%2c23.83617 16.325735%2c23.67954 16.196719%2c23.593913 14.543544%2c21.952905 12.217956%2c19.602014 10.077426%2c17.438191 8.2198993%2c15.582673 8.0901166%2c15.478642 7.6038998%2c15.088895 7.0877741%2c14.869424 6.4986827%2c14.801908 6.3140805%2c14.780765 5.079061%2c14.763305 3.7541964%2c14.763126 l -2.408845%2c-4.78e-4 0.00713%2c-7.3937713 v -7.3935985 l 6.2040046%2c3.536e-5 c 3.9799342%2c1.969e-5 6.3590882%2c0.01465833 6.6366112%2c0.0408227 2.331195%2c0.21982024 4.364771%2c1.49885914 5.578726%2c3.50085534 0.686043%2c1.1313823 1.020901%2c2.2783695 1.067186%2c3.6554196 0.06335%2c1.8844953 -0.57426%2c3.6597378 -1.831469%2c5.0992438 -0.756457%2c0.866146 -1.861127%2c1.62991 -2.928729%2c2.024919 l -0.319718%2c0.118287 -1.951287%2c-1.979284 -1.951286%2c-1.979278 1.046741%2c-0.02346 c 0.575706%2c-0.01291 1.099833%2c-0.03689 1.164724%2c-0.0533 0.596068%2c-0.150649 0.949703%2c-0.313968 1.322206%2c-0.6106282 0.643573%2c-0.5125401 1.046169%2c-1.2439257 1.137985%2c-2.0673522 0.167852%2c-1.505317 -0.771478%2c-2.8704888 -2.263547%2c-3.2897068 L 13.950001%2c4.3234481 9.7981831%2c4.3106846 5.6392389%2c4.29801 v 3.0692702 3.0692648 l 1.4185165%2c7.9e-4 c 1.6275801%2c8.87e-4 1.7789152%2c0.01912 2.3105245%2c0.27984 0.3095679%2c0.15183 0.389559%2c0.219499 1.0817441%2c0.915083 3.027399%2c3.042274 12.19404%2c12.30837 12.204589%2c12.337002 0.0161%2c0.04373 -5.364393%2c0.03953 -5.617359%2c-0.0045 z' id='path1173' inkscape:label='R' /%3e %3c/g%3e%3c/svg%3e";const Uk=e=>{switch(e){case"frigate":return Hk;case"motioneye":return Bk;case"reolink":return qk;default:return null}};const Wk=(e,t,n)=>{const a=e.states[t],i=n?.state?n.state:a?a.state:null;if(!i)return null;const r=Ye(t),o=a?a.attributes:null;return n?.entity?.translation_key&&e.localize(`component.${n.entity.platform}.entity.${r}.${n.entity.translation_key}.state.${i}`)||o?.device_class&&e.localize(`component.${r}.state.${o.device_class}.${i}`)||e.localize(`component.${r}.state._.${i}`)||i};let Zk=class extends se{_renderItem(e){if(!this.hass)return;const t=Pb(this.hass,{...e});return q` - {t.detail.config=e}} - .actionHandler=${kf({hasHold:bf(e.hold_action),hasDoubleClick:bf(e.double_tap_action)})} - > - ${t.title||""} - ${e.subtitle?q`${e.subtitle}`:""} - ${(e=>{if(e.icon){const t=Uk(e.icon);return t?q``:q` - `}return q``})(t)} - - `}render(){if(!this.submenu)return q``;const e=this.submenu.items;return q` - e.stopPropagation()} - @click=${e=>wf(e)} - > - - - - ${e.map(this._renderItem.bind(this))} - - `}static get styles(){return o("ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n pointer-events: auto;\n}\n\nmwc-list-item {\n z-index: 20;\n}")}};e([he({attribute:!1})],Zk.prototype,"hass",void 0),e([he({attribute:!1})],Zk.prototype,"submenu",void 0),Zk=e([le("frigate-card-submenu")],Zk);let Qk=class extends se{shouldUpdate(e){const t=e.get("hass");return!e.has("hass")||!t||!this.submenuSelect||jb(this.hass,t,[this.submenuSelect.entity])}async _refreshOptionTitles(){if(!this.hass||!this.submenuSelect)return;const e=this.submenuSelect.entity,t=this.hass.states[e],n=t?.attributes?.options,a=await(this.entityRegistryManager?.getEntity(this.hass,e))??null,i={};for(const t of n){const n=Wk(this.hass,e,{...a&&{entity:a},state:t});n&&(i[t]=n)}this._optionTitles=i}willUpdate(){if(!this.submenuSelect||!this.hass)return;this._optionTitles||this._refreshOptionTitles();const e=this.submenuSelect.entity,t=this.hass.states[e],n=t?.attributes?.options;if(!t||!n)return;const a={icon:zb("select"),...Pb(this.hass,this.submenuSelect),...this.submenuSelect,type:"custom:frigate-card-menu-submenu",items:[]};delete a.options;const i=a.items;for(const a of n){const n=this._optionTitles?.[a]??a;i.push({state_color:!0,selected:t.state===a,enabled:!0,title:n||a,...(e.startsWith("select.")||e.startsWith("input_select."))&&{tap_action:{action:"perform-action",perform_action:e.startsWith("select.")?"select.select_option":"input_select.select_option",target:{entity_id:e},data:{option:a}}},...this.submenuSelect.options&&this.submenuSelect.options[a]})}this._generatedSubmenu=a}render(){return q` `}};e([he({attribute:!1})],Qk.prototype,"hass",void 0),e([he({attribute:!1})],Qk.prototype,"submenuSelect",void 0),e([he({attribute:!1})],Qk.prototype,"entityRegistryManager",void 0),e([pe()],Qk.prototype,"_optionTitles",void 0),Qk=e([le("frigate-card-submenu-select")],Qk);let Gk=class extends se{constructor(){super(...arguments),this._controller=new Vk(this)}set menuConfig(e){this._controller.setMenuConfig(e)}set buttons(e){this._controller.setButtons(e)}set expanded(e){this._controller.setExpanded(e)}toggleMenu(){this._controller.toggleExpanded()}_renderButton(e){if(!this.hass)return;if("custom:frigate-card-menu-submenu"===e.type)return q` this._controller.actionHandler(e)} - > - `;if("custom:frigate-card-menu-submenu-select"===e.type)return q` this._controller.actionHandler(e)} - > - `;const t=this._controller.getFreshButtonState(this.hass,e),n=Uk(t.icon);return q` this._controller.actionHandler(t,e)} - > - ${n?q``:q``} - `}render(){const e=this._controller.getMenuConfig(),t=e?.style;if(!e||"none"===t)return;const n=this._controller.getButtons("matching"),a=this._controller.getButtons("opposing");return q`
- ${n.map((e=>this._renderButton(e)))} -
-
- ${a.map((e=>this._renderButton(e)))} -
`}static get styles(){return o('ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n --frigate-card-menu-button-size: 40px;\n --mdc-icon-button-size: var(--frigate-card-menu-button-size);\n --mdc-icon-size: calc(var(--mdc-icon-button-size) / 2);\n pointer-events: auto;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n}\n\n/*******************************************************\n * Non-hover styles should not interact with the pointer\n *******************************************************/\n:host(:not([data-style*=hover])) {\n pointer-events: none;\n}\n\n/***********************************\n * Aligned divs: matching & opposing\n ***********************************/\ndiv.matching,\ndiv.opposing {\n display: flex;\n flex-wrap: wrap;\n flex-direction: row;\n align-items: flex-start;\n min-width: 0px;\n min-height: 0px;\n}\n\ndiv.matching {\n justify-content: flex-start;\n}\n\ndiv.opposing {\n justify-content: flex-end;\n}\n\n/********************\n * Outside menu style\n ********************/\n:host([data-style=outside]) {\n width: 100%;\n background: var(--secondary-background-color);\n}\n\n/********************************************************\n * Hack: Ensure host & div expand for column flex layouts\n ********************************************************/\n:host(:not([data-style=outside])[data-position=left]) {\n writing-mode: vertical-lr;\n}\n\n:host(:not([data-style=outside])[data-position=right]) {\n writing-mode: vertical-rl;\n}\n\n:host(:not([data-style=outside])[data-style=overlay][data-position=left]) div > *,\n:host(:not([data-style=outside])[data-style=overlay][data-position=right]) div > *,\n:host(:not([data-style=outside])[data-style*=hover][data-position=left]) div > *,\n:host(:not([data-style=outside])[data-style*=hover][data-position=right]) div > *,\n:host(:not([data-style=outside])[data-style=hidden][data-position=left]) div > *,\n:host(:not([data-style=outside])[data-style=hidden][data-position=right]) div > * {\n writing-mode: horizontal-tb;\n}\n\n/**********************\n * "Reverse" alignments\n **********************/\n:host(:not([data-style=outside])[data-position=left][data-alignment=bottom]),\n:host(:not([data-style=outside])[data-position=right][data-alignment=bottom]),\n:host([data-position=top][data-alignment=right]),\n:host([data-position=bottom][data-alignment=right]),\n:host(:not([data-style=outside])[data-position=left][data-alignment=bottom]) div,\n:host(:not([data-style=outside])[data-position=right][data-alignment=bottom]) div,\n:host([data-position=top][data-alignment=right]) div,\n:host([data-position=bottom][data-alignment=right]) div {\n flex-direction: row-reverse;\n}\n\n/****************************\n * Wrap upwards on the bottom\n ****************************/\n:host(:not([data-style=outside])[data-position=bottom]) div {\n flex-wrap: wrap-reverse;\n}\n\n/********************************************\n * Positioning for absolute based menu styles\n ********************************************/\n:host([data-style=overlay]),\n:host([data-style*=hover]),\n:host([data-style=hidden]) {\n overflow: hidden;\n width: calc(var(--frigate-card-menu-button-size) + 6px);\n height: calc(var(--frigate-card-menu-button-size) + 6px);\n}\n\n:host([data-style=overlay]),\n:host([data-style*=hover]),\n:host([data-style=hidden][expanded]) {\n overflow: visible;\n}\n\n:host([data-style=overlay][data-position=top]),\n:host([data-style=overlay][data-position=bottom]),\n:host([data-style*=hover][data-position=top]),\n:host([data-style*=hover][data-position=bottom]),\n:host([data-style=hidden][data-position=top]),\n:host([data-style=hidden][data-position=bottom]) {\n width: 100%;\n height: auto;\n}\n\n:host([data-style=overlay][data-position=top][data-alignment=left]),\n:host([data-style=overlay][data-position=bottom][data-alignment=left]),\n:host([data-style*=hover][data-position=top][data-alignment=left]),\n:host([data-style*=hover][data-position=bottom][data-alignment=left]),\n:host([data-style=hidden][data-position=top][data-alignment=left][expanded]),\n:host([data-style=hidden][data-position=bottom][data-alignment=left][expanded]) {\n background: linear-gradient(90deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}\n\n:host([data-style=overlay][data-position=top][data-alignment=right]),\n:host([data-style=overlay][data-position=bottom][data-alignment=right]),\n:host([data-style*=hover][data-position=top][data-alignment=right]),\n:host([data-style*=hover][data-position=bottom][data-alignment=right]),\n:host([data-style=hidden][data-position=top][data-alignment=right][expanded]),\n:host([data-style=hidden][data-position=bottom][data-alignment=right][expanded]) {\n background: linear-gradient(270deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}\n\n:host([data-style=overlay][data-position=left]),\n:host([data-style=overlay][data-position=right]),\n:host([data-style*=hover][data-position=left]),\n:host([data-style*=hover][data-position=right]),\n:host([data-style=hidden][data-position=left]),\n:host([data-style=hidden][data-position=right]) {\n width: auto;\n height: 100%;\n}\n\n:host([data-style=overlay][data-position=left][data-alignment=top]),\n:host([data-style=overlay][data-position=right][data-alignment=top]),\n:host([data-style*=hover][data-position=left][data-alignment=top]),\n:host([data-style*=hover][data-position=right][data-alignment=top]),\n:host([data-style=hidden][data-position=left][data-alignment=top][expanded]),\n:host([data-style=hidden][data-position=right][data-alignment=top][expanded]) {\n background: linear-gradient(180deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}\n\n:host([data-style=overlay][data-position=left][data-alignment=bottom]),\n:host([data-style=overlay][data-position=right][data-alignment=bottom]),\n:host([data-style*=hover][data-position=left][data-alignment=bottom]),\n:host([data-style*=hover][data-position=right][data-alignment=bottom]),\n:host([data-style=hidden][data-position=left][data-alignment=bottom][expanded]),\n:host([data-style=hidden][data-position=right][data-alignment=bottom][expanded]) {\n background: linear-gradient(0deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}')}};e([he({attribute:!1})],Gk.prototype,"entityRegistryManager",void 0),e([he({attribute:!1})],Gk.prototype,"hass",void 0),Gk=e([le("frigate-card-menu")],Gk);let Yk=class extends se{render(){return q` - - - - - `}static get styles(){return o("ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n position: absolute;\n width: 100%;\n height: 100%;\n pointer-events: none;\n}\n\nslot {\n position: absolute;\n display: flex;\n}\n\n/***************\n * Slot position\n ***************/\nslot[name=top] {\n top: 0px;\n}\n\nslot[name=bottom] {\n bottom: 0px;\n}\n\nslot[name=left] {\n left: 0px;\n}\n\nslot[name=right] {\n right: 0px;\n}\n\n/***********\n * Slot size\n ***********/\nslot[name=top],\nslot[name=bottom] {\n width: 100%;\n flex-direction: column;\n}\n\nslot[name=left],\nslot[name=right] {\n height: 100%;\n flex-direction: row;\n}\n\nslot[name=top],\nslot[name=left] {\n justify-content: flex-start;\n}\n\nslot[name=bottom],\nslot[name=right] {\n justify-content: flex-end;\n}\n\n/*******************************\n * Match rounded corners to card\n *******************************/\n::slotted([slot=top]:first-child),\n::slotted([slot=left]:first-child) {\n border-top-left-radius: var(--ha-card-border-radius, 4px);\n}\n\n::slotted([slot=top]:first-child),\n::slotted([slot=right]:first-child) {\n border-top-right-radius: var(--ha-card-border-radius, 4px);\n}\n\n::slotted([slot=bottom]:last-child),\n::slotted([slot=left]:last-child) {\n border-bottom-left-radius: var(--ha-card-border-radius, 4px);\n}\n\n::slotted([slot=bottom]:last-child),\n::slotted([slot=right]:last-child) {\n border-bottom-right-radius: var(--ha-card-border-radius, 4px);\n}")}};Yk=e([le("frigate-card-overlay")],Yk);class Kk{constructor(e){this._config=null,this._popupTimer=new xf,this._items=[],this._host=e}getRenderItems(){return this._items}setItems(e){const t=e.filter((e=>!!e.exclusive)),n=Ev(t.length?t:e,(e=>e.priority??50),"desc"),a=this._getSufficientValues(this._items),i=this._getSufficientValues(n);this._items=n,"popup"!==this._config?.style||Dv(a,i)||(this._show(),this._popupTimer.start(this._config.popup_seconds,(()=>this._hide()))),this._host.requestUpdate()}setConfig(e){this._config=e,this._host.style.setProperty("--frigate-card-status-bar-height",`${e.height}px`),this._host.setAttribute("data-style",e.style),this._host.setAttribute("data-position",e.position),"popup"!==this._config?.style&&this._show(),this._host.requestUpdate()}shouldRender(){return this._items.some((e=>!1!==e.enabled&&e.sufficient))}actionHandler(e,t){e.stopPropagation();const n=yf(e.detail.action,t);n&&Fk(this._host,{action:Wg(n),config:t})}_getSufficientValue(e){ -/* istanbul ignore else: cannot happen -- @preserve */ -return"custom:frigate-card-status-bar-icon"===e.type?e.icon:"custom:frigate-card-status-bar-string"===e.type?e.string:"custom:frigate-card-status-bar-image"===e.type?e.image:null}_getSufficientValues(e){return e.filter((e=>!1!==e.enabled&&e.sufficient)).map((e=>this._getSufficientValue(e)))}_show(){of(this._host,!1,"hide")}_hide(){of(this._host,!0,"hide")}}let Xk=class extends se{constructor(){super(...arguments),this._controller=new Kk(this)}willUpdate(e){e.has("config")&&this.config&&this._controller.setConfig(this.config),e.has("items")&&this._controller.setItems(this.items??[])}render(){if(this._controller.shouldRender())return q` -
- ${this._controller.getRenderItems().map((e=>{if(!1===e.enabled)return;const t=_e({item:!0,expand:!!e.expand,action:!!Object.keys(e.actions??{}).length}),n=kf({hasHold:bf(e.actions?.hold_action),hasDoubleClick:bf(e.actions?.double_tap_action)});if("custom:frigate-card-status-bar-string"===e.type)return q`
this._controller.actionHandler(t,e.actions)} - > - ${e.string} -
`;if("custom:frigate-card-status-bar-icon"===e.type){const a=Uk(e.icon);return a?q`this._controller.actionHandler(t,e.actions)} - />`:q`this._controller.actionHandler(t,e.actions)} - >`}return"custom:frigate-card-status-bar-image"===e.type?q`this._controller.actionHandler(t,e.actions)} - />`:void 0}))} -
- `}static get styles(){return o("ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n --mdc-icon-button-size: calc(var(--frigate-card-status-bar-height) - 6px);\n --mdc-icon-size: calc(var(--mdc-icon-button-size) / 2);\n display: block;\n width: 100%;\n pointer-events: auto;\n opacity: 1;\n transition: opacity 1s;\n}\n\n/*******************************************************\n * Non-hover styles should not interact with the pointer\n *******************************************************/\n:host(:not([data-style*=hover])) {\n pointer-events: none;\n}\n\n/***************\n * Outside style\n ***************/\n:host([data-style=outside]) {\n color: var(--primary-text-color);\n background: var(--secondary-background-color);\n}\n\n/*******************\n * Non-outside style\n *******************/\n:host(:not([data-style=outside])) {\n color: white;\n background: linear-gradient(90deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}\n\n:host([data-style=popup][hide]) {\n opacity: 0;\n}\n\n/*********************\n * Status bar contents\n *********************/\n.status {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n overflow: hidden;\n width: 100%;\n height: var(--frigate-card-status-bar-height);\n}\n\n.item {\n display: inline-block;\n margin: 3px;\n padding: 3px;\n align-content: center;\n opacity: 0.7;\n}\n\n.item:first-child {\n margin-left: 10px;\n}\n\n.item:last-child {\n margin-right: 10px;\n}\n\n.item.expand {\n flex: 1;\n}\n\n.item.action {\n cursor: pointer;\n}\n\nimg.item {\n width: var(--mdc-icon-size, 24px);\n height: var(--mdc-icon-size, 24px);\n}")}};e([he({attribute:!1})],Xk.prototype,"items",void 0),e([he({attribute:!1})],Xk.prototype,"config",void 0),Xk=e([le("frigate-card-status-bar")],Xk);function Jk(e){return"number"==typeof e}function eS(e){return"string"==typeof e}function tS(e){return"boolean"==typeof e}function nS(e){return"[object Object]"===Object.prototype.toString.call(e)}function aS(e){return Math.abs(e)}function iS(e){return Math.sign(e)}function rS(e,t){return aS(e-t)}function oS(e){return uS(e).map(Number)}function sS(e){return e[cS(e)]}function cS(e){return Math.max(0,e.length-1)}function lS(e,t){return t===cS(e)}function dS(e,t=0){return Array.from(Array(e),((e,n)=>t+n))}function uS(e){return Object.keys(e)}function hS(e,t){return[e,t].reduce(((e,t)=>(uS(t).forEach((n=>{const a=e[n],i=t[n],r=nS(a)&&nS(i);e[n]=r?hS(a,i):i})),e)),{})}function pS(e,t){return void 0!==t.MouseEvent&&e instanceof t.MouseEvent}function mS(){let e=[];const t={add:function(n,a,i,r={passive:!0}){let o;if("addEventListener"in n)n.addEventListener(a,i,r),o=()=>n.removeEventListener(a,i,r);else{const e=n;e.addListener(i),o=()=>e.removeListener(i)}return e.push(o),t},clear:function(){e=e.filter((e=>e()))}};return t}function gS(e,t,n,a){const i=mS(),r=1e3/60;let o=null,s=0,c=0;function l(e){if(!c)return;o||(o=e);const i=e-o;for(o=e,s+=i;s>=r;)n(r),s-=r;a(s/r),c&&t.requestAnimationFrame(l)}function d(){t.cancelAnimationFrame(c),o=null,s=0,c=0}return{init:function(){i.add(e,"visibilitychange",(()=>{e.hidden&&(o=null,s=0)}))},destroy:function(){d(),i.clear()},start:function(){c||(c=t.requestAnimationFrame(l))},stop:d,update:()=>n(r),render:a}}function fS(e=0,t=0){const n=aS(e-t);function a(t){return tt}function r(e){return a(e)||i(e)}const o={length:n,max:t,min:e,constrain:function(n){return r(n)?a(n)?e:t:n},reachedAny:r,reachedMax:i,reachedMin:a,removeOffset:function(e){return n?e-n*Math.ceil((e-t)/n):e}};return o}function _S(e,t,n){const{constrain:a}=fS(0,e),i=e+1;let r=o(t);function o(e){return n?aS((i+e)%i):a(e)}function s(){return r}function c(){return _S(e,s(),n)}const l={get:s,set:function(e){return r=o(e),l},add:function(e){return c().set(s()+e)},clone:c};return l}function vS(e,t,n,a,i,r,o,s,c,l,d,u,h,p,m,g,f,_,v){const{cross:y,direction:b}=e,w=["INPUT","SELECT","TEXTAREA"],x={passive:!1},C=mS(),M=mS(),k=fS(50,225).constrain(p.measure(20)),S={mouse:300,touch:400},E={mouse:500,touch:600},$=m?43:25;let A=!1,z=0,I=0,T=!1,j=!1,O=!1,D=!1;function R(e){if(!pS(e,a)&&e.touches.length>=2)return P(e);const t=r.readPoint(e),n=r.readPoint(e,y),o=rS(t,z),c=rS(n,I);if(!j&&!D){if(!e.cancelable)return P(e);if(j=o>c,!j)return P(e)}const d=r.pointerMove(e);o>g&&(O=!0),l.useFriction(.3).useDuration(.75),s.start(),i.add(b(d)),e.preventDefault()}function P(e){const t=d.byDistance(0,!1).index!==u.get(),n=r.pointerUp(e)*(m?E:S)[D?"mouse":"touch"],a=function(e,t){const n=u.add(-1*iS(e)),a=d.byDistance(e,!m).distance;return m||aS(e)=2,s&&0!==e.button)return;if(function(e){const t=e.nodeName||"";return w.includes(t)}(e.target))return;T=!0,r.pointerDown(e),l.useFriction(0).useDuration(0),i.set(o),function(){const e=D?n:t;M.add(e,"touchmove",R,x).add(e,"touchend",P).add(e,"mousemove",R,x).add(e,"mouseup",P)}(),z=r.readPoint(e),I=r.readPoint(e,y),h.emit("pointerDown")}(s)}const c=t;C.add(c,"dragstart",(e=>e.preventDefault()),x).add(c,"touchmove",(()=>{}),x).add(c,"touchend",(()=>{})).add(c,"touchstart",s).add(c,"mousedown",s).add(c,"touchcancel",P).add(c,"contextmenu",P).add(c,"click",L,!0)},destroy:function(){C.clear(),M.clear()},pointerDown:function(){return T}}}function yS(e,t){let n,a;function i(e){return e.timeStamp}function r(n,a){const i="client"+("x"===(a||e.scroll)?"X":"Y");return(pS(n,t)?n:n.touches[0])[i]}return{pointerDown:function(e){return n=e,a=e,r(e)},pointerMove:function(e){const t=r(e)-r(a),o=i(e)-i(n)>170;return a=e,o&&(n=e),t},pointerUp:function(e){if(!n||!a)return 0;const t=r(a)-r(n),o=i(e)-i(n),s=i(e)-i(a)>170,c=t/o;return o&&!s&&aS(c)>.1?c:0},readPoint:r}}function bS(e,t,n,a,i,r,o){const s=[e].concat(a);let c,l,d=[],u=!1;function h(e){return i.measureSize(o.measure(e))}return{init:function(i){r&&(l=h(e),d=a.map(h),c=new ResizeObserver((n=>{(tS(r)||r(i,n))&&function(n){for(const r of n){if(u)return;const n=r.target===e,o=a.indexOf(r.target),s=n?l:d[o];if(aS(h(n?e:a[o])-s)>=.5){i.reInit(),t.emit("resize");break}}}(n)})),n.requestAnimationFrame((()=>{s.forEach((e=>c.observe(e)))})))},destroy:function(){u=!0,c&&c.disconnect()}}}function wS(e,t,n,a,i){const r=i.measure(10),o=i.measure(50),s=fS(.1,.99);let c=!1;function l(){return!c&&(!!e.reachedAny(n.get())&&!!e.reachedAny(t.get()))}return{shouldConstrain:l,constrain:function(i){if(!l())return;const c=e.reachedMin(t.get())?"min":"max",d=aS(e[c]-t.get()),u=n.get()-t.get(),h=s.constrain(d/o);n.subtract(u*h),!i&&aS(u)e.add(i)))}};return c}function CS(e,t,n,a,i){const{reachedAny:r,removeOffset:o,constrain:s}=a;function c(e){return e.concat().sort(((e,t)=>aS(e)-aS(t)))[0]}function l(t,a){const i=[t,t+n,t-n];if(!e)return t;if(!a)return c(i);const r=i.filter((e=>iS(e)===a));return r.length?c(r):sS(i)-n}return{byDistance:function(n,a){const c=i.get()+n,{index:d,distance:u}=function(n){const a=e?o(n):s(n),i=t.map(((e,t)=>({diff:l(e-a,0),index:t}))).sort(((e,t)=>aS(e.diff)-aS(t.diff))),{index:r}=i[0];return{index:r,distance:a}}(c),h=!e&&r(c);return!a||h?{index:d,distance:n}:{index:d,distance:n+l(t[d]-u,0)}},byIndex:function(e,n){return{index:e,distance:l(t[e]-i.get(),n)}},shortcut:l}}function MS(e,t,n,a,i,r,o,s){const c={passive:!0,capture:!0};let l=0;function d(e){"Tab"===e.code&&(l=(new Date).getTime())}return{init:function(u){s&&(r.add(document,"keydown",d,!1),t.forEach(((t,d)=>{r.add(t,"focus",(t=>{(tS(s)||s(u,t))&&function(t){if((new Date).getTime()-l>10)return;o.emit("slideFocusStart"),e.scrollLeft=0;const r=n.findIndex((e=>e.includes(t)));Jk(r)&&(i.useDuration(0),a.index(r,0),o.emit("slideFocus"))}(d)}),c)})))}}}function kS(e){let t=e;function n(e){return Jk(e)?e:e.get()}const a={get:function(){return t},set:function(e){t=n(e)},add:function(e){t+=n(e)},subtract:function(e){t-=n(e)}};return a}function SS(e,t){const n="x"===e.scroll?function(e){return`translate3d(${e}px,0px,0px)`}:function(e){return`translate3d(0px,${e}px,0px)`},a=t.style;let i=!1;return{clear:function(){i||(a.transform="",t.getAttribute("style")||t.removeAttribute("style"))},to:function(t){i||(a.transform=n(e.direction(t)))},toggleActive:function(e){i=!e}}}function ES(e,t,n,a,i,r,o,s,c){const l=.5,d=oS(i),u=oS(i).reverse(),h=function(){const e=o[0];return g(m(u,e),n,!1)}().concat(function(){const e=t-o[0]-1;return g(m(d,e),-n,!0)}());function p(e,t){return e.reduce(((e,t)=>e-i[t]),t)}function m(e,t){return e.reduce(((e,n)=>p(e,t)>0?e.concat([n]):e),[])}function g(i,o,d){const u=function(e){return r.map(((n,i)=>({start:n-a[i]+l+e,end:n+t-l+e})))}(o);return i.map((t=>{const a=d?0:-n,i=d?n:0,r=d?"end":"start",o=u[t][r];return{index:t,loopPoint:o,slideLocation:kS(-1),translate:SS(e,c[t]),target:()=>s.get()>o?a:i}}))}const f={canLoop:function(){return h.every((({index:e})=>{const n=d.filter((t=>t!==e));return p(n,t)<=.1}))},clear:function(){h.forEach((e=>e.translate.clear()))},loop:function(){h.forEach((e=>{const{target:t,translate:n,slideLocation:a}=e,i=t();i!==a.get()&&(n.to(i),a.set(i))}))},loopPoints:h};return f}function $S(e,t,n){let a,i=!1;return{init:function(r){n&&(a=new MutationObserver((e=>{i||(tS(n)||n(r,e))&&function(e){for(const n of e)if("childList"===n.type){r.reInit(),t.emit("slidesChanged");break}}(e)})),a.observe(e,{childList:!0}))},destroy:function(){a&&a.disconnect(),i=!0}}}function AS(e,t,n,a){const i={};let r,o=null,s=null,c=!1;return{init:function(){r=new IntersectionObserver((e=>{c||(e.forEach((e=>{const n=t.indexOf(e.target);i[n]=e})),o=null,s=null,n.emit("slidesInView"))}),{root:e.parentElement,threshold:a}),t.forEach((e=>r.observe(e)))},destroy:function(){r&&r.disconnect(),c=!0},get:function(e=!0){if(e&&o)return o;if(!e&&s)return s;const t=function(e){return uS(i).reduce(((t,n)=>{const a=parseInt(n),{isIntersecting:r}=i[a];return(e&&r||!e&&!r)&&t.push(a),t}),[])}(e);return e&&(o=t),e||(s=t),t}}}function zS(e,t,n,a,i,r,o,s,c){const{startEdge:l,endEdge:d,direction:u}=e,h=Jk(n);const p={groupSlides:function(e){return h?function(e,t){return oS(e).filter((e=>e%t==0)).map((n=>e.slice(n,n+t)))}(e,n):function(e){return e.length?oS(e).reduce(((n,h,p)=>{const m=sS(n)||0,g=0===m,f=h===cS(e),_=i[l]-r[m][l],v=i[l]-r[h][d],y=!a&&g?u(o):0,b=aS(v-(!a&&f?u(s):0)-(_+y));return p&&b>t+c&&n.push(h),f&&n.push(e.length),n}),[]).map(((t,n,a)=>{const i=Math.max(a[n-1]||0);return e.slice(i,t)})):[]}(e)}};return p}function IS(e,t,n,a,i,r,o){const{align:s,axis:c,direction:l,startIndex:d,loop:u,duration:h,dragFree:p,dragThreshold:m,inViewThreshold:g,slidesToScroll:f,skipSnaps:_,containScroll:v,watchResize:y,watchSlides:b,watchDrag:w,watchFocus:x}=r,C={measure:function(e){const{offsetTop:t,offsetLeft:n,offsetWidth:a,offsetHeight:i}=e;return{top:t,right:n+a,bottom:t+i,left:n,width:a,height:i}}},M=C.measure(t),k=n.map(C.measure),S=function(e,t){const n="rtl"===t,a="y"===e,i=!a&&n?-1:1,r={scroll:a?"y":"x",cross:a?"x":"y",startEdge:a?"top":n?"right":"left",endEdge:a?"bottom":n?"left":"right",measureSize:function(e){const{height:t,width:n}=e;return a?t:n},direction:function(e){return e*i}};return r}(c,l),E=S.measureSize(M),$=function(e){const t={measure:function(t){return e*(t/100)}};return t}(E),A=function(e,t){const n={start:function(){return 0},center:function(e){return a(e)/2},end:a};function a(e){return t-e}const i={measure:function(a,i){return eS(e)?n[e](a):e(t,a,i)}};return i}(s,E),z=!u&&!!v,I=u||!!v,{slideSizes:T,slideSizesWithGaps:j,startGap:O,endGap:D}=function(e,t,n,a,i,r){const{measureSize:o,startEdge:s,endEdge:c}=e,l=n[0]&&i,d=function(){if(!l)return 0;const e=n[0];return aS(t[s]-e[s])}(),u=function(){if(!l)return 0;const e=r.getComputedStyle(sS(a));return parseFloat(e.getPropertyValue(`margin-${c}`))}(),h=n.map(o),p=n.map(((e,t,n)=>{const a=!t,i=lS(n,t);return a?h[t]+d:i?h[t]+u:n[t+1][s]-e[s]})).map(aS);return{slideSizes:h,slideSizesWithGaps:p,startGap:d,endGap:u}}(S,M,k,n,I,i),R=zS(S,E,f,u,M,k,O,D,2),{snaps:P,snapsAligned:L}=function(e,t,n,a,i){const{startEdge:r,endEdge:o}=e,{groupSlides:s}=i,c=s(a).map((e=>sS(e)[o]-e[0][r])).map(aS).map(t.measure),l=a.map((e=>n[r]-e[r])).map((e=>-aS(e))),d=s(l).map((e=>e[0])).map(((e,t)=>e+c[t]));return{snaps:l,snapsAligned:d}}(S,A,M,k,R),N=-sS(P)+sS(j),{snapsContained:F,scrollContainLimit:V}=function(e,t,n,a,i){const r=fS(-t+e,0),o=n.map(((e,t)=>{const{min:a,max:i}=r,o=r.constrain(e),s=!t,l=lS(n,t);return s?i:l||c(a,o)?a:c(i,o)?i:o})).map((e=>parseFloat(e.toFixed(3)))),s=function(){const e=o[0],t=sS(o);return fS(o.lastIndexOf(e),o.indexOf(t)+1)}();function c(e,t){return rS(e,t)<1}return{snapsContained:function(){if(t<=e+i)return[r.max];if("keepSnaps"===a)return o;const{min:n,max:c}=s;return o.slice(n,c)}(),scrollContainLimit:s}}(E,N,L,v,2),H=z?F:L,{limit:B}=function(e,t,n){const a=t[0];return{limit:fS(n?a-e:sS(t),a)}}(N,H,u),q=_S(cS(H),d,u),U=q.clone(),W=oS(n),Z=gS(a,i,(e=>(({dragHandler:e,scrollBody:t,scrollBounds:n,options:{loop:a}},i)=>{a||n.constrain(e.pointerDown()),t.seek(i)})(se,e)),(e=>(({scrollBody:e,translate:t,location:n,offsetLocation:a,scrollLooper:i,slideLooper:r,dragHandler:o,animation:s,eventHandler:c,scrollBounds:l,options:{loop:d}},u)=>{const h=e.settled(),p=!l.shouldConstrain(),m=d?h:h&&p;m&&!o.pointerDown()&&(s.stop(),c.emit("settle")),m||c.emit("scroll");const g=n.get()*u+Y.get()*(1-u);a.set(g),d&&(i.loop(e.direction()),r.loop()),t.to(a.get())})(se,e))),Q=H[q.get()],G=kS(Q),Y=kS(Q),K=kS(Q),X=kS(Q),J=function(e,t,n,a,i,r){let o=0,s=0,c=i,l=r,d=e.get(),u=0;function h(e){return c=e,m}function p(e){return l=e,m}const m={direction:function(){return s},duration:function(){return c},velocity:function(){return o},seek:function(t){const i=t/1e3,r=c*i,h=a.get()-e.get();let p=0;return c?(n.set(e),o+=h/r,o*=l,d+=o,e.add(o*i),p=d-u):(o=0,n.set(a),e.set(a),p=h),s=iS(p),u=d,m},settled:function(){return aS(a.get()-t.get())<.001},useBaseFriction:function(){return p(r)},useBaseDuration:function(){return h(i)},useFriction:p,useDuration:h};return m}(G,K,Y,X,h,.68),ee=CS(u,H,N,B,X),te=function(e,t,n,a,i,r,o){function s(i){const s=i.distance,c=i.index!==t.get();r.add(s),s&&(a.duration()?e.start():(e.update(),e.render(1),e.update())),c&&(n.set(t.get()),t.set(i.index),o.emit("select"))}const c={distance:function(e,t){s(i.byDistance(e,t))},index:function(e,n){const a=t.clone().set(e);s(i.byIndex(a.get(),n))}};return c}(Z,q,U,J,ee,X,o),ne=function(e){const{max:t,length:n}=e,a={get:function(e){return n?(e-t)/-n:0}};return a}(B),ae=mS(),ie=AS(t,n,o,g),{slideRegistry:re}=function(e,t,n,a,i,r){const{groupSlides:o}=i,{min:s,max:c}=a;return{slideRegistry:function(){const a=o(r),i=!e||"keepSnaps"===t;return 1===n.length?[r]:i?a:a.slice(s,c).map(((e,t,n)=>{const a=!t,i=lS(n,t);return a?dS(sS(n[0])+1):i?dS(cS(r)-sS(n)[0]+1,sS(n)[0]):e}))}()}}(z,v,H,V,R,W),oe=MS(e,n,re,te,J,ae,o,x),se={ownerDocument:a,ownerWindow:i,eventHandler:o,containerRect:M,slideRects:k,animation:Z,axis:S,dragHandler:vS(S,e,a,i,X,yS(S,i),G,Z,te,J,ee,q,o,$,p,m,_,.68,w),eventStore:ae,percentOfView:$,index:q,indexPrevious:U,limit:B,location:G,offsetLocation:K,previousLocation:Y,options:r,resizeHandler:bS(t,o,i,n,S,y,C),scrollBody:J,scrollBounds:wS(B,K,X,J,$),scrollLooper:xS(N,B,K,[G,K,Y,X]),scrollProgress:ne,scrollSnapList:H.map(ne.get),scrollSnaps:H,scrollTarget:ee,scrollTo:te,slideLooper:ES(S,E,N,T,j,P,H,K,n),slideFocus:oe,slidesHandler:$S(t,o,b),slidesInView:ie,slideIndexes:W,slideRegistry:re,slidesToScroll:R,target:X,translate:SS(S,t)};return se}const TS={align:"center",axis:"x",container:null,slides:null,containScroll:"trimSnaps",direction:"ltr",slidesToScroll:1,inViewThreshold:0,breakpoints:{},dragFree:!1,dragThreshold:10,loop:!1,skipSnaps:!1,duration:25,startIndex:0,active:!0,watchDrag:!0,watchResize:!0,watchSlides:!0,watchFocus:!0};function jS(e){function t(e,t){return hS(e,t||{})}const n={mergeOptions:t,optionsAtMedia:function(n){const a=n.breakpoints||{},i=uS(a).filter((t=>e.matchMedia(t).matches)).map((e=>a[e])).reduce(((e,n)=>t(e,n)),{});return t(n,i)},optionsMediaQueries:function(t){return t.map((e=>uS(e.breakpoints||{}))).reduce(((e,t)=>e.concat(t)),[]).map(e.matchMedia)}};return n}function OS(e,t,n){const a=e.ownerDocument,i=a.defaultView,r=jS(i),o=function(e){let t=[];const n={init:function(n,a){return t=a.filter((({options:t})=>!1!==e.optionsAtMedia(t).active)),t.forEach((t=>t.init(n,e))),a.reduce(((e,t)=>Object.assign(e,{[t.name]:t})),{})},destroy:function(){t=t.filter((e=>e.destroy()))}};return n}(r),s=mS(),c=function(){let e,t={};function n(e){return t[e]||[]}const a={init:function(t){e=t},emit:function(t){return n(t).forEach((n=>n(e,t))),a},off:function(e,i){return t[e]=n(e).filter((e=>e!==i)),a},on:function(e,i){return t[e]=n(e).concat([i]),a},clear:function(){t={}}};return a}(),{mergeOptions:l,optionsAtMedia:d,optionsMediaQueries:u}=r,{on:h,off:p,emit:m}=c,g=S;let f,_,v,y,b=!1,w=l(TS,OS.globalOptions),x=l(w),C=[];function M(t){const n=IS(e,v,y,a,i,t,c);if(t.loop&&!n.slideLooper.canLoop()){return M(Object.assign({},t,{loop:!1}))}return n}function k(t,n){b||(w=l(w,t),x=d(w),C=n||C,function(){const{container:t,slides:n}=x,a=eS(t)?e.querySelector(t):t;v=a||e.children[0];const i=eS(n)?v.querySelectorAll(n):n;y=[].slice.call(i||v.children)}(),f=M(x),u([w,...C.map((({options:e})=>e))]).forEach((e=>s.add(e,"change",S))),x.active&&(f.translate.to(f.location.get()),f.animation.init(),f.slidesInView.init(),f.slideFocus.init(z),f.eventHandler.init(z),f.resizeHandler.init(z),f.slidesHandler.init(z),f.options.loop&&f.slideLooper.loop(),v.offsetParent&&y.length&&f.dragHandler.init(z),_=o.init(z,C)))}function S(e,t){const n=A();E(),k(l({startIndex:n},e),t),c.emit("reInit")}function E(){f.dragHandler.destroy(),f.eventStore.clear(),f.translate.clear(),f.slideLooper.clear(),f.resizeHandler.destroy(),f.slidesHandler.destroy(),f.slidesInView.destroy(),f.animation.destroy(),o.destroy(),s.clear()}function $(e,t,n){x.active&&!b&&(f.scrollBody.useBaseFriction().useDuration(!0===t?0:x.duration),f.scrollTo.index(e,n||0))}function A(){return f.index.get()}const z={canScrollNext:function(){return f.index.add(1).get()!==A()},canScrollPrev:function(){return f.index.add(-1).get()!==A()},containerNode:function(){return v},internalEngine:function(){return f},destroy:function(){b||(b=!0,s.clear(),E(),c.emit("destroy"),c.clear())},off:p,on:h,emit:m,plugins:function(){return _},previousScrollSnap:function(){return f.indexPrevious.get()},reInit:g,rootNode:function(){return e},scrollNext:function(e){$(f.index.add(1).get(),e,-1)},scrollPrev:function(e){$(f.index.add(-1).get(),e,1)},scrollProgress:function(){return f.scrollProgress.get(f.location.get())},scrollSnapList:function(){return f.scrollSnapList},scrollTo:$,selectedScrollSnap:A,slideNodes:function(){return y},slidesInView:function(){return f.slidesInView.get()},slidesNotInView:function(){return f.slidesInView.get(!1)}};return k(t,n),setTimeout((()=>c.emit("init")),0),z}function DS(){return DS=Object.assign||function(e){for(var t=1;t=e;case"y":return Math.abs(i)>=e;case"z":return Math.abs(r)>=e;default:return!1}}(r,a)&&e.preventDefault(),l.isStarted?l.isMomentum&&r>Math.max(2,2*l.lastAbsDelta)&&(M(!0),x()):x(),0===r&&Object.is&&Object.is(e.deltaX,-0)?d=!0:(t=e,l.axisMovement=PS(l.axisMovement,a),l.lastAbsDelta=r,l.scrollPointsToMerge.push({axisDelta:a,timeStamp:i}),g(),p({axisDelta:a,isStart:!l.isStartPublished}),l.isStartPublished=!0,C())},g=function(){var e;l.scrollPointsToMerge.length===US?(l.scrollPoints.unshift({axisDeltaSum:l.scrollPointsToMerge.map((function(e){return e.axisDelta})).reduce(PS),timeStamp:(e=l.scrollPointsToMerge.map((function(e){return e.timeStamp})),e.reduce((function(e,t){return e+t}))/e.length)}),_(),l.scrollPointsToMerge.length=0,l.scrollPoints.length=1,l.isMomentum||b()):l.isStartPublished||f()},f=function(){var e;l.axisVelocity=(e=l.scrollPointsToMerge,e[e.length-1]).axisDelta.map((function(e){return e/l.willEndTimeout}))},_=function(){var e=l.scrollPoints,t=e[0],n=e[1];if(n&&t){var a=t.timeStamp-n.timeStamp;if(!(a<=0)){var i=t.axisDeltaSum.map((function(e){return e/a})),r=i.map((function(e,t){return e/(l.axisVelocity[t]||1)}));l.axisVelocity=i,l.accelerationFactors.push(r),v(a)}}},v=function(e){var t=10*Math.ceil(e/10)*1.2;l.isMomentum||(t=Math.max(100,2*t)),l.willEndTimeout=Math.min(1e3,Math.round(t))},y=function(e){return 0===e||e<=qS&&e>=BS},b=function(){if(l.accelerationFactors.length>=WS){if(d&&(d=!1,LS(l.axisVelocity)>=.2))return void w();var e=l.accelerationFactors.slice(-1*WS);e.every((function(e){var t=!!e.reduce((function(e,t){return e&&e<1&&e===t?1:0})),n=e.filter(y).length===e.length;return t||n}))&&w(),l.accelerationFactors=e}},w=function(){l.isMomentum=!0},x=function(){(l=GS()).isStarted=!0,l.startTime=Date.now(),n=void 0,d=!1},C=function(){clearTimeout(a),a=setTimeout(M,l.willEndTimeout)},M=function(e){void 0===e&&(e=!1),l.isStarted&&(l.isMomentum&&e?p({isEnding:!0,isMomentumCancel:!0}):p({isEnding:!0}),l.isMomentum=!1,l.isStarted=!1)},k=function(e){var t=[],n=function(n){n.removeEventListener("wheel",e),t=t.filter((function(e){return e!==n}))};return NS({observe:function(a){return a.addEventListener("wheel",e,{passive:!1}),t.push(a),function(){return n(a)}},unobserve:n,disconnect:function(){t.forEach(n)}})}(u),S=k.observe,E=k.unobserve,$=k.disconnect;return h(e),NS({on:r,off:o,observe:S,unobserve:E,disconnect:$,feedWheel:u,updateOptions:h})}var KS={active:!0,breakpoints:{},wheelDraggingClass:"is-wheel-dragging",forceWheelAxis:void 0,target:void 0};function XS(e){var t;void 0===e&&(e={});var n=function(){};var a={name:"wheelGestures",options:e,init:function(a,i){var r,o,s=i.mergeOptions,c=i.optionsAtMedia,l=s(KS,XS.globalOptions),d=s(l,e);t=c(d);var u,h=a.internalEngine(),p=null!=(r=t.target)?r:a.containerNode().parentNode,m=null!=(o=t.forceWheelAxis)?o:h.options.axis,g=YS({preventWheelAction:m,reverseSign:[!0,!0,!1]}),f=g.observe(p),_=g.on("wheel",(function(e){var a=e.axisDelta,i=a[0],r=a[1],o="x"===m?i:r,s="x"===m?r:i,c=e.isMomentum&&e.previous&&!e.previous.isMomentum,l=e.isEnding&&!e.isMomentum||c;Math.abs(o)>Math.abs(s)&&!v&&!e.isMomentum&&function(e){try{x(u=new MouseEvent("mousedown",e.event))}catch(e){return n()}v=!0,document.documentElement.addEventListener("mousemove",b,!0),document.documentElement.addEventListener("mouseup",b,!0),void document.documentElement.addEventListener("mousedown",b,!0),t.wheelDraggingClass&&p.classList.add(t.wheelDraggingClass)}(e);if(!v)return;l?function(e){v=!1,x(w("mouseup",e)),y(),t.wheelDraggingClass&&p.classList.remove(t.wheelDraggingClass)}(e):x(w("mousemove",e))})),v=!1;function y(){document.documentElement.removeEventListener("mousemove",b,!0),document.documentElement.removeEventListener("mouseup",b,!0),document.documentElement.removeEventListener("mousedown",b,!0)}function b(e){v&&e.isTrusted&&e.stopImmediatePropagation()}function w(e,t){var n,a;if(m===h.options.axis){var i=t.axisMovement;n=i[0],a=i[1]}else{var r=t.axisMovement;a=r[0],n=r[1]}if(!h.options.skipSnaps&&!h.options.dragFree){var o=h.containerRect.width,s=h.containerRect.height;n=n<0?Math.max(n,-o):Math.min(n,o),a=a<0?Math.max(a,-s):Math.min(a,s)}return new MouseEvent(e,{clientX:u.clientX+n,clientY:u.clientY+a,screenX:u.screenX+n,screenY:u.screenY+a,movementX:n,movementY:a,button:0,bubbles:!0,cancelable:!0,composed:!0})}function x(e){a.containerNode().dispatchEvent(e)}n=function(){f(),_(),y()}},destroy:function(){return n()}};return a}XS.globalOptions=void 0;class JS{constructor(e,t,n){this._mutationObserver=new MutationObserver(((e,t)=>this._refreshCarouselContents())),this._refreshCarouselContents=()=>{const e=lf(this._parent);!Dv(this._carousel.slideNodes(),e)&&(this._carousel.destroy(),this._carousel=this._createCarousel(e))},this._root=e,this._parent=t,this._direction=n?.direction??"horizontal",this._transitionEffect=n?.transitionEffect??"slide",this._startIndex=n?.startIndex??0,this._dragFree=n?.dragFree??!1,this._loop=n?.loop??!1,this._draggable=n?.dragEnabled??!0,this._plugins=n?.plugins??[],this._carousel=this._createCarousel(lf(this._parent)),t instanceof HTMLSlotElement&&t.addEventListener("slotchange",this._refreshCarouselContents),this._mutationObserver.observe(this._parent,{childList:!0})}destroy(){this._parent instanceof HTMLSlotElement&&this._parent.removeEventListener("slotchange",this._refreshCarouselContents),this._mutationObserver.disconnect(),this._carousel.destroy()}getSlide(e){return this._carousel.slideNodes()[e]??null}getSelectedSlide(){return this.getSlide(this.getSelectedIndex())}getSelectedIndex(){return this._carousel.selectedScrollSnap()}selectSlide(e){this._carousel.scrollTo(e,"none"===this._transitionEffect);const t=this.getSlide(e);t&&Bg(this._parent,"carousel:force-select",{index:e,element:t})}_createCarousel(e){const t=OS(this._root,{slides:e,axis:"horizontal"===this._direction?"x":"y",duration:20,startIndex:this._startIndex,dragFree:this._dragFree,loop:this._loop,containScroll:"trimSnaps",watchSlides:!1,watchResize:!0,watchDrag:this._draggable},[...this._plugins,...e.length>1?[XS({forceWheelAxis:"y"})]:[]]),n=()=>{const e=(()=>{const e=t.selectedScrollSnap(),n=t.slideNodes()[e]??null;return n?{index:e,element:n}:null})();e&&Bg(this._parent,"carousel:select",e)};return t.on("select",(()=>n())),t}}let eE=class extends se{constructor(){super(...arguments),this.direction="horizontal",this.dragEnabled=!0,this.selected=0,this._refParent=ze(),this._refRoot=ze(),this._carousel=null}connectedCallback(){super.connectedCallback(),this.requestUpdate()}disconnectedCallback(){this._carousel?.destroy(),this._carousel=null,super.disconnectedCallback()}willUpdate(e){e.has("direction")&&this.setAttribute("direction",this.direction);["direction","dragEnabled","dragFree","loop","plugins","transitionEffect"].some((t=>e.has(t)))&&(this._carousel?.destroy(),this._carousel=null)}render(){return q`
- -
-
- -
-
- -
`}updated(e){!this._carousel&&this._refRoot.value&&this._refParent.value?this._carousel=new JS(this._refRoot.value,this._refParent.value,{direction:this.direction,dragEnabled:this.dragEnabled,dragFree:this.dragFree,startIndex:this.selected,transitionEffect:this.transitionEffect,loop:this.loop,plugins:this.plugins}):e.has("selected")&&this._carousel?.selectSlide(this.selected)}static get styles(){return o(":host {\n display: block;\n height: 100%;\n width: 100%;\n position: relative;\n}\n\n.embla {\n width: 100%;\n height: 100%;\n margin-left: auto;\n margin-right: auto;\n}\n\n.embla__container {\n display: flex;\n width: 100%;\n height: 100%;\n user-select: none;\n -webkit-touch-callout: none;\n -khtml-user-select: none;\n -webkit-tap-highlight-color: transparent;\n}\n\n:host([direction=vertical]) .embla__container {\n flex-direction: column;\n}\n\n:host([direction=horizontal]) .embla__container {\n flex-direction: row;\n}\n\n.embla__viewport {\n width: 100%;\n height: 100%;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.embla__viewport.is-draggable {\n cursor: move;\n cursor: grab;\n}\n\n.embla__viewport.is-dragging {\n cursor: grabbing;\n}\n\n:host([direction=vertical]) ::slotted(.embla__slide) {\n margin-bottom: 5px;\n}\n\n:host([direction=horizontal]) ::slotted(.embla__slide) {\n margin-right: 5px;\n}")}};e([he({attribute:!0,reflect:!0})],eE.prototype,"direction",void 0),e([he({attribute:!0})],eE.prototype,"transitionEffect",void 0),e([he({attribute:!1})],eE.prototype,"loop",void 0),e([he({attribute:!1})],eE.prototype,"dragFree",void 0),e([he({attribute:!1})],eE.prototype,"dragEnabled",void 0),e([he({attribute:!1})],eE.prototype,"plugins",void 0),e([he({attribute:!1})],eE.prototype,"selected",void 0),eE=e([le("frigate-card-carousel")],eE); -/** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const tE=window,nE=tE.ShadowRoot&&(void 0===tE.ShadyCSS||tE.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,aE=Symbol(),iE=new WeakMap;let rE=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==aE)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(nE&&void 0===e){const n=void 0!==t&&1===t.length;n&&(e=iE.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&iE.set(t,e))}return e}toString(){return this.cssText}};const oE=(e,t)=>{nE?e.adoptedStyleSheets=t.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet)):t.forEach((t=>{const n=document.createElement("style"),a=tE.litNonce;void 0!==a&&n.setAttribute("nonce",a),n.textContent=t.cssText,e.appendChild(n)}))},sE=nE?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const n of e.cssRules)t+=n.cssText;return(e=>new rE("string"==typeof e?e:e+"",void 0,aE))(t)})(e):e -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */;var cE;const lE=window,dE=lE.trustedTypes,uE=dE?dE.emptyScript:"",hE=lE.reactiveElementPolyfillSupport,pE={toAttribute(e,t){switch(t){case Boolean:e=e?uE:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=null!==e;break;case Number:n=null===e?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch(e){n=null}}return n}},mE=(e,t)=>t!==e&&(t==t||e==e),gE={attribute:!0,type:String,converter:pE,reflect:!1,hasChanged:mE},fE="finalized";class _E extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(e){var t;this.finalize(),(null!==(t=this.h)&&void 0!==t?t:this.h=[]).push(e)}static get observedAttributes(){this.finalize();const e=[];return this.elementProperties.forEach(((t,n)=>{const a=this._$Ep(n,t);void 0!==a&&(this._$Ev.set(a,n),e.push(a))})),e}static createProperty(e,t=gE){if(t.state&&(t.attribute=!1),this.finalize(),this.elementProperties.set(e,t),!t.noAccessor&&!this.prototype.hasOwnProperty(e)){const n="symbol"==typeof e?Symbol():"__"+e,a=this.getPropertyDescriptor(e,n,t);void 0!==a&&Object.defineProperty(this.prototype,e,a)}}static getPropertyDescriptor(e,t,n){return{get(){return this[t]},set(a){const i=this[e];this[t]=a,this.requestUpdate(e,i,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)||gE}static finalize(){if(this.hasOwnProperty(fE))return!1;this[fE]=!0;const e=Object.getPrototypeOf(this);if(e.finalize(),void 0!==e.h&&(this.h=[...e.h]),this.elementProperties=new Map(e.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const e=this.properties,t=[...Object.getOwnPropertyNames(e),...Object.getOwnPropertySymbols(e)];for(const n of t)this.createProperty(n,e[n])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const n=new Set(e.flat(1/0).reverse());for(const e of n)t.unshift(sE(e))}else void 0!==e&&t.push(sE(e));return t}static _$Ep(e,t){const n=t.attribute;return!1===n?void 0:"string"==typeof n?n:"string"==typeof e?e.toLowerCase():void 0}_$Eu(){var e;this._$E_=new Promise((e=>this.enableUpdating=e)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(e=this.constructor.h)||void 0===e||e.forEach((e=>e(this)))}addController(e){var t,n;(null!==(t=this._$ES)&&void 0!==t?t:this._$ES=[]).push(e),void 0!==this.renderRoot&&this.isConnected&&(null===(n=e.hostConnected)||void 0===n||n.call(e))}removeController(e){var t;null===(t=this._$ES)||void 0===t||t.splice(this._$ES.indexOf(e)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((e,t)=>{this.hasOwnProperty(t)&&(this._$Ei.set(t,this[t]),delete this[t])}))}createRenderRoot(){var e;const t=null!==(e=this.shadowRoot)&&void 0!==e?e:this.attachShadow(this.constructor.shadowRootOptions);return oE(t,this.constructor.elementStyles),t}connectedCallback(){var e;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostConnected)||void 0===t?void 0:t.call(e)}))}enableUpdating(e){}disconnectedCallback(){var e;null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostDisconnected)||void 0===t?void 0:t.call(e)}))}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$EO(e,t,n=gE){var a;const i=this.constructor._$Ep(e,n);if(void 0!==i&&!0===n.reflect){const r=(void 0!==(null===(a=n.converter)||void 0===a?void 0:a.toAttribute)?n.converter:pE).toAttribute(t,n.type);this._$El=e,null==r?this.removeAttribute(i):this.setAttribute(i,r),this._$El=null}}_$AK(e,t){var n;const a=this.constructor,i=a._$Ev.get(e);if(void 0!==i&&this._$El!==i){const e=a.getPropertyOptions(i),r="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==(null===(n=e.converter)||void 0===n?void 0:n.fromAttribute)?e.converter:pE;this._$El=i,this[i]=r.fromAttribute(t,e.type),this._$El=null}}requestUpdate(e,t,n){let a=!0;void 0!==e&&(((n=n||this.constructor.getPropertyOptions(e)).hasChanged||mE)(this[e],t)?(this._$AL.has(e)||this._$AL.set(e,t),!0===n.reflect&&this._$El!==e&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(e,n))):a=!1),!this.isUpdatePending&&a&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var e;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((e,t)=>this[t]=e)),this._$Ei=void 0);let t=!1;const n=this._$AL;try{t=this.shouldUpdate(n),t?(this.willUpdate(n),null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostUpdate)||void 0===t?void 0:t.call(e)})),this.update(n)):this._$Ek()}catch(e){throw t=!1,this._$Ek(),e}t&&this._$AE(n)}willUpdate(e){}_$AE(e){var t;null===(t=this._$ES)||void 0===t||t.forEach((e=>{var t;return null===(t=e.hostUpdated)||void 0===t?void 0:t.call(e)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(e){return!0}update(e){void 0!==this._$EC&&(this._$EC.forEach(((e,t)=>this._$EO(t,this[t],e))),this._$EC=void 0),this._$Ek()}updated(e){}firstUpdated(e){}}_E[fE]=!0,_E.elementProperties=new Map,_E.elementStyles=[],_E.shadowRootOptions={mode:"open"},null==hE||hE({ReactiveElement:_E}),(null!==(cE=lE.reactiveElementVersions)&&void 0!==cE?cE:lE.reactiveElementVersions=[]).push("1.6.3"); -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const vE=0,yE=Symbol();class bE{constructor(e,t,n){this.o=0,this.status=0,this.autoRun=!0,this.i=e,this.i.addController(this);const a="object"==typeof t?t:{task:t,args:n};this.t=a.task,this.h=a.args,void 0!==a.autoRun&&(this.autoRun=a.autoRun),this.taskComplete=new Promise(((e,t)=>{this.l=e,this.u=t}))}hostUpdated(){this.performTask()}async performTask(){var e;const t=null===(e=this.h)||void 0===e?void 0:e.call(this);this.shouldRun(t)&&this.run(t)}shouldRun(e){return this.autoRun&&this.v(e)}async run(e){var t;let n,a;null!=e||(e=null===(t=this.h)||void 0===t?void 0:t.call(this)),2!==this.status&&3!==this.status||(this.taskComplete=new Promise(((e,t)=>{this.l=e,this.u=t}))),this.status=1,this._=void 0,this.m=void 0,this.i.requestUpdate();const i=++this.o;try{n=await this.t(e)}catch(e){a=e}this.o===i&&(n===yE?this.status=0:(void 0===a?(this.status=2,this.l(n)):(this.status=3,this.u(a)),this.m=n,this._=a),this.i.requestUpdate())}get value(){return this.m}get error(){return this._}render(e){var t,n,a,i;switch(this.status){case 0:return null===(t=e.initial)||void 0===t?void 0:t.call(e);case 1:return null===(n=e.pending)||void 0===n?void 0:n.call(e);case 2:return null===(a=e.complete)||void 0===a?void 0:a.call(e,this.value);case 3:return null===(i=e.error)||void 0===i?void 0:i.call(e,this.error);default:this.status}}v(e){const t=this.T;return this.T=e,Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.some(((e,n)=>mE(e,t[n]))):e!==t}}class wE{constructor(e){this._keys=e}modify(e){this._keys.forEach((t=>e.removeContext(t)))}}var xE=":host {\n display: flex;\n flex-direction: column;\n width: 100%;\n margin-left: 5px;\n padding: 5px;\n color: var(--primary-text-color);\n overflow: hidden;\n column-gap: 5%;\n}\n\ndiv.title {\n font-size: 1.2rem;\n font-weight: bold;\n}\n\ndiv.details {\n flex: 1;\n justify-content: center;\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n --mdc-icon-size: 16px;\n min-height: 0px;\n}";const CE=(e,t,n,a)=>{const i={...a?.cardWideConfig&&{cardWideConfig:a.cardWideConfig}};return q` ${t.render({initial:()=>a?.inProgressFunc?.()??xk(i),pending:()=>a?.inProgressFunc?.()??xk(i),error:t=>{Gg(t),kk(e,t)},complete:n})}`},ME=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,kE=(e,t,n,a=!0)=>new bE(e,{args:()=>[!!t(),n()],task:async([e,n])=>{const a=t();return e&&a&&n?(async(e,t)=>e&&t?t.startsWith("data:")||t.match(ME)?t:new Promise(((n,a)=>{e?e.fetchWithAuth(t).then((e=>e.blob())).then((e=>{const t=new FileReader;t.onload=()=>{const e=t.result;n("string"==typeof e?e:null)},t.onerror=e=>a(e),t.readAsDataURL(e)})):a()})):null)(a,n):null},autoRun:a}),SE=300;let EE=class extends se{constructor(){super(),this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this))}connectedCallback(){this._intersectionObserver.observe(this),super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback(),this._intersectionObserver.disconnect()}willUpdate(e){e.has("thumbnail")&&(this._embedThumbnailTask=kE(this,(()=>this.hass),(()=>this.thumbnail),!1),this._intersectionObserver.unobserve(this),this._intersectionObserver.observe(this))}_intersectionHandler(e){this._embedThumbnailTask?.status===vE&&e.some((e=>e.isIntersecting))&&this._embedThumbnailTask?.run()}render(){const e=q` `;return this._embedThumbnailTask?q`${this.thumbnail?CE(this,this._embedThumbnailTask,(e=>e?q``:q``),{inProgressFunc:()=>e}):e} `:e}static get styles(){return o(":host {\n display: block;\n overflow: hidden;\n aspect-ratio: 1/1;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\nimg {\n display: block;\n}\n\nimg,\nha-icon {\n display: inline-block;\n vertical-align: top;\n margin: 0;\n border-radius: var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px));\n width: var(--frigate-card-thumbnail-size);\n max-height: 100%;\n aspect-ratio: 1/1;\n object-fit: cover;\n}\n\nha-icon {\n --mdc-icon-size: 50%;\n color: var(--primary-text-color);\n display: flex;\n justify-content: center;\n align-items: center;\n border: 1px solid rgba(255, 255, 255, 0.3);\n box-sizing: border-box;\n opacity: 0.2;\n}")}};e([he({attribute:!1})],EE.prototype,"thumbnail",void 0),e([he({attribute:!1})],EE.prototype,"hass",void 0),EE=e([le("frigate-card-thumbnail-feature-thumbnail")],EE);let $E=class extends se{render(){if(this.date)return q` - ${this.cameraMetadata?.engineLogo?q``:""} -
-
${Wu(this.date,"HH:mm")}
-
${Wu(this.date,"MMM do")}
- ${this.showCameraTitle&&this.cameraMetadata?.title?q`
${this.cameraMetadata.title}
`:q``} -
- `}static get styles(){return o(":host {\n display: block;\n max-width: var(--frigate-card-thumbnail-size);\n max-height: var(--frigate-card-thumbnail-size);\n aspect-ratio: 1/1;\n border: 1px solid var(--secondary-color);\n background-color: var(--secondary-background-color);\n border-radius: var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px));\n overflow: hidden;\n padding: 10px;\n box-sizing: border-box;\n position: relative;\n}\n\nimg.background {\n display: block;\n width: 100%;\n height: 100%;\n position: absolute;\n inset: 0;\n padding: 10%;\n box-sizing: border-box;\n pointer-events: none;\n opacity: 0.1;\n}\n\ndiv.content {\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n color: var(--primary-text-color);\n}\n\ndiv {\n text-align: center;\n}\n\ndiv.title {\n font-size: 1.5rem;\n}\n\ndiv.camera {\n font-size: 0.7em;\n}")}};e([he({attribute:!1})],$E.prototype,"date",void 0),e([he({attribute:!1})],$E.prototype,"cameraMetadata",void 0),e([he({attribute:!1})],$E.prototype,"showCameraTitle",void 0),$E=e([le("frigate-card-thumbnail-feature-text")],$E);let AE=class extends se{render(){if(!this.media)return;const e=this.media.getScore(),t=e?(100*e).toFixed(2)+"%":null,n=this.media.getStartTime(),a=n?Kg(n):null,i=this.media.getEndTime(),r=n&&i?ef(n,i):null,o=this.media.inProgress()?V_("event.in_progress"):null,s=qg(this.media.getWhat()?.join(", "))??null,c=qg(this.media.getWhere()?.join(", "))??null,l=qg(this.media.getTags()?.join(", "))??null,d=s||l?(s??"")+(s&&l?": ":"")+(l??""):null,u=this.seek?Wu(this.seek,"HH:mm:ss"):null;return q` - ${d?q`
- ${d} - ${t?q`${t}`:""} -
`:""} -
- ${a?q`
- - ${a} -
- ${r||o?q`
- - ${r?q`${r}`:""} - ${o?q`${o}`:""} -
`:""}`:""} - ${this.cameraTitle?q`
- - ${this.cameraTitle} -
`:""} - ${c?q`
- - ${c} -
`:q``} - ${l?q`
- - ${l} -
`:q``} - ${u?q`
- - ${u} -
`:q``} -
- `}static get styles(){return o(xE)}};e([he({attribute:!1})],AE.prototype,"media",void 0),e([he({attribute:!1})],AE.prototype,"seek",void 0),e([he({attribute:!1})],AE.prototype,"cameraTitle",void 0),AE=e([le("frigate-card-thumbnail-details-event")],AE);let zE=class extends se{render(){if(!this.media)return;const e=this.media.getStartTime(),t=e?Kg(e):null,n=this.media.getEndTime(),a=e&&n?ef(e,n):null,i=this.media.inProgress()?V_("recording.in_progress"):null,r=this.seek?Wu(this.seek,"HH:mm:ss"):null,o=this.media.getEventCount();return q` - ${this.cameraTitle?q`
- ${this.cameraTitle} -
`:""} -
- ${t?q`
- - ${t} -
- ${a||i?q`
- - ${a?q`${a}`:""} - ${i?q`${i}`:""} -
`:""}`:""} - ${r?q`
- - ${r} -
`:q``} - ${null!==o?q`
- - ${o} -
`:""} -
- `}static get styles(){return o(xE)}};e([he({attribute:!1})],zE.prototype,"media",void 0),e([he({attribute:!1})],zE.prototype,"seek",void 0),e([he({attribute:!1})],zE.prototype,"cameraTitle",void 0),zE=e([le("frigate-card-thumbnail-details-recording")],zE);let IE=class extends se{constructor(){super(...arguments),this.details=!1,this.show_favorite_control=!1,this.show_timeline_control=!1,this.show_download_control=!1}render(){if(!this.media||!this.cameraManager||!this.hass)return;const e=this.media.getThumbnail(),t=this.media.getTitle()??"",n={star:!0,starred:!!this.media?.isFavorite()},a=this.show_timeline_control&&(!tx.isRecording(this.media)||this.media.getStartTime()&&this.media.getEndTime()),i=this.cameraManager?.getMediaCapabilities(this.media),r=this.show_favorite_control&&this.media&&this.hass&&i?.canFavorite,o=this.show_download_control&&this.hass&&this.media.getID()&&i?.canDownload,s=this.cameraManager.getCameraMetadata(this.media.getCameraID());return q` - ${tx.isEvent(this.media)&&e?q``:tx.isEvent(this.media)||tx.isRecording(this.media)?q``:q``} - ${r?q` {if(wf(e),this.hass&&this.media){try{await(this.cameraManager?.favoriteMedia(this.media,!this.media?.isFavorite()))}catch(e){return void Gg(e)}this.requestUpdate()}}} - />`:""} - ${this.details&&tx.isEvent(this.media)?q``:this.details&&tx.isRecording(this.media)?q``:q``} - ${a?q`{wf(e),this.viewManagerEpoch&&this.media&&this.viewManagerEpoch.manager.setViewByParameters({params:{view:"timeline",queryResults:this.viewManagerEpoch?.manager.getView()?.queryResults?.clone().selectResultIfFound((e=>e===this.media))},modifiers:[new wE(["timeline"])]})}} - >`:""} - ${o?q` {if(wf(e),this.hass&&this.cameraManager&&this.media)try{await Ew(this.hass,this.cameraManager,this.media)}catch(e){kk(this,e)}}} - >`:""} - `}static get styles(){return o(":host {\n display: flex;\n flex-direction: row;\n box-sizing: border-box;\n position: relative;\n overflow: hidden;\n transition: transform 0.2s linear;\n}\n\n:host(:not([details])) {\n aspect-ratio: 1/1;\n}\n\n:host([details]) {\n border: 1px solid var(--primary-color);\n border-radius: var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px));\n padding: 2px;\n background-color: var(--primary-background-color, black);\n}\n\n:host(:hover) {\n transform: scale(1.04);\n}\n\nha-icon {\n position: absolute;\n border-radius: 50%;\n opacity: 0.5;\n color: var(--primary-color);\n cursor: pointer;\n transition: opacity 0.2s ease-in-out, color 0.2s ease-in-out;\n}\n\nha-icon:hover {\n opacity: 1;\n}\n\nha-icon.star {\n top: 3px;\n left: 3px;\n}\n\nha-icon.star.starred {\n color: gold;\n}\n\nha-icon.timeline {\n top: 3px;\n right: 3px;\n}\n\nha-icon.download {\n right: 3px;\n bottom: 3px;\n}\n\nfrigate-card-thumbnail-details-event,\nfrigate-card-thumbnail-details-recording {\n flex: 1;\n}")}};e([he({attribute:!1})],IE.prototype,"cameraManager",void 0),e([he({attribute:!1})],IE.prototype,"media",void 0),e([he({attribute:!0,type:Boolean})],IE.prototype,"details",void 0),e([he({attribute:!0,type:Boolean})],IE.prototype,"show_favorite_control",void 0),e([he({attribute:!0,type:Boolean})],IE.prototype,"show_timeline_control",void 0),e([he({attribute:!0,type:Boolean})],IE.prototype,"show_download_control",void 0),e([he({attribute:!1})],IE.prototype,"seek",void 0),IE=e([le("frigate-card-thumbnail")],IE);let TE=class extends se{constructor(){super(...arguments),this.fadeThumbnails=!1,this._thumbnailSlides=[]}willUpdate(e){if(e.has("config")){this.config?.size&&this.style.setProperty("--frigate-card-thumbnail-size",`${this.config.size}px`);const e=this._getDirection();e?this.setAttribute("direction",e):this.removeAttribute("direction")}["cameraManager","config","transitionEffect","viewManagerEpoch"].some((t=>e.has(t)))&&(this._thumbnailSlides=this._renderSlides()),e.has("viewManagerEpoch")&&this.style.setProperty("--frigate-card-carousel-thumbnail-opacity",this.fadeThumbnails&&null!==this._getSelectedSlide()?"0.4":"1.0")}_getSelectedSlide(){return this.viewManagerEpoch?.manager.getView()?.queryResults?.getSelectedIndex()??null}_renderSlides(){const e=[],t=this.viewManagerEpoch?.manager.getView(),n=t?.context?.mediaViewer?.seek,a=this._getSelectedSlide();for(const i of t?.queryResults?.getResults()??[]){const t=e.length,r={embla__slide:!0,"slide-selected":a===t};e.push(q` {const n=this.viewManagerEpoch?.manager.getView();n&&n.queryResults&&Bg(this,"thumbnail-carousel:tap",{queryResults:n.queryResults.clone().selectIndex(t)}),wf(e)}} - > - `)}return e}_getDirection(){return"left"===this.config?.mode||"right"===this.config?.mode?"vertical":"above"===this.config?.mode||"below"===this.config?.mode?"horizontal":null}render(){const e=this._getDirection();if(this._thumbnailSlides.length&&this.config&&e)return q` - ${this._thumbnailSlides} - `}static get styles(){return o(":host {\n --frigate-card-thumbnail-size-max: 300px;\n --frigate-card-thumbnail-details-width: calc(\n var(--frigate-card-thumbnail-size) + 200px\n );\n}\n\n:host {\n display: block;\n width: 100%;\n height: 100%;\n --frigate-card-carousel-thumbnail-opacity: 1;\n}\n\n:host([direction=vertical]) {\n height: 100%;\n}\n\n:host([direction=horizontal]) {\n height: auto;\n}\n\n.embla__slide {\n flex: 0 0 auto;\n opacity: var(--frigate-card-carousel-thumbnail-opacity);\n}\n\n.embla__slide.slide-selected {\n opacity: 1;\n}\n\nfrigate-card-thumbnail {\n width: var(--frigate-card-thumbnail-size);\n height: var(--frigate-card-thumbnail-size);\n max-width: 100%;\n}\n\nfrigate-card-thumbnail[details] {\n width: var(--frigate-card-thumbnail-details-width);\n}")}};e([he({attribute:!1})],TE.prototype,"hass",void 0),e([he({attribute:!1})],TE.prototype,"viewManagerEpoch",void 0),e([he({attribute:!1})],TE.prototype,"cameraManager",void 0),e([he({attribute:!1})],TE.prototype,"config",void 0),e([he({attribute:!1})],TE.prototype,"fadeThumbnails",void 0),TE=e([le("frigate-card-thumbnail-carousel")],TE);var jE=":host {\n width: 100%;\n height: 100%;\n display: block;\n}";const OE=document.createElement("template");OE.innerHTML='\n
\n
\n';class DE extends HTMLElement{constructor(){super();const e=this.attachShadow({mode:"open"});e.appendChild(OE.content.cloneNode(!0)),this._freeSpaceDiv=e.getElementById("fs")}connectedCallback(){this._freeSpaceDiv&&this._freeSpaceDiv.addEventListener("click",this.handleFreeSpaceDivClick),this.upgradeProperty("open")}disconnectedCallback(){document.removeEventListener("keyup",this.handleKeyUp)}upgradeProperty(e){if(this.hasOwnProperty(e)){let t=this[e];delete this[e],this[e]=t}}handleKeyUp=e=>{if(!e.altKey&&"Escape"===e.key)e.preventDefault(),this.open=!1};get open(){return this.hasAttribute("open")}set open(e){e?this.hasAttribute("open")||this.setAttribute("open",""):this.hasAttribute("open")&&this.removeAttribute("open")}static get observedAttributes(){return["open"]}attributeChangedCallback(e,t,n){"open"===e&&(this.open?(this.setAttribute("tabindex","0"),this.setAttribute("aria-disabled","false"),this.focus({preventScroll:!0}),document.addEventListener("keyup",this.handleKeyUp),this.dispatchEvent(new CustomEvent("open",{bubbles:!0}))):(this.setAttribute("tabindex","-1"),this.setAttribute("aria-disabled","true"),document.removeEventListener("keyup",this.handleKeyUp),this.dispatchEvent(new CustomEvent("close",{bubbles:!0}))))}handleFreeSpaceDivClick=()=>{this.open=!1}}customElements.define("side-drawer",DE);let RE=class extends se{constructor(){super(...arguments),this.location="left",this.control=!0,this.open=!1,this.empty=!0,this._refDrawer=ze(),this._refSlot=ze(),this._resizeObserver=new ResizeObserver((()=>this._hideDrawerIfNecessary())),this._isHoverableDevice=Yg()}firstUpdated(e){super.firstUpdated(e);const t=document.createElement("style");t.innerHTML=":host {\n width: unset;\n}\n\n#fs {\n display: none;\n width: 100%;\n inset: 0;\n}\n\n#d,\n#fs {\n height: 100%;\n position: absolute;\n}\n\n#d {\n overflow: visible;\n max-width: 90%;\n z-index: 10;\n}\n\n:host([location=right]) #d {\n left: unset;\n right: 0;\n transform: translateX(100%);\n}\n\n:host([location=right][open]) #d {\n transform: none;\n box-shadow: var(--frigate-card-css-box-shadow, 0px 0px 25px 0px black);\n}\n\n#ifs {\n height: 100%;\n}",this._refDrawer.value?.shadowRoot?.appendChild(t)}_slotChanged(){const e=this._refSlot.value?lf(this._refSlot.value):[];this._resizeObserver.disconnect();for(const t of e)this._resizeObserver.observe(t);this._hideDrawerIfNecessary()}_hideDrawerIfNecessary(){if(!this._refDrawer.value)return;const e=this._refSlot.value?lf(this._refSlot.value):null;this.empty=!e||!e.length||e.every((e=>{const t=e.getBoundingClientRect();return!t.width||!t.height}))}render(){return q` - {this.open&&(this.open=!1)}} - > - ${this.control?q` -
{wf(e),this.open=!this.open}} - > - {this._isHoverableDevice&&!this.open&&(this.open=!0)}} - > - -
- `:""} - this._slotChanged()}> -
- `}static get styles(){return o("side-drawer {\n background-color: var(--card-background-color);\n}\n\ndiv.control-surround {\n position: absolute;\n bottom: 50%;\n transform: translateY(50%);\n z-index: 0;\n padding-top: 20px;\n padding-bottom: 20px;\n}\n\n:host([location=left]) div.control-surround {\n padding-right: 12px;\n left: 100%;\n}\n\n:host([location=right]) div.control-surround {\n padding-left: 12px;\n right: 100%;\n}\n\n:host([empty]),\n:host([empty]) > * {\n visibility: hidden;\n}\n\n:host(:not([empty])),\n:host(:not([empty])) > * {\n visibility: visible;\n}\n\nha-icon.control {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.7);\n opacity: 0.5;\n pointer-events: all;\n --mdc-icon-size: 20px;\n padding-top: 20px;\n padding-bottom: 20px;\n transition: opacity 0.5s ease;\n}\n\n:host([open]) ha-icon.control,\nha-icon.control:hover {\n opacity: 1;\n background-color: black;\n}\n\n:host([location=left]) ha-icon.control {\n border-top-right-radius: 20px;\n border-bottom-right-radius: 20px;\n}\n\n:host([location=right]) ha-icon.control {\n border-top-left-radius: 20px;\n border-bottom-left-radius: 20px;\n}")}};e([he({attribute:!0,reflect:!0})],RE.prototype,"location",void 0),e([he({attribute:!0,reflect:!0,type:Boolean})],RE.prototype,"control",void 0),e([he({type:Boolean,reflect:!0,attribute:!0})],RE.prototype,"open",void 0),e([he({attribute:!1})],RE.prototype,"icons",void 0),e([he({type:Boolean,reflect:!0,attribute:!0})],RE.prototype,"empty",void 0),RE=e([le("frigate-card-drawer")],RE);let PE=class extends se{constructor(){super(...arguments),this._refDrawerLeft=ze(),this._refDrawerRight=ze(),this._boundDrawerHandler=this._drawerHandler.bind(this)}connectedCallback(){super.connectedCallback(),this.addEventListener("frigate-card:drawer:open",this._boundDrawerHandler),this.addEventListener("frigate-card:drawer:close",this._boundDrawerHandler)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("frigate-card:drawer:open",this._boundDrawerHandler),this.removeEventListener("frigate-card:drawer:close",this._boundDrawerHandler)}_drawerHandler(e){const t=e.detail.drawer,n=e.type.endsWith(":open");"left"===t&&this._refDrawerLeft.value?this._refDrawerLeft.value.open=n:"right"===t&&this._refDrawerRight.value&&(this._refDrawerRight.value.open=n)}render(){return q` - - - - - - - - `}static get styles(){return o(":host {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n position: relative;\n overflow: hidden;\n}\n\n::slotted(:not([slot])) {\n flex: 1;\n min-height: 0px;\n}")}};e([he({attribute:!1})],PE.prototype,"drawerIcons",void 0),PE=e([le("frigate-card-surround-basic")],PE);let LE=class extends se{_hasDrawer(){return!!this.thumbnailConfig&&["left","right"].includes(this.thumbnailConfig.mode)}willUpdate(e){this.timelineConfig?.mode&&"none"!==this.timelineConfig.mode&&import("./timeline-core-91693473.js");const t=this.viewManagerEpoch?.manager.getView();e.has("viewManagerEpoch")&&(this.viewManagerEpoch?.manager.hasMajorMediaChange(this.viewManagerEpoch?.oldView)||this.viewManagerEpoch?.oldView?.displayMode!==t?.displayMode)&&(this._cameraIDsForTimeline=this._getCameraIDsForTimeline()??void 0)}_getCameraIDsForTimeline(){const e=this.viewManagerEpoch?.manager.getView();if(!e||!this.cameraManager)return null;if(e.is("live")){const t={anyCapabilities:["clips","snapshots","recordings"]};return e.supportsMultipleDisplayModes()&&e.isGrid()?this.cameraManager.getStore().getCameraIDsWithCapability(t):this.cameraManager.getStore().getAllDependentCameras(e.camera,t)}return e.isViewerView()?e.query?.getQueryCameraIDs()??null:null}render(){const e=this.viewManagerEpoch?.manager.getView();if(!this.hass||!e)return;const t=(e,t)=>{this.thumbnailConfig&&this._hasDrawer()&&Bg(e.composedPath()[0],"drawer:"+t,{drawer:this.thumbnailConfig.mode})};return q` t(e,"open")} - @frigate-card:thumbnails:close=${e=>t(e,"close")} - > - ${this.thumbnailConfig&&"none"!==this.thumbnailConfig.mode?q` {const n=e.detail.queryResults.getSelectedResult();n&&(this.viewManagerEpoch?.manager.setViewByParameters({params:{view:"media",queryResults:e.detail.queryResults,...n.getCameraID()&&{camera:n.getCameraID()}},modifiers:[new wE(["timeline","mediaViewer"])]}),t(e,"close"))}} - > - `:""} - ${this.timelineConfig&&"none"!==this.timelineConfig.mode?q` - `:""} - - `}static get styles(){return o(jE)}};e([he({attribute:!1})],LE.prototype,"hass",void 0),e([he({attribute:!1})],LE.prototype,"viewManagerEpoch",void 0),e([he({attribute:!1,hasChanged:Qg})],LE.prototype,"thumbnailConfig",void 0),e([he({attribute:!1,hasChanged:Qg})],LE.prototype,"timelineConfig",void 0),e([he({attribute:!1})],LE.prototype,"cameraManager",void 0),e([he({attribute:!1})],LE.prototype,"cardWideConfig",void 0),LE=e([le("frigate-card-surround")],LE);var NE="Tue, 10 Dec 2024 02:14:31 GMT",FE="216ded2",VE="Mon, 9 Dec 2024 18:13:23 -0800";const HE=ba.object({domain:ba.string(),version:ba.string().optional()}).passthrough(),BE="hass_web_proxy",qE=(e,t)=>`/api/${BE}/v${t??0}/?url=${encodeURIComponent(e)}`,UE=(e,t,n="media")=>(e=>e.config.components.includes(BE))(e)&&!!t[n];async function WE(e,t,n){await e.callService(BE,"create_proxied_url",{url_pattern:t,...n&&{url_id:n.urlID,ssl_verification:n.sslVerification,ssl_ciphers:n.sslCiphers,open_limit:n.openLimit,ttl:n.ttl,allow_unauthenticated:n.allowUnauthenticated}})}const ZE=async(e,t)=>{let n=null;if(t)try{n=await(async(e,t)=>await $v(e,HE,{type:"manifest/get",integration:t}))(t,e)}catch(e){}return{detected:!!n,...n?.version&&{version:n.version}}};let QE=class extends se{constructor(){super(...arguments),this._diagnostics=null}async _fetchDiagnostics(){this._diagnostics=await(async(e,t,n)=>{const a=e&&t?await t.getMatchingDevices(e,(e=>"Frigate"===e.manufacturer)):[],i=new Map;return a?.forEach((e=>{e.config_entries.forEach((t=>{e.model&&i.set(t,e.model)}))})),{card_version:"6.0.2",browser:navigator.userAgent,date:new Date,lang:F_(),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,git:{hash:FE,build_date:NE,commit_date:VE},...e&&{ha_version:e.config.version},integrations:{reolink:await ZE("reolink",e),frigate:{...await ZE("frigate",e),...i.size&&{devices:Object.fromEntries(i)}},hass_web_proxy:await ZE(BE,e),motioneye:await ZE("motioneye",e)},...n&&{config:n}}})(this.hass,this.deviceRegistryManager,this.rawConfig)}shouldUpdate(){return!!this._diagnostics||(this._fetchDiagnostics().then((()=>this.requestUpdate())),!1)}render(){return wk({message:V_("error.diagnostics"),type:"diagnostics",icon:"mdi:information",context:this._diagnostics})}static get styles(){return o(jE)}};e([he({attribute:!1})],QE.prototype,"hass",void 0),e([he({attribute:!1})],QE.prototype,"deviceRegistryManager",void 0),e([he({attribute:!1})],QE.prototype,"rawConfig",void 0),e([pe()],QE.prototype,"_diagnostics",void 0),QE=e([le("frigate-card-diagnostics")],QE);let GE=class extends se{willUpdate(e){if(e.has("viewManagerEpoch")||e.has("config")){const e=this.viewManagerEpoch?.manager.getView();(e?.is("live")||this._shouldLivePreload())&&import("./index-9bf80040.js").then((function(e){return e.i})),e?.isGalleryView()?import("./gallery-1de615c4.js"):e?.isViewerView()?import("./index-25c40d01.js"):e?.is("image")?import("./image-1e2a0a79.js"):e?.is("timeline")&&import("./timeline-c30d9341.js")}e.has("hide")&&(this.hide?this.setAttribute("hidden",""):this.removeAttribute("hidden"))}shouldUpdate(e){return!0}_shouldLivePreload(){const e=this.viewManagerEpoch?.manager.getView();return!!this.overriddenConfig?.live.preload&&!e?.is("diagnostics")}render(){if(!(this.hass&&this.overriddenConfig&&this.nonOverriddenConfig&&this.cardWideConfig))return q``;const e=this.viewManagerEpoch?.manager.getView(),t={hidden:this._shouldLivePreload()&&!e?.is("live")},n={hidden:!!this.hide},a=e?.is("live")?this.overriddenConfig.live.controls.thumbnails:e?.isViewerView()?this.overriddenConfig.media_viewer.controls.thumbnails:e?.is("timeline")?this.overriddenConfig.timeline.controls.thumbnails:void 0,i=e?.is("live")?this.overriddenConfig.live.controls.timeline:e?.isViewerView()?this.overriddenConfig.media_viewer.controls.timeline:void 0,r=e?this.cameraManager?.getStore().getCameraConfig(e.camera)??null:null;return q` - ${!this.hide&&e?.is("image")&&r?q` - `:""} - ${!this.hide&&e?.isGalleryView()?q` - `:""} - ${!this.hide&&e?.isViewerView()?q` - - - `:""} - ${!this.hide&&e?.is("timeline")?q` - `:""} - ${!this.hide&&e?.is("diagnostics")?q` - `:""} - ${this._shouldLivePreload()||!this.hide&&e?.is("live")?q` - - - `:""} - `}static get styles(){return o(":host {\n width: 100%;\n height: 100%;\n display: block;\n}\n\n:host([hidden]),\n.hidden {\n display: none;\n}")}};e([he({attribute:!1})],GE.prototype,"hass",void 0),e([he({attribute:!1})],GE.prototype,"viewManagerEpoch",void 0),e([he({attribute:!1})],GE.prototype,"cameraManager",void 0),e([he({attribute:!1})],GE.prototype,"nonOverriddenConfig",void 0),e([he({attribute:!1})],GE.prototype,"overriddenConfig",void 0),e([he({attribute:!1})],GE.prototype,"cardWideConfig",void 0),e([he({attribute:!1})],GE.prototype,"rawConfig",void 0),e([he({attribute:!1})],GE.prototype,"resolvedMediaCache",void 0),e([he({attribute:!1})],GE.prototype,"conditionsManagerEpoch",void 0),e([he({attribute:!1})],GE.prototype,"hide",void 0),e([he({attribute:!1})],GE.prototype,"microphoneManager",void 0),e([he({attribute:!1})],GE.prototype,"triggeredCameraIDs",void 0),e([he({attribute:!1})],GE.prototype,"deviceRegistryManager",void 0),GE=e([le("frigate-card-views")],GE);console.info(`%c FRIGATE-HASS-CARD \n%c ${V_("common.version")} 6.0.2`,"color: pink; font-weight: bold; background: black","color: white; font-weight: bold; background: dimgray"),window.customCards=window.customCards||[],window.customCards.push({type:"frigate-card",name:V_("common.frigate_card"),description:V_("common.frigate_card_description"),preview:!0,documentationURL:wa});let YE=class extends se{constructor(){super(...arguments),this._controller=new Ax(this,(()=>this._refMain.value?.scroll({top:0})),(()=>this._refMenu.value?.toggleMenu()),this._requestUpdateForComponentsThatUseConditions.bind(this)),this._menuButtonController=new zx,this._refMenu=ze(),this._refOverlay=ze(),this._refMain=ze(),this._refElements=ze(),this._refViews=ze()}get _config(){return this._controller.getConfigManager().getConfig()}get _hass(){return this._controller.getHASSManager().getHASS()}set hass(e){this._controller.getHASSManager().setHASS(e),this._refMenu.value&&(this._refMenu.value.hass=e),this._refElements.value&&(this._refElements.value.hass=e),this._refViews.value&&(this._refViews.value.hass=e)}static async getConfigElement(){return await Ax.getConfigElement()}static getStubConfig(e,t){return Ax.getStubConfig(t)}_requestUpdateForComponentsThatUseConditions(){this._refViews.value&&(this._refViews.value.conditionsManagerEpoch=this._controller.getConditionsManager().getEpoch()??void 0),this._refElements.value&&(this._refElements.value.conditionsManagerEpoch=this._controller.getConditionsManager().getEpoch()??void 0)}setConfig(e){this._controller.getConfigManager().setConfig(e)}shouldUpdate(){return!!this.isConnected&&(this._controller.getMessageManager().hasMessage()||this._controller.getInitializationManager().isInitializedMandatory()||this._controller.getInitializationManager().initializeMandatory(),!0)}_renderMenuStatusContainer(e){if(!this._config)return;const t=this._config.menu.style,n=this._config.menu.position,a=this._config.status_bar.style,i=this._config.status_bar.position;if("none"===t&&"none"===a||"overlay"===e&&"outside"===t&&"outside"===a||"overlay"!==e&&("outside"!==t||n!==e)&&("outside"!==a||i!==e))return;const r=e=>{const r="none"!==t&&("outside"===t&&"outerlay"===e||"outside"!==t&&"overlay"===e),o="none"!==a&&("outside"===a&&"outerlay"===e||"outside"!==a&&"overlay"===e),s="left"===n||"right"===n||"bottom"===n&&"hidden"===t&&"popup"!==a||"top"===n&&("hidden"!==t||"popup"===a);return q` - ${r&&s?this._renderMenu(n):""} - ${o?this._renderStatusBar(i):""} - ${r&&!s?this._renderMenu(n):""} - `};return q` - ${"overlay"===e?q`${r("overlay")}`:q`
- ${r("outerlay")} -
`} - `}_renderMenu(e){const t=this._controller.getViewManager().getView();if(this._hass&&this._config)return q` - - `}_renderStatusBar(e){if(this._config)return q` - - `}updated(){this._controller.getInitializationManager().isInitializedMandatory()&&this._controller.getQueryStringManager().executeIfNecessary()}_renderInDialogIfNecessary(e){return this._controller.getExpandManager().isExpanded()?q` {this._controller.getExpandManager().setExpanded(!1)}} - > - ${e} - `:e}render(){if(!this._hass)return;const e={main:!0,"curve-top":"outside"!==this._config?.menu.style||"top"!==this._config?.menu.position,"curve-bottom":"outside"!==this._config?.menu.style||"top"===this._config?.menu.position},t=this._controller.getActionsManager().getMergedActions(),n=this._controller.getCameraManager(),a=!1!==this._config?.performance?.features.animated_progress_indicator&&!this._controller.getInitializationManager().wasEverInitialized()&&!this._controller.getMessageManager().hasMessage();return this._renderInDialogIfNecessary(q` this._controller.getMessageManager().setMessageIfHigherPriority(e.detail)} - @frigate-card:media:loaded=${e=>this._controller.getMediaLoadedInfoManager().set(e.detail)} - @frigate-card:media:unloaded=${()=>this._controller.getMediaLoadedInfoManager().clear()} - @frigate-card:media:volumechange=${()=>this.requestUpdate()} - @frigate-card:media:play=${()=>this.requestUpdate()} - @frigate-card:media:pause=${()=>this.requestUpdate()} - @frigate-card:focus=${()=>this.focus()} - > - ${a?q``:""} - ${this._renderMenuStatusContainer("top")} - ${this._renderMenuStatusContainer("overlay")} -
- - ${wk(this._controller.getMessageManager().getMessage())} -
- ${this._renderMenuStatusContainer("bottom")} - ${this._config?.elements?q` {this._menuButtonController.addDynamicMenuButton(e.detail),this.requestUpdate()}} - @frigate-card:menu:remove=${e=>{this._menuButtonController.removeDynamicMenuButton(e.detail),this.requestUpdate()}} - @frigate-card:status-bar:add=${e=>{this._controller.getStatusBarItemManager().addDynamicStatusBarItem(e.detail)}} - @frigate-card:status-bar:remove=${e=>{this._controller.getStatusBarItemManager().removeDynamicStatusBarItem(e.detail)}} - @frigate-card:conditions:evaluate=${e=>{e.evaluation=this._controller.getConditionsManager()?.evaluateConditions(e.conditions)}} - > - `:""} -
`)}static get styles(){return o(':host {\n display: block;\n position: relative;\n background-color: var(--card-background-color);\n border-radius: var(--ha-card-border-radius, 4px);\n height: var(--frigate-card-height);\n min-height: 100px;\n pointer-events: all;\n --frigate-card-expand-max-height: calc((100vh - (2 * 56px)) * 0.85);\n --frigate-card-expand-max-width: 85vw;\n --frigate-card-expand-width: none;\n --frigate-card-expand-height: none;\n --frigate-card-expand-aspect-ratio: unset;\n --frigate-card-height: auto;\n}\n\nfrigate-card-loading {\n position: absolute;\n inset: 0;\n z-index: 1;\n}\n\n:host([dark]) {\n filter: brightness(75%);\n}\n\n:host([panel]) {\n height: 100%;\n}\n\ndiv.main {\n position: relative;\n overflow: auto;\n width: 100%;\n height: 100%;\n margin: auto;\n display: block;\n transform: translateZ(0);\n scrollbar-width: none;\n -ms-overflow-style: none;\n}\n\n/* Hide scrollbar for Chrome, Safari and Opera */\ndiv.main::-webkit-scrollbar {\n display: none;\n}\n\ndiv.main.curve-top {\n border-top-left-radius: var(--ha-card-border-radius, 4px);\n border-top-right-radius: var(--ha-card-border-radius, 4px);\n}\n\ndiv.main.curve-bottom {\n border-bottom-left-radius: var(--ha-card-border-radius, 4px);\n border-bottom-right-radius: var(--ha-card-border-radius, 4px);\n}\n\nha-card {\n display: flex;\n flex-direction: column;\n margin: auto;\n border: 0px;\n overflow: visible;\n width: 100%;\n height: 100%;\n position: static;\n color: var(--secondary-text-color, white);\n}\n\n/************\n * Fullscreen\n *************/\n:host(:fullscreen) #ha-card {\n border-radius: 0px;\n box-shadow: none;\n margin: 0;\n}\n\n:host(:-webkit-full-screen) #ha-card {\n border-radius: 0px;\n box-shadow: none;\n margin: 0;\n}\n\n:host(:fullscreen) div.main,\n:host(:fullscreen) frigate-card-menu {\n border-radius: 0px;\n}\n\n:host(:-webkit-full-screen) div.main,\n:host(:-webkit-full-screen) frigate-card-menu {\n border-radius: 0px;\n}\n\n/***************\n * Expanded mode\n ***************/\nweb-dialog {\n --dialog-padding: 0px;\n --dialog-container-padding: 0px;\n --dialog-max-height: var(--frigate-card-expand-max-height);\n --dialog-max-width: var(--frigate-card-expand-max-width);\n --dialog-width: var(--frigate-card-expand-width);\n --dialog-height: var(--frigate-card-expand-height);\n --dialog-overflow-x: visible;\n --dialog-overflow-y: visible;\n max-height: 100vh;\n}\n\nweb-dialog::part(dialog) {\n aspect-ratio: var(--frigate-card-expand-aspect-ratio);\n border-radius: 0px;\n background: transparent;\n}\n\n/*************************************\n * "Outside" style for menu/status bar\n *************************************/\n.outerlay[data-position=top] > *:first-child {\n border-top-left-radius: var(--ha-card-border-radius, 4px);\n border-top-right-radius: var(--ha-card-border-radius, 4px);\n}\n\n.outerlay[data-position=bottom] > *:last-child {\n border-bottom-left-radius: var(--ha-card-border-radius, 4px);\n border-bottom-right-radius: var(--ha-card-border-radius, 4px);\n}\n\n/*******************\n * Menu hover styles\n *******************/\nfrigate-card-menu {\n z-index: 2;\n}\n\nfrigate-card-menu[data-style*=hover] {\n transition: opacity 0.5s ease;\n opacity: 0;\n}\n\nfrigate-card-menu[data-style*=hover]:hover,\nha-card:hover > frigate-card-overlay > frigate-card-menu[data-style=hover-card] {\n opacity: 1;\n}\n\n/*************************\n * Status bar hover styles\n *************************/\nfrigate-card-status-bar {\n z-index: 1;\n}\n\nfrigate-card-status-bar[data-style*=hover] {\n transition: opacity 0.5s ease;\n opacity: 0;\n}\n\nfrigate-card-status-bar[data-style*=hover]:hover,\nha-card:hover > frigate-card-overlay > frigate-card-status-bar[data-style=hover-card] {\n opacity: 1;\n}')}getCardSize(){return 6}};YE=e([le("frigate-card")],YE);export{Il as $,tr as A,nr as B,Zi as C,ar as D,ir as E,rr as F,Pi as G,Li as H,Ni as I,Fi as J,Vi as K,Hi as L,Bi as M,qi as N,Ui as O,gs as P,Ws as Q,ns as R,Us as S,qo as T,Fo as U,Vo as V,Ho as W,Bo as X,Bs as Y,zl as Z,e as _,se as a,dr as a$,H_ as a0,tw as a1,et as a2,nw as a3,$s as a4,Di as a5,ji as a6,Oi as a7,Ri as a8,Wi as a9,Yr as aA,oo as aB,so as aC,lo as aD,uo as aE,co as aF,ao as aG,io as aH,ro as aI,mo as aJ,_o as aK,vo as aL,ho as aM,po as aN,fo as aO,go as aP,eo as aQ,no as aR,to as aS,Xr as aT,Jr as aU,Kr as aV,Ao as aW,Io as aX,zo as aY,hr as aZ,cr as a_,es as aa,Jo as ab,Xo as ac,ts as ad,hs as ae,us as af,ms as ag,qs as ah,ps as ai,So as aj,Co as ak,To as al,Mo as am,ko as an,qr as ao,Ur as ap,Wr as aq,Zr as ar,Eo as as,$o as at,yo as au,xo as av,bo as aw,wo as ax,Qr as ay,Gr as az,pe as b,ja as b$,ur as b0,lr as b1,sr as b2,mr as b3,gr as b4,fr as b5,_r as b6,xr as b7,Hr as b8,Cr as b9,Po as bA,Wo as bB,Zo as bC,Go as bD,Yo as bE,Qo as bF,Uo as bG,vs as bH,_s as bI,ys as bJ,xs as bK,Cs as bL,As as bM,Ms as bN,Es as bO,Ss as bP,Jb as bQ,Kb as bR,Uk as bS,Ug as bT,Ma as bU,Ja as bV,Ya as bW,La as bX,Na as bY,ka as bZ,Oa as b_,kr as ba,Mr as bb,vr as bc,wr as bd,yr as be,br as bf,Sr as bg,Er as bh,$r as bi,Or as bj,zr as bk,Tr as bl,jr as bm,Ir as bn,Ar as bo,Pr as bp,Fr as bq,Vr as br,Dr as bs,Rr as bt,Nr as bu,Lr as bv,Ro as bw,Lo as bx,Oo as by,Do as bz,ew as c,wf as c$,Da as c0,Ta as c1,Ga as c2,Ua as c3,Wa as c4,Za as c5,Qa as c6,_i as c7,fi as c8,Ra as c9,ai as cA,ii as cB,Sa as cC,Ea as cD,pi as cE,hi as cF,gi as cG,mi as cH,Fd as cI,Ca as cJ,ks as cK,ge as cL,fe as cM,W as cN,xe as cO,Gw as cP,Mk as cQ,ze as cR,Yw as cS,df as cT,wk as cU,je as cV,Qg as cW,vw as cX,td as cY,kk as cZ,Ky as c_,Pa as ca,Ha as cb,qa as cc,Fa as cd,Va as ce,Ba as cf,Ka as cg,Xa as ch,ti as ci,ei as cj,yi as ck,vi as cl,bi as cm,wi as cn,$a as co,Aa as cp,za as cq,Ia as cr,ni as cs,ri as ct,oi as cu,si as cv,ci as cw,li as cx,di as cy,ui as cz,aw as d,ba as d$,My as d0,ve as d1,jE as d2,Vd as d3,nu as d4,c as d5,ux as d6,Qv as d7,hx as d8,lx as d9,wx as dA,Ck as dB,U as dC,xf as dD,Bw as dE,kE as dF,CE as dG,yf as dH,Fk as dI,vf as dJ,kf as dK,bf as dL,p_ as dM,h_ as dN,Pv as dO,Lv as dP,Ud as dQ,Vv as dR,Yg as dS,Kg as dT,Cx as dU,Gy as dV,gx as dW,su as dX,sf as dY,Fv as dZ,Hg as d_,px as da,Gg as db,Ev as dc,Wu as dd,Xg as de,Qu as df,Bg as dg,qw as dh,af as di,SE as dj,kx as dk,xk as dl,$w as dm,tx as dn,hy as dp,Bb as dq,qb as dr,UE as ds,WE as dt,Ib as du,qE as dv,Qw as dw,Kw as dx,Xw as dy,Jw as dz,_e as e,nf as e0,$v as e1,zs as e2,Kv as e3,Wv as e4,Z_ as e5,Q_ as e6,Yv as e7,Jg as e8,tf as e9,Lu as eA,Vb as eB,Zv as eC,Nb as eD,lf as eE,qy as eF,Uy as eG,Wy as eH,pf as eI,Qy as eJ,Rg as eK,Zy as eL,s as eM,Ae as eN,ye as eO,bE as eP,me as eQ,be as eR,jb as eS,Zw as eT,Gv as ea,Hk as eb,Hv as ec,rf as ed,Tv as ee,Bk as ef,Iv as eg,zv as eh,jv as ei,qk as ej,Xd as ek,Hd as el,Gd as em,Qd as en,Yd as eo,vu as ep,Jd as eq,eu as er,yu as es,_u as et,Bd as eu,au as ev,gu as ew,Ou as ex,Nu as ey,Fu as ez,ww as f,Fb as g,Xb as h,Dv as i,Lb as j,qg as k,V_ as l,Ki as m,he as n,Gi as o,Ld as p,Qi as q,o as r,of as s,le as t,Yi as u,Hb as v,Xi as w,q as x,er as y,Ji as z}; diff --git a/config/www/community/frigate-hass-card/card-45855f1f.js.gz b/config/www/community/frigate-hass-card/card-45855f1f.js.gz deleted file mode 100644 index cd5fb1c7f3855b8acd7ec134221d7a5628cad914..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142680 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%0A-i##L4sovjotahLVJp!~dAZ0A5n?nb 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 QrfU!WAGR3pQ}Y)H0HQWKaR2}S diff --git a/config/www/community/frigate-hass-card/card-555679fd.js b/config/www/community/frigate-hass-card/card-555679fd.js deleted file mode 100644 index 6f71740c..00000000 --- a/config/www/community/frigate-hass-card/card-555679fd.js +++ /dev/null @@ -1,565 +0,0 @@ -function e(e,t,n,i){var a,r=arguments.length,o=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(r<3?a(o):r>3?a(t,n,o):a(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o}var t=window&&window.__assign||function(){return t=Object.assign||function(e){for(var t,n=1,i=arguments.length;nnew y("string"==typeof e?e:e+"",void 0,v),w=(e,...t)=>{const n=1===e.length?e[0]:t.reduce(((t,n,i)=>t+(e=>{if(!0===e._$cssResult$)return e.cssText;if("number"==typeof e)return e;throw Error("Value passed to 'css' function must be a 'css' function result: "+e+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(n)+e[i+1]),e[0]);return new y(n,e,v)},x=(e,t)=>{g?e.adoptedStyleSheets=t.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet)):t.forEach((t=>{const n=document.createElement("style"),i=f.litNonce;void 0!==i&&n.setAttribute("nonce",i),n.textContent=t.cssText,e.appendChild(n)}))},C=g?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const n of e.cssRules)t+=n.cssText;return b(t)})(e):e -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */;var $;const k=window,E=k.trustedTypes,M=E?E.emptyScript:"",S=k.reactiveElementPolyfillSupport,T={toAttribute(e,t){switch(t){case Boolean:e=e?M:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=null!==e;break;case Number:n=null===e?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch(e){n=null}}return n}},A=(e,t)=>t!==e&&(t==t||e==e),z={attribute:!0,type:String,converter:T,reflect:!1,hasChanged:A};class j extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this.u()}static addInitializer(e){var t;this.finalize(),(null!==(t=this.h)&&void 0!==t?t:this.h=[]).push(e)}static get observedAttributes(){this.finalize();const e=[];return this.elementProperties.forEach(((t,n)=>{const i=this._$Ep(n,t);void 0!==i&&(this._$Ev.set(i,n),e.push(i))})),e}static createProperty(e,t=z){if(t.state&&(t.attribute=!1),this.finalize(),this.elementProperties.set(e,t),!t.noAccessor&&!this.prototype.hasOwnProperty(e)){const n="symbol"==typeof e?Symbol():"__"+e,i=this.getPropertyDescriptor(e,n,t);void 0!==i&&Object.defineProperty(this.prototype,e,i)}}static getPropertyDescriptor(e,t,n){return{get(){return this[t]},set(i){const a=this[e];this[t]=i,this.requestUpdate(e,a,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)||z}static finalize(){if(this.hasOwnProperty("finalized"))return!1;this.finalized=!0;const e=Object.getPrototypeOf(this);if(e.finalize(),void 0!==e.h&&(this.h=[...e.h]),this.elementProperties=new Map(e.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const e=this.properties,t=[...Object.getOwnPropertyNames(e),...Object.getOwnPropertySymbols(e)];for(const n of t)this.createProperty(n,e[n])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const n=new Set(e.flat(1/0).reverse());for(const e of n)t.unshift(C(e))}else void 0!==e&&t.push(C(e));return t}static _$Ep(e,t){const n=t.attribute;return!1===n?void 0:"string"==typeof n?n:"string"==typeof e?e.toLowerCase():void 0}u(){var e;this._$E_=new Promise((e=>this.enableUpdating=e)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(e=this.constructor.h)||void 0===e||e.forEach((e=>e(this)))}addController(e){var t,n;(null!==(t=this._$ES)&&void 0!==t?t:this._$ES=[]).push(e),void 0!==this.renderRoot&&this.isConnected&&(null===(n=e.hostConnected)||void 0===n||n.call(e))}removeController(e){var t;null===(t=this._$ES)||void 0===t||t.splice(this._$ES.indexOf(e)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((e,t)=>{this.hasOwnProperty(t)&&(this._$Ei.set(t,this[t]),delete this[t])}))}createRenderRoot(){var e;const t=null!==(e=this.shadowRoot)&&void 0!==e?e:this.attachShadow(this.constructor.shadowRootOptions);return x(t,this.constructor.elementStyles),t}connectedCallback(){var e;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostConnected)||void 0===t?void 0:t.call(e)}))}enableUpdating(e){}disconnectedCallback(){var e;null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostDisconnected)||void 0===t?void 0:t.call(e)}))}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$EO(e,t,n=z){var i;const a=this.constructor._$Ep(e,n);if(void 0!==a&&!0===n.reflect){const r=(void 0!==(null===(i=n.converter)||void 0===i?void 0:i.toAttribute)?n.converter:T).toAttribute(t,n.type);this._$El=e,null==r?this.removeAttribute(a):this.setAttribute(a,r),this._$El=null}}_$AK(e,t){var n;const i=this.constructor,a=i._$Ev.get(e);if(void 0!==a&&this._$El!==a){const e=i.getPropertyOptions(a),r="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==(null===(n=e.converter)||void 0===n?void 0:n.fromAttribute)?e.converter:T;this._$El=a,this[a]=r.fromAttribute(t,e.type),this._$El=null}}requestUpdate(e,t,n){let i=!0;void 0!==e&&(((n=n||this.constructor.getPropertyOptions(e)).hasChanged||A)(this[e],t)?(this._$AL.has(e)||this._$AL.set(e,t),!0===n.reflect&&this._$El!==e&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(e,n))):i=!1),!this.isUpdatePending&&i&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var e;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((e,t)=>this[t]=e)),this._$Ei=void 0);let t=!1;const n=this._$AL;try{t=this.shouldUpdate(n),t?(this.willUpdate(n),null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostUpdate)||void 0===t?void 0:t.call(e)})),this.update(n)):this._$Ek()}catch(e){throw t=!1,this._$Ek(),e}t&&this._$AE(n)}willUpdate(e){}_$AE(e){var t;null===(t=this._$ES)||void 0===t||t.forEach((e=>{var t;return null===(t=e.hostUpdated)||void 0===t?void 0:t.call(e)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(e){return!0}update(e){void 0!==this._$EC&&(this._$EC.forEach(((e,t)=>this._$EO(t,this[t],e))),this._$EC=void 0),this._$Ek()}updated(e){}firstUpdated(e){}} -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -var O;j.finalized=!0,j.elementProperties=new Map,j.elementStyles=[],j.shadowRootOptions={mode:"open"},null==S||S({ReactiveElement:j}),(null!==($=k.reactiveElementVersions)&&void 0!==$?$:k.reactiveElementVersions=[]).push("1.6.1");const I=window,R=I.trustedTypes,D=R?R.createPolicy("lit-html",{createHTML:e=>e}):void 0,P=`lit$${(Math.random()+"").slice(9)}$`,L="?"+P,N=`<${L}>`,U=document,F=(e="")=>U.createComment(e),H=e=>null===e||"object"!=typeof e&&"function"!=typeof e,Z=Array.isArray,q=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,V=/-->/g,W=/>/g,B=RegExp(">|[ \t\n\f\r](?:([^\\s\"'>=/]+)([ \t\n\f\r]*=[ \t\n\f\r]*(?:[^ \t\n\f\r\"'`<>=]|(\"|')|))|$)","g"),Y=/'/g,Q=/"/g,G=/^(?:script|style|textarea|title)$/i,K=(e=>(t,...n)=>({_$litType$:e,strings:t,values:n}))(1),X=Symbol.for("lit-noChange"),J=Symbol.for("lit-nothing"),ee=new WeakMap,te=U.createTreeWalker(U,129,null,!1),ne=(e,t)=>{const n=e.length-1,i=[];let a,r=2===t?"":"",o=q;for(let t=0;t"===c[0]?(o=null!=a?a:q,l=-1):void 0===c[1]?l=-2:(l=o.lastIndex-c[2].length,s=c[1],o=void 0===c[3]?B:'"'===c[3]?Q:Y):o===Q||o===Y?o=B:o===V||o===W?o=q:(o=B,a=void 0);const u=o===B&&e[t+1].startsWith("/>")?" ":"";r+=o===q?n+N:l>=0?(i.push(s),n.slice(0,l)+"$lit$"+n.slice(l)+P+u):n+P+(-2===l?(i.push(void 0),t):u)}const s=r+(e[n]||"")+(2===t?"":"");if(!Array.isArray(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==D?D.createHTML(s):s,i]};class ie{constructor({strings:e,_$litType$:t},n){let i;this.parts=[];let a=0,r=0;const o=e.length-1,s=this.parts,[c,l]=ne(e,t);if(this.el=ie.createElement(c,n),te.currentNode=this.el.content,2===t){const e=this.el.content,t=e.firstChild;t.remove(),e.append(...t.childNodes)}for(;null!==(i=te.nextNode())&&s.length0){i.textContent=R?R.emptyScript:"";for(let n=0;nZ(e)||"function"==typeof(null==e?void 0:e[Symbol.iterator]))(e)?this.k(e):this.g(e)}O(e,t=this._$AB){return this._$AA.parentNode.insertBefore(e,t)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}g(e){this._$AH!==J&&H(this._$AH)?this._$AA.nextSibling.data=e:this.T(U.createTextNode(e)),this._$AH=e}$(e){var t;const{values:n,_$litType$:i}=e,a="number"==typeof i?this._$AC(e):(void 0===i.el&&(i.el=ie.createElement(i.h,this.options)),i);if((null===(t=this._$AH)||void 0===t?void 0:t._$AD)===a)this._$AH.p(n);else{const e=new re(a,this),t=e.v(this.options);e.p(n),this.T(t),this._$AH=e}}_$AC(e){let t=ee.get(e.strings);return void 0===t&&ee.set(e.strings,t=new ie(e)),t}k(e){Z(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let n,i=0;for(const a of e)i===t.length?t.push(n=new oe(this.O(F()),this.O(F()),this,this.options)):n=t[i],n._$AI(a),i++;i2||""!==n[0]||""!==n[1]?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=J}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(e,t=this,n,i){const a=this.strings;let r=!1;if(void 0===a)e=ae(this,e,t,0),r=!H(e)||e!==this._$AH&&e!==X,r&&(this._$AH=e);else{const i=e;let o,s;for(e=a[0],o=0;o{var i,a;const r=null!==(i=null==n?void 0:n.renderBefore)&&void 0!==i?i:t;let o=r._$litPart$;if(void 0===o){const e=null!==(a=null==n?void 0:n.renderBefore)&&void 0!==a?a:null;r._$litPart$=o=new oe(t.insertBefore(F(),e),e,void 0,null!=n?n:{})}return o._$AI(e),o})(t,this.renderRoot,this.renderOptions)}connectedCallback(){var e;super.connectedCallback(),null===(e=this._$Do)||void 0===e||e.setConnected(!0)}disconnectedCallback(){var e;super.disconnectedCallback(),null===(e=this._$Do)||void 0===e||e.setConnected(!1)}render(){return X}}ge.finalized=!0,ge._$litElement$=!0,null===(pe=globalThis.litElementHydrateSupport)||void 0===pe||pe.call(globalThis,{LitElement:ge});const ve=globalThis.litElementPolyfillSupport;null==ve||ve({LitElement:ge}),(null!==(fe=globalThis.litElementVersions)&&void 0!==fe?fe:globalThis.litElementVersions=[]).push("3.2.2"); -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const _e=e=>t=>"function"==typeof t?((e,t)=>(customElements.define(e,t),t))(e,t):((e,t)=>{const{kind:n,elements:i}=t;return{kind:n,elements:i,finisher(t){customElements.define(e,t)}}})(e,t) -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */,ye=(e,t)=>"method"===t.kind&&t.descriptor&&!("value"in t.descriptor)?{...t,finisher(n){n.createProperty(t.key,e)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:t.key,initializer(){"function"==typeof t.initializer&&(this[t.key]=t.initializer.call(this))},finisher(n){n.createProperty(t.key,e)}};function be(e){return(t,n)=>void 0!==n?((e,t,n)=>{t.constructor.createProperty(n,e)})(e,t,n):ye(e,t) -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */}function we(e){return be({...e,state:!0})} -/** - * @license - * Copyright 2021 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */var xe;null===(xe=window.HTMLSlotElement)||void 0===xe||xe.prototype.assignedElements; -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const Ce={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},$e=e=>(...t)=>({_$litDirective$:e,values:t});class ke{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,n){this._$Ct=e,this._$AM=t,this._$Ci=n}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}} -/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const Ee=$e(class extends ke{constructor(e){var t;if(super(e),e.type!==Ce.ATTRIBUTE||"class"!==e.name||(null===(t=e.strings)||void 0===t?void 0:t.length)>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(e){return" "+Object.keys(e).filter((t=>e[t])).join(" ")+" "}update(e,[t]){var n,i;if(void 0===this.nt){this.nt=new Set,void 0!==e.strings&&(this.st=new Set(e.strings.join(" ").split(/\s/).filter((e=>""!==e))));for(const e in t)t[e]&&!(null===(n=this.st)||void 0===n?void 0:n.has(e))&&this.nt.add(e);return this.render(t)}const a=e.element.classList;this.nt.forEach((e=>{e in t||(a.remove(e),this.nt.delete(e))}));for(const e in t){const n=!!t[e];n===this.nt.has(e)||(null===(i=this.st)||void 0===i?void 0:i.has(e))||(n?(a.add(e),this.nt.add(e)):(a.remove(e),this.nt.delete(e)))}return X}}),Me=e=>null===e||"object"!=typeof e&&"function"!=typeof e,Se=e=>void 0===e.strings,Te={},Ae=(e,t=Te)=>e._$AH=t -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */,ze=(e,t)=>{var n,i;const a=e._$AN;if(void 0===a)return!1;for(const e of a)null===(i=(n=e)._$AO)||void 0===i||i.call(n,t,!1),ze(e,t);return!0},je=e=>{let t,n;do{if(void 0===(t=e._$AM))break;n=t._$AN,n.delete(e),e=t}while(0===(null==n?void 0:n.size))},Oe=e=>{for(let t;t=e._$AM;e=t){let n=t._$AN;if(void 0===n)t._$AN=n=new Set;else if(n.has(e))break;n.add(e),De(t)}}; -/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */function Ie(e){void 0!==this._$AN?(je(this),this._$AM=e,Oe(this)):this._$AM=e}function Re(e,t=!1,n=0){const i=this._$AH,a=this._$AN;if(void 0!==a&&0!==a.size)if(t)if(Array.isArray(i))for(let e=n;e{var t,n,i,a;e.type==Ce.CHILD&&(null!==(t=(i=e)._$AP)&&void 0!==t||(i._$AP=Re),null!==(n=(a=e)._$AQ)&&void 0!==n||(a._$AQ=Ie))};class Pe extends ke{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,t,n){super._$AT(e,t,n),Oe(this),this.isConnected=e._$AU}_$AO(e,t=!0){var n,i;e!==this.isConnected&&(this.isConnected=e,e?null===(n=this.reconnected)||void 0===n||n.call(this):null===(i=this.disconnected)||void 0===i||i.call(this)),t&&(ze(this,e),je(this))}setValue(e){if(Se(this._$Ct))this._$Ct._$AI(e,this);else{const t=[...this._$Ct._$AH];t[this._$Ci]=e,this._$Ct._$AI(t,this,0)}}disconnected(){}reconnected(){}} -/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const Le=()=>new Ne;class Ne{}const Ue=new WeakMap,Fe=$e(class extends Pe{render(e){return J}update(e,[t]){var n;const i=t!==this.Y;return i&&void 0!==this.Y&&this.rt(void 0),(i||this.lt!==this.ct)&&(this.Y=t,this.dt=null===(n=e.options)||void 0===n?void 0:n.host,this.rt(this.ct=e.element)),J}rt(e){var t;if("function"==typeof this.Y){const n=null!==(t=this.dt)&&void 0!==t?t:globalThis;let i=Ue.get(n);void 0===i&&(i=new WeakMap,Ue.set(n,i)),void 0!==i.get(this.Y)&&this.Y.call(this.dt,void 0),i.set(this.Y,e),void 0!==e&&this.Y.call(this.dt,e)}else this.Y.value=e}get lt(){var e,t,n;return"function"==typeof this.Y?null===(t=Ue.get(null!==(e=this.dt)&&void 0!==e?e:globalThis))||void 0===t?void 0:t.get(this.Y):null===(n=this.Y)||void 0===n?void 0:n.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}}),He=$e(class extends ke{constructor(e){var t;if(super(e),e.type!==Ce.ATTRIBUTE||"style"!==e.name||(null===(t=e.strings)||void 0===t?void 0:t.length)>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(e){return Object.keys(e).reduce(((t,n)=>{const i=e[n];return null==i?t:t+`${n=n.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${i};`}),"")}update(e,[t]){const{style:n}=e.element;if(void 0===this.vt){this.vt=new Set;for(const e in t)this.vt.add(e);return this.render(t)}this.vt.forEach((e=>{null==t[e]&&(this.vt.delete(e),e.includes("-")?n.removeProperty(e):n[e]="")}));for(const e in t){const i=t[e];null!=i&&(this.vt.add(e),e.includes("-")?n.setProperty(e,i):n[e]=i)}return X}}); -/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */function Ze(e,t){return e===t||e!=e&&t!=t}function qe(e,t){for(var n=e.length;n--;)if(Ze(e[n][0],t))return n;return-1}var Ve=Array.prototype.splice;function We(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1},We.prototype.set=function(e,t){var n=this.__data__,i=qe(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this};var Be="object"==typeof global&&global&&global.Object===Object&&global,Ye="object"==typeof self&&self&&self.Object===Object&&self,Qe=Be||Ye||Function("return this")(),Ge=Qe.Symbol,Ke=Object.prototype,Xe=Ke.hasOwnProperty,Je=Ke.toString,et=Ge?Ge.toStringTag:void 0;var tt=Object.prototype.toString;var nt="[object Null]",it="[object Undefined]",at=Ge?Ge.toStringTag:void 0;function rt(e){return null==e?void 0===e?it:nt:at&&at in Object(e)?function(e){var t=Xe.call(e,et),n=e[et];try{e[et]=void 0;var i=!0}catch(e){}var a=Je.call(e);return i&&(t?e[et]=n:delete e[et]),a}(e):function(e){return tt.call(e)}(e)}function ot(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}var st="[object AsyncFunction]",ct="[object Function]",lt="[object GeneratorFunction]",dt="[object Proxy]";function ut(e){if(!ot(e))return!1;var t=rt(e);return t==ct||t==lt||t==st||t==dt}var ht,mt=Qe["__core-js_shared__"],pt=(ht=/[^.]+$/.exec(mt&&mt.keys&&mt.keys.IE_PROTO||""))?"Symbol(src)_1."+ht:"";var ft=Function.prototype.toString;function gt(e){if(null!=e){try{return ft.call(e)}catch(e){}try{return e+""}catch(e){}}return""}var vt=/^\[object .+?Constructor\]$/,_t=Function.prototype,yt=Object.prototype,bt=_t.toString,wt=yt.hasOwnProperty,xt=RegExp("^"+bt.call(wt).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Ct(e){return!(!ot(e)||(t=e,pt&&pt in t))&&(ut(e)?xt:vt).test(gt(e));var t}function $t(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return Ct(n)?n:void 0}var kt=$t(Qe,"Map"),Et=$t(Object,"create");var Mt="__lodash_hash_undefined__",St=Object.prototype.hasOwnProperty;var Tt=Object.prototype.hasOwnProperty;var At="__lodash_hash_undefined__";function zt(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1&&e%1==0&&e-1&&e%1==0&&e<=nn}var rn={};function on(e){return function(t){return e(t)}}rn["[object Float32Array]"]=rn["[object Float64Array]"]=rn["[object Int8Array]"]=rn["[object Int16Array]"]=rn["[object Int32Array]"]=rn["[object Uint8Array]"]=rn["[object Uint8ClampedArray]"]=rn["[object Uint16Array]"]=rn["[object Uint32Array]"]=!0,rn["[object Arguments]"]=rn["[object Array]"]=rn["[object ArrayBuffer]"]=rn["[object Boolean]"]=rn["[object DataView]"]=rn["[object Date]"]=rn["[object Error]"]=rn["[object Function]"]=rn["[object Map]"]=rn["[object Number]"]=rn["[object Object]"]=rn["[object RegExp]"]=rn["[object Set]"]=rn["[object String]"]=rn["[object WeakMap]"]=!1;var sn="object"==typeof exports&&exports&&!exports.nodeType&&exports,cn=sn&&"object"==typeof module&&module&&!module.nodeType&&module,ln=cn&&cn.exports===sn&&Be.process,dn=function(){try{var e=cn&&cn.require&&cn.require("util").types;return e||ln&&ln.binding&&ln.binding("util")}catch(e){}}(),un=dn&&dn.isTypedArray,hn=un?on(un):function(e){return Ft(e)&&an(e.length)&&!!rn[rt(e)]},mn=Object.prototype.hasOwnProperty;function pn(e,t){var n=Yt(e),i=!n&&Bt(e),a=!n&&!i&&Xt(e),r=!n&&!i&&!a&&hn(e),o=n||i||a||r,s=o?function(e,t){for(var n=-1,i=Array(e);++ns))return!1;var l=r.get(e),d=r.get(t);if(l&&d)return l==t&&d==e;var u=-1,h=!0,m=n&na?new Xi:void 0;for(r.set(e,t),r.set(t,e);++u0){if(++Ga>=Wa)return arguments[0]}else Ga=0;return Qa.apply(void 0,arguments)});function Ja(e,t){return Xa(function(e,t,n){return t=qa(void 0===t?e.length-1:t,0),function(){for(var i=arguments,a=-1,r=qa(i.length-t,0),o=Array(r);++a1?t[i-1]:void 0,r=i>2?t[2]:void 0;for(a=er.length>3&&"function"==typeof a?(i--,a):void 0,r&&function(e,t,n){if(!ot(n))return!1;var i=typeof t;return!!("number"==i?bn(n)&&tn(t,n.length):"string"==i&&t in n)&&Ze(n[t],e)}(t[0],t[1],r)&&(a=i<3?void 0:a,i=1),e=Object(e);++n=t||n<0||u&&e-l>=r}function f(){var e=nr();if(p(e))return g(e);s=setTimeout(f,function(e){var n=t-(e-c);return u?gr(n,r-(e-l)):n}(e))}function g(e){return s=void 0,h&&i?m(e):(i=a=void 0,o)}function v(){var e=nr(),n=p(e);if(i=arguments,a=this,c=e,n){if(void 0===s)return function(e){return l=e,s=setTimeout(f,t),d?m(e):o}(c);if(u)return clearTimeout(s),s=setTimeout(f,t),m(c)}return void 0===s&&(s=setTimeout(f,t)),o}return t=mr(t)||0,ot(n)&&(d=!!n.leading,r=(u="maxWait"in n)?fr(mr(n.maxWait)||0,t):r,h="trailing"in n?!!n.trailing:h),v.cancel=function(){void 0!==s&&clearTimeout(s),l=0,i=c=a=s=void 0},v.flush=function(){return void 0===s?o:g(nr())},v}var _r="Expected a function";function yr(e,t,n){var i=!0,a=!0;if("function"!=typeof e)throw new TypeError(_r);return ot(n)&&(i="leading"in n?!!n.leading:i,a="trailing"in n?!!n.trailing:a),vr(e,t,{leading:i,maxWait:t,trailing:a})}const br=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],wr=(()=>{if("undefined"==typeof document)return!1;const e=br[0],t={};for(const n of br){const i=n?.[1];if(i in document){for(const[i,a]of n.entries())t[e[i]]=a;return t}}return!1})(),xr={change:wr.fullscreenchange,error:wr.fullscreenerror};let Cr={request:(e=document.documentElement,t)=>new Promise(((n,i)=>{const a=()=>{Cr.off("change",a),n()};Cr.on("change",a);const r=e[wr.requestFullscreen](t);r instanceof Promise&&r.then(a).catch(i)})),exit:()=>new Promise(((e,t)=>{if(!Cr.isFullscreen)return void e();const n=()=>{Cr.off("change",n),e()};Cr.on("change",n);const i=document[wr.exitFullscreen]();i instanceof Promise&&i.then(n).catch(t)})),toggle:(e,t)=>Cr.isFullscreen?Cr.exit():Cr.request(e,t),onchange(e){Cr.on("change",e)},onerror(e){Cr.on("error",e)},on(e,t){const n=xr[e];n&&document.addEventListener(n,t,!1)},off(e,t){const n=xr[e];n&&document.removeEventListener(n,t,!1)},raw:wr};Object.defineProperties(Cr,{isFullscreen:{get:()=>Boolean(document[wr.fullscreenElement])},element:{enumerable:!0,get:()=>document[wr.fullscreenElement]??void 0},isEnabled:{enumerable:!0,get:()=>Boolean(document[wr.fullscreenEnabled])}}),wr||(Cr={isEnabled:!1});var $r=Cr;function kr(e,t,n,i=20,a=0){let r=[];if(a>=i)return r;const o=e=>{const r=e.assignedNodes().filter((e=>1===e.nodeType));return r.length>0?kr(r[0].parentElement,t,n,i,a+1):[]},s=Array.from(e.children||[]);for(const e of s)t(e)||(n(e)&&r.push(e),null!=e.shadowRoot?r.push(...kr(e.shadowRoot,t,n,i,a+1)):"SLOT"===e.tagName?r.push(...o(e)):r.push(...kr(e,t,n,i,a+1)));return r}function Er(e){return e.hasAttribute("hidden")||e.hasAttribute("aria-hidden")&&"false"!==e.getAttribute("aria-hidden")||"none"===e.style.display||"0"===e.style.opacity||"hidden"===e.style.visibility||"collapse"===e.style.visibility}function Mr(e){return"-1"!==e.getAttribute("tabindex")&&!Er(e)&&!function(e){return e.hasAttribute("disabled")||e.hasAttribute("aria-disabled")&&"false"!==e.getAttribute("aria-disabled")}(e)&&(e.hasAttribute("tabindex")||(e instanceof HTMLAnchorElement||e instanceof HTMLAreaElement)&&e.hasAttribute("href")||e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLIFrameElement)}const Sr=new Map;const Tr=document.createElement("template");Tr.innerHTML='\n\t
\n\t
\n\t\n\t
\n';class Ar extends HTMLElement{constructor(){super(),this.debounceId=Math.random().toString(),this._focused=!1;const e=this.attachShadow({mode:"open"});e.appendChild(Tr.content.cloneNode(!0)),this.$backup=e.querySelector("#backup"),this.$start=e.querySelector("#start"),this.$end=e.querySelector("#end"),this.focusLastElement=this.focusLastElement.bind(this),this.focusFirstElement=this.focusFirstElement.bind(this),this.onFocusIn=this.onFocusIn.bind(this),this.onFocusOut=this.onFocusOut.bind(this)}static get observedAttributes(){return["inactive"]}get inactive(){return this.hasAttribute("inactive")}set inactive(e){e?this.setAttribute("inactive",""):this.removeAttribute("inactive")}get focused(){return this._focused}connectedCallback(){this.$start.addEventListener("focus",this.focusLastElement),this.$end.addEventListener("focus",this.focusFirstElement),this.addEventListener("focusin",this.onFocusIn),this.addEventListener("focusout",this.onFocusOut),this.render()}disconnectedCallback(){this.$start.removeEventListener("focus",this.focusLastElement),this.$end.removeEventListener("focus",this.focusFirstElement),this.removeEventListener("focusin",this.onFocusIn),this.removeEventListener("focusout",this.onFocusOut)}attributeChangedCallback(){this.render()}focusFirstElement(){this.trapFocus()}focusLastElement(){this.trapFocus(!0)}getFocusableElements(){return kr(this,Er,Mr)}trapFocus(e){if(this.inactive)return;let t=this.getFocusableElements();t.length>0?(e?t[t.length-1].focus():t[0].focus(),this.$backup.setAttribute("tabindex","-1")):(this.$backup.setAttribute("tabindex","0"),this.$backup.focus())}onFocusIn(){this.updateFocused(!0)}onFocusOut(){this.updateFocused(!1)}updateFocused(e){!function(e,t,n){const i=Sr.get(n);null!=i&&window.clearTimeout(i),Sr.set(n,window.setTimeout((()=>{e(),Sr.delete(n)}),t))}((()=>{this.focused!==e&&(this._focused=e,this.render())}),0,this.debounceId)}render(){this.$start.setAttribute("tabindex",!this.focused||this.inactive?"-1":"0"),this.$end.setAttribute("tabindex",!this.focused||this.inactive?"-1":"0"),this.focused?this.setAttribute("focused",""):this.removeAttribute("focused")}}function zr(e){return Number(e.getAttribute("data-dialog-count"))||0}function jr(e,t){e.setAttribute("data-dialog-count",t.toString())}function Or(e=document.activeElement){return null!=e&&null!=e.shadowRoot&&null!=e.shadowRoot.activeElement?Or(e.shadowRoot.activeElement):e}window.customElements.define("focus-trap",Ar);const Ir=document.createElement("template");Ir.innerHTML='\n \n
\n \n \n \n';class Rr extends HTMLElement{constructor(){super(),this.$scrollContainer=document.documentElement,this.$previousActiveElement=null;const e=this.attachShadow({mode:"open"});e.appendChild(Ir.content.cloneNode(!0)),this.$dialog=e.querySelector("#dialog"),this.$backdrop=e.querySelector("#backdrop"),this.onBackdropClick=this.onBackdropClick.bind(this),this.onKeyDown=this.onKeyDown.bind(this),this.setAttribute("aria-modal","true"),this.$dialog.setAttribute("role","alertdialog")}static get observedAttributes(){return["open","center"]}get open(){return this.hasAttribute("open")}set open(e){e?this.setAttribute("open",""):this.removeAttribute("open")}get center(){return this.hasAttribute("center")}set center(e){e?this.setAttribute("center",""):this.removeAttribute("center")}connectedCallback(){this.$backdrop.addEventListener("click",this.onBackdropClick)}disconnectedCallback(){this.$backdrop.removeEventListener("click",this.onBackdropClick),this.open&&this.didClose()}show(){this.open=!0}close(e){this.result=e,this.open=!1}onBackdropClick(){this.assertClosing()&&this.close()}onKeyDown(e){if("Escape"===e.code)this.assertClosing()&&(this.close(),e.stopImmediatePropagation())}assertClosing(){return this.dispatchEvent(new CustomEvent("closing",{cancelable:!0}))}didOpen(){this.$previousActiveElement=Or(document.activeElement),requestAnimationFrame((()=>{this.$dialog.focusFirstElement()})),this.tabIndex=0,this.$scrollContainer.style.overflow="hidden",this.addEventListener("keydown",this.onKeyDown,{capture:!0,passive:!0}),jr(this.$scrollContainer,zr(this.$scrollContainer)+1),this.dispatchEvent(new CustomEvent("open"))}didClose(){this.removeEventListener("keydown",this.onKeyDown,{capture:!0}),jr(this.$scrollContainer,Math.max(0,zr(this.$scrollContainer)-1)),zr(this.$scrollContainer)<=0&&(this.$scrollContainer.style.overflow=""),this.tabIndex=-1,null!=this.$previousActiveElement&&(this.$previousActiveElement.focus(),this.$previousActiveElement=null),this.dispatchEvent(new CustomEvent("close",{detail:this.result}))}attributeChangedCallback(e,t,n){if("open"===e)this.open?this.didOpen():this.didClose()}}customElements.define("web-dialog",Rr);var Dr,Pr,Lr="5.2.0",Nr="Fri, 23 Jun 2023 15:26:26 GMT",Ur="Thu, 22 Jun 2023 09:21:26 -0600",Fr="5.2.0-HEAD+g69249b6";!function(e){e.assertEqual=e=>e,e.assertIs=function(e){},e.assertNever=function(e){throw new Error},e.arrayToEnum=e=>{const t={};for(const n of e)t[n]=n;return t},e.getValidEnumValues=t=>{const n=e.objectKeys(t).filter((e=>"number"!=typeof t[t[e]])),i={};for(const e of n)i[e]=t[e];return e.objectValues(i)},e.objectValues=t=>e.objectKeys(t).map((function(e){return t[e]})),e.objectKeys="function"==typeof Object.keys?e=>Object.keys(e):e=>{const t=[];for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},e.find=(e,t)=>{for(const n of e)if(t(n))return n},e.isInteger="function"==typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"==typeof e&&isFinite(e)&&Math.floor(e)===e,e.joinValues=function(e,t=" | "){return e.map((e=>"string"==typeof e?`'${e}'`:e)).join(t)},e.jsonStringifyReplacer=(e,t)=>"bigint"==typeof t?t.toString():t}(Dr||(Dr={})),function(e){e.mergeShapes=(e,t)=>({...e,...t})}(Pr||(Pr={}));const Hr=Dr.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Zr=e=>{switch(typeof e){case"undefined":return Hr.undefined;case"string":return Hr.string;case"number":return isNaN(e)?Hr.nan:Hr.number;case"boolean":return Hr.boolean;case"function":return Hr.function;case"bigint":return Hr.bigint;case"symbol":return Hr.symbol;case"object":return Array.isArray(e)?Hr.array:null===e?Hr.null:e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch?Hr.promise:"undefined"!=typeof Map&&e instanceof Map?Hr.map:"undefined"!=typeof Set&&e instanceof Set?Hr.set:"undefined"!=typeof Date&&e instanceof Date?Hr.date:Hr.object;default:return Hr.unknown}},qr=Dr.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class Vr extends Error{constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const t=e||function(e){return e.message},n={_errors:[]},i=e=>{for(const a of e.issues)if("invalid_union"===a.code)a.unionErrors.map(i);else if("invalid_return_type"===a.code)i(a.returnTypeError);else if("invalid_arguments"===a.code)i(a.argumentsError);else if(0===a.path.length)n._errors.push(t(a));else{let e=n,i=0;for(;ie.message)){const t={},n=[];for(const i of this.issues)i.path.length>0?(t[i.path[0]]=t[i.path[0]]||[],t[i.path[0]].push(e(i))):n.push(e(i));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}}Vr.create=e=>new Vr(e);const Wr=(e,t)=>{let n;switch(e.code){case qr.invalid_type:n=e.received===Hr.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case qr.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,Dr.jsonStringifyReplacer)}`;break;case qr.unrecognized_keys:n=`Unrecognized key(s) in object: ${Dr.joinValues(e.keys,", ")}`;break;case qr.invalid_union:n="Invalid input";break;case qr.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Dr.joinValues(e.options)}`;break;case qr.invalid_enum_value:n=`Invalid enum value. Expected ${Dr.joinValues(e.options)}, received '${e.received}'`;break;case qr.invalid_arguments:n="Invalid function arguments";break;case qr.invalid_return_type:n="Invalid function return type";break;case qr.invalid_date:n="Invalid date";break;case qr.invalid_string:"object"==typeof e.validation?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,"number"==typeof e.validation.position&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:Dr.assertNever(e.validation):n="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case qr.too_small:n="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:"date"===e.type?`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:"Invalid input";break;case qr.too_big:n="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"bigint"===e.type?`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"date"===e.type?`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:"Invalid input";break;case qr.custom:n="Invalid input";break;case qr.invalid_intersection_types:n="Intersection results could not be merged";break;case qr.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case qr.not_finite:n="Number must be finite";break;default:n=t.defaultError,Dr.assertNever(e)}return{message:n}};let Br=Wr;function Yr(){return Br}const Qr=e=>{const{data:t,path:n,errorMaps:i,issueData:a}=e,r=[...n,...a.path||[]],o={...a,path:r};let s="";const c=i.filter((e=>!!e)).slice().reverse();for(const e of c)s=e(o,{data:t,defaultError:s}).message;return{...a,path:r,message:a.message||s}};function Gr(e,t){const n=Qr({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,Yr(),Wr].filter((e=>!!e))});e.common.issues.push(n)}class Kr{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(e,t){const n=[];for(const i of t){if("aborted"===i.status)return Xr;"dirty"===i.status&&e.dirty(),n.push(i.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,t){const n=[];for(const e of t)n.push({key:await e.key,value:await e.value});return Kr.mergeObjectSync(e,n)}static mergeObjectSync(e,t){const n={};for(const i of t){const{key:t,value:a}=i;if("aborted"===t.status)return Xr;if("aborted"===a.status)return Xr;"dirty"===t.status&&e.dirty(),"dirty"===a.status&&e.dirty(),(void 0!==a.value||i.alwaysSet)&&(n[t.value]=a.value)}return{status:e.value,value:n}}}const Xr=Object.freeze({status:"aborted"}),Jr=e=>({status:"dirty",value:e}),eo=e=>({status:"valid",value:e}),to=e=>"aborted"===e.status,no=e=>"dirty"===e.status,io=e=>"valid"===e.status,ao=e=>"undefined"!=typeof Promise&&e instanceof Promise;var ro;!function(e){e.errToObj=e=>"string"==typeof e?{message:e}:e||{},e.toString=e=>"string"==typeof e?e:null==e?void 0:e.message}(ro||(ro={}));class oo{constructor(e,t,n,i){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=i}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const so=(e,t)=>{if(io(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new Vr(e.common.issues);return this._error=t,this._error}}};function co(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:i,description:a}=e;if(t&&(n||i))throw new Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');if(t)return{errorMap:t,description:a};return{errorMap:(e,t)=>"invalid_type"!==e.code?{message:t.defaultError}:void 0===t.data?{message:null!=i?i:t.defaultError}:{message:null!=n?n:t.defaultError},description:a}}class lo{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return Zr(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:Zr(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Kr,ctx:{common:e.parent.common,data:e.data,parsedType:Zr(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(ao(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){var n;const i={common:{issues:[],async:null!==(n=null==t?void 0:t.async)&&void 0!==n&&n,contextualErrorMap:null==t?void 0:t.errorMap},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Zr(e)},a=this._parseSync({data:e,path:i.path,parent:i});return so(i,a)}async parseAsync(e,t){const n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){const n={common:{issues:[],contextualErrorMap:null==t?void 0:t.errorMap,async:!0},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Zr(e)},i=this._parse({data:e,path:n.path,parent:n}),a=await(ao(i)?i:Promise.resolve(i));return so(n,a)}refine(e,t){const n=e=>"string"==typeof t||void 0===t?{message:t}:"function"==typeof t?t(e):t;return this._refinement(((t,i)=>{const a=e(t),r=()=>i.addIssue({code:qr.custom,...n(t)});return"undefined"!=typeof Promise&&a instanceof Promise?a.then((e=>!!e||(r(),!1))):!!a||(r(),!1)}))}refinement(e,t){return this._refinement(((n,i)=>!!e(n)||(i.addIssue("function"==typeof t?t(n,i):t),!1)))}_refinement(e){return new Xo({schema:this,typeName:ls.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return Jo.create(this,this._def)}nullable(){return es.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Oo.create(this,this._def)}promise(){return Ko.create(this,this._def)}or(e){return Do.create([this,e],this._def)}and(e){return Uo.create(this,e,this._def)}transform(e){return new Xo({...co(this._def),schema:this,typeName:ls.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t="function"==typeof e?e:()=>e;return new ts({...co(this._def),innerType:this,defaultValue:t,typeName:ls.ZodDefault})}brand(){return new rs({typeName:ls.ZodBranded,type:this,...co(this._def)})}catch(e){const t="function"==typeof e?e:()=>e;return new ns({...co(this._def),innerType:this,catchValue:t,typeName:ls.ZodCatch})}describe(e){return new(0,this.constructor)({...this._def,description:e})}pipe(e){return os.create(this,e)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const uo=/^c[^\s-]{8,}$/i,ho=/^[a-z][a-z0-9]*$/,mo=/[0-9A-HJKMNP-TV-Z]{26}/,po=/^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i,fo=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\])|(\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\.[A-Za-z]{2,})+))$/,go=/^(\p{Extended_Pictographic}|\p{Emoji_Component})+$/u,vo=/^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/,_o=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/;function yo(e,t){return!("v4"!==t&&t||!vo.test(e))||!("v6"!==t&&t||!_o.test(e))}class bo extends lo{constructor(){super(...arguments),this._regex=(e,t,n)=>this.refinement((t=>e.test(t)),{validation:t,code:qr.invalid_string,...ro.errToObj(n)}),this.nonempty=e=>this.min(1,ro.errToObj(e)),this.trim=()=>new bo({...this._def,checks:[...this._def.checks,{kind:"trim"}]}),this.toLowerCase=()=>new bo({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]}),this.toUpperCase=()=>new bo({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}_parse(e){this._def.coerce&&(e.data=String(e.data));if(this._getType(e)!==Hr.string){const t=this._getOrReturnCtx(e);return Gr(t,{code:qr.invalid_type,expected:Hr.string,received:t.parsedType}),Xr}const t=new Kr;let n;for(const a of this._def.checks)if("min"===a.kind)e.data.lengtha.value&&(n=this._getOrReturnCtx(e,n),Gr(n,{code:qr.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),t.dirty());else if("length"===a.kind){const i=e.data.length>a.value,r=e.data.length"datetime"===e.kind))}get isEmail(){return!!this._def.checks.find((e=>"email"===e.kind))}get isURL(){return!!this._def.checks.find((e=>"url"===e.kind))}get isEmoji(){return!!this._def.checks.find((e=>"emoji"===e.kind))}get isUUID(){return!!this._def.checks.find((e=>"uuid"===e.kind))}get isCUID(){return!!this._def.checks.find((e=>"cuid"===e.kind))}get isCUID2(){return!!this._def.checks.find((e=>"cuid2"===e.kind))}get isULID(){return!!this._def.checks.find((e=>"ulid"===e.kind))}get isIP(){return!!this._def.checks.find((e=>"ip"===e.kind))}get minLength(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.valuei?n:i;return parseInt(e.toFixed(a).replace(".",""))%parseInt(t.toFixed(a).replace(".",""))/Math.pow(10,a)}bo.create=e=>{var t;return new bo({checks:[],typeName:ls.ZodString,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t,...co(e)})};class xo extends lo{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){this._def.coerce&&(e.data=Number(e.data));if(this._getType(e)!==Hr.number){const t=this._getOrReturnCtx(e);return Gr(t,{code:qr.invalid_type,expected:Hr.number,received:t.parsedType}),Xr}let t;const n=new Kr;for(const i of this._def.checks)if("int"===i.kind)Dr.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),Gr(t,{code:qr.invalid_type,expected:"integer",received:"float",message:i.message}),n.dirty());else if("min"===i.kind){(i.inclusive?e.datai.value:e.data>=i.value)&&(t=this._getOrReturnCtx(e,t),Gr(t,{code:qr.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),n.dirty())}else"multipleOf"===i.kind?0!==wo(e.data,i.value)&&(t=this._getOrReturnCtx(e,t),Gr(t,{code:qr.not_multiple_of,multipleOf:i.value,message:i.message}),n.dirty()):"finite"===i.kind?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),Gr(t,{code:qr.not_finite,message:i.message}),n.dirty()):Dr.assertNever(i);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,ro.toString(t))}gt(e,t){return this.setLimit("min",e,!1,ro.toString(t))}lte(e,t){return this.setLimit("max",e,!0,ro.toString(t))}lt(e,t){return this.setLimit("max",e,!1,ro.toString(t))}setLimit(e,t,n,i){return new xo({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:ro.toString(i)}]})}_addCheck(e){return new xo({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:ro.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:ro.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:ro.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:ro.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:ro.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:ro.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:ro.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:ro.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:ro.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value"int"===e.kind||"multipleOf"===e.kind&&Dr.isInteger(e.value)))}get isFinite(){let e=null,t=null;for(const n of this._def.checks){if("finite"===n.kind||"int"===n.kind||"multipleOf"===n.kind)return!0;"min"===n.kind?(null===t||n.value>t)&&(t=n.value):"max"===n.kind&&(null===e||n.valuenew xo({checks:[],typeName:ls.ZodNumber,coerce:(null==e?void 0:e.coerce)||!1,...co(e)});class Co extends lo{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){this._def.coerce&&(e.data=BigInt(e.data));if(this._getType(e)!==Hr.bigint){const t=this._getOrReturnCtx(e);return Gr(t,{code:qr.invalid_type,expected:Hr.bigint,received:t.parsedType}),Xr}let t;const n=new Kr;for(const i of this._def.checks)if("min"===i.kind){(i.inclusive?e.datai.value:e.data>=i.value)&&(t=this._getOrReturnCtx(e,t),Gr(t,{code:qr.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),n.dirty())}else"multipleOf"===i.kind?e.data%i.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),Gr(t,{code:qr.not_multiple_of,multipleOf:i.value,message:i.message}),n.dirty()):Dr.assertNever(i);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,ro.toString(t))}gt(e,t){return this.setLimit("min",e,!1,ro.toString(t))}lte(e,t){return this.setLimit("max",e,!0,ro.toString(t))}lt(e,t){return this.setLimit("max",e,!1,ro.toString(t))}setLimit(e,t,n,i){return new Co({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:ro.toString(i)}]})}_addCheck(e){return new Co({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:ro.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:ro.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:ro.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:ro.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:ro.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value{var t;return new Co({checks:[],typeName:ls.ZodBigInt,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t,...co(e)})};class $o extends lo{_parse(e){this._def.coerce&&(e.data=Boolean(e.data));if(this._getType(e)!==Hr.boolean){const t=this._getOrReturnCtx(e);return Gr(t,{code:qr.invalid_type,expected:Hr.boolean,received:t.parsedType}),Xr}return eo(e.data)}}$o.create=e=>new $o({typeName:ls.ZodBoolean,coerce:(null==e?void 0:e.coerce)||!1,...co(e)});class ko extends lo{_parse(e){this._def.coerce&&(e.data=new Date(e.data));if(this._getType(e)!==Hr.date){const t=this._getOrReturnCtx(e);return Gr(t,{code:qr.invalid_type,expected:Hr.date,received:t.parsedType}),Xr}if(isNaN(e.data.getTime())){return Gr(this._getOrReturnCtx(e),{code:qr.invalid_date}),Xr}const t=new Kr;let n;for(const i of this._def.checks)"min"===i.kind?e.data.getTime()i.value&&(n=this._getOrReturnCtx(e,n),Gr(n,{code:qr.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),t.dirty()):Dr.assertNever(i);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(e){return new ko({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:ro.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:ro.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return null!=e?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.valuenew ko({checks:[],coerce:(null==e?void 0:e.coerce)||!1,typeName:ls.ZodDate,...co(e)});class Eo extends lo{_parse(e){if(this._getType(e)!==Hr.symbol){const t=this._getOrReturnCtx(e);return Gr(t,{code:qr.invalid_type,expected:Hr.symbol,received:t.parsedType}),Xr}return eo(e.data)}}Eo.create=e=>new Eo({typeName:ls.ZodSymbol,...co(e)});class Mo extends lo{_parse(e){if(this._getType(e)!==Hr.undefined){const t=this._getOrReturnCtx(e);return Gr(t,{code:qr.invalid_type,expected:Hr.undefined,received:t.parsedType}),Xr}return eo(e.data)}}Mo.create=e=>new Mo({typeName:ls.ZodUndefined,...co(e)});class So extends lo{_parse(e){if(this._getType(e)!==Hr.null){const t=this._getOrReturnCtx(e);return Gr(t,{code:qr.invalid_type,expected:Hr.null,received:t.parsedType}),Xr}return eo(e.data)}}So.create=e=>new So({typeName:ls.ZodNull,...co(e)});class To extends lo{constructor(){super(...arguments),this._any=!0}_parse(e){return eo(e.data)}}To.create=e=>new To({typeName:ls.ZodAny,...co(e)});class Ao extends lo{constructor(){super(...arguments),this._unknown=!0}_parse(e){return eo(e.data)}}Ao.create=e=>new Ao({typeName:ls.ZodUnknown,...co(e)});class zo extends lo{_parse(e){const t=this._getOrReturnCtx(e);return Gr(t,{code:qr.invalid_type,expected:Hr.never,received:t.parsedType}),Xr}}zo.create=e=>new zo({typeName:ls.ZodNever,...co(e)});class jo extends lo{_parse(e){if(this._getType(e)!==Hr.undefined){const t=this._getOrReturnCtx(e);return Gr(t,{code:qr.invalid_type,expected:Hr.void,received:t.parsedType}),Xr}return eo(e.data)}}jo.create=e=>new jo({typeName:ls.ZodVoid,...co(e)});class Oo extends lo{_parse(e){const{ctx:t,status:n}=this._processInputParams(e),i=this._def;if(t.parsedType!==Hr.array)return Gr(t,{code:qr.invalid_type,expected:Hr.array,received:t.parsedType}),Xr;if(null!==i.exactLength){const e=t.data.length>i.exactLength.value,a=t.data.lengthi.maxLength.value&&(Gr(t,{code:qr.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map(((e,n)=>i.type._parseAsync(new oo(t,e,t.path,n))))).then((e=>Kr.mergeArray(n,e)));const a=[...t.data].map(((e,n)=>i.type._parseSync(new oo(t,e,t.path,n))));return Kr.mergeArray(n,a)}get element(){return this._def.type}min(e,t){return new Oo({...this._def,minLength:{value:e,message:ro.toString(t)}})}max(e,t){return new Oo({...this._def,maxLength:{value:e,message:ro.toString(t)}})}length(e,t){return new Oo({...this._def,exactLength:{value:e,message:ro.toString(t)}})}nonempty(e){return this.min(1,e)}}function Io(e){if(e instanceof Ro){const t={};for(const n in e.shape){const i=e.shape[n];t[n]=Jo.create(Io(i))}return new Ro({...e._def,shape:()=>t})}return e instanceof Oo?new Oo({...e._def,type:Io(e.element)}):e instanceof Jo?Jo.create(Io(e.unwrap())):e instanceof es?es.create(Io(e.unwrap())):e instanceof Fo?Fo.create(e.items.map((e=>Io(e)))):e}Oo.create=(e,t)=>new Oo({type:e,minLength:null,maxLength:null,exactLength:null,typeName:ls.ZodArray,...co(t)});class Ro extends lo{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;const e=this._def.shape(),t=Dr.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==Hr.object){const t=this._getOrReturnCtx(e);return Gr(t,{code:qr.invalid_type,expected:Hr.object,received:t.parsedType}),Xr}const{status:t,ctx:n}=this._processInputParams(e),{shape:i,keys:a}=this._getCached(),r=[];if(!(this._def.catchall instanceof zo&&"strip"===this._def.unknownKeys))for(const e in n.data)a.includes(e)||r.push(e);const o=[];for(const e of a){const t=i[e],a=n.data[e];o.push({key:{status:"valid",value:e},value:t._parse(new oo(n,a,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof zo){const e=this._def.unknownKeys;if("passthrough"===e)for(const e of r)o.push({key:{status:"valid",value:e},value:{status:"valid",value:n.data[e]}});else if("strict"===e)r.length>0&&(Gr(n,{code:qr.unrecognized_keys,keys:r}),t.dirty());else if("strip"!==e)throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const e=this._def.catchall;for(const t of r){const i=n.data[t];o.push({key:{status:"valid",value:t},value:e._parse(new oo(n,i,n.path,t)),alwaysSet:t in n.data})}}return n.common.async?Promise.resolve().then((async()=>{const e=[];for(const t of o){const n=await t.key;e.push({key:n,value:await t.value,alwaysSet:t.alwaysSet})}return e})).then((e=>Kr.mergeObjectSync(t,e))):Kr.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(e){return ro.errToObj,new Ro({...this._def,unknownKeys:"strict",...void 0!==e?{errorMap:(t,n)=>{var i,a,r,o;const s=null!==(r=null===(a=(i=this._def).errorMap)||void 0===a?void 0:a.call(i,t,n).message)&&void 0!==r?r:n.defaultError;return"unrecognized_keys"===t.code?{message:null!==(o=ro.errToObj(e).message)&&void 0!==o?o:s}:{message:s}}}:{}})}strip(){return new Ro({...this._def,unknownKeys:"strip"})}passthrough(){return new Ro({...this._def,unknownKeys:"passthrough"})}extend(e){return new Ro({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new Ro({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:ls.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new Ro({...this._def,catchall:e})}pick(e){const t={};return Dr.objectKeys(e).forEach((n=>{e[n]&&this.shape[n]&&(t[n]=this.shape[n])})),new Ro({...this._def,shape:()=>t})}omit(e){const t={};return Dr.objectKeys(this.shape).forEach((n=>{e[n]||(t[n]=this.shape[n])})),new Ro({...this._def,shape:()=>t})}deepPartial(){return Io(this)}partial(e){const t={};return Dr.objectKeys(this.shape).forEach((n=>{const i=this.shape[n];e&&!e[n]?t[n]=i:t[n]=i.optional()})),new Ro({...this._def,shape:()=>t})}required(e){const t={};return Dr.objectKeys(this.shape).forEach((n=>{if(e&&!e[n])t[n]=this.shape[n];else{let e=this.shape[n];for(;e instanceof Jo;)e=e._def.innerType;t[n]=e}})),new Ro({...this._def,shape:()=>t})}keyof(){return Yo(Dr.objectKeys(this.shape))}}Ro.create=(e,t)=>new Ro({shape:()=>e,unknownKeys:"strip",catchall:zo.create(),typeName:ls.ZodObject,...co(t)}),Ro.strictCreate=(e,t)=>new Ro({shape:()=>e,unknownKeys:"strict",catchall:zo.create(),typeName:ls.ZodObject,...co(t)}),Ro.lazycreate=(e,t)=>new Ro({shape:e,unknownKeys:"strip",catchall:zo.create(),typeName:ls.ZodObject,...co(t)});class Do extends lo{_parse(e){const{ctx:t}=this._processInputParams(e),n=this._def.options;if(t.common.async)return Promise.all(n.map((async e=>{const n={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}}))).then((function(e){for(const t of e)if("valid"===t.result.status)return t.result;for(const n of e)if("dirty"===n.result.status)return t.common.issues.push(...n.ctx.common.issues),n.result;const n=e.map((e=>new Vr(e.ctx.common.issues)));return Gr(t,{code:qr.invalid_union,unionErrors:n}),Xr}));{let e;const i=[];for(const a of n){const n={...t,common:{...t.common,issues:[]},parent:null},r=a._parseSync({data:t.data,path:t.path,parent:n});if("valid"===r.status)return r;"dirty"!==r.status||e||(e={result:r,ctx:n}),n.common.issues.length&&i.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;const a=i.map((e=>new Vr(e)));return Gr(t,{code:qr.invalid_union,unionErrors:a}),Xr}}get options(){return this._def.options}}Do.create=(e,t)=>new Do({options:e,typeName:ls.ZodUnion,...co(t)});const Po=e=>e instanceof Wo?Po(e.schema):e instanceof Xo?Po(e.innerType()):e instanceof Bo?[e.value]:e instanceof Qo?e.options:e instanceof Go?Object.keys(e.enum):e instanceof ts?Po(e._def.innerType):e instanceof Mo?[void 0]:e instanceof So?[null]:null;class Lo extends lo{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==Hr.object)return Gr(t,{code:qr.invalid_type,expected:Hr.object,received:t.parsedType}),Xr;const n=this.discriminator,i=t.data[n],a=this.optionsMap.get(i);return a?t.common.async?a._parseAsync({data:t.data,path:t.path,parent:t}):a._parseSync({data:t.data,path:t.path,parent:t}):(Gr(t,{code:qr.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),Xr)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,n){const i=new Map;for(const n of t){const t=Po(n.shape[e]);if(!t)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const a of t){if(i.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);i.set(a,n)}}return new Lo({typeName:ls.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:i,...co(n)})}}function No(e,t){const n=Zr(e),i=Zr(t);if(e===t)return{valid:!0,data:e};if(n===Hr.object&&i===Hr.object){const n=Dr.objectKeys(t),i=Dr.objectKeys(e).filter((e=>-1!==n.indexOf(e))),a={...e,...t};for(const n of i){const i=No(e[n],t[n]);if(!i.valid)return{valid:!1};a[n]=i.data}return{valid:!0,data:a}}if(n===Hr.array&&i===Hr.array){if(e.length!==t.length)return{valid:!1};const n=[];for(let i=0;i{if(to(e)||to(i))return Xr;const a=No(e.value,i.value);return a.valid?((no(e)||no(i))&&t.dirty(),{status:t.value,value:a.data}):(Gr(n,{code:qr.invalid_intersection_types}),Xr)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then((([e,t])=>i(e,t))):i(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}}Uo.create=(e,t,n)=>new Uo({left:e,right:t,typeName:ls.ZodIntersection,...co(n)});class Fo extends lo{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==Hr.array)return Gr(n,{code:qr.invalid_type,expected:Hr.array,received:n.parsedType}),Xr;if(n.data.lengththis._def.items.length&&(Gr(n,{code:qr.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const i=[...n.data].map(((e,t)=>{const i=this._def.items[t]||this._def.rest;return i?i._parse(new oo(n,e,n.path,t)):null})).filter((e=>!!e));return n.common.async?Promise.all(i).then((e=>Kr.mergeArray(t,e))):Kr.mergeArray(t,i)}get items(){return this._def.items}rest(e){return new Fo({...this._def,rest:e})}}Fo.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Fo({items:e,typeName:ls.ZodTuple,rest:null,...co(t)})};class Ho extends lo{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==Hr.object)return Gr(n,{code:qr.invalid_type,expected:Hr.object,received:n.parsedType}),Xr;const i=[],a=this._def.keyType,r=this._def.valueType;for(const e in n.data)i.push({key:a._parse(new oo(n,e,n.path,e)),value:r._parse(new oo(n,n.data[e],n.path,e))});return n.common.async?Kr.mergeObjectAsync(t,i):Kr.mergeObjectSync(t,i)}get element(){return this._def.valueType}static create(e,t,n){return new Ho(t instanceof lo?{keyType:e,valueType:t,typeName:ls.ZodRecord,...co(n)}:{keyType:bo.create(),valueType:e,typeName:ls.ZodRecord,...co(t)})}}class Zo extends lo{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==Hr.map)return Gr(n,{code:qr.invalid_type,expected:Hr.map,received:n.parsedType}),Xr;const i=this._def.keyType,a=this._def.valueType,r=[...n.data.entries()].map((([e,t],r)=>({key:i._parse(new oo(n,e,n.path,[r,"key"])),value:a._parse(new oo(n,t,n.path,[r,"value"]))})));if(n.common.async){const e=new Map;return Promise.resolve().then((async()=>{for(const n of r){const i=await n.key,a=await n.value;if("aborted"===i.status||"aborted"===a.status)return Xr;"dirty"!==i.status&&"dirty"!==a.status||t.dirty(),e.set(i.value,a.value)}return{status:t.value,value:e}}))}{const e=new Map;for(const n of r){const i=n.key,a=n.value;if("aborted"===i.status||"aborted"===a.status)return Xr;"dirty"!==i.status&&"dirty"!==a.status||t.dirty(),e.set(i.value,a.value)}return{status:t.value,value:e}}}}Zo.create=(e,t,n)=>new Zo({valueType:t,keyType:e,typeName:ls.ZodMap,...co(n)});class qo extends lo{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==Hr.set)return Gr(n,{code:qr.invalid_type,expected:Hr.set,received:n.parsedType}),Xr;const i=this._def;null!==i.minSize&&n.data.sizei.maxSize.value&&(Gr(n,{code:qr.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),t.dirty());const a=this._def.valueType;function r(e){const n=new Set;for(const i of e){if("aborted"===i.status)return Xr;"dirty"===i.status&&t.dirty(),n.add(i.value)}return{status:t.value,value:n}}const o=[...n.data.values()].map(((e,t)=>a._parse(new oo(n,e,n.path,t))));return n.common.async?Promise.all(o).then((e=>r(e))):r(o)}min(e,t){return new qo({...this._def,minSize:{value:e,message:ro.toString(t)}})}max(e,t){return new qo({...this._def,maxSize:{value:e,message:ro.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}qo.create=(e,t)=>new qo({valueType:e,minSize:null,maxSize:null,typeName:ls.ZodSet,...co(t)});class Vo extends lo{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==Hr.function)return Gr(t,{code:qr.invalid_type,expected:Hr.function,received:t.parsedType}),Xr;function n(e,n){return Qr({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Yr(),Wr].filter((e=>!!e)),issueData:{code:qr.invalid_arguments,argumentsError:n}})}function i(e,n){return Qr({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Yr(),Wr].filter((e=>!!e)),issueData:{code:qr.invalid_return_type,returnTypeError:n}})}const a={errorMap:t.common.contextualErrorMap},r=t.data;return this._def.returns instanceof Ko?eo((async(...e)=>{const t=new Vr([]),o=await this._def.args.parseAsync(e,a).catch((i=>{throw t.addIssue(n(e,i)),t})),s=await r(...o),c=await this._def.returns._def.type.parseAsync(s,a).catch((e=>{throw t.addIssue(i(s,e)),t}));return c})):eo(((...e)=>{const t=this._def.args.safeParse(e,a);if(!t.success)throw new Vr([n(e,t.error)]);const o=r(...t.data),s=this._def.returns.safeParse(o,a);if(!s.success)throw new Vr([i(o,s.error)]);return s.data}))}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new Vo({...this._def,args:Fo.create(e).rest(Ao.create())})}returns(e){return new Vo({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,n){return new Vo({args:e||Fo.create([]).rest(Ao.create()),returns:t||Ao.create(),typeName:ls.ZodFunction,...co(n)})}}class Wo extends lo{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}Wo.create=(e,t)=>new Wo({getter:e,typeName:ls.ZodLazy,...co(t)});class Bo extends lo{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return Gr(t,{received:t.data,code:qr.invalid_literal,expected:this._def.value}),Xr}return{status:"valid",value:e.data}}get value(){return this._def.value}}function Yo(e,t){return new Qo({values:e,typeName:ls.ZodEnum,...co(t)})}Bo.create=(e,t)=>new Bo({value:e,typeName:ls.ZodLiteral,...co(t)});class Qo extends lo{_parse(e){if("string"!=typeof e.data){const t=this._getOrReturnCtx(e),n=this._def.values;return Gr(t,{expected:Dr.joinValues(n),received:t.parsedType,code:qr.invalid_type}),Xr}if(-1===this._def.values.indexOf(e.data)){const t=this._getOrReturnCtx(e),n=this._def.values;return Gr(t,{received:t.data,code:qr.invalid_enum_value,options:n}),Xr}return eo(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e){return Qo.create(e)}exclude(e){return Qo.create(this.options.filter((t=>!e.includes(t))))}}Qo.create=Yo;class Go extends lo{_parse(e){const t=Dr.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==Hr.string&&n.parsedType!==Hr.number){const e=Dr.objectValues(t);return Gr(n,{expected:Dr.joinValues(e),received:n.parsedType,code:qr.invalid_type}),Xr}if(-1===t.indexOf(e.data)){const e=Dr.objectValues(t);return Gr(n,{received:n.data,code:qr.invalid_enum_value,options:e}),Xr}return eo(e.data)}get enum(){return this._def.values}}Go.create=(e,t)=>new Go({values:e,typeName:ls.ZodNativeEnum,...co(t)});class Ko extends lo{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==Hr.promise&&!1===t.common.async)return Gr(t,{code:qr.invalid_type,expected:Hr.promise,received:t.parsedType}),Xr;const n=t.parsedType===Hr.promise?t.data:Promise.resolve(t.data);return eo(n.then((e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap}))))}}Ko.create=(e,t)=>new Ko({type:e,typeName:ls.ZodPromise,...co(t)});class Xo extends lo{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===ls.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:n}=this._processInputParams(e),i=this._def.effect||null;if("preprocess"===i.type){const e=i.transform(n.data);return n.common.async?Promise.resolve(e).then((e=>this._def.schema._parseAsync({data:e,path:n.path,parent:n}))):this._def.schema._parseSync({data:e,path:n.path,parent:n})}const a={addIssue:e=>{Gr(n,e),e.fatal?t.abort():t.dirty()},get path(){return n.path}};if(a.addIssue=a.addIssue.bind(a),"refinement"===i.type){const e=e=>{const t=i.refinement(e,a);if(n.common.async)return Promise.resolve(t);if(t instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1===n.common.async){const i=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return"aborted"===i.status?Xr:("dirty"===i.status&&t.dirty(),e(i.value),{status:t.value,value:i.value})}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then((n=>"aborted"===n.status?Xr:("dirty"===n.status&&t.dirty(),e(n.value).then((()=>({status:t.value,value:n.value}))))))}if("transform"===i.type){if(!1===n.common.async){const e=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!io(e))return e;const r=i.transform(e.value,a);if(r instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:r}}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then((e=>io(e)?Promise.resolve(i.transform(e.value,a)).then((e=>({status:t.value,value:e}))):e))}Dr.assertNever(i)}}Xo.create=(e,t,n)=>new Xo({schema:e,typeName:ls.ZodEffects,effect:t,...co(n)}),Xo.createWithPreprocess=(e,t,n)=>new Xo({schema:t,effect:{type:"preprocess",transform:e},typeName:ls.ZodEffects,...co(n)});class Jo extends lo{_parse(e){return this._getType(e)===Hr.undefined?eo(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Jo.create=(e,t)=>new Jo({innerType:e,typeName:ls.ZodOptional,...co(t)});class es extends lo{_parse(e){return this._getType(e)===Hr.null?eo(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}es.create=(e,t)=>new es({innerType:e,typeName:ls.ZodNullable,...co(t)});class ts extends lo{_parse(e){const{ctx:t}=this._processInputParams(e);let n=t.data;return t.parsedType===Hr.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}ts.create=(e,t)=>new ts({innerType:e,typeName:ls.ZodDefault,defaultValue:"function"==typeof t.default?t.default:()=>t.default,...co(t)});class ns extends lo{_parse(e){const{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},i=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return ao(i)?i.then((e=>({status:"valid",value:"valid"===e.status?e.value:this._def.catchValue({get error(){return new Vr(n.common.issues)},input:n.data})}))):{status:"valid",value:"valid"===i.status?i.value:this._def.catchValue({get error(){return new Vr(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}ns.create=(e,t)=>new ns({innerType:e,typeName:ls.ZodCatch,catchValue:"function"==typeof t.catch?t.catch:()=>t.catch,...co(t)});class is extends lo{_parse(e){if(this._getType(e)!==Hr.nan){const t=this._getOrReturnCtx(e);return Gr(t,{code:qr.invalid_type,expected:Hr.nan,received:t.parsedType}),Xr}return{status:"valid",value:e.data}}}is.create=e=>new is({typeName:ls.ZodNaN,...co(e)});const as=Symbol("zod_brand");class rs extends lo{_parse(e){const{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}}class os extends lo{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.common.async){return(async()=>{const e=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return"aborted"===e.status?Xr:"dirty"===e.status?(t.dirty(),Jr(e.value)):this._def.out._parseAsync({data:e.value,path:n.path,parent:n})})()}{const e=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return"aborted"===e.status?Xr:"dirty"===e.status?(t.dirty(),{status:"dirty",value:e.value}):this._def.out._parseSync({data:e.value,path:n.path,parent:n})}}static create(e,t){return new os({in:e,out:t,typeName:ls.ZodPipeline})}}const ss=(e,t={},n)=>e?To.create().superRefine(((i,a)=>{var r,o;if(!e(i)){const e="function"==typeof t?t(i):"string"==typeof t?{message:t}:t,s=null===(o=null!==(r=e.fatal)&&void 0!==r?r:n)||void 0===o||o,c="string"==typeof e?{message:e}:e;a.addIssue({code:"custom",...c,fatal:s})}})):To.create(),cs={object:Ro.lazycreate};var ls;!function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline"}(ls||(ls={}));const ds=bo.create,us=xo.create,hs=is.create,ms=Co.create,ps=$o.create,fs=ko.create,gs=Eo.create,vs=Mo.create,_s=So.create,ys=To.create,bs=Ao.create,ws=zo.create,xs=jo.create,Cs=Oo.create,$s=Ro.create,ks=Ro.strictCreate,Es=Do.create,Ms=Lo.create,Ss=Uo.create,Ts=Fo.create,As=Ho.create,zs=Zo.create,js=qo.create,Os=Vo.create,Is=Wo.create,Rs=Bo.create,Ds=Qo.create,Ps=Go.create,Ls=Ko.create,Ns=Xo.create,Us=Jo.create,Fs=es.create,Hs=Xo.createWithPreprocess,Zs=os.create,qs={string:e=>bo.create({...e,coerce:!0}),number:e=>xo.create({...e,coerce:!0}),boolean:e=>$o.create({...e,coerce:!0}),bigint:e=>Co.create({...e,coerce:!0}),date:e=>ko.create({...e,coerce:!0})},Vs=Xr;var Ws=Object.freeze({__proto__:null,defaultErrorMap:Wr,setErrorMap:function(e){Br=e},getErrorMap:Yr,makeIssue:Qr,EMPTY_PATH:[],addIssueToContext:Gr,ParseStatus:Kr,INVALID:Xr,DIRTY:Jr,OK:eo,isAborted:to,isDirty:no,isValid:io,isAsync:ao,get util(){return Dr},get objectUtil(){return Pr},ZodParsedType:Hr,getParsedType:Zr,ZodType:lo,ZodString:bo,ZodNumber:xo,ZodBigInt:Co,ZodBoolean:$o,ZodDate:ko,ZodSymbol:Eo,ZodUndefined:Mo,ZodNull:So,ZodAny:To,ZodUnknown:Ao,ZodNever:zo,ZodVoid:jo,ZodArray:Oo,ZodObject:Ro,ZodUnion:Do,ZodDiscriminatedUnion:Lo,ZodIntersection:Uo,ZodTuple:Fo,ZodRecord:Ho,ZodMap:Zo,ZodSet:qo,ZodFunction:Vo,ZodLazy:Wo,ZodLiteral:Bo,ZodEnum:Qo,ZodNativeEnum:Go,ZodPromise:Ko,ZodEffects:Xo,ZodTransformer:Xo,ZodOptional:Jo,ZodNullable:es,ZodDefault:ts,ZodCatch:ns,ZodNaN:is,BRAND:as,ZodBranded:rs,ZodPipeline:os,custom:ss,Schema:lo,ZodSchema:lo,late:cs,get ZodFirstPartyTypeKind(){return ls},coerce:qs,any:ys,array:Cs,bigint:ms,boolean:ps,date:fs,discriminatedUnion:Ms,effect:Ns,enum:Ds,function:Os,instanceof:(e,t={message:`Input not instance of ${e.name}`})=>ss((t=>t instanceof e),t),intersection:Ss,lazy:Is,literal:Rs,map:zs,nan:hs,nativeEnum:Ps,never:ws,null:_s,nullable:Fs,number:us,object:$s,oboolean:()=>ps().optional(),onumber:()=>us().optional(),optional:Us,ostring:()=>ds().optional(),pipeline:Zs,preprocess:Hs,promise:Ls,record:As,set:js,strictObject:ks,string:ds,symbol:gs,transformer:Ns,tuple:Ts,undefined:vs,union:Es,unknown:bs,void:xs,NEVER:Vs,ZodIssueCode:qr,quotelessJson:e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),ZodError:Vr});const Bs="https://github.com/dermotduffy/frigate-hass-card",Ys=`${Bs}#troubleshooting`,Qs="cameras",Gs=`${Qs}.#.camera_entity`,Ks=`${Qs}.#.frigate.camera_name`,Xs=`${Qs}.#.frigate.client_id`,Js=`${Qs}.#.frigate.labels`,ec=`${Qs}.#.frigate.url`,tc=`${Qs}.#.frigate.zones`,nc=`${Qs}.#.go2rtc.modes`,ic=`${Qs}.#.go2rtc.stream`,ac=`${Qs}.#.hide`,rc=`${Qs}.#.icon`,oc=`${Qs}.#.id`,sc=`${Qs}.#.image.refresh_seconds`,cc=`${Qs}.#.image.url`,lc=`${Qs}.#.motioneye.images.directory_pattern`,dc=`${Qs}.#.motioneye.images.file_pattern`,uc=`${Qs}.#.motioneye.movies.directory_pattern`,hc=`${Qs}.#.motioneye.movies.file_pattern`,mc=`${Qs}.#.motioneye.url`,pc=`${Qs}.#.title`,fc=`${Qs}.#.webrtc_card.entity`,gc=`${Qs}.#.webrtc_card.url`,vc=`${Qs}.#.live_provider`,_c=`${Qs}.#.dependencies.cameras`,yc=`${Qs}.#.dependencies.all_cameras`,bc=`${Qs}.#.triggers.motion`,wc=`${Qs}.#.triggers.occupancy`,xc=`${Qs}.#.triggers.entities`,Cc="cameras_global",$c=`${Cc}.image`,kc=`${Cc}.jsmpeg`,Ec=`${Cc}.webrtc_card`,Mc=`${Cc}.triggers.occupancy`,Sc=`${Cc}.image.refresh_seconds`,Tc="view",Ac=`${Tc}.camera_select`,zc=`${Tc}.dark_mode`,jc=`${Tc}.default`,Oc=`${Tc}.timeout_seconds`,Ic=`${Tc}.update_cycle_camera`,Rc=`${Tc}.update_force`,Dc=`${Tc}.update_seconds`,Pc=`${Tc}.scan`,Lc=`${Pc}.enabled`,Nc=`${Pc}.show_trigger_status`,Uc=`${Pc}.untrigger_reset`,Fc=`${Pc}.untrigger_seconds`,Hc="media_gallery",Zc=`${Hc}.controls.filter.mode`,qc=`${Hc}.controls.thumbnails.show_details`,Vc=`${Hc}.controls.thumbnails.show_download_control`,Wc=`${Hc}.controls.thumbnails.show_favorite_control`,Bc=`${Hc}.controls.thumbnails.show_timeline_control`,Yc=`${Hc}.controls.thumbnails.size`,Qc="media_viewer",Gc=`${Qc}.auto_play`,Kc=`${Qc}.auto_pause`,Xc=`${Qc}.auto_mute`,Jc=`${Qc}.auto_unmute`,el=`${Qc}.draggable`,tl=`${Qc}.lazy_load`,nl=`${Qc}.snapshot_click_plays_clip`,il=`${Qc}.transition_effect`,al=`${Qc}.controls.builtin`,rl=`${Qc}.controls.next_previous.style`,ol=`${Qc}.controls.next_previous.size`,sl=`${Qc}.controls.thumbnails.mode`,cl=`${Qc}.controls.thumbnails.show_details`,ll=`${Qc}.controls.thumbnails.show_download_control`,dl=`${Qc}.controls.thumbnails.show_favorite_control`,ul=`${Qc}.controls.thumbnails.show_timeline_control`,hl=`${Qc}.controls.thumbnails.size`,ml=`${Qc}.controls.timeline.clustering_threshold`,pl=`${Qc}.controls.timeline.media`,fl=`${Qc}.controls.timeline.mode`,gl=`${Qc}.controls.timeline.show_recordings`,vl=`${Qc}.controls.timeline.style`,_l=`${Qc}.controls.timeline.window_seconds`,yl=`${Qc}.zoomable`,bl=`${Qc}.controls.title.mode`,wl=`${Qc}.controls.title.duration_seconds`,xl=`${Qc}.layout.fit`,Cl=`${Qc}.layout.position.x`,$l=`${Qc}.layout.position.y`,kl="live",El=`${kl}.auto_play`,Ml=`${kl}.auto_pause`,Sl=`${kl}.auto_mute`,Tl=`${kl}.auto_unmute`,Al=`${kl}.controls.builtin`,zl=`${kl}.controls.next_previous.style`,jl=`${kl}.controls.next_previous.size`,Ol=`${kl}.controls.thumbnails.media`,Il=`${kl}.controls.thumbnails.mode`,Rl=`${kl}.controls.thumbnails.size`,Dl=`${kl}.controls.thumbnails.show_details`,Pl=`${kl}.controls.thumbnails.show_download_control`,Ll=`${kl}.controls.thumbnails.show_favorite_control`,Nl=`${kl}.controls.thumbnails.show_timeline_control`,Ul=`${kl}.controls.timeline.clustering_threshold`,Fl=`${kl}.controls.timeline.media`,Hl=`${kl}.controls.timeline.mode`,Zl=`${kl}.controls.timeline.show_recordings`,ql=`${kl}.controls.timeline.style`,Vl=`${kl}.controls.timeline.window_seconds`,Wl=`${kl}.controls.title.mode`,Bl=`${kl}.controls.title.duration_seconds`,Yl=`${kl}.layout.fit`,Ql=`${kl}.layout.position.x`,Gl=`${kl}.layout.position.y`,Kl=`${kl}.draggable`,Xl=`${kl}.lazy_load`,Jl=`${kl}.lazy_unload`,ed=`${kl}.preload`,td=`${kl}.transition_effect`,nd=`${kl}.show_image_during_load`,id=`${kl}.microphone.disconnect_seconds`,ad=`${kl}.microphone.always_connected`,rd=`${kl}.zoomable`,od="image",sd=`${od}.layout.fit`,cd=`${od}.layout.position.x`,ld=`${od}.layout.position.y`,dd=`${od}.mode`,ud=`${od}.refresh_seconds`,hd=`${od}.url`,md=`${od}.zoomable`,pd="timeline",fd=`${pd}.window_seconds`,gd=`${pd}.clustering_threshold`,vd=`${pd}.media`,_d=`${pd}.show_recordings`,yd=`${pd}.style`,bd=`${pd}.controls.thumbnails.mode`,wd=`${pd}.controls.thumbnails.size`,xd=`${pd}.controls.thumbnails.show_details`,Cd=`${pd}.controls.thumbnails.show_download_control`,$d=`${pd}.controls.thumbnails.show_favorite_control`,kd=`${pd}.controls.thumbnails.show_timeline_control`,Ed="menu",Md=`${Ed}.alignment`,Sd=`${Ed}.position`,Td=`${Ed}.style`,Ad=`${Ed}.button_size`,zd=`${Ed}.buttons`,jd=`${Ed}.buttons.cameras`,Od=`${Ed}.buttons.clips`,Id=`${Ed}.buttons.download`,Rd=`${Ed}.buttons.frigate`,Dd=`${Ed}.buttons.camera_ui`,Pd=`${Ed}.buttons.fullscreen`,Ld=`${Ed}.buttons.image`,Nd=`${Ed}.buttons.live`,Ud=`${Ed}.buttons.media_player`,Fd=`${Ed}.buttons.snapshots`,Hd=`${Ed}.buttons.timeline`,Zd="dimensions",qd=`${Zd}.aspect_ratio`,Vd=`${Zd}.aspect_ratio_mode`,Wd=`${Zd}.max_height`,Bd=`${Zd}.min_height`,Yd="overrides",Qd="performance",Gd=`${Qd}.features.animated_progress_indicator`,Kd=`${Qd}.features.media_chunk_size`,Xd=`${Qd}.profile`,Jd=`${Qd}.style.box_shadow`,eu=`${Qd}.style.border_radius`,tu=1e3,nu="frigate";function iu(e){if(e instanceof Ws.ZodDefault)return iu(e.removeDefault());if(e instanceof Ws.ZodObject){const t={};for(const n in e.shape){const i=e.shape[n];t[n]=Ws.ZodOptional.create(iu(i))}return new Ws.ZodObject({...e._def,shape:()=>t})}return e instanceof Ws.ZodArray?Ws.ZodArray.create(iu(e.element)):e instanceof Ws.ZodOptional?Ws.ZodOptional.create(iu(e.unwrap())):e instanceof Ws.ZodNullable?Ws.ZodNullable.create(iu(e.unwrap())):e instanceof Ws.ZodTuple?Ws.ZodTuple.create(e.items.map((e=>iu(e)))):e}function au(e){const t=e.format();return Object.keys(t).filter((e=>!e.startsWith("_")))}const ru=e=>{const t=new Set;if(e&&e.issues)for(let n=0;n{let t="";for(let n=0;n"fire-dom-event")).or(Ws.literal("fire-dom-event")),card_id:Ws.string().optional()}),Mu=["camera_ui","default","diagnostics","expand","download","fullscreen","menu_toggle","mute","live_substream_on","live_substream_off","microphone_mute","microphone_unmute","play","pause","screenshot","unmute"],Su=Eu.extend({frigate_card_action:Ws.enum(du)}),Tu=Eu.extend({frigate_card_action:Ws.enum(Mu)}),Au=Eu.extend({frigate_card_action:Ws.literal("camera_select"),camera:Ws.string()}),zu=Eu.extend({frigate_card_action:Ws.literal("live_substream_select"),camera:Ws.string()}),ju=Eu.extend({frigate_card_action:Ws.literal("media_player"),media_player:Ws.string(),media_player_action:Ws.enum(["play","stop"])}),Ou=Ws.union([Su,Tu,Au,zu,ju]),Iu=Ws.union([yu,bu,wu,xu,Cu,ku,$u,Ou]),Ru=Ws.object({tap_action:Iu.or(Iu.array()).optional(),hold_action:Iu.or(Iu.array()).optional(),double_tap_action:Iu.or(Iu.array()).optional(),start_tap_action:Iu.or(Iu.array()).optional(),end_tap_action:Iu.or(Iu.array()).optional()}).passthrough(),Du=Ws.object({actions:Ru.optional()}),Pu=Ru.extend({style:Ws.object({}).passthrough().optional(),title:Ws.string().nullable().optional()}),Lu=Pu.extend({type:Ws.literal("state-badge"),entity:Ws.string()}),Nu=Pu.extend({type:Ws.literal("state-icon"),entity:Ws.string(),icon:Ws.string().optional(),state_color:Ws.boolean().default(!0)}),Uu=Pu.extend({type:Ws.literal("state-label"),entity:Ws.string(),attribute:Ws.string().optional(),prefix:Ws.string().optional(),suffix:Ws.string().optional()}),Fu=Pu.extend({type:Ws.literal("service-button"),title:Ws.string(),service:Ws.string(),service_data:Ws.object({}).passthrough().optional()}),Hu=Pu.extend({type:Ws.literal("icon"),icon:Ws.string(),entity:Ws.string().optional()}),Zu=Pu.extend({type:Ws.literal("image"),entity:Ws.string().optional(),image:Ws.string().optional(),camera_image:Ws.string().optional(),camera_view:Ws.string().optional(),state_image:Ws.object({}).passthrough().optional(),filter:Ws.string().optional(),state_filter:Ws.object({}).passthrough().optional(),aspect_ratio:Ws.string().optional()}),qu=Ws.object({entity:Ws.string(),state:Ws.string().optional(),state_not:Ws.string().optional()}).array(),Vu=Ws.object({type:Ws.literal("conditional"),conditions:qu,elements:Ws.lazy((()=>mh))}),Wu=Ws.object({type:Ws.string().superRefine(((e,t)=>{e.match(/^custom:(?!frigate-card).+/)||t.addIssue({code:Ws.ZodIssueCode.custom,message:"Frigate-card custom elements must match specific schemas",fatal:!0})}))}).passthrough(),Bu={refresh_seconds:1},Yu=Ws.object({url:Ws.string().optional(),refresh_seconds:Ws.number().min(0).default(Bu.refresh_seconds)}),Qu={always_connected:!1,disconnect_seconds:60},Gu=Ws.object({always_connected:Ws.boolean().default(Qu.always_connected),disconnect_seconds:Ws.number().min(0).default(Qu.disconnect_seconds)}).default(Qu),Ku=Ws.object({modes:Ws.enum(["webrtc","mse","mp4","mjpeg"]).array().optional(),stream:Ws.string().optional()}),Xu=Yu,Ju=Ws.object({entity:Ws.string().optional(),url:Ws.string().optional()}).passthrough(),eh=Ws.object({options:Ws.object({audio:Ws.boolean().optional(),video:Ws.boolean().optional(),pauseWhenHidden:Ws.boolean().optional(),disableGl:Ws.boolean().optional(),disableWebAssembly:Ws.boolean().optional(),preserveDrawingBuffer:Ws.boolean().optional(),progressive:Ws.boolean().optional(),throttled:Ws.boolean().optional(),chunkSize:Ws.number().optional(),maxAudioLag:Ws.number().optional(),videoBufferSize:Ws.number().optional(),audioBufferSize:Ws.number().optional()}).optional()}),th={dependencies:{all_cameras:!1,cameras:[]},engine:"auto",frigate:{client_id:"frigate"},hide:!1,image:{refresh_seconds:1},live_provider:"auto",motioneye:{images:{directory_pattern:"%Y-%m-%d",file_pattern:"%H-%M-%S"},movies:{directory_pattern:"%Y-%m-%d",file_pattern:"%H-%M-%S"}},triggers:{motion:!1,occupancy:!0,entities:[]}},nh=Ws.object({camera_entity:Ws.string().optional(),icon:Ws.string().optional(),title:Ws.string().optional(),hide:Ws.boolean().optional(),id:Ws.string().optional(),dependencies:Ws.object({all_cameras:Ws.boolean().default(th.dependencies.all_cameras),cameras:Ws.string().array().default(th.dependencies.cameras)}).default(th.dependencies),triggers:Ws.object({motion:Ws.boolean().default(th.triggers.motion),occupancy:Ws.boolean().default(th.triggers.occupancy),entities:Ws.string().array().default(th.triggers.entities)}).default(th.triggers),engine:Ws.enum(["auto","frigate","generic","motioneye"]).default("auto"),frigate:Ws.object({url:Ws.string().optional(),client_id:Ws.string().default(th.frigate.client_id),camera_name:Ws.string().optional(),labels:Ws.string().array().optional(),zones:Ws.string().array().optional()}).default(th.frigate),motioneye:Ws.object({url:Ws.string().optional(),images:Ws.object({directory_pattern:Ws.string().includes("%").default(th.motioneye.images.directory_pattern),file_pattern:Ws.string().includes("%").default(th.motioneye.images.file_pattern)}).default(th.motioneye.images),movies:Ws.object({directory_pattern:Ws.string().includes("%").default(th.motioneye.movies.directory_pattern),file_pattern:Ws.string().includes("%").default(th.motioneye.movies.file_pattern)}).default(th.motioneye.movies)}).default(th.motioneye),live_provider:Ws.enum(["auto","image","ha","jsmpeg","go2rtc","webrtc-card"]).default(th.live_provider),go2rtc:Ku.optional(),image:Xu.default(th.image),jsmpeg:eh.optional(),webrtc_card:Ju.optional()}).default(th),ih=nh.array().min(1),ah=Ws.object({enabled:Ws.boolean().default(!0).optional(),priority:Ws.number().min(0).max(100).default(50).optional(),alignment:Ws.enum(["matching","opposing"]).default("matching").optional(),icon:Ws.string().optional()}),rh=ah.merge(Hu).extend({type:Ws.literal("custom:frigate-card-menu-icon")}),oh=ah.merge(Nu).extend({type:Ws.literal("custom:frigate-card-menu-state-icon")}).merge(ah),sh=Pu.extend({entity:Ws.string().optional(),icon:Ws.string().optional(),state_color:Ws.boolean().default(!0),selected:Ws.boolean().default(!1),subtitle:Ws.string().optional(),enabled:Ws.boolean().default(!0)}),ch=ah.merge(Hu).extend({type:Ws.literal("custom:frigate-card-menu-submenu"),items:sh.array()}),lh=ah.merge(Nu).extend({type:Ws.literal("custom:frigate-card-menu-submenu-select"),options:Ws.record(sh.deepPartial()).optional()}),dh=Ws.object({view:Ws.string().array().optional(),fullscreen:Ws.boolean().optional(),expand:Ws.boolean().optional(),camera:Ws.string().array().optional(),media_loaded:Ws.boolean().optional(),state:qu.optional(),media_query:Ws.string().optional()}),uh=Ws.object({type:Ws.literal("custom:frigate-card-conditional"),conditions:dh,elements:Ws.lazy((()=>mh))}),hh=Ws.preprocess((e=>{if(!e||"object"!=typeof e||!e.service)return e;const t={...e};return["left","right","up","down","zoom_in","zoom_out","home"].forEach((n=>{`data_${n}`in e&&!(`actions_${n}`in e)&&(t[`actions_${n}`]={tap_action:{action:"call-service",service:e.service,service_data:e[`data_${n}`]}},delete t[`data_${n}`])})),t}),Ws.object({type:Ws.literal("custom:frigate-card-ptz"),style:Ws.object({}).passthrough().optional(),orientation:Ws.enum(["vertical","horizontal"]).default("vertical").optional(),service:Ws.string().optional(),actions_left:Ru.optional(),actions_right:Ru.optional(),actions_up:Ru.optional(),actions_down:Ru.optional(),actions_zoom_in:Ru.optional(),actions_zoom_out:Ru.optional(),actions_home:Ru.optional()})),mh=Ws.union([oh,rh,ch,lh,uh,hh,Lu,Nu,Uu,Fu,Hu,Zu,Vu,Wu]).array().optional(),ph=Ws.object({fit:Ws.enum(["contain","cover","fill"]).optional(),position:Ws.object({x:Ws.number().min(0).max(100).optional(),y:Ws.number().min(0).max(100).optional()}).optional()}),fh={default:uu,camera_select:"current",timeout_seconds:300,update_seconds:0,update_force:!1,update_cycle_camera:!1,dark_mode:"off",scan:{enabled:!1,show_trigger_status:!0,untrigger_seconds:0,untrigger_reset:!0}},gh=Ws.object({default:Ws.enum(du).default(fh.default),camera_select:Ws.enum([...du,"current"]).default(fh.camera_select),timeout_seconds:Ws.number().default(fh.timeout_seconds),update_seconds:Ws.number().default(fh.update_seconds),update_force:Ws.boolean().default(fh.update_force),update_cycle_camera:Ws.boolean().default(fh.update_cycle_camera),update_entities:Ws.string().array().optional(),render_entities:Ws.string().array().optional(),dark_mode:Ws.enum(["on","off","auto"]).optional(),scan:Ws.object({enabled:Ws.boolean().default(fh.scan.enabled),show_trigger_status:Ws.boolean().default(fh.scan.show_trigger_status),untrigger_seconds:Ws.number().default(fh.scan.untrigger_seconds),untrigger_reset:Ws.boolean().default(fh.scan.untrigger_reset)}).default(fh.scan)}).merge(Du).default(fh),vh={mode:"url",zoomable:!0,...Bu},_h=Yu.extend({mode:Ws.enum(["screensaver","camera","url"]).default(vh.mode),layout:ph.optional(),zoomable:Ws.boolean().default(vh.zoomable)}).merge(Du).default(vh),yh={size:100,show_details:!0,show_favorite_control:!0,show_timeline_control:!0,show_download_control:!0},bh=Ws.object({size:Ws.number().min(75).max(cu).default(yh.size),show_details:Ws.boolean().default(yh.show_details),show_favorite_control:Ws.boolean().default(yh.show_favorite_control),show_timeline_control:Ws.boolean().default(yh.show_timeline_control),show_download_control:Ws.boolean().default(yh.show_download_control)}),wh={...yh,mode:"right"},xh=bh.extend({mode:Ws.enum(["none","above","below","left","right"]).default(wh.mode)}),Ch={clustering_threshold:3,media:"all",window_seconds:3600,show_recordings:!0,style:"stack"},$h=Ws.enum(["all","clips","snapshots"]),kh=Ws.object({clustering_threshold:Ws.number().optional().default(Ch.clustering_threshold),media:$h.optional().default(Ch.media),window_seconds:Ws.number().min(60).max(86400).optional().default(Ch.window_seconds),show_recordings:Ws.boolean().optional().default(Ch.show_recordings),style:Ws.enum(["stack","ribbon"]).optional().default(Ch.style)}),Eh={...Ch,mode:"none",style:"ribbon"},Mh=kh.extend({mode:Ws.enum(["none","above","below"]).default(Eh.mode),style:kh.shape.style.default(Eh.style)}),Sh=Ws.object({style:Ws.enum(["none","chevrons","icons","thumbnails"]),size:Ws.number().min(su)}),Th=Ws.enum(["none","slide"]),Ah=Ws.object({mode:Ws.enum(["none","popup-top-right","popup-top-left","popup-bottom-right","popup-bottom-left"]),duration_seconds:Ws.number().min(0).max(60)}),zh={auto_play:"all",auto_pause:"never",auto_mute:"all",auto_unmute:"never",preload:!1,lazy_load:!0,lazy_unload:"never",draggable:!0,zoomable:!0,transition_effect:"slide",show_image_during_load:!0,controls:{builtin:!0,next_previous:{size:48,style:"chevrons"},thumbnails:{...wh,media:"all"},timeline:Eh,title:{mode:"popup-bottom-right",duration_seconds:2}},microphone:{...Qu}},jh=xh.extend({media:Ws.enum(["all","clips","snapshots"]).default(zh.controls.thumbnails.media)}),Oh=Ws.object({controls:Ws.object({builtin:Ws.boolean().default(zh.controls.builtin),next_previous:Sh.extend({style:Ws.enum(["none","chevrons","icons"]).default(zh.controls.next_previous.style),size:Sh.shape.size.default(zh.controls.next_previous.size)}).default(zh.controls.next_previous),thumbnails:jh.default(zh.controls.thumbnails),timeline:Mh.default(zh.controls.timeline),title:Ah.extend({mode:Ah.shape.mode.default(zh.controls.title.mode),duration_seconds:Ah.shape.duration_seconds.default(zh.controls.title.duration_seconds)}).default(zh.controls.title)}).default(zh.controls),show_image_during_load:Ws.boolean().default(zh.show_image_during_load),layout:ph.optional(),microphone:Gu.default(zh.microphone),zoomable:Ws.boolean().default(zh.zoomable)}).merge(Du),Ih=Oh.extend({auto_play:Ws.enum(gu).default(zh.auto_play),auto_pause:Ws.enum(fu).default(zh.auto_pause),auto_mute:Ws.enum(fu).default(zh.auto_mute),auto_unmute:Ws.enum(gu).default(zh.auto_unmute),preload:Ws.boolean().default(zh.preload),lazy_load:Ws.boolean().default(zh.lazy_load),lazy_unload:Ws.enum(fu).default(zh.lazy_unload),draggable:Ws.boolean().default(zh.draggable),transition_effect:Th.default(zh.transition_effect)}).default(zh),Rh={priority:50,enabled:!0},Dh={priority:50,enabled:!1},Ph={style:"hidden",position:"top",alignment:"left",buttons:{frigate:Rh,cameras:Rh,substreams:Rh,live:Rh,clips:Rh,snapshots:Rh,image:Dh,timeline:Rh,download:Rh,camera_ui:Rh,fullscreen:Rh,expand:Dh,media_player:Rh,microphone:{...Dh,type:"momentary"},mute:Dh,play:Dh,recordings:Dh,screenshot:Dh},button_size:40},Lh=ah.extend({enabled:ah.shape.enabled.default(Rh.enabled),priority:ah.shape.priority.default(Rh.priority)}),Nh=ah.extend({enabled:ah.shape.enabled.default(Dh.enabled),priority:ah.shape.priority.default(Dh.priority)}),Uh=Ws.object({style:Ws.enum(["none","hidden","overlay","hover","hover-card","outside"]).default(Ph.style),position:Ws.enum(hu).default(Ph.position),alignment:Ws.enum(mu).default(Ph.alignment),buttons:Ws.object({frigate:Lh.default(Ph.buttons.frigate),cameras:Lh.default(Ph.buttons.cameras),substreams:Lh.default(Ph.buttons.substreams),live:Lh.default(Ph.buttons.live),clips:Lh.default(Ph.buttons.clips),snapshots:Lh.default(Ph.buttons.snapshots),image:Nh.default(Ph.buttons.image),timeline:Lh.default(Ph.buttons.timeline),download:Lh.default(Ph.buttons.download),camera_ui:Lh.default(Ph.buttons.camera_ui),fullscreen:Lh.default(Ph.buttons.fullscreen),expand:Nh.default(Ph.buttons.expand),media_player:Lh.default(Ph.buttons.media_player),microphone:Nh.extend({type:Ws.enum(["momentary","toggle"]).default(Ph.buttons.microphone.type)}).default(Ph.buttons.microphone),recordings:Nh.default(Ph.buttons.recordings),mute:Nh.default(Ph.buttons.mute),play:Nh.default(Ph.buttons.play),screenshot:Nh.default(Ph.buttons.screenshot)}).default(Ph.buttons),button_size:Ws.number().min(su).default(Ph.button_size)}).default(Ph),Fh={auto_play:"all",auto_pause:"all",auto_mute:"all",auto_unmute:"never",lazy_load:!0,draggable:!0,zoomable:!0,transition_effect:"slide",snapshot_click_plays_clip:!0,controls:{builtin:!0,next_previous:{size:48,style:"thumbnails"},thumbnails:wh,timeline:Eh,title:{mode:"popup-bottom-right",duration_seconds:2}}},Hh=Sh.extend({style:Ws.enum(["none","thumbnails","chevrons"]).default(Fh.controls.next_previous.style),size:Sh.shape.size.default(Fh.controls.next_previous.size)}),Zh=Ws.object({auto_play:Ws.enum(gu).default(Fh.auto_play),auto_pause:Ws.enum(fu).default(Fh.auto_pause),auto_mute:Ws.enum(fu).default(Fh.auto_mute),auto_unmute:Ws.enum(gu).default(Fh.auto_unmute),lazy_load:Ws.boolean().default(Fh.lazy_load),draggable:Ws.boolean().default(Fh.draggable),zoomable:Ws.boolean().default(Fh.zoomable),transition_effect:Th.default(Fh.transition_effect),snapshot_click_plays_clip:Ws.boolean().default(Fh.snapshot_click_plays_clip),controls:Ws.object({builtin:Ws.boolean().default(Fh.controls.builtin),next_previous:Hh.default(Fh.controls.next_previous),thumbnails:xh.default(Fh.controls.thumbnails),timeline:Mh.default(Fh.controls.timeline),title:Ah.extend({mode:Ah.shape.mode.default(Fh.controls.title.mode),duration_seconds:Ah.shape.duration_seconds.default(Fh.controls.title.duration_seconds)}).default(Fh.controls.title)}).default(Fh.controls),layout:ph.optional()}).merge(Du).default(Fh),qh={...wh,show_details:!1},Vh={controls:{thumbnails:qh,filter:{mode:"right"}}},Wh=xh.extend({show_details:Ws.boolean().default(qh.show_details)}),Bh=Ws.object({controls:Ws.object({thumbnails:Wh.default(Vh.controls.thumbnails),filter:Ws.object({mode:Ws.enum(["none","left","right"]).default(Vh.controls.filter.mode)}).default(Vh.controls.filter)}).default(Vh.controls)}).merge(Du).default(Vh),Yh={aspect_ratio_mode:"dynamic",aspect_ratio:[16,9],max_height:"100vh",min_height:"100px"},Qh=Ws.object({aspect_ratio_mode:Ws.enum(["dynamic","static","unconstrained"]).default(Yh.aspect_ratio_mode),aspect_ratio:Ws.number().array().length(2).or(Ws.string().regex(/^\s*\d+\s*[:\/]\s*\d+\s*$/).transform((e=>e.split(/[:\/]/).map((e=>Number(e)))))).default(Yh.aspect_ratio),max_height:Ws.string().default(Yh.max_height),min_height:Ws.string().default(Yh.min_height)}).default(Yh),Gh={...Ch,controls:{thumbnails:wh}},Kh=kh.extend({controls:Ws.object({thumbnails:xh.default(Gh.controls.thumbnails)}).default(Gh.controls)}).default(Gh),Xh=Ws.object({cameras:iu(ih).optional(),cameras_global:iu(nh).optional(),live:iu(Oh).optional(),menu:iu(Uh).optional(),image:iu(_h).optional(),view:iu(gh).optional(),dimensions:iu(Qh).optional()}),Jh=Ws.object({conditions:dh,overrides:Xh}).array().optional();Ws.object({conditions:dh,overrides:Oh}).array().optional();const em=Iu.array().optional(),tm=Ws.object({conditions:dh,actions:em,actions_not:em}).array().optional(),nm={profile:"high",features:{animated_progress_indicator:!0,media_chunk_size:50},style:{border_radius:!0,box_shadow:!0}},im=Ws.object({profile:Ws.enum(["low","high"]).default(nm.profile),features:Ws.object({animated_progress_indicator:Ws.boolean().default(nm.features.animated_progress_indicator),media_chunk_size:Ws.number().min(0).max(1e3).default(nm.features.media_chunk_size)}).default(nm.features),style:Ws.object({border_radius:Ws.boolean().default(nm.style.border_radius),box_shadow:Ws.boolean().default(nm.style.box_shadow)}).default(nm.style)}).default(nm),am={logging:!1},rm=Ws.object({logging:Ws.boolean().default(am.logging)}).default(am),om=Ws.object({cameras:iu(ih),cameras_global:nh,view:gh,menu:Uh,live:Ih,media_gallery:Bh,media_viewer:Zh,image:_h,elements:mh,dimensions:Qh,timeline:Kh,performance:im,debug:rm,automations:tm,overrides:Jh,card_mod:Ws.unknown(),card_id:Ws.string().regex(/^\w+$/).optional(),type:Ws.string(),test_gui:Ws.boolean().optional()}),sm={cameras:th,view:fh,menu:Ph,live:zh,media_gallery:Vh,media_viewer:Fh,image:vh,timeline:Gh,performance:nm,debug:am};Ws.discriminatedUnion("type",[rh,oh,ch,lh]);const cm={info:10,error:20,connection:30,diagnostics:40},lm=Ws.object({url:Ws.string(),mime_type:Ws.string()}),dm=Ws.object({path:Ws.string()});function um(e){if(!e)return null;const t=Ou.safeParse(e);return t.success?t.data:null}function hm(e,t){return"camera_select"===e||"live_substream_select"===e?t?.camera?{action:"fire-dom-event",frigate_card_action:e,camera:t.camera,...t.cardID&&{card_id:t.cardID}}:null:"media_player"===e?t?.media_player&&t.media_player_action?{action:"fire-dom-event",frigate_card_action:e,media_player:t.media_player,media_player_action:t.media_player_action,...t.cardID&&{card_id:t.cardID}}:null:{action:"fire-dom-event",frigate_card_action:e,...t?.cardID&&{card_id:t.cardID}}}function mm(e,t){if(e&&t)return"tap"==e&&t.tap_action?t.tap_action:"hold"==e&&t.hold_action?t.hold_action:"double_tap"==e&&t.double_tap_action?t.double_tap_action:"end_tap"==e&&t.end_tap_action?t.end_tap_action:"start_tap"==e&&t.start_tap_action?t.start_tap_action:void 0}const pm=(e,t,n,i,a)=>!(!a&&"tap"!=i)&&(fm(e,t,n,a),!0),fm=(e,t,n,i)=>{Array.isArray(i)?i.forEach((i=>h(e,t,n,i))):h(e,t,n,i)},gm=e=>Array.isArray(e)?!!e.find((e=>m(e))):m(e),vm=e=>{e.stopPropagation()};class _m{constructor(){this._timer=null}stop(){this._timer&&(window.clearTimeout(this._timer),this._timer=null)}isRunning(){return null!==this._timer}start(e,t){this.stop(),this._timer=window.setTimeout((()=>{this._timer=null,t()}),1e3*e)}startRepeated(e,t){this.stop(),this._timer=window.setInterval((()=>{t()}),1e3*e)}}class ym extends HTMLElement{constructor(){super(...arguments),this.holdTime=.4,this.holdTimer=new _m,this.doubleClickTimer=new _m,this.held=!1}connectedCallback(){["touchcancel","mouseout","mouseup","touchmove","mousewheel","wheel","scroll"].forEach((e=>{document.addEventListener(e,(()=>{this.holdTimer.stop()}),{passive:!0})}))}bind(e,t){if(e.actionHandlerOptions)return void(e.actionHandlerOptions=t);e.actionHandlerOptions=t,e.addEventListener("contextmenu",(e=>{const t=e||window.event;return t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.cancelBubble=!0,t.returnValue=!1,!1}));const n=()=>{this.held=!1,this.holdTimer.start(this.holdTime,(()=>{this.held=!0})),l(e,"action",{action:"start_tap"})},i=t=>{const n=e.actionHandlerOptions;n?.allowPropagation||vm(t),["touchend","touchcancel"].includes(t.type)&&!this.held||(this.holdTimer.stop(),l(e,"action",{action:"end_tap"}),n?.hasHold&&this.held?l(e,"action",{action:"hold"}):n?.hasDoubleClick?"click"===t.type&&t.detail<2||!this.doubleClickTimer.isRunning()?this.doubleClickTimer.start(.25,(()=>l(e,"action",{action:"tap"}))):(this.doubleClickTimer.stop(),l(e,"action",{action:"double_tap"})):l(e,"action",{action:"tap"}))};e.addEventListener("touchstart",n,{passive:!0}),e.addEventListener("touchend",i),e.addEventListener("touchcancel",i),e.addEventListener("mousedown",n,{passive:!0}),e.addEventListener("click",i),e.addEventListener("keyup",(e=>{"Enter"===e.key&&i(e)}))}}customElements.define("action-handler-frigate-card",ym);const bm=(e,t)=>{const n=(()=>{const e=document.body;if(e.querySelector("action-handler-frigate-card"))return e.querySelector("action-handler-frigate-card");const t=document.createElement("action-handler-frigate-card");return e.appendChild(t),t})();n&&n.bind(e,t)},wm=$e(class extends ke{update(e,[t]){return bm(e.element,t),X}render(e){}});var xm={frigate_card:"Frigate card",frigate_card_description:"A Lovelace card for use with Frigate",live:"Live",no_media:"No media to display",recordings:"Recordings",version:"Version"},Cm={cameras:{camera_entity:"Camera Entity",dependencies:{all_cameras:"Show events for all cameras with this camera",cameras:"Show events for specific cameras with this camera",editor_label:"Dependency Options"},engines:{editor_label:"Camera engine options"},frigate:{camera_name:"Frigate camera name (Autodetected from entity)",client_id:"Frigate client id (For >1 Frigate server)",editor_label:"Frigate Options",labels:"Frigate labels/object filters",url:"Frigate server URL",zones:"Frigate zones"},go2rtc:{editor_label:"go2rtc Options",modes:{editor_label:"go2rtc Modes",mjpeg:"Motion JPEG (MJPEG)",mp4:"MPEG-4 (MP4)",mse:"Media Source Extensions (MSE)",webrtc:"Web Real-Time Communication (WebRTC)"},stream:"go2rtc stream name"},hide:"Hide camera from UI",icon:"Icon for this camera (Autodetected from entity)",id:"Unique id for this camera in this card",image:{editor_label:"Image Options",refresh_seconds:"Number of seconds after which to refresh live image (0=never)",url:"Image URL to use instead of camera entity snapshot"},live_provider:"Live view provider for this camera",live_provider_options:{editor_label:"Live provider options"},live_providers:{auto:"Automatic",go2rtc:"go2rtc",ha:"Home Assistant video stream (i.e. HLS, LL-HLS, WebRTC via HA)",image:"Home Assistant images",jsmpeg:"JSMpeg","webrtc-card":"WebRTC Card (i.e. AlexxIT's WebRTC Card)"},motioneye:{editor_label:"MotionEye Options",images:{directory_pattern:"Images directory pattern",file_pattern:"Images file pattern"},movies:{directory_pattern:"Movies directory pattern",file_pattern:"Movies file pattern"},url:"MotionEye UI URL"},title:"Title for this camera (Autodetected from entity)",triggers:{editor_label:"Trigger Options",entities:"Trigger from other entities",motion:"Trigger by auto-detecting the motion sensor",occupancy:"Trigger by auto-detecting the occupancy sensor"},webrtc_card:{editor_label:"WebRTC Card Options",entity:"WebRTC Card Camera Entity (Not a Frigate camera)",url:"WebRTC Card Camera URL"}},common:{controls:{builtin:"Built-in video controls",filter:{editor_label:"Media Filter",mode:"Filter mode",modes:{left:"Media filter in a drawer to the left",none:"No media filter",right:"Media filter in a drawer to the right"}},next_previous:{editor_label:"Next & Previous",size:"Next & previous control size in pixels",style:"Next & previous control style",styles:{chevrons:"Chevrons",icons:"Icons",none:"None",thumbnails:"Thumbnails"}},thumbnails:{editor_label:"Thumbnails",media:"Whether to show thumbnails of clips or snapshots",medias:{clips:"Clip thumbnails",snapshots:"Snapshot thumbnails"},mode:"Thumbnails mode",modes:{above:"Thumbnails above",below:"Thumbnails below",left:"Thumbnails in a drawer to the left",none:"No thumbnails",right:"Thumbnails in a drawer to the right"},show_details:"Show details with thumbnails",show_download_control:"Show download control on thumbnails",show_favorite_control:"Show favorite control on thumbnails",show_timeline_control:"Show timeline control on thumbnails",size:"Thumbnails size in pixels"},timeline:{editor_label:"Mini Timeline",mode:"Mode",modes:{above:"Above",below:"Below",none:"None"}},title:{duration_seconds:"Seconds to display popup title (0=forever)",editor_label:"Popup Title Controls",mode:"Popup title display mode",modes:{none:"No title display","popup-bottom-left":"Popup on the bottom left","popup-bottom-right":"Popup on the bottom right","popup-top-left":"Popup on the top left","popup-top-right":"Popup on the top right"}}},layout:{fit:"Layout fit",fits:{contain:"Media is contained/letterboxed",cover:"Media expands proportionally to cover the card",fill:"Media is stretched to fill the card"},position:{x:"Horizontal placement percentage",y:"Vertical placement percentage"}},media_action_conditions:{all:"All opportunities",hidden:"On browser/tab hiding",never:"Never",selected:"On selection",unselected:"On unselection",visible:"On browser/tab visibility"},timeline:{clustering_threshold:"The count of events at which they are clustered (0=no clustering)",media:"The media the timeline displays",medias:{all:"All media types",clips:"Clips",snapshots:"Snapshots"},show_recordings:"Show recordings",style:"Timeline style",styles:{ribbon:"Events on a single ribbon",stack:"Stacked & clustered events"},window_seconds:"The default length of the timeline view in seconds"}},dimensions:{aspect_ratio:"Default aspect ratio (e.g. '16:9')",aspect_ratio_mode:"Aspect ratio mode",aspect_ratio_modes:{dynamic:"Aspect ratio adjusts to media",static:"Static aspect ratio",unconstrained:"Unconstrained aspect ratio"},max_height:"Maximum card height in CSS units (e.g. '100vh')",min_height:"Minimum card height in CSS units (e.g. '100px')"},image:{layout:"Image Layout",mode:"Image view mode",modes:{camera:"Home Assistant camera snapshot of camera entity",screensaver:"Embedded Frigate logo",url:"Arbitrary image specified by URL"},refresh_seconds:"Number of seconds after which to refresh (0=never)",url:"Static image URL for image view",zoomable:"Image can be zoomed/panned"},live:{auto_mute:"Automatically mute live cameras",auto_pause:"Automatically pause live cameras",auto_play:"Automatically play live cameras",auto_unmute:"Automatically unmute live cameras",controls:{editor_label:"Live Controls"},draggable:"Live cameras view can be dragged/swiped",layout:"Live Layout",lazy_load:"Live cameras are lazily loaded",lazy_unload:"Live cameras are lazily unloaded",microphone:{always_connected:"Always keep the microphone connected",disconnect_seconds:"Seconds after which to disconnect microphone (0=never)",editor_label:"Microphone",enabled:"Microphone enabled"},preload:"Preload live view in the background",show_image_during_load:"Show still image while the live stream is loading",transition_effect:"Live camera transition effect",zoomable:"Live cameras can be zoomed/panned"},media_viewer:{auto_mute:"Automatically mute media",auto_pause:"Automatically pause media",auto_play:"Automatically play media",auto_unmute:"Automatically unmute media",controls:{editor_label:"Media Viewer Controls"},draggable:"Media Viewer can be dragged/swiped",layout:"Media Viewer Layout",lazy_load:"Media Viewer media is lazily loaded in carousel",snapshot_click_plays_clip:"Clicking on a snapshot plays a related clip",transition_effect:"Media Viewer transition effect",transition_effects:{none:"No transition",slide:"Slide transition"},zoomable:"Media Viewer can be zoomed/panned"},menu:{alignment:"Menu alignment",alignments:{bottom:"Aligned to the bottom",left:"Aligned to the left",right:"Aligned to the right",top:"Aligned to the top"},button_size:"Menu button size in pixels",buttons:{alignment:"Button alignment",alignments:{matching:"Matching the menu alignment",opposing:"Opposing the menu alignment"},camera_ui:"Camera user interface",cameras:"Cameras",clips:"Clips",download:"Download",enabled:"Button enabled",expand:"Expand",frigate:"Frigate menu / Default view",fullscreen:"Fullscreen",icon:"Icon",image:"Image",live:"Live",media_player:"Send to media player",microphone:"Microphone",mute:"Mute / Unmute",play:"Play / Pause",priority:"Priority",recordings:"Recordings",screenshot:"Screenshot",snapshots:"Snapshots",substreams:"Substream(s)",timeline:"Timeline",type:"Button type",types:{momentary:"Momentary",toggle:"Toggle"}},position:"Menu position",positions:{bottom:"Positioned on the bottom",left:"Positioned on the left",right:"Positioned on the right",top:"Positioned on the top"},style:"Menu style",styles:{hidden:"Hidden menu",hover:"Hover menu","hover-card":"Hover menu (card-wide)",none:"No menu",outside:"Outside menu",overlay:"Overlay menu"}},overrides:{info:"This card configuration has manually specified overrides configured which may override values shown in the visual editor, please consult the code editor to view/modify these overrides"},performance:{features:{animated_progress_indicator:"Animated Progress Indicator",editor_label:"Feature Options",media_chunk_size:"Media chunk size"},profile:"Performance profile",profiles:{high:"High/full performance",low:"Low performance"},style:{border_radius:"Curves",box_shadow:"Shadows",editor_label:"Style Options"},warning:"This card is in low profile mode so defaults have changed to optimize performance"},view:{camera_select:"View for newly selected cameras",dark_mode:"Dark mode",dark_modes:{auto:"Auto",off:"Off",on:"On"},default:"Default view",scan:{enabled:"Scan mode enabled",scan_mode:"Scan mode",show_trigger_status:"Show pulsing border when triggered",untrigger_reset:"Reset the view to default after untrigger",untrigger_seconds:"Seconds after inactive state change to untrigger"},timeout_seconds:"Reset to default view X seconds after user action (0=never)",update_cycle_camera:"Cycle through cameras when default view updates",update_force:"Force card updates (ignore user interaction)",update_seconds:"Refresh default view every X seconds (0=never)",views:{clip:"Most recent clip",clips:"Clips gallery",current:"Current view",image:"Static image",live:"Live view",recording:"Most recent recording",recordings:"Recordings gallery",snapshot:"Most recent snapshot",snapshots:"Snapshots gallery",timeline:"Timeline view"}}},$m={add_new_camera:"Add new camera",button:"Button",camera:"Camera",cameras:"Cameras",cameras_secondary:"What cameras to render on this card",delete:"Delete",dimensions:"Dimensions",dimensions_secondary:"Dimensions & shape options",image:"Image",image_secondary:"Static image view options",live:"Live",live_secondary:"Live camera view options",media_gallery:"Media gallery",media_gallery_secondary:"Media gallery options",media_viewer:"Media viewer",media_viewer_secondary:"Viewer for static media (clips, snapshots or recordings)",menu:"Menu",menu_secondary:"Menu look & feel options",move_down:"Move down",move_up:"Move up",overrides:"Overrides are active",overrides_secondary:"Dynamic configuration overrides detected",performance:"Performance",performance_secondary:"Card performance options",timeline:"Timeline",timeline_secondary:"Event timeline options",upgrade:"Upgrade",upgrade_available:"An automatic card configuration upgrade is available",view:"View",view_secondary:"What the card should show and how to show it"},km={ptz:{down:"Down",home:"Home",left:"Left",right:"Right",up:"Up",zoom_in:"Zoom In",zoom_out:"Zoom Out"}},Em={could_not_render_elements:"Could not render picture elements",could_not_resolve:"Could not resolve media URL",diagnostics:"Card diagnostics. Please review for confidential information prior to sharing",download_no_media:"No media to download",download_sign_failed:"Could not sign media URL for download",duplicate_camera_id:"Duplicate Frigate camera id for the following camera, use the 'id' parameter to uniquely identify cameras",empty_response:"Received empty response from Home Assistant for request",failed_response:"Failed to receive response from Home Assistant for request",failed_retain:"Could not retain event",failed_sign:"Could not sign Home Assistant URL",image_load_error:"The image could not be loaded",invalid_configuration:"Invalid configuration",invalid_configuration_no_hint:"No location hint available (bad or missing type?)",invalid_elements_config:"Invalid picture elements configuration",invalid_response:"Received invalid response from Home Assistant for request",jsmpeg_no_player:"Could not start JSMPEG player",live_camera_no_endpoint:"Could not get camera endpoint for this live provider (incomplete configuration?)",live_camera_not_found:"The configured camera_entity was not found",live_camera_unavailable:"Camera unavailable",no_camera_engine:"Could not determine suitable engine for camera",no_camera_entity:"Could not find camera entity",no_camera_entity_for_triggers:"A camera entity is required in order to autodetect triggers",no_camera_id:"Could not determine camera id for the following camera, may need to set 'id' parameter manually",no_camera_name:"Could not determine a Frigate camera name for camera (or one of its dependents), please specify either 'camera_entity' or 'camera_name'",no_live_camera:"The camera_entity parameter must be set and valid for this live provider",no_visible_cameras:"No visible cameras found, you must configure at least one non-hidden camera",reconnecting:"Reconnecting",timeline_no_cameras:"No Frigate cameras to show in timeline",too_many_automations:"Too many nested automation calls, please check your configuration for loops",troubleshooting:"Check troubleshooting",unknown:"Unknown error",upgrade_available:"An automated card configuration upgrade is available, please visit the visual card editor",webrtc_card_reported_error:"WebRTC Card reported an error",webrtc_card_waiting:"Waiting for WebRTC Card to load ..."},Mm={camera:"Camera",duration:"Duration",in_progress:"In Progress",score:"Score",seek:"Seek",start:"Start",tag:"Tag",what:"What",where:"Where"},Sm={all:"All",camera:"Camera",favorite:"Favorite",media_type:"Media Type",media_types:{clips:"Clips",recordings:"Recordings",snapshots:"Snapshots"},not_favorite:"Not Favorite",select_camera:"Select camera...",select_favorite:"Select favorite...",select_media_type:"Select media type...",select_tag:"Select tag...",select_what:"Select what...",select_when:"Select when...",select_where:"Select where...",tag:"Tag",what:"What",when:"When",whens:{past_month:"Past Month",past_week:"Past Week",today:"Today",yesterday:"Yesterday"},where:"Where"},Tm={camera:"Camera",duration:"Duration",events:"Events",in_progress:"In Progress",seek:"Seek",start:"Start"},Am={download:"Download media",no_thumbnail:"No thumbnail available",retain_indefinitely:"Media will be indefinitely retained",timeline:"See media in timeline"},zm={pan_behavior:{pan:"Pan",seek:"Pan seeks across all media","seek-in-media":"Pan seeks within selected media item only"},select_date:"Choose date"},jm={common:xm,config:Cm,editor:$m,elements:km,error:Em,event:Mm,media_filter:Sm,recording:Tm,thumbnail:Am,timeline:zm};const Om="en",Im={[Om]:Object.freeze({__proto__:null,common:xm,config:Cm,editor:$m,elements:km,error:Em,event:Mm,media_filter:Sm,recording:Tm,thumbnail:Am,timeline:zm,default:jm})};let Rm;function Dm(e){const t=e=>e.replace("-","_"),n=e?.language??e?.selectedLanguage;if(n)return t(n);const i=localStorage.getItem("selectedLanguage");if(i){const e=JSON.parse(i);if(e)return t(e)}for(const e of navigator.languages){const n=t(e);if(n&&n in Im)return n}return Om}function Pm(e,t="",n=""){let i="";try{i=e.split(".").reduce(((e,t)=>e[t]),Im[Rm??Om])}catch(e){}return i||(i=e.split(".").reduce(((e,t)=>e[t]),Im[Om])),""!==t&&""!==n&&(i=i.replace(t,n)),i}class Lm extends vu{}class Nm{constructor(e){this._priorEvaluations=new Map,this._nestedAutomationExecutions=0,this._automations=e}execute(e,t,n){const i=[];for(const e of this._automations??[]){const t=n.evaluateCondition(e.conditions),a=t?e.actions:e.actions_not,r=this._priorEvaluations.get(e);this._priorEvaluations.set(e,t),t!==r&&a&&i.push(a)}if(++this._nestedAutomationExecutions,this._nestedAutomationExecutions>10)throw new Lm(Pm("error.too_many_automations"));i.forEach((n=>{fm(e,t,{},n)})),--this._nestedAutomationExecutions}}function Um(e){if(null===e||!0===e||!1===e)return NaN;var t=Number(e);return isNaN(t)?t:t<0?Math.ceil(t):Math.floor(t)}function Fm(e,t){if(t.length1?"s":"")+" required, but only "+t.length+" present")}function Hm(e){return Hm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Hm(e)}function Zm(e){Fm(1,arguments);var t=Object.prototype.toString.call(e);return e instanceof Date||"object"===Hm(e)&&"[object Date]"===t?new Date(e.getTime()):"number"==typeof e||"[object Number]"===t?new Date(e):("string"!=typeof e&&"[object String]"!==t||"undefined"==typeof console||(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn((new Error).stack)),new Date(NaN))}function qm(e,t){Fm(2,arguments);var n=Zm(e),i=Um(t);return isNaN(i)?new Date(NaN):i?(n.setDate(n.getDate()+i),n):n}function Vm(e,t){Fm(2,arguments);var n=Zm(e),i=Um(t);if(isNaN(i))return new Date(NaN);if(!i)return n;var a=n.getDate(),r=new Date(n.getTime());return r.setMonth(n.getMonth()+i+1,0),a>=r.getDate()?r:(n.setFullYear(r.getFullYear(),r.getMonth(),a),n)}function Wm(e){return Wm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Wm(e)}function Bm(e,t){if(Fm(2,arguments),!t||"object"!==Wm(t))return new Date(NaN);var n=t.years?Um(t.years):0,i=t.months?Um(t.months):0,a=t.weeks?Um(t.weeks):0,r=t.days?Um(t.days):0,o=t.hours?Um(t.hours):0,s=t.minutes?Um(t.minutes):0,c=t.seconds?Um(t.seconds):0,l=Zm(e),d=i||n?Vm(l,i+12*n):l,u=r||a?qm(d,r+7*a):d,h=1e3*(c+60*(s+60*o));return new Date(u.getTime()+h)}const Ym=(e,t)=>0!=((e.attributes.supported_features??0)&t),Qm=e=>(e=>Ym(e,4)&&"number"==typeof e.attributes.in_progress)(e)||!!e.attributes.in_progress,Gm=e=>{switch(e){case"armed_away":return"mdi:shield-lock";case"armed_vacation":return"mdi:shield-airplane";case"armed_home":return"mdi:shield-home";case"armed_night":return"mdi:shield-moon";case"armed_custom_bypass":return"mdi:security";case"pending":case"arming":return"mdi:shield-sync";case"triggered":return"mdi:bell-ring";case"disarmed":return"mdi:shield-off";default:return"mdi:shield"}},Km=(e,t)=>{const n="off"===e;switch(t?.attributes.device_class){case"battery":return n?"mdi:battery":"mdi:battery-outline";case"battery_charging":return n?"mdi:battery":"mdi:battery-charging";case"cold":return n?"mdi:thermometer":"mdi:snowflake";case"connectivity":return n?"mdi:close-network-outline":"mdi:check-network-outline";case"door":return n?"mdi:door-closed":"mdi:door-open";case"garage_door":return n?"mdi:garage":"mdi:garage-open";case"power":case"plug":return n?"mdi:power-plug-off":"mdi:power-plug";case"gas":case"problem":case"safety":case"tamper":return n?"mdi:check-circle":"mdi:alert-circle";case"smoke":return n?"mdi:check-circle":"mdi:smoke";case"heat":return n?"mdi:thermometer":"mdi:fire";case"light":return n?"mdi:brightness5":"mdi:brightness-7";case"lock":return n?"mdi:lock":"mdi:lock-open";case"moisture":return n?"mdi:water-off":"mdi:water";case"motion":return n?"mdi:motion-sensor-off":"mdi:motion-sensor";case"occupancy":case"presence":return n?"mdi:home-outline":"mdi:home";case"opening":return n?"mdi:square":"mdi:square-outline";case"running":return n?"mdi:stop":"mdi:play";case"sound":return n?"mdi:music-note-off":"mdi:music-note";case"update":return n?"mdi:package":"mdi:package-up";case"vibration":return n?"mdi:crop-portrait":"mdi:vibrate";case"window":return n?"mdi:window-closed":"mdi:window-open";default:return n?"mdi:radiobox-blank":"mdi:checkbox-marked-circle"}},Xm=(e,t)=>{const n="closed"!==e;switch(t?.attributes.device_class){case"garage":switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:garage";default:return"mdi:garage-open"}case"gate":switch(e){case"opening":case"closing":return"mdi:gate-arrow-right";case"closed":return"mdi:gate";default:return"mdi:gate-open"}case"door":return n?"mdi:door-open":"mdi:door-closed";case"damper":return n?"md:circle":"mdi:circle-slice-8";case"shutter":switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:window-shutter";default:return"mdi:window-shutter-open"}case"curtain":switch(e){case"opening":return"mdi:arrow-split-vertical";case"closing":return"mdi:arrow-collapse-horizontal";case"closed":return"mdi:curtains-closed";default:return"mdi:curtains"}case"blind":case"shade":switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:blinds";default:return"mdi:blinds-open"}case"window":switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:window-closed";default:return"mdi:window-open"}}switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:window-closed";default:return"mdi:window-open"}},Jm={apparent_power:"mdi:flash",aqi:"mdi:air-filter",carbon_dioxide:"mdi:molecule-co2",carbon_monoxide:"mdi:molecule-co",current:"mdi:current-ac",date:"mdi:calendar",energy:"mdi:lightning-bolt",frequency:"mdi:sine-wave",gas:"mdi:gas-cylinder",humidity:"mdi:water-percent",illuminance:"mdi:brightness-5",monetary:"mdi:cash",nitrogen_dioxide:"mdi:molecule",nitrogen_monoxide:"mdi:molecule",nitrous_oxide:"mdi:molecule",ozone:"mdi:molecule",pm1:"mdi:molecule",pm10:"mdi:molecule",pm25:"mdi:molecule",power:"mdi:flash",power_factor:"mdi:angle-acute",pressure:"mdi:gauge",reactive_power:"mdi:flash",signal_strength:"mdi:wifi",sulphur_dioxide:"mdi:molecule",temperature:"mdi:thermometer",timestamp:"mdi:clock",volatile_organic_compounds:"mdi:molecule",voltage:"mdi:sine-wave"},ep={10:"mdi:battery-10",20:"mdi:battery-20",30:"mdi:battery-30",40:"mdi:battery-40",50:"mdi:battery-50",60:"mdi:battery-60",70:"mdi:battery-70",80:"mdi:battery-80",90:"mdi:battery-90",100:"mdi:battery"},tp={10:"mdi:battery-charging-10",20:"mdi:battery-charging-20",30:"mdi:battery-charging-30",40:"mdi:battery-charging-40",50:"mdi:battery-charging-50",60:"mdi:battery-charging-60",70:"mdi:battery-charging-70",80:"mdi:battery-charging-80",90:"mdi:battery-charging-90",100:"mdi:battery-charging"},np=(e,t)=>{const n=Number(e);if(isNaN(n))return"off"===e?"mdi:battery":"on"===e?"mdi:battery-alert":"mdi:battery-unknown";const i=10*Math.round(n/10);return t&&n>=10?tp[i]:t?"mdi:battery-charging-outline":n<=5?"mdi:battery-alert-variant-outline":ep[i]},ip=e=>{const t=e?.attributes.device_class;if(t&&t in Jm)return Jm[t];if("battery"===t)return e?((e,t)=>{const n=e.state;return np(n,"on"===t?.state)})(e):"mdi:battery";const n=e?.attributes.unit_of_measurement;return"°C"===n||"°F"===n?"mdi:thermometer":void 0},ap="mdi:bookmark",rp={alert:"mdi:alert",air_quality:"mdi:air-filter",automation:"mdi:robot",calendar:"mdi:calendar",camera:"mdi:video",climate:"mdi:thermostat",configurator:"mdi:cog",conversation:"mdi:text-to-speech",counter:"mdi:counter",fan:"mdi:fan",google_assistant:"mdi:google-assistant",group:"mdi:google-circles-communities",homeassistant:"mdi:home-assistant",homekit:"mdi:home-automation",image_processing:"mdi:image-filter-frames",input_button:"mdi:gesture-tap-button",input_datetime:"mdi:calendar-clock",input_number:"mdi:ray-vertex",input_select:"mdi:format-list-bulleted",input_text:"mdi:form-textbox",light:"mdi:lightbulb",mailbox:"mdi:mailbox",notify:"mdi:comment-alert",number:"mdi:ray-vertex",persistent_notification:"mdi:bell",person:"mdi:account",plant:"mdi:flower",proximity:"mdi:apple-safari",remote:"mdi:remote",scene:"mdi:palette",script:"mdi:script-text",select:"mdi:format-list-bulleted",sensor:"mdi:eye",siren:"mdi:bullhorn",simple_alarm:"mdi:bell",sun:"mdi:white-balance-sunny",timer:"mdi:timer-outline",updater:"mdi:cloud-upload",vacuum:"mdi:robot-vacuum",water_heater:"mdi:thermometer",weather:"mdi:weather-cloudy",zone:"mdi:map-marker-radius"};function op(e,t,n){switch(e){case"alarm_control_panel":return Gm(n);case"binary_sensor":return Km(n,t);case"button":switch(t?.attributes.device_class){case"restart":return"mdi:restart";case"update":return"mdi:package-up";default:return"mdi:gesture-tap-button"}case"cover":return Xm(n,t);case"device_tracker":return"router"===t?.attributes.source_type?"home"===n?"mdi:lan-connect":"mdi:lan-disconnect":["bluetooth","bluetooth_le"].includes(t?.attributes.source_type)?"home"===n?"mdi:bluetooth-connect":"mdi:bluetooth":"not_home"===n?"mdi:account-arrow-right":"mdi:account";case"humidifier":return n&&"off"===n?"mdi:air-humidifier-off":"mdi:air-humidifier";case"input_boolean":return"on"===n?"mdi:check-circle-outline":"mdi:close-circle-outline";case"lock":switch(n){case"unlocked":return"mdi:lock-open";case"jammed":return"mdi:lock-alert";case"locking":case"unlocking":return"mdi:lock-clock";default:return"mdi:lock"}case"media_player":switch(t?.attributes.device_class){case"speaker":switch(n){case"playing":return"mdi:speaker-play";case"paused":return"mdi:speaker-pause";case"off":return"mdi:speaker-off";default:return"mdi:speaker"}case"tv":switch(n){case"playing":return"mdi:television-play";case"paused":return"mdi:television-pause";case"off":return"mdi:television-off";default:return"mdi:television"}default:switch(n){case"playing":case"paused":return"mdi:cast-connected";case"off":return"mdi:cast-off";default:return"mdi:cast"}}case"switch":switch(t?.attributes.device_class){case"outlet":return"on"===n?"mdi:power-plug":"mdi:power-plug-off";case"switch":return"on"===n?"mdi:toggle-switch":"mdi:toggle-switch-off";default:return"mdi:flash"}case"zwave":switch(n){case"dead":return"mdi:emoticon-dead";case"sleeping":return"mdi:sleep";case"initializing":return"mdi:timer-sand";default:return"mdi:z-wave"}case"sensor":{const e=ip(t);if(e)return e;break}case"input_datetime":if(!t?.attributes.has_date)return"mdi:clock";if(!t.attributes.has_time)return"mdi:calendar";break;case"sun":return"above_horizon"===t?.state?rp[e]:"mdi:weather-night";case"update":return"on"===t?.state?Qm(t)?"mdi:package-down":"mdi:package-up":"mdi:package"}return e in rp?rp[e]:(console.warn(`Unable to find icon for domain: ${e}`),ap)}function sp(e){if(!e)return ap;if(e.attributes.icon)return e.attributes.icon;return op(s(e.entity_id),e,e.state)}async function cp(e,t,n,i=!1){let a;try{a=await e.callWS(n)}catch(e){if(!(e instanceof Error))throw new vu(Pm("error.failed_response"),{request:n,response:e});throw e}if(!a)throw new vu(Pm("error.empty_response"),{request:n});const r=i?t.safeParse(JSON.parse(a)):t.safeParse(a);if(!r.success)throw new vu(Pm("error.invalid_response"),{request:n,response:a,invalid_keys:au(r.error)});return r.data}async function lp(e,t,n){const i={type:"auth/sign_path",path:t,expires:n},a=await cp(e,dm,i);return a?e.hassUrl(a.path):null}function dp(e,t,n,i){if(!e||!n||!n.length)return[];const a=[];for(const r of n){const n=t?.states[r],o=e.states[r];if((i?.stateOnly&&n?.state!==o?.state||!i?.stateOnly&&n!==o)&&(a.push({entity:r,oldState:n,newState:o}),i?.firstOnly))break}return a}function up(e,t,n,i){return!!dp(e,t,n,{...i,firstOnly:!0}).length}function hp(e){if("off"===e.state||!e.attributes.brightness)return"";return`brightness(${(e.attributes.brightness+245)/5}%)`}function mp(e){return"off"===e.state?"":e.attributes.rgb_color?`rgb(${e.attributes.rgb_color.join(",")})`:""}function pp(e){return{color:mp(e),filter:hp(e)}}const fp=e=>{const t=e.entity_id.split(".")[0];let n=e.state;return"climate"===t&&(n=e.attributes.hvac_action),n};function gp(e,t){if(!t.entity)return t;const n=e.states[t.entity];n&&t.state_color&&(t.style={...pp(n),...t.style}),t.title=t.title??(n?.attributes?.friendly_name||t.entity),t.icon=t.icon??sp(n);const i=n?function(e){return s(e.entity_id)}(n):void 0;return t.data_domain=t.state_color||"light"===i&&!1!==t.state_color?i:void 0,n&&(t.data_state=fp(n)),t}function vp(e,t){return t?e?.states[t]?.attributes?.friendly_name:void 0}function _p(e,t){return sp(t?e?.states[t]:null)}const yp=async()=>{if(["ha-selector","ha-menu-button","ha-camera-stream","ha-hls-player","ha-web-rtc-player","ha-icon","ha-circular-progress","ha-icon-button","ha-card","ha-svg-icon","ha-button-menu"].every((e=>customElements.get(e))))return!0;const e=await window.loadCardHelpers(),t=await e.createCardElement({type:"picture-glance",entities:[],camera_image:"dummy-to-load-editor-components"});return!!t.constructor.getConfigElement&&(await t.constructor.getConfigElement(),!0)},bp=e=>!!e&&["on","open"].includes(e.state),wp=(e,t)=>{if(!e)return[];const n=Object.keys(e.states).filter((e=>!t||e.substr(0,e.indexOf("."))===t));return n.sort(),n};function xp(e,t){return e&&t&&t.startsWith("/")?e.hassUrl(t):t??null}var Cp=6e4,$p=36e5,kp=1e3;function Ep(e,t){return Fm(2,arguments),Zm(e).getTime()-Zm(t).getTime()}var Mp={ceil:Math.ceil,round:Math.round,floor:Math.floor,trunc:function(e){return e<0?Math.ceil(e):Math.floor(e)}},Sp="trunc";function Tp(e){return e?Mp[e]:Mp[Sp]}function Ap(e,t,n){Fm(2,arguments);var i=Ep(e,t)/1e3;return Tp(null==n?void 0:n.roundingMethod)(i)}function zp(e){return zp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},zp(e)}function jp(e){if(Fm(1,arguments),!function(e){return Fm(1,arguments),e instanceof Date||"object"===zp(e)&&"[object Date]"===Object.prototype.toString.call(e)}(e)&&"number"!=typeof e)return!1;var t=Zm(e);return!isNaN(Number(t))}function Op(e,t){return Fm(2,arguments),function(e,t){Fm(2,arguments);var n=Zm(e).getTime(),i=Um(t);return new Date(n+i)}(e,-Um(t))}var Ip=864e5;function Rp(e){Fm(1,arguments);var t=Zm(e),n=t.getUTCDay(),i=(n<1?7:0)+n-1;return t.setUTCDate(t.getUTCDate()-i),t.setUTCHours(0,0,0,0),t}function Dp(e){Fm(1,arguments);var t=Zm(e),n=t.getUTCFullYear(),i=new Date(0);i.setUTCFullYear(n+1,0,4),i.setUTCHours(0,0,0,0);var a=Rp(i),r=new Date(0);r.setUTCFullYear(n,0,4),r.setUTCHours(0,0,0,0);var o=Rp(r);return t.getTime()>=a.getTime()?n+1:t.getTime()>=o.getTime()?n:n-1}var Pp=6048e5;function Lp(e){Fm(1,arguments);var t=Zm(e),n=Rp(t).getTime()-function(e){Fm(1,arguments);var t=Dp(e),n=new Date(0);return n.setUTCFullYear(t,0,4),n.setUTCHours(0,0,0,0),Rp(n)}(t).getTime();return Math.round(n/Pp)+1}var Np={};function Up(){return Np}function Fp(e,t){var n,i,a,r,o,s,c,l;Fm(1,arguments);var d=Up(),u=Um(null!==(n=null!==(i=null!==(a=null!==(r=null==t?void 0:t.weekStartsOn)&&void 0!==r?r:null==t||null===(o=t.locale)||void 0===o||null===(s=o.options)||void 0===s?void 0:s.weekStartsOn)&&void 0!==a?a:d.weekStartsOn)&&void 0!==i?i:null===(c=d.locale)||void 0===c||null===(l=c.options)||void 0===l?void 0:l.weekStartsOn)&&void 0!==n?n:0);if(!(u>=0&&u<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var h=Zm(e),m=h.getUTCDay(),p=(m=1&&m<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var p=new Date(0);p.setUTCFullYear(u+1,0,m),p.setUTCHours(0,0,0,0);var f=Fp(p,t),g=new Date(0);g.setUTCFullYear(u,0,m),g.setUTCHours(0,0,0,0);var v=Fp(g,t);return d.getTime()>=f.getTime()?u+1:d.getTime()>=v.getTime()?u:u-1}var Zp=6048e5;function qp(e,t){Fm(1,arguments);var n=Zm(e),i=Fp(n,t).getTime()-function(e,t){var n,i,a,r,o,s,c,l;Fm(1,arguments);var d=Up(),u=Um(null!==(n=null!==(i=null!==(a=null!==(r=null==t?void 0:t.firstWeekContainsDate)&&void 0!==r?r:null==t||null===(o=t.locale)||void 0===o||null===(s=o.options)||void 0===s?void 0:s.firstWeekContainsDate)&&void 0!==a?a:d.firstWeekContainsDate)&&void 0!==i?i:null===(c=d.locale)||void 0===c||null===(l=c.options)||void 0===l?void 0:l.firstWeekContainsDate)&&void 0!==n?n:1),h=Hp(e,t),m=new Date(0);return m.setUTCFullYear(h,0,u),m.setUTCHours(0,0,0,0),Fp(m,t)}(n,t).getTime();return Math.round(i/Zp)+1}function Vp(e,t){for(var n=e<0?"-":"",i=Math.abs(e).toString();i.length0?n:1-n;return Vp("yy"===t?i%100:i,t.length)},Bp=function(e,t){var n=e.getUTCMonth();return"M"===t?String(n+1):Vp(n+1,2)},Yp=function(e,t){return Vp(e.getUTCDate(),t.length)},Qp=function(e,t){return Vp(e.getUTCHours()%12||12,t.length)},Gp=function(e,t){return Vp(e.getUTCHours(),t.length)},Kp=function(e,t){return Vp(e.getUTCMinutes(),t.length)},Xp=function(e,t){return Vp(e.getUTCSeconds(),t.length)},Jp=function(e,t){var n=t.length,i=e.getUTCMilliseconds();return Vp(Math.floor(i*Math.pow(10,n-3)),t.length)},ef="midnight",tf="noon",nf="morning",af="afternoon",rf="evening",of="night",sf={G:function(e,t,n){var i=e.getUTCFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(i,{width:"abbreviated"});case"GGGGG":return n.era(i,{width:"narrow"});default:return n.era(i,{width:"wide"})}},y:function(e,t,n){if("yo"===t){var i=e.getUTCFullYear(),a=i>0?i:1-i;return n.ordinalNumber(a,{unit:"year"})}return Wp(e,t)},Y:function(e,t,n,i){var a=Hp(e,i),r=a>0?a:1-a;return"YY"===t?Vp(r%100,2):"Yo"===t?n.ordinalNumber(r,{unit:"year"}):Vp(r,t.length)},R:function(e,t){return Vp(Dp(e),t.length)},u:function(e,t){return Vp(e.getUTCFullYear(),t.length)},Q:function(e,t,n){var i=Math.ceil((e.getUTCMonth()+1)/3);switch(t){case"Q":return String(i);case"QQ":return Vp(i,2);case"Qo":return n.ordinalNumber(i,{unit:"quarter"});case"QQQ":return n.quarter(i,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(i,{width:"narrow",context:"formatting"});default:return n.quarter(i,{width:"wide",context:"formatting"})}},q:function(e,t,n){var i=Math.ceil((e.getUTCMonth()+1)/3);switch(t){case"q":return String(i);case"qq":return Vp(i,2);case"qo":return n.ordinalNumber(i,{unit:"quarter"});case"qqq":return n.quarter(i,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(i,{width:"narrow",context:"standalone"});default:return n.quarter(i,{width:"wide",context:"standalone"})}},M:function(e,t,n){var i=e.getUTCMonth();switch(t){case"M":case"MM":return Bp(e,t);case"Mo":return n.ordinalNumber(i+1,{unit:"month"});case"MMM":return n.month(i,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(i,{width:"narrow",context:"formatting"});default:return n.month(i,{width:"wide",context:"formatting"})}},L:function(e,t,n){var i=e.getUTCMonth();switch(t){case"L":return String(i+1);case"LL":return Vp(i+1,2);case"Lo":return n.ordinalNumber(i+1,{unit:"month"});case"LLL":return n.month(i,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(i,{width:"narrow",context:"standalone"});default:return n.month(i,{width:"wide",context:"standalone"})}},w:function(e,t,n,i){var a=qp(e,i);return"wo"===t?n.ordinalNumber(a,{unit:"week"}):Vp(a,t.length)},I:function(e,t,n){var i=Lp(e);return"Io"===t?n.ordinalNumber(i,{unit:"week"}):Vp(i,t.length)},d:function(e,t,n){return"do"===t?n.ordinalNumber(e.getUTCDate(),{unit:"date"}):Yp(e,t)},D:function(e,t,n){var i=function(e){Fm(1,arguments);var t=Zm(e),n=t.getTime();t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0);var i=n-t.getTime();return Math.floor(i/Ip)+1}(e);return"Do"===t?n.ordinalNumber(i,{unit:"dayOfYear"}):Vp(i,t.length)},E:function(e,t,n){var i=e.getUTCDay();switch(t){case"E":case"EE":case"EEE":return n.day(i,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(i,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(i,{width:"short",context:"formatting"});default:return n.day(i,{width:"wide",context:"formatting"})}},e:function(e,t,n,i){var a=e.getUTCDay(),r=(a-i.weekStartsOn+8)%7||7;switch(t){case"e":return String(r);case"ee":return Vp(r,2);case"eo":return n.ordinalNumber(r,{unit:"day"});case"eee":return n.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},c:function(e,t,n,i){var a=e.getUTCDay(),r=(a-i.weekStartsOn+8)%7||7;switch(t){case"c":return String(r);case"cc":return Vp(r,t.length);case"co":return n.ordinalNumber(r,{unit:"day"});case"ccc":return n.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(a,{width:"narrow",context:"standalone"});case"cccccc":return n.day(a,{width:"short",context:"standalone"});default:return n.day(a,{width:"wide",context:"standalone"})}},i:function(e,t,n){var i=e.getUTCDay(),a=0===i?7:i;switch(t){case"i":return String(a);case"ii":return Vp(a,t.length);case"io":return n.ordinalNumber(a,{unit:"day"});case"iii":return n.day(i,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(i,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(i,{width:"short",context:"formatting"});default:return n.day(i,{width:"wide",context:"formatting"})}},a:function(e,t,n){var i=e.getUTCHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(i,{width:"narrow",context:"formatting"});default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},b:function(e,t,n){var i,a=e.getUTCHours();switch(i=12===a?tf:0===a?ef:a/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(i,{width:"narrow",context:"formatting"});default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},B:function(e,t,n){var i,a=e.getUTCHours();switch(i=a>=17?rf:a>=12?af:a>=4?nf:of,t){case"B":case"BB":case"BBB":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(i,{width:"narrow",context:"formatting"});default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},h:function(e,t,n){if("ho"===t){var i=e.getUTCHours()%12;return 0===i&&(i=12),n.ordinalNumber(i,{unit:"hour"})}return Qp(e,t)},H:function(e,t,n){return"Ho"===t?n.ordinalNumber(e.getUTCHours(),{unit:"hour"}):Gp(e,t)},K:function(e,t,n){var i=e.getUTCHours()%12;return"Ko"===t?n.ordinalNumber(i,{unit:"hour"}):Vp(i,t.length)},k:function(e,t,n){var i=e.getUTCHours();return 0===i&&(i=24),"ko"===t?n.ordinalNumber(i,{unit:"hour"}):Vp(i,t.length)},m:function(e,t,n){return"mo"===t?n.ordinalNumber(e.getUTCMinutes(),{unit:"minute"}):Kp(e,t)},s:function(e,t,n){return"so"===t?n.ordinalNumber(e.getUTCSeconds(),{unit:"second"}):Xp(e,t)},S:function(e,t){return Jp(e,t)},X:function(e,t,n,i){var a=(i._originalDate||e).getTimezoneOffset();if(0===a)return"Z";switch(t){case"X":return lf(a);case"XXXX":case"XX":return df(a);default:return df(a,":")}},x:function(e,t,n,i){var a=(i._originalDate||e).getTimezoneOffset();switch(t){case"x":return lf(a);case"xxxx":case"xx":return df(a);default:return df(a,":")}},O:function(e,t,n,i){var a=(i._originalDate||e).getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+cf(a,":");default:return"GMT"+df(a,":")}},z:function(e,t,n,i){var a=(i._originalDate||e).getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+cf(a,":");default:return"GMT"+df(a,":")}},t:function(e,t,n,i){var a=i._originalDate||e;return Vp(Math.floor(a.getTime()/1e3),t.length)},T:function(e,t,n,i){return Vp((i._originalDate||e).getTime(),t.length)}};function cf(e,t){var n=e>0?"-":"+",i=Math.abs(e),a=Math.floor(i/60),r=i%60;if(0===r)return n+String(a);var o=t||"";return n+String(a)+o+Vp(r,2)}function lf(e,t){return e%60==0?(e>0?"-":"+")+Vp(Math.abs(e)/60,2):df(e,t)}function df(e,t){var n=t||"",i=e>0?"-":"+",a=Math.abs(e);return i+Vp(Math.floor(a/60),2)+n+Vp(a%60,2)}var uf=function(e,t){switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},hf=function(e,t){switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},mf={p:hf,P:function(e,t){var n,i=e.match(/(P+)(p+)?/)||[],a=i[1],r=i[2];if(!r)return uf(e,t);switch(a){case"P":n=t.dateTime({width:"short"});break;case"PP":n=t.dateTime({width:"medium"});break;case"PPP":n=t.dateTime({width:"long"});break;default:n=t.dateTime({width:"full"})}return n.replace("{{date}}",uf(a,t)).replace("{{time}}",hf(r,t))}};function pf(e){var t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.setUTCFullYear(e.getFullYear()),e.getTime()-t.getTime()}var ff=["D","DD"],gf=["YY","YYYY"];function vf(e){return-1!==ff.indexOf(e)}function _f(e){return-1!==gf.indexOf(e)}function yf(e,t,n){if("YYYY"===e)throw new RangeError("Use `yyyy` instead of `YYYY` (in `".concat(t,"`) for formatting years to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("YY"===e)throw new RangeError("Use `yy` instead of `YY` (in `".concat(t,"`) for formatting years to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("D"===e)throw new RangeError("Use `d` instead of `D` (in `".concat(t,"`) for formatting days of the month to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("DD"===e)throw new RangeError("Use `dd` instead of `DD` (in `".concat(t,"`) for formatting days of the month to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"))}var bf={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function wf(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}var xf={date:wf({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:wf({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:wf({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},Cf={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function $f(e){return function(t,n){var i;if("formatting"===(null!=n&&n.context?String(n.context):"standalone")&&e.formattingValues){var a=e.defaultFormattingWidth||e.defaultWidth,r=null!=n&&n.width?String(n.width):a;i=e.formattingValues[r]||e.formattingValues[a]}else{var o=e.defaultWidth,s=null!=n&&n.width?String(n.width):e.defaultWidth;i=e.values[s]||e.values[o]}return i[e.argumentCallback?e.argumentCallback(t):t]}}function kf(e){return function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.width,a=i&&e.matchPatterns[i]||e.matchPatterns[e.defaultMatchWidth],r=t.match(a);if(!r)return null;var o,s=r[0],c=i&&e.parsePatterns[i]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(c)?function(e,t){for(var n=0;n0?"in "+i:i+" ago":i},formatLong:xf,formatRelative:function(e,t,n,i){return Cf[e]},localize:{ordinalNumber:function(e,t){var n=Number(e),i=n%100;if(i>20||i<10)switch(i%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:$f({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:$f({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:function(e){return e-1}}),month:$f({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:$f({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:$f({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})},match:{ordinalNumber:(Ef={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:function(e){return parseInt(e,10)}},function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.match(Ef.matchPattern);if(!n)return null;var i=n[0],a=e.match(Ef.parsePattern);if(!a)return null;var r=Ef.valueCallback?Ef.valueCallback(a[0]):a[0];return{value:r=t.valueCallback?t.valueCallback(r):r,rest:e.slice(i.length)}}),era:kf({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:kf({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:function(e){return e+1}}),month:kf({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:kf({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:kf({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},options:{weekStartsOn:0,firstWeekContainsDate:1}},Sf=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Tf=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Af=/^'([^]*?)'?$/,zf=/''/g,jf=/[a-zA-Z]/;function Of(e,t,n){var i,a,r,o,s,c,l,d,u,h,m,p,f,g,v,_,y,b;Fm(2,arguments);var w=String(t),x=Up(),C=null!==(i=null!==(a=null==n?void 0:n.locale)&&void 0!==a?a:x.locale)&&void 0!==i?i:Mf,$=Um(null!==(r=null!==(o=null!==(s=null!==(c=null==n?void 0:n.firstWeekContainsDate)&&void 0!==c?c:null==n||null===(l=n.locale)||void 0===l||null===(d=l.options)||void 0===d?void 0:d.firstWeekContainsDate)&&void 0!==s?s:x.firstWeekContainsDate)&&void 0!==o?o:null===(u=x.locale)||void 0===u||null===(h=u.options)||void 0===h?void 0:h.firstWeekContainsDate)&&void 0!==r?r:1);if(!($>=1&&$<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var k=Um(null!==(m=null!==(p=null!==(f=null!==(g=null==n?void 0:n.weekStartsOn)&&void 0!==g?g:null==n||null===(v=n.locale)||void 0===v||null===(_=v.options)||void 0===_?void 0:_.weekStartsOn)&&void 0!==f?f:x.weekStartsOn)&&void 0!==p?p:null===(y=x.locale)||void 0===y||null===(b=y.options)||void 0===b?void 0:b.weekStartsOn)&&void 0!==m?m:0);if(!(k>=0&&k<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!C.localize)throw new RangeError("locale must contain localize property");if(!C.formatLong)throw new RangeError("locale must contain formatLong property");var E=Zm(e);if(!jp(E))throw new RangeError("Invalid time value");var M=Op(E,pf(E)),S={firstWeekContainsDate:$,weekStartsOn:k,locale:C,_originalDate:E};return w.match(Tf).map((function(e){var t=e[0];return"p"===t||"P"===t?(0,mf[t])(e,C.formatLong):e})).join("").match(Sf).map((function(i){if("''"===i)return"'";var a=i[0];if("'"===a)return function(e){var t=e.match(Af);if(!t)return e;return t[1].replace(zf,"'")}(i);var r=sf[a];if(r)return null!=n&&n.useAdditionalWeekYearTokens||!_f(i)||yf(i,t,String(e)),null!=n&&n.useAdditionalDayOfYearTokens||!vf(i)||yf(i,t,String(e)),r(M,i,C.localize,S);if(a.match(jf))throw new RangeError("Format string contains an unescaped latin alphabet character `"+a+"`");return i})).join("")}function If(e,t,n){e.dispatchEvent(new CustomEvent(`frigate-card:${t}`,{bubbles:!0,composed:!0,detail:n}))}function Rf(e){if(!e)return;return e.split(/[_\s]+/).map((e=>e[0].toUpperCase()+e.substring(1))).join(" ")}function Df(e,t,n){const i=e[t];return e.splice(t,1),e.splice(n,0,i),e}const Pf=e=>Array.isArray(e)?e:[e];function Lf(e,t){return!Aa(e,t)}function Nf(e,t=console.warn){e instanceof vu&&e.context?t(e,e.context):t(e)}const Uf=()=>window.matchMedia("(hover: hover) and (pointer: fine)").matches,Ff=(e,t)=>Of(e,"yyyy-MM-dd HH:mm"+(t?":ss":"")),Hf=e=>Of(e,"yyyy-MM-dd"),Zf=(e,t)=>{window.requestIdleCallback?window.requestIdleCallback(e,{...t&&{timeout:t}}):e()};function qf(e,t){const n=function(e,t,n){Fm(2,arguments);var i=Ep(e,t)/$p;return Tp(null==n?void 0:n.roundingMethod)(i)}(t,e),i=function(e,t,n){Fm(2,arguments);var i=Ep(e,t)/Cp;return Tp(null==n?void 0:n.roundingMethod)(i)}(t,e)-60*n;let a="";return n&&(a+=`${n}h `),i&&(a+=`${i}m `),a+=`${Ap(t,e)-60*n*60-60*i}s`,a}const Vf=async(e,t)=>await Promise.all(Array.from(e).map((e=>t(e)))),Wf=e=>new Date(`${e}T00:00:00`),Bf=async e=>{await new Promise((t=>setTimeout(t,1e3*e)))},Yf=e=>!isNaN(e.getTime()),Qf=(e,t,n,i)=>{t?e.setAttribute(n,i??""):e.removeAttribute(n)},Gf=Ws.lazy((()=>Ws.object({title:Ws.string(),media_class:Ws.string(),media_content_type:Ws.string(),media_content_id:Ws.string(),can_play:Ws.boolean(),can_expand:Ws.boolean(),children_media_class:Ws.string().nullable().optional(),thumbnail:Ws.string().nullable(),children:Ws.array(Gf).nullable().optional()}))),Kf="video",Xf="image",Jf=60;class eg{constructor(e){this._cache=e}async walkBrowseMedias(e,t,n){return t&&t.length?(await Vf(t,(async t=>await this._walkBrowseMedia(e,t,n)))).flat():[]}async _walkBrowseMedia(e,t,n){const i=await Vf(t.targets,(async i=>await this._browseMedia(e,i,{useCache:n?.useCache,metadataGenerator:t.metadataGenerator}))),a=[];for(const e of i)for(const n of e.children??[])t.matcher(n)&&a.push(n);const r=t.advance?t.advance(a):null;if(!r||!r.length)return a;const o=new Set(r.map((e=>e.targets)).flat()),s=[];for(const e of a)o.has(e)||s.push(e);const c=await this.walkBrowseMedias(e,r,n);return s.concat(c)}async _browseMedia(e,t,n){const i="object"==typeof t?t.media_content_id:t,a=n?.useCache??1?this._cache.get(i):null;if(a)return a;const r={type:"media_source/browse_media",media_content_id:i},o=await cp(e,Gf,r);if(n?.metadataGenerator)for(const e of o.children??[])e._metadata=n.metadataGenerator(e,"object"==typeof t?t:void 0)??void 0;return(n?.useCache??1)&&this._cache.set(i,o,Bm(new Date,{seconds:60})),o}}function tg(e,t){for(var n=-1,i=null==e?0:e.length,a=Array(i);++nt||r&&o&&c&&!s&&!l||i&&o&&c||!n&&c||!a)return 1;if(!i&&!r&&!l&&e=s?c:c*("desc"==n[i]?-1:1)}return e.index-t.index}(e,t,n)}))}function Rg(e,t,n,i){return null==e?[]:(Yt(t)||(t=null==t?[]:[t]),Yt(n=i?void 0:n)||(n=null==n?[]:[n]),Ig(e,t,n))}function Dg(e,t){return e&&e.length?function(e,t){for(var n=-1,i=e.length,a=0,r=[];++nNg(t,e)))}add(e){this._ranges.push(e),this._ranges=Fg(this._ranges)}clear(){this._ranges=[]}}class Lg{constructor(e){this._ranges=e??[]}hasCoverage(e){const t=new Date;return this._ranges.some((n=>tet.start>=e.start&&t.end<=e.end,Ug=(e,t)=>e.start>=t.start&&e.start<=t.end||e.end>=t.start&&e.end<=t.end||e.start<=t.start&&e.end>=t.end,Fg=(e,t=0)=>{const n=[];e=Rg(e,(e=>e.start),"asc");let i=null;for(let a=0;a=o?r.end>i.end&&(i.end=r.end):(n.push(i),i={...r})}return i&&n.push(i),n};class Hg{constructor(){this._data=[]}get(e){const t=new Date;for(const n of this._data)if((!n.expires||t<=n.expires)&&this._contains(e,n.request))return n.response;return null}clear(){this._data=[]}has(e){return!!this.get(e)}set(e,t,n){this._data.push({request:e,response:t,expires:n}),this._expireOldRequests()}_contains(e,t){return Aa(e,t)}_expireOldRequests(){const e=new Date;this._data=this._data.filter((t=>!t.expires||e=e.start.getTime()){if(i>e.end.getTime())break;t.push(n)}}return t}getSize(){return this._data.length}expireMatches(e){this._data=this._data.filter((t=>!e(t)))}}class Vg{constructor(){this._segments=new Map}add(e,t,n){let i=this._segments.get(e);i||(i=new qg((e=>1e3*e.start_time),(e=>e.id)),this._segments.set(e,i)),i.add(t,n)}clear(){this._segments.clear()}hasCoverage(e,t){return!!this._segments.get(e)?.hasCoverage(t)}get(e,t){return this._segments.get(e)?.get(t)??null}getSize(e){return this._segments.get(e)?.getSize()??null}getCameraIDs(){return[...this._segments.keys()]}expireMatches(e,t){this._segments.get(e)?.expireMatches(t)}}class Wg extends vu{}var Bg,Yg,Qg;function Gg(e){Fm(1,arguments);var t=Zm(e);return t.setMinutes(0,0,0),t}function Kg(e){Fm(1,arguments);var t=Zm(e);return t.setMinutes(59,59,999),t}function Xg(e){Fm(1,arguments);var t=Zm(e);return t.setHours(0,0,0,0),t}function Jg(e){Fm(1,arguments);var t=Zm(e);return t.setHours(23,59,59,999),t}function ev(e){return e!=e}function tv(e,t){return!!(null==e?0:e.length)&&function(e,t,n){return t==t?function(e,t,n){for(var i=n-1,a=e.length;++i-1}function nv(e,t,n){for(var i=-1,a=null==e?0:e.length;++i=av){var l=t?null:iv(e);if(l)return ra(l);o=!1,a=ea,c=new Xi}else c=t?[]:s;e:for(;++i{let n,i;return(e.end.getTime()-e.start.getTime())/1e3<=3600?(n=Gg(e.start),i=Kg(e.end)):(n=Xg(e.start),i=Jg(e.end)),t?.endCap&&(i=function(e){Fm(1,arguments);var t=Zm(e);return t.setSeconds(59,999),t}(sv(i))),{start:n,end:i}},sv=e=>{const t=new Date;return e>t?t:e},cv=e=>{return Rg((n=e=>e.getID()??e,(t=e)&&t.length?rv(t,zg(n)):[]),(e=>e.getStartTime()),"asc");var t,n},lv=e=>e.camera_entity??e.webrtc_card?.entity??null;class dv{constructor(e,t,n){this._entityRegistryManager=e,this._cardWideConfig=n,this._resolvedMediaCache=t}async createEngine(e){let t=null;switch(e){case Qg.Generic:const{GenericCameraManagerEngine:e}=await import("./engine-generic-395b8c68.js");t=new e;break;case Qg.Frigate:const{FrigateCameraManagerEngine:n}=await import("./engine-frigate-2c5e3aa9.js");t=new n(this._cardWideConfig,new Vg,new Zg);break;case Qg.MotionEye:const{MotionEyeCameraManagerEngine:i}=await import("./engine-motioneye-ae70fe08.js");t=new i(new eg(new Hg),this._resolvedMediaCache,new Zg)}return t}async getEngineForCamera(e,t){let n=null;if("frigate"===t.engine)n=Qg.Frigate;else if("motioneye"===t.engine)n=Qg.MotionEye;else if("generic"===t.engine)n=Qg.Generic;else if("auto"===t.engine){const i=lv(t);if(i){let a;try{a=await this._entityRegistryManager.getEntity(e,i)}catch(n){if(e.states[i])return Qg.Generic;throw new Wg(Pm("error.no_camera_entity"),t)}switch(a?.platform){case"frigate":n=Qg.Frigate;break;case"motioneye":n=Qg.MotionEye;break;default:n=Qg.Generic}}else t.frigate.camera_name&&(n=Qg.Frigate)}return n}}function uv(e){return e&&e.length?function(e,t){for(var n,i=-1,a=e.length;++i{e?.debug?.logging&&console.debug(...t)};function mv(e){return"string"==typeof e?.id&&e.id||"string"==typeof e?.camera_entity&&e.camera_entity||"object"==typeof e?.webrtc_card&&e.webrtc_card&&"string"==typeof e.webrtc_card.entity&&e.webrtc_card.entity||"object"==typeof e?.frigate&&e.frigate&&"string"==typeof e?.frigate.camera_name&&e.frigate.camera_name||""}function pv(e,t){if(!e||!t)return null;const n=e.getStore().getCameras(),i=new Set,a=e=>{const t=n.get(e);if(t){i.add(e);const r=new Set;t.dependencies.cameras.forEach((e=>r.add(e))),t.dependencies.all_cameras&&n.forEach(((e,t)=>r.add(t)));for(const e of r)i.has(e)||a(e)}};return t&&a(t),i}class fv{constructor(){this._allConfigs=new Map,this._visibleConfigs=new Map,this._enginesByCamera=new Map,this._enginesByType=new Map}addCamera(e,t,n){t.hide||this._visibleConfigs.set(e,t),this._allConfigs.set(e,t),this._enginesByCamera.set(e,n),this._enginesByType.set(n.getEngineType(),n)}getCameraConfig(e){return this._allConfigs.get(e)??null}hasCameraID(e){return this._allConfigs.has(e)}hasVisibleCameraID(e){return this._visibleConfigs.has(e)}getCameraCount(){return this._allConfigs.size}getVisibleCameraCount(){return this._visibleConfigs.size}getCameras(){return this._allConfigs}getVisibleCameras(){return this._visibleConfigs}getCameraIDs(){return new Set(this._allConfigs.keys())}getVisibleCameraIDs(){return new Set(this._visibleConfigs.keys())}getCameraConfigForMedia(e){const t=e.getCameraID();return t?this.getCameraConfig(t):null}getEngineOfType(e){return this._enginesByType.get(e)??null}getEngineForCameraID(e){return this._enginesByCamera.get(e)??null}getEnginesForCameraIDs(e){const t=new Map;for(const n of e){const e=this.getEngineForCameraID(n);e&&(t.has(e)||t.set(e,new Set),t.get(e)?.add(n))}return t.size?t:null}getEngineForMedia(e){const t=e.getCameraID();return t?this.getEngineForCameraID(t):null}getAllEngines(){return[...this._enginesByType.values()]}}class gv{static isEventQuery(e){return e.type===Bg.Event}static isRecordingQuery(e){return e.type===Bg.Recording}static isRecordingSegmentsQuery(e){return e.type===Bg.RecordingSegments}static isMediaMetadataQuery(e){return e.type===Bg.MediaMetadata}}class vv{static isEventQueryResult(e){return e.type===Yg.Event}static isRecordingQuery(e){return e.type===Yg.Recording}static isRecordingSegmentsQuery(e){return e.type===Yg.RecordingSegments}static isMediaMetadataQuery(e){return e.type===Yg.MediaMetadata}}class _v{constructor(e,t){this._engineFactory=e,this._cardWideConfig=t,this._store=new fv}async _getEnginesForCameras(e,t){const n=new Map,i=new Map,a=await(async t=>await Vf(t,(t=>this._engineFactory.getEngineForCamera(e,t))))(t);for(const[e,r]of t.entries()){const t=a[e],o=t?i.get(t)??await this._engineFactory.createEngine(t):null;if(!o||!t)throw new Wg(Pm("error.no_camera_engine"),r);i.set(t,o),n.set(r,o)}return n}async _initializeCamera(e,t,n,i){return{inputConfig:i,initializedConfig:await t.initializeCamera(e,n,Gi(i)),engine:t}}async initializeCameras(e,t,n){const i=new Date;n.some((e=>(e=>e.triggers.motion||e.triggers.occupancy)(e)))&&await t.fetchEntityList(e);const a=await this._getEnginesForCameras(e,n);if((await Vf(a.entries(),(async([n,i])=>await this._initializeCamera(e,i,t,n)))).forEach((e=>{const t=mv(e.initializedConfig);if(!t)throw new Wg(Pm("error.no_camera_id"),e.inputConfig);if(this._store.hasCameraID(t))throw new Wg(Pm("error.duplicate_camera_id"),e.inputConfig);this._store.addCamera(t,e.initializedConfig,e.engine)})),!this._store.getVisibleCameraCount())throw new Wg(Pm("error.no_visible_cameras"));hv(this._cardWideConfig,"Frigate Card CameraManager initialized (Cameras: ",this._store.getCameras(),`, Duration: ${((new Date).getTime()-i.getTime())/1e3}s,`,")")}isInitialized(){return this._store.getCameraCount()>0}getStore(){return this._store}generateDefaultEventQueries(e,t){return this._generateDefaultQueries(e,{type:Bg.Event,...t})}generateDefaultRecordingQueries(e,t){return this._generateDefaultQueries(e,{type:Bg.Recording,...t})}generateDefaultRecordingSegmentsQueries(e,t){return this._generateDefaultQueries(e,{type:Bg.RecordingSegments,...t})}async getMediaMetadata(e){const t=new Set,n=new Set,i=new Set,a=new Set,r={type:Bg.MediaMetadata,cameraIDs:this._store.getCameraIDs()},o=await this._handleQuery(e,r);for(const e of o?.values()??[])e.metadata.tags&&e.metadata.tags.forEach(t.add,t),e.metadata.what&&e.metadata.what.forEach(n.add,n),e.metadata.where&&e.metadata.where.forEach(i.add,i),e.metadata.days&&e.metadata.days.forEach(a.add,a);return n.size||i.size||a.size?{...t.size&&{tags:t},...n.size&&{what:n},...i.size&&{where:i},...a.size&&{days:a}}:null}_generateDefaultQueries(e,t){const n=[],i=(a=e)instanceof Set?a:new Set(Pf(a));var a;const r=this._store.getEnginesForCameraIDs(i);if(!r)return null;for(const[e,i]of r){let a=null;gv.isEventQuery(t)?a=e.generateDefaultEventQuery(this._store.getVisibleCameras(),i,t):gv.isRecordingQuery(t)?a=e.generateDefaultRecordingQuery(this._store.getVisibleCameras(),i,t):gv.isRecordingSegmentsQuery(t)&&(a=e.generateDefaultRecordingSegmentsQuery(this._store.getVisibleCameras(),i,t));for(const e of a??[])n.push(e)}return n.length?n:null}async getEvents(e,t,n){return await this._handleQuery(e,t,n)}async getRecordings(e,t,n){return await this._handleQuery(e,t,n)}async getRecordingSegments(e,t,n){return await this._handleQuery(e,t,n)}async executeMediaQueries(e,t,n){return this._convertQueryResultsToMedia(e,await this._handleQuery(e,t,n))}async extendMediaQueries(e,t,n,i,a){const r=e=>{let t=null;for(const i of n){const n=i.getStartTime();n&&(!t||"earliest"===e&&nt)&&(t=n)}return t},o=this._cardWideConfig?.performance?.features.media_chunk_size??50,s=[],c=[];for(const e of t){const t={...e};if("later"===i){const e=r("latest");e&&(t.start=e)}else if("earlier"===i){const e=r("earliest");e&&(t.end=e)}t.limit=o,c.push({...e,limit:(e.limit??0)+o}),s.push(t)}const l=this._convertQueryResultsToMedia(e,await this._handleQuery(e,s,a));if(!l.length)return null;const d=cv(n.concat(l));return d.length===n.length?null:{queries:c,results:d}}async getMediaDownloadPath(e,t){const n=this._store.getCameraConfigForMedia(t),i=this._store.getEngineForMedia(t);return n&&i?await i.getMediaDownloadPath(e,n,t):null}getMediaCapabilities(e){const t=this._store.getEngineForMedia(e);return t?t.getMediaCapabilities(e):null}async favoriteMedia(e,t,n){const i=this._store.getCameraConfigForMedia(t),a=this._store.getEngineForMedia(t);if(!i||!a)return;const r=new Date;await a.favoriteMedia(e,i,t,n),hv(this._cardWideConfig,"Frigate Card CameraManager favorite request (",`Duration: ${((new Date).getTime()-r.getTime())/1e3}s,`,"Media:",t.getID(),", Favorite:",n,")")}areMediaQueriesResultsFresh(e,t){const n=new Date;for(const i of e){const e=this._store.getEnginesForCameraIDs(i.cameraIDs);for(const[a,r]of e??[]){const e=a.getQueryResultMaxAge({...i,cameraIDs:r});if(null!==e&&Bm(t,{seconds:e})a?null:await o.getMediaSeekTime(e,this._store.getCameras(),t,n)}async _handleQuery(e,t,n){const i=Pf(t),a=new Map,r=new Date,o=async(t,i)=>{if(!i)return;let r=null;gv.isEventQuery(i)?r=await t.getEvents(e,this._store.getCameras(),i,n):gv.isRecordingQuery(i)?r=await t.getRecordings(e,this._store.getCameras(),i,n):gv.isRecordingSegmentsQuery(i)?r=await t.getRecordingSegments(e,this._store.getCameras(),i,n):gv.isMediaMetadataQuery(i)&&(r=await t.getMediaMetadata(e,this._store.getCameras(),i,n)),r?.forEach(((e,t)=>a.set(t,e)))},s=async e=>{const t=this._store.getEnginesForCameraIDs(e.cameraIDs);t&&await Promise.all(Array.from(t.keys()).map((n=>o(n,{...e,cameraIDs:t.get(n)}))))};await Promise.all(i.map((e=>s(e))));const c=uv(Array.from(a.values()).map((e=>Number(e.cached??0))));return hv(this._cardWideConfig,"Frigate Card CameraManager request [Input queries:",i.length,", Cached output queries:",c,", Total output queries:",a.size,", Duration:",((new Date).getTime()-r.getTime())/1e3+"s,",", Queries:",i,", Results:",a,"]"),a}_convertQueryResultsToMedia(e,t){const n=[];for(const[i,a]of t.entries()){const t=this._store.getEngineOfType(a.engine);if(t){let r=null;gv.isEventQuery(i)&&vv.isEventQueryResult(a)?r=t.generateMediaFromEvents(e,this._store.getCameras(),i,a):gv.isRecordingQuery(i)&&vv.isRecordingQuery(a)&&(r=t.generateMediaFromRecordings(e,this._store.getCameras(),i,a)),r&&n.push(...r)}}return cv(n)}getCameraEndpoints(e,t){const n=this._store.getCameraConfig(e),i=this._store.getEngineForCameraID(e);return n&&i?i.getCameraEndpoints(n,t):null}getCameraMetadata(e,t){const n=this._store.getCameraConfig(t),i=this._store.getEngineForCameraID(t);return n&&i?i.getCameraMetadata(e,n):null}getCameraCapabilities(e){const t=this._store.getCameraConfig(e),n=this._store.getEngineForCameraID(e);return t&&n?n.getCameraCapabilities(t):null}getAggregateCameraCapabilities(e){const t=[...e??this._store.getCameraIDs()].map((e=>this.getCameraCapabilities(e)));return{canFavoriteEvents:t.some((e=>e?.canFavoriteEvents)),canFavoriteRecordings:t.some((e=>e?.canFavoriteRecordings)),canSeek:t.some((e=>e?.canSeek)),supportsClips:t.some((e=>e?.supportsClips)),supportsRecordings:t.some((e=>e?.supportsRecordings)),supportsSnapshots:t.some((e=>e?.supportsSnapshots)),supportsTimeline:t.some((e=>e?.supportsTimeline))}}}var yv='.dotdotdot:after {\n animation: dots 2s linear infinite;\n content: "";\n display: inline-block;\n width: 3em;\n}\n@keyframes dots {\n 0%, 20% {\n content: ".";\n }\n 40% {\n content: "..";\n }\n 60% {\n content: "...";\n }\n 90%, 100% {\n content: "";\n }\n}\n\n:host {\n display: block;\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n user-select: text;\n -webkit-user-select: text;\n color: var(--primary-text-color);\n}\n\ndiv.wrapper {\n height: 100%;\n}\n\ndiv.message {\n display: flex;\n justify-content: center;\n align-items: center;\n box-sizing: border-box;\n height: 100%;\n}\n\ndiv.message.padded {\n padding: 20px;\n}\n\ndiv.message div.contents {\n display: flex;\n flex-direction: column;\n padding: 10px;\n margin-top: auto;\n margin-bottom: auto;\n min-width: 0;\n}\n\ndiv.message div.icon {\n padding: 10px;\n}\n\n.vertical {\n flex-direction: column;\n}\n\n.message a {\n color: var(--primary-text-color, white);\n word-break: break-word;\n}\n\n.message pre {\n margin-top: 20px;\n white-space: pre-wrap;\n word-break: break-all;\n}';let bv=class extends ge{constructor(){super(...arguments),this.message=""}render(){const e=this.icon?this.icon:"mdi:information-outline",t={dotdotdot:!!this.dotdotdot};return K`
-
-
- -
-
- - ${this.message?K`${this.message}${this.context&&"string"==typeof this.context?": "+this.context:""}`:""} - - ${this.context&&"string"!=typeof this.context?K`
${JSON.stringify(this.context,null,2)}
`:""} -
-
-
`}static get styles(){return b(yv)}};e([be({attribute:!1})],bv.prototype,"message",void 0),e([be({attribute:!1})],bv.prototype,"context",void 0),e([be({attribute:!1})],bv.prototype,"icon",void 0),e([be({attribute:!0,type:Boolean})],bv.prototype,"dotdotdot",void 0),bv=e([_e("frigate-card-message")],bv);let wv=class extends ge{render(){if(this.message)return K` ${Pm("error.troubleshooting")}.`} - .icon=${"mdi:alert-circle"} - .context=${this.message.context} - .dotdotdot=${this.message.dotdotdot} - > - `}static get styles(){return b(yv)}};e([be({attribute:!1})],wv.prototype,"message",void 0),wv=e([_e("frigate-card-error-message")],wv);let xv=class extends ge{constructor(){super(...arguments),this.message="",this.animated=!1,this.size="large"}render(){return K`
- ${this.animated?K` - `:K``} - ${this.message?K`${this.message}`:K``} -
`}static get styles(){return b(yv)}};function Cv(e){return"error"===e.type?K` `:K` `}function $v(e){return K` - - - `}function kv(e,t,n,i){If(e,"message",{message:t,type:n,icon:i?.icon,context:i?.context})}function Ev(e,t,n){kv(e,t,"error",{context:n?.context})}function Mv(e,t){t instanceof Error&&Ev(e,t.message,{...t instanceof vu&&{context:t.context}})}function Sv(e,t,n){return null==e?e:function(e,t,n,i){if(!ot(e))return e;for(var a=-1,r=(t=gg(t,e)).length,o=r-1,s=e;null!=s&&++a{Sv(e,t,n)},Av=(e,t,n)=>kg(e,t,n),zv=(e,t)=>{let n=t,i=e;if(t&&t.split&&t.includes(".")){const a=t.split(".");n=a[a.length-1],i=Av(e,a.slice(0,-1).join("."))}i&&"object"==typeof i&&delete i[n]},jv=function(e){let t=!1;for(let n=0;nGi(e),Rv=function(e,t,n){return i=>{let a=e(i);return"number"!=typeof a||(a=t?Math.max(t,a):a,a=n?Math.min(n,a):a),a}},Dv=function(e){if("number"!=typeof e)return"string"!=typeof e?null:(e=e.replace(/px$/i,""),isNaN(e)?null:Number(e))},Pv=function(e){return null},Lv=(e,t)=>e.replace("#",`[${t.toString()}]`),Nv=function(e,t,n){return function(i){return((e,t,n,i)=>{const a=Av(e,t);if(void 0===a)return!1;const r=i?.transform?i.transform(a):a;return!(t===n&&Aa(a,r)||(null===r?i?.keepOriginal||(zv(e,t),0):void 0===r||(i?.keepOriginal||zv(e,t),Tv(e,n,r),0)))})(i,e,t,n)}},Uv=function(e,t,n){return function(i){let a=Nv(e,t,n)(i);return a=Zv(Yd,Nv(e,t,n),(e=>e.overrides))(i)||a,a}},Fv=function(e,t){return Uv(e,e,{transform:t})},Hv=function(e,t){return Nv(e,e,{transform:t})},Zv=function(e,t,n){return function(i){let a=!1;const r=Av(i,e);return Array.isArray(r)&&r.forEach((e=>{const i=n?n(e):e;i&&"object"==typeof i&&(a=t(i)||a)})),a}},qv=function(e){if("object"!=typeof e)return"boolean"!=typeof e?null:{enabled:e}},Vv=e=>{const t=`${e}.show_controls`;return function(n){let i=!1;return i=Uv(t,`${e}.show_favorite_control`,{keepOriginal:!0})(n)||i,i=Uv(t,`${e}.show_timeline_control`,{keepOriginal:!0})(n)||i,Fv(t,Pv)(n)||i}},Wv=(e,t)=>{const n=i=>{let a=!1;if(i&&"object"==typeof i){const r=t?t(i):i;r&&(a=e(r)||a),Array.isArray(i)?i.filter((e=>"object"==typeof e)).forEach((e=>{a=n(e)||a})):Object.keys(i).filter((e=>"object"==typeof i[e])).forEach((e=>{a=n(i[e])||a}))}return a};return n},Bv=e=>!("object"!=typeof e||!e||void 0===e.mediaLoaded)&&(e.media_loaded=e.mediaLoaded,delete e.mediaLoaded,!0),Yv=e=>!("object"!=typeof e||!e||"custom:frigate-card-action"!==e.action||"frigate_ui"!==e.frigate_card_action)&&(e.frigate_card_action="camera_ui",!0),Qv=[Fv(Rl,Rv(Dv,75,cu)),Fv("event_viewer.controls.thumbnails.size",Rv(Dv,75,cu)),Fv(jl,Rv(Dv,su)),Fv("event_viewer.controls.next_previous.size",Rv(Dv,su)),Fv(Ad,Rv(Dv,su)),Fv("event_gallery.min_columns",Pv),function(e){let t=!1;return t=Uv("menu.mode",Td,{transform:e=>{if("string"==typeof e){const t=e.match(/^(hover|hidden|overlay|above|below|none)/);if(t)switch(t[1]){case"hover":case"hidden":case"overlay":case"none":return t[1];case"above":case"below":return"outside"}}},keepOriginal:!0})(e)||t,t=Uv("menu.mode",Sd,{transform:e=>{if("string"==typeof e){const t=e.match(/(above|below|left|right|top|bottom)$/);if(t)switch(t[1]){case"left":case"right":case"top":case"bottom":return t[1];case"above":return"top";case"below":return"bottom"}}},keepOriginal:!0})(e)||t,Fv("menu.mode",Pv)(e)||t},Fv(Rd,qv),Fv(jd,qv),Fv(Nd,qv),Fv(Od,qv),Fv(Fd,qv),Fv(Ld,qv),Fv(Id,qv),Fv("menu.buttons.frigate_ui",qv),Fv(Pd,qv),Hv(Jl,(e=>"boolean"==typeof e?e?"all":"never":void 0)),Hv(Tl,(e=>"boolean"==typeof e?e?"all":"never":void 0)),Hv("event_viewer.auto_play",(e=>"boolean"==typeof e?e?"all":"never":void 0)),Hv("event_viewer.auto_unmute",(e=>"boolean"==typeof e?e?"all":"never":void 0)),Uv("event_viewer",Qc),Zv(Qs,Nv("camera_name","frigate.camera_name")),Zv(Qs,Nv("client_id","frigate.client_id")),Zv(Qs,Nv("label","frigate.label")),Zv(Qs,Nv("frigate_url","frigate.url")),Zv(Qs,Nv("zone","frigate.zone")),Vv("event_gallery.controls.thumbnails"),Vv("media_viewer.controls.thumbnails"),Vv("live.controls.thumbnails"),Vv("timeline.controls.thumbnails"),Zv(Yd,Bv,(e=>e.conditions)),e=>Wv(Bv,(e=>e.conditions))("object"==typeof e&&e?e.elements:{}),Uv("event_gallery",Hc),Uv("menu.buttons.frigate_ui",Dd),e=>Wv(Yv)("object"==typeof e&&e?e:{}),Zv(Qs,Fv("live_provider",(e=>"frigate-jsmpeg"===e?"jsmpeg":e))),Uv("live.image",$c),Uv("live.jsmpeg",kc),Uv("live.webrtc_card",Ec),Zv(Qs,Uv("frigate.zone","frigate.zones",{transform:e=>Pf(e)})),Zv(Qs,Uv("frigate.label","frigate.labels",{transform:e=>Pf(e)}))];class Gv extends Event{constructor(e,t){super("frigate-card:condition:evaluate",t),this.condition=e}}function Kv(e,t,n,i){const a=Iv(t);let r=!1;if(n)for(const t of n)e.evaluateCondition(t.conditions,i)&&(tr(a,t.overrides),r=!0);return r?a:t}class Xv{constructor(e){this._state={},this._epoch=this._createEpoch(),this._stateListeners=[],this._hasHAStateConditions=!1,this._mediaQueries=[],this._mediaQueryTrigger=()=>this._triggerChange(),e&&this._initConditions(e)}addStateListener(e){this._stateListeners.push(e)}removeStateListener(e){this._stateListeners=this._stateListeners.filter((t=>t!=e))}destroy(){this._mediaQueries.forEach((e=>e.removeEventListener("change",this._mediaQueryTrigger))),this._mediaQueries=[]}setState(e){this._state={...this._state,...e},this._triggerChange()}get hasHAStateConditions(){return this._hasHAStateConditions}getEpoch(){return this._epoch}evaluateCondition(e,t){const n={...this._state,...t};let i=!0;if(e.view?.length&&(i&&=!!n?.view&&e.view.includes(n.view)),void 0!==e.fullscreen&&(i&&=void 0!==n.fullscreen&&e.fullscreen==n.fullscreen),void 0!==e.expand&&(i&&=void 0!==n.expand&&e.expand==n.expand),e.camera?.length&&(i&&=!!n.camera&&e.camera.includes(n.camera)),e.state?.length)for(const t of e.state)i&&=!(!n.state||(t.state||t.state_not)&&(!(t.entity in n.state)||t.state&&n.state[t.entity].state!==t.state||t.state_not&&n.state[t.entity].state===t.state_not));return void 0!==e.media_loaded&&(i&&=void 0!==n.media_loaded&&e.media_loaded==n.media_loaded),e.media_query&&(i&&=window.matchMedia(e.media_query).matches),i}_createEpoch(){return{controller:this}}_triggerChange(){this._epoch=this._createEpoch(),this._stateListeners.forEach((e=>e()))}_initConditions(e){const t=(e=>{const t=[];e.overrides?.forEach((e=>t.push(e.conditions)));const n=e=>{const i=uh.safeParse(e);i.success?(t.push(i.data.conditions),i.data.elements?.forEach(n)):e&&"object"==typeof e&&Object.keys(e).forEach((t=>n(e[t])))};return e.elements?.forEach(n),t})(e);this._hasHAStateConditions=t.some((e=>!!e.state?.length)),t.forEach((e=>{if(e.media_query){const t=window.matchMedia(e.media_query);t.addEventListener("change",this._mediaQueryTrigger),this._mediaQueries.push(t)}}))}}let Jv=class extends ge{constructor(){super(...arguments),this._root=null}createRenderRoot(){return this}_createRoot(){const e=customElements.get("hui-conditional-element");if(!e||!this.hass)throw new Error(Pm("error.could_not_render_elements"));const t=new e;t.hass=this.hass;const n={type:"conditional",conditions:[],elements:this.elements};try{t.setConfig(n)}catch(e){throw console.error(e),new vu(Pm("error.invalid_elements_config"))}return t}willUpdate(e){try{!this.elements||this._root&&!e.has("elements")||(this._root=this._createRoot())}catch(e){return Mv(this,e)}}render(){return K`${this._root||""}`}updated(){this.hass&&this._root&&(this._root.hass=this.hass)}};e([be({attribute:!1})],Jv.prototype,"elements",void 0),e([be({attribute:!1})],Jv.prototype,"conditionControllerEpoch",void 0),e([be({attribute:!1})],Jv.prototype,"hass",void 0),Jv=e([_e("frigate-card-elements-core")],Jv);let e_=class extends ge{constructor(){super(...arguments),this._boundMenuRemoveHandler=this._menuRemoveHandler.bind(this)}_menuRemoveHandler(e){If(this,"menu-remove",e.detail)}_menuAddHandler(e){const t=e.composedPath();t.length&&(t[0].removeEventListener("frigate-card:menu-remove",this._boundMenuRemoveHandler),t[0].addEventListener("frigate-card:menu-remove",this._boundMenuRemoveHandler))}connectedCallback(){super.connectedCallback(),this.addEventListener("frigate-card:menu-add",this._menuAddHandler)}disconnectedCallback(){this.removeEventListener("frigate-card:menu-add",this._menuAddHandler),super.disconnectedCallback()}render(){return K` - `}static get styles(){return b(":host {\n position: absolute;\n inset: 0;\n overflow: hidden;\n pointer-events: none;\n}\n\n.element {\n position: absolute;\n transform: translate(-50%, -50%);\n pointer-events: auto;\n}\n\nhui-error-card.element {\n inset: 0px;\n transform: unset;\n}")}};e([be({attribute:!1})],e_.prototype,"hass",void 0),e([be({attribute:!1})],e_.prototype,"conditionControllerEpoch",void 0),e([be({attribute:!1})],e_.prototype,"elements",void 0),e_=e([_e("frigate-card-elements")],e_);let t_=class extends ge{setConfig(e){this._config=e}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this.className=""}render(){if(function(e,t){if(!t)return!0;const n=new Gv(t,{bubbles:!0,composed:!0});return e.dispatchEvent(n),n.evaluation??!1}(this,this._config.conditions))return K` - `}};e([be({attribute:!1,hasChanged:()=>!0})],t_.prototype,"hass",void 0),t_=e([_e("frigate-card-conditional")],t_);class n_ extends ge{constructor(){super(...arguments),this._config=null}setConfig(e){this._config=e}connectedCallback(){super.connectedCallback(),this._config&&If(this,"menu-add",this._config)}disconnectedCallback(){this._config&&If(this,"menu-remove",this._config),super.disconnectedCallback()}}e([we()],n_.prototype,"_config",void 0);let i_=class extends n_{};i_=e([_e("frigate-card-menu-icon")],i_);let a_=class extends n_{};a_=e([_e("frigate-card-menu-state-icon")],a_);let r_=class extends n_{};r_=e([_e("frigate-card-menu-submenu")],r_);let o_=class extends n_{};o_=e([_e("frigate-card-menu-submenu-select")],o_);let s_=class extends ge{constructor(){super(...arguments),this._config=null}setConfig(e){this._config=e}willUpdate(e){e.has("_config")&&this.setAttribute("data-orientation",this._config?.orientation??"vertical")}_actionHandler(e,t){e.stopPropagation();const n=e.detail.action,i=mm(n,t);t&&i&&this.hass&&pm(this,this.hass,t,n,i)}render(){if(!this._config)return;const e=(e,t,n)=>{const i=gm(n?.hold_action),a=gm(n?.double_tap_action);return K`this._actionHandler(e,n)} - >`};return K`
-
- ${e("right","mdi:arrow-right",this._config.actions_right)} - ${e("left","mdi:arrow-left",this._config.actions_left)} - ${e("up","mdi:arrow-up",this._config.actions_up)} - ${e("down","mdi:arrow-down",this._config.actions_down)} -
- ${this._config.actions_zoom_in||this._config.actions_zoom_out?K`
- ${e("zoom_in","mdi:plus",this._config.actions_zoom_in)} - ${e("zoom_out","mdi:minus",this._config.actions_zoom_out)} -
`:K``} - ${this._config.actions_home?K` -
- ${e("home","mdi:home",this._config.actions_home)} -
- `:K``} -
`}static get styles(){return b(":host {\n position: relative;\n width: fit-content;\n height: fit-content;\n --frigate-card-ptz-icon-size: 24px;\n}\n\n/*****************\n * Main Containers\n *****************/\n.ptz {\n display: flex;\n gap: 10px;\n color: var(--light-primary-color);\n opacity: 0.4;\n transition: opacity 0.3s ease-in-out;\n}\n\n:host([data-orientation=vertical]) .ptz {\n flex-direction: column;\n}\n\n:host([data-orientation=horizontal]) .ptz {\n flex-direction: row;\n}\n\n.ptz:hover {\n opacity: 1;\n}\n\n:host([data-orientation=vertical]) .ptz div {\n width: calc(var(--frigate-card-ptz-icon-size) * 3);\n}\n\n:host([data-orientation=horizontal]) .ptz div {\n height: calc(var(--frigate-card-ptz-icon-size) * 3);\n}\n\n.ptz-move,\n.ptz-zoom,\n.ptz-home {\n position: relative;\n background-color: rgba(0, 0, 0, 0.3);\n}\n\n.ptz-move {\n height: calc(var(--frigate-card-ptz-icon-size) * 3);\n width: calc(var(--frigate-card-ptz-icon-size) * 3);\n border-radius: 50%;\n}\n\n:host([data-orientation=horizontal]) .ptz .ptz-zoom,\n:host([data-orientation=horizontal]) .ptz .ptz-home {\n width: calc(var(--frigate-card-ptz-icon-size) * 1.5);\n}\n\n:host([data-orientation=vertical]) .ptz .ptz-zoom,\n:host([data-orientation=vertical]) .ptz .ptz-home {\n height: calc(var(--frigate-card-ptz-icon-size) * 1.5);\n}\n\n.ptz-zoom,\n.ptz-home {\n border-radius: var(--ha-card-border-radius, 4px);\n}\n\n/***********\n * PTZ Icons\n ***********/\nha-icon {\n position: absolute;\n --mdc-icon-size: var(--frigate-card-ptz-icon-size);\n}\n\nha-icon:not(.disabled) {\n cursor: pointer;\n}\n\n.disabled {\n color: var(--disabled-text-color);\n}\n\n.up {\n top: 5px;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.down {\n bottom: 5px;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.left {\n left: 5px;\n top: 50%;\n transform: translateY(-50%);\n}\n\n.right {\n right: 5px;\n top: 50%;\n transform: translateY(-50%);\n}\n\n:host([data-orientation=vertical]) .zoom_in {\n right: 5px;\n top: 50%;\n}\n\n:host([data-orientation=vertical]) .zoom_out {\n left: 5px;\n top: 50%;\n}\n\n:host([data-orientation=horizontal]) .zoom_in {\n left: 50%;\n top: 5px;\n}\n\n:host([data-orientation=horizontal]) .zoom_out {\n left: 50%;\n bottom: 5px;\n}\n\n:host([data-orientation=vertical]) .zoom_in,\n:host([data-orientation=vertical]) .zoom_out {\n transform: translateY(-50%);\n}\n\n:host([data-orientation=horizontal]) .zoom_in,\n:host([data-orientation=horizontal]) .zoom_out {\n transform: translateX(-50%);\n}\n\n.home {\n top: 50%;\n left: 50%;\n transform: translateX(-50%) translateY(-50%);\n}")}};e([be({attribute:!1})],s_.prototype,"hass",void 0),e([we()],s_.prototype,"_config",void 0),s_=e([_e("frigate-card-ptz")],s_); -/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const c_=e=>null!=e?e:J;const l_="m 4.8759466,22.743573 c 0.0866,0.69274 0.811811,1.16359 0.37885,1.27183 -0.43297,0.10824 -2.32718,-3.43665 -2.7601492,-4.95202 -0.4329602,-1.51538 -0.6764993,-3.22017 -0.5682593,-4.19434 0.1082301,-0.97417 5.7097085,-2.48955 5.7097085,-2.89545 0,-0.4059 -1.81304,-0.0271 -1.89422,-0.35178 -0.0812,-0.32472 1.36925,-0.12989 1.75892,-0.64945 0.60885,-0.81181 1.3800713,-0.6765 1.8671505,-1.1094696 0.4870902,-0.4329599 1.0824089,-2.0836399 1.1906589,-2.7871996 0.108241,-0.70357 -1.0824084,-1.51538 -1.4071389,-2.05658 -0.3247195,-0.54121 0.7035702,-0.92005 3.1931099,-1.94834 2.48954,-1.02829 10.39114,-3.30134994 10.49938,-3.03074994 0.10824,0.27061 -2.59779,1.40713994 -4.492,2.11069994 -1.89422,0.70357 -4.97909,2.05658 -4.97909,2.43542 0,0.37885 0.16236,0.67651 0.0541,1.54244 -0.10824,0.86593 -0.12123,1.2702597 -0.32472,1.8400997 -0.1353,0.37884 -0.2706,1.27183 0,2.0836295 0.21648,0.64945 0.92005,1.13653 1.24477,1.24478 0.2706,0.018 1.01746,0.0433 1.8401,0 1.02829,-0.0541 2.48954,0.0541 2.48954,0.32472 0,0.2706 -2.21894,0.10824 -2.21894,0.48708 0,0.37885 2.27306,-0.0541 2.21894,0.32473 -0.0541,0.37884 -1.89422,0.21648 -2.86839,0.21648 -0.77933,0 -1.93031,-0.0361 -2.43542,-0.21648 l -0.10824,0.37884 c -0.18038,0 -0.55744,0.10824 -0.94711,0.10824 -0.48708,0 -0.51414,0.16236 -1.40713,0.16236 -0.892989,0 -0.622391,-0.0541 -1.4341894,-0.10824 -0.81181,-0.0541 -3.842561,2.27306 -4.383761,3.03075 -0.54121,0.75768 -0.21649,2.59778 -0.21649,3.43665 0,0.75379 -0.10824,2.43542 0,3.30135 z";const d_=(e,t,n)=>{const i=e.states[t],a=n?.state?n.state:i?i.state:null;if(!a)return null;const r=s(t),o=i?i.attributes:null;return n?.entity?.translation_key&&e.localize(`component.${n.entity.platform}.entity.${r}.${n.entity.translation_key}.state.${a}`)||o?.device_class&&e.localize(`component.${r}.state.${o.device_class}.${a}`)||e.localize(`component.${r}.state._.${a}`)||a};let u_=class extends ge{_renderItem(e){if(!this.hass)return;const t=gp(this.hass,{...e});return K` - {t.detail.config=e}} - .actionHandler=${wm({hasHold:gm(e.hold_action),hasDoubleClick:gm(e.double_tap_action)})} - > - ${t.title||""} - ${e.subtitle?K`${e.subtitle}`:""} - ${(e=>e.icon?K` - `:K``)(t)} - - `}render(){return this.submenu?K` - e.stopPropagation()} - @click=${e=>vm(e)} - > - - - - ${this.submenu.items.map(this._renderItem.bind(this))} - - `:K``}static get styles(){return b("ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n pointer-events: auto;\n}\n\nmwc-list-item {\n z-index: 20;\n}")}};e([be({attribute:!1})],u_.prototype,"hass",void 0),e([be({attribute:!1})],u_.prototype,"submenu",void 0),u_=e([_e("frigate-card-submenu")],u_);let h_=class extends ge{shouldUpdate(e){const t=e.get("hass");return!e.has("hass")||!t||!this.submenuSelect||up(this.hass,t,[this.submenuSelect.entity])}async _refreshOptionTitles(){if(!this.hass||!this.submenuSelect)return;const e=this.submenuSelect.entity,t=this.hass.states[e]?.attributes?.options,n=await(this.entityRegistryManager?.getEntity(this.hass,e))??null,i={};for(const a of t){const t=d_(this.hass,e,{...n&&{entity:n},state:a});t&&(i[a]=t)}this._optionTitles=i}willUpdate(){if(!this.submenuSelect||!this.hass)return;this._optionTitles||this._refreshOptionTitles();const e=this.submenuSelect.entity,t=this.hass.states[e],n=t?.attributes?.options;if(!t||!n)return;const i={icon:op("select"),...gp(this.hass,this.submenuSelect),...this.submenuSelect,type:"custom:frigate-card-menu-submenu",items:[]};delete i.options;for(const a of n){const n=this._optionTitles?.[a]??a;i.items.push({state_color:!0,selected:t.state===a,enabled:!0,title:n||a,...(e.startsWith("select.")||e.startsWith("input_select."))&&{tap_action:{action:"call-service",service:e.startsWith("select.")?"select.select_option":"input_select.select_option",service_data:{entity_id:e,option:a}}},...this.submenuSelect.options&&this.submenuSelect.options[a]})}this._generatedSubmenu=i}render(){return K` `}};var m_;e([be({attribute:!1})],h_.prototype,"hass",void 0),e([be({attribute:!1})],h_.prototype,"submenuSelect",void 0),e([be({attribute:!1})],h_.prototype,"entityRegistryManager",void 0),e([we()],h_.prototype,"_optionTitles",void 0),h_=e([_e("frigate-card-submenu-select")],h_);let p_=m_=class extends ge{constructor(){super(...arguments),this.expanded=!1,this.buttons=[]}set menuConfig(e){this._menuConfig=e,e&&this.style.setProperty("--frigate-card-menu-button-size",`${e.button_size}px`),this.setAttribute("data-style",e.style),this.setAttribute("data-position",e.position),this.setAttribute("data-alignment",e.alignment)}static isHidingMenu(e){return"hidden"===e?.style??!1}toggleMenu(){this._isHidingMenu()&&(this.expanded=!this.expanded)}_isHidingMenu(){return m_.isHidingMenu(this._menuConfig)}_isMenuToggleAction(e){if(!e)return!1;const t=um(e);return!!t&&"menu_toggle"==t.frigate_card_action}_actionHandler(e,t){if(!e)return;e.detail.config&&(t=e.detail.config),e.stopPropagation();const n=e.detail.action;let i=mm(n,t);if(!t||!n)return;let a=!1,r=!1;if(Array.isArray(i)){const e=i.length;i=i.filter((e=>!this._isMenuToggleAction(e))),i.length!=e&&(r=!0),i.length&&(a=pm(this,this.hass,t,n,i))}else this._isMenuToggleAction(i)?r=!0:a=pm(this,this.hass,t,n,i);this._isHidingMenu()&&(r?this.expanded=!this.expanded:a&&(this.expanded=!1))}willUpdate(e){const t=this._menuConfig?.style,n=(e,n)=>{if("hidden"===t){if(e.icon===nu)return-1;if(n.icon===nu)return 1}return void 0===e.priority||void 0!==n.priority&&n.priority>e.priority?1:void 0===n.priority||void 0!==e.priority&&n.priority - `;if("custom:frigate-card-menu-submenu-select"===e.type)return K` - `;let t={...e};const n=t.icon===nu?l_:"";this.hass&&"custom:frigate-card-menu-state-icon"===e.type&&(t=gp(this.hass,t));const i=gm(e.hold_action),a=gm(e.double_tap_action);return K` this._actionHandler(t,e)} - > - ${n?K``:K``} - `}render(){if(!this._menuConfig)return;const e=this._menuConfig.style;if("none"===e)return;const t=("hidden"!==e||this.expanded?this.buttons.filter((e=>!e.alignment||"matching"===e.alignment)):this.buttons.filter((e=>e.icon===nu))).filter((e=>!1!==e.enabled)),n="hidden"!==e||this.expanded?this.buttons.filter((e=>"opposing"===e.alignment&&!1!==e.enabled)):[],i={flex:String(t.length)},a={flex:String(n.length)};return K`
- ${t.map((e=>this._renderButton(e)))} -
-
- ${n.map((e=>this._renderButton(e)))} -
`}static get styles(){return b('ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n --frigate-card-menu-button-size: 40px;\n --mdc-icon-button-size: var(--frigate-card-menu-button-size);\n --mdc-icon-size: calc(var(--mdc-icon-button-size) / 2);\n pointer-events: none;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n}\n\n/***********************************\n * Aligned divs: matching & opposing\n ***********************************/\ndiv.matching,\ndiv.opposing {\n display: flex;\n flex-wrap: wrap;\n flex-direction: row;\n align-items: flex-start;\n min-width: 0px;\n min-height: 0px;\n}\n\ndiv.matching {\n justify-content: flex-start;\n}\n\ndiv.opposing {\n justify-content: flex-end;\n}\n\n/********************\n * Outside menu style\n ********************/\n:host([data-style=outside]) {\n width: 100%;\n background: var(--secondary-background-color);\n}\n\n/************************************\n * Match menu rounded corners to card\n ************************************/\n:host([data-position=top]),\n:host([data-position=left]) {\n border-top-left-radius: var(--ha-card-border-radius, 4px);\n}\n\n:host([data-position=top]),\n:host([data-position=right]) {\n border-top-right-radius: var(--ha-card-border-radius, 4px);\n}\n\n:host([data-position=bottom]),\n:host([data-position=left]) {\n border-bottom-left-radius: var(--ha-card-border-radius, 4px);\n}\n\n:host([data-position=bottom]),\n:host([data-position=right]) {\n border-bottom-right-radius: var(--ha-card-border-radius, 4px);\n}\n\n/**************************************\n * Positioning for absolute menu styles\n **************************************/\n:host(:not([data-style=outside])[data-position=top]),\n:host(:not([data-style=outside])[data-position=left][data-alignment=top]),\n:host(:not([data-style=outside])[data-position=right][data-alignment=top]) {\n top: 0px;\n}\n\n:host(:not([data-style=outside])[data-position=bottom]),\n:host(:not([data-style=outside])[data-position=left][data-alignment=bottom]),\n:host(:not([data-style=outside])[data-position=right][data-alignment=bottom]) {\n bottom: 0px;\n}\n\n:host(:not([data-style=outside])[data-position=left]),\n:host(:not([data-style=outside])[data-position=top][data-alignment=left]),\n:host(:not([data-style=outside])[data-position=bottom][data-alignment=left]) {\n left: 0px;\n}\n\n:host(:not([data-style=outside])[data-position=right]),\n:host(:not([data-style=outside])[data-position=top][data-alignment=right]),\n:host(:not([data-style=outside])[data-position=bottom][data-alignment=right]) {\n right: 0px;\n}\n\n/********************************************************\n * Hack: Ensure host & div expand for column flex layouts\n ********************************************************/\n:host(:not([data-style=outside])[data-position=left]) {\n writing-mode: vertical-lr;\n}\n\n:host(:not([data-style=outside])[data-position=right]) {\n writing-mode: vertical-rl;\n}\n\n:host(:not([data-style=outside])[data-style=overlay][data-position=left]) div > *,\n:host(:not([data-style=outside])[data-style=overlay][data-position=right]) div > *,\n:host(:not([data-style=outside])[data-style*=hover][data-position=left]) div > *,\n:host(:not([data-style=outside])[data-style*=hover][data-position=right]) div > *,\n:host(:not([data-style=outside])[data-style=hidden][data-position=left]) div > *,\n:host(:not([data-style=outside])[data-style=hidden][data-position=right]) div > * {\n writing-mode: horizontal-tb;\n}\n\n/**********************\n * "Reverse" alignments\n **********************/\n:host(:not([data-style=outside])[data-position=left][data-alignment=bottom]),\n:host(:not([data-style=outside])[data-position=right][data-alignment=bottom]),\n:host([data-position=top][data-alignment=right]),\n:host([data-position=bottom][data-alignment=right]),\n:host(:not([data-style=outside])[data-position=left][data-alignment=bottom]) div,\n:host(:not([data-style=outside])[data-position=right][data-alignment=bottom]) div,\n:host([data-position=top][data-alignment=right]) div,\n:host([data-position=bottom][data-alignment=right]) div {\n flex-direction: row-reverse;\n}\n\n/****************************\n * Wrap upwards on the bottom\n ****************************/\n:host(:not([data-style=outside])[data-position=bottom]) div {\n flex-wrap: wrap-reverse;\n}\n\n/********************************************\n * Positioning for absolute based menu styles\n ********************************************/\n:host([data-style=overlay]),\n:host([data-style*=hover]),\n:host([data-style=hidden]) {\n position: absolute;\n overflow: hidden;\n width: calc(var(--frigate-card-menu-button-size) + 6px);\n height: calc(var(--frigate-card-menu-button-size) + 6px);\n}\n\n:host([data-style=overlay][data-position=top]),\n:host([data-style=overlay][data-position=bottom]),\n:host([data-style*=hover][data-position=top]),\n:host([data-style*=hover][data-position=bottom]),\n:host([data-style=hidden][data-position=top][expanded]),\n:host([data-style=hidden][data-position=bottom][expanded]) {\n width: 100%;\n height: auto;\n overflow: visible;\n background: linear-gradient(90deg, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0));\n}\n\n:host([data-style=overlay][data-position=left]),\n:host([data-style=overlay][data-position=right]),\n:host([data-style*=hover][data-position=left]),\n:host([data-style*=hover][data-position=right]),\n:host([data-style=hidden][data-position=left][expanded]),\n:host([data-style=hidden][data-position=right][expanded]) {\n height: 100%;\n width: auto;\n overflow: visible;\n background: linear-gradient(180deg, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0));\n}')}};function f_(e){return"number"==typeof e}function g_(e){return"[object Object]"===Object.prototype.toString.call(e)}function v_(e){return g_(e)||function(e){return Array.isArray(e)}(e)}function __(e){return Math.abs(e)}function y_(e){return e?e/__(e):0}function b_(e,t){return __(e-t)}function w_(e){return $_(e).map(Number)}function x_(e){return e[C_(e)]}function C_(e){return Math.max(0,e.length-1)}function $_(e){return Object.keys(e)}function k_(e,t){return[e,t].reduce((function(e,t){return $_(t).forEach((function(n){var i=e[n],a=t[n],r=g_(i)&&g_(a);e[n]=r?k_(i,a):a})),e}),{})}function E_(e,t){var n=$_(e),i=$_(t);return n.length===i.length&&n.every((function(n){var i=e[n],a=t[n];return"function"==typeof i?"".concat(i)==="".concat(a):v_(i)&&v_(a)?E_(i,a):i===a}))}function M_(e,t){var n={start:function(){return 0},center:function(e){return i(e)/2},end:i};function i(e){return t-e}var a={measure:function(i){return f_(e)?t*Number(e):n[e](i)}};return a}function S_(e,t){var n=__(e-t);function i(t){return tt}function r(e){return i(e)||a(e)}var o={length:n,max:t,min:e,constrain:function(n){return r(n)?i(n)?e:t:n},reachedAny:r,reachedMax:a,reachedMin:i,removeOffset:function(e){return n?e-n*Math.ceil((e-t)/n):e}};return o}function T_(e,t,n){var i=S_(0,e),a=i.min,r=i.constrain,o=e+1,s=c(t);function c(e){return n?__((o+e)%o):r(e)}function l(){return s}function d(e){return s=c(e),u}var u={add:function(e){return d(l()+e)},clone:function(){return T_(e,l(),n)},get:l,set:d,min:a,max:e};return u}function A_(){var e=[];var t={add:function(n,i,a,r){return void 0===r&&(r={passive:!0}),n.addEventListener(i,a,r),e.push((function(){return n.removeEventListener(i,a,r)})),t},removeAll:function(){return e=e.filter((function(e){return e()})),t}};return t}function z_(e){var t=e;function n(e){return t/=e,a}function i(e){return f_(e)?e:e.get()}var a={add:function(e){return t+=i(e),a},divide:n,get:function(){return t},multiply:function(e){return t*=e,a},normalize:function(){return 0!==t&&n(t),a},set:function(e){return t=i(e),a},subtract:function(e){return t-=i(e),a}};return a}function j_(e,t,n,i,a,r,o,s,c,l,d,u,h,m,p,f){var g=e.cross,v=["INPUT","SELECT","TEXTAREA"],_={passive:!1},y=z_(0),b=A_(),w=A_(),x=h.measure(20),C={mouse:300,touch:400},$={mouse:500,touch:600},k=p?5:16,E=1,M=0,S=0,T=!1,A=!1,z=!1,j=!1;function O(e){if(!((j=!a.isTouchEvent(e))&&0!==e.button||function(e){var t=e.nodeName||"";return v.indexOf(t)>-1}(e.target))){var t,o=b_(i.get(),r.get())>=2,s=j||!o;T=!0,a.pointerDown(e),y.set(i),i.set(r),c.useBaseMass().useSpeed(80),t=j?document:n,w.add(t,"touchmove",I,_).add(t,"touchend",R).add(t,"mousemove",I,_).add(t,"mouseup",R),M=a.readPoint(e),S=a.readPoint(e,g),u.emit("pointerDown"),s&&(z=!1)}}function I(e){if(!A&&!j){if(!e.cancelable)return R(e);var n=a.readPoint(e),r=a.readPoint(e,g),s=b_(n,M),c=b_(r,S);if(!(A=s>c)&&!z)return R(e)}var l=a.pointerMove(e);!z&&l&&(z=!0),o.start(),i.add(t.apply(l)),e.preventDefault()}function R(e){var n=l.byDistance(0,!1).index!==d.get(),r=a.pointerUp(e)*(p?$:C)[j?"mouse":"touch"],o=function(e,t){var n=d.clone().add(-1*y_(e)),i=n.get()===d.min||n.get()===d.max,a=l.byDistance(e,!p).distance;return p||__(e)=.5,v=n&&h>.75,_=__(r)0?e.concat([n]):e}),[])}function f(n,a){var r="start"===a,l=r?-i:i,d=o.findSlideBounds([l]);return n.map((function(n){var a=r?0:-i,o=r?i:0,l=d.filter((function(e){return e.index===n}))[0],u=l[r?"end":"start"],h=z_(-1),m=z_(-1),p=N_(e,t,c[n]);return{index:n,location:m,translate:p,target:function(){return h.set(s.get()>u?a:o)}}}))}var g={canLoop:function(){return h.every((function(e){var t=e.index,i=d.filter((function(e){return e!==t}));return m(i,n)<=.1}))},clear:function(){h.forEach((function(e){return e.translate.clear()}))},loop:function(){h.forEach((function(e){var t=e.target,n=e.translate,i=e.location,a=t();a.get()!==i.get()&&(0===a.get()?n.clear():n.to(a),i.set(a))}))},loopPoints:h};return g}function F_(e,t,n,i,a,r,o){var s=a.removeOffset,c=a.constrain,l=.5,d=r?[0,t,-t]:[0],u=h(d,o);function h(t,a){var r=t||d,o=function(e){var t=e||0;return n.map((function(e){return S_(l,e-l).constrain(e*t)}))}(a);return r.reduce((function(t,a){var r=i.map((function(t,i){return{start:t-n[i]+o[i]+a,end:t+e-o[i]+a,index:i}}));return t.concat(r)}),[])}return{check:function(e,t){var n=r?s(e):c(e);return(t||u).reduce((function(e,t){var i=t.index,a=t.start,r=t.end;return!(-1!==e.indexOf(i))&&(an)?e.concat([i]):e}),[])},findSlideBounds:h}}function H_(e,t,n){var i=f_(n);var a={groupSlides:function(a){return i?function(e,t){return w_(e).filter((function(e){return e%t==0})).map((function(n){return e.slice(n,n+t)}))}(a,n):function(n){return w_(n).reduce((function(n,i){var a=t.slice(x_(n),i+1).reduce((function(e,t){return e+t}),0);return!i||a>e?n.concat(i):n}),[]).map((function(e,t,i){return n.slice(e,i[t+1])}))}(a)}};return a}function Z_(e,t,n,i,a){var r=i.align,o=i.axis,s=i.direction,c=i.startIndex,l=i.inViewThreshold,d=i.loop,u=i.speed,h=i.dragFree,m=i.slidesToScroll,p=i.skipSnaps,f=i.containScroll,g=t.getBoundingClientRect(),v=n.map((function(e){return e.getBoundingClientRect()})),_=function(e){var t="rtl"===e?-1:1,n={apply:function(e){return e*t}};return n}(s),y=function(e,t){var n="y"===e?"y":"x";return{scroll:n,cross:"y"===e?"x":"y",startEdge:"y"===n?"top":"rtl"===t?"right":"left",endEdge:"y"===n?"bottom":"rtl"===t?"left":"right",measureSize:function(e){var t=e.width,i=e.height;return"x"===n?t:i}}}(o,s),b=y.measureSize(g),w=function(e){var t={measure:function(t){return e*(t/100)}};return t}(b),x=M_(r,b),C=!d&&""!==f,$=function(e,t,n,i,a){var r=e.measureSize,o=e.startEdge,s=e.endEdge,c=n[0]&&a,l=function(){if(!c)return 0;var e=n[0];return __(t[o]-e[o])}(),d=function(){if(!c)return 0;var e=window.getComputedStyle(x_(i));return parseFloat(e.getPropertyValue("margin-".concat(s)))}(),u=n.map(r),h=n.map((function(e,t,n){var i=!t,a=t===C_(n);return i?u[t]+l:a?u[t]+d:n[t+1][o]-e[o]})).map(__);return{slideSizes:u,slideSizesWithGaps:h}}(y,g,v,n,d||""!==f),k=$.slideSizes,E=$.slideSizesWithGaps,M=H_(b,E,m),S=function(e,t,n,i,a,r,o){var s,c=e.startEdge,l=e.endEdge,d=r.groupSlides,u=d(i).map((function(e){return x_(e)[l]-e[0][c]})).map(__).map(t.measure),h=i.map((function(e){return n[c]-e[c]})).map((function(e){return-__(e)})),m=(s=x_(h)-x_(a),d(h).map((function(e){return e[0]})).map((function(e,t,n){var i=!t,a=t===C_(n);return o&&i?0:o&&a?s:e+u[t]})));return{snaps:h,snapsAligned:m}}(y,x,g,v,E,M,C),T=S.snaps,A=S.snapsAligned,z=-x_(T)+x_(E),j=R_(b,z,A,f).snapsContained,O=C?j:A,I=function(e,t,n){var i,a;return{limit:(i=t[0],a=x_(t),S_(n?i-e:a,i))}}(z,O,d).limit,R=T_(C_(O),c,d),D=R.clone(),P=w_(n),L=function(e){var t=0;function n(e,n){return function(){e===!!t&&n()}}function i(){t=window.requestAnimationFrame(e)}return{proceed:n(!0,i),start:n(!1,i),stop:n(!0,(function(){window.cancelAnimationFrame(t),t=0}))}}((function(){d||B.scrollBounds.constrain(B.dragHandler.pointerDown()),B.scrollBody.seek(F).update();var e=B.scrollBody.settle(F);e&&!B.dragHandler.pointerDown()&&(B.animation.stop(),a.emit("settle")),e||a.emit("scroll"),d&&(B.scrollLooper.loop(B.scrollBody.direction()),B.slideLooper.loop()),B.translate.to(U),B.animation.proceed()})),N=O[R.get()],U=z_(N),F=z_(N),H=O_(U,u,1),Z=L_(d,O,z,I,F),q=function(e,t,n,i,a,r){function o(i){var o=i.distance,s=i.index!==t.get();o&&(e.start(),a.add(o)),s&&(n.set(t.get()),t.set(i.index),r.emit("select"))}var s={distance:function(e,t){o(i.byDistance(e,t))},index:function(e,n){var a=t.clone().set(e);o(i.byIndex(a.get(),n))}};return s}(L,R,D,Z,F,a),V=F_(b,z,k,T,I,d,l),W=j_(y,_,e,F,function(e){var t,n,i=170;function a(e){return"undefined"!=typeof TouchEvent&&e instanceof TouchEvent}function r(e){return e.timeStamp}function o(t,n){var i=n||e.scroll,r="client".concat("x"===i?"X":"Y");return(a(t)?t.touches[0]:t)[r]}return{isTouchEvent:a,pointerDown:function(e){return t=e,n=e,o(e)},pointerMove:function(e){var a=o(e)-o(n),s=r(e)-r(t)>i;return n=e,s&&(t=e),a},pointerUp:function(e){if(!t||!n)return 0;var a=o(n)-o(t),s=r(e)-r(t),c=r(e)-r(n)>i,l=a/s;return s&&!c&&__(l)>.1?l:0},readPoint:o}}(y),U,L,q,H,Z,R,a,w,d,h,p),B={containerRect:g,slideRects:v,animation:L,axis:y,direction:_,dragHandler:W,eventStore:A_(),percentOfView:w,index:R,indexPrevious:D,limit:I,location:U,options:i,scrollBody:H,scrollBounds:I_(I,U,F,H,w),scrollLooper:D_(z,I,U,[U,F]),scrollProgress:P_(I),scrollSnaps:O,scrollTarget:Z,scrollTo:q,slideLooper:U_(y,_,b,z,E,O,V,U,n),slidesToScroll:M,slidesInView:V,slideIndexes:P,target:F,translate:N_(y,_,t)};return B}e([be({attribute:!1})],p_.prototype,"hass",void 0),e([be({attribute:!0,type:Boolean,reflect:!0})],p_.prototype,"expanded",void 0),e([we()],p_.prototype,"_menuConfig",void 0),e([be({attribute:!1})],p_.prototype,"buttons",void 0),e([be({attribute:!1})],p_.prototype,"entityRegistryManager",void 0),p_=m_=e([_e("frigate-card-menu")],p_);var q_={align:"center",axis:"x",containScroll:"",direction:"ltr",slidesToScroll:1,breakpoints:{},dragFree:!1,draggable:!0,inViewThreshold:0,loop:!1,skipSnaps:!1,speed:10,startIndex:0,active:!0};function V_(){function e(e,t){return k_(e,t||{})}var t={merge:e,areEqual:function(e,t){return JSON.stringify($_(e.breakpoints||{}))===JSON.stringify($_(t.breakpoints||{}))&&E_(e,t)},atMedia:function(t){var n=t.breakpoints||{},i=$_(n).filter((function(e){return window.matchMedia(e).matches})).map((function(e){return n[e]})).reduce((function(t,n){return e(t,n)}),{});return e(t,i)}};return t}function W_(e,t,n){var i,a,r,o,s,c=A_(),l=V_(),d=function(){var e=V_(),t=e.atMedia,n=e.areEqual,i=[],a=[];function r(e){var i=t(e.options);return function(){return!n(i,t(e.options))}}var o={init:function(e,n){return a=e.map(r),(i=e.filter((function(e){return t(e.options).active}))).forEach((function(e){return e.init(n)})),e.reduce((function(e,t){var n;return Object.assign(e,((n={})[t.name]=t,n))}),{})},destroy:function(){i=i.filter((function(e){return e.destroy()}))},haveChanged:function(){return a.some((function(e){return e()}))}};return o}(),u=function(){var e={};function t(t){return e[t]||[]}var n={emit:function(e){return t(e).forEach((function(t){return t(e)})),n},off:function(i,a){return e[i]=t(i).filter((function(e){return e!==a})),n},on:function(i,a){return e[i]=t(i).concat([a]),n}};return n}(),h=u.on,m=u.off,p=w,f=!1,g=l.merge(q_,W_.globalOptions),v=l.merge(g),_=[],y=0;function b(t,n){if(!f){var c,h;if(c="container"in e&&e.container,h="slides"in e&&e.slides,r="root"in e?e.root:e,o=c||r.children[0],s=h||[].slice.call(o.children),g=l.merge(g,t),v=l.atMedia(g),i=Z_(r,o,s,v,u),y=i.axis.measureSize(r.getBoundingClientRect()),!v.active)return x();if(i.translate.to(i.location),_=n||_,a=d.init(_,E),v.loop){if(!i.slideLooper.canLoop())return x(),b({loop:!1},n),void(g=l.merge(g,{loop:!0}));i.slideLooper.loop()}v.draggable&&o.offsetParent&&s.length&&i.dragHandler.addActivationEvents()}}function w(e,t){var n=k();x(),b(l.merge({startIndex:n},e),t),u.emit("reInit")}function x(){i.dragHandler.removeAllEvents(),i.animation.stop(),i.eventStore.removeAll(),i.translate.clear(),i.slideLooper.clear(),d.destroy()}function C(e){var t=i[e?"target":"location"].get(),n=v.loop?"removeOffset":"constrain";return i.slidesInView.check(i.limit[n](t))}function $(e,t,n){v.active&&!f&&(i.scrollBody.useBaseMass().useSpeed(t?100:v.speed),i.scrollTo.index(e,n||0))}function k(){return i.index.get()}var E={canScrollNext:function(){return i.index.clone().add(1).get()!==k()},canScrollPrev:function(){return i.index.clone().add(-1).get()!==k()},clickAllowed:function(){return i.dragHandler.clickAllowed()},containerNode:function(){return o},internalEngine:function(){return i},destroy:function(){f||(f=!0,c.removeAll(),x(),u.emit("destroy"))},off:m,on:h,plugins:function(){return a},previousScrollSnap:function(){return i.indexPrevious.get()},reInit:p,rootNode:function(){return r},scrollNext:function(e){$(i.index.clone().add(1).get(),!0===e,-1)},scrollPrev:function(e){$(i.index.clone().add(-1).get(),!0===e,1)},scrollProgress:function(){return i.scrollProgress.get(i.location.get())},scrollSnapList:function(){return i.scrollSnaps.map(i.scrollProgress.get)},scrollTo:$,selectedScrollSnap:k,slideNodes:function(){return s},slidesInView:C,slidesNotInView:function(e){var t=C(e);return i.slideIndexes.filter((function(e){return-1===t.indexOf(e)}))}};return b(t,n),c.add(window,"resize",(function(){var e=l.atMedia(g),t=!l.areEqual(e,v),n=i.axis.measureSize(r.getBoundingClientRect()),a=y!==n,o=d.haveChanged();(a||t||o)&&w(),u.emit("resize")})),setTimeout((function(){return u.emit("init")}),0),E}function B_(){return B_=Object.assign||function(e){for(var t=1;t=e;case"y":return Math.abs(a)>=e;case"z":return Math.abs(r)>=e;default:return!1}}(r,i)&&e.preventDefault(),l.isStarted?l.isMomentum&&r>Math.max(2,2*l.lastAbsDelta)&&($(!0),x()):x(),0===r&&Object.is&&Object.is(e.deltaX,-0)?d=!0:(t=e,l.axisMovement=Q_(l.axisMovement,i),l.lastAbsDelta=r,l.scrollPointsToMerge.push({axisDelta:i,timeStamp:a}),f(),m({axisDelta:i,isStart:!l.isStartPublished}),l.isStartPublished=!0,C())},f=function(){var e;l.scrollPointsToMerge.length===iy?(l.scrollPoints.unshift({axisDeltaSum:l.scrollPointsToMerge.map((function(e){return e.axisDelta})).reduce(Q_),timeStamp:(e=l.scrollPointsToMerge.map((function(e){return e.timeStamp})),e.reduce((function(e,t){return e+t}))/e.length)}),v(),l.scrollPointsToMerge.length=0,l.scrollPoints.length=1,l.isMomentum||b()):l.isStartPublished||g()},g=function(){var e;l.axisVelocity=(e=l.scrollPointsToMerge,e[e.length-1]).axisDelta.map((function(e){return e/l.willEndTimeout}))},v=function(){var e=l.scrollPoints,t=e[0],n=e[1];if(n&&t){var i=t.timeStamp-n.timeStamp;if(!(i<=0)){var a=t.axisDeltaSum.map((function(e){return e/i})),r=a.map((function(e,t){return e/(l.axisVelocity[t]||1)}));l.axisVelocity=a,l.accelerationFactors.push(r),_(i)}}},_=function(e){var t=10*Math.ceil(e/10)*1.2;l.isMomentum||(t=Math.max(100,2*t)),l.willEndTimeout=Math.min(1e3,Math.round(t))},y=function(e){return 0===e||e<=ny&&e>=ty},b=function(){if(l.accelerationFactors.length>=ay){if(d&&(d=!1,G_(l.axisVelocity)>=.2))return void w();var e=l.accelerationFactors.slice(-1*ay);e.every((function(e){var t=!!e.reduce((function(e,t){return e&&e<1&&e===t?1:0})),n=e.filter(y).length===e.length;return t||n}))&&w(),l.accelerationFactors=e}},w=function(){l.isMomentum=!0},x=function(){(l=sy()).isStarted=!0,l.startTime=Date.now(),n=void 0,d=!1},C=function(){clearTimeout(i),i=setTimeout($,l.willEndTimeout)},$=function(e){void 0===e&&(e=!1),l.isStarted&&(l.isMomentum&&e?m({isEnding:!0,isMomentumCancel:!0}):m({isEnding:!0}),l.isMomentum=!1,l.isStarted=!1)},k=function(e){var t=[],n=function(n){n.removeEventListener("wheel",e),t=t.filter((function(e){return e!==n}))};return K_({observe:function(i){return i.addEventListener("wheel",e,{passive:!1}),t.push(i),function(){return n(i)}},unobserve:n,disconnect:function(){t.forEach(n)}})}(u),E=k.observe,M=k.unobserve,S=k.disconnect;return h(e),K_({on:r,off:o,observe:E,unobserve:M,disconnect:S,feedWheel:u,updateOptions:h})}var ly={active:!0,breakpoints:{},wheelDraggingClass:"is-wheel-dragging",forceWheelAxis:void 0,target:void 0};function dy(e){var t,n=W_.optionsHandler(),i=n.merge(ly,dy.globalOptions),a=function(){};var r={name:"wheelGestures",options:n.merge(i,e),init:function(e){var i,o;t=n.atMedia(r.options);var s,c=e.internalEngine(),l=null!=(i=t.target)?i:e.containerNode().parentNode,d=null!=(o=t.forceWheelAxis)?o:c.options.axis,u=cy({preventWheelAction:d,reverseSign:[!0,!0,!1]}),h=u.observe(l),m=u.on("wheel",(function(e){var n=e.axisDelta,i=n[0],r=n[1],o="x"===d?i:r,c="x"===d?r:i,u=e.isMomentum&&e.previous&&!e.previous.isMomentum,h=e.isEnding&&!e.isMomentum||u;Math.abs(o)>Math.abs(c)&&!p&&!e.isMomentum&&function(e){try{_(s=new MouseEvent("mousedown",e.event))}catch(e){return a()}p=!0,document.documentElement.addEventListener("mousemove",g,!0),document.documentElement.addEventListener("mouseup",g,!0),void document.documentElement.addEventListener("mousedown",g,!0),t.wheelDraggingClass&&l.classList.add(t.wheelDraggingClass)}(e);if(!p)return;h?function(e){p=!1,_(v("mouseup",e)),f(),t.wheelDraggingClass&&l.classList.remove(t.wheelDraggingClass)}(e):_(v("mousemove",e))})),p=!1;function f(){document.documentElement.removeEventListener("mousemove",g,!0),document.documentElement.removeEventListener("mouseup",g,!0),document.documentElement.removeEventListener("mousedown",g,!0)}function g(e){p&&e.isTrusted&&e.stopImmediatePropagation()}function v(e,t){var n,i;if(d===c.options.axis){var a=t.axisMovement;n=a[0],i=a[1]}else{var r=t.axisMovement;i=r[0],n=r[1]}return new MouseEvent(e,{clientX:s.clientX+n,clientY:s.clientY+i,screenX:s.screenX+n,screenY:s.screenY+i,movementX:n,movementY:i,button:0,bubbles:!0,cancelable:!0,composed:!0})}function _(t){e.containerNode().dispatchEvent(t)}a=function(){h(),m(),f()}},destroy:function(){return a()}};return r}dy.globalOptions=void 0;var uy=":host {\n display: flex;\n flex-direction: column;\n width: 100%;\n margin-left: 5px;\n padding: 5px;\n color: var(--primary-text-color);\n overflow: hidden;\n column-gap: 5%;\n}\n\ndiv.title {\n font-size: 1.2rem;\n font-weight: bold;\n}\n\ndiv.details {\n flex: 1;\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n --mdc-icon-size: 16px;\n min-height: 0px;\n}";const hy=(e,t,n,i)=>{const a={...i?.cardWideConfig&&{cardWideConfig:i.cardWideConfig}};return K` ${t.render({initial:()=>i?.inProgressFunc?.()??$v(a),pending:()=>i?.inProgressFunc?.()??$v(a),error:t=>{Nf(t),Mv(e,t)},complete:n})}`},my=0,py=Symbol(); -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */class fy{constructor(e,t,n){this.o=0,this.status=0,this.autoRun=!0,this.i=e,this.i.addController(this);const i="object"==typeof t?t:{task:t,args:n};this.t=i.task,this.h=i.args,void 0!==i.autoRun&&(this.autoRun=i.autoRun),this.taskComplete=new Promise(((e,t)=>{this.l=e,this.u=t}))}hostUpdated(){this.performTask()}async performTask(){var e;const t=null===(e=this.h)||void 0===e?void 0:e.call(this);this.shouldRun(t)&&this.run(t)}shouldRun(e){return this.autoRun&&this.v(e)}async run(e){var t;let n,i;null!=e||(e=null===(t=this.h)||void 0===t?void 0:t.call(this)),2!==this.status&&3!==this.status||(this.taskComplete=new Promise(((e,t)=>{this.l=e,this.u=t}))),this.status=1,this._=void 0,this.m=void 0,this.i.requestUpdate();const a=++this.o;try{n=await this.t(e)}catch(e){i=e}this.o===a&&(n===py?this.status=0:(void 0===i?(this.status=2,this.l(n)):(this.status=3,this.u(i)),this.m=n,this._=i),this.i.requestUpdate())}get value(){return this.m}get error(){return this._}render(e){var t,n,i,a;switch(this.status){case 0:return null===(t=e.initial)||void 0===t?void 0:t.call(e);case 1:return null===(n=e.pending)||void 0===n?void 0:n.call(e);case 2:return null===(i=e.complete)||void 0===i?void 0:i.call(e,this.value);case 3:return null===(a=e.error)||void 0===a?void 0:a.call(e,this.error);default:this.status}}v(e){const t=this.T;return this.T=e,Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.some(((e,n)=>A(e,t[n]))):e!==t}}const gy=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,vy=(e,t,n,i=!0)=>new fy(e,{args:()=>[!!t(),n()],task:async([e,n])=>{const i=t();return e&&i&&n?(async(e,t)=>e&&t?t.startsWith("data:")||t.match(gy)?t:new Promise(((n,i)=>{e?e.fetchWithAuth(t).then((e=>e.blob())).then((e=>{const t=new FileReader;t.onload=()=>{const e=t.result;n("string"==typeof e?e:null)},t.onerror=e=>i(e),t.readAsDataURL(e)})):i()})):null)(i,n):null},autoRun:i});class _y{static isEvent(e){return this.isClip(e)||this.isSnapshot(e)}static isRecording(e){return"recording"===e.getMediaType()}static isClip(e){return"clip"===e.getMediaType()}static isSnapshot(e){return"snapshot"===e.getMediaType()}static isVideo(e){return this.isClip(e)||this.isRecording(e)}}const yy=(e,t="download")=>{const n=new URL(e).origin===window.location.origin,i=e.startsWith("data:");if(navigator.userAgent.startsWith("Home Assistant/")||navigator.userAgent.startsWith("HomeAssistant/")||!n&&!i)window.open(e,"_blank");else{const n=document.createElement("a");n.setAttribute("download",t),n.href=e,n.click(),n.remove()}},by=async(e,t,n)=>{const i=await t.getMediaDownloadPath(e,n);if(!i)throw new vu(Pm("error.download_no_media"));let a=i.endpoint;if(i.sign){let t;try{t=await lp(e,i.endpoint)}catch(e){Nf(e)}if(!t)throw new vu(Pm("error.download_sign_failed"));a=t}yy(a)},wy=300;let xy=class extends ge{constructor(){super(),this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this))}connectedCallback(){this._intersectionObserver.observe(this),super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback(),this._intersectionObserver.disconnect()}willUpdate(e){e.has("thumbnail")&&(this._embedThumbnailTask=vy(this,(()=>this.hass),(()=>this.thumbnail),!1),this._intersectionObserver.unobserve(this),this._intersectionObserver.observe(this))}_intersectionHandler(e){this._embedThumbnailTask?.status===my&&e.some((e=>e.isIntersecting))&&this._embedThumbnailTask?.run()}render(){if(!this._embedThumbnailTask)return;const e=K` `;return K`${this.thumbnail?hy(this,this._embedThumbnailTask,(e=>e?K``:K``),{inProgressFunc:()=>e}):e} `}static get styles(){return b(":host {\n display: block;\n overflow: hidden;\n aspect-ratio: 1/1;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\nimg {\n display: block;\n}\n\nimg,\nha-icon {\n display: inline-block;\n vertical-align: top;\n margin: 0;\n border-radius: var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px));\n max-width: var(--frigate-card-thumbnail-size);\n max-height: 100%;\n aspect-ratio: 1/1;\n object-fit: cover;\n}\n\nha-icon {\n --mdc-icon-size: 50%;\n color: var(--primary-text-color);\n display: flex;\n justify-content: center;\n align-items: center;\n border: 1px solid rgba(255, 255, 255, 0.3);\n box-sizing: border-box;\n opacity: 0.2;\n}")}};e([be({attribute:!1})],xy.prototype,"thumbnail",void 0),e([be({attribute:!1})],xy.prototype,"hass",void 0),xy=e([_e("frigate-card-thumbnail-feature-event")],xy);let Cy=class extends ge{render(){if(this.date)return K` -
${Of(this.date,"HH:mm")}
-
${Of(this.date,"MMM do")}
- ${this.cameraTitle?K`
${this.cameraTitle}
`:K``} - `}static get styles(){return b(":host {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n aspect-ratio: 1/1;\n overflow: hidden;\n max-width: var(--frigate-card-thumbnail-size);\n max-height: var(--frigate-card-thumbnail-size);\n padding: 10px;\n border: 1px solid var(--secondary-color);\n background-color: var(--secondary-background-color);\n border-radius: var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px));\n box-sizing: border-box;\n color: var(--primary-text-color);\n}\n\ndiv {\n text-align: center;\n}\n\ndiv.title {\n font-size: 1.5rem;\n}\n\ndiv.camera {\n font-size: 0.7em;\n}")}};e([be({attribute:!1})],Cy.prototype,"date",void 0),e([be({attribute:!1})],Cy.prototype,"cameraTitle",void 0),Cy=e([_e("frigate-card-thumbnail-feature-recording")],Cy);let $y=class extends ge{render(){if(!this.media)return;const e=this.media.getScore(),t=e?(100*e).toFixed(2)+"%":null,n=this.media.getStartTime(),i=n?Ff(n):null,a=this.media.getEndTime(),r=n&&a?qf(n,a):null,o=this.media.inProgress()?Pm("event.in_progress"):null,s=Rf(this.media.getWhat()?.join(", "))??null,c=Rf(this.media.getWhere()?.join(", "))??null,l=Rf(this.media.getTags()?.join(", "))??null,d=s||l?(s??"")+(s&&l?": ":"")+(l??""):null,u=this.seek?Of(this.seek,"HH:mm:ss"):null;return K` - ${d?K`
- ${d} - ${t?K`${t}`:""} -
`:""} -
- ${i?K`
- - ${i} -
- ${r||o?K`
- - ${r?K`${r}`:""} - ${o?K`${o}`:""} -
`:""}`:""} - ${this.cameraTitle?K`
- - ${this.cameraTitle} -
`:""} - ${c?K`
- - ${c} -
`:K``} - ${l?K`
- - ${l} -
`:K``} - ${u?K`
- - ${u} -
`:K``} -
- `}static get styles(){return b(uy)}};e([be({attribute:!1})],$y.prototype,"media",void 0),e([be({attribute:!1})],$y.prototype,"seek",void 0),e([be({attribute:!1})],$y.prototype,"cameraTitle",void 0),$y=e([_e("frigate-card-thumbnail-details-event")],$y);let ky=class extends ge{render(){if(!this.media)return;const e=this.media.getStartTime(),t=e?Ff(e):null,n=this.media.getEndTime(),i=e&&n?qf(e,n):null,a=this.media.inProgress()?Pm("recording.in_progress"):null,r=this.seek?Of(this.seek,"HH:mm:ss"):null,o=this.media.getEventCount();return K` - ${this.cameraTitle?K`
- ${this.cameraTitle} -
`:""} -
- ${t?K`
- - ${t} -
- ${i||a?K`
- - ${i?K`${i}`:""} - ${a?K`${a}`:""} -
`:""}`:""} - ${r?K`
- - ${r} -
`:K``} - ${null!==o?K`
- - ${o} -
`:""} -
- `}static get styles(){return b(uy)}};e([be({attribute:!1})],ky.prototype,"media",void 0),e([be({attribute:!1})],ky.prototype,"seek",void 0),e([be({attribute:!1})],ky.prototype,"cameraTitle",void 0),ky=e([_e("frigate-card-thumbnail-details-recording")],ky);let Ey=class extends ge{constructor(){super(...arguments),this.details=!1,this.show_favorite_control=!1,this.show_timeline_control=!1,this.show_download_control=!1}render(){if(!this.media||!this.cameraManager||!this.hass)return;const e=this.media.getThumbnail(),t=this.media.getTitle()??"",n={star:!0,starred:!!this.media?.isFavorite()},i=this.show_timeline_control&&this.view&&(!_y.isRecording(this.media)||this.media.getStartTime()&&this.media.getEndTime()),a=this.cameraManager?.getMediaCapabilities(this.media),r=this.show_favorite_control&&this.media&&this.hass&&a?.canFavorite,o=this.show_download_control&&this.hass&&this.media.getID()&&a?.canDownload,s=this.cameraManager.getCameraMetadata(this.hass,this.media.getCameraID())?.title;return K` - ${_y.isEvent(this.media)?K``:_y.isRecording(this.media)?K``:K``} - ${r?K` {if(vm(e),this.hass&&this.media){try{await(this.cameraManager?.favoriteMedia(this.hass,this.media,!this.media?.isFavorite()))}catch(e){return void Nf(e)}this.requestUpdate()}}} - />`:""} - ${this.details&&_y.isEvent(this.media)?K``:this.details&&_y.isRecording(this.media)?K``:K``} - ${i?K`{vm(e),this.view&&this.media&&this.view.evolve({view:"timeline",queryResults:this.view.queryResults?.clone().selectResultIfFound((e=>e===this.media))}).removeContext("timeline").dispatchChangeEvent(this)}} - >`:""} - ${o?K` {if(vm(e),this.hass&&this.cameraManager&&this.media)try{await by(this.hass,this.cameraManager,this.media)}catch(e){Mv(this,e)}}} - >`:""} - `}static get styles(){return b(":host {\n display: flex;\n flex-direction: row;\n box-sizing: border-box;\n position: relative;\n overflow: hidden;\n transition: transform 0.2s linear;\n}\n\n:host(:not([details])) {\n aspect-ratio: 1/1;\n}\n\n:host([details]) {\n border: 1px solid var(--primary-color);\n border-radius: var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px));\n padding: 2px;\n background-color: var(--primary-background-color, black);\n}\n\n:host(:hover) {\n transform: scale(1.04);\n}\n\nha-icon {\n position: absolute;\n border-radius: 50%;\n opacity: 0.5;\n color: var(--primary-color);\n cursor: pointer;\n transition: opacity 0.2s ease-in-out, color 0.2s ease-in-out;\n}\n\nha-icon:hover {\n opacity: 1;\n}\n\nha-icon.star {\n top: 3px;\n left: 3px;\n}\n\nha-icon.star.starred {\n color: gold;\n}\n\nha-icon.timeline {\n top: 3px;\n right: 3px;\n}\n\nha-icon.download {\n right: 3px;\n bottom: 3px;\n}\n\nfrigate-card-thumbnail-details-event, frigate-card-thumbnail-details-recording {\n flex: 1;\n}")}};e([be({attribute:!1})],Ey.prototype,"hass",void 0),e([be({attribute:!1})],Ey.prototype,"cameraManager",void 0),e([be({attribute:!0})],Ey.prototype,"media",void 0),e([be({attribute:!0,type:Boolean})],Ey.prototype,"details",void 0),e([be({attribute:!0,type:Boolean})],Ey.prototype,"show_favorite_control",void 0),e([be({attribute:!0,type:Boolean})],Ey.prototype,"show_timeline_control",void 0),e([be({attribute:!0,type:Boolean})],Ey.prototype,"show_download_control",void 0),e([be({attribute:!1})],Ey.prototype,"seek",void 0),e([be({attribute:!1})],Ey.prototype,"view",void 0),Ey=e([_e("frigate-card-thumbnail")],Ey);let My=class extends ge{constructor(){super(...arguments),this.direction="horizontal",this.selected=0,this._refSlot=Le(),this._scrolling=!1,this._reInitOnSettle=!1,this._carouselReInitInPlace=yr(this._carouselReInitInPlaceInternal.bind(this),500,{trailing:!0})}connectedCallback(){super.connectedCallback(),this.requestUpdate()}disconnectedCallback(){this._destroyCarousel(),super.disconnectedCallback()}willUpdate(e){["direction","carouselOptions","carouselPlugins"].some((t=>e.has(t)))&&this._destroyCarousel()}getCarouselSelected(){const e=this._carousel?.selectedScrollSnap(),t=void 0!==e?this._carousel?.slideNodes()[e]??null:null;return void 0!==e&&t?{index:e,element:t}:null}carousel(){return this._carousel??null}_carouselReInitInPlaceInternal(){(e=>{window.requestAnimationFrame((()=>{this._carousel?.reInit({...e})}))})({startIndex:this.selected})}carouselReInitWhenSafe(){this._scrolling?this._reInitOnSettle=!0:this._carouselReInitInPlace()}getCarouselPlugins(){return this._carousel?.plugins()??null}updated(e){super.updated(e),this._carousel||this._initCarousel(),e.has("selected")&&this._carousel?.scrollTo(this.selected,"none"===this.transitionEffect)}_destroyCarousel(){this._carousel&&this._carousel.destroy(),this._carousel=void 0}_initCarousel(){const e=this.renderRoot.querySelector(".embla__viewport"),t={root:e,slides:this._refSlot.value?.assignedElements({flatten:!0})};if(e&&t.slides){this._carousel=W_(t,{axis:"horizontal"==this.direction?"x":"y",speed:30,startIndex:this.selected,...this.carouselOptions},this.carouselPlugins);const e=()=>{const e=this.getCarouselSelected();e&&If(this,"carousel:select",e),this.requestUpdate()};this._carousel.on("init",e),this._carousel.on("select",e),this._carousel.on("scroll",(()=>{this._scrolling=!0})),this._carousel.on("settle",(()=>{this._scrolling=!1,this._reInitOnSettle&&(this._reInitOnSettle=!1,this._carouselReInitInPlace())})),this._carousel.on("settle",(()=>{const e=this.getCarouselSelected();e&&If(this,"carousel:settle",e)}))}}_slotChanged(){this._destroyCarousel(),this.requestUpdate()}render(){const e=this._refSlot.value?.assignedElements({flatten:!0})||[],t=this.carouselOptions?.loop||this.selected>0,n=this.carouselOptions?.loop||this.selected+1 - ${t?K``:""} -
-
- -
-
- ${n?K``:""} - `}static get styles(){return b(":host {\n display: block;\n height: 100%;\n width: 100%;\n}\n\n.embla {\n width: 100%;\n height: 100%;\n margin-left: auto;\n margin-right: auto;\n}\n\n.embla__container {\n display: flex;\n width: 100%;\n height: 100%;\n user-select: none;\n -webkit-touch-callout: none;\n -khtml-user-select: none;\n -webkit-tap-highlight-color: transparent;\n}\n\n:host([direction=vertical]) .embla__container {\n flex-direction: column;\n}\n\n:host([direction=horizontal]) .embla__container {\n flex-direction: row;\n}\n\n.embla__viewport {\n width: 100%;\n height: 100%;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.embla__viewport.is-draggable {\n cursor: move;\n cursor: grab;\n}\n\n.embla__viewport.is-dragging {\n cursor: grabbing;\n}\n\n:host([direction=vertical]) ::slotted(.embla__slide) {\n margin-bottom: 5px;\n}\n\n:host([direction=horizontal]) ::slotted(.embla__slide) {\n margin-right: 5px;\n}")}};e([be({attribute:!0,reflect:!0})],My.prototype,"direction",void 0),e([be({attribute:!1})],My.prototype,"carouselOptions",void 0),e([be({attribute:!1})],My.prototype,"carouselPlugins",void 0),e([be({attribute:!1})],My.prototype,"selected",void 0),e([be({attribute:!0})],My.prototype,"transitionEffect",void 0),My=e([_e("frigate-card-carousel")],My);let Sy=class extends ge{constructor(){super(),this._refCarousel=Le(),this.selected=0,this._carouselOptions={containScroll:"keepSnaps",dragFree:!0},this._carouselPlugins=[dy({forceWheelAxis:"y"})],this._resizeObserver=new ResizeObserver(this._resizeHandler.bind(this))}_resizeHandler(){this._refCarousel.value?.carouselReInitWhenSafe()}connectedCallback(){super.connectedCallback(),this._resizeObserver.observe(this)}disconnectedCallback(){this._resizeObserver.disconnect(),super.disconnectedCallback()}_getSlides(){if(!this.view?.query||!this.view.queryResults?.hasResults())return[];const e=[];for(let t=0;t{this.view&&this.view.queryResults&&If(this,"thumbnail-carousel:tap",{queryResults:this.view.queryResults.clone().selectResult(e)}),vm(t)}} - > - `}_getDirection(){return"left"===this.config?.mode||"right"===this.config?.mode?"vertical":"above"===this.config?.mode||"below"===this.config?.mode?"horizontal":void 0}render(){const e=this._getSlides();if(e.length&&this.config&&"none"!==this.config.mode)return K` - ${e} - `}static get styles(){return b(":host {\n --frigate-card-thumbnail-size-max: 175px;\n --frigate-card-thumbnail-details-width: calc(\n var(--frigate-card-thumbnail-size) + 200px\n );\n}\n\n:host {\n display: block;\n width: 100%;\n height: 100%;\n --frigate-card-carousel-thumbnail-opacity: 1;\n}\n\n:host([direction=vertical]) {\n height: 100%;\n}\n\n:host([direction=horizontal]) {\n height: auto;\n}\n\n.embla__slide {\n flex: 0 0 auto;\n opacity: var(--frigate-card-carousel-thumbnail-opacity);\n}\n\n.embla__slide.slide-selected {\n opacity: 1;\n}\n\nfrigate-card-thumbnail {\n width: var(--frigate-card-thumbnail-size);\n height: var(--frigate-card-thumbnail-size);\n max-width: 100%;\n}\n\nfrigate-card-thumbnail[details] {\n width: var(--frigate-card-thumbnail-details-width);\n}")}};e([be({attribute:!1})],Sy.prototype,"hass",void 0),e([be({attribute:!1})],Sy.prototype,"view",void 0),e([be({attribute:!1})],Sy.prototype,"cameraManager",void 0),e([be({attribute:!1})],Sy.prototype,"config",void 0),e([be({attribute:!1})],Sy.prototype,"selected",void 0),Sy=e([_e("frigate-card-thumbnail-carousel")],Sy);class Ty{constructor(e){this._queries=null,e&&(this._queries=e)}clone(){return Gi(this)}getQueries(){return this._queries}setQueries(e){this._queries=e}}class Ay extends Ty{convertToClipsQueries(){for(const e of this._queries??[])delete e.hasSnapshot,e.hasClip=!0}clone(){return Gi(this)}}class zy extends Ty{}class jy{static areEventQueries(e){return e instanceof Ay}static areRecordingQueries(e){return e instanceof zy}}class Oy{constructor(e){this.view=e.view,this.camera=e.camera,this.query=e.query??null,this.queryResults=e.queryResults??null,this.context=e.context??null}static isMajorMediaChange(e,t){return!e||!t||e.view!==t.view||e.camera!==t.camera||"live"===t.view&&e.context?.live?.overrides?.get(e.camera)!==t.context?.live?.overrides?.get(t.camera)||"live"!==t.view&&e.queryResults!==t.queryResults}static adoptFromViewIfAppropriate(e,t){if(!t)return;let n=null;if(jy.areEventQueries(t.query)){const e=t.query.getQueries();e?.every((e=>e.hasClip))?n="clips":e?.every((e=>e.hasSnapshot))&&(n="snapshots")}else jy.areRecordingQueries(t.query)&&(n="recordings");const i=!e.query||!e.queryResults,a=t.isViewerView()&&e.isGalleryView()&&e.view===n,r=t?.is("media")&&e.is("media");if(i&&(a?(t.query&&(e.query=t.query),t.queryResults&&(e.queryResults=t.queryResults)):r&&n&&(e.view="clips"===n?"clip":"snapshots"===n?"snapshot":"recording")),t.is("live")&&e.is("live")&&t.context?.live?.overrides&&!e.context?.live?.overrides){const n=e.context?.live??{};n.overrides=t.context.live.overrides,e.mergeInContext({live:n})}}clone(){return new Oy({view:this.view,camera:this.camera,query:this.query?.clone()??null,queryResults:this.queryResults?.clone()??null,context:this.context})}evolve(e){return new Oy({view:void 0!==e.view?e.view:this.view,camera:void 0!==e.camera?e.camera:this.camera,query:void 0!==e.query?e.query:this.query?.clone()??null,queryResults:void 0!==e.queryResults?e.queryResults:this.queryResults?.clone()??null,context:void 0!==e.context?e.context:this.context})}mergeInContext(e){return this.context={...this.context,...e},this}removeContext(e){return this.context&&delete this.context[e],this}is(e){return this.view==e}isGalleryView(){return["clips","snapshots","recordings"].includes(this.view)}isAnyMediaView(){return this.isViewerView()||this.is("live")||this.is("image")}isViewerView(){return["clip","snapshot","media","recording"].includes(this.view)}getDefaultMediaType(){return["clip","clips"].includes(this.view)?"clips":["snapshot","snapshots"].includes(this.view)?"snapshots":["recording","recordings"].includes(this.view)?"recordings":null}dispatchChangeEvent(e){If(e,"view:change",this)}}const Iy=(e,t)=>{If(e,"view:change-context",t)},Ry=document.createElement("template");Ry.innerHTML='\n
\n
\n';class Dy extends HTMLElement{constructor(){super();const e=this.attachShadow({mode:"open"});e.appendChild(Ry.content.cloneNode(!0)),this._freeSpaceDiv=e.getElementById("fs")}connectedCallback(){this._freeSpaceDiv&&this._freeSpaceDiv.addEventListener("click",this.handleFreeSpaceDivClick),this.upgradeProperty("open")}disconnectedCallback(){document.removeEventListener("keyup",this.handleKeyUp)}upgradeProperty(e){if(this.hasOwnProperty(e)){let t=this[e];delete this[e],this[e]=t}}handleKeyUp=e=>{if(!e.altKey&&"Escape"===e.key)e.preventDefault(),this.open=!1};get open(){return this.hasAttribute("open")}set open(e){e?this.hasAttribute("open")||this.setAttribute("open",""):this.hasAttribute("open")&&this.removeAttribute("open")}static get observedAttributes(){return["open"]}attributeChangedCallback(e,t,n){"open"===e&&(this.open?(this.setAttribute("tabindex","0"),this.setAttribute("aria-disabled","false"),this.focus({preventScroll:!0}),document.addEventListener("keyup",this.handleKeyUp),this.dispatchEvent(new CustomEvent("open",{bubbles:!0}))):(this.setAttribute("tabindex","-1"),this.setAttribute("aria-disabled","true"),document.removeEventListener("keyup",this.handleKeyUp),this.dispatchEvent(new CustomEvent("close",{bubbles:!0}))))}handleFreeSpaceDivClick=()=>{this.open=!1}}customElements.define("side-drawer",Dy);let Py=class extends ge{constructor(){super(...arguments),this.location="left",this.control=!0,this.open=!1,this.empty=!0,this._refDrawer=Le(),this._refSlot=Le(),this._resizeObserver=new ResizeObserver((()=>this._hideDrawerIfNecessary())),this._isHoverableDevice=Uf()}firstUpdated(e){super.firstUpdated(e);const t=document.createElement("style");t.innerHTML=":host {\n width: unset;\n}\n\n#fs {\n display: none;\n width: 100%;\n inset: 0;\n}\n\n#d,\n#fs {\n height: 100%;\n position: absolute;\n}\n\n#d {\n overflow: visible;\n max-width: 90%;\n}\n\n:host([location=right]) #d {\n left: unset;\n right: 0;\n transform: translateX(100%);\n}\n\n:host([location=right][open]) #d {\n transform: none;\n box-shadow: var(--frigate-card-css-box-shadow, 0px 0px 25px 0px black);\n}\n\n#ifs {\n height: 100%;\n}",this._refDrawer.value?.shadowRoot?.appendChild(t)}_slotChanged(){const e=this._refSlot.value?.assignedElements({flatten:!0});this._resizeObserver.disconnect();for(const t of e??[])this._resizeObserver.observe(t);this._hideDrawerIfNecessary()}_hideDrawerIfNecessary(){if(!this._refDrawer.value)return;const e=this._refSlot.value?.assignedElements({flatten:!0});this.empty=!e||!e.length||e.every((e=>{const t=e.getBoundingClientRect();return!t.width||!t.height}))}render(){return K` - {this.open&&(this.open=!1)}} - > - ${this.control?K` -
{vm(e),this.open=!this.open}} - > - {this._isHoverableDevice&&!this.open&&(this.open=!0)}} - > - -
- `:""} - this._slotChanged()}> -
- `}static get styles(){return b("side-drawer {\n background-color: var(--card-background-color);\n}\n\ndiv.control-surround {\n position: absolute;\n bottom: 50%;\n transform: translateY(50%);\n z-index: 0;\n padding-top: 20px;\n padding-bottom: 20px;\n}\n\n:host([location=left]) div.control-surround {\n padding-right: 12px;\n left: 100%;\n}\n\n:host([location=right]) div.control-surround {\n padding-left: 12px;\n right: 100%;\n}\n\n:host([empty]), :host([empty]) > * {\n visibility: hidden;\n}\n\n:host(:not([empty])), :host(:not([empty])) > * {\n visibility: visible;\n}\n\nha-icon.control {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.7);\n opacity: 0.5;\n pointer-events: all;\n --mdc-icon-size: 20px;\n padding-top: 20px;\n padding-bottom: 20px;\n transition: opacity 0.5s ease;\n}\n\n:host([open]) ha-icon.control, ha-icon.control:hover {\n opacity: 1;\n background-color: black;\n}\n\n:host([location=left]) ha-icon.control {\n border-top-right-radius: 20px;\n border-bottom-right-radius: 20px;\n}\n\n:host([location=right]) ha-icon.control {\n border-top-left-radius: 20px;\n border-bottom-left-radius: 20px;\n}")}};e([be({attribute:!0,reflect:!0})],Py.prototype,"location",void 0),e([be({attribute:!0,reflect:!0,type:Boolean})],Py.prototype,"control",void 0),e([be({type:Boolean,reflect:!0,attribute:!0})],Py.prototype,"open",void 0),e([be({attribute:!1})],Py.prototype,"icons",void 0),e([be({type:Boolean,reflect:!0,attribute:!0})],Py.prototype,"empty",void 0),Py=e([_e("frigate-card-drawer")],Py);let Ly=class extends ge{constructor(){super(...arguments),this._refDrawerLeft=Le(),this._refDrawerRight=Le(),this._boundDrawerHandler=this._drawerHandler.bind(this)}connectedCallback(){super.connectedCallback(),this.addEventListener("frigate-card:drawer:open",this._boundDrawerHandler),this.addEventListener("frigate-card:drawer:close",this._boundDrawerHandler)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("frigate-card:drawer:open",this._boundDrawerHandler),this.removeEventListener("frigate-card:drawer:close",this._boundDrawerHandler)}_drawerHandler(e){const t=e.detail.drawer,n=e.type.endsWith(":open");"left"===t&&this._refDrawerLeft.value?this._refDrawerLeft.value.open=n:"right"===t&&this._refDrawerRight.value&&(this._refDrawerRight.value.open=n)}render(){return K` - - - - - - - - `}static get styles(){return b(":host {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n position: relative;\n overflow: hidden;\n}\n\n::slotted(:not([slot])) {\n flex: 1;\n min-height: 0px;\n}")}};e([be({attribute:!1})],Ly.prototype,"drawerIcons",void 0),Ly=e([_e("frigate-card-surround-basic")],Ly);var Ny=4;class Uy{constructor(e,t){this._results=null,this._resultsTimestamp=null,this._selectedIndex=null,e&&this.setResults(e),void 0!==t&&this.selectResult(t)}clone(){return Bi(this,Ny)}isSupersetOf(e){if(!this._results||!e._results)return!1;const t=new Set(this._results.map((e=>e.getID()))),n=new Set(e._results.map((e=>e.getID())));return!(!t||!n||t.has(null)||n.has(null))&&((e,t)=>{for(const n of t)if(!e.has(n))return!1;return!0})(t,n)}getResults(){return this._results}getResultsCount(){return this._results?.length??0}hasResults(){return!!this._results}setResults(e){this._results=e,this._resultsTimestamp=new Date}getResult(e){return this._results&&void 0!==e?this._results[e]:null}getSelectedResult(){return null===this._selectedIndex?null:this.getResult(this._selectedIndex)}getSelectedIndex(){return this._selectedIndex}hasSelectedResult(){return null!==this.getSelectedResult()}resetSelectedResult(){return this._selectedIndex=null,this}getResultsTimestamp(){return this._resultsTimestamp}selectResult(e){return(null===e||this._results&&e>=0&&e{const o=pv(n,a.camera);if(!o)return;const s=Hy(n,i,o,{mediaType:r?.mediaType});s&&(await Vy(e,t,n,a,s,{targetView:r?.targetView,select:r?.select}))?.dispatchChangeEvent(e)},Hy=(e,t,n,i)=>{const a=t.performance?.features.media_chunk_size??50,r=e.generateDefaultEventQueries(n,{limit:a,..."clips"===i?.mediaType&&{hasClip:!0},..."snapshots"===i?.mediaType&&{hasSnapshot:!0}});return r?new Ay(r):null},Zy=async(e,t,n,i,a,r)=>{const o=pv(n,a.camera);if(!o)return;const s=qy(n,i,o);s&&(await Vy(e,t,n,a,s,{targetView:r?.targetView,select:r?.select}))?.dispatchChangeEvent(e)},qy=(e,t,n,i)=>{const a=t.performance?.features.media_chunk_size??50,r=e.generateDefaultRecordingQueries(n,{limit:a,...i?.start&&{start:i.start},...i?.end&&{end:i.end}});return r?new zy(r):null},Vy=async(e,t,n,i,a,r)=>{let o;const s=a.getQueries();if(!s)return null;try{o=await n.executeMediaQueries(t,s)}catch(t){return Nf(t),Mv(e,t),null}if(!o)return null;const c=new Uy(o,"latest"===r?.select&&o.length?o.length-1:void 0);let l={};return"time"===r?.select&&r?.targetTime&&(c.selectBestResult((e=>Wy(e,r.targetTime))),l={mediaViewer:{seek:r.targetTime}}),i?.evolve({query:a,queryResults:c,view:r?.targetView,camera:r?.targetCameraID}).mergeInContext(l)??null},Wy=(e,t)=>{let n;for(const[i,a]of e.entries()){const e=a.getStartTime(),r=a.getUsableEndTime();if(a.includesTime(t)&&e&&r){const t=r.getTime()-e.getTime();(!n||t>n.duration)&&(n={index:i,duration:t})}}return n?n.index:null};let By=class extends ge{async _fetchMedia(){this.cameraManager&&this.cardWideConfig&&this.fetchMedia&&this.hass&&this.view&&!this.view.query&&this.thumbnailConfig&&"none"!==this.thumbnailConfig.mode&&(this.view.context?.thumbnails?.fetch??1)&&await Fy(this,this.hass,this.cameraManager,this.cardWideConfig,this.view,{targetView:this.view.view,mediaType:this.fetchMedia,select:"latest"})}_hasDrawer(){return!!this.thumbnailConfig&&["left","right"].includes(this.thumbnailConfig.mode)}willUpdate(e){this.timelineConfig?.mode&&"none"!==this.timelineConfig.mode&&import("./timeline-6aa9e747.js"),e.has("view")&&Oy.isMajorMediaChange(e.get("view"),this.view)&&(this._cameraIDsForTimeline=this._getCameraIDsForTimeline()??void 0),["view","fetch","browseMediaParams"].some((t=>e.has(t)))&&this._fetchMedia()}_getCameraIDsForTimeline(){return this.view?this.view?.is("live")?pv(this.cameraManager,this.view.camera):this.view.isViewerView()?new Set(this.view.query?.getQueries()?.map((e=>[...e.cameraIDs])).flat()):null:null}render(){if(!this.hass||!this.view)return;const e=(e,t)=>{this.thumbnailConfig&&this._hasDrawer()&&If(e.composedPath()[0],"drawer:"+t,{drawer:this.thumbnailConfig.mode})};return K` e(t,"open")} - @frigate-card:thumbnails:close=${t=>e(t,"close")} - > - ${this.thumbnailConfig&&"none"!==this.thumbnailConfig.mode?K` e(t,"close")} - @frigate-card:thumbnail-carousel:tap=${e=>{const t=e.detail.queryResults.getSelectedResult();t&&this.view?.evolve({view:"media",queryResults:e.detail.queryResults,...t.getCameraID()&&{camera:t.getCameraID()}}).removeContext("timeline").dispatchChangeEvent(e.composedPath()[0])}} - > - `:""} - ${this.timelineConfig&&"none"!==this.timelineConfig.mode?K` - `:""} - - `}static get styles(){return b(":host {\n width: 100%;\n height: 100%;\n display: block;\n}")}};e([be({attribute:!1})],By.prototype,"hass",void 0),e([be({attribute:!1})],By.prototype,"view",void 0),e([be({attribute:!1,hasChanged:Lf})],By.prototype,"thumbnailConfig",void 0),e([be({attribute:!1,hasChanged:Lf})],By.prototype,"timelineConfig",void 0),e([be({attribute:!1,hasChanged:Lf})],By.prototype,"fetchMedia",void 0),e([be({attribute:!1})],By.prototype,"cameraManager",void 0),e([be({attribute:!1})],By.prototype,"cardWideConfig",void 0),By=e([_e("frigate-card-surround")],By);let Yy=class extends ge{willUpdate(e){(e.has("view")||e.has("config"))&&((this.view?.is("live")||this._shouldLivePreload())&&import("./live-e0c9196c.js"),this.view?.isGalleryView()?import("./gallery-6281c347.js"):this.view?.isViewerView()?import("./viewer-b95bc789.js"):this.view?.is("image")?import("./image-0b99ab11.js"):this.view?.is("timeline")&&import("./timeline-6aa9e747.js")),e.has("hide")&&(this.hide?this.setAttribute("hidden",""):this.removeAttribute("hidden"))}shouldUpdate(e){return!0}_shouldLivePreload(){return!!this.config?.live.preload}render(){if(!this.hass||!this.config||!this.nonOverriddenConfig)return K``;const e={hidden:this._shouldLivePreload()&&!this.view?.is("live")},t={hidden:!!this.hide},n=this.view?.is("live")?this.config.live.controls.thumbnails:this.view?.isViewerView()?this.config.media_viewer.controls.thumbnails:this.view?.is("timeline")?this.config.timeline.controls.thumbnails:void 0,i=this.view?.is("live")?this.config.live.controls.timeline:this.view?.isViewerView()?this.config.media_viewer.controls.timeline:void 0,a=this.view?this.cameraManager?.getStore().getCameraConfig(this.view.camera)??null:null;return K` - ${!this.hide&&this.view?.is("image")&&a?K` - `:""} - ${!this.hide&&this.view?.isGalleryView()?K` - `:""} - ${!this.hide&&this.view?.isViewerView()?K` - - - `:""} - ${!this.hide&&this.view?.is("timeline")?K` - `:""} - ${this._shouldLivePreload()||!this.hide&&this.view?.is("live")?K` - r in e.overrides)).map((e=>({conditions:e.conditions,overrides:e.overrides[r]})))??[]} - .cameraManager=${this.cameraManager} - .cardWideConfig=${this.cardWideConfig} - .microphoneStream=${this.microphoneStream} - class="${Ee(e)}" - > - - `:""} - `;var r,o}static get styles(){return b(":host {\n width: 100%;\n height: 100%;\n display: block;\n}\n\n:host([hidden]),\n.hidden {\n display: none;\n}")}};e([be({attribute:!1})],Yy.prototype,"hass",void 0),e([be({attribute:!1})],Yy.prototype,"view",void 0),e([be({attribute:!1})],Yy.prototype,"cameraManager",void 0),e([be({attribute:!1})],Yy.prototype,"config",void 0),e([be({attribute:!1})],Yy.prototype,"nonOverriddenConfig",void 0),e([be({attribute:!1})],Yy.prototype,"cardWideConfig",void 0),e([be({attribute:!1})],Yy.prototype,"resolvedMediaCache",void 0),e([be({attribute:!1})],Yy.prototype,"conditionControllerEpoch",void 0),e([be({attribute:!1})],Yy.prototype,"hide",void 0),e([be({attribute:!1})],Yy.prototype,"microphoneStream",void 0),Yy=e([_e("frigate-card-views")],Yy);const Qy={[Il]:"none",[sl]:"none",[bd]:"none",[Zl]:!1,[gl]:!1,[_d]:!1,[Sl]:"never",[Gc]:"never",[Kc]:"never",[Xc]:"never",[Jl]:"all",[Kl]:!1,[el]:!1,[td]:"none",[il]:"none",[nd]:!1,[rl]:"chevrons",[bl]:"none",[Wl]:"none",[Td]:"outside",[`${Rd}.enabled`]:!1,[`${Hd}.enabled`]:!1,[`${Hd}.enabled`]:!1,[`${Ud}.enabled`]:!1,[Vc]:!1,[Wc]:!1,[Bc]:!1,[qc]:!1,[Pl]:!1,[Ll]:!1,[Nl]:!1,[Dl]:!1,[ll]:!1,[dl]:!1,[ul]:!1,[cl]:!1,[Cd]:!1,[$d]:!1,[kd]:!1,[xd]:!1,[Gd]:!1,[Kd]:10,[eu]:!1,[Jd]:!1,[nl]:!1,[Mc]:!1,[Sc]:10},Gy=(e,t)=>{const n=iu(om).safeParse(e);if(n.success){const e=n.data;Object.entries(Qy).forEach((([n,i])=>((e,t,n,i)=>{void 0===Av(e,n)&&Tv(t,n,i)})(e,t,n,i)))}return t},Ky={box_shadow:"none",border_radius:"0px"};const Xy=Ws.object({model:Ws.string().nullable(),config_entries:Ws.string().array(),manufacturer:Ws.string().nullable()}).array();class Jy{constructor(){this._cache=new Map}has(e){return this._cache.has(e)}getMatches(e){return[...this._cache.values()].filter(e)}get(e){return this._cache.get(e)}set(e){const t=e=>this._cache.set(e.entity_id,e);Array.isArray(e)?e.forEach(t):t(e)}}const eb=Ws.object({config_entry_id:Ws.string().nullable(),device_id:Ws.string().nullable(),disabled_by:Ws.string().nullable(),entity_id:Ws.string(),hidden_by:Ws.string().nullable(),platform:Ws.string(),translation_key:Ws.string().nullable(),unique_id:Ws.string().or(Ws.number()).optional()}),tb=eb.array();class nb{constructor(e){this._fetchedEntityList=!1,this._cache=e}async getEntity(e,t){const n=this._cache.get(t);if(n)return n;const i=await cp(e,eb,{type:"config/entity_registry/get",entity_id:t});return this._cache.set(i),i}async getMatchingEntities(e,t){return await this.fetchEntityList(e),this._cache.getMatches(t)}async getEntities(e,t){const n=new Map;return await Promise.all(t.map((async t=>{let i=null;try{i=await this.getEntity(e,t)}catch{return}i&&n.set(t,i)}))),n}async fetchEntityList(e){if(this._fetchedEntityList)return;const t=await cp(e,tb,{type:"config/entity_registry/list"});this._cache.set(t),this._fetchedEntityList=!0}}class ib extends Map{constructor(e={}){if(super(),!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");if("number"==typeof e.maxAge&&0===e.maxAge)throw new TypeError("`maxAge` must be a number greater than 0");this.maxSize=e.maxSize,this.maxAge=e.maxAge||Number.POSITIVE_INFINITY,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_emitEvictions(e){if("function"==typeof this.onEviction)for(const[t,n]of e)this.onEviction(t,n.value)}_deleteIfExpired(e,t){return"number"==typeof t.expiry&&t.expiry<=Date.now()&&("function"==typeof this.onEviction&&this.onEviction(e,t.value),this.delete(e))}_getOrDeleteIfExpired(e,t){if(!1===this._deleteIfExpired(e,t))return t.value}_getItemValue(e,t){return t.expiry?this._getOrDeleteIfExpired(e,t):t.value}_peek(e,t){const n=t.get(e);return this._getItemValue(e,n)}_set(e,t){this.cache.set(e,t),this._size++,this._size>=this.maxSize&&(this._size=0,this._emitEvictions(this.oldCache),this.oldCache=this.cache,this.cache=new Map)}_moveToRecent(e,t){this.oldCache.delete(e),this._set(e,t)}*_entriesAscending(){for(const e of this.oldCache){const[t,n]=e;if(!this.cache.has(t)){!1===this._deleteIfExpired(t,n)&&(yield e)}}for(const e of this.cache){const[t,n]=e;!1===this._deleteIfExpired(t,n)&&(yield e)}}get(e){if(this.cache.has(e)){const t=this.cache.get(e);return this._getItemValue(e,t)}if(this.oldCache.has(e)){const t=this.oldCache.get(e);if(!1===this._deleteIfExpired(e,t))return this._moveToRecent(e,t),t.value}}set(e,t,{maxAge:n=this.maxAge}={}){const i="number"==typeof n&&n!==Number.POSITIVE_INFINITY?Date.now()+n:void 0;this.cache.has(e)?this.cache.set(e,{value:t,expiry:i}):this._set(e,{value:t,expiry:i})}has(e){return this.cache.has(e)?!this._deleteIfExpired(e,this.cache.get(e)):!!this.oldCache.has(e)&&!this._deleteIfExpired(e,this.oldCache.get(e))}peek(e){return this.cache.has(e)?this._peek(e,this.cache):this.oldCache.has(e)?this._peek(e,this.oldCache):void 0}delete(e){const t=this.cache.delete(e);return t&&this._size--,this.oldCache.delete(e)||t}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}resize(e){if(!(e&&e>0))throw new TypeError("`maxSize` must be a number greater than 0");const t=[...this._entriesAscending()],n=t.length-e;n<0?(this.cache=new Map(t),this.oldCache=new Map,this._size=t.length):(n>0&&this._emitEvictions(t.slice(0,n)),this.oldCache=new Map(t.slice(n)),this.cache=new Map,this._size=0),this.maxSize=e}*keys(){for(const[e]of this)yield e}*values(){for(const[,e]of this)yield e}*[Symbol.iterator](){for(const e of this.cache){const[t,n]=e;!1===this._deleteIfExpired(t,n)&&(yield[t,n.value])}for(const e of this.oldCache){const[t,n]=e;if(!this.cache.has(t)){!1===this._deleteIfExpired(t,n)&&(yield[t,n.value])}}}*entriesDescending(){let e=[...this.cache];for(let t=e.length-1;t>=0;--t){const n=e[t],[i,a]=n;!1===this._deleteIfExpired(i,a)&&(yield[i,a.value])}e=[...this.oldCache];for(let t=e.length-1;t>=0;--t){const n=e[t],[i,a]=n;if(!this.cache.has(i)){!1===this._deleteIfExpired(i,a)&&(yield[i,a.value])}}}*entriesAscending(){for(const[e,t]of this._entriesAscending())yield[e,t.value]}get size(){if(!this._size)return this.oldCache.size;let e=0;for(const t of this.oldCache.keys())this.cache.has(t)||e++;return Math.min(this._size+e,this.maxSize)}entries(){return this.entriesAscending()}forEach(e,t=this){for(const[n,i]of this.entriesAscending())e.call(t,i,n,this)}get[Symbol.toStringTag](){return JSON.stringify([...this.entriesAscending()])}}class ab{constructor(){this._cache=new ib({maxSize:1e3})}has(e){return this._cache.has(e)}get(e){return this._cache.get(e)}set(e,t){this._cache.set(e,t)}}const rb=async(e,t,n)=>{const i=n?n.get(t):void 0;if(i)return i;const a={type:"media_source/resolve_media",media_content_id:t};let r=null;try{r=await cp(e,lm,a)}catch(e){Nf(e)}return n&&r&&n.set(t,r),r};var ob;!function(e){e.INITIALIZING="initializing",e.INITIALIZED="initialized"}(ob||(ob={}));class sb{constructor(){this._state=new Map}async initializeMultipleIfNecessary(e){return(await Vf(Object.entries(e),(async([e,t])=>this.initializeIfNecessary(e,t)))).every(Boolean)}async initializeIfNecessary(e,t){const n=this._state.get(e);return n===ob.INITIALIZED||n!==ob.INITIALIZING&&(t?(this._state.set(e,ob.INITIALIZING),await t(),this._state.set(e,ob.INITIALIZED)):this._state.set(e,ob.INITIALIZED),!0)}uninitialize(e){return this._state.delete(e)}isInitialized(e){return this._state.get(e)==ob.INITIALIZED}isInitializedMultiple(e){return e.every((e=>this.isInitialized(e)))}}class cb{constructor(){this._current=null,this._lastKnown=null}set(e){this._current=e,this._lastKnown=e}get(){return this._current}getLastKnown(){return this._lastKnown}clear(){this._current=null}has(){return!!this._current}}const lb=50,db=lb;function ub(e,t){let n;return n=e instanceof Event?e.composedPath()[0]:e,n instanceof HTMLImageElement?{width:n.naturalWidth,height:n.naturalHeight,...t}:n instanceof HTMLVideoElement?{width:n.videoWidth,height:n.videoHeight,...t}:n instanceof HTMLCanvasElement?{width:n.width,height:n.height,player:t?.player,...t}:null}function hb(e,t,n){const i=ub(t,n);i&&mb(e,i)}function mb(e,t){If(e,"media:loaded",t)}function pb(e){If(e,"media:unloaded")}function fb(e){If(e,"media:volumechange")}function gb(e){If(e,"media:play")}function vb(e){If(e,"media:pause")}function _b(e){return e.height>=lb&&e.width>=db}const yb=e=>{const t=e?.context?.live?.overrides?.get(e.camera);return!!t&&t!==e.camera};class bb{constructor(){this._dynamicMenuButtons=[]}addDynamicMenuButton(e){this._dynamicMenuButtons.includes(e)||this._dynamicMenuButtons.push(e)}removeDynamicMenuButton(e){this._dynamicMenuButtons=this._dynamicMenuButtons.filter((t=>t!=e))}calculateButtons(e,t,n,i,a,r){const o=n.getStore().getVisibleCameras(),s=i.camera,c=n.getStore().getCameraConfig(s),l=pv(n,s),d=i.queryResults?.getSelectedResult(),u=n.getAggregateCameraCapabilities(l),h=d?n?.getMediaCapabilities(d):null,m=[];if(m.push({icon:nu,...t.menu.buttons.frigate,type:"custom:frigate-card-menu-icon",title:Pm("config.menu.buttons.frigate"),tap_action:"hidden"===t.menu?.style?hm("menu_toggle"):hm("default"),hold_action:hm("diagnostics")}),o){const i=Array.from(o,(([t,i])=>{const a=hm("camera_select",{camera:t}),r=n.getCameraMetadata(e,t)??void 0;return{enabled:!0,icon:r?.icon,entity:i.camera_entity,state_color:!0,title:r?.title,selected:s===t,...a&&{tap_action:a}}}));m.push({icon:"mdi:video-switch",...t.menu.buttons.cameras,type:"custom:frigate-card-menu-submenu",title:Pm("config.menu.buttons.cameras"),items:i})}if(s&&l&&i.is("live")){const a=[...l],r=i.context?.live?.overrides?.get(s);if(2===a.length)m.push({icon:"mdi:video-input-component",style:r&&r!==s?this._getEmphasizedStyle():{},title:Pm("config.menu.buttons.substreams"),...t.menu.buttons.substreams,type:"custom:frigate-card-menu-icon",tap_action:hm(yb(i)?"live_substream_off":"live_substream_on")});else if(a.length>2){const o=Array.from(a,(t=>{const a=hm("live_substream_select",{camera:t}),r=n.getCameraMetadata(e,t)??void 0,o=n.getStore().getCameraConfig(t);return{enabled:!0,icon:r?.icon,entity:o?.camera_entity,state_color:!0,title:r?.title,selected:(i.context?.live?.overrides?.get(s)??s)===t,...a&&{tap_action:a}}}));m.push({icon:"mdi:video-input-component",title:Pm("config.menu.buttons.substreams"),style:r&&r!==s?this._getEmphasizedStyle():{},...t.menu.buttons.substreams,type:"custom:frigate-card-menu-submenu",items:o})}}if(m.push({icon:"mdi:cctv",...t.menu.buttons.live,type:"custom:frigate-card-menu-icon",title:Pm("config.view.views.live"),style:i.is("live")?this._getEmphasizedStyle():{},tap_action:hm("live")}),u?.supportsClips&&m.push({icon:"mdi:filmstrip",...t.menu.buttons.clips,type:"custom:frigate-card-menu-icon",title:Pm("config.view.views.clips"),style:i?.is("clips")?this._getEmphasizedStyle():{},tap_action:hm("clips"),hold_action:hm("clip")}),u?.supportsSnapshots&&m.push({icon:"mdi:camera",...t.menu.buttons.snapshots,type:"custom:frigate-card-menu-icon",title:Pm("config.view.views.snapshots"),style:i?.is("snapshots")?this._getEmphasizedStyle():{},tap_action:hm("snapshots"),hold_action:hm("snapshot")}),u?.supportsRecordings&&m.push({icon:"mdi:album",...t.menu.buttons.recordings,type:"custom:frigate-card-menu-icon",title:Pm("config.view.views.recordings"),style:i.is("recordings")?this._getEmphasizedStyle():{},tap_action:hm("recordings"),hold_action:hm("recording")}),m.push({icon:"mdi:image",...t.menu.buttons.image,type:"custom:frigate-card-menu-icon",title:Pm("config.view.views.image"),style:i?.is("image")?this._getEmphasizedStyle():{},tap_action:hm("image")}),u?.supportsTimeline&&m.push({icon:"mdi:chart-gantt",...t.menu.buttons.timeline,type:"custom:frigate-card-menu-icon",title:Pm("config.view.views.timeline"),style:i.is("timeline")?this._getEmphasizedStyle():{},tap_action:hm("timeline")}),h?.canDownload&&!this._isBeingCasted()&&m.push({icon:"mdi:download",...t.menu.buttons.download,type:"custom:frigate-card-menu-icon",title:Pm("config.menu.buttons.download"),tap_action:hm("download")}),r?.cameraURL&&m.push({icon:"mdi:web",...t.menu.buttons.camera_ui,type:"custom:frigate-card-menu-icon",title:Pm("config.menu.buttons.camera_ui"),tap_action:hm("camera_ui")}),r?.microphoneController&&r?.currentMediaLoadedInfo?.capabilities?.supports2WayAudio){const e=r.microphoneController.isForbidden(),n=r.microphoneController.isMuted(),i=t.menu.buttons.microphone.type;m.push({icon:e?"mdi:microphone-message-off":n?"mdi:microphone-off":"mdi:microphone",...t.menu.buttons.microphone,type:"custom:frigate-card-menu-icon",title:Pm("config.menu.buttons.microphone"),style:e||n?{}:this._getEmphasizedStyle(!0),...!e&&"momentary"===i&&{start_tap_action:hm("microphone_unmute"),end_tap_action:hm("microphone_mute")},...!e&&"toggle"===i&&{tap_action:hm(r.microphoneController.isMuted()?"microphone_unmute":"microphone_mute")}})}if($r.isEnabled&&!this._isBeingCasted()&&m.push({icon:$r.isFullscreen?"mdi:fullscreen-exit":"mdi:fullscreen",...t.menu.buttons.fullscreen,type:"custom:frigate-card-menu-icon",title:Pm("config.menu.buttons.fullscreen"),tap_action:hm("fullscreen"),style:$r.isFullscreen?this._getEmphasizedStyle():{}}),m.push({icon:a?"mdi:arrow-collapse-all":"mdi:arrow-expand-all",...t.menu.buttons.expand,type:"custom:frigate-card-menu-icon",title:Pm("config.menu.buttons.expand"),tap_action:hm("expand"),style:a?this._getEmphasizedStyle():{}}),r?.mediaPlayers?.length&&(i?.isViewerView()||i.is("live")&&c?.camera_entity)){const n=r.mediaPlayers.map((t=>{const n=vp(e,t)||t,i=e.states[t],a=hm("media_player",{media_player:t,media_player_action:"play"}),r=hm("media_player",{media_player:t,media_player_action:"stop"}),o=!i||"unavailable"===i.state;return{enabled:!0,selected:!1,icon:_p(e,t),entity:t,state_color:!1,title:n,disabled:o,...!o&&a&&{tap_action:a},...!o&&r&&{hold_action:r}}}));m.push({icon:"mdi:cast",...t.menu.buttons.media_player,type:"custom:frigate-card-menu-submenu",title:Pm("config.menu.buttons.media_player"),items:n})}if(r?.currentMediaLoadedInfo&&r.currentMediaLoadedInfo.player){if(r.currentMediaLoadedInfo.capabilities?.supportsPause){const e=r.currentMediaLoadedInfo.player.isPaused();m.push({icon:e?"mdi:play":"mdi:pause",...t.menu.buttons.play,type:"custom:frigate-card-menu-icon",title:Pm("config.menu.buttons.play"),tap_action:hm(e?"play":"pause")})}if(r.currentMediaLoadedInfo.capabilities?.hasAudio){const e=r.currentMediaLoadedInfo.player.isMuted();m.push({icon:e?"mdi:volume-off":"mdi:volume-high",...t.menu.buttons.mute,type:"custom:frigate-card-menu-icon",title:Pm("config.menu.buttons.mute"),tap_action:hm(e?"unmute":"mute")})}}r?.currentMediaLoadedInfo&&r.currentMediaLoadedInfo.player&&m.push({icon:"mdi:monitor-screenshot",...t.menu.buttons.screenshot,type:"custom:frigate-card-menu-icon",title:Pm("config.menu.buttons.screenshot"),tap_action:hm("screenshot")});const p=this._dynamicMenuButtons.map((e=>({style:this._getStyleFromActions(t,i,e),...e})));return m.concat(p)}_getEmphasizedStyle(e){return e?{animation:"pulse 3s infinite",color:"var(--error-color, white)"}:{color:"var(--primary-color, white)"}}_getStyleFromActions(e,t,n){for(const i of[n.tap_action,n.double_tap_action,n.hold_action,n.start_tap_action,n.end_tap_action]){const n=Array.isArray(i)?i:[i];for(const i of n){if(!i||"fire-dom-event"!==i.action||!("frigate_card_action"in i))continue;const n=i;if(du.some((e=>e===n.frigate_card_action&&t?.is(n.frigate_card_action)))||"default"===n.frigate_card_action&&t.is(e.view.default)||"fullscreen"===n.frigate_card_action&&$r.isEnabled&&$r.isFullscreen||"camera_select"===n.frigate_card_action&&t.camera===n.camera)return this._getEmphasizedStyle()}}return{}}_isBeingCasted(){return!!navigator.userAgent.match(/CrKey\//)}}class wb{constructor(e){this._timer=new _m,this._mute=!0,this._disconnectSeconds=e??0}async connect(){try{this._stream=await navigator.mediaDevices.getUserMedia({audio:!0,video:!1})}catch(e){Nf(e),this._stream=null}this._setMute()}async disconnect(){this._stream?.getTracks().forEach((e=>e.stop())),this._stream=void 0}getStream(){return this._stream??void 0}_setMute(){this._stream?.getTracks().forEach((e=>{e.enabled=!this._mute})),this._startTimer()}mute(){this._mute=!0,this._setMute()}unmute(){this._mute=!1,this._setMute()}isConnected(){return!!this._stream}isForbidden(){return null===this._stream}isMuted(){return!this._stream||this._stream.getTracks().every((e=>!e.enabled))}_startTimer(){this._disconnectSeconds&&this._timer.start(this._disconnectSeconds,(()=>{this.disconnect()}))}}const xb=()=>{const e=new URLSearchParams(window.location.search),t=[],n=new RegExp(/^frigate-card-action(:(?\w+))?:(?\w+)/);for(const[i,a]of e.entries()){const e=i.match(n);if(!e||!e.groups)continue;const r=e.groups.cardID,o=e.groups.action;let s=null;switch(o){case"camera_select":case"live_substream_select":a&&(s=hm(o,{camera:a,cardID:r}));break;case"camera_ui":case"clip":case"clips":case"default":case"diagnostics":case"download":case"expand":case"image":case"live":case"menu_toggle":case"recording":case"recordings":case"snapshot":case"snapshots":case"timeline":s=hm(o,{cardID:r});break;default:console.warn(`Frigate card received unknown card action in query string: ${o}`)}s&&t.push(s)}return t},Cb=e=>{const t=document.createElement("canvas");t.width=e.videoWidth,t.height=e.videoHeight;const n=t.getContext("2d");return n?(n.drawImage(e,0,0,t.width,t.height),t.toDataURL("image/jpeg")):null};var $b;console.info(`%c FRIGATE-HASS-CARD \n%c ${Pm("common.version")} ${Lr} `,"color: pink; font-weight: bold; background: black","color: white; font-weight: bold; background: dimgray"),window.customCards=window.customCards||[],window.customCards.push({type:"frigate-card",name:Pm("common.frigate_card"),description:Pm("common.frigate_card_description"),preview:!0,documentationURL:Bs}),function(e){e.LANGUAGES="languages",e.SIDE_LOAD_ELEMENTS="side-load-elements",e.MEDIA_PLAYERS="media-players",e.CAMERAS="cameras",e.MICROPHONE="microphone"}($b||($b={}));let kb=class extends ge{constructor(){super(),this._panel=!1,this._expand=!1,this._menuButtonController=new bb,this._mediaLoadedInfoController=new cb,this._refMenu=Le(),this._refMain=Le(),this._refElements=Le(),this._refViews=Le(),this._interactionTimer=new _m,this._updateTimer=new _m,this._untriggerTimer=new _m,this._message=null,this._resolvedMediaCache=new ab,this._boundMouseHandler=yr(this._mouseHandler.bind(this),1e3),this._boundCardActionEventHandler=this._cardActionEventHandler.bind(this),this._boundFullscreenHandler=this._fullscreenHandler.bind(this),this._triggers=new Map,this._initializer=new sb,this._locationChangeHandler=()=>{this.hasUpdated&&xb().forEach((e=>this._cardActionHandler(e)))},this._entityRegistryManager=new nb(new Jy)}set hass(e){this._hass=e,this._hass&&(this._refMenu.value&&(this._refMenu.value.hass=this._hass),this._refElements.value&&(this._refElements.value.hass=this._hass),this._refViews.value&&(this._refViews.value.hass=this._hass)),this._conditionController?.hasHAStateConditions&&this._conditionController.setState({state:this._hass.states}),this._setLightOrDarkMode()}static async getConfigElement(){return await import("./editor-7b16019d.js"),document.createElement("frigate-card-editor")}static getStubConfig(e,t){return{cameras:[{camera_entity:t.find((e=>e.startsWith("camera.")))}]}}_requestUpdateForComponentsThatUseConditions(){this._refViews.value&&(this._refViews.value.conditionControllerEpoch=this._conditionController?.getEpoch()),this._refElements.value&&(this._refElements.value.conditionControllerEpoch=this._conditionController?.getEpoch())}_overrideConfig(){if(!this._conditionController)return;const e=Kv(this._conditionController,this._config,this._config.overrides);Aa(e,this._overriddenConfig)||(Aa(e.cameras,this._overriddenConfig?.cameras)&&Aa(e.cameras_global,this._overriddenConfig?.cameras_global)||this._initializer.uninitialize($b.CAMERAS),this._overriddenConfig=e)}_getSelectedCameraConfig(){return this._view&&this._cameraManager?this._cameraManager.getStore().getCameraConfig(this._view.camera):null}setConfig(e){if(!e)throw new Error(Pm("error.invalid_configuration"));const t=om.safeParse(e);if(!t.success){const n=Ov(e),i=ru(t.error);let a="";throw n&&"yaml"!==p().mode&&(a=`${Pm("error.upgrade_available")}. `),new Error(a+`${Pm("error.invalid_configuration")}: `+(i&&i.size?JSON.stringify([...i],null," "):Pm("error.invalid_configuration_no_hint")))}const n="low"!==t.data.performance.profile?t.data:Gy(e,t.data);n.test_gui&&p().setEditMode(!0),this._rawConfig=e,this._config=n,this._cardWideConfig={performance:n.performance,debug:n.debug},this._overriddenConfig=void 0,this._cameraManager=void 0,this._view=void 0,this._message=null,this._setupConditionController(),this._automationsController=new Nm(this._config.automations),this._setLightOrDarkMode(),this._setPropertiesForMinMaxHeight(),this._untrigger()}_setupConditionController(){this._conditionController?.destroy(),this._conditionController=new Xv(this._config),this._conditionController.addStateListener(this._overrideConfig.bind(this)),this._conditionController.addStateListener(this._requestUpdateForComponentsThatUseConditions.bind(this)),this._conditionController.addStateListener(this._executeAutomations.bind(this)),this._conditionController.setState({view:void 0,fullscreen:this._isInFullscreen(),expand:this._expand,camera:void 0,...this._hass&&this._conditionController?.hasHAStateConditions&&{state:this._hass.states},media_loaded:this._mediaLoadedInfoController.has()})}_executeAutomations(){if("error"!==this._message?.type&&this._hass&&this._conditionController)try{this._automationsController?.execute(this,this._hass,this._conditionController)}catch(e){this._handleThrownError(e)}}_getConfig(){return this._overriddenConfig||this._config}_changeView(e){hv(this._cardWideConfig,"Frigate Card view change: ",e?.view??e?.viewName??"[default]");const t=e=>{Oy.isMajorMediaChange(this._view,e)&&this._mediaLoadedInfoController.clear(),this._view?.view!==e.view&&this._resetMainScroll(),Oy.adoptFromViewIfAppropriate(e,this._view),this._view=e,this._conditionController?.setState({view:this._view.view,camera:this._view.camera})};if((e?.resetMessage??1)&&(this._message=null),e?.view)t(e.view);else{let n=null;if(this._cameraManager){const t=this._cameraManager.getStore().getVisibleCameras();if(t)if(e?.cameraID&&t.has(e.cameraID))n=e.cameraID;else if(this._view?.camera&&this._getConfig().view.update_cycle_camera){const e=Array.from(t.keys()),i=e.indexOf(this._view.camera);n=e[i+1>=e.length?0:i+1]}else n=t.keys().next().value}n&&(t(new Oy({view:e?.viewName??this._getConfig().view.default,camera:n})),this._startUpdateTimer())}}_setLightOrDarkMode(){"on"===this._getConfig().view.dark_mode||"auto"===this._getConfig().view.dark_mode&&(!this._interactionTimer.isRunning()||this._hass?.themes.darkMode)?this.setAttribute("dark",""):this.removeAttribute("dark")}_changeViewHandler(e){this._changeView({view:e.detail})}_addViewContextHandler(e){this._changeView({view:this._view?.clone().mergeInContext(e.detail)})}willUpdate(e){e.has("_cardWideConfig")&&((e,t)=>{const n=t?.style??{};for(const t of Object.keys(n)){const i=`--frigate-card-css-${t.replaceAll("_","-")}`;!1===n[t]?e.style.setProperty(i,Ky[t]):e.style.removeProperty(i)}})(this,this._cardWideConfig?.performance),e.has("_view")&&this._setPropertiesForExpandedMode();const t=e.get("_overriddenConfig")??e.get("_config"),n=this._getConfig();if((!this._microphoneController||e.has("_overriddenConfig")||e.has("_config"))&&t?.live.microphone.disconnect_seconds!==n.live.microphone.disconnect_seconds){const e=this._getConfig();this._microphoneController=new wb(e.live.microphone.always_connected?void 0:e.live.microphone.disconnect_seconds)}this._initializeBackground()}_setPropertiesForMinMaxHeight(){this.style.setProperty("--frigate-card-max-height",this._getConfig().dimensions.max_height),this.style.setProperty("--frigate-card-min-height",this._getConfig().dimensions.min_height)}_getMostRecentTrigger(){const e=[...this._triggers.entries()].sort(((e,t)=>t[1].getTime()-e[1].getTime()));return e.length?e[0][0]:null}_updateTriggeredCameras(e){if(!this._view||!this._isAutomatedViewUpdateAllowed(!0))return!1;const t=new Date;let n=!1,i=!1;const a=this._cameraManager?.getStore().getVisibleCameras();for(const[n,r]of a?.entries()??[]){const a=r.triggers.entities??[],o=dp(this._hass,e,a,{stateOnly:!0}).some((e=>bp(e.newState))),s=a.every((e=>!bp(this._hass?.states[e])));o?(this._triggers.set(n,t),i=!0):s&&this._triggers.has(n)&&(this._triggers.delete(n),i=!0)}if(i)if(this._triggers.size){const e=this._getMostRecentTrigger();!e||this._view.camera===e&&this._view.is("live")||(this._changeView({view:new Oy({view:"live",camera:e})}),n=!0)}else this._startUntriggerTimer();return n}_isTriggered(){return!!this._triggers.size||this._untriggerTimer.isRunning()}_untrigger(){const e=this._isTriggered();this._triggers.clear(),this._untriggerTimer.stop(),e&&this.requestUpdate()}_startUntriggerTimer(){this._untriggerTimer.start(this._getConfig().view.scan.untrigger_seconds,(()=>{this._untrigger(),this._isAutomatedViewUpdateAllowed()&&this._getConfig().view.scan.untrigger_reset&&this._changeView()}))}_handleThrownError(e){e instanceof Error&&Nf(e),e instanceof vu&&this._setMessageAndUpdate({message:e.message,type:"error",context:e.context})}async _initializeCameras(e,t,n){this._cameraManager=new _v(new dv(this._entityRegistryManager,this._resolvedMediaCache,n),this._cardWideConfig);const i=t.cameras.map((e=>tr(Gi(t.cameras_global),e)));try{await this._cameraManager.initializeCameras(e,this._entityRegistryManager,i)}catch(e){this._handleThrownError(e)}if(!this._view){xb().find((e=>(e=>{switch(e.frigate_card_action){case"clip":case"clips":case"image":case"live":case"recording":case"recordings":case"snapshot":case"snapshots":case"timeline":return!0}return!1})(e)||"diagnostics"===e.frigate_card_action))||this._changeView({resetMessage:!1})}}async _initializeMicrophone(){await(this._microphoneController?.connect())}async _initializeMediaPlayers(e){const t=Object.keys(this._hass?.states||{}).filter((e=>{if(e.startsWith("media_player.")){const t=this._hass?.states[e];if(t&&"unavailable"!==t.state&&Ym(t,131072))return!0}return!1}));let n;try{n=await this._entityRegistryManager.getEntities(e,t)}catch(e){return void Nf(e)}this._mediaPlayers=t.filter((e=>{const t=n.get(e);return!t||!t.hidden_by}))}_initializeMandatory(){if(this._initializer.isInitializedMultiple([$b.LANGUAGES,$b.SIDE_LOAD_ELEMENTS,$b.CAMERAS]))return!0;const e=this._hass,t=this._getConfig(),n=this._cardWideConfig;return!!(e&&t&&n)&&(this._initializer.initializeMultipleIfNecessary({[$b.LANGUAGES]:async()=>await(async e=>{const t=Dm(e);"it"===t?Im[t]=await import("./lang-it-0e2e946c.js"):"pt"===t?Im[t]=await import("./lang-pt-PT-440b6dfd.js"):"pt_BR"===t&&(Im[t]=await import("./lang-pt-BR-1648942c.js")),t&&(Rm=t)})(e),[$b.SIDE_LOAD_ELEMENTS]:async()=>await yp()}).then((i=>!!i&&this._initializer.initializeIfNecessary($b.CAMERAS,(async()=>await this._initializeCameras(e,t,n))))).then((e=>{if(e)return this.requestUpdate()})),!1)}_initializeBackground(){const e=this._hass,t=this._getConfig();e&&t&&(this._initializer.isInitializedMultiple([...t.menu.buttons.media_player.enabled?[$b.MEDIA_PLAYERS]:[],...t.live.microphone.always_connected?[$b.MICROPHONE]:[]])||this._initializer.initializeMultipleIfNecessary({...t.menu.buttons.media_player.enabled&&{[$b.MEDIA_PLAYERS]:async()=>await this._initializeMediaPlayers(e)},...t.live.microphone.always_connected&&{[$b.MICROPHONE]:async()=>await this._initializeMicrophone()}}).then((e=>{e&&this.requestUpdate()})))}shouldUpdate(e){if(!this._initializeMandatory())return!1;const t=e.get("_hass");let n=!t||1!=e.size;if(!t&&!this._hass?.connected||t&&t.connected!==!!this._hass?.connected)return this._hass?.connected?this._changeView():this._setMessageAndUpdate({message:Pm("error.reconnecting"),icon:"mdi:lan-disconnect",type:"connection",dotdotdot:!0},!0),!0;if(t){const e=this._getSelectedCameraConfig();this._getConfig().view.scan.enabled&&this._updateTriggeredCameras(t)?n=!0:this._isAutomatedViewUpdateAllowed()&&up(this._hass,t,[...this._getConfig().view.update_entities||[],...e?.triggers.entities||[]])?(this._changeView(),n=!0):n||=up(this._hass,t,[...this._getConfig().view.render_entities??[],...this._mediaPlayers??[]])}return n}async _downloadViewerMedia(){const e=this._view?.queryResults?.getSelectedResult();if(this._hass&&this._cameraManager&&e)try{await by(this._hass,this._cameraManager,e)}catch(e){this._handleThrownError(e)}}_mediaPlayerAction(e,t){if(!(["play","stop"].includes(t)&&this._view&&this._hass&&this._cameraManager))return;let n=null,i=null,a=null,r=null;const o=this._getSelectedCameraConfig();if(!o)return;const s=o.camera_entity??null,c=this._view.queryResults?.getSelectedResult();this._view.isViewerView()&&c?(n=c.getContentID(),i=c.getContentType(),a=c.getTitle(),r=c.getThumbnail()):this._view?.is("live")&&s&&(n=`media-source://camera/${s}`,i="application/vnd.apple.mpegurl",a=this._cameraManager.getCameraMetadata(this._hass,this._view.camera)?.title??null,r=this._hass?.states[s]?.attributes?.entity_picture??null),n&&i&&("play"===t?this._hass?.callService("media_player","play_media",{entity_id:e,media_content_id:n,media_content_type:i,extra:{...a&&{title:a},...r&&{thumb:r}}}):"stop"===t&&this._hass?.callService("media_player","media_stop",{entity_id:e}))}_cardActionEventHandler(e){if("detail"in e){const t=um(e.detail);t&&this._cardActionHandler(t)}}_cardActionHandler(e){if(!this._cameraManager)return;if(e.card_id&&this._getConfig().card_id!==e.card_id)return;const t=e.frigate_card_action;switch(t){case"default":this._changeView();break;case"clip":case"clips":case"image":case"live":case"recording":case"recordings":case"snapshot":case"snapshots":case"timeline":this._changeView({viewName:t,cameraID:this._view?.camera});break;case"download":this._downloadViewerMedia();break;case"camera_ui":const n=this._getCameraURLFromContext();n&&window.open(n);break;case"expand":this._setExpand(!this._expand);break;case"fullscreen":$r.toggle(this);break;case"menu_toggle":this._refMenu.value?.toggleMenu();break;case"camera_select":const i=e.camera;if(this._view&&this._cameraManager?.getStore().hasVisibleCameraID(i)){const e=this._getConfig().view.camera_select,t="current"===e?this._view.view:e,n=this.isViewSupportedByCamera(i,t)?t:uu;this._changeView({view:new Oy({view:n,camera:i})})}break;case"live_substream_select":if(this._view){const t=((e,t)=>{const n=e.context?.live?.overrides??new Map;return n.set(e.camera,t),e.clone().mergeInContext({live:{overrides:n}})})(this._view,e.camera);t&&this._changeView({view:t})}break;case"live_substream_off":if(this._view){const e=(e=>{const t=e.clone(),n=t.context?.live?.overrides;return n&&n.has(e.camera)&&t.context?.live?.overrides?.delete(e.camera),t})(this._view);e&&this._changeView({view:e})}break;case"live_substream_on":if(this._view){const e=((e,t)=>{const n=[...pv(e,t.camera)];if(n.length<=1)return t.clone();const i=t.clone(),a=i.context?.live?.overrides??new Map,r=a.get(i.camera)??i.camera,o=n.indexOf(r),s=o<0?0:(o+1)%n.length;return a.set(t.camera,n[s]),i.mergeInContext({live:{overrides:a}}),i})(this._cameraManager,this._view);e&&this._changeView({view:e})}break;case"media_player":this._mediaPlayerAction(e.media_player,e.media_player_action);break;case"diagnostics":this._diagnostics();break;case"microphone_mute":this._microphoneController?.mute(),this.requestUpdate();break;case"microphone_unmute":this._microphoneController?.isConnected()||this._microphoneController?.isForbidden()?this._microphoneController?.isConnected()&&(this._microphoneController.unmute(),this.requestUpdate()):(this._microphoneController?.unmute(),this._initializeMicrophone().then((()=>this.requestUpdate())));break;case"mute":this._mediaLoadedInfoController.get()?.player?.mute();break;case"unmute":this._mediaLoadedInfoController.get()?.player?.unmute();break;case"play":this._mediaLoadedInfoController.get()?.player?.play();break;case"pause":this._mediaLoadedInfoController.get()?.player?.pause();break;case"screenshot":this._mediaLoadedInfoController.get()?.player?.getScreenshotURL().then((e=>{e&&yy(e,(e=>{if(e?.is("live")||e?.is("image"))return`${e.view}-${e.camera}-${Of(new Date,"yyyy-MM-dd-HH-mm-ss")}.jpg`;if(e?.isViewerView()){const t=e.queryResults?.getSelectedResult(),n=t?.getID()??null;return`${e.view}-${e.camera}${n?`-${n}`:""}.jpg`}return"screenshot.jpg"})(this._view))}));break;default:console.warn(`Frigate card received unknown card action: ${t}`)}}isViewSupportedByCamera(e,t){const n=this._cameraManager?.getCameraCapabilities(e);switch(t){case"live":case"image":return!0;case"clip":case"clips":return!!n?.supportsClips;case"snapshot":case"snapshots":return!!n?.supportsSnapshots;case"recording":case"recordings":return!!n?.supportsRecordings;case"timeline":return!!n?.supportsTimeline;case"media":return!!n?.supportsClips||!!n?.supportsSnapshots||!!n?.supportsRecordings}return!1}async _diagnostics(){if(this._hass){let e=[];try{e=await(async e=>await cp(e,Xy,{type:"config/device_registry/list"}))(this._hass)}catch(e){}const t=e.filter((e=>"Frigate"===e.manufacturer)),n=new Map;t.forEach((e=>{e.config_entries.forEach((t=>{e.model&&n.set(t,e.model)}))})),this._setMessageAndUpdate({message:Pm("error.diagnostics"),type:"diagnostics",icon:"mdi:information",context:{ha_version:this._hass.config.version,card_version:Lr,browser:navigator.userAgent,date:new Date,frigate_version:Object.fromEntries(n),lang:Dm(),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,git:{build_version:Fr,build_date:Nr,commit_date:Ur},...this._rawConfig&&{config:this._rawConfig}}})}}_getCameraURLFromContext(){if(!this._view)return null;const e=this._view.camera,t=this._view.queryResults?.getSelectedResult()??null;return(this._cameraManager?.getCameraEndpoints(e,{view:this._view.view,...t&&{media:t}})??null)?.ui?.endpoint??null}_actionHandler(e,t){const n=e.detail.action,i=e.currentTarget,a=mm(n,t);this._hass&&t&&i&&n&&a&&pm(i,this._hass,t,e.detail.action,a),this._startInteractionTimer()}_mouseHandler(){this._startInteractionTimer()}_startInteractionTimer(){this._interactionTimer.stop(),this._untrigger(),this._getConfig().view.timeout_seconds&&this._interactionTimer.start(this._getConfig().view.timeout_seconds,(()=>{this._isAutomatedViewUpdateAllowed()&&(this._changeView(),this._setLightOrDarkMode())})),this._setLightOrDarkMode()}_startUpdateTimer(){this._updateTimer.stop(),this._getConfig().view.update_seconds&&this._updateTimer.start(this._getConfig().view.update_seconds,(()=>{this._isAutomatedViewUpdateAllowed()?this._changeView():this._startUpdateTimer()}))}_isAutomatedViewUpdateAllowed(e){return(e||!this._isTriggered())&&(this._getConfig().view.update_force||!this._interactionTimer.isRunning())}_renderMenu(){if(this._hass&&this._cameraManager&&this._view)return K` - - `}_setMessageAndUpdate(e,t){const n=this._message?cm[this._message.type]??0:0,i=cm[e.type]??0;(!this._message||i>=n)&&(this._message=e,this._mediaUnloadedHandler(),t||(this.requestUpdate(),this._resetMainScroll()))}_resetMainScroll(){this._refMain.value?.scroll({top:0})}_messageHandler(e){return this._setMessageAndUpdate(e.detail)}_mediaLoadedHandler(e){const t=e.detail;_b(t)&&(hv(this._cardWideConfig,"Frigate Card media load: ",t),this._mediaLoadedInfoController.set(t),this._setPropertiesForExpandedMode(),this._conditionController?.setState({media_loaded:this._mediaLoadedInfoController.has()}),this.requestUpdate())}_setPropertiesForExpandedMode(){const e=this._mediaLoadedInfoController.getLastKnown();this.style.setProperty("--frigate-card-expand-aspect-ratio",this._view?.isAnyMediaView()&&e?`${e.width} / ${e.height}`:"unset"),this.style.setProperty("--frigate-card-expand-width",this._view?.isAnyMediaView()?"none":"var(--frigate-card-expand-max-width)"),this.style.setProperty("--frigate-card-expand-height",this._view?.isAnyMediaView()?"none":"var(--frigate-card-expand-max-height)")}_mediaUnloadedHandler(){this._mediaLoadedInfoController.clear(),this._conditionController?.setState({media_loaded:!1})}firstUpdated(){this._locationChangeHandler()}connectedCallback(){super.connectedCallback(),$r.isEnabled&&$r.on("change",this._boundFullscreenHandler),this.addEventListener("mousemove",this._boundMouseHandler),this.addEventListener("ll-custom",this._boundCardActionEventHandler),this._panel=(e=>{const t=e.getRootNode();return!!(t&&t instanceof ShadowRoot&&"HUI-PANEL-VIEW"===t.host.tagName)})(this),window.addEventListener("location-changed",this._locationChangeHandler),window.addEventListener("popstate",this._locationChangeHandler),this._locationChangeHandler()}disconnectedCallback(){this._mediaUnloadedHandler(),$r.isEnabled&&$r.off("change",this._boundFullscreenHandler),this.removeEventListener("mousemove",this._boundMouseHandler),this.removeEventListener("ll-custom",this._boundCardActionEventHandler),window.removeEventListener("location-changed",this._locationChangeHandler),window.removeEventListener("popstate",this._locationChangeHandler),super.disconnectedCallback()}_isAspectRatioEnforced(){const e=this._getConfig().dimensions.aspect_ratio_mode;return!($r.isEnabled&&$r.isFullscreen||this._expand||"unconstrained"==e||"dynamic"==e&&(this._view?.isAnyMediaView()||this._view?.is("timeline")))}_getAspectRatioStyle(){if(!this._isAspectRatioEnforced())return"auto";const e=this._getConfig().dimensions.aspect_ratio_mode,t=this._mediaLoadedInfoController.getLastKnown();if(t&&"dynamic"===e)return`${t.width} / ${t.height}`;const n=this._getConfig().dimensions.aspect_ratio;return n?`${n[0]} / ${n[1]}`:"16 / 9"}_getMergedActions(){if(this._message||this._view?.is("timeline"))return{};let e;return this._view?.is("live")?e=this._getConfig().live.actions:this._view?.isGalleryView()?e=this._getConfig().media_gallery?.actions:this._view?.isViewerView()?e=this._getConfig().media_viewer.actions:this._view?.is("image")&&(e=this._getConfig().image?.actions),{...this._getConfig().view.actions,...e}}_isInFullscreen(){return $r.isEnabled&&$r.isFullscreen}_setExpand(e){e&&this._isInFullscreen()&&$r.exit(),this._expand=e,this._conditionController?.setState({expand:this._expand})}_fullscreenHandler(){this._isInFullscreen()&&(this._expand=!1),this._conditionController?.setState({fullscreen:this._isInFullscreen(),expand:this._expand}),this.requestUpdate()}_renderInDialogIfNecessary(e){return this._expand?K` {this._setExpand(!1)}} - > - ${e} - `:e}render(){if(!this._hass)return;const e={"aspect-ratio":this._getAspectRatioStyle()},t={triggered:!!this._isTriggered()&&this._getConfig().view.scan.show_trigger_status},n={main:!0,"curve-top":"outside"!==this._getConfig().menu.style||"top"!==this._getConfig().menu.position,"curve-bottom":"outside"!==this._getConfig().menu.style||"top"===this._getConfig().menu.position},i=this._getMergedActions(),a="outside"===this._getConfig().menu.style&&"top"===this._getConfig().menu.position;return this._renderInDialogIfNecessary(K` this._actionHandler(e,i)} - @frigate-card:message=${this._messageHandler.bind(this)} - @frigate-card:view:change=${this._changeViewHandler.bind(this)} - @frigate-card:view:change-context=${this._addViewContextHandler.bind(this)} - @frigate-card:media:loaded=${this._mediaLoadedHandler.bind(this)} - @frigate-card:media:unloaded=${this._mediaUnloadedHandler.bind(this)} - @frigate-card:media:volumechange=${()=>this.requestUpdate()} - @frigate-card:media:play=${()=>this.requestUpdate()} - @frigate-card:media:pause=${()=>this.requestUpdate()} - @frigate-card:render=${()=>this.requestUpdate()} - > - ${a?this._renderMenu():""} -
- ${this._cameraManager?.isInitialized()||this._message?K``:$v({cardWideConfig:this._cardWideConfig})} - ${this._message?Cv(this._message):""} -
- ${a?"":this._renderMenu()} - ${this._getConfig().elements?K` {this._menuButtonController.addDynamicMenuButton(e.detail),this.requestUpdate()}} - @frigate-card:menu-remove=${e=>{this._menuButtonController.removeDynamicMenuButton(e.detail),this.requestUpdate()}} - @frigate-card:condition:evaluate=${e=>{e.evaluation=this._conditionController?.evaluateCondition(e.condition)}} - > - `:""} -
`)}static get styles(){return b(":host {\n display: block;\n position: relative;\n background-color: var(--card-background-color);\n border-radius: var(--ha-card-border-radius, 4px);\n max-height: var(--frigate-card-max-height);\n min-height: var(--frigate-card-min-height);\n --frigate-card-expand-max-height: calc( ( 100vh - (2 * 56px) ) * 0.85 );\n --frigate-card-expand-max-width: 85vw;\n --frigate-card-expand-width: none;\n --frigate-card-expand-height: none;\n --frigate-card-expand-aspect-ratio: unset;\n --frigate-card-max-height: none;\n --frigate-card-min-height: none;\n}\n\n:host([dark]) {\n filter: brightness(75%);\n}\n\n:host([panel]) {\n height: 100%;\n}\n\ndiv.main {\n position: relative;\n overflow: auto;\n width: 100%;\n height: 100%;\n margin: auto;\n display: block;\n transform: translateZ(0);\n box-sizing: border-box;\n scrollbar-width: none;\n -ms-overflow-style: none;\n}\n\n/* Hide scrollbar for Chrome, Safari and Opera */\ndiv.main::-webkit-scrollbar {\n display: none;\n}\n\ndiv.main.curve-top {\n border-top-left-radius: var(--ha-card-border-radius, 4px);\n border-top-right-radius: var(--ha-card-border-radius, 4px);\n}\n\ndiv.main.curve-bottom {\n border-bottom-left-radius: var(--ha-card-border-radius, 4px);\n border-bottom-right-radius: var(--ha-card-border-radius, 4px);\n}\n\n/* The 'hover' menu mode is styled applied outside of the menu itself */\nfrigate-card-menu[data-style*=hover] {\n z-index: 1;\n transition: opacity 0.5s ease;\n}\n\n.main + frigate-card-menu[data-style*=hover] {\n opacity: 0;\n}\n\nfrigate-card-menu[data-style=hover]:hover {\n opacity: 1;\n}\n\n.main:hover + frigate-card-menu[data-style=hover-card],\nfrigate-card-menu[data-style=hover-card]:hover {\n opacity: 1;\n}\n\nha-card {\n display: flex;\n flex-direction: column;\n margin: auto;\n border: 0px;\n overflow: visible;\n width: 100%;\n height: 100%;\n position: static;\n color: var(--secondary-text-color, white);\n}\n\nha-card.triggered {\n animation: warning-pulse 5s infinite;\n}\n@keyframes warning-pulse {\n 0% {\n border: solid 2px rgba(0, 0, 0, 0);\n }\n 50% {\n border: solid 2px var(--warning-color);\n }\n 100% {\n border: solid 2px rgba(0, 0, 0, 0);\n }\n}\n\n/************\n * Fullscreen\n *************/\n:host(:fullscreen) #ha-card {\n border-radius: 0px;\n box-shadow: none;\n margin: 0;\n}\n\n:host(:-webkit-full-screen) #ha-card {\n border-radius: 0px;\n box-shadow: none;\n margin: 0;\n}\n\n:host(:fullscreen) div.main,\n:host(:fullscreen) frigate-card-menu {\n border-radius: 0px;\n}\n\n:host(:-webkit-full-screen) div.main,\n:host(:-webkit-full-screen) frigate-card-menu {\n border-radius: 0px;\n}\n\n/***************\n * Expanded mode\n ***************/\nweb-dialog {\n --dialog-padding: 0px;\n --dialog-container-padding: 0px;\n --dialog-max-height: var(--frigate-card-expand-max-height);\n --dialog-max-width: var(--frigate-card-expand-max-width);\n --dialog-width: var(--frigate-card-expand-width);\n --dialog-height: var(--frigate-card-expand-height);\n --dialog-overflow-x: visible;\n --dialog-overflow-y: visible;\n max-height: 100vh;\n}\n\nweb-dialog::part(dialog) {\n aspect-ratio: var(--frigate-card-expand-aspect-ratio);\n border-radius: 0px;\n background: transparent;\n}")}getCardSize(){const e=this._mediaLoadedInfoController.getLastKnown();return e?e.height/50:6}};e([we()],kb.prototype,"_hass",void 0),e([we()],kb.prototype,"_config",void 0),e([we()],kb.prototype,"_cardWideConfig",void 0),e([we()],kb.prototype,"_overriddenConfig",void 0),e([we()],kb.prototype,"_view",void 0),e([be({attribute:"panel",type:Boolean,reflect:!0})],kb.prototype,"_panel",void 0),e([we()],kb.prototype,"_expand",void 0),kb=e([_e("frigate-card")],kb);export{nd as $,wp as A,su as B,Pc as C,jv as D,jc as E,pu as F,Ac as G,zc as H,Oc as I,Dc as J,Rc as K,Ic as L,Td as M,Sd as N,Md as O,Ad as P,ed as Q,Kl as R,rd as S,lu as T,Xl as U,Jl as V,El as W,Ml as X,Sl as Y,Tl as Z,td as _,Gy as a,cd as a$,Al as a0,zl as a1,jl as a2,Rl as a3,Dl as a4,Ll as a5,Nl as a6,Pl as a7,Ol as a8,Il as a9,il as aA,nl as aB,al as aC,rl as aD,ol as aE,hl as aF,cl as aG,dl as aH,ul as aI,ll as aJ,sl as aK,bl as aL,wl as aM,fl as aN,vl as aO,_l as aP,ml as aQ,pl as aR,gl as aS,xl as aT,Cl as aU,$l as aV,dd as aW,hd as aX,ud as aY,md as aZ,sd as a_,Wl as aa,Bl as ab,Hl as ac,ql as ad,Vl as ae,Ul as af,Fl as ag,Zl as ah,Yl as ai,Ql as aj,Gl as ak,id as al,ad as am,Yc as an,qc as ao,Wc as ap,Bc as aq,Vc as ar,Zc as as,Gc as at,Kc as au,Xc as av,Jc as aw,el as ax,yl as ay,tl as az,yp as b,Ff as b$,ld as b0,wd as b1,xd as b2,$d as b3,kd as b4,Cd as b5,bd as b6,Vd as b7,qd as b8,Wd as b9,mc as bA,lc as bB,dc as bC,uc as bD,hc as bE,nc as bF,ic as bG,sc as bH,cc as bI,fc as bJ,gc as bK,yc as bL,_c as bM,wc as bN,bc as bO,xc as bP,sm as bQ,Qs as bR,Qg as bS,_p as bT,Ws as bU,Wf as bV,cp as bW,vu as bX,Fm as bY,Zm as bZ,Um as b_,Bd as ba,Xd as bb,Gd as bc,Kd as bd,tu as be,eu as bf,Jd as bg,zv as bh,Tv as bi,b as bj,e as bk,be as bl,we as bm,_e as bn,Df as bo,Gs as bp,vc as bq,pc as br,rc as bs,oc as bt,ac as bu,Ks as bv,ec as bw,Js as bx,tc as by,Xs as bz,Iv as c,_b as c$,Aa as c0,rv as c1,yr as c2,lv as c3,Wg as c4,_y as c5,Bg as c6,Zf as c7,Vf as c8,Yg as c9,Mf as cA,mf as cB,_f as cC,yf as cD,vf as cE,Op as cF,pf as cG,$e as cH,ke as cI,J as cJ,Ae as cK,Ev as cL,kv as cM,mb as cN,Lf as cO,Le as cP,dy as cQ,Kv as cR,Fe as cS,Iy as cT,vm as cU,pb as cV,X as cW,_m as cX,vy as cY,hy as cZ,vr as c_,Bm as ca,hv as cb,Gg as cc,Kg as cd,Rg as ce,uv as cf,Of as cg,Hf as ch,Kf as ci,Xf as cj,rb as ck,xp as cl,Jf as cm,Ug as cn,Yf as co,Xg as cp,Jg as cq,$p as cr,Cp as cs,kp as ct,Hp as cu,Fp as cv,Rp as cw,qp as cx,Lp as cy,Up as cz,vp as d,c_ as d0,If as d1,W_ as d2,x as d3,Ay as d4,Vy as d5,zy as d6,jy as d7,Nf as d8,Zy as d9,qy as dA,Ap as dB,Qf as dC,mr as dD,Qe as dE,fg as dF,Pe as dG,Me as dH,lp as dI,fy as dJ,Fy as da,$v as db,Bf as dc,wy as dd,Uy as de,Cv as df,qm as dg,Vm as dh,Cb as di,hb as dj,fb as dk,gb as dl,vb as dm,w as dn,Ce as dp,Se as dq,up as dr,ub as ds,Pg as dt,Lg as du,ov as dv,sv as dw,Fg as dx,Uf as dy,Wy as dz,Lc as e,Nc as f,Av as g,Uc as h,Ov as i,Fc as j,zd as k,Pm as l,yd as m,fd as n,Ee as o,Rf as p,gd as q,vd as r,ge as s,_d as t,cu as u,mv as v,Lv as w,l_ as x,K as y,l as z}; diff --git a/config/www/community/frigate-hass-card/card-555679fd.js.gz b/config/www/community/frigate-hass-card/card-555679fd.js.gz deleted file mode 100644 index 340a2bd69d26b5d73593dfdba73b3a55c4c261ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101104 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�@sWE~&7WJm|RHQZX z#E$nbLCWG_Ce_ojd?e04#CQ0-(p9}#Q_#Bh{%}?qC3+MEJV_x9fw^8Ec$!)j&Af)H zQ`a2ZtSD=hqPU5wRf8#p7%Z1tjCed02O?WTh8^PZ8lVnPVjZB@*I|@9#IJkf)P-7j zQ3Rz@?cDQIph_oC!w6qCq@q1+Nu~Jb9=iaM3TpSnX2RNj1z4-2M52#^Axw^%v;x`~ zPfA-+8l`5`V1u5yIAy@jFT_!d6-&}AitF;yLr-k@rK{{DHBLH-&M0ssE)7a#f*;{4 zrZ->=R0zos7N&~CI$o%t%N6RD-_tbc_Z>V=1x)Dy*ihLp^)p!dQRER}so- zF{;d?QW}V?_>7m5I1bwxu)ZViG=qS-(lf`v6&uR}3iR%yyB;enENc_EdfVo%@7tnh`yDYLl&suztziNsK1H5A(1W_faUHsQX6 zy#jV`Uo;OI=f1|9aMdSr!co3g;KXY{5;5ymu2^?6Q`mY630EmyZo09d>7n+5qH?xZQ@QEUN?ktHIAZEn}beNCc(t*lXBRaQ0h8GuCP0r{#faTf^}pJ^1AGnoPFX|SIfrQoA};WXGmePByG ziIB=ehv9CZgM(8^j|ttguh*D_ey6B)J>*kG#Nqh<+4BUs!vp8p1fHu7WM!}K)Ju5i0#mK`GbXX9*&Yr ze5`H-?zF`-9A$_?4I&6thWeNeKn(V1@^t98z! z(Fo)azL{Lf3DYQSt88?4gp*8OMSW&Jjax2=cdNnrbmS`}*AtEx^Mm<)4LMtOaxx2t zQI5&7u9bHYWzi`pW0XBiCX;ZM@#X?%oKI|%y}jK8Y95~Ih~72A3;b=cCaSoAAqW|~ z3QwlMXE9}p7Sz96ZO{M-WW{ZEi*I!80dGuFNx1+`EkEU?_lq@-YpfTJ7FE z&y#p{vxgYuygK`sU*%TM4JD3%a}953;qXBUq^=;B`uCC8oPH9{BsVxtja(Op5@ZcP z8=nH1(OrqhAZcRY%-C-5-Mjc*es>gIw4zbqK%Z&u?B2Zt3A?2ne3^1SD`jPqB!_SM zQ!2~jktz6{d@Nxv)mOe_#}cr{_c-JoP$Pbt0P*p|k?>ulVLSqsp3XD(|U_ADhaPb5mX{Uw)I^ZWG~<WW%X>{KTA=JLrrcdCDE`J}Bq`X&|d)(E&=ORBBx$Rs?djbuv38pq@8(7ybYVsH%}w?Lfqo37LM>5#lsIH%@o8br zQ02e}-)>iU%c(Rg`|=7siwa@lb&3aa$s*Fsq^&5kt=_ayDS)rF>Q0oh_l{Ea=!|{> zLcR%F@*hSXJ4)rtGcwe->OPV z>ltW!QLaMtn%${n2{UirCQ#pKKjo1Tni+?Ggk2 zLAwkm$ys{{*aB&czGUkTz}&BkY(1@79&CmgnyDxb#Tt+d9&iq_a_-6dmV_xr_Za@EeFPv{&zO;Vt~ zHl!3jz8bZdfwaL4Fn8UyL1UbU08!eO+3cr_%ht}1vn#LrsZAtRt{@ZH_RbGK{`B*| z{_S;PRZXA;AI+(Pw6IZ{%$V#n$s(K)e;i%$Q8!O!{uXe)aSne@6Hw)+@Pl4j@wWt= zqN3X$!mxQd@LK;@^t=G#OUIMsvR#45q%&cl0Z1z8dPUJ|7S8iT6wHPx7;f!TejZ*# zN$N|KblbvtYbuF?h{8OX56_DVpbKd~`r`?|>V^}r{@W2uTjq-r-48$t(fGP8)mxRU z+V=(Y#j5d7!>jf=CsdUNWzyO9*4BS{vH_S6_(wWaL3_4R`>1&jJOgog>K6FpEQJL& zD)*!cv`^1idUhJRTMYl(`5DalFpj37nCWoD593y;rp|4T<|+MPo$bt9RfvZfJ<1Vg zyba`KNU^glZK;co>kCbXTd_iwL%MzxIwk7N@rUwDB0THf`8gS z!9P_D;yhkPqx`%+y_C%UwY7y^HIxzgH2dAgWv&*tSlG9qqSb!(@VY zqLf(*B(b5`M%l*?K+h_QI%EHLJRX|~-tKCSk#gX7z*D=Wb%p=5t**&r?`nI^~?h z5`Ywu!^EfPE;|QV^$~d8e}ClHWAr3sElIzNt^ZnpK!~$(l1>FtyPaRW7NsHUf8+i@ z1Rxz!&`6%tYHXJ(Y?;#Ah25uEq}XMtHLLL5J3^?Ce6f8G$N?OBNzMA!P6jA!WE<5H zQ>|*qFDi+GtK_+Wggd6T<+6D3#V(6=F=6{kzTL3RLd9n(2kt-5_G~#$$1cCtk#YDL zM~1*egZDwA$kw|N$17YOgnsQ4xF=KgC(-a@(3IHVNcfFk-%l>J$3cG93TAa5A&ftq zfQ|^0z@75ID#c+k(C`NmO>;HCTYD!6!ORgNQMxEF?MC+mRT8cVD!a-pAsb(*=E`=k zPXWM%P`vNKJ`Dk|*& z801Vk=ZCNsz2-(-yA?d+1v=~DbjpEfbJ`;d&q5J@;uV$3C9*)Ng#t zv7!mlk~9~q{ZO}n`zByj+#hIqE8%W$W9y5b; z=hA99c{|+G!UC!vaTvnHw^lup{z}iD2}%~ThpX7rOrobajaWB+mGKlStZ-2Bq$cXH z7pd3@zMrz^DSMm-&QG14&X&WT!p{e3#9BK)v>wf4e8KvM*7i^S&d>0_)~`>F9rhB6 z9G}mj$c`zp^^3o=jYZm9KW{-h4^)%whX;H2H_v|lW#`9VPJec~rHwr;SNX{xqjUsKRC~g%WCwOhCwNu>`Kf}d6sj&%uVdTPj1vc#n z>(k@oS&-{i=-q0HCHM{B%gsx>-6|Yd$I#_{e3J<5PZpJXr;X~^!`JRh?`>I4hszSEK2R3j*x&O)EtH z02~nLC{V#PwF#n2KVtLxE7pjzLr@mZfD#%;BV2K&3=XN9CdbwECPD;KB97>^B%S~U zmInNWB3p1FLgycnD3)_!yKe)hwQM=ob~Vikc2c|1s`vi8^#w1!d+&44qxLX32b<24 zSh)D2@%0N4A)hMLIHwU9e!2a$ne7tv^TNH4VITKXd{V_@<)t>|=@|!IegX4857C z5z7HE6}->P>@h1M4jY|dE_Dol<&Do+=3`6(%9+WFVwr>CGgt)~14ikgo6*5*)(0MY zo6`DMHzKOIRytf`b*PTRJWM+}kxt6!r{hckks@;C*!Asw+0*bThRH)QK#q@psDvo3 z&|x(ulSID8g;hYM$rc3u>;@=B!YYtz!%8V4SK?6RmR@m@FcZ4Xmt%5pY-%1mMsKO>!r25p0I!}_5Y#P$? z!{0z)Rxw=TX(s$p)FO5iC;7<~&=t)l{3IF6lrb?;2alYQTjP~+Yml5SIW&01qY-5p zvRCz7HfY#~m_m!WQ~-IG`NsQj$~BPJK{MWG>LDK-6kR3dK$!rw68NS4^nw&~S?SX5 zUSq1*AkC$6rVmle*QUk&9nRZiBtnBrL*`_BQ|x3`v9d&o0v%u>JuRic<<{dxcD$6l z45VOjus9J-QY>9Wcr=1GBta|NM|oQzQ{V=nFeAebr4Za13Ajicv2EG4Y>G2=BRA}b z9DSIep{}9ea!s9HsklYOW+PuXfPh?$I4&bmjbVS;8zPHFS?pv8|{;i7eXOEQ&&(QIejhxG>VaLZ5os?k(w7yOh!gdVPN= zl3FsUMWTeYxap@tG^X2?G~?Aet_ddW`lXfFf zIWpow(72<w#1lPUa)f zGSJYpb6g9xH2Z#QI!7)eDzqHLnJM2<4HeFNRyX?Wl4?&5uNMy9uP@@F73QrZ27^6q zO_P+jREey0M*JZK))B^-&C!w3%9B>5cU7Z!@6q}2FwL{qQGQ+<){0S4jTUg2^V+~n zV=y!ygJ8d?Whmd=u4)KdMSa&eUtGJKhx46+-FGEotF0b&f8~}7fKujEX+!It*r>4m zM94i%Q|~=lDgtU5wjlXqILvzv{h3@lJ{NPHQ3w#s9N1SGm^}_n9Zr-}P(4`j(R4m7 zTJrP;FsAp`*?rxuV0>TSFFGu%UE;xbs0O&CPBlI1PKCQdbb87g`ZJ_f>3Jnd0w|?C zr?5c+C}_1>FraPpk3)cR6+3cu{FH>q^DIJXX7JKH`If{oO=!+0pwE3tBSLy=kMd!73G-ZK?$TEkeC2pXlN7VFVdyH_7%@ z3VjuNtL3+}WA$_-I*QBaD&<)~l(w!E&cw1r7;@Ef5zyNiHY)QvDk~+zn~p&Ix?1V{%^hc_0XB?-Tf8wsHpvO~q>=AJ- zlO>>)ZNY>vo|FrS6=4;~sep|mE(gkDk)<)9Ga`|pSC`HRMMi@|T%Q!@4d=&cgE&p9 zJGQ`FjuXH^(7dsw**q_NKs;^SDks*8D%@8W{>v+{jN{Tx6TA#Jky}#4Ym%hwITj~v zCCfP(hQQNC&w&kU=dn0etm15tTPi>739`!|mLEXKK}6mmOs*coG7U?Q6~4Nu>e=Wc zj?=4EQip?0$4q}g3(8e|a}85mok29^6^Uj^VBJd)CDv0<*?fqvR%7&u5Lc2#&^@MA z4lli_mECpMd8IA6);NqNeAGIf1B*ynqF!snb8>EU9PN$M{cbbu+;+`jA>j}8O6aB} z+aFKfw=#%k6WLVJQ!DPEu*K;xQ8#pQ^Y)eCVM<~GBeNZLq7hIw5 zo$u%dC3RznJ&rPj-D&}~rCi#%T2tX-W*L{YyTUhDEYeCc1?4fNUR0}6DH8YMYLN=C zQmL3E)h!|sRyY%vQFZWD-sgBT8wpK0?a;1T>2zybV1CwPJXHgg_G$%Zx|g8xy}C`S zcsZ?JMGt5e)-qG#*@5+YMGs2j*u(E4V67c~JVQ<0P6Xgut&_c9cCW&5-$SDEh24=jPi!W{oV|TCi0?3B&DJ z*~JNz#|=MgXYwtwa%3MK|W`)Xb_TQA! zkW#=g-Qz-%vbaM*`_}oG)h%ehR#Qz`A?D1j6~JVVwli-t?KIWch9sjZ1$l+Mn6YCK!9te>2%-|z zM8+7*5_*%a5EiICqxQTAOR_|UK*M(24;Ppz69ZNQrEWrbC{1x6ko!6T*5lu z&m9U>;v$UjVfE^=Fk9C+GxAPfirXz=smXxKtyd6oOK~gwhFGk;hk+yJO%gE#qcOOy zo0sohqlY3=y0$FRQ8n%YwM1XLKhcz-5JokM8?DW-!P@MF;<7U7b3&^RO!+muJ;`5N z3(Yr1PFwJnn~_m)iJF(%=`vZx$p{06RSNNSAwEYnwS;wk;q5|8F!>8+AEYg zX3BzPcSBiF$|~~Qw9qjf7o?q;lFwEGAO(mi`rFE)iG7^@zAo0Ma(rMH1)a-&p`hF( zw@Ydzu3`RwXu&2lh1nNRsBYb1=4>KOr&RiE0ofE9+2eGv8@C_M&a(#4=ny=yAA(Lc zPhkUiOKKU|`yv;>AobKOjXZ_sE9LKDDL$fRMElkL@$yx=L+~rc6W?My)cA_g>|-9G zR4BmZnRMlm9m`bos6X9V$-3mw5UR;mBT0EhzzQ>ZZ)GtURYR~`Pf5SRXw@sL(76#^ zL3(TENpR=SVgJu}S$nYfH!JAIaZKxn?N0;zXRH0o;QRGEYznD(bNOET;iKQ4Jbm6i ze${?ESnT{<++j1U;X>&#mR|h3XzSlU!td?&PXnFsLnTxF-rgyeTk=2chJVz5JOpt} z9lHHL@9w%@|J~r-yAJF6@3Q}X=L|O8cb(=8?|X0QzH>U8?;OwjZ`Xa-2Nu2a6O8Jo z0p#q!j~@p(M*P~QAB&v=ev6;m3_iSf9S_Fv744`rRIUZ)JGjBN>TrXowZwrU#_Q&WQ5f%@zj~Ow30o&m&m$XK6S)kA}q(bEe6M z=wv^c&XO2yByV&5&YWEclKqbj6<|G)tK|RD+W!cxty?czTqm}wxaK++KRV)hA$-2< zB2h0Kh}YRJezr1COs4cqo+dh!z2c-)VeGigs~@ysN{c(=SAjg;7wlGib)a}-BrWxX z*Vivh#1x1`rEZs_=TJ%*^UG!4|<#-~X| zc!Eka{0R1#o!AkHZ1FLQN2mowQ>PfHzVqa9a>>*EFynu(S<_Cb^_R2RH)&nBL#-Fu zb+NFjBs?8*x(<}~jbt#kblnKwI~6uQt~HA574uVdj#PbJ+UEN;1+!~Won(6ZO~v8* zx>cq^LCLCBW+~w34;3~cHcWm?yCO8X66jyW2nGBDeTe;3#EvHhD7S#_hI+p}UNI27 z!1`Cbb6Jl;hw?EQ&*jTjgp#Qbk?DvXdh`k-d2pAg78!xFuQqtCLj%+BY8BMGUkmkV zbjD=(&p!gQ0M7zj-}%-EKTCtg+332_a!Jnz-88(Y_pJuF)igjq-Prhc^S<>N9O|dI z9k9}(iG{+kV$ot@;?2*WopX!7%Jx=q+1t)6N4>*>>g;brh3)-asOIx%WC1n%n?O-> ze;1}<8K(K)glYJ#VA`>OI{yYh?fm`Oo0Kp${kyX_`39Jpr}o;*(`yQ#eEH(B-qlf0 zCoH}Yy7Vg-q2UZ76y0L3c;*a}I-t1a@{W(LO8Z-=6g_<%E)Be-J5@!P;`o^9md?n@ z(-1Y8r*d4yZ9{$L;C3ThF$`Pmc;2JOTlv|+)y#eW=eu_!^he>J9rfo}{P9bF-o5MKkM%`l+AP36>~FRQqJ-=B z#1F6ME#G?U?>+xpcJ&q;+@e6xn+N6GzNeeOcS_)YL8EW6>fZ%S;9%41{Uacn<`G!$ z%USa0$=ML)ZMd=%%?$DO&}|?#?_nwMG`lrFwflz_zfMe44_<}h)}E+a4nxRG!Kwn@ zqBsdhqkS~+Dmx!vWGv(LF$HPIwM{AAyfmn#4qb6caNIfox&GPeB>S5xlNNl7-bq(( z>>U)b&v#EMWK;FwZK@A%tiE%r`a3JYpWFug$*TUN*=H*weKu89>qfmusdkMUVtAVy zHVaSlNwKLeIFfBOqcM5=M)ZcaTMHf5g}feJUb4D?fVXk5r+HLXL2Fc&s`PnaES*b( z(=<$=>c(b-`{oucNe9u5jfu+|?yCi={n~3) z4o-J#iCd^_-HZ#}%-s5b9R60VXxB@n2{iw1)qu1fYY-rpza<3H%~FNn<>CEXf-qM{ zBuWkJ-@1X}>IQah-@;DQARga(5R*n24xityx=?dUm0=}37DVc)t5WbvVB$Zwu{(4@-7L9ux3@5A>@=}1Eh$NDt^6r{Z%_@i5QAZ2)8i(wC`vSmMLJ^v{7IhG zx%!%oG9V}UQcNyGd0?hR%0#7PIiHCn>p1Iec5w6w-_Pyfh;!E8dIv|edeaULy_BP0 z3zhpgO}FS&cW~qZ?MSTX`=z@MwLP_J9QeTJZH8bj`O`yCxBV$iF0xFSxM|NuaEnNJ z2O{g#wgB|5JVhx@nY)2HRf#7)Z#{tePDE7NiBR_znwlKQqz^RSBQR@4o{+AR-j z_v?pc@8JAXgL2HmGUMvuTEEmb@mCF?a%P>Ge)L#w1`jAs97Q)^>DxWk&7EIC@aFLQ z=lZW$<&jsh$KytO{4D2nWf_-Q7Pbem62s}JsTR5 zfWoZ0;Gb>AvOl)$ZPD%3ZO8m9yj|PID7kgpNql?IS2VwMWAnF%eg$T3Xx=cB+n8*I z!)arysb#Xb#_CSso78S~_b)Yv% zm0SO5P5=LC+Fzk*@Ba^K+WTLuX@8BLtjX~o)R(`wkFV348@u`T`tz4|^Uvwg|9{dO zi~XCuvHLfvFJj8Rr8joHq|@9=8xhY_+(sP{CBL~oBAUHPAyL>)bo61dUey!VllqxQ z+49$^habNfmHLj!&*Ks|>b^B1vCW&Xh*w34*Goif*_n7n9E7l5{J*B|3Rvp>V|TYY zkr3Uu)Jyt^fk`QfUwa~ zC^v7SfZ|hi5T6?6n_8(2;lux$HIDrG3+enrb=)87<9>zB)`tD;rkPvd1#3A|KA%Ee zywr3K4alIIu!MyciEHUaM3b5mF0ac}XFE%U)QO#P znY#^Tx-Q7)5aqH3H}6?bAvB-B>@~C{V`#PB$Zsknlu7v-k&zLR5s`{}UT@%0DYL%gmMw%T+|+Gf_gNaORr>sg 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≪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[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o}"function"==typeof SuppressedError&&SuppressedError; -/** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const t=globalThis,n=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,a=Symbol(),i=new WeakMap;let r=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==a)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(n&&void 0===e){const n=void 0!==t&&1===t.length;n&&(e=i.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&i.set(t,e))}return e}toString(){return this.cssText}};const o=e=>new r("string"==typeof e?e:e+"",void 0,a),s=(e,...t)=>{const n=1===e.length?e[0]:t.reduce(((t,n,a)=>t+(e=>{if(!0===e._$cssResult$)return e.cssText;if("number"==typeof e)return e;throw Error("Value passed to 'css' function must be a 'css' function result: "+e+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(n)+e[a+1]),e[0]);return new r(n,e,a)},c=(e,a)=>{if(n)e.adoptedStyleSheets=a.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet));else for(const n of a){const a=document.createElement("style"),i=t.litNonce;void 0!==i&&a.setAttribute("nonce",i),a.textContent=n.cssText,e.appendChild(a)}},l=n?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const n of e.cssRules)t+=n.cssText;return o(t)})(e):e -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */,{is:d,defineProperty:u,getOwnPropertyDescriptor:h,getOwnPropertyNames:p,getOwnPropertySymbols:m,getPrototypeOf:g}=Object,f=globalThis,_=f.trustedTypes,v=_?_.emptyScript:"",y=f.reactiveElementPolyfillSupport,b=(e,t)=>e,w={toAttribute(e,t){switch(t){case Boolean:e=e?v:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=null!==e;break;case Number:n=null===e?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch(e){n=null}}return n}},x=(e,t)=>!d(e,t),C={attribute:!0,type:String,converter:w,reflect:!1,hasChanged:x};Symbol.metadata??=Symbol("metadata"),f.litPropertyMetadata??=new WeakMap;class M extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=C){if(t.state&&(t.attribute=!1),this._$Ei(),this.elementProperties.set(e,t),!t.noAccessor){const n=Symbol(),a=this.getPropertyDescriptor(e,n,t);void 0!==a&&u(this.prototype,e,a)}}static getPropertyDescriptor(e,t,n){const{get:a,set:i}=h(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get(){return a?.call(this)},set(t){const r=a?.call(this);i.call(this,t),this.requestUpdate(e,r,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??C}static _$Ei(){if(this.hasOwnProperty(b("elementProperties")))return;const e=g(this);e.finalize(),void 0!==e.l&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(b("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(b("properties"))){const e=this.properties,t=[...p(e),...m(e)];for(const n of t)this.createProperty(n,e[n])}const e=this[Symbol.metadata];if(null!==e){const t=litPropertyMetadata.get(e);if(void 0!==t)for(const[e,n]of t)this.elementProperties.set(e,n)}this._$Eh=new Map;for(const[e,t]of this.elementProperties){const n=this._$Eu(e,t);void 0!==n&&this._$Eh.set(n,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const n=new Set(e.flat(1/0).reverse());for(const e of n)t.unshift(l(e))}else void 0!==e&&t.push(l(e));return t}static _$Eu(e,t){const n=t.attribute;return!1===n?void 0:"string"==typeof n?n:"string"==typeof e?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((e=>this.enableUpdating=e)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((e=>e(this)))}addController(e){(this._$EO??=new Set).add(e),void 0!==this.renderRoot&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){const e=new Map,t=this.constructor.elementProperties;for(const n of t.keys())this.hasOwnProperty(n)&&(e.set(n,this[n]),delete this[n]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return c(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((e=>e.hostConnected?.()))}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach((e=>e.hostDisconnected?.()))}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$EC(e,t){const n=this.constructor.elementProperties.get(e),a=this.constructor._$Eu(e,n);if(void 0!==a&&!0===n.reflect){const i=(void 0!==n.converter?.toAttribute?n.converter:w).toAttribute(t,n.type);this._$Em=e,null==i?this.removeAttribute(a):this.setAttribute(a,i),this._$Em=null}}_$AK(e,t){const n=this.constructor,a=n._$Eh.get(e);if(void 0!==a&&this._$Em!==a){const e=n.getPropertyOptions(a),i="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==e.converter?.fromAttribute?e.converter:w;this._$Em=a,this[a]=i.fromAttribute(t,e.type),this._$Em=null}}requestUpdate(e,t,n){if(void 0!==e){if(n??=this.constructor.getPropertyOptions(e),!(n.hasChanged??x)(this[e],t))return;this.P(e,t,n)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(e,t,n){this._$AL.has(e)||this._$AL.set(e,t),!0===n.reflect&&this._$Em!==e&&(this._$Ej??=new Set).add(e)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}const e=this.constructor.elementProperties;if(e.size>0)for(const[t,n]of e)!0!==n.wrapped||this._$AL.has(t)||void 0===this[t]||this.P(t,this[t],n)}let e=!1;const t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach((e=>e.hostUpdate?.())),this.update(t)):this._$EU()}catch(t){throw e=!1,this._$EU(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach((e=>e.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Ej&&=this._$Ej.forEach((e=>this._$EC(e,this[e]))),this._$EU()}updated(e){}firstUpdated(e){}}M.elementStyles=[],M.shadowRootOptions={mode:"open"},M[b("elementProperties")]=new Map,M[b("finalized")]=new Map,y?.({ReactiveElement:M}),(f.reactiveElementVersions??=[]).push("2.0.4"); -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const k=globalThis,S=k.trustedTypes,E=S?S.createPolicy("lit-html",{createHTML:e=>e}):void 0,$="$lit$",A=`lit$${(Math.random()+"").slice(9)}$`,z="?"+A,I=`<${z}>`,T=document,j=()=>T.createComment(""),O=e=>null===e||"object"!=typeof e&&"function"!=typeof e,D=Array.isArray,R="[ \t\n\f\r]",P=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,L=/-->/g,N=/>/g,F=RegExp(`>|${R}(?:([^\\s"'>=/]+)(${R}*=${R}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),V=/'/g,H=/"/g,B=/^(?:script|style|textarea|title)$/i,q=(e=>(t,...n)=>({_$litType$:e,strings:t,values:n}))(1),U=Symbol.for("lit-noChange"),W=Symbol.for("lit-nothing"),Z=new WeakMap,Q=T.createTreeWalker(T,129);function G(e,t){if(!Array.isArray(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==E?E.createHTML(t):t}const Y=(e,t)=>{const n=e.length-1,a=[];let i,r=2===t?"":"",o=P;for(let t=0;t"===c[0]?(o=i??P,l=-1):void 0===c[1]?l=-2:(l=o.lastIndex-c[2].length,s=c[1],o=void 0===c[3]?F:'"'===c[3]?H:V):o===H||o===V?o=F:o===L||o===N?o=P:(o=F,i=void 0);const u=o===F&&e[t+1].startsWith("/>")?" ":"";r+=o===P?n+I:l>=0?(a.push(s),n.slice(0,l)+$+n.slice(l)+A+u):n+A+(-2===l?t:u)}return[G(e,r+(e[n]||"")+(2===t?"":"")),a]};class K{constructor({strings:e,_$litType$:t},n){let a;this.parts=[];let i=0,r=0;const o=e.length-1,s=this.parts,[c,l]=Y(e,t);if(this.el=K.createElement(c,n),Q.currentNode=this.el.content,2===t){const e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;null!==(a=Q.nextNode())&&s.length0){a.textContent=S?S.emptyScript:"";for(let n=0;nD(e)||"function"==typeof e?.[Symbol.iterator])(e)?this.k(e):this._(e)}S(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.S(e))}_(e){this._$AH!==W&&O(this._$AH)?this._$AA.nextSibling.data=e:this.T(T.createTextNode(e)),this._$AH=e}$(e){const{values:t,_$litType$:n}=e,a="number"==typeof n?this._$AC(e):(void 0===n.el&&(n.el=K.createElement(G(n.h,n.h[0]),this.options)),n);if(this._$AH?._$AD===a)this._$AH.p(t);else{const e=new J(a,this),n=e.u(this.options);e.p(t),this.T(n),this._$AH=e}}_$AC(e){let t=Z.get(e.strings);return void 0===t&&Z.set(e.strings,t=new K(e)),t}k(e){D(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let n,a=0;for(const i of e)a===t.length?t.push(n=new ee(this.S(j()),this.S(j()),this,this.options)):n=t[a],n._$AI(i),a++;a2||""!==n[0]||""!==n[1]?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=W}_$AI(e,t=this,n,a){const i=this.strings;let r=!1;if(void 0===i)e=X(this,e,t,0),r=!O(e)||e!==this._$AH&&e!==U,r&&(this._$AH=e);else{const a=e;let o,s;for(e=i[0],o=0;o{const a=n?.renderBefore??t;let i=a._$litPart$;if(void 0===i){const e=n?.renderBefore??null;a._$litPart$=i=new ee(t.insertBefore(j(),e),e,void 0,n??{})}return i._$AI(e),i})(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return U}};se._$litElement$=!0,se.finalized=!0,globalThis.litElementHydrateSupport?.({LitElement:se});const ce=globalThis.litElementPolyfillSupport;ce?.({LitElement:se}),(globalThis.litElementVersions??=[]).push("4.0.4"); -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const le=e=>(t,n)=>{void 0!==n?n.addInitializer((()=>{customElements.define(e,t)})):customElements.define(e,t)} -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */,de={attribute:!0,type:String,converter:w,reflect:!1,hasChanged:x},ue=(e=de,t,n)=>{const{kind:a,metadata:i}=n;let r=globalThis.litPropertyMetadata.get(i);if(void 0===r&&globalThis.litPropertyMetadata.set(i,r=new Map),r.set(n.name,e),"accessor"===a){const{name:a}=n;return{set(n){const i=t.get.call(this);t.set.call(this,n),this.requestUpdate(a,i,e)},init(t){return void 0!==t&&this.P(a,void 0,e),t}}}if("setter"===a){const{name:a}=n;return function(n){const i=this[a];t.call(this,n),this.requestUpdate(a,i,e)}}throw Error("Unsupported decorator location: "+a)};function he(e){return(t,n)=>"object"==typeof n?ue(e,t,n):((e,t,n)=>{const a=t.hasOwnProperty(n);return t.constructor.createProperty(n,a?{...e,wrapped:!0}:e),a?Object.getOwnPropertyDescriptor(t,n):void 0})(e,t,n) -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */}function pe(e){return he({...e,state:!0,attribute:!1})} -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const me={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},ge=e=>(...t)=>({_$litDirective$:e,values:t});let fe=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,n){this._$Ct=e,this._$AM=t,this._$Ci=n}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}}; -/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const _e=ge(class extends fe{constructor(e){if(super(e),e.type!==me.ATTRIBUTE||"class"!==e.name||e.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(e){return" "+Object.keys(e).filter((t=>e[t])).join(" ")+" "}update(e,[t]){if(void 0===this.st){this.st=new Set,void 0!==e.strings&&(this.nt=new Set(e.strings.join(" ").split(/\s/).filter((e=>""!==e))));for(const e in t)t[e]&&!this.nt?.has(e)&&this.st.add(e);return this.render(t)}const n=e.element.classList;for(const e of this.st)e in t||(n.remove(e),this.st.delete(e));for(const e in t){const a=!!t[e];a===this.st.has(e)||this.nt?.has(e)||(a?(n.add(e),this.st.add(e)):(n.remove(e),this.st.delete(e)))}return U}}),ve=e=>e??W -/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */,ye=e=>null===e||"object"!=typeof e&&"function"!=typeof e,be=e=>void 0===e.strings,we={},xe=(e,t=we)=>e._$AH=t -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */,Ce=(e,t)=>{const n=e._$AN;if(void 0===n)return!1;for(const e of n)e._$AO?.(t,!1),Ce(e,t);return!0},Me=e=>{let t,n;do{if(void 0===(t=e._$AM))break;n=t._$AN,n.delete(e),e=t}while(0===n?.size)},ke=e=>{for(let t;t=e._$AM;e=t){let n=t._$AN;if(void 0===n)t._$AN=n=new Set;else if(n.has(e))break;n.add(e),$e(t)}}; -/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */function Se(e){void 0!==this._$AN?(Me(this),this._$AM=e,ke(this)):this._$AM=e}function Ee(e,t=!1,n=0){const a=this._$AH,i=this._$AN;if(void 0!==i&&0!==i.size)if(t)if(Array.isArray(a))for(let e=n;e{e.type==me.CHILD&&(e._$AP??=Ee,e._$AQ??=Se)};class Ae extends fe{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,t,n){super._$AT(e,t,n),ke(this),this.isConnected=e._$AU}_$AO(e,t=!0){e!==this.isConnected&&(this.isConnected=e,e?this.reconnected?.():this.disconnected?.()),t&&(Ce(this,e),Me(this))}setValue(e){if(be(this._$Ct))this._$Ct._$AI(e,this);else{const t=[...this._$Ct._$AH];t[this._$Ci]=e,this._$Ct._$AI(t,this,0)}}disconnected(){}reconnected(){}} -/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const ze=()=>new Ie;let Ie=class{};const Te=new WeakMap,je=ge(class extends Ae{render(e){return W}update(e,[t]){const n=t!==this.Y;return n&&void 0!==this.Y&&this.rt(void 0),(n||this.lt!==this.ct)&&(this.Y=t,this.ht=e.options?.host,this.rt(this.ct=e.element)),W}rt(e){if("function"==typeof this.Y){const t=this.ht??globalThis;let n=Te.get(t);void 0===n&&(n=new WeakMap,Te.set(t,n)),void 0!==n.get(this.Y)&&this.Y.call(this.ht,void 0),n.set(this.Y,e),void 0!==e&&this.Y.call(this.ht,e)}else this.Y.value=e}get lt(){return"function"==typeof this.Y?Te.get(this.ht??globalThis)?.get(this.Y):this.Y?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}}),Oe="important",De=" !"+Oe,Re=ge(class extends fe{constructor(e){if(super(e),e.type!==me.ATTRIBUTE||"style"!==e.name||e.strings?.length>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(e){return Object.keys(e).reduce(((t,n)=>{const a=e[n];return null==a?t:t+`${n=n.includes("-")?n:n.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${a};`}),"")}update(e,[t]){const{style:n}=e.element;if(void 0===this.ft)return this.ft=new Set(Object.keys(t)),this.render(t);for(const e of this.ft)null==t[e]&&(this.ft.delete(e),e.includes("-")?n.removeProperty(e):n[e]=null);for(const e in t){const a=t[e];if(null!=a){this.ft.add(e);const t="string"==typeof a&&a.endsWith(De);e.includes("-")||t?n.setProperty(e,t?a.slice(0,-11):a,t?Oe:""):n[e]=a}}return U}}); -/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */function Pe(e,t,n,a=20,i=0){let r=[];if(i>=a)return r;const o=e=>{const r=e.assignedNodes().filter((e=>1===e.nodeType));return r.length>0?Pe(r[0].parentElement,t,n,a,i+1):[]},s=Array.from(e.children||[]);for(const e of s)t(e)||(n(e)&&r.push(e),null!=e.shadowRoot?r.push(...Pe(e.shadowRoot,t,n,a,i+1)):"SLOT"===e.tagName?r.push(...o(e)):r.push(...Pe(e,t,n,a,i+1)));return r}function Le(e){return e.hasAttribute("hidden")||e.hasAttribute("aria-hidden")&&"false"!==e.getAttribute("aria-hidden")||"none"===e.style.display||"0"===e.style.opacity||"hidden"===e.style.visibility||"collapse"===e.style.visibility}function Ne(e){return"-1"!==e.getAttribute("tabindex")&&!Le(e)&&!function(e){return e.hasAttribute("disabled")||e.hasAttribute("aria-disabled")&&"false"!==e.getAttribute("aria-disabled")}(e)&&(e.hasAttribute("tabindex")||(e instanceof HTMLAnchorElement||e instanceof HTMLAreaElement)&&e.hasAttribute("href")||e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLIFrameElement)}const Fe=new Map;const Ve=document.createElement("template");Ve.innerHTML='\n\t
\n\t
\n\t\n\t
\n';class He extends HTMLElement{constructor(){super(),this.debounceId=Math.random().toString(),this._focused=!1;const e=this.attachShadow({mode:"open"});e.appendChild(Ve.content.cloneNode(!0)),this.$backup=e.querySelector("#backup"),this.$start=e.querySelector("#start"),this.$end=e.querySelector("#end"),this.focusLastElement=this.focusLastElement.bind(this),this.focusFirstElement=this.focusFirstElement.bind(this),this.onFocusIn=this.onFocusIn.bind(this),this.onFocusOut=this.onFocusOut.bind(this)}static get observedAttributes(){return["inactive"]}get inactive(){return this.hasAttribute("inactive")}set inactive(e){e?this.setAttribute("inactive",""):this.removeAttribute("inactive")}get focused(){return this._focused}connectedCallback(){this.$start.addEventListener("focus",this.focusLastElement),this.$end.addEventListener("focus",this.focusFirstElement),this.addEventListener("focusin",this.onFocusIn),this.addEventListener("focusout",this.onFocusOut),this.render()}disconnectedCallback(){this.$start.removeEventListener("focus",this.focusLastElement),this.$end.removeEventListener("focus",this.focusFirstElement),this.removeEventListener("focusin",this.onFocusIn),this.removeEventListener("focusout",this.onFocusOut)}attributeChangedCallback(){this.render()}focusFirstElement(){this.trapFocus()}focusLastElement(){this.trapFocus(!0)}getFocusableElements(){return Pe(this,Le,Ne)}trapFocus(e){if(this.inactive)return;let t=this.getFocusableElements();t.length>0?(e?t[t.length-1].focus():t[0].focus(),this.$backup.setAttribute("tabindex","-1")):(this.$backup.setAttribute("tabindex","0"),this.$backup.focus())}onFocusIn(){this.updateFocused(!0)}onFocusOut(){this.updateFocused(!1)}updateFocused(e){!function(e,t,n){const a=Fe.get(n);null!=a&&window.clearTimeout(a),Fe.set(n,window.setTimeout((()=>{e(),Fe.delete(n)}),t))}((()=>{this.focused!==e&&(this._focused=e,this.render())}),0,this.debounceId)}render(){this.$start.setAttribute("tabindex",!this.focused||this.inactive?"-1":"0"),this.$end.setAttribute("tabindex",!this.focused||this.inactive?"-1":"0"),this.focused?this.setAttribute("focused",""):this.removeAttribute("focused")}}function Be(e){return Number(e.getAttribute("data-dialog-count"))||0}function qe(e,t){e.setAttribute("data-dialog-count",t.toString())}function Ue(e=document.activeElement){return null!=e&&null!=e.shadowRoot&&null!=e.shadowRoot.activeElement?Ue(e.shadowRoot.activeElement):e}window.customElements.define("focus-trap",He);const We=document.createElement("template");We.innerHTML='\n \n
\n \n \n \n';class Ze extends HTMLElement{constructor(){super(),this.$scrollContainer=document.documentElement,this.$previousActiveElement=null;const e=this.attachShadow({mode:"open"});e.appendChild(We.content.cloneNode(!0)),this.$dialog=e.querySelector("#dialog"),this.$backdrop=e.querySelector("#backdrop"),this.onBackdropClick=this.onBackdropClick.bind(this),this.onKeyDown=this.onKeyDown.bind(this),this.setAttribute("aria-modal","true"),this.$dialog.setAttribute("role","alertdialog")}static get observedAttributes(){return["open","center"]}get open(){return this.hasAttribute("open")}set open(e){e?this.setAttribute("open",""):this.removeAttribute("open")}get center(){return this.hasAttribute("center")}set center(e){e?this.setAttribute("center",""):this.removeAttribute("center")}connectedCallback(){this.$backdrop.addEventListener("click",this.onBackdropClick)}disconnectedCallback(){this.$backdrop.removeEventListener("click",this.onBackdropClick),this.open&&this.didClose()}show(){this.open=!0}close(e){this.result=e,this.open=!1}onBackdropClick(){this.assertClosing()&&this.close()}onKeyDown(e){if("Escape"===e.code)this.assertClosing()&&(this.close(),e.stopImmediatePropagation())}assertClosing(){return this.dispatchEvent(new CustomEvent("closing",{cancelable:!0}))}didOpen(){this.$previousActiveElement=Ue(document.activeElement),requestAnimationFrame((()=>{this.$dialog.focusFirstElement()})),this.tabIndex=0,this.$scrollContainer.style.overflow="hidden",this.addEventListener("keydown",this.onKeyDown,{capture:!0,passive:!0}),qe(this.$scrollContainer,Be(this.$scrollContainer)+1),this.dispatchEvent(new CustomEvent("open"))}didClose(){this.removeEventListener("keydown",this.onKeyDown,{capture:!0}),qe(this.$scrollContainer,Math.max(0,Be(this.$scrollContainer)-1)),Be(this.$scrollContainer)<=0&&(this.$scrollContainer.style.overflow=""),this.tabIndex=-1,null!=this.$previousActiveElement&&(this.$previousActiveElement.focus(),this.$previousActiveElement=null),this.dispatchEvent(new CustomEvent("close",{detail:this.result}))}attributeChangedCallback(e,t,n){if("open"===e)this.open?this.didOpen():this.didClose()}}var Qe,Ge;function Ye(e){return e.substr(0,e.indexOf("."))}customElements.define("web-dialog",Ze),function(e){e.language="language",e.system="system",e.comma_decimal="comma_decimal",e.decimal_comma="decimal_comma",e.space_comma="space_comma",e.none="none"}(Qe||(Qe={})),function(e){e.language="language",e.system="system",e.am_pm="12",e.twenty_four="24"}(Ge||(Ge={}));var Ke,Xe,Je=["closed","locked","off"],et=function(e,t,n,a){a=a||{},n=null==n?{}:n;var i=new Event(t,{bubbles:void 0===a.bubbles||a.bubbles,cancelable:Boolean(a.cancelable),composed:void 0===a.composed||a.composed});return i.detail=n,e.dispatchEvent(i),i},tt=function(e){et(window,"haptic",e)},nt=function(e,t){return function(e,t,n){void 0===n&&(n=!0);var a,i=Ye(t),r="group"===i?"homeassistant":i;switch(i){case"lock":a=n?"unlock":"lock";break;case"cover":a=n?"open_cover":"close_cover";break;default:a=n?"turn_on":"turn_off"}return e.callService(r,a,{entity_id:t})}(e,t,Je.includes(e.states[t].state))},at=function(e,t,n,a){if(a||(a={action:"more-info"}),!a.confirmation||a.confirmation.exemptions&&a.confirmation.exemptions.some((function(e){return e.user===t.user.id}))||(tt("warning"),confirm(a.confirmation.text||"Are you sure you want to "+a.action+"?")))switch(a.action){case"more-info":(n.entity||n.camera_image)&&et(e,"hass-more-info",{entityId:n.entity?n.entity:n.camera_image});break;case"navigate":a.navigation_path&&function(e,t,n){void 0===n&&(n=!1),n?history.replaceState(null,"",t):history.pushState(null,"",t),et(window,"location-changed",{replace:n})}(0,a.navigation_path);break;case"url":a.url_path&&window.open(a.url_path);break;case"toggle":n.entity&&(nt(t,n.entity),tt("success"));break;case"perform-action":if(!a.perform_action)return void tt("failure");var i=a.perform_action.split(".",2);t.callService(i[0],i[1],a.data,a.target),tt("success");break;case"call-service":if(!a.service)return void tt("failure");var r=a.service.split(".",2);t.callService(r[0],r[1],a.data,a.target),tt("success");break;case"fire-dom-event":et(e,"ll-custom",a)}};!function(e){e.assertEqual=e=>e,e.assertIs=function(e){},e.assertNever=function(e){throw new Error},e.arrayToEnum=e=>{const t={};for(const n of e)t[n]=n;return t},e.getValidEnumValues=t=>{const n=e.objectKeys(t).filter((e=>"number"!=typeof t[t[e]])),a={};for(const e of n)a[e]=t[e];return e.objectValues(a)},e.objectValues=t=>e.objectKeys(t).map((function(e){return t[e]})),e.objectKeys="function"==typeof Object.keys?e=>Object.keys(e):e=>{const t=[];for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},e.find=(e,t)=>{for(const n of e)if(t(n))return n},e.isInteger="function"==typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"==typeof e&&isFinite(e)&&Math.floor(e)===e,e.joinValues=function(e,t=" | "){return e.map((e=>"string"==typeof e?`'${e}'`:e)).join(t)},e.jsonStringifyReplacer=(e,t)=>"bigint"==typeof t?t.toString():t}(Ke||(Ke={})),function(e){e.mergeShapes=(e,t)=>({...e,...t})}(Xe||(Xe={}));const it=Ke.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),rt=e=>{switch(typeof e){case"undefined":return it.undefined;case"string":return it.string;case"number":return isNaN(e)?it.nan:it.number;case"boolean":return it.boolean;case"function":return it.function;case"bigint":return it.bigint;case"symbol":return it.symbol;case"object":return Array.isArray(e)?it.array:null===e?it.null:e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch?it.promise:"undefined"!=typeof Map&&e instanceof Map?it.map:"undefined"!=typeof Set&&e instanceof Set?it.set:"undefined"!=typeof Date&&e instanceof Date?it.date:it.object;default:return it.unknown}},ot=Ke.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class st extends Error{constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const t=e||function(e){return e.message},n={_errors:[]},a=e=>{for(const i of e.issues)if("invalid_union"===i.code)i.unionErrors.map(a);else if("invalid_return_type"===i.code)a(i.returnTypeError);else if("invalid_arguments"===i.code)a(i.argumentsError);else if(0===i.path.length)n._errors.push(t(i));else{let e=n,a=0;for(;ae.message)){const t={},n=[];for(const a of this.issues)a.path.length>0?(t[a.path[0]]=t[a.path[0]]||[],t[a.path[0]].push(e(a))):n.push(e(a));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}}st.create=e=>new st(e);const ct=(e,t)=>{let n;switch(e.code){case ot.invalid_type:n=e.received===it.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case ot.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,Ke.jsonStringifyReplacer)}`;break;case ot.unrecognized_keys:n=`Unrecognized key(s) in object: ${Ke.joinValues(e.keys,", ")}`;break;case ot.invalid_union:n="Invalid input";break;case ot.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Ke.joinValues(e.options)}`;break;case ot.invalid_enum_value:n=`Invalid enum value. Expected ${Ke.joinValues(e.options)}, received '${e.received}'`;break;case ot.invalid_arguments:n="Invalid function arguments";break;case ot.invalid_return_type:n="Invalid function return type";break;case ot.invalid_date:n="Invalid date";break;case ot.invalid_string:"object"==typeof e.validation?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,"number"==typeof e.validation.position&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:Ke.assertNever(e.validation):n="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case ot.too_small:n="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:"date"===e.type?`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:"Invalid input";break;case ot.too_big:n="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"bigint"===e.type?`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"date"===e.type?`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:"Invalid input";break;case ot.custom:n="Invalid input";break;case ot.invalid_intersection_types:n="Intersection results could not be merged";break;case ot.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case ot.not_finite:n="Number must be finite";break;default:n=t.defaultError,Ke.assertNever(e)}return{message:n}};let lt=ct;function dt(){return lt}const ut=e=>{const{data:t,path:n,errorMaps:a,issueData:i}=e,r=[...n,...i.path||[]],o={...i,path:r};if(void 0!==i.message)return{...i,path:r,message:i.message};let s="";const c=a.filter((e=>!!e)).slice().reverse();for(const e of c)s=e(o,{data:t,defaultError:s}).message;return{...i,path:r,message:s}};function ht(e,t){const n=dt(),a=ut({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===ct?void 0:ct].filter((e=>!!e))});e.common.issues.push(a)}class pt{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(e,t){const n=[];for(const a of t){if("aborted"===a.status)return mt;"dirty"===a.status&&e.dirty(),n.push(a.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,t){const n=[];for(const e of t){const t=await e.key,a=await e.value;n.push({key:t,value:a})}return pt.mergeObjectSync(e,n)}static mergeObjectSync(e,t){const n={};for(const a of t){const{key:t,value:i}=a;if("aborted"===t.status)return mt;if("aborted"===i.status)return mt;"dirty"===t.status&&e.dirty(),"dirty"===i.status&&e.dirty(),"__proto__"===t.value||void 0===i.value&&!a.alwaysSet||(n[t.value]=i.value)}return{status:e.value,value:n}}}const mt=Object.freeze({status:"aborted"}),gt=e=>({status:"dirty",value:e}),ft=e=>({status:"valid",value:e}),_t=e=>"aborted"===e.status,vt=e=>"dirty"===e.status,yt=e=>"valid"===e.status,bt=e=>"undefined"!=typeof Promise&&e instanceof Promise;function wt(e,t,n,a){if("a"===n&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?a:"a"===n?a.call(e):a?a.value:t.get(e)}function xt(e,t,n,a,i){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?i.call(e,n):i?i.value=n:t.set(e,n),n}var Ct,Mt,kt;"function"==typeof SuppressedError&&SuppressedError,function(e){e.errToObj=e=>"string"==typeof e?{message:e}:e||{},e.toString=e=>"string"==typeof e?e:null==e?void 0:e.message}(Ct||(Ct={}));class St{constructor(e,t,n,a){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=a}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const Et=(e,t)=>{if(yt(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new st(e.common.issues);return this._error=t,this._error}}};function $t(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:a,description:i}=e;if(t&&(n||a))throw new Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');if(t)return{errorMap:t,description:i};return{errorMap:(t,i)=>{var r,o;const{message:s}=e;return"invalid_enum_value"===t.code?{message:null!=s?s:i.defaultError}:void 0===i.data?{message:null!==(r=null!=s?s:a)&&void 0!==r?r:i.defaultError}:"invalid_type"!==t.code?{message:i.defaultError}:{message:null!==(o=null!=s?s:n)&&void 0!==o?o:i.defaultError}},description:i}}class At{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return rt(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:rt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new pt,ctx:{common:e.parent.common,data:e.data,parsedType:rt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(bt(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){var n;const a={common:{issues:[],async:null!==(n=null==t?void 0:t.async)&&void 0!==n&&n,contextualErrorMap:null==t?void 0:t.errorMap},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:rt(e)},i=this._parseSync({data:e,path:a.path,parent:a});return Et(a,i)}async parseAsync(e,t){const n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){const n={common:{issues:[],contextualErrorMap:null==t?void 0:t.errorMap,async:!0},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:rt(e)},a=this._parse({data:e,path:n.path,parent:n}),i=await(bt(a)?a:Promise.resolve(a));return Et(n,i)}refine(e,t){const n=e=>"string"==typeof t||void 0===t?{message:t}:"function"==typeof t?t(e):t;return this._refinement(((t,a)=>{const i=e(t),r=()=>a.addIssue({code:ot.custom,...n(t)});return"undefined"!=typeof Promise&&i instanceof Promise?i.then((e=>!!e||(r(),!1))):!!i||(r(),!1)}))}refinement(e,t){return this._refinement(((n,a)=>!!e(n)||(a.addIssue("function"==typeof t?t(n,a):t),!1)))}_refinement(e){return new kn({schema:this,typeName:Pn.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return Sn.create(this,this._def)}nullable(){return En.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return on.create(this,this._def)}promise(){return Mn.create(this,this._def)}or(e){return ln.create([this,e],this._def)}and(e){return pn.create(this,e,this._def)}transform(e){return new kn({...$t(this._def),schema:this,typeName:Pn.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t="function"==typeof e?e:()=>e;return new $n({...$t(this._def),innerType:this,defaultValue:t,typeName:Pn.ZodDefault})}brand(){return new Tn({typeName:Pn.ZodBranded,type:this,...$t(this._def)})}catch(e){const t="function"==typeof e?e:()=>e;return new An({...$t(this._def),innerType:this,catchValue:t,typeName:Pn.ZodCatch})}describe(e){return new(0,this.constructor)({...this._def,description:e})}pipe(e){return jn.create(this,e)}readonly(){return On.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const zt=/^c[^\s-]{8,}$/i,It=/^[0-9a-z]+$/,Tt=/^[0-9A-HJKMNP-TV-Z]{26}$/,jt=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Ot=/^[a-z0-9_-]{21}$/i,Dt=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Rt=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i;let Pt;const Lt=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Nt=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,Ft=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Vt="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Ht=new RegExp(`^${Vt}$`);function Bt(e){let t="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return e.precision?t=`${t}\\.\\d{${e.precision}}`:null==e.precision&&(t=`${t}(\\.\\d+)?`),t}function qt(e){let t=`${Vt}T${Bt(e)}`;const n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function Ut(e,t){return!("v4"!==t&&t||!Lt.test(e))||!("v6"!==t&&t||!Nt.test(e))}class Wt extends At{_parse(e){this._def.coerce&&(e.data=String(e.data));if(this._getType(e)!==it.string){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.string,received:t.parsedType}),mt}const t=new pt;let n;for(const a of this._def.checks)if("min"===a.kind)e.data.lengtha.value&&(n=this._getOrReturnCtx(e,n),ht(n,{code:ot.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),t.dirty());else if("length"===a.kind){const i=e.data.length>a.value,r=e.data.lengthe.test(t)),{validation:t,code:ot.invalid_string,...Ct.errToObj(n)})}_addCheck(e){return new Wt({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...Ct.errToObj(e)})}url(e){return this._addCheck({kind:"url",...Ct.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...Ct.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...Ct.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...Ct.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...Ct.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...Ct.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...Ct.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...Ct.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...Ct.errToObj(e)})}datetime(e){var t,n;return"string"==typeof e?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision,offset:null!==(t=null==e?void 0:e.offset)&&void 0!==t&&t,local:null!==(n=null==e?void 0:e.local)&&void 0!==n&&n,...Ct.errToObj(null==e?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return"string"==typeof e?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision,...Ct.errToObj(null==e?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...Ct.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...Ct.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:null==t?void 0:t.position,...Ct.errToObj(null==t?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...Ct.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...Ct.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...Ct.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...Ct.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...Ct.errToObj(t)})}nonempty(e){return this.min(1,Ct.errToObj(e))}trim(){return new Wt({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Wt({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Wt({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((e=>"datetime"===e.kind))}get isDate(){return!!this._def.checks.find((e=>"date"===e.kind))}get isTime(){return!!this._def.checks.find((e=>"time"===e.kind))}get isDuration(){return!!this._def.checks.find((e=>"duration"===e.kind))}get isEmail(){return!!this._def.checks.find((e=>"email"===e.kind))}get isURL(){return!!this._def.checks.find((e=>"url"===e.kind))}get isEmoji(){return!!this._def.checks.find((e=>"emoji"===e.kind))}get isUUID(){return!!this._def.checks.find((e=>"uuid"===e.kind))}get isNANOID(){return!!this._def.checks.find((e=>"nanoid"===e.kind))}get isCUID(){return!!this._def.checks.find((e=>"cuid"===e.kind))}get isCUID2(){return!!this._def.checks.find((e=>"cuid2"===e.kind))}get isULID(){return!!this._def.checks.find((e=>"ulid"===e.kind))}get isIP(){return!!this._def.checks.find((e=>"ip"===e.kind))}get isBase64(){return!!this._def.checks.find((e=>"base64"===e.kind))}get minLength(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.valuea?n:a;return parseInt(e.toFixed(i).replace(".",""))%parseInt(t.toFixed(i).replace(".",""))/Math.pow(10,i)}Wt.create=e=>{var t;return new Wt({checks:[],typeName:Pn.ZodString,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t,...$t(e)})};class Qt extends At{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){this._def.coerce&&(e.data=Number(e.data));if(this._getType(e)!==it.number){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.number,received:t.parsedType}),mt}let t;const n=new pt;for(const a of this._def.checks)if("int"===a.kind)Ke.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.invalid_type,expected:"integer",received:"float",message:a.message}),n.dirty());else if("min"===a.kind){(a.inclusive?e.dataa.value:e.data>=a.value)&&(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),n.dirty())}else"multipleOf"===a.kind?0!==Zt(e.data,a.value)&&(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.not_multiple_of,multipleOf:a.value,message:a.message}),n.dirty()):"finite"===a.kind?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.not_finite,message:a.message}),n.dirty()):Ke.assertNever(a);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,Ct.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Ct.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Ct.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Ct.toString(t))}setLimit(e,t,n,a){return new Qt({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:Ct.toString(a)}]})}_addCheck(e){return new Qt({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:Ct.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:Ct.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:Ct.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:Ct.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:Ct.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Ct.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:Ct.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:Ct.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:Ct.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value"int"===e.kind||"multipleOf"===e.kind&&Ke.isInteger(e.value)))}get isFinite(){let e=null,t=null;for(const n of this._def.checks){if("finite"===n.kind||"int"===n.kind||"multipleOf"===n.kind)return!0;"min"===n.kind?(null===t||n.value>t)&&(t=n.value):"max"===n.kind&&(null===e||n.valuenew Qt({checks:[],typeName:Pn.ZodNumber,coerce:(null==e?void 0:e.coerce)||!1,...$t(e)});class Gt extends At{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){this._def.coerce&&(e.data=BigInt(e.data));if(this._getType(e)!==it.bigint){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.bigint,received:t.parsedType}),mt}let t;const n=new pt;for(const a of this._def.checks)if("min"===a.kind){(a.inclusive?e.dataa.value:e.data>=a.value)&&(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),n.dirty())}else"multipleOf"===a.kind?e.data%a.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.not_multiple_of,multipleOf:a.value,message:a.message}),n.dirty()):Ke.assertNever(a);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,Ct.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Ct.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Ct.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Ct.toString(t))}setLimit(e,t,n,a){return new Gt({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:Ct.toString(a)}]})}_addCheck(e){return new Gt({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:Ct.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:Ct.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:Ct.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:Ct.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Ct.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value{var t;return new Gt({checks:[],typeName:Pn.ZodBigInt,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t,...$t(e)})};class Yt extends At{_parse(e){this._def.coerce&&(e.data=Boolean(e.data));if(this._getType(e)!==it.boolean){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.boolean,received:t.parsedType}),mt}return ft(e.data)}}Yt.create=e=>new Yt({typeName:Pn.ZodBoolean,coerce:(null==e?void 0:e.coerce)||!1,...$t(e)});class Kt extends At{_parse(e){this._def.coerce&&(e.data=new Date(e.data));if(this._getType(e)!==it.date){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.date,received:t.parsedType}),mt}if(isNaN(e.data.getTime())){return ht(this._getOrReturnCtx(e),{code:ot.invalid_date}),mt}const t=new pt;let n;for(const a of this._def.checks)"min"===a.kind?e.data.getTime()a.value&&(n=this._getOrReturnCtx(e,n),ht(n,{code:ot.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),t.dirty()):Ke.assertNever(a);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(e){return new Kt({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:Ct.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:Ct.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return null!=e?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.valuenew Kt({checks:[],coerce:(null==e?void 0:e.coerce)||!1,typeName:Pn.ZodDate,...$t(e)});class Xt extends At{_parse(e){if(this._getType(e)!==it.symbol){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.symbol,received:t.parsedType}),mt}return ft(e.data)}}Xt.create=e=>new Xt({typeName:Pn.ZodSymbol,...$t(e)});class Jt extends At{_parse(e){if(this._getType(e)!==it.undefined){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.undefined,received:t.parsedType}),mt}return ft(e.data)}}Jt.create=e=>new Jt({typeName:Pn.ZodUndefined,...$t(e)});class en extends At{_parse(e){if(this._getType(e)!==it.null){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.null,received:t.parsedType}),mt}return ft(e.data)}}en.create=e=>new en({typeName:Pn.ZodNull,...$t(e)});class tn extends At{constructor(){super(...arguments),this._any=!0}_parse(e){return ft(e.data)}}tn.create=e=>new tn({typeName:Pn.ZodAny,...$t(e)});class nn extends At{constructor(){super(...arguments),this._unknown=!0}_parse(e){return ft(e.data)}}nn.create=e=>new nn({typeName:Pn.ZodUnknown,...$t(e)});class an extends At{_parse(e){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.never,received:t.parsedType}),mt}}an.create=e=>new an({typeName:Pn.ZodNever,...$t(e)});class rn extends At{_parse(e){if(this._getType(e)!==it.undefined){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.void,received:t.parsedType}),mt}return ft(e.data)}}rn.create=e=>new rn({typeName:Pn.ZodVoid,...$t(e)});class on extends At{_parse(e){const{ctx:t,status:n}=this._processInputParams(e),a=this._def;if(t.parsedType!==it.array)return ht(t,{code:ot.invalid_type,expected:it.array,received:t.parsedType}),mt;if(null!==a.exactLength){const e=t.data.length>a.exactLength.value,i=t.data.lengtha.maxLength.value&&(ht(t,{code:ot.too_big,maximum:a.maxLength.value,type:"array",inclusive:!0,exact:!1,message:a.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map(((e,n)=>a.type._parseAsync(new St(t,e,t.path,n))))).then((e=>pt.mergeArray(n,e)));const i=[...t.data].map(((e,n)=>a.type._parseSync(new St(t,e,t.path,n))));return pt.mergeArray(n,i)}get element(){return this._def.type}min(e,t){return new on({...this._def,minLength:{value:e,message:Ct.toString(t)}})}max(e,t){return new on({...this._def,maxLength:{value:e,message:Ct.toString(t)}})}length(e,t){return new on({...this._def,exactLength:{value:e,message:Ct.toString(t)}})}nonempty(e){return this.min(1,e)}}function sn(e){if(e instanceof cn){const t={};for(const n in e.shape){const a=e.shape[n];t[n]=Sn.create(sn(a))}return new cn({...e._def,shape:()=>t})}return e instanceof on?new on({...e._def,type:sn(e.element)}):e instanceof Sn?Sn.create(sn(e.unwrap())):e instanceof En?En.create(sn(e.unwrap())):e instanceof mn?mn.create(e.items.map((e=>sn(e)))):e}on.create=(e,t)=>new on({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Pn.ZodArray,...$t(t)});class cn extends At{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;const e=this._def.shape(),t=Ke.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==it.object){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.object,received:t.parsedType}),mt}const{status:t,ctx:n}=this._processInputParams(e),{shape:a,keys:i}=this._getCached(),r=[];if(!(this._def.catchall instanceof an&&"strip"===this._def.unknownKeys))for(const e in n.data)i.includes(e)||r.push(e);const o=[];for(const e of i){const t=a[e],i=n.data[e];o.push({key:{status:"valid",value:e},value:t._parse(new St(n,i,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof an){const e=this._def.unknownKeys;if("passthrough"===e)for(const e of r)o.push({key:{status:"valid",value:e},value:{status:"valid",value:n.data[e]}});else if("strict"===e)r.length>0&&(ht(n,{code:ot.unrecognized_keys,keys:r}),t.dirty());else if("strip"!==e)throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const e=this._def.catchall;for(const t of r){const a=n.data[t];o.push({key:{status:"valid",value:t},value:e._parse(new St(n,a,n.path,t)),alwaysSet:t in n.data})}}return n.common.async?Promise.resolve().then((async()=>{const e=[];for(const t of o){const n=await t.key,a=await t.value;e.push({key:n,value:a,alwaysSet:t.alwaysSet})}return e})).then((e=>pt.mergeObjectSync(t,e))):pt.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(e){return Ct.errToObj,new cn({...this._def,unknownKeys:"strict",...void 0!==e?{errorMap:(t,n)=>{var a,i,r,o;const s=null!==(r=null===(i=(a=this._def).errorMap)||void 0===i?void 0:i.call(a,t,n).message)&&void 0!==r?r:n.defaultError;return"unrecognized_keys"===t.code?{message:null!==(o=Ct.errToObj(e).message)&&void 0!==o?o:s}:{message:s}}}:{}})}strip(){return new cn({...this._def,unknownKeys:"strip"})}passthrough(){return new cn({...this._def,unknownKeys:"passthrough"})}extend(e){return new cn({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new cn({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:Pn.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new cn({...this._def,catchall:e})}pick(e){const t={};return Ke.objectKeys(e).forEach((n=>{e[n]&&this.shape[n]&&(t[n]=this.shape[n])})),new cn({...this._def,shape:()=>t})}omit(e){const t={};return Ke.objectKeys(this.shape).forEach((n=>{e[n]||(t[n]=this.shape[n])})),new cn({...this._def,shape:()=>t})}deepPartial(){return sn(this)}partial(e){const t={};return Ke.objectKeys(this.shape).forEach((n=>{const a=this.shape[n];e&&!e[n]?t[n]=a:t[n]=a.optional()})),new cn({...this._def,shape:()=>t})}required(e){const t={};return Ke.objectKeys(this.shape).forEach((n=>{if(e&&!e[n])t[n]=this.shape[n];else{let e=this.shape[n];for(;e instanceof Sn;)e=e._def.innerType;t[n]=e}})),new cn({...this._def,shape:()=>t})}keyof(){return wn(Ke.objectKeys(this.shape))}}cn.create=(e,t)=>new cn({shape:()=>e,unknownKeys:"strip",catchall:an.create(),typeName:Pn.ZodObject,...$t(t)}),cn.strictCreate=(e,t)=>new cn({shape:()=>e,unknownKeys:"strict",catchall:an.create(),typeName:Pn.ZodObject,...$t(t)}),cn.lazycreate=(e,t)=>new cn({shape:e,unknownKeys:"strip",catchall:an.create(),typeName:Pn.ZodObject,...$t(t)});class ln extends At{_parse(e){const{ctx:t}=this._processInputParams(e),n=this._def.options;if(t.common.async)return Promise.all(n.map((async e=>{const n={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}}))).then((function(e){for(const t of e)if("valid"===t.result.status)return t.result;for(const n of e)if("dirty"===n.result.status)return t.common.issues.push(...n.ctx.common.issues),n.result;const n=e.map((e=>new st(e.ctx.common.issues)));return ht(t,{code:ot.invalid_union,unionErrors:n}),mt}));{let e;const a=[];for(const i of n){const n={...t,common:{...t.common,issues:[]},parent:null},r=i._parseSync({data:t.data,path:t.path,parent:n});if("valid"===r.status)return r;"dirty"!==r.status||e||(e={result:r,ctx:n}),n.common.issues.length&&a.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;const i=a.map((e=>new st(e)));return ht(t,{code:ot.invalid_union,unionErrors:i}),mt}}get options(){return this._def.options}}ln.create=(e,t)=>new ln({options:e,typeName:Pn.ZodUnion,...$t(t)});const dn=e=>e instanceof yn?dn(e.schema):e instanceof kn?dn(e.innerType()):e instanceof bn?[e.value]:e instanceof xn?e.options:e instanceof Cn?Ke.objectValues(e.enum):e instanceof $n?dn(e._def.innerType):e instanceof Jt?[void 0]:e instanceof en?[null]:e instanceof Sn?[void 0,...dn(e.unwrap())]:e instanceof En?[null,...dn(e.unwrap())]:e instanceof Tn||e instanceof On?dn(e.unwrap()):e instanceof An?dn(e._def.innerType):[];class un extends At{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==it.object)return ht(t,{code:ot.invalid_type,expected:it.object,received:t.parsedType}),mt;const n=this.discriminator,a=t.data[n],i=this.optionsMap.get(a);return i?t.common.async?i._parseAsync({data:t.data,path:t.path,parent:t}):i._parseSync({data:t.data,path:t.path,parent:t}):(ht(t,{code:ot.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),mt)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,n){const a=new Map;for(const n of t){const t=dn(n.shape[e]);if(!t.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const i of t){if(a.has(i))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(i)}`);a.set(i,n)}}return new un({typeName:Pn.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:a,...$t(n)})}}function hn(e,t){const n=rt(e),a=rt(t);if(e===t)return{valid:!0,data:e};if(n===it.object&&a===it.object){const n=Ke.objectKeys(t),a=Ke.objectKeys(e).filter((e=>-1!==n.indexOf(e))),i={...e,...t};for(const n of a){const a=hn(e[n],t[n]);if(!a.valid)return{valid:!1};i[n]=a.data}return{valid:!0,data:i}}if(n===it.array&&a===it.array){if(e.length!==t.length)return{valid:!1};const n=[];for(let a=0;a{if(_t(e)||_t(a))return mt;const i=hn(e.value,a.value);return i.valid?((vt(e)||vt(a))&&t.dirty(),{status:t.value,value:i.data}):(ht(n,{code:ot.invalid_intersection_types}),mt)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then((([e,t])=>a(e,t))):a(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}}pn.create=(e,t,n)=>new pn({left:e,right:t,typeName:Pn.ZodIntersection,...$t(n)});class mn extends At{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==it.array)return ht(n,{code:ot.invalid_type,expected:it.array,received:n.parsedType}),mt;if(n.data.lengththis._def.items.length&&(ht(n,{code:ot.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const a=[...n.data].map(((e,t)=>{const a=this._def.items[t]||this._def.rest;return a?a._parse(new St(n,e,n.path,t)):null})).filter((e=>!!e));return n.common.async?Promise.all(a).then((e=>pt.mergeArray(t,e))):pt.mergeArray(t,a)}get items(){return this._def.items}rest(e){return new mn({...this._def,rest:e})}}mn.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new mn({items:e,typeName:Pn.ZodTuple,rest:null,...$t(t)})};class gn extends At{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==it.object)return ht(n,{code:ot.invalid_type,expected:it.object,received:n.parsedType}),mt;const a=[],i=this._def.keyType,r=this._def.valueType;for(const e in n.data)a.push({key:i._parse(new St(n,e,n.path,e)),value:r._parse(new St(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?pt.mergeObjectAsync(t,a):pt.mergeObjectSync(t,a)}get element(){return this._def.valueType}static create(e,t,n){return new gn(t instanceof At?{keyType:e,valueType:t,typeName:Pn.ZodRecord,...$t(n)}:{keyType:Wt.create(),valueType:e,typeName:Pn.ZodRecord,...$t(t)})}}class fn extends At{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==it.map)return ht(n,{code:ot.invalid_type,expected:it.map,received:n.parsedType}),mt;const a=this._def.keyType,i=this._def.valueType,r=[...n.data.entries()].map((([e,t],r)=>({key:a._parse(new St(n,e,n.path,[r,"key"])),value:i._parse(new St(n,t,n.path,[r,"value"]))})));if(n.common.async){const e=new Map;return Promise.resolve().then((async()=>{for(const n of r){const a=await n.key,i=await n.value;if("aborted"===a.status||"aborted"===i.status)return mt;"dirty"!==a.status&&"dirty"!==i.status||t.dirty(),e.set(a.value,i.value)}return{status:t.value,value:e}}))}{const e=new Map;for(const n of r){const a=n.key,i=n.value;if("aborted"===a.status||"aborted"===i.status)return mt;"dirty"!==a.status&&"dirty"!==i.status||t.dirty(),e.set(a.value,i.value)}return{status:t.value,value:e}}}}fn.create=(e,t,n)=>new fn({valueType:t,keyType:e,typeName:Pn.ZodMap,...$t(n)});class _n extends At{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==it.set)return ht(n,{code:ot.invalid_type,expected:it.set,received:n.parsedType}),mt;const a=this._def;null!==a.minSize&&n.data.sizea.maxSize.value&&(ht(n,{code:ot.too_big,maximum:a.maxSize.value,type:"set",inclusive:!0,exact:!1,message:a.maxSize.message}),t.dirty());const i=this._def.valueType;function r(e){const n=new Set;for(const a of e){if("aborted"===a.status)return mt;"dirty"===a.status&&t.dirty(),n.add(a.value)}return{status:t.value,value:n}}const o=[...n.data.values()].map(((e,t)=>i._parse(new St(n,e,n.path,t))));return n.common.async?Promise.all(o).then((e=>r(e))):r(o)}min(e,t){return new _n({...this._def,minSize:{value:e,message:Ct.toString(t)}})}max(e,t){return new _n({...this._def,maxSize:{value:e,message:Ct.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}_n.create=(e,t)=>new _n({valueType:e,minSize:null,maxSize:null,typeName:Pn.ZodSet,...$t(t)});class vn extends At{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==it.function)return ht(t,{code:ot.invalid_type,expected:it.function,received:t.parsedType}),mt;function n(e,n){return ut({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,dt(),ct].filter((e=>!!e)),issueData:{code:ot.invalid_arguments,argumentsError:n}})}function a(e,n){return ut({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,dt(),ct].filter((e=>!!e)),issueData:{code:ot.invalid_return_type,returnTypeError:n}})}const i={errorMap:t.common.contextualErrorMap},r=t.data;if(this._def.returns instanceof Mn){const e=this;return ft((async function(...t){const o=new st([]),s=await e._def.args.parseAsync(t,i).catch((e=>{throw o.addIssue(n(t,e)),o})),c=await Reflect.apply(r,this,s),l=await e._def.returns._def.type.parseAsync(c,i).catch((e=>{throw o.addIssue(a(c,e)),o}));return l}))}{const e=this;return ft((function(...t){const o=e._def.args.safeParse(t,i);if(!o.success)throw new st([n(t,o.error)]);const s=Reflect.apply(r,this,o.data),c=e._def.returns.safeParse(s,i);if(!c.success)throw new st([a(s,c.error)]);return c.data}))}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new vn({...this._def,args:mn.create(e).rest(nn.create())})}returns(e){return new vn({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,n){return new vn({args:e||mn.create([]).rest(nn.create()),returns:t||nn.create(),typeName:Pn.ZodFunction,...$t(n)})}}class yn extends At{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}yn.create=(e,t)=>new yn({getter:e,typeName:Pn.ZodLazy,...$t(t)});class bn extends At{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return ht(t,{received:t.data,code:ot.invalid_literal,expected:this._def.value}),mt}return{status:"valid",value:e.data}}get value(){return this._def.value}}function wn(e,t){return new xn({values:e,typeName:Pn.ZodEnum,...$t(t)})}bn.create=(e,t)=>new bn({value:e,typeName:Pn.ZodLiteral,...$t(t)});class xn extends At{constructor(){super(...arguments),Mt.set(this,void 0)}_parse(e){if("string"!=typeof e.data){const t=this._getOrReturnCtx(e),n=this._def.values;return ht(t,{expected:Ke.joinValues(n),received:t.parsedType,code:ot.invalid_type}),mt}if(wt(this,Mt,"f")||xt(this,Mt,new Set(this._def.values),"f"),!wt(this,Mt,"f").has(e.data)){const t=this._getOrReturnCtx(e),n=this._def.values;return ht(t,{received:t.data,code:ot.invalid_enum_value,options:n}),mt}return ft(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return xn.create(e,{...this._def,...t})}exclude(e,t=this._def){return xn.create(this.options.filter((t=>!e.includes(t))),{...this._def,...t})}}Mt=new WeakMap,xn.create=wn;class Cn extends At{constructor(){super(...arguments),kt.set(this,void 0)}_parse(e){const t=Ke.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==it.string&&n.parsedType!==it.number){const e=Ke.objectValues(t);return ht(n,{expected:Ke.joinValues(e),received:n.parsedType,code:ot.invalid_type}),mt}if(wt(this,kt,"f")||xt(this,kt,new Set(Ke.getValidEnumValues(this._def.values)),"f"),!wt(this,kt,"f").has(e.data)){const e=Ke.objectValues(t);return ht(n,{received:n.data,code:ot.invalid_enum_value,options:e}),mt}return ft(e.data)}get enum(){return this._def.values}}kt=new WeakMap,Cn.create=(e,t)=>new Cn({values:e,typeName:Pn.ZodNativeEnum,...$t(t)});class Mn extends At{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==it.promise&&!1===t.common.async)return ht(t,{code:ot.invalid_type,expected:it.promise,received:t.parsedType}),mt;const n=t.parsedType===it.promise?t.data:Promise.resolve(t.data);return ft(n.then((e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap}))))}}Mn.create=(e,t)=>new Mn({type:e,typeName:Pn.ZodPromise,...$t(t)});class kn extends At{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Pn.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:n}=this._processInputParams(e),a=this._def.effect||null,i={addIssue:e=>{ht(n,e),e.fatal?t.abort():t.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),"preprocess"===a.type){const e=a.transform(n.data,i);if(n.common.async)return Promise.resolve(e).then((async e=>{if("aborted"===t.value)return mt;const a=await this._def.schema._parseAsync({data:e,path:n.path,parent:n});return"aborted"===a.status?mt:"dirty"===a.status||"dirty"===t.value?gt(a.value):a}));{if("aborted"===t.value)return mt;const a=this._def.schema._parseSync({data:e,path:n.path,parent:n});return"aborted"===a.status?mt:"dirty"===a.status||"dirty"===t.value?gt(a.value):a}}if("refinement"===a.type){const e=e=>{const t=a.refinement(e,i);if(n.common.async)return Promise.resolve(t);if(t instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1===n.common.async){const a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return"aborted"===a.status?mt:("dirty"===a.status&&t.dirty(),e(a.value),{status:t.value,value:a.value})}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then((n=>"aborted"===n.status?mt:("dirty"===n.status&&t.dirty(),e(n.value).then((()=>({status:t.value,value:n.value}))))))}if("transform"===a.type){if(!1===n.common.async){const e=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!yt(e))return e;const r=a.transform(e.value,i);if(r instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:r}}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then((e=>yt(e)?Promise.resolve(a.transform(e.value,i)).then((e=>({status:t.value,value:e}))):e))}Ke.assertNever(a)}}kn.create=(e,t,n)=>new kn({schema:e,typeName:Pn.ZodEffects,effect:t,...$t(n)}),kn.createWithPreprocess=(e,t,n)=>new kn({schema:t,effect:{type:"preprocess",transform:e},typeName:Pn.ZodEffects,...$t(n)});class Sn extends At{_parse(e){return this._getType(e)===it.undefined?ft(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Sn.create=(e,t)=>new Sn({innerType:e,typeName:Pn.ZodOptional,...$t(t)});class En extends At{_parse(e){return this._getType(e)===it.null?ft(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}En.create=(e,t)=>new En({innerType:e,typeName:Pn.ZodNullable,...$t(t)});class $n extends At{_parse(e){const{ctx:t}=this._processInputParams(e);let n=t.data;return t.parsedType===it.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}$n.create=(e,t)=>new $n({innerType:e,typeName:Pn.ZodDefault,defaultValue:"function"==typeof t.default?t.default:()=>t.default,...$t(t)});class An extends At{_parse(e){const{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},a=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return bt(a)?a.then((e=>({status:"valid",value:"valid"===e.status?e.value:this._def.catchValue({get error(){return new st(n.common.issues)},input:n.data})}))):{status:"valid",value:"valid"===a.status?a.value:this._def.catchValue({get error(){return new st(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}An.create=(e,t)=>new An({innerType:e,typeName:Pn.ZodCatch,catchValue:"function"==typeof t.catch?t.catch:()=>t.catch,...$t(t)});class zn extends At{_parse(e){if(this._getType(e)!==it.nan){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.nan,received:t.parsedType}),mt}return{status:"valid",value:e.data}}}zn.create=e=>new zn({typeName:Pn.ZodNaN,...$t(e)});const In=Symbol("zod_brand");class Tn extends At{_parse(e){const{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}}class jn extends At{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.common.async){return(async()=>{const e=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return"aborted"===e.status?mt:"dirty"===e.status?(t.dirty(),gt(e.value)):this._def.out._parseAsync({data:e.value,path:n.path,parent:n})})()}{const e=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return"aborted"===e.status?mt:"dirty"===e.status?(t.dirty(),{status:"dirty",value:e.value}):this._def.out._parseSync({data:e.value,path:n.path,parent:n})}}static create(e,t){return new jn({in:e,out:t,typeName:Pn.ZodPipeline})}}class On extends At{_parse(e){const t=this._def.innerType._parse(e),n=e=>(yt(e)&&(e.value=Object.freeze(e.value)),e);return bt(t)?t.then((e=>n(e))):n(t)}unwrap(){return this._def.innerType}}function Dn(e,t={},n){return e?tn.create().superRefine(((a,i)=>{var r,o;if(!e(a)){const e="function"==typeof t?t(a):"string"==typeof t?{message:t}:t,s=null===(o=null!==(r=e.fatal)&&void 0!==r?r:n)||void 0===o||o,c="string"==typeof e?{message:e}:e;i.addIssue({code:"custom",...c,fatal:s})}})):tn.create()}On.create=(e,t)=>new On({innerType:e,typeName:Pn.ZodReadonly,...$t(t)});const Rn={object:cn.lazycreate};var Pn;!function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"}(Pn||(Pn={}));const Ln=Wt.create,Nn=Qt.create,Fn=zn.create,Vn=Gt.create,Hn=Yt.create,Bn=Kt.create,qn=Xt.create,Un=Jt.create,Wn=en.create,Zn=tn.create,Qn=nn.create,Gn=an.create,Yn=rn.create,Kn=on.create,Xn=cn.create,Jn=cn.strictCreate,ea=ln.create,ta=un.create,na=pn.create,aa=mn.create,ia=gn.create,ra=fn.create,oa=_n.create,sa=vn.create,ca=yn.create,la=bn.create,da=xn.create,ua=Cn.create,ha=Mn.create,pa=kn.create,ma=Sn.create,ga=En.create,fa=kn.createWithPreprocess,_a=jn.create,va={string:e=>Wt.create({...e,coerce:!0}),number:e=>Qt.create({...e,coerce:!0}),boolean:e=>Yt.create({...e,coerce:!0}),bigint:e=>Gt.create({...e,coerce:!0}),date:e=>Kt.create({...e,coerce:!0})},ya=mt;var ba=Object.freeze({__proto__:null,defaultErrorMap:ct,setErrorMap:function(e){lt=e},getErrorMap:dt,makeIssue:ut,EMPTY_PATH:[],addIssueToContext:ht,ParseStatus:pt,INVALID:mt,DIRTY:gt,OK:ft,isAborted:_t,isDirty:vt,isValid:yt,isAsync:bt,get util(){return Ke},get objectUtil(){return Xe},ZodParsedType:it,getParsedType:rt,ZodType:At,datetimeRegex:qt,ZodString:Wt,ZodNumber:Qt,ZodBigInt:Gt,ZodBoolean:Yt,ZodDate:Kt,ZodSymbol:Xt,ZodUndefined:Jt,ZodNull:en,ZodAny:tn,ZodUnknown:nn,ZodNever:an,ZodVoid:rn,ZodArray:on,ZodObject:cn,ZodUnion:ln,ZodDiscriminatedUnion:un,ZodIntersection:pn,ZodTuple:mn,ZodRecord:gn,ZodMap:fn,ZodSet:_n,ZodFunction:vn,ZodLazy:yn,ZodLiteral:bn,ZodEnum:xn,ZodNativeEnum:Cn,ZodPromise:Mn,ZodEffects:kn,ZodTransformer:kn,ZodOptional:Sn,ZodNullable:En,ZodDefault:$n,ZodCatch:An,ZodNaN:zn,BRAND:In,ZodBranded:Tn,ZodPipeline:jn,ZodReadonly:On,custom:Dn,Schema:At,ZodSchema:At,late:Rn,get ZodFirstPartyTypeKind(){return Pn},coerce:va,any:Zn,array:Kn,bigint:Vn,boolean:Hn,date:Bn,discriminatedUnion:ta,effect:pa,enum:da,function:sa,instanceof:(e,t={message:`Input not instance of ${e.name}`})=>Dn((t=>t instanceof e),t),intersection:na,lazy:ca,literal:la,map:ra,nan:Fn,nativeEnum:ua,never:Gn,null:Wn,nullable:ga,number:Nn,object:Xn,oboolean:()=>Hn().optional(),onumber:()=>Nn().optional(),optional:ma,ostring:()=>Ln().optional(),pipeline:_a,preprocess:fa,promise:ha,record:ia,set:oa,strictObject:Jn,string:Ln,symbol:qn,transformer:pa,tuple:aa,undefined:Un,union:ea,unknown:Qn,void:Yn,NEVER:ya,ZodIssueCode:ot,quotelessJson:e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),ZodError:st});const wa="https://github.com/dermotduffy/frigate-hass-card",xa=`${wa}#troubleshooting`,Ca="cameras",Ma=`${Ca}.#.camera_entity`,ka=`${Ca}.#.frigate.camera_name`,Sa=`${Ca}.#.capabilities.disable`,Ea=`${Ca}.#.capabilities.disable_except`,$a=`${Ca}.#.cast.method`,Aa=`${Ca}.#.cast.dashboard.dashboard_path`,za=`${Ca}.#.cast.dashboard.view_path`,Ia=`${Ca}.#.dimensions.aspect_ratio`,Ta=`${Ca}.#.frigate.client_id`,ja=`${Ca}.#.frigate.labels`,Oa=`${Ca}.#.frigate.url`,Da=`${Ca}.#.frigate.zones`,Ra=`${Ca}.#.go2rtc.modes`,Pa=`${Ca}.#.go2rtc.stream`,La=`${Ca}.#.icon`,Na=`${Ca}.#.id`,Fa=`${Ca}.#.image.entity`,Va=`${Ca}.#.image.entity_parameters`,Ha=`${Ca}.#.image.mode`,Ba=`${Ca}.#.image.refresh_seconds`,qa=`${Ca}.#.image.url`,Ua=`${Ca}.#.motioneye.images.directory_pattern`,Wa=`${Ca}.#.motioneye.images.file_pattern`,Za=`${Ca}.#.motioneye.movies.directory_pattern`,Qa=`${Ca}.#.motioneye.movies.file_pattern`,Ga=`${Ca}.#.motioneye.url`,Ya=`${Ca}.#.title`,Ka=`${Ca}.#.webrtc_card.entity`,Xa=`${Ca}.#.webrtc_card.url`,Ja=`${Ca}.#.live_provider`,ei=`${Ca}.#.dependencies.cameras`,ti=`${Ca}.#.dependencies.all_cameras`,ni=`${Ca}.#.dimensions.layout.fit`,ai=`${Ca}.#.dimensions.layout.pan.x`,ii=`${Ca}.#.dimensions.layout.pan.y`,ri=`${Ca}.#.dimensions.layout.position.x`,oi=`${Ca}.#.dimensions.layout.position.y`,si=`${Ca}.#.dimensions.layout.view_box.top`,ci=`${Ca}.#.dimensions.layout.view_box.bottom`,li=`${Ca}.#.dimensions.layout.view_box.left`,di=`${Ca}.#.dimensions.layout.view_box.right`,ui=`${Ca}.#.dimensions.layout.zoom`,hi=`${Ca}.#.proxy.dynamic`,pi=`${Ca}.#.proxy.media`,mi=`${Ca}.#.proxy.ssl_ciphers`,gi=`${Ca}.#.proxy.ssl_verification`,fi=`${Ca}.#.reolink.media_resolution`,_i=`${Ca}.#.reolink.url`,vi=`${Ca}.#.triggers.motion`,yi=`${Ca}.#.triggers.occupancy`,bi=`${Ca}.#.triggers.entities`,wi=`${Ca}.#.triggers.events`,xi="cameras_global",Ci=`${xi}.image`,Mi=`${xi}.live_provider`,ki=`${xi}.jsmpeg`,Si=`${xi}.webrtc_card`,Ei=`${xi}.triggers.occupancy`,$i=`${xi}.image.refresh_seconds`,Ai=`${xi}.dimensions.layout`,zi=`${xi}.ptz`,Ii="elements",Ti="view",ji=`${Ti}.camera_select`,Oi=`${Ti}.dark_mode`,Di=`${Ti}.default`,Ri=`${Ti}.interaction_seconds`,Pi=`${Ti}.keyboard_shortcuts`,Li=`${Ti}.keyboard_shortcuts.enabled`,Ni=`${Pi}.ptz_left`,Fi=`${Pi}.ptz_right`,Vi=`${Pi}.ptz_up`,Hi=`${Pi}.ptz_down`,Bi=`${Pi}.ptz_zoom_in`,qi=`${Pi}.ptz_zoom_out`,Ui=`${Pi}.ptz_home`,Wi=`${Ti}.default_cycle_camera`,Zi=`${Ti}.default_reset`,Qi=`${Zi}.interaction_mode`,Gi=`${Zi}.every_seconds`,Yi=`${Zi}.entities`,Ki=`${Zi}.after_interaction`,Xi=`${Ti}.triggers`,Ji=`${Xi}.show_trigger_status`,er=`${Xi}.filter_selected_camera`,tr=`${Xi}.untrigger_seconds`,nr=`${Xi}.actions`,ar=`${nr}.trigger`,ir=`${nr}.untrigger`,rr=`${nr}.interaction_mode`,or="media_gallery",sr=`${or}.controls.filter.mode`,cr=`${or}.controls.thumbnails.show_details`,lr=`${or}.controls.thumbnails.show_download_control`,dr=`${or}.controls.thumbnails.show_favorite_control`,ur=`${or}.controls.thumbnails.show_timeline_control`,hr=`${or}.controls.thumbnails.size`,pr="media_viewer",mr=`${pr}.auto_play`,gr=`${pr}.auto_pause`,fr=`${pr}.auto_mute`,_r=`${pr}.auto_unmute`,vr=`${pr}.display.mode`,yr=`${pr}.display.grid_columns`,br=`${pr}.display.grid_max_columns`,wr=`${pr}.display.grid_selected_width_factor`,xr=`${pr}.draggable`,Cr=`${pr}.lazy_load`,Mr=`${pr}.snapshot_click_plays_clip`,kr=`${pr}.transition_effect`,Sr=`${pr}.controls.builtin`,Er=`${pr}.controls.next_previous.style`,$r=`${pr}.controls.next_previous.size`,Ar=`${pr}.controls.thumbnails.mode`,zr=`${pr}.controls.thumbnails.show_details`,Ir=`${pr}.controls.thumbnails.show_download_control`,Tr=`${pr}.controls.thumbnails.show_favorite_control`,jr=`${pr}.controls.thumbnails.show_timeline_control`,Or=`${pr}.controls.thumbnails.size`,Dr=`${pr}.controls.timeline.clustering_threshold`,Rr=`${pr}.controls.timeline.events_media_type`,Pr=`${pr}.controls.timeline.mode`,Lr=`${pr}.controls.timeline.pan_mode`,Nr=`${pr}.controls.timeline.show_recordings`,Fr=`${pr}.controls.timeline.style`,Vr=`${pr}.controls.timeline.window_seconds`,Hr=`${pr}.zoomable`,Br="live",qr=`${Br}.auto_play`,Ur=`${Br}.auto_pause`,Wr=`${Br}.auto_mute`,Zr=`${Br}.auto_unmute`,Qr=`${Br}.controls.builtin`,Gr=`${Br}.controls.next_previous.style`,Yr=`${Br}.controls.next_previous.size`,Kr=`${Br}.controls.ptz.hide_home`,Xr=`${Br}.controls.ptz.hide_pan_tilt`,Jr=`${Br}.controls.ptz.hide_zoom`,eo=`${Br}.controls.ptz.mode`,to=`${Br}.controls.ptz.orientation`,no=`${Br}.controls.ptz.position`,ao=`${Br}.controls.thumbnails.media_type`,io=`${Br}.controls.thumbnails.events_media_type`,ro=`${Br}.controls.thumbnails.mode`,oo=`${Br}.controls.thumbnails.size`,so=`${Br}.controls.thumbnails.show_details`,co=`${Br}.controls.thumbnails.show_download_control`,lo=`${Br}.controls.thumbnails.show_favorite_control`,uo=`${Br}.controls.thumbnails.show_timeline_control`,ho=`${Br}.controls.timeline.clustering_threshold`,po=`${Br}.controls.timeline.events_media_type`,mo=`${Br}.controls.timeline.mode`,go=`${Br}.controls.timeline.pan_mode`,fo=`${Br}.controls.timeline.show_recordings`,_o=`${Br}.controls.timeline.style`,vo=`${Br}.controls.timeline.window_seconds`,yo=`${Br}.display.mode`,bo=`${Br}.display.grid_columns`,wo=`${Br}.display.grid_max_columns`,xo=`${Br}.display.grid_selected_width_factor`,Co=`${Br}.draggable`,Mo=`${Br}.lazy_load`,ko=`${Br}.lazy_unload`,So=`${Br}.preload`,Eo=`${Br}.transition_effect`,$o=`${Br}.show_image_during_load`,Ao=`${Br}.microphone.disconnect_seconds`,zo=`${Br}.microphone.mute_after_microphone_mute_seconds`,Io=`${Br}.microphone.always_connected`,To=`${Br}.zoomable`,jo="image",Oo=`${jo}.entity`,Do=`${jo}.entity_parameters`,Ro=`${jo}.mode`,Po=`${jo}.refresh_seconds`,Lo=`${jo}.url`,No="timeline",Fo=`${No}.window_seconds`,Vo=`${No}.clustering_threshold`,Ho=`${No}.events_media_type`,Bo=`${No}.show_recordings`,qo=`${No}.style`,Uo=`${No}.controls.thumbnails.mode`,Wo=`${No}.controls.thumbnails.size`,Zo=`${No}.controls.thumbnails.show_details`,Qo=`${No}.controls.thumbnails.show_download_control`,Go=`${No}.controls.thumbnails.show_favorite_control`,Yo=`${No}.controls.thumbnails.show_timeline_control`,Ko="menu",Xo=`${Ko}.alignment`,Jo=`${Ko}.position`,es=`${Ko}.style`,ts=`${Ko}.button_size`,ns=`${Ko}.buttons`,as=`${ns}.frigate`,is=`${ns}.camera_ui`,rs=`${ns}.fullscreen`,os=`${ns}.play`,ss=`${ns}.mute`,cs=`${ns}.media_player`,ls=`${ns}.timeline`,ds="status_bar",us=`${ds}.position`,hs=`${ds}.style`,ps=`${ds}.popup_seconds`,ms=`${ds}.height`,gs=`${ds}.items`,fs="dimensions",_s=`${fs}.aspect_ratio`,vs=`${fs}.aspect_ratio_mode`,ys=`${fs}.height`,bs="overrides",ws="performance",xs=`${ws}.features.animated_progress_indicator`,Cs=`${ws}.features.media_chunk_size`,Ms=`${ws}.features.max_simultaneous_engine_requests`,ks=`${ws}.profile`,Ss=`${ws}.style.box_shadow`,Es=`${ws}.style.border_radius`,$s="profiles",As=1e3;class zs extends Error{constructor(e,t){super(e),this.context=t}}const Is={info:10,error:20,connection:30,diagnostics:40},Ts=["clips","favorite-events","favorite-recordings","live","menu","ptz","recordings","seek","snapshots","substream"],js=ba.object({url:ba.string(),mime_type:ba.string()}),Os=ba.object({path:ba.string()});function Ds(e){if(e instanceof ba.ZodDefault)return Ds(e.removeDefault());if(e instanceof ba.ZodObject){const t={};for(const n in e.shape){const a=e.shape[n];t[n]=ba.ZodOptional.create(Ds(a))}return new ba.ZodObject({...e._def,shape:()=>t})}return e instanceof ba.ZodArray?ba.ZodArray.create(Ds(e.element)).min(e._def.minLength?.value,e._def.minLength?.message).max(e._def.maxLength?.value,e._def.maxLength?.message).length(e._def.exactLength?.value,e._def.exactLength?.message):e instanceof ba.ZodOptional?ba.ZodOptional.create(Ds(e.unwrap())):e instanceof ba.ZodNullable?ba.ZodNullable.create(Ds(e.unwrap())):e instanceof ba.ZodTuple?ba.ZodTuple.create(e.items.map((e=>Ds(e)))):e}function Rs(e){const t=e.format();return Object.keys(t).filter((e=>!e.startsWith("_")))}const Ps=e=>{const t=new Set;if(e.issues.length)for(const n of e.issues)if("invalid_union"===n.code){const e=n.unionErrors;for(const n of e)Ps(n).forEach(t.add,t)}else t.add(Ls(n.path));return t},Ls=e=>{let t="";for(let n=0;n"fire-dom-event")).or(ba.literal("fire-dom-event")),card_id:ba.string().regex(tc,"card_id parameter can only contain [a-z][A-Z][0-9_]-").optional()}),_c=fc.extend({frigate_card_action:ba.enum(Zs)}),vc=fc.extend({frigate_card_action:ba.enum(["camera_ui","default","download","expand","fullscreen","live_substream_off","live_substream_on","menu_toggle","microphone_connect","microphone_disconnect","microphone_mute","microphone_unmute","mute","pause","play","screenshot","unmute"])}),yc=fc.extend({frigate_card_action:ba.literal("camera_select"),camera:ba.string().optional(),triggered:ba.boolean().optional()}),bc=fc.extend({frigate_card_action:ba.literal("live_substream_select"),camera:ba.string()}),wc=fc.extend({frigate_card_action:ba.literal("media_player"),media_player:ba.string(),media_player_action:ba.enum(["play","stop"])}),xc=fc.extend({frigate_card_action:ba.literal("display_mode_select"),display_mode:ic}),Cc=fc.extend({frigate_card_action:ba.literal("ptz"),camera:ba.string().optional(),ptz_action:ba.enum(Hs).optional(),ptz_phase:ba.enum(Js).optional(),ptz_preset:ba.string().optional()}),Mc=fc.extend({frigate_card_action:ba.literal("ptz_digital"),target_id:ba.string().optional(),absolute:ba.object({zoom:ac.optional(),pan:nc.optional()}).optional(),ptz_action:ba.enum(Hs).optional(),ptz_phase:ba.enum(Js).optional()}),kc=fc.extend({frigate_card_action:ba.literal("ptz_multi"),target_id:ba.string().optional(),ptz_action:ba.enum(Hs).optional(),ptz_phase:ba.enum(Js).optional(),ptz_preset:ba.string().optional()}),Sc=fc.extend({frigate_card_action:ba.literal("ptz_controls"),enabled:ba.boolean()}),Ec=ba.object({ms:ba.number().optional(),s:ba.number().optional(),m:ba.number().optional(),h:ba.number().optional()}),$c=fc.extend({frigate_card_action:ba.literal("sleep"),duration:Ec.optional().default({s:1})}),Ac=fc.extend({frigate_card_action:ba.literal("status_bar"),status_bar_action:ba.enum(["add","remove","reset"]),items:ba.lazy((()=>ol)).array().optional()}),zc=fc.extend({frigate_card_action:ba.literal("log"),message:ba.string(),level:ba.enum(["debug","info","warn","error"]).default("info")}),Ic=ba.union([yc,vc,bc,zc,wc,Cc,Mc,kc,Sc,_c,xc,$c,Ac]),Tc=ba.union([sc,dc,lc,uc,hc,pc,gc,mc,Ic]),jc=ba.object({tap_action:Tc.or(Tc.array()).optional(),hold_action:Tc.or(Tc.array()).optional(),double_tap_action:Tc.or(Tc.array()).optional(),start_tap_action:Tc.or(Tc.array()).optional(),end_tap_action:Tc.or(Tc.array()).optional()}).passthrough(),Oc=ba.object({actions:jc.optional()}),Dc=jc.extend({style:ba.record(ba.string().nullable().or(ba.undefined()).or(ba.number())).optional(),title:ba.string().nullable().optional()}),Rc=Dc.extend({type:ba.literal("state-badge"),entity:ba.string()}),Pc=Dc.extend({type:ba.literal("state-icon"),entity:ba.string(),icon:ba.string().optional(),state_color:ba.boolean().default(!0)}),Lc=Dc.extend({type:ba.literal("state-label"),entity:ba.string(),attribute:ba.string().optional(),prefix:ba.string().optional(),suffix:ba.string().optional()}),Nc=Dc.extend({type:ba.literal("service-button"),title:ba.string(),service:ba.string(),service_data:ba.object({}).passthrough().optional()}),Fc=Dc.extend({type:ba.literal("icon"),icon:ba.string(),entity:ba.string().optional()}),Vc=Dc.extend({type:ba.literal("image"),entity:ba.string().optional(),image:ba.string().optional(),camera_image:ba.string().optional(),camera_view:ba.string().optional(),state_image:ba.object({}).passthrough().optional(),filter:ba.string().optional(),state_filter:ba.object({}).passthrough().optional(),aspect_ratio:ba.string().optional()}),Hc=ba.object({condition:ba.literal("state").optional(),entity:ba.string(),state:ba.string().or(ba.string().array()).optional(),state_not:ba.string().or(ba.string().array()).optional()}),Bc=ba.object({condition:ba.literal("numeric_state"),entity:ba.string(),above:ba.number().optional(),below:ba.number().optional()}),qc=ba.object({condition:ba.literal("screen"),media_query:ba.string()}),Uc=ba.object({condition:ba.literal("user"),users:ba.string().array().min(1)}),Wc=ba.discriminatedUnion("condition",[Hc,Bc,qc,Uc]),Zc=ba.object({type:ba.literal("conditional"),conditions:Wc.array(),elements:ba.lazy((()=>yl))}),Qc=ba.object({type:ba.string().superRefine(((e,t)=>{e.match(/^custom:(?!frigate-card).+/)||t.addIssue({code:ba.ZodIssueCode.custom,message:"Frigate-card custom elements must match specific schemas",fatal:!0})}))}).passthrough(),Gc=ba.object({enabled:ba.boolean().default(!0).optional(),priority:ba.number().min(0).max(Us).default(50).optional(),alignment:ba.enum(["matching","opposing"]).default("matching").optional(),icon:ba.string().optional(),permanent:ba.boolean().default(!1).optional()}),Yc=Gc.merge(Fc).extend({type:ba.literal("custom:frigate-card-menu-icon")}),Kc=Gc.merge(Pc).extend({type:ba.literal("custom:frigate-card-menu-state-icon")}).merge(Gc),Xc=Dc.extend({entity:ba.string().optional(),icon:ba.string().optional(),state_color:ba.boolean().default(!0),selected:ba.boolean().default(!1),subtitle:ba.string().optional(),enabled:ba.boolean().default(!0)}),Jc=Gc.merge(Fc).extend({type:ba.literal("custom:frigate-card-menu-submenu"),items:Xc.array()}),el=Gc.merge(Pc).extend({type:ba.literal("custom:frigate-card-menu-submenu-select"),options:ba.record(Xc.deepPartial()).optional()}),tl=ba.object({enabled:ba.boolean().default(!0).optional(),priority:ba.number().min(0).max(100).default(50).optional()}),nl=tl.extend({sufficient:ba.boolean().default(!1).optional(),exclusive:ba.boolean().default(!1).optional(),expand:ba.boolean().default(!1).optional(),actions:jc.optional()}),al=nl.extend({type:ba.literal("custom:frigate-card-status-bar-icon"),icon:ba.string()}),il=nl.extend({type:ba.literal("custom:frigate-card-status-bar-image"),image:ba.string()}),rl=nl.extend({type:ba.literal("custom:frigate-card-status-bar-string"),string:ba.string()}),ol=ba.union([al,il,rl]),sl=ba.object({condition:ba.literal("view"),views:ba.string().array()}),cl=ba.object({condition:ba.literal("fullscreen"),fullscreen:ba.boolean()}),ll=ba.object({condition:ba.literal("expand"),expand:ba.boolean()}),dl=ba.object({condition:ba.literal("camera"),cameras:ba.string().array()}),ul=ba.object({condition:ba.literal("media_loaded"),media_loaded:ba.boolean()}),hl=ba.object({condition:ba.literal("display_mode"),display_mode:ic}),pl=ba.object({condition:ba.literal("triggered"),triggered:ba.string().array()}),ml=ba.object({condition:ba.literal("interaction"),interaction:ba.boolean()}),gl=ba.object({condition:ba.literal("microphone"),connected:ba.boolean().optional(),muted:ba.boolean().optional()}),fl=ba.object({condition:ba.literal("key"),key:ba.string(),state:ba.enum(["down","up"]).optional(),ctrl:ba.boolean().optional(),shift:ba.boolean().optional(),alt:ba.boolean().optional(),meta:ba.boolean().optional()}),_l=ba.discriminatedUnion("condition",[Hc,Bc,qc,Uc,sl,cl,ll,dl,ul,hl,pl,ml,gl,fl]),vl=ba.object({type:ba.literal("custom:frigate-card-conditional"),conditions:_l.array(),elements:ba.lazy((()=>yl))}),yl=ba.union([Zc,Qc,vl,Fc,Vc,Yc,Kc,Jc,el,Nc,Rc,Pc,Lc,al,il,rl]).array().optional(),bl=ba.object({fit:ba.enum(["contain","cover","fill"]).optional(),position:ba.object({x:ba.number().min(0).max(100).optional(),y:ba.number().min(0).max(100).optional()}).optional(),view_box:ba.object({bottom:ba.number().min(0).max(100).optional().default(0),left:ba.number().min(0).max(100).optional().default(0),right:ba.number().min(0).max(100).optional().default(0),top:ba.number().min(0).max(100).optional().default(0)}).optional(),pan:nc.optional(),zoom:ac.optional()}),wl=ba.number().array().length(2).or(ba.string().regex(/^\s*\d+\.?\d*\s*[:/]\s*\d+\.?\d*\s*$/).transform((e=>e.split(/[:\/]/).map((e=>Number(e)))))),xl={r2c_delay_between_calls_seconds:.5,c2r_delay_between_calls_seconds:.2},Cl=function(e){return t=>{if(!t||"object"!=typeof t||!t.service)return t;const n={...t};return Object.keys(t).forEach((a=>{const i=a.match(/^data_(.+)$/),r=i?.[1];r&&!(`${e}${r}`in t)&&(n[`${e}${r}`]={action:"perform-action",perform_action:t.service,data:t[a]},delete n[a],delete n.service)})),n}},Ml=ba.preprocess(Cl("actions_"),ba.object({actions_left:lc.optional(),actions_left_start:lc.optional(),actions_left_stop:lc.optional(),actions_right:lc.optional(),actions_right_start:lc.optional(),actions_right_stop:lc.optional(),actions_up:lc.optional(),actions_up_start:lc.optional(),actions_up_stop:lc.optional(),actions_down:lc.optional(),actions_down_start:lc.optional(),actions_down_stop:lc.optional(),actions_zoom_in:lc.optional(),actions_zoom_in_start:lc.optional(),actions_zoom_in_stop:lc.optional(),actions_zoom_out:lc.optional(),actions_zoom_out_start:lc.optional(),actions_zoom_out_stop:lc.optional(),r2c_delay_between_calls_seconds:ba.number().default(xl.r2c_delay_between_calls_seconds),c2r_delay_between_calls_seconds:ba.number().default(xl.c2r_delay_between_calls_seconds),presets:ba.preprocess(Cl(""),ba.union([ba.record(lc),ba.object({service:ba.string().optional()})])).optional(),service:ba.string().optional()}).passthrough()),kl={orientation:"horizontal",mode:"auto",hide_pan_tilt:!1,hide_zoom:!1,hide_home:!1,position:"bottom-right"},Sl=ba.object({mode:ba.enum(["off","auto","on"]).default(kl.mode),position:ba.enum(["top-left","top-right","bottom-left","bottom-right"]).default(kl.position),orientation:ba.enum(["vertical","horizontal"]).default(kl.orientation),hide_pan_tilt:ba.boolean().default(kl.hide_pan_tilt),hide_zoom:ba.boolean().default(kl.hide_zoom),hide_home:ba.boolean().default(kl.hide_home),style:ba.object({}).passthrough().optional()}),El={mode:"auto",refresh_seconds:1},$l=ba.object({mode:ba.enum(["auto","camera","entity","screensaver","url"]).default(El.mode),refresh_seconds:ba.number().min(0).default(El.refresh_seconds),url:ba.string().optional(),entity:ba.string().optional(),entity_parameters:ba.string().optional()}),Al=$l.merge(Oc).default(El),zl=75,Il=300,Tl={size:100,show_details:!0,show_favorite_control:!0,show_timeline_control:!0,show_download_control:!0},jl=ba.object({size:ba.number().min(75).max(300).default(Tl.size),show_details:ba.boolean().default(Tl.show_details),show_favorite_control:ba.boolean().default(Tl.show_favorite_control),show_timeline_control:ba.boolean().default(Tl.show_timeline_control),show_download_control:ba.boolean().default(Tl.show_download_control)}),Ol={...Tl,mode:"right"},Dl=jl.extend({mode:ba.enum(["none","above","below","left","right"]).default(Ol.mode)}),Rl=ba.enum(["all","clips","snapshots"]),Pl={clustering_threshold:3,events_media_type:"all",window_seconds:3600,show_recordings:!0,style:"stack",pan_mode:"pan"},Ll=ba.enum(["pan","seek","seek-in-media","seek-in-camera"]),Nl=ba.object({clustering_threshold:ba.number().optional().default(Pl.clustering_threshold),events_media_type:Rl.optional().default(Pl.events_media_type),window_seconds:ba.number().min(60).max(86400).optional().default(Pl.window_seconds),show_recordings:ba.boolean().optional().default(Pl.show_recordings),style:ba.enum(["stack","ribbon"]).optional().default(Pl.style),pan_mode:Ll.optional().default(Pl.pan_mode)}),Fl={...Pl,mode:"none",style:"ribbon"},Vl=Nl.extend({mode:ba.enum(["none","above","below"]).default(Fl.mode),style:Nl.shape.style.default(Fl.style)}),Hl={...Pl,controls:{thumbnails:Ol}},Bl=Nl.extend({controls:ba.object({thumbnails:Dl.default(Hl.controls.thumbnails)}).default(Hl.controls)}).default(Hl),ql=ba.object({style:ba.enum(["none","chevrons","icons","thumbnails"]),size:ba.number().min(20)}),Ul=ba.enum(["none","slide"]),Wl={always_connected:!1,disconnect_seconds:90,mute_after_microphone_mute_seconds:60},Zl=ba.object({always_connected:ba.boolean().default(Wl.always_connected),disconnect_seconds:ba.number().min(0).default(Wl.disconnect_seconds),mute_after_microphone_mute_seconds:ba.number().min(0).default(Wl.mute_after_microphone_mute_seconds)}).default(Wl),Ql=ba.object({url:ba.string().transform((e=>e.replace(/\/+$/,""))).optional(),host:ba.string().optional(),modes:ba.enum(["webrtc","mse","mp4","mjpeg"]).array().optional(),stream:ba.string().optional()}),Gl=ba.object({entity:ba.string().optional(),url:ba.string().optional()}).passthrough(),Yl=ba.object({options:ba.object({audio:ba.boolean().optional(),video:ba.boolean().optional(),pauseWhenHidden:ba.boolean().optional(),disableGl:ba.boolean().optional(),disableWebAssembly:ba.boolean().optional(),preserveDrawingBuffer:ba.boolean().optional(),progressive:ba.boolean().optional(),throttled:ba.boolean().optional(),chunkSize:ba.number().optional(),maxAudioLag:ba.number().optional(),videoBufferSize:ba.number().optional(),audioBufferSize:ba.number().optional()}).optional()}),Kl={...Ol,media_type:"events",events_media_type:"all"},Xl={auto_play:[...Ys],auto_pause:[],auto_mute:[...Xs],auto_unmute:["microphone"],preload:!1,lazy_load:!0,lazy_unload:[],draggable:!0,zoomable:!0,transition_effect:"slide",show_image_during_load:!0,mode:"single",controls:{builtin:!0,next_previous:{size:48,style:"chevrons"},ptz:kl,thumbnails:Kl,timeline:Fl},microphone:{...Wl}},Jl=Dl.extend({media_type:ba.enum(["events","recordings"]).default(Xl.controls.thumbnails.media_type),events_media_type:Rl.default(Xl.controls.thumbnails.events_media_type)}),ed=ba.object({auto_pause:ba.enum(Gs).array().default(Xl.auto_pause),auto_play:ba.enum(Ys).array().default(Xl.auto_play),auto_mute:ba.enum(Xs).array().default(Xl.auto_mute),auto_unmute:ba.enum(Ks).array().default(Xl.auto_unmute),controls:ba.object({builtin:ba.boolean().default(Xl.controls.builtin),next_previous:ql.extend({style:ba.enum(["none","chevrons","icons"]).default(Xl.controls.next_previous.style),size:ql.shape.size.default(Xl.controls.next_previous.size)}).default(Xl.controls.next_previous),ptz:Sl.default(Xl.controls.ptz),thumbnails:Jl.default(Xl.controls.thumbnails),timeline:Vl.default(Xl.controls.timeline)}).default(Xl.controls),display:rc,draggable:ba.boolean().default(Xl.draggable),lazy_load:ba.boolean().default(Xl.lazy_load),lazy_unload:ba.enum(Gs).array().default(Xl.lazy_unload),microphone:Zl.default(Xl.microphone),preload:ba.boolean().default(Xl.preload),show_image_during_load:ba.boolean().default(Xl.show_image_during_load),transition_effect:Ul.default(Xl.transition_effect),zoomable:ba.boolean().default(Xl.zoomable)}).merge(Oc).default(Xl),td=ba.object({live:ed}),nd=ba.object({method:ba.enum(["standard","dashboard"]).default("standard").optional(),dashboard:ba.object({dashboard_path:ba.string().optional(),view_path:ba.string().optional()}).optional()}),ad={dependencies:{all_cameras:!1,cameras:[]},engine:"auto",frigate:{client_id:"frigate"},live_provider:"auto",motioneye:{images:{directory_pattern:"%Y-%m-%d",file_pattern:"%H-%M-%S"},movies:{directory_pattern:"%Y-%m-%d",file_pattern:"%H-%M-%S"}},reolink:{media_resolution:"low"},ptz:xl,triggers:{motion:!1,occupancy:!1,events:[...ec],entities:[]},proxy:{media:"auto",dynamic:!0,ssl_verification:"auto",ssl_ciphers:"auto"}},id=ba.object({media:ba.boolean().or(ba.literal("auto")).default(ad.proxy.media),dynamic:ba.boolean().default(ad.proxy.dynamic),ssl_verification:ba.boolean().or(ba.literal("auto")).default(ad.proxy.ssl_verification),ssl_ciphers:ba.enum(["default","insecure","intermediate","modern"]).or(ba.literal("auto")).default(ad.proxy.ssl_ciphers)}),rd=ba.object({camera_entity:ba.string().optional(),icon:ba.string().optional(),title:ba.string().optional(),capabilities:ba.object({disable:ba.enum(Ts).array().optional(),disable_except:ba.enum(Ts).array().optional()}).optional(),id:ba.string().optional(),dependencies:ba.object({all_cameras:ba.boolean().default(ad.dependencies.all_cameras),cameras:ba.string().array().default(ad.dependencies.cameras)}).default(ad.dependencies),triggers:ba.object({motion:ba.boolean().default(ad.triggers.motion),occupancy:ba.boolean().default(ad.triggers.occupancy),entities:ba.string().array().default(ad.triggers.entities),events:ba.enum(ec).array().default(ad.triggers.events)}).default(ad.triggers),engine:ba.enum(["auto","frigate","generic","motioneye","reolink"]).default("auto"),frigate:ba.object({url:ba.string().optional(),client_id:ba.string().default(ad.frigate.client_id),camera_name:ba.string().optional(),labels:ba.string().array().optional(),zones:ba.string().array().optional()}).default(ad.frigate),motioneye:ba.object({url:ba.string().optional(),images:ba.object({directory_pattern:ba.string().includes("%").default(ad.motioneye.images.directory_pattern),file_pattern:ba.string().includes("%").default(ad.motioneye.images.file_pattern)}).default(ad.motioneye.images),movies:ba.object({directory_pattern:ba.string().includes("%").default(ad.motioneye.movies.directory_pattern),file_pattern:ba.string().includes("%").default(ad.motioneye.movies.file_pattern)}).default(ad.motioneye.movies)}).default(ad.motioneye),reolink:ba.object({url:ba.string().optional(),media_resolution:ba.enum(["high","low"]).default(ad.reolink.media_resolution)}).default(ad.reolink),live_provider:ba.enum(["auto","image","ha","jsmpeg","go2rtc","webrtc-card"]).default(ad.live_provider),go2rtc:Ql.optional(),image:$l.optional().default(El),jsmpeg:Yl.optional(),webrtc_card:Gl.optional(),cast:nd.optional(),ptz:Ml.default(ad.ptz),dimensions:ba.object({aspect_ratio:wl.optional(),layout:bl.optional()}).optional(),proxy:id.default(ad.proxy)}).default(ad),od=rd.array().min(1),sd={default:Qs,camera_select:"current",interaction_seconds:300,default_reset:{every_seconds:0,after_interaction:!1,entities:[],interaction_mode:"inactive"},default_cycle_camera:!1,dark_mode:"off",triggers:{show_trigger_status:!1,filter_selected_camera:!0,actions:{trigger:"update",untrigger:"none"},untrigger_seconds:0},keyboard_shortcuts:Fs},cd=ba.enum(["all","inactive","active"]).default("inactive"),ld=ba.object({actions:ba.object({interaction_mode:cd,trigger:ba.enum(["default","live","media","none","update"]).default(sd.triggers.actions.trigger),untrigger:ba.enum(["default","none"]).default(sd.triggers.actions.untrigger)}).default(sd.triggers.actions),filter_selected_camera:ba.boolean().default(sd.triggers.filter_selected_camera),show_trigger_status:ba.boolean().default(sd.triggers.show_trigger_status),untrigger_seconds:ba.number().default(sd.triggers.untrigger_seconds)}),dd=ba.object({default:ba.enum(Zs).default(sd.default),camera_select:ba.enum([...Zs,"current"]).default(sd.camera_select),interaction_seconds:ba.number().default(sd.interaction_seconds),default_cycle_camera:ba.boolean().default(sd.default_cycle_camera),default_reset:ba.object({after_interaction:ba.boolean().default(sd.default_reset.after_interaction),every_seconds:ba.number().default(sd.default_reset.every_seconds),entities:ba.string().array().default(sd.default_reset.entities),interaction_mode:cd.default(sd.default_reset.interaction_mode)}).default(sd.default_reset),render_entities:ba.string().array().optional(),dark_mode:ba.enum(["on","off","auto"]).optional(),triggers:ld.default(sd.triggers),keyboard_shortcuts:Vs.default(sd.keyboard_shortcuts)}).merge(Oc).default(sd),ud=["left","right","top","bottom"],hd=ud,pd={priority:50,enabled:!0},md={priority:50,enabled:!1},gd={alignment:"left",button_size:40,buttons:{camera_ui:pd,cameras:pd,clips:pd,ptz_home:md,display_mode:pd,download:pd,expand:md,frigate:pd,fullscreen:pd,image:md,live:pd,media_player:pd,microphone:{...md,type:"momentary"},mute:md,play:md,ptz_controls:md,recordings:md,screenshot:md,snapshots:pd,substreams:pd,timeline:pd},position:"top",style:"hidden"},fd=Gc.extend({enabled:Gc.shape.enabled.default(pd.enabled),priority:Gc.shape.priority.default(pd.priority)}),_d=Gc.extend({enabled:Gc.shape.enabled.default(md.enabled),priority:Gc.shape.priority.default(md.priority)}),vd=ba.object({style:ba.enum(["none","hidden","overlay","hover","hover-card","outside"]).default(gd.style),position:ba.enum(ud).default(gd.position),alignment:ba.enum(hd).default(gd.alignment),buttons:ba.object({camera_ui:fd.default(gd.buttons.camera_ui),cameras:fd.default(gd.buttons.cameras),clips:fd.default(gd.buttons.clips),ptz_home:_d.default(gd.buttons.ptz_home),display_mode:fd.default(gd.buttons.display_mode),download:fd.default(gd.buttons.download),expand:_d.default(gd.buttons.expand),frigate:fd.default(gd.buttons.frigate),fullscreen:fd.default(gd.buttons.fullscreen),image:_d.default(gd.buttons.image),live:fd.default(gd.buttons.live),media_player:fd.default(gd.buttons.media_player),microphone:_d.extend({type:ba.enum(["momentary","toggle"]).default(gd.buttons.microphone.type)}).default(gd.buttons.microphone),mute:_d.default(gd.buttons.mute),play:_d.default(gd.buttons.play),ptz_controls:_d.default(gd.buttons.ptz_controls),recordings:_d.default(gd.buttons.recordings),screenshot:_d.default(gd.buttons.screenshot),snapshots:fd.default(gd.buttons.snapshots),substreams:fd.default(gd.buttons.substreams),timeline:fd.default(gd.buttons.timeline)}).default(gd.buttons),button_size:ba.number().min(20).default(gd.button_size)}).default(gd),yd={priority:50,enabled:!0},bd={height:46,items:{engine:yd,resolution:yd,technology:yd,title:yd},position:"bottom",style:"popup",popup_seconds:3},wd=ba.object({position:ba.enum(["top","bottom"]).default(bd.position),style:ba.enum(["none","overlay","hover","hover-card","outside","popup"]).default(bd.style),popup_seconds:ba.number().min(0).max(60).default(bd.popup_seconds),height:ba.number().min(20).default(bd.height),items:ba.object({engine:tl.default(bd.items.engine),technology:tl.default(bd.items.technology),resolution:tl.default(bd.items.resolution),title:tl.default(bd.items.title)}).default(bd.items)}).default(bd),xd={auto_play:[...Ys],auto_pause:[...Gs],auto_mute:[...Gs],auto_unmute:[],lazy_load:!0,draggable:!0,zoomable:!0,transition_effect:"slide",snapshot_click_plays_clip:!0,display_mode:"single",controls:{builtin:!0,next_previous:{size:48,style:"thumbnails"},thumbnails:Ol,timeline:Fl,ptz:{...kl,mode:"off"}}},Cd=ql.extend({style:ba.enum(["none","thumbnails","chevrons"]).default(xd.controls.next_previous.style),size:ql.shape.size.default(xd.controls.next_previous.size)}),Md=ba.object({auto_play:ba.enum(Ys).array().default(xd.auto_play),auto_pause:ba.enum(Gs).array().default(xd.auto_pause),auto_mute:ba.enum(Gs).array().default(xd.auto_mute),auto_unmute:ba.enum(Ys).array().default(xd.auto_unmute),lazy_load:ba.boolean().default(xd.lazy_load),draggable:ba.boolean().default(xd.draggable),zoomable:ba.boolean().default(xd.zoomable),transition_effect:Ul.default(xd.transition_effect),snapshot_click_plays_clip:ba.boolean().default(xd.snapshot_click_plays_clip),display:rc,controls:ba.object({builtin:ba.boolean().default(xd.controls.builtin),next_previous:Cd.default(xd.controls.next_previous),ptz:Sl.extend({mode:ba.enum(["off","on"]).default(xd.controls.ptz.mode)}).default(xd.controls.ptz),thumbnails:Dl.default(xd.controls.thumbnails),timeline:Vl.default(xd.controls.timeline)}).default(xd.controls)}).merge(Oc).default(xd),kd={...Ol,show_details:!1},Sd={controls:{thumbnails:kd,filter:{mode:"right"}}},Ed=Dl.extend({show_details:ba.boolean().default(kd.show_details)}),$d=ba.object({controls:ba.object({thumbnails:Ed.default(Sd.controls.thumbnails),filter:ba.object({mode:ba.enum(["none","left","right"]).default(Sd.controls.filter.mode)}).default(Sd.controls.filter)}).default(Sd.controls)}).merge(Oc).default(Sd),Ad={aspect_ratio_mode:"dynamic",aspect_ratio:[16,9],height:"auto"},zd=ba.object({aspect_ratio_mode:ba.enum(["dynamic","static","unconstrained"]).default(Ad.aspect_ratio_mode),aspect_ratio:wl.default(Ad.aspect_ratio),height:ba.string().default(Ad.height)}).default(Ad),Id=ba.object({conditions:_l.array(),merge:ba.object({}).passthrough().optional(),set:ba.object({}).passthrough().optional(),delete:ba.string().array().optional()}).array().optional(),Td=Tc.array(),jd=ba.object({conditions:_l.array(),actions:Td.optional(),actions_not:Td.optional()}).refine((e=>e.actions?.length||e.actions_not?.length),"Automations must include at least one action").array(),Od={features:{animated_progress_indicator:!0,media_chunk_size:50},style:{border_radius:!0,box_shadow:!0}},Dd=ba.object({features:ba.object({animated_progress_indicator:ba.boolean().default(Od.features.animated_progress_indicator),media_chunk_size:ba.number().min(0).max(1e3).default(Od.features.media_chunk_size),max_simultaneous_engine_requests:ba.number().min(1).optional()}).default(Od.features),style:ba.object({border_radius:ba.boolean().default(Od.style.border_radius),box_shadow:ba.boolean().default(Od.style.box_shadow)}).default(Od.style)}).default(Od),Rd={logging:!1},Pd=ba.object({logging:ba.boolean().default(Rd.logging)}).default(Rd),Ld=ba.enum(["casting","low-performance","scrubbing"]).array().optional(),Nd=ba.object({cameras:Ds(od),cameras_global:rd,view:dd,menu:vd,status_bar:wd,live:ed,media_gallery:$d,media_viewer:Md,image:Al,elements:yl,dimensions:zd,timeline:Bl,performance:Dd,debug:Pd,automations:jd.optional(),profiles:Ld,overrides:Id,card_mod:ba.unknown(),card_id:ba.string().regex(tc).optional(),type:ba.string()}),Fd={cameras:ad,view:sd,menu:gd,status_bar:bd,live:Xl,media_gallery:Sd,media_viewer:xd,image:El,timeline:Hl,performance:Od,debug:Rd};function Vd(e){const t=Object.prototype.toString.call(e);return e instanceof Date||"object"==typeof e&&"[object Date]"===t?new e.constructor(+e):"number"==typeof e||"[object Number]"===t||"string"==typeof e||"[object String]"===t?new Date(e):new Date(NaN)}function Hd(e,t){return e instanceof Date?new e.constructor(t):new Date(t)}function Bd(e,t){const n=Vd(e);return isNaN(t)?Hd(e,NaN):t?(n.setDate(n.getDate()+t),n):n}function qd(e,t){const n=Vd(e);if(isNaN(t))return Hd(e,NaN);if(!t)return n;const a=n.getDate(),i=Hd(e,n.getTime());i.setMonth(n.getMonth()+t+1,0);return a>=i.getDate()?i:(n.setFullYear(i.getFullYear(),i.getMonth(),a),n)}function Ud(e,t){const{years:n=0,months:a=0,weeks:i=0,days:r=0,hours:o=0,minutes:s=0,seconds:c=0}=t,l=Vd(e),d=a||n?qd(l,a+12*n):l,u=1e3*(c+60*(s+60*o));return Hd(e,(r||i?Bd(d,r+7*i):d).getTime()+u)}const Wd=6048e5,Zd=864e5,Qd=6e4,Gd=36e5,Yd=1e3;let Kd={};function Xd(){return Kd}function Jd(e,t){const n=Xd(),a=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=Vd(e),r=i.getDay(),o=(r=i.getTime()?n+1:t.getTime()>=o.getTime()?n:n-1}function nu(e){const t=Vd(e);return t.setHours(0,0,0,0),t}function au(e){const t=Vd(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function iu(e){if(!(t=e,t instanceof Date||"object"==typeof t&&"[object Date]"===Object.prototype.toString.call(t)||"number"==typeof e))return!1;var t;const n=Vd(e);return!isNaN(Number(n))}function ru(e){return t=>{const n=(e?Math[e]:Math.trunc)(t);return 0===n?0:n}}function ou(e,t){return+Vd(e)-+Vd(t)}function su(e,t,n){const a=ou(e,t)/1e3;return ru(n?.roundingMethod)(a)}const cu={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function lu(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const du={date:lu({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:lu({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:lu({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},uu={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function hu(e){return(t,n)=>{let a;if("formatting"===(n?.context?String(n.context):"standalone")&&e.formattingValues){const t=e.defaultFormattingWidth||e.defaultWidth,i=n?.width?String(n.width):t;a=e.formattingValues[i]||e.formattingValues[t]}else{const t=e.defaultWidth,i=n?.width?String(n.width):e.defaultWidth;a=e.values[i]||e.values[t]}return a[e.argumentCallback?e.argumentCallback(t):t]}}function pu(e){return(t,n={})=>{const a=n.width,i=a&&e.matchPatterns[a]||e.matchPatterns[e.defaultMatchWidth],r=t.match(i);if(!r)return null;const o=r[0],s=a&&e.parsePatterns[a]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(s)?function(e,t){for(let n=0;ne.test(o))):function(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n;return}(s,(e=>e.test(o)));let l;l=e.valueCallback?e.valueCallback(c):c,l=n.valueCallback?n.valueCallback(l):l;return{value:l,rest:t.slice(o.length)}}}var mu;const gu={code:"en-US",formatDistance:(e,t,n)=>{let a;const i=cu[e];return a="string"==typeof i?i:1===t?i.one:i.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+a:a+" ago":a},formatLong:du,formatRelative:(e,t,n,a)=>uu[e],localize:{ordinalNumber:(e,t)=>{const n=Number(e),a=n%100;if(a>20||a<10)switch(a%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:hu({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:hu({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:e=>e-1}),month:hu({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:hu({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:hu({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})},match:{ordinalNumber:(mu={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)},(e,t={})=>{const n=e.match(mu.matchPattern);if(!n)return null;const a=n[0],i=e.match(mu.parsePattern);if(!i)return null;let r=mu.valueCallback?mu.valueCallback(i[0]):i[0];return r=t.valueCallback?t.valueCallback(r):r,{value:r,rest:e.slice(a.length)}}),era:pu({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:pu({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:e=>e+1}),month:pu({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:pu({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:pu({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function fu(e){const t=Vd(e),n=function(e,t){const n=nu(e),a=nu(t),i=+n-au(n),r=+a-au(a);return Math.round((i-r)/Zd)}(t,function(e){const t=Vd(e),n=Hd(e,0);return n.setFullYear(t.getFullYear(),0,1),n.setHours(0,0,0,0),n}(t));return n+1}function _u(e){const t=Vd(e),n=+eu(t)-+function(e){const t=tu(e),n=Hd(e,0);return n.setFullYear(t,0,4),n.setHours(0,0,0,0),eu(n)}(t);return Math.round(n/Wd)+1}function vu(e,t){const n=Vd(e),a=n.getFullYear(),i=Xd(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,o=Hd(e,0);o.setFullYear(a+1,0,r),o.setHours(0,0,0,0);const s=Jd(o,t),c=Hd(e,0);c.setFullYear(a,0,r),c.setHours(0,0,0,0);const l=Jd(c,t);return n.getTime()>=s.getTime()?a+1:n.getTime()>=l.getTime()?a:a-1}function yu(e,t){const n=Vd(e),a=+Jd(n,t)-+function(e,t){const n=Xd(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,i=vu(e,t),r=Hd(e,0);return r.setFullYear(i,0,a),r.setHours(0,0,0,0),Jd(r,t)}(n,t);return Math.round(a/Wd)+1}function bu(e,t){return(e<0?"-":"")+Math.abs(e).toString().padStart(t,"0")}const wu={y(e,t){const n=e.getFullYear(),a=n>0?n:1-n;return bu("yy"===t?a%100:a,t.length)},M(e,t){const n=e.getMonth();return"M"===t?String(n+1):bu(n+1,2)},d:(e,t)=>bu(e.getDate(),t.length),a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];default:return"am"===n?"a.m.":"p.m."}},h:(e,t)=>bu(e.getHours()%12||12,t.length),H:(e,t)=>bu(e.getHours(),t.length),m:(e,t)=>bu(e.getMinutes(),t.length),s:(e,t)=>bu(e.getSeconds(),t.length),S(e,t){const n=t.length,a=e.getMilliseconds();return bu(Math.trunc(a*Math.pow(10,n-3)),t.length)}},xu="midnight",Cu="noon",Mu="morning",ku="afternoon",Su="evening",Eu="night",$u={G:function(e,t,n){const a=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(a,{width:"abbreviated"});case"GGGGG":return n.era(a,{width:"narrow"});default:return n.era(a,{width:"wide"})}},y:function(e,t,n){if("yo"===t){const t=e.getFullYear(),a=t>0?t:1-t;return n.ordinalNumber(a,{unit:"year"})}return wu.y(e,t)},Y:function(e,t,n,a){const i=vu(e,a),r=i>0?i:1-i;if("YY"===t){return bu(r%100,2)}return"Yo"===t?n.ordinalNumber(r,{unit:"year"}):bu(r,t.length)},R:function(e,t){return bu(tu(e),t.length)},u:function(e,t){return bu(e.getFullYear(),t.length)},Q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(a);case"QQ":return bu(a,2);case"Qo":return n.ordinalNumber(a,{unit:"quarter"});case"QQQ":return n.quarter(a,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(a,{width:"narrow",context:"formatting"});default:return n.quarter(a,{width:"wide",context:"formatting"})}},q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(a);case"qq":return bu(a,2);case"qo":return n.ordinalNumber(a,{unit:"quarter"});case"qqq":return n.quarter(a,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(a,{width:"narrow",context:"standalone"});default:return n.quarter(a,{width:"wide",context:"standalone"})}},M:function(e,t,n){const a=e.getMonth();switch(t){case"M":case"MM":return wu.M(e,t);case"Mo":return n.ordinalNumber(a+1,{unit:"month"});case"MMM":return n.month(a,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(a,{width:"narrow",context:"formatting"});default:return n.month(a,{width:"wide",context:"formatting"})}},L:function(e,t,n){const a=e.getMonth();switch(t){case"L":return String(a+1);case"LL":return bu(a+1,2);case"Lo":return n.ordinalNumber(a+1,{unit:"month"});case"LLL":return n.month(a,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(a,{width:"narrow",context:"standalone"});default:return n.month(a,{width:"wide",context:"standalone"})}},w:function(e,t,n,a){const i=yu(e,a);return"wo"===t?n.ordinalNumber(i,{unit:"week"}):bu(i,t.length)},I:function(e,t,n){const a=_u(e);return"Io"===t?n.ordinalNumber(a,{unit:"week"}):bu(a,t.length)},d:function(e,t,n){return"do"===t?n.ordinalNumber(e.getDate(),{unit:"date"}):wu.d(e,t)},D:function(e,t,n){const a=fu(e);return"Do"===t?n.ordinalNumber(a,{unit:"dayOfYear"}):bu(a,t.length)},E:function(e,t,n){const a=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(a,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(a,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},e:function(e,t,n,a){const i=e.getDay(),r=(i-a.weekStartsOn+8)%7||7;switch(t){case"e":return String(r);case"ee":return bu(r,2);case"eo":return n.ordinalNumber(r,{unit:"day"});case"eee":return n.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(i,{width:"short",context:"formatting"});default:return n.day(i,{width:"wide",context:"formatting"})}},c:function(e,t,n,a){const i=e.getDay(),r=(i-a.weekStartsOn+8)%7||7;switch(t){case"c":return String(r);case"cc":return bu(r,t.length);case"co":return n.ordinalNumber(r,{unit:"day"});case"ccc":return n.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(i,{width:"narrow",context:"standalone"});case"cccccc":return n.day(i,{width:"short",context:"standalone"});default:return n.day(i,{width:"wide",context:"standalone"})}},i:function(e,t,n){const a=e.getDay(),i=0===a?7:a;switch(t){case"i":return String(i);case"ii":return bu(i,t.length);case"io":return n.ordinalNumber(i,{unit:"day"});case"iii":return n.day(a,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(a,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},a:function(e,t,n){const a=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},b:function(e,t,n){const a=e.getHours();let i;switch(i=12===a?Cu:0===a?xu:a/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(i,{width:"narrow",context:"formatting"});default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},B:function(e,t,n){const a=e.getHours();let i;switch(i=a>=17?Su:a>=12?ku:a>=4?Mu:Eu,t){case"B":case"BB":case"BBB":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(i,{width:"narrow",context:"formatting"});default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},h:function(e,t,n){if("ho"===t){let t=e.getHours()%12;return 0===t&&(t=12),n.ordinalNumber(t,{unit:"hour"})}return wu.h(e,t)},H:function(e,t,n){return"Ho"===t?n.ordinalNumber(e.getHours(),{unit:"hour"}):wu.H(e,t)},K:function(e,t,n){const a=e.getHours()%12;return"Ko"===t?n.ordinalNumber(a,{unit:"hour"}):bu(a,t.length)},k:function(e,t,n){let a=e.getHours();return 0===a&&(a=24),"ko"===t?n.ordinalNumber(a,{unit:"hour"}):bu(a,t.length)},m:function(e,t,n){return"mo"===t?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):wu.m(e,t)},s:function(e,t,n){return"so"===t?n.ordinalNumber(e.getSeconds(),{unit:"second"}):wu.s(e,t)},S:function(e,t){return wu.S(e,t)},X:function(e,t,n){const a=e.getTimezoneOffset();if(0===a)return"Z";switch(t){case"X":return zu(a);case"XXXX":case"XX":return Iu(a);default:return Iu(a,":")}},x:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"x":return zu(a);case"xxxx":case"xx":return Iu(a);default:return Iu(a,":")}},O:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+Au(a,":");default:return"GMT"+Iu(a,":")}},z:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+Au(a,":");default:return"GMT"+Iu(a,":")}},t:function(e,t,n){return bu(Math.trunc(e.getTime()/1e3),t.length)},T:function(e,t,n){return bu(e.getTime(),t.length)}};function Au(e,t=""){const n=e>0?"-":"+",a=Math.abs(e),i=Math.trunc(a/60),r=a%60;return 0===r?n+String(i):n+String(i)+t+bu(r,2)}function zu(e,t){if(e%60==0){return(e>0?"-":"+")+bu(Math.abs(e)/60,2)}return Iu(e,t)}function Iu(e,t=""){const n=e>0?"-":"+",a=Math.abs(e);return n+bu(Math.trunc(a/60),2)+t+bu(a%60,2)}const Tu=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},ju=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},Ou={p:ju,P:(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],a=n[1],i=n[2];if(!i)return Tu(e,t);let r;switch(a){case"P":r=t.dateTime({width:"short"});break;case"PP":r=t.dateTime({width:"medium"});break;case"PPP":r=t.dateTime({width:"long"});break;default:r=t.dateTime({width:"full"})}return r.replace("{{date}}",Tu(a,t)).replace("{{time}}",ju(i,t))}},Du=/^D+$/,Ru=/^Y+$/,Pu=["D","DD","YY","YYYY"];function Lu(e){return Du.test(e)}function Nu(e){return Ru.test(e)}function Fu(e,t,n){const a=function(e,t,n){const a="Y"===e[0]?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${a} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}(e,t,n);if(console.warn(a),Pu.includes(e))throw new RangeError(a)}const Vu=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Hu=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Bu=/^'([^]*?)'?$/,qu=/''/g,Uu=/[a-zA-Z]/;function Wu(e,t,n){const a=Xd(),i=n?.locale??a.locale??gu,r=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,o=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??a.weekStartsOn??a.locale?.options?.weekStartsOn??0,s=Vd(e);if(!iu(s))throw new RangeError("Invalid time value");let c=t.match(Hu).map((e=>{const t=e[0];if("p"===t||"P"===t){return(0,Ou[t])(e,i.formatLong)}return e})).join("").match(Vu).map((e=>{if("''"===e)return{isToken:!1,value:"'"};const t=e[0];if("'"===t)return{isToken:!1,value:Zu(e)};if($u[t])return{isToken:!0,value:e};if(t.match(Uu))throw new RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}}));i.localize.preprocessor&&(c=i.localize.preprocessor(s,c));const l={firstWeekContainsDate:r,weekStartsOn:o,locale:i};return c.map((a=>{if(!a.isToken)return a.value;const r=a.value;(!n?.useAdditionalWeekYearTokens&&Nu(r)||!n?.useAdditionalDayOfYearTokens&&Lu(r))&&Fu(r,t,String(e));return(0,$u[r[0]])(s,r,i.localize,l)})).join("")}function Zu(e){const t=e.match(Bu);return t?t[1].replace(qu,"'"):e}function Qu(e,t){const{years:n=0,months:a=0,weeks:i=0,days:r=0,hours:o=0,minutes:s=0,seconds:c=0}=t,l=function(e,t){return qd(e,-t)}(e,a+12*n),d=function(e,t){return Bd(e,-t)}(l,r+7*i),u=1e3*(c+60*(s+60*o));return Hd(e,d.getTime()-u)}function Gu(e,t){return e===t||e!=e&&t!=t}function Yu(e,t){for(var n=e.length;n--;)if(Gu(e[n][0],t))return n;return-1}var Ku=Array.prototype.splice;function Xu(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1},Xu.prototype.set=function(e,t){var n=this.__data__,a=Yu(n,e);return a<0?(++this.size,n.push([e,t])):n[a][1]=t,this};var Ju="object"==typeof global&&global&&global.Object===Object&&global,eh="object"==typeof self&&self&&self.Object===Object&&self,th=Ju||eh||Function("return this")(),nh=th.Symbol,ah=Object.prototype,ih=ah.hasOwnProperty,rh=ah.toString,oh=nh?nh.toStringTag:void 0;var sh=Object.prototype.toString;var ch="[object Null]",lh="[object Undefined]",dh=nh?nh.toStringTag:void 0;function uh(e){return null==e?void 0===e?lh:ch:dh&&dh in Object(e)?function(e){var t=ih.call(e,oh),n=e[oh];try{e[oh]=void 0;var a=!0}catch(e){}var i=rh.call(e);return a&&(t?e[oh]=n:delete e[oh]),i}(e):function(e){return sh.call(e)}(e)}function hh(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}var ph="[object AsyncFunction]",mh="[object Function]",gh="[object GeneratorFunction]",fh="[object Proxy]";function _h(e){if(!hh(e))return!1;var t=uh(e);return t==mh||t==gh||t==ph||t==fh}var vh,yh=th["__core-js_shared__"],bh=(vh=/[^.]+$/.exec(yh&&yh.keys&&yh.keys.IE_PROTO||""))?"Symbol(src)_1."+vh:"";var wh=Function.prototype.toString;function xh(e){if(null!=e){try{return wh.call(e)}catch(e){}try{return e+""}catch(e){}}return""}var Ch=/^\[object .+?Constructor\]$/,Mh=Function.prototype,kh=Object.prototype,Sh=Mh.toString,Eh=kh.hasOwnProperty,$h=RegExp("^"+Sh.call(Eh).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Ah(e){return!(!hh(e)||(t=e,bh&&bh in t))&&(_h(e)?$h:Ch).test(xh(e));var t}function zh(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return Ah(n)?n:void 0}var Ih=zh(th,"Map"),Th=zh(Object,"create");var jh=Object.prototype.hasOwnProperty;var Oh=Object.prototype.hasOwnProperty;function Dh(e){var t=-1,n=null==e?0:e.length;for(this.clear();++ts))return!1;var l=r.get(e),d=r.get(t);if(l&&d)return l==t&&d==e;var u=-1,h=!0,p=n&Bh?new Nh:void 0;for(r.set(e,t),r.set(t,e);++u-1&&e%1==0&&e-1&&e%1==0&&e<=Ap}var Ip={};function Tp(e){return function(t){return e(t)}}Ip["[object Float32Array]"]=Ip["[object Float64Array]"]=Ip["[object Int8Array]"]=Ip["[object Int16Array]"]=Ip["[object Int32Array]"]=Ip["[object Uint8Array]"]=Ip["[object Uint8ClampedArray]"]=Ip["[object Uint16Array]"]=Ip["[object Uint32Array]"]=!0,Ip["[object Arguments]"]=Ip["[object Array]"]=Ip["[object ArrayBuffer]"]=Ip["[object Boolean]"]=Ip["[object DataView]"]=Ip["[object Date]"]=Ip["[object Error]"]=Ip["[object Function]"]=Ip["[object Map]"]=Ip["[object Number]"]=Ip["[object Object]"]=Ip["[object RegExp]"]=Ip["[object Set]"]=Ip["[object String]"]=Ip["[object WeakMap]"]=!1;var jp="object"==typeof exports&&exports&&!exports.nodeType&&exports,Op=jp&&"object"==typeof module&&module&&!module.nodeType&&module,Dp=Op&&Op.exports===jp&&Ju.process,Rp=function(){try{var e=Op&&Op.require&&Op.require("util").types;return e||Dp&&Dp.binding&&Dp.binding("util")}catch(e){}}(),Pp=Rp,Lp=Pp&&Pp.isTypedArray,Np=Lp?Tp(Lp):function(e){return fp(e)&&zp(e.length)&&!!Ip[uh(e)]},Fp=Object.prototype.hasOwnProperty;function Vp(e,t){var n=dp(e),a=!n&&wp(e),i=!n&&!a&&kp(e),r=!n&&!a&&!i&&Np(e),o=n||a||i||r,s=o?function(e,t){for(var n=-1,a=Array(e);++n0){if(++og>=800)return arguments[0]}else og=0;return rg.apply(void 0,arguments)});function lg(e,t){return cg(function(e,t,n){return t=tg(void 0===t?e.length-1:t,0),function(){for(var a=arguments,i=-1,r=tg(a.length-t,0),o=Array(r);++i1?n[i-1]:void 0,o=i>2?n[2]:void 0;for(r=e.length>3&&"function"==typeof r?(i--,r):void 0,o&&dg(n[0],n[1],o)&&(r=i<3?void 0:r,i=1),t=Object(t);++a-1}function Ng(e,t,n){for(var a=-1,i=null==e?0:e.length;++a=Vg){var l=t?null:Fg(e);if(l)return Zh(l);o=!1,i=Vh,c=new Nh}else c=t?[]:s;e:for(;++ae[0].toUpperCase()+e.substring(1))).join(" ")}function Ug(e,t,n){const a=e[t];return e.splice(t,1),e.splice(n,0,a),e}const Wg=e=>Array.isArray(e)?e:[e],Zg=e=>e instanceof Set?e:new Set(Wg(e));function Qg(e,t,n){return!function(e,t,n){var a=(n="function"==typeof n?n:void 0)?n(e,t):void 0;return void 0===a?bm(e,t,void 0,n):!!a}(e,t,n)}function Gg(e,t=console.warn){e instanceof zs&&e.context?t(e,e.context):t("object"==typeof e&&"message"in e?e.message:e)}const Yg=()=>window.matchMedia("(hover: hover) and (pointer: fine)").matches,Kg=(e,t)=>Wu(e,"yyyy-MM-dd HH:mm"+(t?":ss":"")),Xg=e=>Wu(e,"yyyy-MM-dd"),Jg=(e,t)=>{window.requestIdleCallback?window.requestIdleCallback(e,{...t&&{timeout:t}}):e()};function ef(e,t){const n=function(e,t,n){const a=ou(e,t)/Gd;return ru(n?.roundingMethod)(a)}(t,e),a=function(e,t,n){const a=ou(e,t)/Qd;return ru(n?.roundingMethod)(a)}(t,e)-60*n;let i="";return n&&(i+=`${n}h `),a&&(i+=`${a}m `),i+=`${su(t,e)-60*n*60-60*a}s`,i}const tf=async(e,t)=>await Promise.all(Array.from(e).map((e=>t(e)))),nf=e=>new Date(`${e}T00:00:00`),af=async e=>{await new Promise((t=>setTimeout(t,1e3*e)))},rf=e=>!isNaN(e.getTime()),of=(e,t,n,a)=>{t?e.setAttribute(n,a??""):e.removeAttribute(n)},sf=e=>!!e,cf=e=>e instanceof HTMLElement,lf=e=>(e instanceof HTMLSlotElement?e.assignedElements({flatten:!0}):[...e.children]).filter(cf),df=e=>e?.ratio&&2===e.ratio.length?`${e.ratio[0]} / ${e.ratio[1]}`:e?.defaultStatic?"16 / 9":"auto",uf=e=>({"aspect-ratio":df(e)}),hf=e=>{if(Array.isArray(e))return e.filter((e=>void 0!==e)).map((e=>hf(e)));if("object"==typeof e&&null!==e){const t={};for(const n in e)t[n]=hf(e[n]);return t}return e},pf=(e,t,n)=>Rg(e,n)===Rg(t,n);function mf(e){if(!e)return null;const t=Ic.safeParse(e);return t.success?t.data:null}function gf(e,t){return{action:"fire-dom-event",frigate_card_action:e,...t?.cardID&&{card_id:t.cardID}}}function ff(e,t,n){return{action:"fire-dom-event",frigate_card_action:e,camera:t,...n?.cardID&&{card_id:n.cardID}}}function _f(e,t,n){return{action:"fire-dom-event",frigate_card_action:"media_player",media_player:e,media_player_action:t,...n?.cardID&&{card_id:n.cardID}}}function vf(e){return{action:"fire-dom-event",frigate_card_action:"ptz_multi",...e?.cardID&&{card_id:e.cardID},...e?.ptzAction&&{ptz_action:e.ptzAction},...e?.ptzPhase&&{ptz_phase:e.ptzPhase},...e?.ptzPreset&&{ptz_preset:e.ptzPreset},...e?.targetID&&{target_id:e.targetID}}}function yf(e,t){return e&&t?"tap"===e&&t.tap_action?t.tap_action:"hold"===e&&t.hold_action?t.hold_action:"double_tap"===e&&t.double_tap_action?t.double_tap_action:"end_tap"===e&&t.end_tap_action?t.end_tap_action:"start_tap"===e&&t.start_tap_action?t.start_tap_action:null:null}const bf=e=>Wg(e).some((e=>function(e){return void 0!==e&&"none"!==e.action}(e))),wf=e=>{e.stopPropagation()};class xf{constructor(){this._timer=null,this._repeated=!1}stop(){this._timer&&(this._repeated?window.clearInterval(this._timer):window.clearTimeout(this._timer),this._timer=null)}isRunning(){return null!==this._timer}start(e,t){this.stop(),this._timer=window.setTimeout((()=>{this._timer=null,t()}),1e3*e),this._repeated=!1}startRepeated(e,t){this.stop(),this._timer=window.setInterval((()=>{t()}),1e3*e),this._repeated=!0}}class Cf extends HTMLElement{constructor(){super(...arguments),this.holdTime=.4,this.holdTimer=new xf,this.doubleClickTimer=new xf,this.held=!1,this.started=!1}connectedCallback(){["touchcancel","mouseout","mouseup","touchmove","mousewheel","wheel","scroll"].forEach((e=>{document.addEventListener(e,(()=>{this.holdTimer.stop()}),{passive:!0})}))}bind(e,t){if(e.actionHandlerOptions)return void(e.actionHandlerOptions=t);e.actionHandlerOptions=t,e.addEventListener("contextmenu",(e=>{const t=e||window.event;return t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.cancelBubble=!0,t.returnValue=!1,!1}));const n=()=>{this.held=!1,this.holdTimer.start(this.holdTime,(()=>{this.held=!0})),this.started||(this.started=!0,et(e,"action",{action:"start_tap"}))},a=t=>{this.holdTimer.stop(),this.started&&(this.started=!1,et(e,"action",{action:"end_tap"}))},i=t=>{const n=e.actionHandlerOptions;n?.allowPropagation||wf(t),["touchend","touchcancel"].includes(t.type)&&!this.held||(a(),n?.hasHold&&this.held?et(e,"action",{action:"hold"}):n?.hasDoubleClick?"click"===t.type&&t.detail<2||!this.doubleClickTimer.isRunning()?this.doubleClickTimer.start(.25,(()=>et(e,"action",{action:"tap"}))):(this.doubleClickTimer.stop(),et(e,"action",{action:"double_tap"})):et(e,"action",{action:"tap"}))};e.addEventListener("touchstart",n,{passive:!0}),e.addEventListener("touchend",i),e.addEventListener("touchcancel",i),e.addEventListener("mousedown",n,{passive:!0}),e.addEventListener("click",i),e.addEventListener("keyup",(e=>{"Enter"===e.key&&i(e)})),e.addEventListener("mouseleave",a)}}customElements.define("action-handler-frigate-card",Cf);const Mf=(e,t)=>{const n=(()=>{const e=document.body;if(e.querySelector("action-handler-frigate-card"))return e.querySelector("action-handler-frigate-card");const t=document.createElement("action-handler-frigate-card");return e.appendChild(t),t})();n&&n.bind(e,t)},kf=ge(class extends fe{update(e,[t]){return Mf(e.element,t),U}render(e){}});var Sf=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)lp(t,gp(e)),e=Pm(e);return t}:hp;function Ef(e){return up(e,Km,Sf)}var $f=Object.prototype.hasOwnProperty;var Af=/\w*$/;var zf=nh?nh.prototype:void 0,If=zf?zf.valueOf:void 0;var Tf="[object Boolean]",jf="[object Date]",Of="[object Map]",Df="[object Number]",Rf="[object RegExp]",Pf="[object Set]",Lf="[object String]",Nf="[object Symbol]",Ff="[object ArrayBuffer]",Vf="[object DataView]",Hf="[object Float32Array]",Bf="[object Float64Array]",qf="[object Int8Array]",Uf="[object Int16Array]",Wf="[object Int32Array]",Zf="[object Uint8Array]",Qf="[object Uint8ClampedArray]",Gf="[object Uint16Array]",Yf="[object Uint32Array]";function Kf(e,t,n){var a,i,r,o=e.constructor;switch(t){case Ff:return Tm(e);case Tf:case jf:return new o(+e);case Vf:return function(e,t){var n=t?Tm(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case Hf:case Bf:case qf:case Uf:case Wf:case Zf:case Qf:case Gf:case Yf:return jm(e,n);case Of:return new o;case Df:case Lf:return new o(e);case Rf:return(r=new(i=e).constructor(i.source,Af.exec(i))).lastIndex=i.lastIndex,r;case Pf:return new o;case Nf:return a=e,If?Object(If.call(a)):{}}}var Xf=Pp&&Pp.isMap,Jf=Xf?Tp(Xf):function(e){return fp(e)&&"[object Map]"==pm(e)};var e_=Pp&&Pp.isSet,t_=e_?Tp(e_):function(e){return fp(e)&&"[object Set]"==pm(e)},n_=1,a_=2,i_=4,r_="[object Arguments]",o_="[object Function]",s_="[object GeneratorFunction]",c_="[object Object]",l_={};function d_(e,t,n,a,i,r){var o,s=t&n_,c=t&a_,l=t&i_;if(n&&(o=i?n(e,a,i,r):n(e)),void 0!==o)return o;if(!hh(e))return e;var d=dp(e);if(d){if(o=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&$f.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!s)return Om(e,o)}else{var u=pm(e),h=u==o_||u==s_;if(kp(e))return Im(e,s);if(u==c_||u==r_||h&&!i){if(o=c||h?{}:Lm(e),!s)return c?function(e,t){return Qm(e,Sf(e),t)}(e,function(e,t){return e&&Qm(t,Km(t),e)}(o,e)):function(e,t){return Qm(e,gp(e),t)}(e,function(e,t){return e&&Qm(t,Qp(t),e)}(o,e))}else{if(!l_[u])return i?e:{};o=Kf(e,u,s)}}r||(r=new Lh);var p=r.get(e);if(p)return p;r.set(e,o),t_(e)?e.forEach((function(a){o.add(d_(a,t,n,a,e,r))})):Jf(e)&&e.forEach((function(a,i){o.set(i,d_(a,t,n,i,e,r))}));var m=d?void 0:(l?c?Ef:Gp:c?Km:Qp)(e);return function(e,t){for(var n=-1,a=null==e?0:e.length;++nvoid 0===globalThis.DOMException?new __(e):new DOMException(e),y_=e=>{const t=void 0===e.reason?v_("This operation was aborted."):e.reason;return t instanceof Error?t:v_(t)};class b_{#e=[];enqueue(e,t){const n={priority:(t={priority:0,...t}).priority,run:e};if(this.size&&this.#e[this.size-1].priority>=t.priority)return void this.#e.push(n);const a=function(e,t,n){let a=0,i=e.length;for(;i>0;){const r=Math.trunc(i/2);let o=a+r;n(e[o],t)<=0?(a=++o,i-=r+1):i=r}return a}(this.#e,n,((e,t)=>t.priority-e.priority));this.#e.splice(a,0,n)}dequeue(){const e=this.#e.shift();return e?.run}filter(e){return this.#e.filter((t=>t.priority===e.priority)).map((e=>e.run))}get size(){return this.#e.length}}class w_ extends g_{#t;#n;#a=0;#i;#r;#o=0;#s;#c;#e;#l;#d=0;#u;#h;#p;timeout;constructor(e){if(super(),!("number"==typeof(e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:b_,...e}).intervalCap&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(void 0===e.interval||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#t=e.carryoverConcurrencyCount,this.#n=e.intervalCap===Number.POSITIVE_INFINITY||0===e.interval,this.#i=e.intervalCap,this.#r=e.interval,this.#e=new e.queueClass,this.#l=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#p=!0===e.throwOnTimeout,this.#h=!1===e.autoStart}get#m(){return this.#n||this.#a{this.#v()}),t)),!0;this.#a=this.#t?this.#d:0}return!1}#_(){if(0===this.#e.size)return this.#s&&clearInterval(this.#s),this.#s=void 0,this.emit("empty"),0===this.#d&&this.emit("idle"),!1;if(!this.#h){const e=!this.#w;if(this.#m&&this.#g){const t=this.#e.dequeue();return!!t&&(this.emit("active"),t(),e&&this.#b(),!0)}}return!1}#b(){this.#n||void 0!==this.#s||(this.#s=setInterval((()=>{this.#y()}),this.#r),this.#o=Date.now()+this.#r)}#y(){0===this.#a&&0===this.#d&&this.#s&&(clearInterval(this.#s),this.#s=void 0),this.#a=this.#t?this.#d:0,this.#x()}#x(){for(;this.#_(););}get concurrency(){return this.#u}set concurrency(e){if(!("number"==typeof e&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#u=e,this.#x()}async#C(e){return new Promise(((t,n)=>{e.addEventListener("abort",(()=>{n(e.reason)}),{once:!0})}))}async add(e,t={}){return t={timeout:this.timeout,throwOnTimeout:this.#p,...t},new Promise(((n,a)=>{this.#e.enqueue((async()=>{this.#d++,this.#a++;try{t.signal?.throwIfAborted();let a=e({signal:t.signal});t.timeout&&(a=function(e,t){const{milliseconds:n,fallback:a,message:i,customTimers:r={setTimeout:setTimeout,clearTimeout:clearTimeout}}=t;let o;const s=new Promise(((s,c)=>{if("number"!=typeof n||1!==Math.sign(n))throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${n}\``);if(t.signal){const{signal:e}=t;e.aborted&&c(y_(e)),e.addEventListener("abort",(()=>{c(y_(e))}))}if(n===Number.POSITIVE_INFINITY)return void e.then(s,c);const l=new f_;o=r.setTimeout.call(void 0,(()=>{if(a)try{s(a())}catch(e){c(e)}else"function"==typeof e.cancel&&e.cancel(),!1===i?s():i instanceof Error?c(i):(l.message=i??`Promise timed out after ${n} milliseconds`,c(l))}),n),(async()=>{try{s(await e)}catch(e){c(e)}})()})),c=s.finally((()=>{c.clear()}));return c.clear=()=>{r.clearTimeout.call(void 0,o),o=void 0},c}(Promise.resolve(a),{milliseconds:t.timeout})),t.signal&&(a=Promise.race([a,this.#C(t.signal)]));const i=await a;n(i),this.emit("completed",i)}catch(e){if(e instanceof f_&&!t.throwOnTimeout)return void n();a(e),this.emit("error",e)}finally{this.#f()}}),t),this.emit("add"),this.#_()}))}async addAll(e,t){return Promise.all(e.map((async e=>this.add(e,t))))}start(){return this.#h?(this.#h=!1,this.#x(),this):this}pause(){this.#h=!0}clear(){this.#e=new this.#l}async onEmpty(){0!==this.#e.size&&await this.#M("empty")}async onSizeLessThan(e){this.#e.sizethis.#e.size{const a=()=>{t&&!t()||(this.off(e,a),n())};this.on(e,a)}))}get size(){return this.#e.size}sizeBy(e){return this.#e.filter(e).length}get pending(){return this.#d}get isPaused(){return this.#h}}var x_={frigate_card:"Frigate card",frigate_card_description:"A Lovelace card for use with Frigate",live:"Live",no_media:"No media to display",recordings:"Recordings",version:"Version"},C_={cameras:{camera_entity:"Camera Entity",capabilities:{capabilities:{clips:"Clips","favorite-events":"Favorite Events","favorite-recordings":"Favorite Recordings",live:"Live",menu:"Menu",ptz:"PTZ",recordings:"Recordings",seek:"Seeking",snapshots:"Snapshots",substream:"Substream"},disable:"Disable",disable_except:"Disable except",editor_label:"Camera capabilities"},cast:{dashboard:{dashboard_path:"Dashboard path",view_path:"View path"},editor_label:"Cast options",method:"Cast method",methods:{dashboard:"Dashboard",standard:"Standard"}},dependencies:{all_cameras:"Show events for all cameras with this camera",cameras:"Show events for specific cameras with this camera",editor_label:"Dependency options"},dimensions:{aspect_ratio:"Static aspect ratio",editor_label:"Camera dimensions",layout:{editor_label:"Camera Layout",fit:"Layout fit",fits:{contain:"Media is contained/letterboxed",cover:"Media expands proportionally to cover the card",fill:"Media is stretched to fill the card"},pan:{x:"Pan horizontal percentage",y:"Pan vertical percentage"},position:{editor_label:"Layout Cover Position",x:"Horizontal placement percentage",y:"Vertical placement percentage"},view_box:{bottom:"Bottom inset percentage",editor_label:"Layout View Box",left:"Left inset percentage",right:"Right inset percentage",top:"Top inset percentage"},zoom:"Zoom factor"}},engines:{editor_label:"Camera engine options"},frigate:{camera_name:"Frigate camera name (Autodetected from entity)",client_id:"Frigate client id (For >1 Frigate server)",editor_label:"Frigate options",labels:"Frigate labels/object filters",url:"Frigate server URL",zones:"Frigate zones"},go2rtc:{editor_label:"go2rtc Options",modes:{editor_label:"go2rtc Modes",mjpeg:"Motion JPEG (MJPEG)",mp4:"MPEG-4 (MP4)",mse:"Media Source Extensions (MSE)",webrtc:"Web Real-Time Communication (WebRTC)"},stream:"go2rtc stream name"},icon:"Icon for this camera (Autodetected from entity)",id:"Unique id for this camera in this card",image:{editor_label:"Image Options",refresh_seconds:"Number of seconds after which to refresh live image (0=never)",url:"Image URL to use instead of camera entity snapshot"},live_provider:"Live view provider for this camera",live_provider_options:{editor_label:"Live provider options"},live_providers:{auto:"Automatic",go2rtc:"go2rtc",ha:"Home Assistant video stream (i.e. HLS, LL-HLS, WebRTC via HA)",image:"Home Assistant images",jsmpeg:"JSMpeg","webrtc-card":"WebRTC Card (i.e. AlexxIT's WebRTC Card)"},motioneye:{editor_label:"MotionEye options",images:{directory_pattern:"Images directory pattern",file_pattern:"Images file pattern"},movies:{directory_pattern:"Movies directory pattern",file_pattern:"Movies file pattern"},url:"MotionEye UI URL"},proxy:{dynamic:"Dynamic proxying",editor_label:"Camera proxying",media:{auto:"Media proxying automatically configured",editor_label:"Media proxying",false:"Media proxying disabled",true:"Media proxying enabled"},ssl_ciphers:{auto:"SSL ciphers automatically configured",default:"Default SSL ciphers",editor_label:"SSL ciphers",insecure:"Insecure SSL ciphers",intermediate:"Intermediate SSL ciphers",modern:"Modern SSL ciphers"},ssl_verification:{auto:"SSL verification automatically configured",editor_label:"SSL verification",false:"SSL verification disabled",true:"SSL verification enabled"}},reolink:{editor_label:"Reolink options",media_resolution:{editor_label:"Media Resolution",high:"High Resolution",low:"Low Resolution"},url:"Reolink UI URL"},title:"Title for this camera (Autodetected from entity)",triggers:{editor_label:"Trigger options",entities:"Trigger from other entities",events:{clips:"Events with new clips",editor_label:"Trigger Events",events:"All events",snapshots:"Events with new snapshots"},motion:"Trigger by auto-detecting the motion sensor",occupancy:"Trigger by auto-detecting the occupancy sensor"},webrtc_card:{editor_label:"WebRTC Card Options",entity:"WebRTC Card Camera Entity (Not a Frigate camera)",url:"WebRTC Card Camera URL"}},common:{controls:{builtin:"Built-in video controls",filter:{editor_label:"Media Filter",mode:"Filter mode",modes:{left:"Media filter in a drawer to the left",none:"No media filter",right:"Media filter in a drawer to the right"}},next_previous:{editor_label:"Next & Previous",size:"Next & previous control size in pixels",style:"Next & previous control style",styles:{chevrons:"Chevrons",icons:"Icons",none:"None",thumbnails:"Thumbnails"}},thumbnails:{editor_label:"Thumbnails",events_media_type:"Whether to show event thumbnails of clips or snapshots",events_media_types:{clips:"Clip thumbnails",snapshots:"Snapshot thumbnails"},media_type:"Whether to show thumnails of events or recordings",media_types:{events:"Events",recordings:"Recordings"},mode:"Thumbnails mode",modes:{above:"Thumbnails above",below:"Thumbnails below",left:"Thumbnails in a drawer to the left",none:"No thumbnails",right:"Thumbnails in a drawer to the right"},show_details:"Show details with thumbnails",show_download_control:"Show download control on thumbnails",show_favorite_control:"Show favorite control on thumbnails",show_timeline_control:"Show timeline control on thumbnails",size:"Thumbnails size in pixels"},timeline:{editor_label:"Mini Timeline",mode:"Mode",modes:{above:"Above",below:"Below",none:"None"},pan_mode:"Default pan mode",pan_modes:{pan:"Pan",seek:"Pan seeks across all media","seek-in-camera":"Pan seeks within selected camera only","seek-in-media":"Pan seeks within selected media item only"}}},display:{editor_label:"Display",grid_columns:"Exact number of grid columns",grid_max_columns:"Maximum number of grid columns",grid_selected_width_factor:"Increase selected media width by this factor",mode:"Mode"},image:{entity:"Entity for use with entity mode",entity_parameters:"Query parameters added to the entity-based picture URLs (e.g. width=1920&height=1080)",mode:"Image mode",modes:{camera:"Home Assistant camera snapshot of camera entity",entity:"Entity with entity_picture attribute",screensaver:"Embedded Frigate logo",url:"Arbitrary image specified by URL"},refresh_seconds:"Number of seconds after which to refresh (0=never)",url:"Static image URL"},media_action_conditions:{all:"All opportunities",hidden:"On browser/tab hiding",microphone_mute:"On microphone mute",microphone_unmute:"On microphone unmute",never:"Never",selected:"On selection",unselected:"On unselection",visible:"On browser/tab visibility"},timeline:{clustering_threshold:"The count of events at which they are clustered (0=no clustering)",events_media_type:"The events media the timeline displays",events_media_types:{all:"All event media types",clips:"Clips",snapshots:"Snapshots"},show_recordings:"Show recordings",style:"Timeline style",styles:{ribbon:"Events on a single ribbon",stack:"Stacked & clustered events"},window_seconds:"The default length of the timeline view in seconds"}},dimensions:{aspect_ratio:"Default aspect ratio (e.g. '16:9')",aspect_ratio_mode:"Aspect ratio mode",aspect_ratio_modes:{dynamic:"Aspect ratio adjusts to media",static:"Static aspect ratio",unconstrained:"Unconstrained aspect ratio"},height:"Card height in CSS units (e.g. '500px')"},live:{auto_mute:"Automatically mute live cameras",auto_pause:"Automatically pause live cameras",auto_play:"Automatically play live cameras",auto_unmute:"Automatically unmute live cameras",controls:{editor_label:"Live Controls",ptz:{editor_label:"PTZ",hide_home:"Hide home control",hide_pan_tilt:"Hide pan & tilt control",hide_zoom:"Hide zoom control",mode:"Mode",modes:{off:"Off",on:"On"},orientation:"Orientation",orientations:{horizontal:"Horizontal",vertical:"Vertical"},position:"Position",positions:{"bottom-left":"Bottom left","bottom-right":"Bottom right","top-left":"Top left","top-right":"Top right"}}},draggable:"Live cameras view can be dragged/swiped",lazy_load:"Live cameras are lazily loaded",lazy_unload:"Live cameras are lazily unloaded",microphone:{always_connected:"Always keep the microphone connected",disconnect_seconds:"Seconds after which to disconnect microphone (0=never)",editor_label:"Microphone",enabled:"Microphone enabled",mute_after_microphone_mute_seconds:"Seconds after microphone mute to mute inbound audio"},preload:"Preload live view in the background",show_image_during_load:"Show still image while the live stream is loading",transition_effect:"Live camera transition effect",zoomable:"Live cameras can be zoomed/panned"},media_viewer:{auto_mute:"Automatically mute media",auto_pause:"Automatically pause media",auto_play:"Automatically play media",auto_unmute:"Automatically unmute media",controls:{editor_label:"Media Viewer Controls"},draggable:"Media Viewer can be dragged/swiped",lazy_load:"Media Viewer media is lazily loaded in carousel",snapshot_click_plays_clip:"Clicking on a snapshot plays a related clip",transition_effect:"Media Viewer transition effect",transition_effects:{none:"No transition",slide:"Slide transition"},zoomable:"Media Viewer can be zoomed/panned"},menu:{alignment:"Menu alignment",alignments:{bottom:"Aligned to the bottom",left:"Aligned to the left",right:"Aligned to the right",top:"Aligned to the top"},button_size:"Menu button size in pixels",buttons:{alignment:"Button alignment",alignments:{matching:"Matching the menu alignment",opposing:"Opposing the menu alignment"},camera_ui:"Camera user interface",cameras:"Cameras",clips:"Clips",display_mode:"Display mode",download:"Download",enabled:"Button enabled",expand:"Expand",frigate:"Frigate menu / Default view",fullscreen:"Fullscreen",icon:"Icon",image:"Image",live:"Live",media_player:"Send to media player",microphone:"Microphone",mute:"Mute / Unmute",permanent:"Show when the menu is hidden",play:"Play / Pause",priority:"Priority",ptz_controls:"Show PTZ controls",ptz_home:"PTZ Home",recordings:"Recordings",screenshot:"Screenshot",snapshots:"Snapshots",substreams:"Substream(s)",timeline:"Timeline",type:"Button type",types:{momentary:"Momentary",toggle:"Toggle"}},position:"Menu position",positions:{bottom:"Positioned on the bottom",left:"Positioned on the left",right:"Positioned on the right",top:"Positioned on the top"},style:"Menu style",styles:{hidden:"Hidden menu",hover:"Hover menu","hover-card":"Hover menu (card-wide)",none:"No menu",outside:"Outside menu",overlay:"Overlay menu"}},overrides:{info:"This card configuration has manually specified overrides configured which may override values shown in the visual editor, please consult the code editor to view/modify these overrides"},performance:{features:{animated_progress_indicator:"Animated Progress Indicator",editor_label:"Feature Options",max_simultaneous_engine_requests:"Max simultaneous camera engine requests",media_chunk_size:"Media chunk size"},style:{border_radius:"Curves",box_shadow:"Shadows",editor_label:"Style Options"},warning:"This card is in low profile mode so defaults have changed to optimize performance"},profiles:{casting:"Casting",editor_label:"Configuration profiles","low-performance":"Low performance",scrubbing:"Video scrubbing"},status_bar:{height:"Status bar height in pixels",items:{enabled:"Item enabled",engine:"Camera engine",live_provider:"Live provider",priority:"Item priority",resolution:"Resolution",technology:"Technology",title:"Title"},popup_seconds:"Status bar popup seconds",position:"Status bar position",positions:{bottom:"Positioned on the bottom",top:"Positioned on the top"},style:"Status bar style",styles:{hover:"Hover status bar","hover-card":"Hover status bar (card-wide)",none:"No status bar",outside:"Outside status bar",overlay:"Overlay status bar",popup:"Popup status bar"}},view:{camera_select:"View for newly selected cameras",dark_mode:"Dark mode",dark_modes:{auto:"Auto",off:"Off",on:"On"},default:"Default view",default_cycle_camera:"Cycle through cameras when default view updates",default_reset:{after_interaction:"Reset to the default view after user interaction ends",editor_label:"Default view reset behavior",entities:"Reset to the default view on entity state change",every_seconds:"Reset to default view every X seconds (0=never)",interaction_mode:"How default reset behaves when the card has human interaction",interaction_modes:{active:"Only allow reset when card has active human interaction",all:"Reset regardless of human interaction",inactive:"Only reset when card has no human interaction"}},interaction_seconds:"Seconds after user action to remain interacted with (0=never)",keyboard_shortcuts:{editor_label:"Keyboard shortcuts",enabled:"Keyboard shortcuts enabled",ptz_down:"PTZ Down",ptz_home:"PTZ Home",ptz_left:"PTZ Left",ptz_right:"PTZ Right",ptz_up:"PTZ Up",ptz_zoom_in:"PTZ Zoom In",ptz_zoom_out:"PTZ Zoom Out"},triggers:{actions:{editor_label:"Trigger actions",interaction_mode:"How to handle actions when the card has human interaction",interaction_modes:{active:"Only trigger actions when card has human interaction",all:"Trigger actions regardless of human interaction",inactive:"Only trigger actions when card has no human interaction"},trigger:"Trigger action",triggers:{default:"Change to or update default view",live:"Change to or update live view",media:"Change to the relevant media view for new media",none:"No action"},untrigger:"Untrigger action",untriggers:{default:"Change to default view/camera",none:"No action"}},editor_label:"Trigger behavior",filter_selected_camera:"Only trigger on selected camera",show_trigger_status:"Show pulsing border when triggered",untrigger_seconds:"Seconds after inactive state change to untrigger"},views:{clip:"Most recent clip",clips:"Clips gallery",current:"Current view",image:"Static image",live:"Live view",recording:"Most recent recording",recordings:"Recordings gallery",snapshot:"Most recent snapshot",snapshots:"Snapshots gallery",timeline:"Timeline view"}}},M_={grid:"Show media viewer for each camera in a grid",single:"Show single media viewer"},k_={add_new_camera:"Add new camera",button:"Button",camera:"Camera",cameras:"Cameras",cameras_secondary:"What cameras to render on this card",delete:"Delete",dimensions:"Card dimensions",dimensions_secondary:"Card dimensions & shape options",image:"Image",image_secondary:"Static image view options",live:"Live",live_secondary:"Live camera view options",media_gallery:"Media gallery",media_gallery_secondary:"Media gallery options",media_viewer:"Media viewer",media_viewer_secondary:"Viewer for static media (clips, snapshots or recordings)",menu:"Menu",menu_secondary:"Menu look & feel options",move_down:"Move down",move_up:"Move up",overrides:"Overrides are active",overrides_secondary:"Dynamic configuration overrides detected",performance:"Performance",performance_secondary:"Card performance options",profiles:"Configuration profiles",profiles_secondary:"Choose pre-configured sets of defaults",status_bar:"Status bar",status_bar_secondary:"Status bar look & feel options",timeline:"Timeline",timeline_secondary:"Event timeline options",upgrade:"Upgrade",upgrade_available:"An automatic card configuration upgrade is available",view:"View",view_secondary:"What the card should show and how to show it"},S_={ptz:{down:"Down",home:"Home",left:"Left",right:"Right",up:"Up",zoom_in:"Zoom In",zoom_out:"Zoom Out"}},E_={awaiting_live:"Waiting for live stream to load ...",awaiting_media:"Waiting for media to load",camera_initialization:"Camera initialization failed",camera_initialization_reolink:"Could not initialize Reolink camera",could_not_render_elements:"Could not render picture elements",could_not_resolve:"Could not resolve media URL",diagnostics:"Card diagnostics. Please review for confidential information prior to sharing",download_no_media:"No media to download",download_sign_failed:"Could not sign media URL for download",duplicate_camera_id:"Duplicate Frigate camera id for the following camera, use the 'id' parameter to uniquely identify cameras",empty_response:"Received empty response from Home Assistant for request",failed_response:"Failed to receive response from Home Assistant for request",failed_retain:"Could not retain event",failed_sign:"Could not sign Home Assistant URL",image_load_error:"The image could not be loaded",invalid_configuration:"Invalid configuration",invalid_configuration_no_hint:"No location hint available (bad or missing type?)",invalid_configuration_override:"Invalid override configuration",invalid_elements_config:"Invalid picture elements configuration",invalid_response:"Received invalid response from Home Assistant for request",jsmpeg_no_player:"Could not start JSMPEG player",live_camera_no_endpoint:"Could not get camera endpoint for this live provider (incomplete configuration?)",live_camera_not_found:"The configured camera_entity was not found",live_camera_unavailable:"Camera unavailable",no_camera_engine:"Could not determine suitable engine for camera",no_camera_entity:"Could not find camera entity",no_camera_entity_for_triggers:"A camera entity is required in order to autodetect triggers",no_camera_id:"Could not determine camera id for the following camera, may need to set 'id' parameter manually",no_camera_name:"Could not determine a Frigate camera name for camera (or one of its dependents), please specify either 'camera_entity' or 'camera_name'",no_dashboard_or_view:"Both 'dashboard_path' and 'view_path' parameters are required for the 'dashboard' cast method",no_live_camera:"The camera_entity parameter must be set and valid for this live provider",no_supported_camera:"The selected camera does not support this view",no_supported_cameras:"No cameras support this view",reconnecting:"Reconnecting",too_many_automations:"Too many nested automation calls, please check your configuration for loops",troubleshooting:"Check troubleshooting",unknown:"Unknown error",upgrade_available:"An automated card configuration upgrade is available, please visit the visual card editor",webrtc_card_reported_error:"WebRTC Card reported an error",webrtc_card_waiting:"Waiting for WebRTC Card to load ..."},$_={camera:"Camera",duration:"Duration",in_progress:"In Progress",score:"Score",seek:"Seek",start:"Start",tag:"Tag",what:"What",where:"Where"},A_={assign:"Assign",assigning:"Assigning",modifiers:{alt:"Alt",ctrl:"Ctrl",meta:"Meta",shift:"Shift"},unassign:"Unassign"},z_={all:"All",camera:"Camera",favorite:"Favorite",media_type:"Media Type",media_types:{clips:"Clips",recordings:"Recordings",snapshots:"Snapshots"},not_favorite:"Not Favorite",select_camera:"Select camera...",select_favorite:"Select favorite...",select_media_type:"Select media type...",select_tag:"Select tag...",select_what:"Select what...",select_when:"Select when...",select_where:"Select where...",tag:"Tag",what:"What",when:"When",whens:{custom:"Custom",past_month:"Past Month",past_week:"Past Week",today:"Today",yesterday:"Yesterday"},where:"Where"},I_={unseekable:"Seek time not found in media"},T_={camera:"Camera",duration:"Duration",events:"Events",in_progress:"In Progress",seek:"Seek",start:"Start"},j_={download:"Download media",no_thumbnail:"No thumbnail available",retain_indefinitely:"Media will be indefinitely retained",timeline:"See media in timeline"},O_={select_date:"Choose date"},D_={common:x_,config:C_,display_modes:M_,editor:k_,elements:S_,error:E_,event:$_,key_assigner:A_,media_filter:z_,media_viewer:I_,recording:T_,thumbnail:j_,timeline:O_},R_=Object.freeze({__proto__:null,common:x_,config:C_,default:D_,display_modes:M_,editor:k_,elements:S_,error:E_,event:$_,key_assigner:A_,media_filter:z_,media_viewer:I_,recording:T_,thumbnail:j_,timeline:O_});const P_="en",L_={[P_]:R_};let N_;function F_(e){const t=e=>e.replace("-","_"),n=e?.language??e?.selectedLanguage;if(n)return t(n);const a=localStorage.getItem("selectedLanguage");if(a){const e=JSON.parse(a);if(e)return t(e)}for(const e of navigator.languages){const n=t(e);if(n&&n in L_)return n}return P_}function V_(e,t="",n=""){let a="";try{a=e.split(".").reduce(((e,t)=>e[t]),L_[N_??P_])}catch(e){}return a||(a=e.split(".").reduce(((e,t)=>e[t]),L_[P_])),""!==t&&""!==n&&(a=a.replace(t,n)),a}function H_(e){return"string"==typeof e?.id&&e.id||"string"==typeof e?.camera_entity&&e.camera_entity||"object"==typeof e?.webrtc_card&&e.webrtc_card&&("string"==typeof e.webrtc_card.entity&&e.webrtc_card.entity||"string"==typeof e.webrtc_card.url&&e.webrtc_card.url)||"object"==typeof e?.go2rtc&&e.go2rtc&&"string"==typeof e.go2rtc.url&&"string"==typeof e.go2rtc.stream&&`${e.go2rtc.url}#${e.go2rtc.stream}`||"object"==typeof e?.frigate&&e.frigate&&"string"==typeof e?.frigate.camera_name&&e.frigate.camera_name||""}const B_=(e,...t)=>{e?.debug?.logging&&console.debug(...t)},q_=(e,t,n)=>"preset"===t?(n?.preset?e.ptz.presets?.[n.preset]:null)??null:n?.phase?e.ptz[`actions_${t}_${n.phase}`]??null:e.ptz[`actions_${t}`]??null,U_=(e,t,n)=>!!q_(e,t,n),W_=(e,t)=>{const n=U_(e,t,{phase:"start"})&&U_(e,t,{phase:"stop"}),a=U_(e,t);return n||a?[...n?["continuous"]:[],...a?["relative"]:[]]:null},Z_=e=>{const t=W_(e,"left"),n=W_(e,"right"),a=W_(e,"up"),i=W_(e,"down"),r=W_(e,"zoom_in"),o=W_(e,"zoom_out"),s=e.ptz.presets?Object.keys(e.ptz.presets):void 0;return t?.length||n?.length||a?.length||i?.length||r?.length||o?.length||s?.length?{...t?{left:t}:{},...n?{right:n}:{},...a?{up:a}:{},...i?{down:i}:{},...r?{zoomIn:r}:{},...o?{zoomOut:o}:{},...s?{presets:s}:{}}:null};class Q_{constructor(e,t){this._capabilities=e;for(const e of t?.disable??[])this._disable(e);for(const e of Ts)t?.disableExcept?.length&&!t.disableExcept.includes(e)&&this._disable(e)}_disable(e){delete this._capabilities[e]}matches(e){let t=!0;return"string"==typeof e&&(t&&=this.has(e)),"object"==typeof e&&e.allCapabilities&&(t&&=e.allCapabilities.every((e=>this.has(e)))),"object"==typeof e&&e.anyCapabilities&&(t&&=e.anyCapabilities.some((e=>this.has(e)))),t}has(e){return!!this._capabilities[e]}getPTZCapabilities(){return this._capabilities.ptz??null}hasPTZCapability(){return!!(this._capabilities.ptz?.down?.length||this._capabilities.ptz?.up?.length||this._capabilities.ptz?.left?.length||this._capabilities.ptz?.right?.length||this._capabilities.ptz?.zoomIn?.length||this._capabilities.ptz?.zoomOut?.length||this._capabilities.ptz?.presets?.length)}getRawCapabilities(){return this._capabilities}}function G_(e,t,n){var a=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(n=n>i?i:n)<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var r=Array(i);++at||r&&o&&c&&!s&&!l||a&&o&&c||!n&&c||!i)return 1;if(!a&&!r&&!l&&e=s?c:c*("desc"==n[a]?-1:1)}return e.index-t.index}(e,t,n)}))}function Ev(e,t,n,a){return null==e?[]:(dp(t)||(t=null==t?[]:[t]),dp(n=a?void 0:n)||(n=null==n?[]:[n]),Sv(e,t,n))}async function $v(e,t,n,a=!1){let i;try{i=await e.callWS(n)}catch(e){if(!(e instanceof Error))throw new zs(V_("error.failed_response"),{request:n,response:e});throw e}if(!i)throw new zs(V_("error.empty_response"),{request:n});const r=a?t.safeParse(JSON.parse(i)):t.safeParse(i);if(!r.success)throw new zs(V_("error.invalid_response"),{request:n,response:i,invalid_keys:Rs(r.error)});return r.data}const Av=ba.lazy((()=>ba.object({title:ba.string(),media_class:ba.string(),media_content_type:ba.string(),media_content_id:ba.string(),can_play:ba.boolean(),can_expand:ba.boolean(),children_media_class:ba.string().nullable().optional(),thumbnail:ba.string().nullable(),children:ba.array(Av).nullable().optional()}))),zv="video",Iv="image",Tv=60,jv=e=>Ev(e,(e=>e._metadata?.startDate),"desc");class Ov{async walkBrowseMedias(e,t,n){return t&&t.length?(await tf(t,(async t=>await this._walkBrowseMedia(e,t,n)))).flat():[]}async _walkBrowseMedia(e,t,n){let a=[];for(const i of function(e,t,n){t=(n?dg(e,t,n):void 0===t)?1:K_(Sg(t),0);var a=null==e?0:e.length;if(!a||t<1)return[];for(var i=0,r=0,o=Array(Y_(a/t));iawait this._browseMedia(e,a,{cache:n?.cache,matcher:t.matcher,metadataGenerator:t.metadataGenerator})));for(const e of r)for(const n of e.children??[])t.matcher(n)&&a.push(n);if(t.sorter&&(a=t.sorter(a)),t.earlyExit&&t.earlyExit(a))break}const i=t.advance?t.advance(a):null;return i?.length?await this.walkBrowseMedias(e,i,n):a}async _browseMedia(e,t,n){const a="object"==typeof t?t.media_content_id:t,i=n?.cache?n.cache.get(a):null;if(i)return i;const r={type:"media_source/browse_media",media_content_id:a},o=await $v(e,Av,r);if(n?.metadataGenerator)for(const e of o.children??[])e._metadata=n.metadataGenerator(e,"object"==typeof t?t:void 0)??void 0;return n?.cache&&n.cache.set(a,o,Ud(new Date,{seconds:60})),o}}function Dv(e,t){return bm(e,t)}function Rv(e,t){return e&&e.length?function(e,t){for(var n=-1,a=e.length,i=0,r=[];++nNv(t,e)))}add(e){this._ranges.push(e),this._ranges=Vv(this._ranges)}clear(){this._ranges=[]}}class Lv{constructor(e){this._ranges=e??[]}hasCoverage(e){const t=new Date;return this._ranges.some((n=>tet.start>=e.start&&t.end<=e.end,Fv=(e,t)=>e.start>=t.start&&e.start<=t.end||e.end>=t.start&&e.end<=t.end||e.start<=t.start&&e.end>=t.end,Vv=(e,t=0)=>{const n=[];e=Ev(e,(e=>e.start),"asc");let a=null;for(const i of e){const e=i.start instanceof Date?i.start.getTime():i.start;if(!a){a={...i};continue}(a.end instanceof Date?a.end.getTime():a.end)+1e3*t>=e?i.end>a.end&&(a.end=i.end):(n.push(a),a={...i})}return a&&n.push(a),n};class Hv{constructor(){this._data=[]}get(e){const t=new Date;for(const n of this._data)if((!n.expires||t<=n.expires)&&this._contains(e,n.request))return n.response;return null}clear(){this._data=[]}has(e){return!!this.get(e)}set(e,t,n){this._data.push({request:e,response:t,expires:n}),this._expireOldRequests()}_contains(e,t){return Dv(e,t)}_expireOldRequests(){const e=new Date;this._data=this._data.filter((t=>!t.expires||e=e.start.getTime()){if(a>e.end.getTime())break;t.push(n)}}return t}getSize(){return this._data.length}expireMatches(e){this._data=this._data.filter((t=>!e(t)))}}class Uv{constructor(){this._segments=new Map}add(e,t,n){let a=this._segments.get(e);a||(a=new qv((e=>1e3*e.start_time),(e=>e.id)),this._segments.set(e,a)),a.add(t,n)}clear(){this._segments.clear()}hasCoverage(e,t){return!!this._segments.get(e)?.hasCoverage(t)}get(e,t){return this._segments.get(e)?.get(t)??null}getSize(e){return this._segments.get(e)?.getSize()??null}getCameraIDs(){return[...this._segments.keys()]}expireMatches(e,t){this._segments.get(e)?.expireMatches(t)}}class Wv extends zs{}class Zv extends zs{}var Qv,Gv,Yv;!function(e){e.Event="event-query",e.Recording="recording-query",e.RecordingSegments="recording-segments-query",e.MediaMetadata="media-metadata"}(Qv||(Qv={})),function(e){e.Event="event-results",e.Recording="recording-results",e.RecordingSegments="recording-segments-results",e.MediaMetadata="media-metadata-results"}(Gv||(Gv={})),function(e){e.Frigate="frigate",e.Generic="generic",e.MotionEye="motioneye",e.Reolink="reolink"}(Yv||(Yv={}));const Kv=e=>e.camera_entity??e.webrtc_card?.entity??null;class Xv{constructor(e){this._entityRegistryManager=e}async createEngine(e,t){let n;switch(e){case Yv.Generic:const{GenericCameraManagerEngine:e}=await import("./engine-generic-97fdd47e.js").then((function(e){return e.e}));n=new e(t.stateWatcher,t.eventCallback);break;case Yv.Frigate:const{FrigateCameraManagerEngine:a}=await import("./engine-frigate-f675aa79.js");n=new a(this._entityRegistryManager,t.stateWatcher,new Uv,new Bv,t.eventCallback);break;case Yv.MotionEye:const{MotionEyeCameraManagerEngine:i}=await import("./engine-motioneye-7a5554b3.js");n=new i(this._entityRegistryManager,t.stateWatcher,new Ov,t.resolvedMediaCache,new Bv,t.eventCallback);break;case Yv.Reolink:const{ReolinkCameraManagerEngine:r}=await import("./engine-reolink-13b9bf20.js");n=new r(this._entityRegistryManager,t.stateWatcher,new Ov,t.resolvedMediaCache,new Bv,t.eventCallback)}return n}async getEngineForCamera(e,t){let n=null;if("frigate"===t.engine)n=Yv.Frigate;else if("motioneye"===t.engine)n=Yv.MotionEye;else if("generic"===t.engine)n=Yv.Generic;else if("reolink"===t.engine)n=Yv.Reolink;else{const a=Kv(t);if(a){const i=await this._entityRegistryManager.getEntity(e,a);if(!i){if(e.states[a])return Yv.Generic;throw new Wv(V_("error.no_camera_entity"),t)}switch(i?.platform){case"frigate":n=Yv.Frigate;break;case"motioneye":n=Yv.MotionEye;break;case"reolink":n=Yv.Reolink;break;default:n=Yv.Generic}}else t.frigate.camera_name?n=Yv.Frigate:(t.webrtc_card?.url||t.go2rtc?.url&&t.go2rtc?.stream)&&(n=Yv.Generic)}return n}}class Jv{constructor(){this._cameras=new Map,this._enginesByType=new Map}addCamera(e){this._cameras.set(e.getID(),e),this._enginesByType.set(e.getEngine().getEngineType(),e.getEngine())}async setCameras(e){for(const t of e){const e=this._cameras.get(t.getID());e!==t&&(this.addCamera(t),await(e?.destroy()))}for(const t of this._cameras.values())e.includes(t)||(await t.destroy(),this._cameras.delete(t.getID()))}async reset(){await tf(this._cameras.values(),(e=>e.destroy())),this._cameras.clear(),this._enginesByType.clear()}getCamera(e){return this._cameras.get(e)??null}getCameras(){return this._cameras}getCameraConfig(e){return this._cameras.get(e)?.getConfig()??null}hasCameraID(e){return this._cameras.has(e)}getCameraCount(){return this._cameras.size}getDefaultCameraID(){return this._cameras.keys().next().value??null}*getCameraConfigs(e){for(const[t,n]of this.getCameraConfigEntries(e))yield n}*getCameraConfigEntries(e){for(const t of e??this._cameras.keys()){const e=this.getCameraConfig(t);e&&(yield[t,e])}}getCameraIDs(){return new Set(this._cameras.keys())}getCameraIDsWithCapability(e){const t=new Set;for(const n of this._cameras.values())n.getCapabilities()?.matches(e)&&t.add(n.getID());return t}getCameraConfigForMedia(e){return this.getCameraConfig(e.getCameraID())}getEngineOfType(e){return this._enginesByType.get(e)??null}getEngineForCameraID(e){return this._cameras.get(e)?.getEngine()??null}getEnginesForCameraIDs(e){const t=new Map;for(const n of e){const e=this.getEngineForCameraID(n);e&&(t.has(e)||t.set(e,new Set),t.get(e)?.add(n))}return t.size?t:null}getEngineForMedia(e){return this.getEngineForCameraID(e.getCameraID())}getAllDependentCameras(e,t){const n=new Set,a=new Set,i=e=>{n.add(e);const r=this.getCamera(e),o=r?.getConfig();if(r&&o){t&&!r.getCapabilities()?.matches(t)||a.add(e);const s=new Set;o.dependencies.cameras.forEach((e=>s.add(e))),o.dependencies.all_cameras&&this.getCameraIDs().forEach((e=>s.add(e)));for(const e of s)n.has(e)||i(e)}};return i(e),a}}const ey=e=>{return Ev((n=e=>e.getID()??e,(t=e)&&t.length?Hg(t,xv(n)):[]),(e=>e.getStartTime()??e.getID()),"asc");var t,n};class ty{static isEventQuery(e){return e.type===Qv.Event}static isRecordingQuery(e){return e.type===Qv.Recording}static isRecordingSegmentsQuery(e){return e.type===Qv.RecordingSegments}static isMediaMetadataQuery(e){return e.type===Qv.MediaMetadata}}class ny{static isEventQueryResult(e){return e.type===Gv.Event}static isRecordingQueryResult(e){return e.type===Gv.Recording}static isRecordingSegmentsQueryResult(e){return e.type===Gv.RecordingSegments}static isMediaMetadataQueryResult(e){return e.type===Gv.MediaMetadata}}class ay{constructor(e,t){this._requestLimit=new w_,this._api=e,this._engineFactory=t?.factory??new Xv(this._api.getEntityRegistryManager()),this._store=t?.store??new Jv}async initializeCamerasFromConfig(){const e=this._api.getConfigManager().getConfig(),t=this._api.getHASSManager().getHASS();if(!e||!t)return!1;this._requestLimit.concurrency=e.performance.features.max_simultaneous_engine_requests??1/0;const n=e.cameras.map((t=>{return n={},a=u_(e?.cameras_global),hg(n,a,t,((e,t)=>Array.isArray(t)?t:void 0));var n,a}));try{await this._initializeCameras(n)}catch(e){return this._api.getMessageManager().setErrorIfHigherPriority(e,V_("error.camera_initialization")),!1}return!0}async reset(){await this._store.reset()}async _getEnginesForCameras(e){const t=new Map,n=new Map,a=this._api.getHASSManager().getHASS(); -/* istanbul ignore if: the if path cannot be reached -- @preserve */ -if(!a)return t;const i=await(async e=>await tf(e,(e=>this._engineFactory.getEngineForCamera(a,e))))(e);for(const[a,r]of e.entries()){const e=i[a],o=e?n.get(e)??await this._engineFactory.createEngine(e,{eventCallback:e=>this._api.getTriggersManager().handleCameraEvent(e),stateWatcher:this._api.getHASSManager().getStateWatcher(),resolvedMediaCache:this._api.getResolvedMediaCache()}):null;if(!o||!e)throw new Wv(V_("error.no_camera_engine"),u_(r));n.set(e,o),t.set(r,o)}return t}async _initializeCameras(e){const t=new Date,n=this._api.getHASSManager().getHASS(); -/* istanbul ignore if: the if path cannot be reached -- @preserve */ -if(!n)return;e.some((e=>(e=>e.triggers.motion||e.triggers.occupancy)(e)))&&await this._api.getEntityRegistryManager().fetchEntityList(n);const a=await this._getEnginesForCameras(e),i=await tf(a.entries(),(async([e,t])=>await t.createCamera(n,e))),r=async()=>{i.forEach((e=>e.destroy()))},o=new Set;for(const e of i){const t=H_(e.getConfig());if(!t)throw await r(),new Wv(V_("error.no_camera_id"),e.getConfig());if(o.has(t))throw await r(),new Wv(V_("error.duplicate_camera_id"),e.getConfig());e.setID(t),o.add(t)}await this._store.setCameras(i),B_(this._api.getConfigManager().getCardWideConfig(),"Frigate Card CameraManager initialized (Cameras: ",this._store.getCameras(),`, Duration: ${((new Date).getTime()-t.getTime())/1e3}s,`,")")}isInitialized(){return this._store.getCameraCount()>0}getStore(){return this._store}generateDefaultEventQueries(e,t){return this._generateDefaultQueries(e,{type:Qv.Event,...t})}generateDefaultRecordingQueries(e,t){return this._generateDefaultQueries(e,{type:Qv.Recording,...t})}generateDefaultRecordingSegmentsQueries(e,t){return this._generateDefaultQueries(e,{type:Qv.RecordingSegments,...t})}_generateDefaultQueries(e,t){const n=[],a=Zg(e),i=this._store.getEnginesForCameraIDs(a);if(!i)return null;for(const[e,a]of i){let i=null; -/* istanbul ignore else: the else path cannot be reached -- @preserve */ty.isEventQuery(t)?i=e.generateDefaultEventQuery(this._store,a,t):ty.isRecordingQuery(t)?i=e.generateDefaultRecordingQuery(this._store,a,t):ty.isRecordingSegmentsQuery(t)&&(i=e.generateDefaultRecordingSegmentsQuery(this._store,a,t));for(const e of i??[])n.push(e)}return n.length?n:null}async getMediaMetadata(){const e=new Set,t=new Set,n=new Set,a=new Set,i={type:Qv.MediaMetadata,cameraIDs:this._store.getCameraIDs()},r=await this._handleQuery(i);for(const i of r.values())i.metadata.tags&&i.metadata.tags.forEach(e.add,e),i.metadata.what&&i.metadata.what.forEach(t.add,t),i.metadata.where&&i.metadata.where.forEach(n.add,n),i.metadata.days&&i.metadata.days.forEach(a.add,a);return t.size||n.size||a.size||e.size?{...e.size&&{tags:e},...t.size&&{what:t},...n.size&&{where:n},...a.size&&{days:a}}:null}async getEvents(e,t){return await this._handleQuery(e,t)}async getRecordings(e,t){return await this._handleQuery(e,t)}async getRecordingSegments(e,t){return await this._handleQuery(e,t)}async executeMediaQueries(e,t){return this._convertQueryResultsToMedia(await this._handleQuery(e,t))}async extendMediaQueries(e,t,n,a){if(!this._api.getHASSManager().getHASS())return null;const i=e=>{let n=null;for(const a of t){const t=a.getStartTime();t&&(!n||"earliest"===e&&tn)&&(n=t)}return n},r=this._api.getConfigManager().getCardWideConfig()?.performance?.features.media_chunk_size??50,o=[],s=[];for(const t of e){const e={...t}; -/* istanbul ignore else: the else path cannot be reached -- @preserve */if("later"===n){const t=i("latest");t&&(e.start=t,delete e.end)}else if("earlier"===n){const t=i("earliest");t&&(e.end=t,delete e.start)}e.limit=r,s.push({...t,limit:(t.limit??0)+r}),o.push(e)}const c=this._convertQueryResultsToMedia(await this._handleQuery(o,a));if(!c.length)return null;const l=ey(t.concat(c));return l.length===t.length?null:{queries:s,results:l}}async getMediaDownloadPath(e){const t=this._store.getCameraConfigForMedia(e),n=this._store.getEngineForMedia(e),a=this._api.getHASSManager().getHASS();return t&&n&&a?await n.getMediaDownloadPath(a,t,e):null}getMediaCapabilities(e){const t=this._store.getEngineForMedia(e);return t?t.getMediaCapabilities(e):null}async favoriteMedia(e,t){const n=this._store.getCameraConfigForMedia(e),a=this._store.getEngineForMedia(e),i=this._api.getHASSManager().getHASS();if(!n||!a||!i)return;const r=new Date;await this._requestLimit.add((()=>a.favoriteMedia(i,n,e,t))),B_(this._api.getConfigManager().getCardWideConfig(),"Frigate Card CameraManager favorite request (",`Duration: ${((new Date).getTime()-r.getTime())/1e3}s,`,"Media:",e.getID(),", Favorite:",t,")")}areMediaQueriesResultsFresh(e,t){const n=new Date;for(const a of e){const e=this._store.getEnginesForCameraIDs(a.cameraIDs);for(const[i,r]of e??[]){const e=i.getQueryResultMaxAge({...a,cameraIDs:r});if(null!==e&&Ud(t,{seconds:e})a?null:await this._requestLimit.add((()=>i.getMediaSeekTime(r,this._store,e,t)))??null}async _handleQuery(e,t){const n=Wg(e),a=new Map,i=new Date,r=this._api.getHASSManager().getHASS();if(!r)return a;const o=async(e,n)=>{let i=null; -/* istanbul ignore else: the else path cannot be reached -- @preserve */ty.isEventQuery(n)?i=await e.getEvents(r,this._store,n,t):ty.isRecordingQuery(n)?i=await e.getRecordings(r,this._store,n,t):ty.isRecordingSegmentsQuery(n)?i=await e.getRecordingSegments(r,this._store,n,t):ty.isMediaMetadataQuery(n)&&(i=await e.getMediaMetadata(r,this._store,n,t)),i?.forEach(((e,t)=>a.set(t,e)))},s=async e=>{const t=this._store.getEnginesForCameraIDs(e.cameraIDs);t&&await Promise.all(Array.from(t.keys()).map((n=>this._requestLimit.add((()=>o(n,{...e,cameraIDs:t.get(n)}))))))};await Promise.all(n.map((e=>s(e))));const c=(l=Array.from(a.values()).map((e=>Number(e.cached??0))))&&l.length?function(e,t){for(var n,a=-1,i=e.length;++athis._store.getCamera(e))).filter(sf);return new Q_({live:t.some((e=>e.getCapabilities()?.has("live"))),clips:t.some((e=>e.getCapabilities()?.has("clips"))),recordings:t.some((e=>e.getCapabilities()?.has("recordings"))),snapshots:t.some((e=>e.getCapabilities()?.has("snapshots"))),"favorite-events":t.some((e=>e.getCapabilities()?.has("favorite-events"))),"favorite-recordings":t.some((e=>e.getCapabilities()?.has("favorite-recordings"))),seek:t.some((e=>e.getCapabilities()?.has("seek"))),menu:t.some((e=>e.getCapabilities()?.has("menu")))})}async executePTZAction(e,t,n){const a=this._store.getCameraConfig(e);if(!a)return;const i=q_(a,t,n);if(i)return await this._api.getActionsManager().executeActions(i);const r=this._api.getHASSManager().getHASS(),o=this._store.getEngineForCameraID(e);return o&&r?await this._requestLimit.add((()=>o.executePTZAction(r,a,t,n))):void 0}}class iy{constructor(e){this._cache=new Map,this._keyCallback=e}has(e){return this._cache.has(e)}getMatches(e){return[...this._cache.values()].filter(e)}get(e){return this._cache.get(e)??null}add(e){const t=e=>this._cache.set(this._keyCallback(e),e);Array.isArray(e)?e.forEach(t):t(e)}}const ry=ba.object({id:ba.string(),model:ba.string().nullable(),config_entries:ba.string().array(),manufacturer:ba.string().nullable()}).array();class oy{constructor(e){this._fetchedDeviceList=!1,this._cache=e}async getDevice(e,t){return this._cache.has(t)?this._cache.get(t):(await this._fetchDeviceList(e),this._cache.get(t)??null)}async getMatchingDevices(e,t){return await this._fetchDeviceList(e),this._cache.getMatches(t)}async _fetchDeviceList(e){if(this._fetchedDeviceList)return;let t=null;try{t=await $v(e,ry,{type:"config/device_registry/list"})}catch(e){return void Gg(e)}this._cache.add(t),this._fetchedDeviceList=!0}}const sy=ba.object({config_entry_id:ba.string().nullable(),device_id:ba.string().nullable(),disabled_by:ba.string().nullable(),entity_id:ba.string(),hidden_by:ba.string().nullable(),platform:ba.string(),translation_key:ba.string().nullable(),unique_id:ba.string().or(ba.number()).optional()}),cy=sy.array();class ly{constructor(e){this._fetchedEntityList=!1,this._cache=e}async getEntity(e,t){const n=this._cache.get(t);if(n)return n;let a=null;try{a=await $v(e,sy,{type:"config/entity_registry/get",entity_id:t})}catch(e){return Gg(e),null}return this._cache.add(a),a}async getMatchingEntities(e,t){return await this.fetchEntityList(e),this._cache.getMatches(t)}async getEntities(e,t){const n=new Map;return await Promise.all(t.map((async t=>{const a=await this.getEntity(e,t);a&&n.set(t,a)}))),n}async fetchEntityList(e){if(this._fetchedEntityList)return;let t=null;try{t=await $v(e,cy,{type:"config/entity_registry/list"})}catch(e){return void Gg(e)}this._cache.add(t),this._fetchedEntityList=!0}}class dy extends Map{constructor(e={}){if(super(),!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");if("number"==typeof e.maxAge&&0===e.maxAge)throw new TypeError("`maxAge` must be a number greater than 0");this.maxSize=e.maxSize,this.maxAge=e.maxAge||Number.POSITIVE_INFINITY,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_emitEvictions(e){if("function"==typeof this.onEviction)for(const[t,n]of e)this.onEviction(t,n.value)}_deleteIfExpired(e,t){return"number"==typeof t.expiry&&t.expiry<=Date.now()&&("function"==typeof this.onEviction&&this.onEviction(e,t.value),this.delete(e))}_getOrDeleteIfExpired(e,t){if(!1===this._deleteIfExpired(e,t))return t.value}_getItemValue(e,t){return t.expiry?this._getOrDeleteIfExpired(e,t):t.value}_peek(e,t){const n=t.get(e);return this._getItemValue(e,n)}_set(e,t){this.cache.set(e,t),this._size++,this._size>=this.maxSize&&(this._size=0,this._emitEvictions(this.oldCache),this.oldCache=this.cache,this.cache=new Map)}_moveToRecent(e,t){this.oldCache.delete(e),this._set(e,t)}*_entriesAscending(){for(const e of this.oldCache){const[t,n]=e;if(!this.cache.has(t)){!1===this._deleteIfExpired(t,n)&&(yield e)}}for(const e of this.cache){const[t,n]=e;!1===this._deleteIfExpired(t,n)&&(yield e)}}get(e){if(this.cache.has(e)){const t=this.cache.get(e);return this._getItemValue(e,t)}if(this.oldCache.has(e)){const t=this.oldCache.get(e);if(!1===this._deleteIfExpired(e,t))return this._moveToRecent(e,t),t.value}}set(e,t,{maxAge:n=this.maxAge}={}){const a="number"==typeof n&&n!==Number.POSITIVE_INFINITY?Date.now()+n:void 0;return this.cache.has(e)?this.cache.set(e,{value:t,expiry:a}):this._set(e,{value:t,expiry:a}),this}has(e){return this.cache.has(e)?!this._deleteIfExpired(e,this.cache.get(e)):!!this.oldCache.has(e)&&!this._deleteIfExpired(e,this.oldCache.get(e))}peek(e){return this.cache.has(e)?this._peek(e,this.cache):this.oldCache.has(e)?this._peek(e,this.oldCache):void 0}delete(e){const t=this.cache.delete(e);return t&&this._size--,this.oldCache.delete(e)||t}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}resize(e){if(!(e&&e>0))throw new TypeError("`maxSize` must be a number greater than 0");const t=[...this._entriesAscending()],n=t.length-e;n<0?(this.cache=new Map(t),this.oldCache=new Map,this._size=t.length):(n>0&&this._emitEvictions(t.slice(0,n)),this.oldCache=new Map(t.slice(n)),this.cache=new Map,this._size=0),this.maxSize=e}*keys(){for(const[e]of this)yield e}*values(){for(const[,e]of this)yield e}*[Symbol.iterator](){for(const e of this.cache){const[t,n]=e;!1===this._deleteIfExpired(t,n)&&(yield[t,n.value])}for(const e of this.oldCache){const[t,n]=e;if(!this.cache.has(t)){!1===this._deleteIfExpired(t,n)&&(yield[t,n.value])}}}*entriesDescending(){let e=[...this.cache];for(let t=e.length-1;t>=0;--t){const n=e[t],[a,i]=n;!1===this._deleteIfExpired(a,i)&&(yield[a,i.value])}e=[...this.oldCache];for(let t=e.length-1;t>=0;--t){const n=e[t],[a,i]=n;if(!this.cache.has(a)){!1===this._deleteIfExpired(a,i)&&(yield[a,i.value])}}}*entriesAscending(){for(const[e,t]of this._entriesAscending())yield[e,t.value]}get size(){if(!this._size)return this.oldCache.size;let e=0;for(const t of this.oldCache.keys())this.cache.has(t)||e++;return Math.min(this._size+e,this.maxSize)}entries(){return this.entriesAscending()}forEach(e,t=this){for(const[n,a]of this.entriesAscending())e.call(t,a,n,this)}get[Symbol.toStringTag](){return JSON.stringify([...this.entriesAscending()])}}class uy{constructor(){this._cache=new dy({maxSize:1e3})}has(e){return this._cache.has(e)}get(e){return this._cache.get(e)}set(e,t){this._cache.set(e,t)}}const hy=async(e,t,n)=>{const a=n?n.get(t):void 0;if(a)return a;const i={type:"media_source/resolve_media",media_content_id:t};let r=null;try{r=await $v(e,js,i)}catch(e){Gg(e)}return n&&r&&n.set(t,r),r};class py{constructor(e,t,n){this._context=e,this._action=t,this._config=n}async execute(e){}async stop(){}}class my extends py{}class gy extends my{async execute(e){const t=this._action.camera??(this._action.triggered?e.getTriggersManager().getMostRecentlyTriggeredCameraID():null),n=e.getViewManager().getView(),a=e.getConfigManager().getConfig();if(t&&n){const i=a?.view.camera_select??"current",r="current"===i?n.view:i;await e.getViewManager().setViewByParametersWithNewQuery({params:{view:r,camera:t},failSafe:!0})}}}class fy extends my{async execute(e){e.getCameraURLManager().openURL()}}class _y extends my{async execute(e){e.getViewManager().setViewDefault()}}class vy extends my{async execute(e){await e.getViewManager().setViewByParametersWithNewQuery({params:{displayMode:this._action.display_mode}})}}class yy extends my{async execute(e){await e.getDownloadManager().downloadViewerMedia()}}class by extends my{async execute(e){e.getExpandManager().toggleExpanded()}}class wy extends my{async execute(e){e.getFullscreenManager().toggleFullscreen()}}class xy extends py{async execute(e){const t=e.getHASSManager().getHASS();t&&at(e.getCardElementManager().getElement(),t,this._config??{},this._action)}}class Cy extends my{async execute(e){console[this._action.level](this._action.message)}}const My=(e,t)=>e.context?.live?.overrides?.get(t??e.camera)??t??e.camera,ky=e=>My(e)!==e.camera,Sy=(e,t)=>{const n=e.context?.live?.overrides??new Map;n.set(e.camera,t),e.mergeInContext({live:{overrides:n}})};class Ey extends my{async execute(e){const t=this._action.media_player,n=e.getMediaPlayerManager(),a=e.getViewManager().getView(),i=a?.queryResults?.getSelectedResult()??null;"stop"===this._action.media_player_action?await n.stop(t):a?.is("live")?await n.playLive(t,My(a)):a?.isViewerView()&&i&&await n.playMedia(t,i)}}class $y extends my{async execute(e){e.getCardElementManager().toggleMenu()}}class Ay extends my{async execute(e){await e.getMicrophoneManager().connect()}}class zy extends my{async execute(e){e.getMicrophoneManager().disconnect()}}class Iy extends my{async execute(e){e.getMicrophoneManager().mute()}}class Ty extends my{async execute(e){await e.getMicrophoneManager().unmute()}}class jy extends my{async execute(e){await(e.getMediaLoadedInfoManager().get()?.player?.mute())}}class Oy extends my{async execute(e){await(e.getMediaLoadedInfoManager().get()?.player?.pause())}}class Dy extends my{async execute(e){await(e.getMediaLoadedInfoManager().get()?.player?.play())}}const Ry=(e,t)=>{if(e.isViewerView()){const n=e.queryResults?.getSelectedResult()?.getID()??null;return"ptz"!==t?.type&&n?{targetID:n,type:"digital"}:null}if(e.is("live")){const n=My(e);let a="digital";return"digital"!==t?.type&&t?.cameraManager&&(Py(t.cameraManager,n)&&(a="ptz"),"ptz"!==a&&"ptz"===t?.type)?null:{targetID:n,type:a}}return null},Py=(e,t)=>!!e.getStore().getCamera(t)?.getCapabilities()?.hasPTZCapability();var Ly=ug((function(e,t,n){Jm(e,t,n)}));const Ny=(e,t)=>{t?.[e]?.inProgressAction?.stop()},Fy=(e,t,n,a)=>{Ly(t,{[n]:{[e]:{inProgressAction:a}}})};class Vy extends my{constructor(){super(...arguments),this._timer=new xf}async stop(){this._timer.stop()}async execute(e){const t=e.getViewManager().getView();if(!t)return;const n=this._action.camera??Ry(t,{type:"ptz",cameraManager:e.getCameraManager()})?.targetID??null,a=n?e.getCameraManager().getCameraCapabilities(n)?.getPTZCapabilities():null,i=n?e.getCameraManager().getStore().getCameraConfig(n)?.ptz:null;if(!n||!a||!i)return;if(!this._action.ptz_action)return void(a.presets&&a.presets.length>=1&&await e.getCameraManager().executePTZAction(n,"preset",{phase:this._action.ptz_phase,preset:a.presets[0]}));const r=(e=>{switch(e){case"left":case"right":case"up":case"down":return e;case"zoom_in":return"zoomIn";case"zoom_out":return"zoomOut"}return null})(this._action.ptz_action);if(r&&a[r]?.includes(this._action.ptz_phase?"continuous":"relative")||"preset"===this._action.ptz_action)return await e.getCameraManager().executePTZAction(n,this._action.ptz_action,{phase:this._action.ptz_phase,preset:this._action.ptz_preset});if("start"===this._action.ptz_phase){Ny(n,this._context.ptz),Fy(n,this._context,"ptz",this);const t=async()=>{this._action.ptz_action&&await e.getCameraManager().executePTZAction(n,this._action.ptz_action,{preset:this._action.ptz_preset}),this._timer.start(i.r2c_delay_between_calls_seconds,t)};await t()}else"stop"===this._action.ptz_phase?Ny(n,this._context.ptz):(await e.getCameraManager().executePTZAction(n,this._action.ptz_action,{preset:this._action.ptz_preset,phase:"start"}),this._timer.start(i.c2r_delay_between_calls_seconds,(async()=>{this._action.ptz_action&&await e.getCameraManager().executePTZAction(n,this._action.ptz_action,{preset:this._action.ptz_preset,phase:"stop"})})))}}class Hy extends my{async execute(e){e.getViewManager().setViewWithMergedContext({ptzControls:{enabled:this._action.enabled}})}}function By(e,t,n){return void 0===n&&(n=t,t=void 0),void 0!==n&&(n=(n=Cg(n))==n?n:0),void 0!==t&&(t=(t=Cg(t))==t?t:0),function(e,t,n){return e==e&&(void 0!==n&&(e=e<=n?e:n),void 0!==t&&(e=e>=t?e:t)),e}(Cg(e),t,n)}const qy=50,Uy=50,Wy=1,Zy=4,Qy=e=>void 0===e?.pan?.x&&void 0===e?.pan?.y&&void 0===e?.zoom;class Gy{constructor(e){this._context=e}modify(e){e.mergeInContext(this._context)}}const Yy=(e,t)=>({zoom:{[e]:{observed:t?.observed??void 0,requested:t?.requested??null}}}),Ky=(e,t,n)=>{t&&n&&t.setViewByParameters({modifiers:[new Gy(Yy(n,{observed:e.detail}))]})};class Xy extends my{constructor(){super(...arguments),this._timer=new xf}async _stepChange(e,t){e.getViewManager().setViewWithMergedContext(Yy(t,{requested:this._convertActionToZoomSettings(e.getViewManager().getView()?.context?.zoom?.[t]?.observed)}))}async stop(){this._timer.stop()}async execute(e){const t=e.getViewManager().getView();if(!t)return;const n=this._action.target_id??Ry(t,{type:"digital",cameraManager:e.getCameraManager()})?.targetID;return n?this._action.absolute||!this._action.ptz_phase?await this._stepChange(e,n): -/* istanbul ignore else: the else path cannot be reached -- @preserve */ -void("start"===this._action.ptz_phase?(Ny(n,this._context.ptzDigital),Fy(n,this._context,"ptzDigital",this),await this._stepChange(e,n),this._timer.startRepeated(.1,(()=>this._stepChange(e,n)))):"stop"===this._action.ptz_phase&&(Ny(n,this._context.ptzDigital),delete this._context.ptzDigital?.[n])):void 0}_convertActionToZoomSettings(e){if(!this._action.absolute&&!this._action.ptz_action)return{};if(this._action.absolute)return this._action.absolute;const t=e?.zoom??1,n=e?.pan?.x??50,a=e?.pan?.y??50,i="zoom_in"===this._action.ptz_action?.1:"zoom_out"===this._action.ptz_action?-.1:0,r="left"===this._action.ptz_action?-5:"right"===this._action.ptz_action?5:0,o="up"===this._action.ptz_action?-5:"down"===this._action.ptz_action?5:0;return{zoom:By(t+i,1,10),pan:{x:By(n+r,0,100),y:By(a+o,0,100)}}}}class Jy extends my{async execute(e){const t=e.getViewManager().getView();let n=null,a=null;if(this._action.target_id)n=this._action.target_id,a=Py(e.getCameraManager(),n)?"ptz":"digital";else if(t){const i=Ry(t,{cameraManager:e.getCameraManager()});n=i?.targetID??null,a=i?.type??null}n&&null!==a&&("ptz"===a?this._toPTZAction(n):this._toPTZDigitalAction(n)).execute(e)}_toPTZAction(e){return new Vy(this._context,(t={cardID:this._action.card_id,cameraID:e,ptzAction:this._action.ptz_action,ptzPhase:this._action.ptz_phase,ptzPreset:this._action.ptz_preset},{action:"fire-dom-event",frigate_card_action:"ptz",...t?.cardID&&{card_id:t.cardID},...t?.ptzAction&&{ptz_action:t.ptzAction},...t?.ptzPhase&&{ptz_phase:t.ptzPhase},...t?.ptzPreset&&{ptz_preset:t.ptzPreset},...t?.cameraID&&{camera:t.cameraID}}),this._config);var t}_toPTZDigitalAction(e){return new Xy(this._context,(t={cardID:this._action.card_id,ptzPhase:this._action.ptz_phase,ptzAction:this._action.ptz_action,targetID:e},{action:"fire-dom-event",frigate_card_action:"ptz_digital",...t?.cardID&&{card_id:t.cardID},...t?.ptzAction&&{ptz_action:t.ptzAction},...t?.ptzPhase&&{ptz_phase:t.ptzPhase},...t?.absolute&&{absolute:t.absolute},...t?.targetID&&{target_id:t.targetID}}),this._config);var t}}class eb extends my{async execute(e){await e.getDownloadManager().downloadScreenshot()}}class tb extends my{async execute(e){var t;await af((t=this._action.duration,3600*(t.h??0)+60*(t.m??0)+(t.s??0)+(t.ms??0)/1e3))}}class nb extends my{async execute(e){switch(this._action.status_bar_action){case"reset":e.getStatusBarItemManager().removeAllDynamicStatusBarItems();break;case"add":this._action.items?.forEach((t=>e.getStatusBarItemManager().addDynamicStatusBarItem(t)));break;case"remove":this._action.items?.forEach((t=>e.getStatusBarItemManager().removeDynamicStatusBarItem(t)))}}}class ab{modify(e){(e=>{const t=e.context?.live?.overrides;t&&t.has(e.camera)&&e.context?.live?.overrides?.delete(e.camera)})(e)}}class ib extends my{async execute(e){e.getViewManager().setViewByParameters({modifiers:[new ab]})}}class rb{constructor(e){this._api=e}modify(e){const t=[...this._api.getCameraManager().getStore().getAllDependentCameras(e.camera,"substream")];if(t.length<=1)return;const n=My(e),a=t.indexOf(n),i=a<0?0:(a+1)%t.length;Sy(e,t[i])}}class ob extends my{async execute(e){e.getViewManager().setViewByParameters({modifiers:[new rb(e)]})}}class sb{constructor(e){this._substreamID=e}modify(e){Sy(e,this._substreamID)}}class cb extends my{async execute(e){e.getViewManager().setViewByParameters({modifiers:[new sb(this._action.camera)]})}}class lb extends my{async execute(e){await(e.getMediaLoadedInfoManager().get()?.player?.unmute())}}class db extends my{async execute(e){e.getViewManager().setViewByParametersWithNewQuery({params:{view:this._action.frigate_card_action}})}}class ub{createAction(e,t,n){const a=mf(t);if("fire-dom-event"!==t.action||!a)return new xy(e,t,n?.config);if(a.card_id&&a.card_id!==n?.cardID)return null;switch(a.frigate_card_action){case"default":return new _y(e,a,n?.config);case"clip":case"clips":case"image":case"live":case"recording":case"recordings":case"snapshot":case"snapshots":case"timeline":case"diagnostics":return new db(e,a,n?.config);case"sleep":return new tb(e,a,n?.config);case"download":return new yy(e,a,n?.config);case"camera_ui":return new fy(e,a,n?.config);case"expand":return new by(e,a,n?.config);case"fullscreen":return new wy(e,a,n?.config);case"menu_toggle":return new $y(e,a,n?.config);case"camera_select":return new gy(e,a,n?.config);case"live_substream_select":return new cb(e,a,n?.config);case"live_substream_off":return new ib(e,a,n?.config);case"live_substream_on":return new ob(e,a,n?.config);case"media_player":return new Ey(e,a,n?.config);case"microphone_connect":return new Ay(e,a,n?.config);case"microphone_disconnect":return new zy(e,a,n?.config);case"microphone_mute":return new Iy(e,a,n?.config);case"microphone_unmute":return new Ty(e,a,n?.config);case"mute":return new jy(e,a,n?.config);case"unmute":return new lb(e,a,n?.config);case"play":return new Dy(e,a,n?.config);case"pause":return new Oy(e,a,n?.config);case"screenshot":return new eb(e,a,n?.config);case"display_mode_select":return new vy(e,a,n?.config);case"ptz":return new Vy(e,a,n?.config);case"ptz_digital":return new Xy(e,a,n?.config);case"ptz_multi":return new Jy(e,a,n?.config);case"ptz_controls":return new Hy(e,a,n?.config);case"log":return new Cy(e,a,n?.config);case"status_bar":return new nb(e,a,n?.config)} -/* istanbul ignore next: this path cannot be reached -- @preserve */ -/* istanbul ignore next: this path cannot be reached -- @preserve */ -return console.warn(`Frigate card received unknown card action: ${a.frigate_card_action}`),null}}class hb{constructor(e,t,n){this._actions=[],this._factory=new ub,this._stopped=!1,this._context=e;for(const a of Wg(t)){const t=this._factory.createAction(e,a,n);t&&this._actions.push(t)}}async execute(e){for(const t of this._actions){if(this._stopped)break;await t.execute(e)}}async stop(){this._stopped=!0}}const pb=ba.object({action:ba.enum(["tap","double_tap","hold","start_tap","end_tap"])}),mb=ba.object({detail:pb});class gb{constructor(e){this._actionsInFlight=[],this._actionContext={},this.handleInteractionEvent=e=>{const t=mb.safeParse(e);if(!t.success)return;const n=t.data.detail.action,a=this.getMergedActions(),i=yf(n,a);a&&n&&i&&this.executeActions(i,a)},this.handleCustomActionEvent=e=>{"detail"in e&&this.executeActions(e.detail)},this.handleActionExecutionRequestEvent=async e=>{await this.executeActions(e.detail.action,e.detail.config)},this._api=e}getMergedActions(){const e=this._api.getViewManager().getView();if(this._api.getMessageManager().hasMessage())return{};const t=this._api.getConfigManager().getConfig();let n;if(e?.is("live"))n=t?.live.actions;else if(e?.isGalleryView())n=t?.media_gallery?.actions;else if(e?.isViewerView())n=t?.media_viewer.actions;else{if(!e?.is("image"))return{};n=t?.image?.actions}return{...t?.view.actions,...n}}uninitialize(){this._actionsInFlight.forEach((e=>e.stop()))}async executeActions(e,t){const n=new hb(this._actionContext,e,{config:t,cardID:this._api.getConfigManager().getConfig()?.card_id});this._actionsInFlight.push(n),await n.execute(this._api),this._actionsInFlight=this._actionsInFlight.filter((e=>e!==n))}}class fb{constructor(e){this._automations=[],this._priorEvaluations=new Map,this._nestedAutomationExecutions=0,this._api=e}deleteAutomations(e){this._automations=this._automations.filter((t=>t.tag!==e))}addAutomations(e){this._automations.push(...e)}execute(){if(!this._api.getHASSManager().hasHASS()||!this._api.getInitializationManager().isInitializedMandatory()||this._api.getMessageManager().hasErrorMessage())return;const e=[];for(const t of this._automations){const n=this._api.getConditionsManager().evaluateConditions(t.conditions),a=n?t.actions:t.actions_not,i=this._priorEvaluations.get(t);this._priorEvaluations.set(t,n),n!==i&&a&&e.push(...a)}if(!e.length)return;(async e=>{++this._nestedAutomationExecutions,this._nestedAutomationExecutions>10?this._api.getMessageManager().setMessageIfHigherPriority({type:"error",message:V_("error.too_many_automations")}):(await this._api.getActionsManager().executeActions(e),--this._nestedAutomationExecutions)})(e)}}class _b{constructor(e){this._api=e}openURL(){const e=this.getCameraURL();e&&window.open(e)}hasCameraURL(){return!!this.getCameraURL()}getCameraURL(){const e=this._api.getViewManager().getView(),t=e?.queryResults?.getSelectedResult()??null,n=e?.camera?this._api.getCameraManager().getCameraEndpoints(e.camera,{view:e.view,...t&&{media:t}})??null:null;return n?.ui?.endpoint??null}}const vb=(e,t)=>!!((e.attributes.supported_features??0)&t),yb=e=>(e=>vb(e,4)&&"number"==typeof e.attributes.in_progress)(e)||!!e.attributes.in_progress,bb=e=>{switch(e){case"armed_away":return"mdi:shield-lock";case"armed_vacation":return"mdi:shield-airplane";case"armed_home":return"mdi:shield-home";case"armed_night":return"mdi:shield-moon";case"armed_custom_bypass":return"mdi:security";case"pending":case"arming":return"mdi:shield-sync";case"triggered":return"mdi:bell-ring";case"disarmed":return"mdi:shield-off";default:return"mdi:shield"}},wb=(e,t)=>{const n="off"===e;switch(t?.attributes.device_class){case"battery":return n?"mdi:battery":"mdi:battery-outline";case"battery_charging":return n?"mdi:battery":"mdi:battery-charging";case"cold":return n?"mdi:thermometer":"mdi:snowflake";case"connectivity":return n?"mdi:close-network-outline":"mdi:check-network-outline";case"door":return n?"mdi:door-closed":"mdi:door-open";case"garage_door":return n?"mdi:garage":"mdi:garage-open";case"power":case"plug":return n?"mdi:power-plug-off":"mdi:power-plug";case"gas":case"problem":case"safety":case"tamper":return n?"mdi:check-circle":"mdi:alert-circle";case"smoke":return n?"mdi:check-circle":"mdi:smoke";case"heat":return n?"mdi:thermometer":"mdi:fire";case"light":return n?"mdi:brightness5":"mdi:brightness-7";case"lock":return n?"mdi:lock":"mdi:lock-open";case"moisture":return n?"mdi:water-off":"mdi:water";case"motion":return n?"mdi:motion-sensor-off":"mdi:motion-sensor";case"occupancy":case"presence":return n?"mdi:home-outline":"mdi:home";case"opening":return n?"mdi:square":"mdi:square-outline";case"running":return n?"mdi:stop":"mdi:play";case"sound":return n?"mdi:music-note-off":"mdi:music-note";case"update":return n?"mdi:package":"mdi:package-up";case"vibration":return n?"mdi:crop-portrait":"mdi:vibrate";case"window":return n?"mdi:window-closed":"mdi:window-open";default:return n?"mdi:radiobox-blank":"mdi:checkbox-marked-circle"}},xb=(e,t)=>{const n="closed"!==e;switch(t?.attributes.device_class){case"garage":switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:garage";default:return"mdi:garage-open"}case"gate":switch(e){case"opening":case"closing":return"mdi:gate-arrow-right";case"closed":return"mdi:gate";default:return"mdi:gate-open"}case"door":return n?"mdi:door-open":"mdi:door-closed";case"damper":return n?"md:circle":"mdi:circle-slice-8";case"shutter":switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:window-shutter";default:return"mdi:window-shutter-open"}case"curtain":switch(e){case"opening":return"mdi:arrow-split-vertical";case"closing":return"mdi:arrow-collapse-horizontal";case"closed":return"mdi:curtains-closed";default:return"mdi:curtains"}case"blind":case"shade":switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:blinds";default:return"mdi:blinds-open"}case"window":switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:window-closed";default:return"mdi:window-open"}}switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:window-closed";default:return"mdi:window-open"}},Cb={apparent_power:"mdi:flash",aqi:"mdi:air-filter",carbon_dioxide:"mdi:molecule-co2",carbon_monoxide:"mdi:molecule-co",current:"mdi:current-ac",date:"mdi:calendar",energy:"mdi:lightning-bolt",frequency:"mdi:sine-wave",gas:"mdi:gas-cylinder",humidity:"mdi:water-percent",illuminance:"mdi:brightness-5",monetary:"mdi:cash",nitrogen_dioxide:"mdi:molecule",nitrogen_monoxide:"mdi:molecule",nitrous_oxide:"mdi:molecule",ozone:"mdi:molecule",pm1:"mdi:molecule",pm10:"mdi:molecule",pm25:"mdi:molecule",power:"mdi:flash",power_factor:"mdi:angle-acute",pressure:"mdi:gauge",reactive_power:"mdi:flash",signal_strength:"mdi:wifi",sulphur_dioxide:"mdi:molecule",temperature:"mdi:thermometer",timestamp:"mdi:clock",volatile_organic_compounds:"mdi:molecule",voltage:"mdi:sine-wave"},Mb={10:"mdi:battery-10",20:"mdi:battery-20",30:"mdi:battery-30",40:"mdi:battery-40",50:"mdi:battery-50",60:"mdi:battery-60",70:"mdi:battery-70",80:"mdi:battery-80",90:"mdi:battery-90",100:"mdi:battery"},kb={10:"mdi:battery-charging-10",20:"mdi:battery-charging-20",30:"mdi:battery-charging-30",40:"mdi:battery-charging-40",50:"mdi:battery-charging-50",60:"mdi:battery-charging-60",70:"mdi:battery-charging-70",80:"mdi:battery-charging-80",90:"mdi:battery-charging-90",100:"mdi:battery-charging"},Sb=(e,t)=>{const n=Number(e);if(isNaN(n))return"off"===e?"mdi:battery":"on"===e?"mdi:battery-alert":"mdi:battery-unknown";const a=10*Math.round(n/10);return t&&n>=10?kb[a]:t?"mdi:battery-charging-outline":n<=5?"mdi:battery-alert-variant-outline":Mb[a]},Eb=e=>{const t=e?.attributes.device_class;if(t&&t in Cb)return Cb[t];if("battery"===t)return e?((e,t)=>{const n=e.state;return Sb(n,"on"===t?.state)})(e):"mdi:battery";const n=e?.attributes.unit_of_measurement;return"°C"===n||"°F"===n?"mdi:thermometer":void 0},$b="mdi:bookmark",Ab={alert:"mdi:alert",air_quality:"mdi:air-filter",automation:"mdi:robot",calendar:"mdi:calendar",camera:"mdi:video",climate:"mdi:thermostat",configurator:"mdi:cog",conversation:"mdi:text-to-speech",counter:"mdi:counter",fan:"mdi:fan",google_assistant:"mdi:google-assistant",group:"mdi:google-circles-communities",homeassistant:"mdi:home-assistant",homekit:"mdi:home-automation",image_processing:"mdi:image-filter-frames",input_button:"mdi:gesture-tap-button",input_datetime:"mdi:calendar-clock",input_number:"mdi:ray-vertex",input_select:"mdi:format-list-bulleted",input_text:"mdi:form-textbox",light:"mdi:lightbulb",mailbox:"mdi:mailbox",notify:"mdi:comment-alert",number:"mdi:ray-vertex",persistent_notification:"mdi:bell",person:"mdi:account",plant:"mdi:flower",proximity:"mdi:apple-safari",remote:"mdi:remote",scene:"mdi:palette",script:"mdi:script-text",select:"mdi:format-list-bulleted",sensor:"mdi:eye",siren:"mdi:bullhorn",simple_alarm:"mdi:bell",sun:"mdi:white-balance-sunny",timer:"mdi:timer-outline",updater:"mdi:cloud-upload",vacuum:"mdi:robot-vacuum",water_heater:"mdi:thermometer",weather:"mdi:weather-cloudy",zone:"mdi:map-marker-radius"};function zb(e,t,n,a){switch(e){case"alarm_control_panel":return bb(n);case"binary_sensor":return wb(n,t);case"button":switch(t?.attributes.device_class){case"restart":return"mdi:restart";case"update":return"mdi:package-up";default:return"mdi:gesture-tap-button"}case"cover":return xb(n,t);case"device_tracker":return"router"===t?.attributes.source_type?"home"===n?"mdi:lan-connect":"mdi:lan-disconnect":["bluetooth","bluetooth_le"].includes(t?.attributes.source_type)?"home"===n?"mdi:bluetooth-connect":"mdi:bluetooth":"not_home"===n?"mdi:account-arrow-right":"mdi:account";case"humidifier":return n&&"off"===n?"mdi:air-humidifier-off":"mdi:air-humidifier";case"input_boolean":return"on"===n?"mdi:check-circle-outline":"mdi:close-circle-outline";case"lock":switch(n){case"unlocked":return"mdi:lock-open";case"jammed":return"mdi:lock-alert";case"locking":case"unlocking":return"mdi:lock-clock";default:return"mdi:lock"}case"media_player":switch(t?.attributes.device_class){case"speaker":switch(n){case"playing":return"mdi:speaker-play";case"paused":return"mdi:speaker-pause";case"off":return"mdi:speaker-off";default:return"mdi:speaker"}case"tv":switch(n){case"playing":return"mdi:television-play";case"paused":return"mdi:television-pause";case"off":return"mdi:television-off";default:return"mdi:television"}default:switch(n){case"playing":case"paused":return"mdi:cast-connected";case"off":return"mdi:cast-off";default:return"mdi:cast"}}case"switch":switch(t?.attributes.device_class){case"outlet":return"on"===n?"mdi:power-plug":"mdi:power-plug-off";case"switch":return"on"===n?"mdi:toggle-switch":"mdi:toggle-switch-off";default:return"mdi:flash"}case"zwave":switch(n){case"dead":return"mdi:emoticon-dead";case"sleeping":return"mdi:sleep";case"initializing":return"mdi:timer-sand";default:return"mdi:z-wave"}case"sensor":{const e=Eb(t);if(e)return e;break}case"input_datetime":if(!t?.attributes.has_date)return"mdi:clock";if(!t.attributes.has_time)return"mdi:calendar";break;case"sun":return"above_horizon"===t?.state?Ab[e]:"mdi:weather-night";case"update":return"on"===t?.state?yb(t)?"mdi:package-down":"mdi:package-up":"mdi:package"}return e in Ab?Ab[e]:a??$b}async function Ib(e,t,n){const a={type:"auth/sign_path",path:t,expires:n},i=await $v(e,Os,a);return i?e.hassUrl(i.path):null}function Tb(e,t,n,a){if(!e||!n||!n.length)return[];const i=[];for(const r of n){const n=t?.states[r],o=e.states[r];if((a?.stateOnly&&n?.state!==o?.state||!a?.stateOnly&&n!==o)&&(i.push({entityID:r,oldState:n,newState:o}),a?.firstOnly))break}return i}function jb(e,t,n,a){return!!Tb(e,t,n,{...a,firstOnly:!0}).length}function Ob(e){if("off"===e.state||!e.attributes.brightness)return"";return`brightness(${(e.attributes.brightness+245)/5}%)`}function Db(e){return"off"===e.state?"":e.attributes.rgb_color?`rgb(${e.attributes.rgb_color.join(",")})`:""}function Rb(e){return{color:Db(e),filter:Ob(e)}}function Pb(e,t){if(!t.entity)return t;const n=e.states[t.entity];n&&t.state_color&&(t.style={...Rb(n),...t.style}),t.title=t.title??(n?.attributes?.friendly_name||t.entity),t.icon=t.icon??Nb(e,t.entity);const a=n?function(e){return Ye(e.entity_id)}(n):void 0;return t.data_domain=t.state_color||"light"===a&&!1!==t.state_color?a:void 0,n&&(t.data_state=(e=>{const t=e.entity_id.split(".")[0];let n=e.state;return"climate"===t&&(n=e.attributes.hvac_action),n})(n)),t}function Lb(e,t){return t?e?.states[t]?.attributes?.friendly_name:void 0}function Nb(e,t,n){const a=e.states[t];return a&&a.attributes.icon?a.attributes.icon:zb(Ye(t),a,a?.state,n)}const Fb=async()=>{if(["ha-button-menu","ha-button","ha-camera-stream","ha-card","ha-circular-progress","ha-hls-player","ha-icon-button","ha-icon","ha-menu-button","ha-selector","ha-web-rtc-player"].every((e=>customElements.get(e))))return!0;const e=await window.loadCardHelpers();await e.createCardElement({type:"picture-glance",entities:[],camera_image:"dummy-to-load-editor-components"}),await customElements.whenDefined("hui-picture-glance-card");const t=customElements.get("hui-picture-glance-card");if(!t)return!1;const n=new t;return await n.constructor.getConfigElement(),!0},Vb=e=>!!e&&["on","open"].includes(e),Hb=(e,t)=>{if(!e)return[];const n=Object.keys(e.states).filter((e=>!t||e.substr(0,e.indexOf("."))===t));return n.sort(),n};function Bb(e){return!!e?.startsWith("/")}function qb(e,t){return Bb(t)?e.hassUrl(t):t??null}class Ub{constructor(){this._initialized=new Set}async initializeMultipleIfNecessary(e){return(await tf(Object.entries(e),(async([e,t])=>await this.initializeIfNecessary(e,t)))).every(Boolean)}async initializeIfNecessary(e,t){return!!this._initialized.has(e)||(t?!!await t()&&(this._initialized.add(e),!0):(this._initialized.add(e),!0))}uninitialize(e){this._initialized.delete(e)}isInitialized(e){return this._initialized.has(e)}isInitializedMultiple(e){return e.every((e=>this.isInitialized(e)))}}var Wb;!function(e){e.LANGUAGES="languages",e.SIDE_LOAD_ELEMENTS="side-load-elements",e.CAMERAS="cameras",e.MICROPHONE_CONNECT="microphone-connect",e.VIEW="view"}(Wb||(Wb={}));class Zb{constructor(e,t){this._initializationQueue=new w_({concurrency:1}),this._everInitialized=!1,this._api=e,this._initializer=t??new Ub}wasEverInitialized(){return this._everInitialized}isInitializedMandatory(){return!!this._api.getConfigManager().getConfig()&&this._initializer.isInitializedMultiple([Wb.LANGUAGES,Wb.SIDE_LOAD_ELEMENTS,Wb.CAMERAS,...this._api.getMicrophoneManager().shouldConnectOnInitialization()?[Wb.MICROPHONE_CONNECT]:[],Wb.VIEW])}async initializeMandatory(){await this._initializationQueue.add((()=>this._initializeMandatory()))}async _initializeMandatory(){const e=this._api.getHASSManager().getHASS();if(!e||this.isInitializedMandatory())return;if(!await this._initializer.initializeMultipleIfNecessary({[Wb.LANGUAGES]:async()=>await(async e=>{const t=F_(e);return"ca"===t?L_[t]=await import("./lang-ca-449daa4a.js"):"it"===t?L_[t]=await import("./lang-it-2a20a319.js"):"pt"===t?L_[t]=await import("./lang-pt-PT-c4863423.js"):"pt_BR"===t?L_[t]=await import("./lang-pt-BR-83a703b9.js"):"fr"===t&&(L_[t]=await import("./lang-fr-674e5de5.js")),t&&(N_=t),!0})(e),[Wb.SIDE_LOAD_ELEMENTS]:async()=>await Fb()}))return;this._api.getConfigManager().getConfig()&&await this._initializer.initializeMultipleIfNecessary({[Wb.CAMERAS]:async()=>await this._api.getCameraManager().initializeCamerasFromConfig(),...this._api.getMicrophoneManager().shouldConnectOnInitialization()&&{[Wb.MICROPHONE_CONNECT]:async()=>await this._api.getMicrophoneManager().connect()}})&&!this._api.getMessageManager().hasMessage()&&await this._initializer.initializeIfNecessary(Wb.VIEW,this._api.getViewManager().initialize)&&(this._everInitialized=!0,this._api.getCardElementManager().update())}uninitialize(e){this._initializer.uninitialize(e)}}class Qb{constructor(e,t,n,a){this.update=()=>{this._element.requestUpdate()},this._api=e,this._element=t,this._scrollCallback=n,this._menuToggleCallback=a}getElement(){return this._element}scrollReset(){this._scrollCallback()}toggleMenu(){this._menuToggleCallback()}hasUpdated(){return this._element.hasUpdated}elementConnected(){this._api.getInteractionManager().initialize(),this._api.getFullscreenManager().initialize(),this._api.getExpandManager().initialize(),this._api.getMediaLoadedInfoManager().initialize(),this._api.getMicrophoneManager().initialize(),this._api.getKeyboardStateManager().initialize(),this._api.getDefaultManager().initialize(),this._api.getMediaPlayerManager().initialize(),this._api.getHASSManager().getStateWatcher()?.subscribe(this.update,[...this._api.getConfigManager().getConfig()?.view.render_entities??[],...this._api.getMediaPlayerManager().getMediaPlayers()??[]]),of(this._element,(e=>{const t=e.getRootNode();return!!(t&&t instanceof ShadowRoot&&"HUI-PANEL-VIEW"===t.host.tagName)})(this._element),"panel"),of(this._element,!0,"tabindex","0"),this._api.getFullscreenManager().connect(),this._element.addEventListener("mousemove",this._api.getInteractionManager().reportInteraction),this._element.addEventListener("wheel",this._api.getInteractionManager().reportInteraction),this._element.addEventListener("ll-custom",this._api.getActionsManager().handleCustomActionEvent),this._element.addEventListener("action",this._api.getActionsManager().handleInteractionEvent),this._element.addEventListener("action",this._api.getInteractionManager().reportInteraction),this._element.addEventListener("frigate-card:action:execution-request",this._api.getActionsManager().handleActionExecutionRequestEvent),window.addEventListener("location-changed",this._api.getQueryStringManager().requestExecution),window.addEventListener("popstate",this._api.getQueryStringManager().requestExecution),this._api.getQueryStringManager().requestExecution(),this._element.requestUpdate()}elementDisconnected(){of(this._element,!1,"panel"),of(this._element,!1,"tabindex"),this._api.getMediaLoadedInfoManager().clear(),this._api.getFullscreenManager().disconnect(),this._api.getKeyboardStateManager().uninitialize(),this._api.getActionsManager().uninitialize(),this._api.getDefaultManager().uninitialize(),this._api.getHASSManager().getStateWatcher()?.unsubscribe(this.update),this._api.getInitializationManager().uninitialize(Wb.CAMERAS),this._api.getCameraManager().reset(),this._element.removeEventListener("mousemove",this._api.getInteractionManager().reportInteraction),this._element.removeEventListener("wheel",this._api.getInteractionManager().reportInteraction),this._element.removeEventListener("ll-custom",this._api.getActionsManager().handleCustomActionEvent),this._element.removeEventListener("action",this._api.getActionsManager().handleInteractionEvent),this._element.removeEventListener("action",this._api.getInteractionManager().reportInteraction),this._element.removeEventListener("frigate-card:action:execution-request",this._api.getActionsManager().handleActionExecutionRequestEvent),window.removeEventListener("location-changed",this._api.getQueryStringManager().requestExecution),window.removeEventListener("popstate",this._api.getQueryStringManager().requestExecution)}}function Gb(e,t,n){return null==e?e:function(e,t,n,a){if(!hh(e))return e;for(var i=-1,r=(t=sv(t,e)).length,o=r-1,s=e;null!=s&&++i{Gb(e,t,n)},Xb=(e,t,n)=>fv(e,t,n),Jb=(e,t)=>{!function(e,t){null==e||Yb(e,t)}(e,t)},ew=e=>u_(e),tw=(e,t)=>e.replace("#",`[${t.toString()}]`),nw=function(e){let t=!1;for(let n=0;n{const i=Xb(e,t);if(void 0===i)return!1;const r=a?.transform?a.transform(i):i;return!(t===n&&Dv(i,r)||(null===r?a?.keepOriginal||(Jb(e,t),0):void 0===r||(a?.keepOriginal||Jb(e,t),Kb(e,n,r),0)))})(a,e,t,n)}},rw=function(e,t,n){return function(a){let i=iw(e,t,n)(a);return i=cw(bs,iw(e,t,n),(e=>e.overrides))(a)||i,i}},ow=function(e,t){return rw(e,e,{transform:t})},sw=function(e){return rw(e,e,{transform:e=>null})},cw=function(e,t,n){return function(a){let i=!1;const r=Xb(a,e);return Array.isArray(r)&&r.forEach((e=>{const a=n?n(e):e;a&&"object"==typeof a&&(i=t(a)||i)})),i}},lw=(e,t)=>{const n=a=>{let i=!1;if(a&&"object"==typeof a){const r=t?t(a):a;r&&(i=e(r)||i),Array.isArray(a)?a.forEach((e=>{i=n(e)||i})):Object.keys(a).forEach((e=>{i=n(a[e])||i}))}return i};return n},dw=e=>!("object"!=typeof e||!e||void 0===e.mediaLoaded)&&(e.media_loaded=e.mediaLoaded,delete e.mediaLoaded,!0),uw=e=>{if("object"!=typeof e||!e||"object"!=typeof e.conditions||!e.conditions)return!1;const t=e.conditions,n=[];if(void 0!==t.view&&n.push({condition:"view",views:t.view}),void 0!==t.fullscreen&&n.push({condition:"fullscreen",fullscreen:t.fullscreen}),void 0!==t.expand&&n.push({condition:"expand",expand:t.expand}),void 0!==t.camera&&n.push({condition:"camera",cameras:t.camera}),void 0!==t.media_loaded&&n.push({condition:"media_loaded",media_loaded:t.media_loaded}),void 0!==t.state&&Array.isArray(t.state))for(const e of t.state)"object"!=typeof e||!e||void 0===e.state&&void 0===e.state_not&&void 0===e.entity||n.push({condition:"state",...e.state&&{state:e.state},...e.state_not&&{state_not:e.state_not},...e.entity&&{entity:e.entity}});return void 0!==t.media_query&&n.push({condition:"screen",media_query:t.media_query}),!!n.length&&(e.conditions=n,!0)},hw=e=>!("object"!=typeof e||!e||"call-service"!==e.action||"string"!=typeof e.service)&&(e.action="perform-action",e.perform_action=e.service,delete e.service,!0),pw=e=>!("object"!=typeof e||!e||"call-service"!==e.action||void 0===e.service||void 0===e.service_data||void 0!==e.data)&&(e.data=e.service_data,delete e.service_data,!0),mw=e=>!("object"!=typeof e||!e||"custom:frigate-card-action"!==e.action||"frigate_ui"!==e.frigate_card_action)&&(e.frigate_card_action="camera_ui",!0),gw=[cw(bs,dw,(e=>e.conditions)),e=>lw(dw,(e=>e.conditions))("object"==typeof e&&e?e[Ii]:{}),rw("event_gallery",or),rw("menu.buttons.frigate_ui",is),e=>lw(mw)("object"==typeof e&&e?e:{}),cw(Ca,ow("live_provider",(e=>"frigate-jsmpeg"===e?"jsmpeg":e))),rw("live.jsmpeg",ki),rw("live.image",Ci),rw("live.webrtc_card",Si),cw(Ca,rw("frigate.zone","frigate.zones",{transform:e=>Wg(e)})),cw(Ca,rw("frigate.label","frigate.labels",{transform:e=>Wg(e)})),e=>lw(pw)("object"==typeof e&&e?e:{}),function(e){if("object"!=typeof e||!e||!(Ii in e)||!Array.isArray(e[Ii]))return!1;let t=!1;const n=n=>{if(!t){if(!fv(e,"live.controls.ptz")){const{type:t,...a}=n;Gb(e,"live.controls.ptz",a)}t=!0}},a=e=>{const t=[];for(const i of e)if("custom:frigate-card-ptz"===i.type)n(i);else if("conditional"!==i.type&&"custom:frigate-card-conditional"!==i.type||!Array.isArray(i.elements))t.push(i);else{const e=a(i.elements);e.length&&(i.elements=e,t.push(i))}return t},i=a(e[Ii]);return t&&(i.length?e[Ii]=i:delete e[Ii]),t},rw("view.timeout_seconds",Ri),ow("live.lazy_unload",(e=>"all"===e?["unselected","hidden"]:"never"===e?null:Wg(e))),ow("live.auto_play",(e=>"all"===e?null:"never"===e?[]:Wg(e))),ow("live.auto_pause",(e=>"all"===e?["unselected","hidden"]:"never"===e?null:Wg(e))),ow("live.auto_mute",(e=>"all"===e?null:"never"===e?[]:Wg(e))),ow("live.auto_unmute",(e=>"all"===e?["selected","visible","microphone"]:"never"===e?null:Wg(e))),ow("media_viewer.auto_play",(e=>"all"===e?null:"never"===e?[]:Wg(e))),ow("media_viewer.auto_pause",(e=>"all"===e?null:"never"===e?[]:Wg(e))),ow("media_viewer.auto_mute",(e=>"all"===e?null:"never"===e?[]:Wg(e))),ow("media_viewer.auto_unmute",(e=>"all"===e?["selected","visible"]:"never"===e?null:Wg(e))),rw("live.controls.thumbnails.media",io),rw("timeline.media",Ho),rw("live.controls.timeline.media",po),rw("media_viewer.controls.timeline.media",Rr),rw("view.scan",Xi),rw("view.triggers.enabled",ar,{transform:e=>!0===e?"live":null,keepOriginal:!0}),rw("view.triggers.enabled",er,{transform:e=>!0!==e&&null}),rw("view.triggers.untrigger_reset",ir,{transform:e=>e?"default":null}),rw("live.layout",Ai),sw("media_viewer.layout"),sw("image.layout"),cw(bs,uw),e=>lw(uw)("object"==typeof e&&e?e[Ii]:{}),e=>lw(uw)("object"==typeof e&&e?e.automations:{}),cw(Ca,rw("hide","capabilities",{transform:e=>!0===e?{disable_except:["substream"]}:null})),rw("performance.profile",$s,{transform:e=>"low"===e?["low-performance"]:null}),cw(bs,iw("overrides","merge")),rw("live.controls.ptz",zi,{transform:e=>{if("object"!=typeof e||!e)return;const t=["data_left","data_right","data_up","data_down","data_zoom_in","data_zoom_out","service"],n=["actions_left","actions_right","actions_up","actions_down","actions_zoom_in","actions_zoom_out"],a=[...t,...n,"data_home","actions_home"];if(!Object.keys(e).some((e=>a.includes(e))))return;const i={};t.filter((t=>t in e)).reduce(((t,n)=>(t[n]=e[n],t)),i),n.filter((t=>t in e)).reduce(((t,n)=>("object"==typeof e[n]&&"tap_action"in e[n]&&(t[n]=e[n].tap_action),t)),i);const r=()=>{i.presets="presets"in e&&"object"==typeof e.presets&&e.presets?e.presets:{}};return"actions_home"in e&&"object"==typeof e.actions_home&&e.actions_home&&"tap_action"in e.actions_home?(r(),i.presets.home=e.actions_home.tap_action):"data_home"in e&&"object"==typeof e.data_home&&e.data_home&&"string"==typeof e.service&&(r(),i.presets.service=e.service,i.presets.data_home=e.data_home),i},keepOriginal:!0}),ow("live.controls.ptz",(e=>{if("object"!=typeof e||!e)return e;const t=["mode","position","orientation","hide_pan_tilt","hide_zoom","hide_home","style"],n=Object.keys(e);return n.some((e=>!t.includes(e)))?n.filter((e=>t.includes(e))).reduce(((t,n)=>(t[n]=e[n],t)),{}):void 0})),rw("view.update_cycle_camera",Wi),rw("view.update_force",Qi,{transform:e=>!0===e?"all":null}),rw("view.update_seconds",Gi),rw("view.update_entities",Yi),iw("live.controls.title",ds,{transform:e=>"object"==typeof e&&e&&"string"==typeof e.mode?"none"===e.mode?{style:"none"}:e.mode.includes("bottom")?{position:"bottom"}:e.mode.includes("top")?{position:"top"}:null:null}),sw("live.controls.title"),sw("media_viewer.controls.title"),e=>lw(hw)("object"==typeof e&&e?e:{}),rw("dimensions.max_height",ys),sw("dimensions.min_height")];class fw extends zs{}class _w extends Event{constructor(e,t){super("frigate-card:conditions:evaluate",t),this.conditions=e}}function vw(e,t,n){let a=ew(t),i=!1;if(n?.configOverrides)for(const t of n.configOverrides)e.evaluateConditions(t.conditions,n?.stateOverrides)&&(t.delete?.forEach((e=>{Jb(a,e)})),Object.keys(t.set??{}).forEach((e=>{Kb(a,e,t.set?.[e])})),Object.keys(t.merge??{}).forEach((e=>{Kb(a,e,Ly({},Xb(a,e),t.merge?.[e]))})),i=!0);if(!i)return t;if(n?.configOverrides?.some((e=>e.delete?.length))&&(a=hf(a)),n?.schema){const e=n.schema.safeParse(a);if(!e.success)throw new fw(V_("error.invalid_configuration_override"),[e.error.errors,a]);return e.data}return a}class yw{constructor(e,t){this._state={},this._epoch=this._createEpoch(),this._hasHAStateConditions=!1,this._mediaQueries=[],this._mediaQueryTrigger=()=>this._triggerChange(),this._api=e,this._listeners=[()=>this._api.getConfigManager().computeOverrideConfig(),()=>this._api.getAutomationsManager().execute(),...t?[t]:[]]}removeConditions(){this._mediaQueries.forEach((e=>e.removeEventListener("change",this._mediaQueryTrigger))),this._mediaQueries=[]}setConditionsFromConfig(){this.removeConditions();const e=(()=>{const e=this._api.getConfigManager().getConfig(),t=[];e?.overrides?.forEach((e=>t.push(...e.conditions))),e?.automations?.forEach((e=>t.push(...e.conditions)));const n=e=>{const a=vl.safeParse(e);a.success?(t.push(...a.data.conditions),a.data.elements?.forEach(n)):e&&"object"==typeof e&&Object.keys(e).forEach((t=>n(e[t])))};return e?.elements?.forEach(n),t})();this._hasHAStateConditions=e.some((e=>!e.condition||["state","numeric_state","user"].includes(e.condition))),e.forEach((e=>{if("screen"===e.condition){const t=window.matchMedia(e.media_query);t.addEventListener("change",this._mediaQueryTrigger),this._mediaQueries.push(t)}}))}setState(e){Object.keys(e).every((t=>Dv(e[t],this._state[t])))||(this._state={...this._state,...e},this._triggerChange())}getState(){return this._state}hasHAStateConditions(){return this._hasHAStateConditions}getEpoch(){return this._epoch}evaluateConditions(e,t){return e.every((e=>this._evaluateCondition(e,t)))}_evaluateCondition(e,t){const n={...this._state,...t};switch(e.condition){case void 0:case"state":return!!n.state&&(!e.state&&!e.state_not||e.entity in n.state&&(!e.state||(Array.isArray(e.state)?e.state.includes(n.state[e.entity].state):e.state===n.state[e.entity].state))&&(!e.state_not||(Array.isArray(e.state_not)?!e.state_not.includes(n.state[e.entity].state):e.state_not!==n.state[e.entity].state)));case"view":return!!n?.view&&e.views.includes(n.view);case"fullscreen":return void 0!==n.fullscreen&&e.fullscreen===n.fullscreen;case"expand":return void 0!==n.expand&&e.expand===n.expand;case"camera":return!!n.camera&&e.cameras.includes(n.camera);case"numeric_state":return!!n.state&&e.entity in n.state&&void 0!==n.state[e.entity].state&&(void 0===e.above||Number(n.state[e.entity].state)>e.above)&&(void 0===e.below||Number(n.state[e.entity].state)n.triggered?.has(e)));case"interaction":return void 0!==n.interaction&&e.interaction===n.interaction;case"microphone":return!(void 0!==e.connected&&n.microphone?.connected!==e.connected||void 0!==e.muted&&n.microphone?.muted!==e.muted);case"key":return!(!n.keys||!(e.key in n.keys)||(e.state??"down")!==n.keys[e.key].state||void 0!==e.ctrl&&e.ctrl!==!!n.keys[e.key].ctrl||void 0!==e.alt&&e.alt!==!!n.keys[e.key].alt||void 0!==e.meta&&e.meta!==!!n.keys[e.key].meta||void 0!==e.shift&&e.shift!==!!n.keys[e.key].shift)}}_createEpoch(){return{manager:this}}_triggerChange(){this._epoch=this._createEpoch(),this._listeners.forEach((e=>e()))}}const bw={casting:{[Qr]:!1,[Sr]:!1,[es]:"none",[`${os}.enabled`]:!0,[`${ss}.enabled`]:!0,[`${rs}.enabled`]:!1,[`${cs}.enabled`]:!1,[Zr]:["selected","visible"],[vs]:"static",[_s]:"16:9",[$i]:1,[$o]:!0},"low-performance":{[ro]:"none",[Ar]:"none",[Uo]:"none",[fo]:!1,[Nr]:!1,[Bo]:!1,[Wr]:[],[mr]:[],[gr]:[],[fr]:[],[ko]:["unselected","hidden"],[Co]:!1,[xr]:!1,[Eo]:"none",[kr]:"none",[$o]:!1,[Er]:"chevrons",[hs]:"none",[es]:"outside",[`${as}.enabled`]:!1,[`${ls}.enabled`]:!1,[`${ls}.enabled`]:!1,[`${cs}.enabled`]:!1,[lr]:!1,[dr]:!1,[ur]:!1,[cr]:!1,[co]:!1,[lo]:!1,[uo]:!1,[so]:!1,[Ir]:!1,[Tr]:!1,[jr]:!1,[zr]:!1,[Qo]:!1,[Go]:!1,[Yo]:!1,[Zo]:!1,[xs]:!1,[Cs]:10,[Es]:!1,[Ss]:!1,[Mr]:!1,[Ei]:!1,[Mi]:"image",[$i]:10,[ar]:"none",[Ms]:1},scrubbing:{[mo]:"below",[_o]:"ribbon",[go]:"seek",[Pr]:"below",[Fr]:"ribbon",[Lr]:"seek"}},ww=(e,t,n)=>{const a=Ds(Nd).safeParse(e);if(!a.success)return t;const i=a.data;for(const e of n??[])e in bw&&Object.entries(bw[e]).forEach((([e,n])=>{return r=n,void(void 0===Xb(i,a=e)&&Kb(t,a,r));var a,r}));return t},xw=e=>{switch(e){case"ptz_left":return"left";case"ptz_right":return"right";case"ptz_up":return"up";case"ptz_down":return"down";case"ptz_zoom_in":return"zoom_in";case"ptz_zoom_out":return"zoom_out"} -/* istanbul ignore next: No (current) way to reach this code -- @preserve */return null},Cw=(e,t)=>{if(!t.enabled)return[];const n=[];for(const a of["ptz_down","ptz_left","ptz_right","ptz_up","ptz_zoom_in","ptz_zoom_out"]){const i=t[a],r=xw(a);i&&r&&(n.push({conditions:[{condition:"key",key:i.key,state:"down",shift:i.shift,ctrl:i.ctrl,alt:i.alt,meta:i.meta}],actions:[vf({ptzAction:r,ptzPhase:"start"})],tag:e}),n.push({conditions:[{condition:"key",key:i.key,state:"up"}],actions:[vf({ptzAction:r,ptzPhase:"stop"})],tag:e}))}const a=t.ptz_home;return a&&n.push({conditions:[{condition:"key",key:a.key,state:"down",shift:a.shift,ctrl:a.ctrl,alt:a.alt,meta:a.meta}],actions:[vf()],tag:e}),n};class Mw{constructor(e){this._config=null,this._overriddenConfig=null,this._rawConfig=null,this._cardWideConfig=null,this._api=e}hasConfig(){return!!this.getConfig()}getConfig(){return this._overriddenConfig??this._config}getCardWideConfig(){return this._cardWideConfig}getNonOverriddenConfig(){return this._config}getRawConfig(){return this._rawConfig}setConfig(e){if(!e)throw new Error(V_("error.invalid_configuration"));const t=Nd.safeParse(e);if(!t.success){const n=aw(e),a=Ps(t.error);let i="";throw n&&(i=`${V_("error.upgrade_available")}. `),new Error(i+`${V_("error.invalid_configuration")}: `+(a&&a.size?JSON.stringify([...a],null," "):V_("error.invalid_configuration_no_hint")))}const n=ww(e,t.data,t.data.profiles);var a;(this._rawConfig=e,Dv(this._config,n))||(this._config=n,this._cardWideConfig={performance:n.performance,debug:n.debug},this._api.getConditionsManager().setConditionsFromConfig(),this._api.getConditionsManager().setState({view:void 0,displayMode:void 0,camera:void 0}),this._api.getMediaLoadedInfoManager().clear(),this._api.getInitializationManager().uninitialize(Wb.VIEW),this._api.getViewManager().reset(),this._api.getMessageManager().reset(),this._api.getStyleManager().setPerformance(),this._api.getStatusBarItemManager().removeAllDynamicStatusBarItems(),((e,t)=>{e.getAutomationsManager().deleteAutomations(t);const n=e.getConfigManager().getConfig()?.view.keyboard_shortcuts;if(!n)return;const a=Cw(t,n);a.length&&e.getAutomationsManager().addAutomations(a)})(this._api,this),(a=this._api).getAutomationsManager().deleteAutomations(),a.getAutomationsManager().addAutomations(a.getConfigManager().getNonOverriddenConfig()?.automations??[]),this.computeOverrideConfig(),this._api.getCardElementManager().update())}computeOverrideConfig(){const e=this._api.getConditionsManager();if(!this._config)return;let t=null;try{t=vw(e,this._config,{configOverrides:this._config.overrides,schema:Nd})}catch(e){return void this._api.getMessageManager().setErrorIfHigherPriority(e)}if(Dv(t,this._overriddenConfig))return;const n=this._overriddenConfig;this._overriddenConfig=t,this._api.getStyleManager().setMinMaxHeight(),!n||Dv(n?.cameras,this._overriddenConfig?.cameras)&&Dv(n?.cameras_global,this._overriddenConfig?.cameras_global)||this._api.getInitializationManager().uninitialize(Wb.CAMERAS),n&&n?.live.microphone.always_connected!==this._overriddenConfig?.live.microphone.always_connected&&this._api.getInitializationManager().uninitialize(Wb.MICROPHONE_CONNECT),this._initializeBackground(n)}async _initializeBackground(e){await this._api.getDefaultManager().initializeIfNecessary(e),await this._api.getMediaPlayerManager().initializeIfNecessary(e),this._api.getCardElementManager().update()}}class kw{constructor(e){this._timer=new xf,this._stateChangeHandler=()=>{this._setToDefaultIfAllowed()},this._api=e}async initializeIfNecessary(e){Dv(e?.view.default_reset,this._api.getConfigManager().getConfig()?.view.default_reset)||await this.initialize()}async initialize(){this.uninitialize();const e=this._api.getConfigManager().getConfig()?.view.default_reset;e?.entities.length&&this._api.getHASSManager().getStateWatcher().subscribe(this._stateChangeHandler,e.entities);const t=this._api.getConfigManager().getConfig()?.view.default_reset.every_seconds;return t&&this._timer.startRepeated(t,(()=>this._setToDefaultIfAllowed())),this._api.getConfigManager().getConfig()?.view.default_reset.after_interaction&&this._api.getAutomationsManager().addAutomations([{actions:[gf("default")],conditions:[{condition:"interaction",interaction:!1}],tag:this}]),!0}uninitialize(){this._timer.stop(),this._api.getHASSManager().getStateWatcher().unsubscribe(this._stateChangeHandler),this._api.getAutomationsManager().deleteAutomations(this)}_setToDefaultIfAllowed(){this._isAutomatedUpdateAllowed()&&this._api.getViewManager().setViewDefault()}_isAutomatedUpdateAllowed(){const e=this._api.getConfigManager().getConfig()?.view.default_reset.interaction_mode;return!!e&&((e,t)=>{switch(e){case"all":return!0;case"active":return t;case"inactive":return!t}})(e,this._api.getInteractionManager().hasInteraction())}}const Sw=(e,t="download")=>{const n=new URL(e).origin===window.location.origin,a=e.startsWith("data:");if(navigator.userAgent.startsWith("Home Assistant/")||navigator.userAgent.startsWith("HomeAssistant/")||!n&&!a)window.open(e,"_blank");else{const n=document.createElement("a");n.setAttribute("download",t),n.href=e,n.click(),n.remove()}},Ew=async(e,t,n)=>{const a=await t.getMediaDownloadPath(n);if(!a)throw new zs(V_("error.download_no_media"));let i=a.endpoint;if(a.sign){let t;try{t=await Ib(e,a.endpoint)}catch(e){Gg(e)}if(!t)throw new zs(V_("error.download_sign_failed"));i=t}Sw(i)},$w=e=>{const t=document.createElement("canvas");t.width=e.videoWidth,t.height=e.videoHeight;const n=t.getContext("2d");return n?(n.drawImage(e,0,0,t.width,t.height),t.toDataURL("image/jpeg")):null};class Aw{constructor(e){this._api=e}async downloadViewerMedia(){const e=this._api.getViewManager().getView()?.queryResults?.getSelectedResult(),t=this._api.getHASSManager().getHASS();if(!e||!t)return!1;try{await Ew(t,this._api.getCameraManager(),e)}catch(e){return this._api.getMessageManager().setErrorIfHigherPriority(e),!1}return!0}async downloadScreenshot(){const e=await(this._api.getMediaLoadedInfoManager().get()?.player?.getScreenshotURL());e&&Sw(e,(e=>{if(e?.is("live")||e?.is("image"))return`${e.view}-${e.camera}-${Wu(new Date,"yyyy-MM-dd-HH-mm-ss")}.jpg`;if(e?.isViewerView()){const t=e.queryResults?.getSelectedResult(),n=t?.getID()??null;return`${e.view}-${e.camera}${n?`-${n}`:""}.jpg`}return"screenshot.jpg"})(this._api.getViewManager().getView()))}}class zw{constructor(e){this._expanded=!1,this._api=e}initialize(){this._setConditionState()}isExpanded(){return this._expanded}toggleExpanded(){this.setExpanded(!this._expanded)}setExpanded(e){e&&this._api.getFullscreenManager().isInFullscreen()&&this._api.getFullscreenManager().stopFullscreen(),this._expanded=e,this._setConditionState(),this._api.getCardElementManager().update()}_setConditionState(){this._api.getConditionsManager()?.setState({expand:this._expanded})}}const Iw=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],Tw=(()=>{if("undefined"==typeof document)return!1;const e=Iw[0],t={};for(const n of Iw){const a=n?.[1];if(a in document){for(const[a,i]of n.entries())t[e[a]]=i;return t}}return!1})(),jw={change:Tw.fullscreenchange,error:Tw.fullscreenerror};let Ow={request:(e=document.documentElement,t)=>new Promise(((n,a)=>{const i=()=>{Ow.off("change",i),n()};Ow.on("change",i);const r=e[Tw.requestFullscreen](t);r instanceof Promise&&r.then(i).catch(a)})),exit:()=>new Promise(((e,t)=>{if(!Ow.isFullscreen)return void e();const n=()=>{Ow.off("change",n),e()};Ow.on("change",n);const a=document[Tw.exitFullscreen]();a instanceof Promise&&a.then(n).catch(t)})),toggle:(e,t)=>Ow.isFullscreen?Ow.exit():Ow.request(e,t),onchange(e){Ow.on("change",e)},onerror(e){Ow.on("error",e)},on(e,t){const n=jw[e];n&&document.addEventListener(n,t,!1)},off(e,t){const n=jw[e];n&&document.removeEventListener(n,t,!1)},raw:Tw};Object.defineProperties(Ow,{isFullscreen:{get:()=>Boolean(document[Tw.fullscreenElement])},element:{enumerable:!0,get:()=>document[Tw.fullscreenElement]??void 0},isEnabled:{enumerable:!0,get:()=>Boolean(document[Tw.fullscreenEnabled])}}),Tw||(Ow={isEnabled:!1});var Dw=Ow;class Rw{constructor(e){this._fullscreenHandler=()=>{this._api.getExpandManager().setExpanded(!1),this._setConditionState(),this._api.getCardElementManager().update()},this._api=e}initialize(){this._setConditionState()}connect(){Dw.isEnabled&&Dw.on("change",this._fullscreenHandler)}disconnect(){Dw.isEnabled&&Dw.off("change",this._fullscreenHandler)}isInFullscreen(){return Dw.isEnabled&&Dw.isFullscreen}toggleFullscreen(){Dw.toggle(this._api.getCardElementManager().getElement())}stopFullscreen(){Dw.exit()}_setConditionState(){this._api.getConditionsManager()?.setState({fullscreen:this.isInFullscreen()})}}class Pw{constructor(){this._watcherCallbacks=new Map}setHASS(e,t){if(e)for(const[n,a]of this._watcherCallbacks.entries()){const i=Tb(t,e,a,{stateOnly:!0,firstOnly:!0});i.length&&n(i[0])}}subscribe(e,t){return!!t.length&&(this._watcherCallbacks.has(e)?this._watcherCallbacks.get(e)?.push(...t):this._watcherCallbacks.set(e,t),!0)}unsubscribe(e){this._watcherCallbacks.delete(e)}}class Lw{constructor(e){this._hass=null,this._stateWatcher=new Pw,this._api=e}getHASS(){return this._hass}hasHASS(){return!!this._hass}getStateWatcher(){return this._stateWatcher}setHASS(e){if(((e,t)=>e?.connected!==t?.connected)(this._hass,e)&&(e?.connected?this._api.getMessageManager().resetType("connection"):this._api.getMessageManager().setMessageIfHigherPriority({message:V_("error.reconnecting"),icon:"mdi:lan-disconnect",type:"connection",dotdotdot:!0})),!e)return;const t=this._hass;this._hass=e,this._api.getConditionsManager().hasHAStateConditions()&&this._api.getConditionsManager().setState({state:this._hass.states,user:this._hass.user}),this._api.getStyleManager().setLightOrDarkMode(),this._stateWatcher.setHASS(t,e)}}var Nw=function(){return th.Date.now()},Fw="Expected a function",Vw=Math.max,Hw=Math.min;function Bw(e,t,n){var a,i,r,o,s,c,l=0,d=!1,u=!1,h=!0;if("function"!=typeof e)throw new TypeError(Fw);function p(t){var n=a,r=i;return a=i=void 0,l=t,o=e.apply(r,n)}function m(e){var n=e-c;return void 0===c||n>=t||n<0||u&&e-l>=r}function g(){var e=Nw();if(m(e))return f(e);s=setTimeout(g,function(e){var n=t-(e-c);return u?Hw(n,r-(e-l)):n}(e))}function f(e){return s=void 0,h&&a?p(e):(a=i=void 0,o)}function _(){var e=Nw(),n=m(e);if(a=arguments,i=this,c=e,n){if(void 0===s)return function(e){return l=e,s=setTimeout(g,t),d?p(e):o}(c);if(u)return clearTimeout(s),s=setTimeout(g,t),p(c)}return void 0===s&&(s=setTimeout(g,t)),o}return t=Cg(t)||0,hh(n)&&(d=!!n.leading,r=(u="maxWait"in n)?Vw(Cg(n.maxWait)||0,t):r,h="trailing"in n?!!n.trailing:h),_.cancel=function(){void 0!==s&&clearTimeout(s),l=0,a=c=i=s=void 0},_.flush=function(){return void 0===s?o:f(Nw())},_}function qw(e,t,n){var a=!0,i=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return hh(n)&&(a="leading"in n?!!n.leading:a,i="trailing"in n?!!n.trailing:i),Bw(e,t,{leading:a,maxWait:t,trailing:i})}class Uw{constructor(e){this._timer=new xf,this.reportInteraction=qw((()=>{this._reportInteraction()}),1e3),this._api=e}initialize(){this._api.getConditionsManager().setState({interaction:!1})}hasInteraction(){return this._timer.isRunning()}_reportInteraction(){this._timer.stop();const e=this._api.getConfigManager().getConfig()?.view.interaction_seconds;e&&(this._api.getConditionsManager().setState({interaction:!0}),this._timer.start(e,(()=>{this._api.getConditionsManager().setState({interaction:!1}),this._api.getStyleManager().setLightOrDarkMode()})))}}class Ww{constructor(e){this._state={},this._handleKeydown=e=>{const t={state:"down",ctrl:e.ctrlKey,alt:e.altKey,meta:e.metaKey,shift:e.shiftKey};Dv(this._state[e.key],t)||(this._state[e.key]=t,this._processStateChange())},this._handleKeyup=e=>{e.key in this._state&&"down"===this._state[e.key].state&&(this._state[e.key].state="up",this._processStateChange())},this._handleBlur=()=>{Object.keys(this._state).length&&(this._state={},this._processStateChange())},this._api=e}initialize(){const e=this._api.getCardElementManager().getElement();e.addEventListener("keydown",this._handleKeydown),e.addEventListener("keyup",this._handleKeyup),e.addEventListener("blur",this._handleBlur)}uninitialize(){const e=this._api.getCardElementManager().getElement();e.removeEventListener("keydown",this._handleKeydown),e.removeEventListener("keyup",this._handleKeyup),e.removeEventListener("blur",this._handleBlur)}_processStateChange(){this._api.getConditionsManager().setState({keys:this._state})}}function Zw(e,t){let n;return n=e instanceof Event?e.composedPath()[0]:e,n instanceof HTMLImageElement?{width:n.naturalWidth,height:n.naturalHeight,...t}:n instanceof HTMLVideoElement?{width:n.videoWidth,height:n.videoHeight,...t}:n instanceof HTMLCanvasElement?{width:n.width,height:n.height,player:t?.player,...t}:null}function Qw(e,t,n){const a=Zw(t,n);a&&Gw(e,a)}function Gw(e,t){Bg(e,"media:loaded",t)}function Yw(e){Bg(e,"media:unloaded")}function Kw(e){Bg(e,"media:volumechange")}function Xw(e){Bg(e,"media:play")}function Jw(e){Bg(e,"media:pause")}class ex{constructor(e){this._current=null,this._lastKnown=null,this._api=e}initialize(){this.clear()}set(e){var t;(t=e).height>=50&&t.width>=50&&(B_(this._api.getConfigManager().getCardWideConfig(),"Frigate Card media load: ",e),this._current=e,this._lastKnown=e,this._api.getConditionsManager().setState({media_loaded:!0}),this._api.getStyleManager().setExpandedMode(),this._api.getCardElementManager().update())}get(){return this._current}getLastKnown(){return this._lastKnown}clear(){this._current=null,this._api.getConditionsManager().setState({media_loaded:!1})}has(){return!!this._current}}class tx{static isEvent(e){return this.isClip(e)||this.isSnapshot(e)}static isRecording(e){return"recording"===e.getMediaType()}static isClip(e){return"clip"===e.getMediaType()}static isSnapshot(e){return"snapshot"===e.getMediaType()}static isVideo(e){return this.isClip(e)||this.isRecording(e)}}class nx{constructor(e){this._mediaPlayers=[],this._api=e}getMediaPlayers(){return this._mediaPlayers}hasMediaPlayers(){return this._mediaPlayers.length>0}async initializeIfNecessary(e){e?.menu.buttons.media_player.enabled!==this._api.getConfigManager().getConfig()?.menu.buttons.media_player.enabled&&await this.initialize()}async initialize(){const e=this._api.getHASSManager().getHASS();if(!e||!this._api.getConfigManager().getConfig()?.menu.buttons.media_player.enabled)return!1;const t=Object.keys(e.states).filter((t=>{if(t.startsWith("media_player.")){const n=e.states[t];if(n&&"unavailable"!==n.state&&vb(n,131072))return!0}return!1}));let n=null;try{n=await this._api.getEntityRegistryManager().getEntities(e,t)}catch(e){Gg(e)}return this._mediaPlayers=t.filter((e=>{const t=n?.get(e);return!t||!t.hidden_by})),!0}async stop(e){const t=this._api.getHASSManager().getHASS(),n=t?.states[e];if(!n)return;let a;if(vb(n,4096))a="media_stop";else{if(!vb(n,256))return;a="turn_off"}await t.callService("media_player",a,{entity_id:e})}async playLive(e,t){const n=this._api.getCameraManager().getStore().getCameraConfig(t);n&&("dashboard"===n.cast?.method?await this._playLiveDashboard(e,n):await this._playLiveStandard(e,t,n))}async _playLiveStandard(e,t,n){const a=this._api.getHASSManager().getHASS(),i=n?.camera_entity??null;if(!a||!i)return;const r=this._api.getCameraManager().getCameraMetadata(t)?.title??null,o=a.states[i]?.attributes?.entity_picture??null;await a.callService("media_player","play_media",{entity_id:e,media_content_id:`media-source://camera/${i}`,media_content_type:"application/vnd.apple.mpegurl",extra:{...r&&{title:r},...o&&{thumb:o}}})}async _playLiveDashboard(e,t){const n=this._api.getHASSManager().getHASS();if(!n)return;const a=t.cast?.dashboard;a?.dashboard_path&&a?.view_path?await n.callService("cast","show_lovelace_view",{entity_id:e,dashboard_path:a.dashboard_path,view_path:a.view_path}):this._api.getMessageManager().setMessageIfHigherPriority({type:"error",icon:"mdi:cast",message:V_("error.no_dashboard_or_view")})}async playMedia(e,t){const n=this._api.getHASSManager().getHASS();if(!n||!t)return;const a=t.getTitle(),i=t.getThumbnail();await n.callService("media_player","play_media",{entity_id:e,media_content_id:t.getContentID(),media_content_type:tx.isVideo(t)?"video":"image",extra:{...a&&{title:a},...i&&{thumb:i}}})}}class ax{constructor(e){this._message=null,this._api=e}getMessage(){return this._message}hasMessage(){return!!this._message}hasErrorMessage(){return"error"===this._message?.type}reset(){const e=this.hasMessage();this._message=null,e&&this._api.getCardElementManager().update()}resetType(e){this._message?.type===e&&this.reset()}setErrorIfHigherPriority(e,t){e&&"object"==typeof e&&"message"in e&&(Gg(e),this.setMessageIfHigherPriority({message:t?`${t}: ${e.message}`:e.message,type:"error",...e instanceof zs&&{context:e.context}}))}setMessageIfHigherPriority(e){const t=this._message?Is[this._message.type]:0,n=Is[e.type];return!(this._message&&ne.stop())),this._stream=void 0,this._setConditionState(),this._api.getCardElementManager().update()}getStream(){return this._stream??void 0}mute(){const e=this.isMuted();this._mute=!0,this._setMute(),this._setConditionState(),e||this._callListeners("muted")}async unmute(){if(!this.isSupported())return;const e=!this.isMuted(),t=()=>{this._mute=!1,this._setMute()};this.isConnected()||this.isForbidden()?this.isConnected()&&t():(t(),await this.connect()),this._setConditionState(),e||this._callListeners("unmuted")}isConnected(){return!!this._stream}isForbidden(){return null===this._stream}isMuted(){return!this._stream||this._stream.getTracks().every((e=>!e.enabled))}addListener(e){this._listeners.push(e)}removeListener(e){this._listeners=this._listeners.filter((t=>t!==e))}_callListeners(e){this._listeners.forEach((t=>t(e)))}_setMute(){this._stream?.getTracks().forEach((e=>{e.enabled=!this._mute})),this._startTimer(),this._api.getCardElementManager().update()}_startTimer(){const e=this._api.getConfigManager().getConfig()?.live.microphone;if(e?.always_connected)return;const t=e?.disconnect_seconds??0;t&&this._timer.start(t,(()=>{this.disconnect()}))}_setConditionState(){this._api.getConditionsManager().setState({microphone:{muted:this.isMuted(),connected:this.isConnected()}})}}class rx{constructor(e){this._shouldRun=!0,this.requestExecution=()=>{this._shouldRun=!0,this._api.getCardElementManager().update()},this.executeIfNecessary=async()=>{this._shouldRun&&(this._shouldRun=!1,await this._executeViewRelated(this._calculateIntent()),await this._executeNonViewRelated(this._calculateIntent()))},this._isViewAction=e=>{switch(e.frigate_card_action){case"clip":case"clips":case"diagnostics":case"image":case"live":case"recording":case"recordings":case"snapshot":case"snapshots":case"timeline":return!0}return!1},this._api=e}hasViewRelatedActionsToRun(){return!!this._calculateIntent().view&&this._shouldRun}async _executeViewRelated(e){e.view&&(e.view.default?await this._api.getViewManager().setViewDefaultWithNewQuery({params:{camera:e.view.camera},...e.view.substream&&{modifiers:[new sb(e.view.substream)]}}):await this._api.getViewManager().setViewByParametersWithNewQuery({params:{...e.view.view&&{view:e.view.view},...e.view.camera&&{camera:e.view.camera}},...e.view.substream&&{modifiers:[new sb(e.view.substream)]}}))}async _executeNonViewRelated(e){e.other&&await this._api.getActionsManager().executeActions(e.other)}_calculateIntent(){const e={};for(const t of this._getActions())this._isViewAction(t)?((e.view??={}).view=t.frigate_card_action,(e.view??={}).default=void 0):"default"===t.frigate_card_action?((e.view??={}).default=!0,(e.view??={}).view=void 0):"camera_select"===t.frigate_card_action?(e.view??={}).camera=t.camera:"live_substream_select"===t.frigate_card_action?(e.view??={}).substream=t.camera:(e.other??=[]).push(t);return e}_getActions(){const e=new URLSearchParams(window.location.search),t=[],n=new RegExp(/^frigate-card-action([.:](?\w+))?[.:](?\w+)/);for(const[a,i]of e.entries()){const e=a.match(n);if(!e||!e.groups)continue;const r=e.groups.cardID,o=e.groups.action;let s=null;switch(o){case"camera_select":case"live_substream_select":i&&(s=ff(o,i,{cardID:r}));break;case"camera_ui":case"clip":case"clips":case"default":case"diagnostics":case"download":case"expand":case"image":case"live":case"menu_toggle":case"recording":case"recordings":case"snapshot":case"snapshots":case"timeline":s=gf(o,{cardID:r});break;default:console.warn(`Frigate card received unknown card action in query string: ${o}`)}s&&t.push(s)}return t}}class ox{constructor(e){this._items=[],this._dynamicItems=[],this._api=e}addDynamicStatusBarItem(e){this._dynamicItems.includes(e)||this._dynamicItems.push(e),this._api.getCardElementManager().update()}removeDynamicStatusBarItem(e){this._dynamicItems=this._dynamicItems.filter((t=>!Dv(t,e))),this._api.getCardElementManager().update()}removeAllDynamicStatusBarItems(){this._dynamicItems=[],this._api.getCardElementManager().update()}calculateItems(e){const t=e?.view?e?.cameraManager?.getCameraMetadata(e?.view?.camera):null,n=t?.engineLogo??null,a=e?.view?.is("live")?t?.title??null:e?.view?.isViewerView()?e?.view.queryResults?.getSelectedResult()?.getTitle()??null:null,i=e?.mediaLoadedInfo?this._calculateResolution(e?.mediaLoadedInfo):null,r=e?.mediaLoadedInfo?.technology?.length?e?.mediaLoadedInfo.technology[0]:null;return[...a?[{type:"custom:frigate-card-status-bar-string",string:a,expand:!0,sufficient:!0,...e?.statusConfig?.items.title}]:[],...i?[{type:"custom:frigate-card-status-bar-string",string:i,...e?.statusConfig?.items.resolution}]:[],...r&&"webrtc"===r?[{type:"custom:frigate-card-status-bar-icon",icon:"mdi:webrtc",...e?.statusConfig?.items.technology}]:r?[{type:"custom:frigate-card-status-bar-string",string:r.toUpperCase(),...e?.statusConfig?.items.technology}]:[],...n?[{type:"custom:frigate-card-status-bar-image",image:n,...e?.statusConfig?.items.engine}]:[],...this._dynamicItems]}_matchesWidthHeight(e,t,n){const a=.99*t,i=1.01*t,r=.99*n,o=1.01*n,s=(e,t,n)=>e>=t&&e<=n;return!!e&&(s(e.width,a,i)&&s(e.height,r,o)||s(e.height,a,i)&&s(e.width,r,o))}_calculateResolution(e){return this._matchesWidthHeight(e,1920,1080)?"1080p":this._matchesWidthHeight(e,1280,720)?"720p":this._matchesWidthHeight(e,640,480)?"VGA":this._matchesWidthHeight(e,3840,2160)?"4K":this._matchesWidthHeight(e,720,480)?"480p":this._matchesWidthHeight(e,720,576)?"576p":this._matchesWidthHeight(e,7680,4320)?"8K":`${e.width}x${e.height}`}}class sx{constructor(e){this.setLightOrDarkMode=()=>{const e=this._api.getConfigManager().getConfig(),t="on"===e?.view.dark_mode||"auto"===e?.view.dark_mode&&(!this._api.getInteractionManager().hasInteraction()||!!this._api.getHASSManager().getHASS()?.themes.darkMode);of(this._api.getCardElementManager().getElement(),t,"dark")},this._api=e}setExpandedMode(){const e=this._api.getCardElementManager().getElement(),t=this._api.getViewManager().getView(),n=this._api.getMediaLoadedInfoManager().getLastKnown();e.style.setProperty("--frigate-card-expand-aspect-ratio",t?.isAnyMediaView()&&n?`${n.width} / ${n.height}`:"unset");const a=t?.isGrid();e.style.setProperty("--frigate-card-expand-width",!a&&t?.isAnyMediaView()?"none":"var(--frigate-card-expand-max-width)"),e.style.setProperty("--frigate-card-expand-height",!a&&t?.isAnyMediaView()?"none":"var(--frigate-card-expand-max-height)")}setMinMaxHeight(){const e=this._api.getConfigManager().getConfig();if(e){this._api.getCardElementManager().getElement().style.setProperty("--frigate-card-height",e.dimensions.height)}}setPerformance(){const e={box_shadow:"none",border_radius:"0px"},t=this._api.getCardElementManager().getElement(),n=this._api.getConfigManager().getCardWideConfig()?.performance,a=n?.style??{};for(const n of Object.keys(a)){const i=`--frigate-card-css-${n.replaceAll("_","-")}`;!1===a[n]?t.style.setProperty(i,e[n]):t.style.removeProperty(i)}}_isAspectRatioEnforced(e,t){const n=e.dimensions.aspect_ratio_mode;return!(this._api.getFullscreenManager().isInFullscreen()||this._api.getExpandManager().isExpanded()||"unconstrained"===n||"dynamic"===n&&(!t||t?.isAnyMediaView()||t?.is("timeline")||t?.is("diagnostics")))}getAspectRatioStyle(){const e=this._api.getConfigManager().getConfig(),t=this._api.getViewManager().getView();if(e){if(!this._isAspectRatioEnforced(e,t))return uf();const n=e.dimensions.aspect_ratio_mode,a=this._api.getMediaLoadedInfoManager().getLastKnown();return uf(a&&"dynamic"===n?{ratio:[a.width,a.height]}:{ratio:e.dimensions.aspect_ratio})}return uf({defaultStatic:!0})}}class cx{constructor(e){this._triggeredCameras=new Map,this._triggeredCameraTimers=new Map,this._throttledTriggerAction=qw(this._triggerAction.bind(this),1e3,{trailing:!0}),this._api=e}getTriggeredCameraIDs(){return new Set(this._triggeredCameras.keys())}isTriggered(){return!!this._triggeredCameras.size}getMostRecentlyTriggeredCameraID(){const e=Ev([...this._triggeredCameras.entries()],(e=>e[1].getTime()),"desc");return e.length?e[0][0]:null}async handleCameraEvent(e){const t=this._api.getConfigManager().getConfig()?.view.triggers,n=this._api.getViewManager().getView()?.camera;if(!t||!n)return;const a=this._api.getCameraManager().getStore().getAllDependentCameras(n);t.filter_selected_camera&&!a.has(e.cameraID)||("end"!==e.type?(this._triggeredCameras.set(e.cameraID,new Date),this._setConditionStateIfNecessary(),await this._throttledTriggerAction(e)):this._startUntriggerTimer(e.cameraID))}_hasAllowableInteractionStateForAction(){const e=this._api.getConfigManager().getConfig()?.view.triggers,t=this._api.getInteractionManager().hasInteraction();return!!e&&("all"===e.actions.interaction_mode||"active"===e.actions.interaction_mode&&t||"inactive"===e.actions.interaction_mode&&!t)}async _triggerAction(e){const t=this._api.getConfigManager().getConfig()?.view.triggers.actions.trigger,n=this._api.getConfigManager().getConfig()?.view.default;("high"!==e.fidelity||e.snapshot||e.clip||"live"===t||"default"===t&&"live"===n)&&(this._hasAllowableInteractionStateForAction()&&("update"===t?await this._api.getViewManager().setViewByParametersWithNewQuery({queryExecutorOptions:{useCache:!1}}):"live"===t?await this._api.getViewManager().setViewByParametersWithNewQuery({params:{view:"live",camera:e.cameraID}}):"default"===t?await this._api.getViewManager().setViewDefaultWithNewQuery({params:{camera:e.cameraID}}):"high"===e.fidelity&&"media"===t&&await this._api.getViewManager().setViewByParametersWithNewQuery({params:{view:e.clip?"clip":"snapshot",camera:e.cameraID}})),this._api.getCardElementManager().update())}_setConditionStateIfNecessary(){const e=new Set(this._triggeredCameras.keys()),t=e.size?e:void 0;Dv(t,this._api.getConditionsManager().getState().triggered)||this._api.getConditionsManager().setState({triggered:t})}async _untriggerAction(e){const t=this._api.getConfigManager().getConfig()?.view.triggers.actions.untrigger;"default"===t&&this._hasAllowableInteractionStateForAction()&&await this._api.getViewManager().setViewDefaultWithNewQuery(),this._triggeredCameras.delete(e),this._deleteTimer(e),this._setConditionStateIfNecessary(),this._api.getCardElementManager().update()}_startUntriggerTimer(e){this._deleteTimer(e);const t=new xf;this._triggeredCameraTimers.set(e,t),t.start( -/* istanbul ignore next: the case of config being null here cannot be - reached, as there's no way to have the untrigger call happen without - a config. -- @preserve */ -this._api.getConfigManager().getConfig()?.view.triggers.untrigger_seconds??0,(async()=>{await this._untriggerAction(e)}))}_deleteTimer(e){this._triggeredCameraTimers.get(e)?.stop(),this._triggeredCameraTimers.delete(e)}}function lx(e,t){return t="function"==typeof t?t:void 0,e&&e.length?Hg(e,void 0,t):[]}class dx{constructor(e){this._queries=null,e&&(this._queries=e)}clone(){return u_(this)}getQueries(){return this._queries}setQueries(e){return this._queries=e,this}getQueryCameraIDs(){if(!this._queries)return null;const e=new Set;return this._queries.forEach((t=>[...t.cameraIDs].forEach((t=>e.add(t))))),e}setQueryCameraIDs(e){if(!this._queries)return this;const t=[];return this._queries.forEach((n=>t.push({...n,cameraIDs:Zg(e)}))),this._queries=lx(t,Dv),this}hasQueriesForCameraIDs(e){for(const t of e)if(!this._queries?.some((e=>e.cameraIDs.has(t))))return!1;return!0}}class ux extends dx{convertToClipsQueries(){for(const e of this._queries??[])delete e.hasSnapshot,e.hasClip=!0;return this}}class hx extends dx{}class px{static areEventQueries(e){return e instanceof ux}static areRecordingQueries(e){return e instanceof hx}static areClipsQueries(e){return this.areEventQueries(e)&&!!e?.getQueries()?.every((e=>e.hasClip))}static areSnapshotQueries(e){return this.areEventQueries(e)&&!!e?.getQueries()?.every((e=>e.hasSnapshot))}static getQueriesType(e){return this.areEventQueries(e)?"event":this.areRecordingQueries(e)?"recording":null}static getMediaType(e){return this.areClipsQueries(e)?"clips":this.areSnapshotQueries(e)?"snapshots":this.areRecordingQueries(e)?"recordings":null}}const mx=(e,t,n)=>{const a={anyCapabilities:["clips","snapshots","recordings"]};switch(t){case"image":case"diagnostics":return e.getStore().getCameraIDs();case"live":case"clip":case"clips":case"snapshot":case"snapshots":case"recording":case"recordings":const i="clip"===t?"clips":"snapshot"===t?"snapshots":"recording"===t?"recordings":t;return n?e.getStore().getAllDependentCameras(n,i):e.getStore().getCameraIDsWithCapability(i);case"timeline":return e.getStore().getCameraIDsWithCapability(a);case"media":return n?e.getStore().getAllDependentCameras(n,a):e.getStore().getCameraIDsWithCapability(a)}},gx=(e,t)=>Ly({},e,t);class fx{constructor(e){this.view=e.view,this.camera=e.camera,this.query=e.query??null,this.queryResults=e.queryResults??null,this.context=e.context??null,this.displayMode=e.displayMode??null}clone(){return new fx({view:this.view,camera:this.camera,query:this.query?.clone()??null,queryResults:this.queryResults?.clone()??null,context:this.context,displayMode:this.displayMode})}evolve(e){return new fx({view:void 0!==e.view?e.view:this.view,camera:void 0!==e.camera?e.camera:this.camera,query:void 0!==e.query?e.query:this.query?.clone()??null,queryResults:void 0!==e.queryResults?e.queryResults:this.queryResults?.clone()??null,context:void 0!==e.context?e.context:this.context,displayMode:void 0!==e.displayMode?e.displayMode:this.displayMode})}mergeInContext(e){return this.context=gx(this.context,e),this}removeContext(e){return this.context&&delete this.context[e],this}removeContextProperty(e,t){const n=this.context?.[e];return n&&delete n[t],this}is(e){return this.view==e}isGalleryView(){return["clips","snapshots","recordings"].includes(this.view)}isAnyMediaView(){return this.isViewerView()||this.is("live")||this.is("image")}isViewerView(){return["media","clip","snapshot","recording"].includes(this.view)}supportsMultipleDisplayModes(){return this.isViewerView()||this.is("live")}getDefaultMediaType(){return["clip","clips"].includes(this.view)?"clips":["snapshot","snapshots"].includes(this.view)?"snapshots":["recording","recordings"].includes(this.view)?"recordings":null}isGrid(){return"grid"===this.displayMode}}const _x=(e,t)=>{t?.forEach((t=>t.modify(e)))};class vx extends zs{}class yx extends zs{}class bx{constructor(e){this._api=e}getViewDefault(e){const t=this._api.getConfigManager().getConfig();if(!t)return null;let n=null;const a=e?.params?.view??t.view.default;if(e?.params?.camera)n=e.params.camera;else{const i=[...mx(this._api.getCameraManager(),a)];if(!i.length)return null;if(e?.baseView?.camera&&t.view.default_cycle_camera){const t=i.indexOf(e.baseView.camera);n=i[t+1>=i.length?0:t+1]}else n=i[0]}return this.getViewByParameters({params:{...e?.params,view:a,camera:n},baseView:e?.baseView})}getViewByParameters(e){const t=this._api.getConfigManager().getConfig();if(!t)return null;let n=e?.params?.camera??e?.baseView?.camera??null,a=e?.params?.view??e?.baseView?.view??t.view.default;const i=this._api.getCameraManager().getStore().getCameraIDs();if(!n||!i.has(n)){n=mx(this._api.getCameraManager(),a).keys().next().value??null}if(!n){const e=[...this._api.getCameraManager().getStore().getCameras()].reduce(((e,[t,n])=>{const a=n.getCapabilities()?.getRawCapabilities();return a&&(e[t]=a),e}),{});throw new vx(V_("error.no_supported_cameras"),{view:a,cameras_capabilities:e})}if(!this.isViewSupportedByCamera(n,a)){if(!e?.failSafe||!this.isViewSupportedByCamera(n,Qs)){const e=this._api.getCameraManager().getStore().getCamera(n)?.getCapabilities()?.getRawCapabilities();throw new yx(V_("error.no_supported_camera"),{view:a,camera:n,...e&&{camera_capabilities:e}})}a=Qs}const r=e?.params?.displayMode??e?.baseView?.displayMode??this._getDefaultDisplayModeForView(a,t),o={...e?.params,view:a,camera:n,displayMode:r},s=e?.baseView?e.baseView.evolve(o):new fx(o);return _x(s,e?.modifiers),s}isViewSupportedByCamera(e,t){return!!mx(this._api.getCameraManager(),t,e).size}_getDefaultDisplayModeForView(e,t){let n=null;switch(e){case"media":case"clip":case"recording":case"snapshot":n=t.media_viewer.display?.mode??null;break;case"live":n=t.live.display?.mode??null}return n??"single"}}class wx{constructor(e,t){this._key=e,this._property=t}modify(e){e.removeContextProperty(this._key,this._property)}}class xx{constructor(e){this._query=e?.query,this._queryResults=e?.queryResults}modify(e){void 0!==this._query&&(e.query=this._query),void 0!==this._queryResults&&(e.queryResults=this._queryResults)}}const Cx=(e,t,n)=>{let a;for(const[i,r]of e.entries()){const e=r.getStartTime(),o=r.getUsableEndTime();if(r.includesTime(t)&&e&&o){const t=o.getTime()-e.getTime();(!a||n&&a.cameraID!==n&&r.getCameraID()===n||t>a.duration&&(!n||a.cameraID!==n||r.getCameraID()===n))&&(a={index:i,duration:t,cameraID:r.getCameraID()})}}return a?a.index:null};class Mx{constructor(e){this._results=e?.results??[],this._selectedIndex=this._getInitialSelectedIndex(e)}_getInitialSelectedIndex(e){return null!=e?.selectedIndex?e.selectedIndex:e?.results&&e.results.length?e?.selectApproach&&"last"!==e?.selectApproach?0:e.results.length-1:null}clone(){return new Mx({results:this._results,selectedIndex:this._selectedIndex})}getResults(){return this._results}getSelectedIndex(){return this._selectedIndex}getResultsCount(){return this.getResults().length}hasResults(){return 0!==this.getResultsCount()}getResult(e){return void 0===e?null:this._results[e]}getSelectedResult(){const e=this.getSelectedIndex();return null!==e?this.getResult(e):null}hasSelectedResult(){return null!==this.getSelectedResult()}resetSelectedResult(){this._selectedIndex=null}selectIndex(e){(null===e||e>=0&&ee.getID()))),n=new Set(e._main.getResults()?.map((e=>e.getID())));return!(!t.size||!n.size||t.has(null)||n.has(null))&&((e,t)=>{for(const n of t)if(!e.has(n))return!1;return!0})(t,n)}getCameraIDs(){return new Set(this._cameras.keys())}getSlice(e){return e?this._cameras.get(e)??null:this._main}getResults(e){return this.getSlice(e)?.getResults()??null}getResultsCount(e){return this.getSlice(e)?.getResultsCount()??0}hasResults(e){return 0!==this.getSlice(e)?.getResultsCount()}getResult(e,t){return this.getSlice(t)?.getResult(e)??null}getSelectedIndex(e){return this.getSlice(e)?.getSelectedIndex()??null}getSelectedResult(e){return this.getSlice(e)?.getSelectedResult()??null}getMultipleSelectedResults(e){const t=[];if(!e||e.main){const e=this.getSelectedResult();e&&t.push(e)}const n=this._getCameraIDsFromCriteria(e);for(const e of n??[]){const n=this.getSelectedResult(e);n&&t.push(n)}return t}hasSelectedResult(e){return this.getSlice(e)?.hasSelectedResult()??!1}resetSelectedResult(e){return this.getSlice(e)?.resetSelectedResult(),this}getResultsTimestamp(){return this._resultsTimestamp}selectIndex(e,t){return this.getSlice(t)?.selectIndex(e),t||this.demoteMainSelectionToCameraSelection(),this}demoteMainSelectionToCameraSelection(){const e=this.getSelectedResult();if(e){const t=e.getCameraID();this.resetSelectedResult(t),this.selectResultIfFound((t=>t===e),{cameraID:t})}return this}promoteCameraSelectionToMainSelection(e){const t=this.getSelectedResult(e);return this.resetSelectedResult(),this.selectResultIfFound((e=>e===t)),this}_getCameraIDsFromCriteria(e){return e?.allCameras?this.getCameraIDs():e?.cameraID?new Set([e.cameraID]):null}selectResultIfFound(e,t){t&&!t?.main||(this._main.selectResultIfFound(e),this.demoteMainSelectionToCameraSelection());const n=this._getCameraIDsFromCriteria(t);for(const t of n??[])this.getSlice(t)?.selectResultIfFound(e);return this}selectBestResult(e,t){t&&!t.main||(this._main.selectBestResult(e),this.demoteMainSelectionToCameraSelection());const n=this._getCameraIDsFromCriteria(t);for(const t of n??[])this.getSlice(t)?.selectBestResult(e);return this}}class Sx{constructor(e){this._api=e}async executeDefaultEventQuery(e){const t=e?.eventsMediaType&&"all"!==e?.eventsMediaType?e.eventsMediaType:{anyCapabilities:["clips","snapshots"]},n=this._api.getCameraManager(),a=e?.cameraID?n.getStore().getAllDependentCameras(e.cameraID,t):n.getStore().getCameraIDsWithCapability(t);if(!a.size)return null;const i=n.generateDefaultEventQueries(a,{limit:this._getChunkLimit(),..."clips"===e?.eventsMediaType&&{hasClip:!0},..."snapshots"===e?.eventsMediaType&&{hasSnapshot:!0}});if(!i)return null;const r=new ux(i),o=await this.execute(r,e?.executorOptions);return o?{query:r,queryResults:o}:null}async executeDefaultRecordingQuery(e){const t=this._api.getCameraManager(),n=e?.cameraID?t.getStore().getAllDependentCameras(e.cameraID,"recordings"):t.getStore().getCameraIDsWithCapability("recordings");if(!n.size)return null;const a=t.generateDefaultRecordingQueries(n,{limit:this._getChunkLimit()});if(!a)return null;const i=new hx(a),r=await this.execute(i,e?.executorOptions);return r?{query:i,queryResults:r}:null}async execute(e,t){const n=e.getQueries();if(!n)return null;const a=await this._api.getCameraManager().executeMediaQueries(n,{useCache:t?.useCache});if(!a)return null;const i=new kx({results:a});return t?.rejectResults?.(i)?null:(t?.selectResult?.id?i.selectBestResult((e=>e.findIndex((e=>e.getID()===t.selectResult?.id)))):t?.selectResult?.func?i.selectResultIfFound(t.selectResult.func):t?.selectResult?.time&&i.selectBestResult((e=>Cx(e,t.selectResult?.time?.time,t.selectResult?.time?.favorCameraID))),i)}_getChunkLimit(){const e=this._api.getConfigManager().getCardWideConfig();return e?.performance?.features.media_chunk_size??50}}class Ex{constructor(e,t){this._api=e,this._executor=t??new Sx(e)}async getExistingQueryModifiers(e,t){return e.query?[new xx({queryResults:await this._executor.execute(e.query,t)})]:[]}async getNewQueryModifiers(e,t){return await this._executeNewQuery(e,{useCache:!1,...t})}async _executeNewQuery(e,t){const n=this._api.getConfigManager().getConfig();if(!n)return null;const a=e?.getDefaultMediaType(),i=[],r=async n=>{ -/* istanbul ignore if: this path cannot be reached -- @preserve */ -if(!n)return[];const a="recordings"===n?await this._executor.executeDefaultRecordingQuery({...!e.isGrid()&&{cameraID:e.camera},executorOptions:t}):"clips"===n||"snapshots"===n||"all"===n?await this._executor.executeDefaultEventQuery({...!e.isGrid()&&{cameraID:e.camera},eventsMediaType:n,executorOptions:t}):/* istanbul ignore next -- @preserve */ -null;return a?[new xx(a)]:[]};switch(e.view){case"live":"none"!==n.live.controls.thumbnails.mode&&i.push(...await r("recordings"===n.live.controls.thumbnails.media_type?"recordings":n.live.controls.thumbnails.events_media_type));break;case"media":i.push(...await r("clips"));break;case"clips":case"snapshots":case"recordings":i.push(...await r(a));break;case"clip":case"snapshot":case"recording":"none"!==n.media_viewer.controls.thumbnails.mode&&i.push(...await r(a))}return i.push(...this._getTimelineWindowViewModifier(e)),i.push(...this._getSeekTimeModifier(t?.selectResult?.time?.time)),i}_getTimelineWindowViewModifier(e){if(e.is("live")){const e=new Date,t=this._api.getConfigManager().getConfig()?.live; -/* istanbul ignore if: this if branch cannot be reached as if the config is - empty this function is never called -- @preserve */ -return t?[new Gy({timeline:{window:{start:Qu(e,{seconds:t.controls.timeline.window_seconds}),end:e}}})]:[]}return[new wx("timeline","window")]}_getSeekTimeModifier(e){return e?[new Gy({mediaViewer:{seek:e}})]:[new wx("mediaViewer","seek")]}}class $x{constructor(e,t){this._view=null,this._epoch=this._createEpoch(),this._loadingIndex=1,this.setViewDefault=e=>this._setViewGeneric(this._viewFactory.getViewDefault.bind(this._viewFactory),e),this.setViewByParameters=e=>this._setViewGeneric(this._viewFactory.getViewByParameters.bind(this._viewFactory),e),this.setViewDefaultWithNewQuery=async e=>await this._setViewThenModifyAsync(this._viewFactory.getViewDefault.bind(this._viewFactory),this._viewQueryExecutor.getNewQueryModifiers.bind(this._viewQueryExecutor),e),this.setViewByParametersWithNewQuery=async e=>await this._setViewThenModifyAsync(this._viewFactory.getViewByParameters.bind(this._viewFactory),this._viewQueryExecutor.getNewQueryModifiers.bind(this._viewQueryExecutor),e),this.setViewByParametersWithExistingQuery=async e=>await this._setViewThenModifyAsync(this._viewFactory.getViewByParameters.bind(this._viewFactory),this._viewQueryExecutor.getExistingQueryModifiers.bind(this._viewQueryExecutor),e),this.initialize=async()=>(this._api.getQueryStringManager().hasViewRelatedActionsToRun()||this.setViewDefaultWithNewQuery({failSafe:!0}),!0),this._api=e,this._viewFactory=t?.viewFactory??new bx(e),this._viewQueryExecutor=t?.viewQueryExecutor??new Ex(e)}getEpoch(){return this._epoch}_createEpoch(e){return{manager:this,...e&&{oldView:e}}}getView(){return this._view}hasView(){return!!this.getView()}reset(){this._view&&this._setView(null)}_setViewGeneric(e,t){let n=null;try{n=e({baseView:this._view,...t})}catch(e){this._api.getMessageManager().setErrorIfHigherPriority(e)}n&&this._setView(n)}_markViewLoadingQuery(e,t){return e.mergeInContext({loading:{query:t}})}_markViewAsNotLoadingQuery(e){return e.removeContextProperty("loading","query")}async _setViewThenModifyAsync(e,t,n){let a=null;try{a=e({baseView:this._view,...n,params:{query:null,queryResults:null,...n?.params}})}catch(e){this._api.getMessageManager().setErrorIfHigherPriority(e)}if(!a)return;if(this._view&&this._shouldAdoptQueryAndResults(a))return a.query=this._view.query,a.queryResults=this._view.queryResults,this._markViewAsNotLoadingQuery(a),void this._setView(a);const i=this._loadingIndex++;this._markViewLoadingQuery(a,i),this._setView(a);let r=null,o=null;try{r=await t(a,n?.queryExecutorOptions)}catch(e){o=e}if(this._view&&this.hasMajorMediaChange(this._view,a))return void(this._view.context?.loading?.query===i&&this._setView(this._markViewAsNotLoadingQuery(this._view.clone())));if(o)return void this._api.getMessageManager().setErrorIfHigherPriority(o); -/* istanbul ignore if: the if path cannot be reached as the view is set - above -- @preserve */if(!this._view)return;const s=this._view.clone();this._view.context?.loading?.query===i&&this._markViewAsNotLoadingQuery(s),_x(s,r),this._setView(s)}_shouldAdoptQueryAndResults(e){const t=this._view?.isViewerView()&&e?.isGalleryView(),n=e?.getDefaultMediaType(),a=px.getMediaType(this._view?.query)===n;return!!t&&a}setViewWithMergedContext(e){if(this._view)return this._setView(this._view?.clone().mergeInContext(e))}isViewSupportedByCamera(e,t){return!!mx(this._api.getCameraManager(),t,e).size}hasMajorMediaChange(e,t){const n=t??this._view;return!!e!=!!n||e?.view!==n?.view||e?.camera!==n?.camera||"live"===n?.view&&e&&My(e)!==My(n)||"live"!==n?.view&&e?.queryResults!==n?.queryResults}_setView(e){const t=this._view;B_(this._api.getConfigManager().getCardWideConfig(),"Frigate Card view change: ",e),this._view=e,this._epoch=this._createEpoch(t),this.hasMajorMediaChange(t)&&this._api.getMediaLoadedInfoManager().clear(),t?.view!==e?.view&&this._api.getCardElementManager().scrollReset(),this._api.getMessageManager().reset(),this._api.getStyleManager().setExpandedMode(),this._api.getConditionsManager()?.setState({view:e?.view,camera:e?.camera,displayMode:e?.displayMode??void 0}),this._api.getCardElementManager().update()}}class Ax{constructor(e,t,n,a){this._deviceRegistryManager=new oy(new iy((e=>e.id))),this._entityRegistryManager=new ly(new iy((e=>e.entity_id))),this._resolvedMediaCache=new uy,this._actionsManager=new gb(this),this._automationsManager=new fb(this),this._cameraManager=new ay(this),this._cameraURLManager=new _b(this),this._configManager=new Mw(this),this._defaultManager=new kw(this),this._downloadManager=new Aw(this),this._expandManager=new zw(this),this._fullscreenManager=new Rw(this),this._hassManager=new Lw(this),this._initializationManager=new Zb(this),this._interactionManager=new Uw(this),this._keyboardStateManager=new Ww(this),this._mediaLoadedInfoManager=new ex(this),this._mediaPlayerManager=new nx(this),this._messageManager=new ax(this),this._microphoneManager=new ix(this),this._queryStringManager=new rx(this),this._statusBarItemManager=new ox(this),this._styleManager=new sx(this),this._triggersManager=new cx(this),this._viewManager=new $x(this),e.addController(this),this._conditionsManager=new yw(this,a),this._cardElementManager=new Qb(this,e,t,n)}getActionsManager(){return this._actionsManager}getAutomationsManager(){return this._automationsManager}getCameraManager(){return this._cameraManager}getCameraURLManager(){return this._cameraURLManager}getCardElementManager(){return this._cardElementManager}getConditionsManager(){return this._conditionsManager}static async getConfigElement(){return await import("./editor-13524f00.js"),document.createElement("frigate-card-editor")}getConfigManager(){return this._configManager}getDefaultManager(){return this._defaultManager}getDeviceRegistryManager(){return this._deviceRegistryManager}getDownloadManager(){return this._downloadManager}getEntityRegistryManager(){return this._entityRegistryManager}getExpandManager(){return this._expandManager}getFullscreenManager(){return this._fullscreenManager}getHASSManager(){return this._hassManager}getInitializationManager(){return this._initializationManager}getInteractionManager(){return this._interactionManager}getKeyboardStateManager(){return this._keyboardStateManager}getMediaLoadedInfoManager(){return this._mediaLoadedInfoManager}getMediaPlayerManager(){return this._mediaPlayerManager}getMessageManager(){return this._messageManager}getMicrophoneManager(){return this._microphoneManager}getQueryStringManager(){return this._queryStringManager}getResolvedMediaCache(){return this._resolvedMediaCache}getStatusBarItemManager(){return this._statusBarItemManager}static getStubConfig(e){return{cameras:[{camera_entity:e.find((e=>e.startsWith("camera.")))??"camera.demo"}]}}getStyleManager(){return this._styleManager}getTriggersManager(){return this._triggersManager}getViewManager(){return this._viewManager}hostConnected(){this.getCardElementManager().elementConnected()}hostDisconnected(){this.getCardElementManager().elementDisconnected()}}class zx{constructor(){this._dynamicMenuButtons=[]}addDynamicMenuButton(e){this._dynamicMenuButtons.includes(e)||this._dynamicMenuButtons.push(e)}removeDynamicMenuButton(e){this._dynamicMenuButtons=this._dynamicMenuButtons.filter((t=>t!=e))}calculateButtons(e,t,n,a){return[this._getDefaultButton(t),this._getCamerasButton(t,n,a?.view),this._getSubstreamsButton(t,n,a?.view),this._getLiveButton(t,a?.view,a?.viewManager),this._getClipsButton(t,a?.view,a?.viewManager),this._getSnapshotsButton(t,a?.view,a?.viewManager),this._getRecordingsButton(t,a?.view,a?.viewManager),this._getImageButton(t,a?.view,a?.viewManager),this._getTimelineButton(t,a?.view,a?.viewManager),this._getDownloadButton(t,n,a?.view),this._getCameraUIButton(t,a?.showCameraUIButton),this._getMicrophoneButton(t,a?.microphoneManager,a?.currentMediaLoadedInfo),this._getExpandButton(t,a?.inExpandedMode),this._getFullscreenButton(t,a?.inFullscreenMode),this._getCastButton(e,t,n,a?.view,a?.mediaPlayerController),this._getPlayPauseButton(t,a?.currentMediaLoadedInfo),this._getMuteUnmuteButton(t,a?.currentMediaLoadedInfo),this._getScreenshotButton(t,a?.currentMediaLoadedInfo),this._getDisplayModeButton(t,n,a?.view),this._getPTZControlsButton(t,n,a?.view),this._getPTZHomeButton(t,n,a?.view),...this._dynamicMenuButtons.map((e=>({style:this._getStyleFromActions(t,e,a),...e})))].filter(sf)}_getDefaultButton(e){return{icon:"frigate",...e.menu.buttons.frigate,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.frigate"),permanent:!0,tap_action:"hidden"===e.menu?.style?gf("menu_toggle"):gf("default"),hold_action:gf("diagnostics")}}_getCamerasButton(e,t,n){const a=t.getStore().getCameraIDsWithCapability("menu");if(a.size>1){const i=Array.from(t.getStore().getCameraConfigEntries(a),(([e,a])=>{const i=ff("camera_select",e),r=t.getCameraMetadata(e);return{enabled:!0,icon:r?.icon,entity:a.camera_entity,state_color:!0,title:r?.title,selected:n?.camera===e,...i&&{tap_action:i}}}));return{icon:"mdi:video-switch",...e.menu.buttons.cameras,type:"custom:frigate-card-menu-submenu",title:V_("config.menu.buttons.cameras"),items:i}}return null}_getSubstreamsButton(e,t,n){if(!n)return null;const a=t.getStore().getAllDependentCameras(n.camera,"substream");if(a.size&&n.is("live")){const i=[...a].filter((e=>e!==n.camera)),r=[n.camera,...i],o=My(n);if(2===r.length)return{icon:"mdi:video-input-component",style:o!==n.camera?this._getEmphasizedStyle():{},title:V_("config.menu.buttons.substreams"),...e.menu.buttons.substreams,type:"custom:frigate-card-menu-icon",tap_action:gf(ky(n)?"live_substream_off":"live_substream_on")};if(r.length>2){const a=Array.from(r,(e=>{const n=ff("live_substream_select",e),a=t.getCameraMetadata(e)??void 0,i=t.getStore().getCameraConfig(e);return{enabled:!0,icon:a?.icon,entity:i?.camera_entity,state_color:!0,title:a?.title,selected:o===e,...n&&{tap_action:n}}}));return{icon:"mdi:video-input-component",title:V_("config.menu.buttons.substreams"),style:o!==n.camera?this._getEmphasizedStyle():{},...e.menu.buttons.substreams,type:"custom:frigate-card-menu-submenu",items:a}}}return null}_getLiveButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"live")?{icon:"mdi:cctv",...e.menu.buttons.live,type:"custom:frigate-card-menu-icon",title:V_("config.view.views.live"),style:t.is("live")?this._getEmphasizedStyle():{},tap_action:gf("live")}:null}_getClipsButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"clips")?{icon:"mdi:filmstrip",...e.menu.buttons.clips,type:"custom:frigate-card-menu-icon",title:V_("config.view.views.clips"),style:t?.is("clips")?this._getEmphasizedStyle():{},tap_action:gf("clips"),hold_action:gf("clip")}:null}_getSnapshotsButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"snapshots")?{icon:"mdi:camera",...e.menu.buttons.snapshots,type:"custom:frigate-card-menu-icon",title:V_("config.view.views.snapshots"),style:t?.is("snapshots")?this._getEmphasizedStyle():{},tap_action:gf("snapshots"),hold_action:gf("snapshot")}:null}_getRecordingsButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"recordings")?{icon:"mdi:album",...e.menu.buttons.recordings,type:"custom:frigate-card-menu-icon",title:V_("config.view.views.recordings"),style:t.is("recordings")?this._getEmphasizedStyle():{},tap_action:gf("recordings"),hold_action:gf("recording")}:null}_getImageButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"image")?{icon:"mdi:image",...e.menu.buttons.image,type:"custom:frigate-card-menu-icon",title:V_("config.view.views.image"),style:t?.is("image")?this._getEmphasizedStyle():{},tap_action:gf("image")}:null}_getTimelineButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"timeline")?{icon:"mdi:chart-gantt",...e.menu.buttons.timeline,type:"custom:frigate-card-menu-icon",title:V_("config.view.views.timeline"),style:t.is("timeline")?this._getEmphasizedStyle():{},tap_action:gf("timeline")}:null}_getDownloadButton(e,t,n){const a=n?.queryResults?.getSelectedResult(),i=a?t?.getMediaCapabilities(a):null;return n?.isViewerView()&&i?.canDownload&&!this._isBeingCasted()?{icon:"mdi:download",...e.menu.buttons.download,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.download"),tap_action:gf("download")}:null}_getCameraUIButton(e,t){return t?{icon:"mdi:web",...e.menu.buttons.camera_ui,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.camera_ui"),tap_action:gf("camera_ui")}:null}_getMicrophoneButton(e,t,n){if(t&&n?.capabilities?.supports2WayAudio){const n=t.isForbidden()||!t.isSupported(),a=t.isMuted(),i=e.menu.buttons.microphone.type;return{icon:n?"mdi:microphone-message-off":a?"mdi:microphone-off":"mdi:microphone",...e.menu.buttons.microphone,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.microphone"),style:n||a?{}:this._getEmphasizedStyle(!0),...!n&&"momentary"===i&&{start_tap_action:gf("microphone_unmute"),end_tap_action:gf("microphone_mute")},...!n&&"toggle"===i&&{tap_action:gf(a?"microphone_unmute":"microphone_mute")}}}return null}_getExpandButton(e,t){return{icon:t?"mdi:arrow-collapse-all":"mdi:arrow-expand-all",...e.menu.buttons.expand,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.expand"),tap_action:gf("expand"),style:t?this._getEmphasizedStyle():{}}}_getFullscreenButton(e,t){return this._isBeingCasted()?null:{icon:t?"mdi:fullscreen-exit":"mdi:fullscreen",...e.menu.buttons.fullscreen,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.fullscreen"),tap_action:gf("fullscreen"),style:t?this._getEmphasizedStyle():{}}}_getCastButton(e,t,n,a,i){if(!a)return null;const r=n.getStore().getCameraConfig(a.camera);if(i?.hasMediaPlayers()&&(a.isViewerView()||a.is("live")&&r?.camera_entity)){const n=i.getMediaPlayers().map((t=>{const n=Lb(e,t)||t,a=e.states[t],i=_f(t,"play"),r=_f(t,"stop"),o=!a||"unavailable"===a.state;return{enabled:!0,selected:!1,icon:Nb(e,t),entity:t,state_color:!1,title:n,disabled:o,...!o&&i&&{tap_action:i},...!o&&r&&{hold_action:r}}}));return{icon:"mdi:cast",...t.menu.buttons.media_player,type:"custom:frigate-card-menu-submenu",title:V_("config.menu.buttons.media_player"),items:n}}return null}_getPlayPauseButton(e,t){if(t&&t.player&&t.capabilities?.supportsPause){const n=t.player.isPaused();return{icon:n?"mdi:play":"mdi:pause",...e.menu.buttons.play,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.play"),tap_action:gf(n?"play":"pause")}}return null}_getMuteUnmuteButton(e,t){if(t&&t.player&&t?.capabilities?.hasAudio){const n=t.player.isMuted();return{icon:n?"mdi:volume-off":"mdi:volume-high",...e.menu.buttons.mute,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.mute"),tap_action:gf(n?"unmute":"mute")}}return null}_getScreenshotButton(e,t){return t&&t.player?{icon:"mdi:monitor-screenshot",...e.menu.buttons.screenshot,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.screenshot"),tap_action:gf("screenshot")}:null}_getDisplayModeButton(e,t,n){const a=n?mx(t,n.view):null;if(n?.supportsMultipleDisplayModes()&&a&&a.size>1){const t=n.isGrid();return{icon:t?"mdi:grid-off":"mdi:grid",...e.menu.buttons.display_mode,style:t?this._getEmphasizedStyle():{},type:"custom:frigate-card-menu-icon",title:V_(t?"display_modes.single":"display_modes.grid"),tap_action:(i=t?"single":"grid",{action:"fire-dom-event",frigate_card_action:"display_mode_select",display_mode:i,...r?.cardID&&{card_id:r.cardID}})}}var i,r;return null}_getPTZControlsButton(e,t,n){const a=n?.is("live")?e.live.controls.ptz:n?.isViewerView()?e.media_viewer.controls.ptz:null;if(!n||!a||"off"===a.mode)return null;const i=Ry(n,{cameraManager:t,..."auto"===a.mode&&{type:"ptz"}});if(i){const t=!1!==n.context?.ptzControls?.enabled&&("on"===a.mode||"auto"===a.mode&&"ptz"===i.type);return{icon:"mdi:pan",...e.menu.buttons.ptz_controls,style:t?this._getEmphasizedStyle():{},type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.ptz_controls"),tap_action:(r=!t,{action:"fire-dom-event",frigate_card_action:"ptz_controls",enabled:r,...o?.cardID&&{card_id:o.cardID}})}}var r,o;return null}_getPTZHomeButton(e,t,n){const a=n?Ry(n,{cameraManager:t}):null;return!a||(("digital"===a.type&&n?.context?.zoom?.[a.targetID]?.observed?.isDefault)??1)?null:{icon:"mdi:home",...e.menu.buttons.ptz_home,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.ptz_home"),tap_action:vf({targetID:a.targetID})}}_getEmphasizedStyle(e){return e?{animation:"pulse 3s infinite",color:"var(--error-color, white)"}:{color:"var(--primary-color, white)"}}_getStyleFromActions(e,t,n){for(const a of[t.tap_action,t.double_tap_action,t.hold_action,t.start_tap_action,t.end_tap_action]){const t=Array.isArray(a)?a:[a];for(const a of t){if(!a||"fire-dom-event"!==a.action||!("frigate_card_action"in a))continue;const t=a;if(Zs.some((e=>e===t.frigate_card_action&&n?.view?.is(t.frigate_card_action)))||"default"===t.frigate_card_action&&n?.view?.is(e.view.default)||"fullscreen"===t.frigate_card_action&&n?.inFullscreenMode||"camera_select"===t.frigate_card_action&&n?.view?.camera===t.camera)return this._getEmphasizedStyle()}}return{}}_isBeingCasted(){return!!navigator.userAgent.match(/CrKey\//)}} -/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */ -function Ix(e){return null==e}var Tx=function(e,t){var n,a="";for(n=0;ns&&(t=a-s+(r=" ... ").length),n-a>s&&(n=a+s-(o=" ...").length),{str:r+e.slice(t,n).replace(/\t/g,"→")+o,pos:a-t+r.length}}function Lx(e,t){return jx.repeat(" ",t-e.length)+e}var Nx=function(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),"number"!=typeof t.indent&&(t.indent=1),"number"!=typeof t.linesBefore&&(t.linesBefore=3),"number"!=typeof t.linesAfter&&(t.linesAfter=2);for(var n,a=/\r?\n|\r|\0/g,i=[0],r=[],o=-1;n=a.exec(e.buffer);)r.push(n.index),i.push(n.index+n[0].length),e.position<=n.index&&o<0&&(o=i.length-2);o<0&&(o=i.length-1);var s,c,l="",d=Math.min(e.line+t.linesAfter,r.length).toString().length,u=t.maxLength-(t.indent+d+3);for(s=1;s<=t.linesBefore&&!(o-s<0);s++)c=Px(e.buffer,i[o-s],r[o-s],e.position-(i[o]-i[o-s]),u),l=jx.repeat(" ",t.indent)+Lx((e.line-s+1).toString(),d)+" | "+c.str+"\n"+l;for(c=Px(e.buffer,i[o],r[o],e.position,u),l+=jx.repeat(" ",t.indent)+Lx((e.line+1).toString(),d)+" | "+c.str+"\n",l+=jx.repeat("-",t.indent+d+3+c.pos)+"^\n",s=1;s<=t.linesAfter&&!(o+s>=r.length);s++)c=Px(e.buffer,i[o+s],r[o+s],e.position-(i[o]-i[o+s]),u),l+=jx.repeat(" ",t.indent)+Lx((e.line+s+1).toString(),d)+" | "+c.str+"\n";return l.replace(/\n$/,"")},Fx=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],Vx=["scalar","sequence","mapping"];var Hx=function(e,t){if(t=t||{},Object.keys(t).forEach((function(t){if(-1===Fx.indexOf(t))throw new Rx('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')})),this.options=t,this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.representName=t.representName||null,this.defaultStyle=t.defaultStyle||null,this.multi=t.multi||!1,this.styleAliases=function(e){var t={};return null!==e&&Object.keys(e).forEach((function(n){e[n].forEach((function(e){t[String(e)]=n}))})),t}(t.styleAliases||null),-1===Vx.indexOf(this.kind))throw new Rx('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')};function Bx(e,t){var n=[];return e[t].forEach((function(e){var t=n.length;n.forEach((function(n,a){n.tag===e.tag&&n.kind===e.kind&&n.multi===e.multi&&(t=a)})),n[t]=e})),n}function qx(e){return this.extend(e)}qx.prototype.extend=function(e){var t=[],n=[];if(e instanceof Hx)n.push(e);else if(Array.isArray(e))n=n.concat(e);else{if(!e||!Array.isArray(e.implicit)&&!Array.isArray(e.explicit))throw new Rx("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");e.implicit&&(t=t.concat(e.implicit)),e.explicit&&(n=n.concat(e.explicit))}t.forEach((function(e){if(!(e instanceof Hx))throw new Rx("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(e.loadKind&&"scalar"!==e.loadKind)throw new Rx("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(e.multi)throw new Rx("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")})),n.forEach((function(e){if(!(e instanceof Hx))throw new Rx("Specified list of YAML types (or a single Type object) contains a non-Type object.")}));var a=Object.create(qx.prototype);return a.implicit=(this.implicit||[]).concat(t),a.explicit=(this.explicit||[]).concat(n),a.compiledImplicit=Bx(a,"implicit"),a.compiledExplicit=Bx(a,"explicit"),a.compiledTypeMap=function(){var e,t,n={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function a(e){e.multi?(n.multi[e.kind].push(e),n.multi.fallback.push(e)):n[e.kind][e.tag]=n.fallback[e.tag]=e}for(e=0,t=arguments.length;e=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),nC=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var aC=/^[-+]?[0-9]+e/;var iC=new Hx("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!(!nC.test(e)||"_"===e[e.length-1])},construct:function(e){var t,n;return n="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(t[0])>=0&&(t=t.slice(1)),".inf"===t?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:n*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||jx.isNegativeZero(e))},represent:function(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(jx.isNegativeZero(e))return"-0.0";return n=e.toString(10),aC.test(n)?n.replace("e",".e"):n},defaultStyle:"lowercase"}),rC=Gx.extend({implicit:[Yx,Kx,tC,iC]}),oC=rC,sC=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),cC=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");var lC=new Hx("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(e){return null!==e&&(null!==sC.exec(e)||null!==cC.exec(e))},construct:function(e){var t,n,a,i,r,o,s,c,l=0,d=null;if(null===(t=sC.exec(e))&&(t=cC.exec(e)),null===t)throw new Error("Date resolve error");if(n=+t[1],a=+t[2]-1,i=+t[3],!t[4])return new Date(Date.UTC(n,a,i));if(r=+t[4],o=+t[5],s=+t[6],t[7]){for(l=t[7].slice(0,3);l.length<3;)l+="0";l=+l}return t[9]&&(d=6e4*(60*+t[10]+ +(t[11]||0)),"-"===t[9]&&(d=-d)),c=new Date(Date.UTC(n,a,i,r,o,s,l)),d&&c.setTime(c.getTime()-d),c},instanceOf:Date,represent:function(e){return e.toISOString()}});var dC=new Hx("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}}),uC="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";var hC=new Hx("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,a=0,i=e.length,r=uC;for(n=0;n64)){if(t<0)return!1;a+=6}return a%8==0},construct:function(e){var t,n,a=e.replace(/[\r\n=]/g,""),i=a.length,r=uC,o=0,s=[];for(t=0;t>16&255),s.push(o>>8&255),s.push(255&o)),o=o<<6|r.indexOf(a.charAt(t));return 0===(n=i%4*6)?(s.push(o>>16&255),s.push(o>>8&255),s.push(255&o)):18===n?(s.push(o>>10&255),s.push(o>>2&255)):12===n&&s.push(o>>4&255),new Uint8Array(s)},predicate:function(e){return"[object Uint8Array]"===Object.prototype.toString.call(e)},represent:function(e){var t,n,a="",i=0,r=e.length,o=uC;for(t=0;t>18&63],a+=o[i>>12&63],a+=o[i>>6&63],a+=o[63&i]),i=(i<<8)+e[t];return 0===(n=r%3)?(a+=o[i>>18&63],a+=o[i>>12&63],a+=o[i>>6&63],a+=o[63&i]):2===n?(a+=o[i>>10&63],a+=o[i>>4&63],a+=o[i<<2&63],a+=o[64]):1===n&&(a+=o[i>>2&63],a+=o[i<<4&63],a+=o[64],a+=o[64]),a}}),pC=Object.prototype.hasOwnProperty,mC=Object.prototype.toString;var gC=new Hx("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,n,a,i,r,o=[],s=e;for(t=0,n=s.length;t>10),56320+(e-65536&1023))}for(var qC=new Array(256),UC=new Array(256),WC=0;WC<256;WC++)qC[WC]=HC(WC)?1:0,UC[WC]=HC(WC);function ZC(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||bC,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function QC(e,t){var n={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return n.snippet=Nx(n),new Rx(t,n)}function GC(e,t){throw QC(e,t)}function YC(e,t){e.onWarning&&e.onWarning.call(null,QC(e,t))}var KC={YAML:function(e,t,n){var a,i,r;null!==e.version&&GC(e,"duplication of %YAML directive"),1!==n.length&&GC(e,"YAML directive accepts exactly one argument"),null===(a=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&GC(e,"ill-formed argument of the YAML directive"),i=parseInt(a[1],10),r=parseInt(a[2],10),1!==i&&GC(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=r<2,1!==r&&2!==r&&YC(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var a,i;2!==n.length&&GC(e,"TAG directive accepts exactly two arguments"),a=n[0],i=n[1],TC.test(a)||GC(e,"ill-formed tag handle (first argument) of the TAG directive"),wC.call(e.tagMap,a)&&GC(e,'there is a previously declared suffix for "'+a+'" tag handle'),jC.test(i)||GC(e,"ill-formed tag prefix (second argument) of the TAG directive");try{i=decodeURIComponent(i)}catch(t){GC(e,"tag prefix is malformed: "+i)}e.tagMap[a]=i}};function XC(e,t,n,a){var i,r,o,s;if(t1&&(e.result+=jx.repeat("\n",t-1))}function rM(e,t){var n,a,i=e.tag,r=e.anchor,o=[],s=!1;if(-1!==e.firstTabInLine)return!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=o),a=e.input.charCodeAt(e.position);0!==a&&(-1!==e.firstTabInLine&&(e.position=e.firstTabInLine,GC(e,"tab characters must not be used in indentation")),45===a)&&PC(e.input.charCodeAt(e.position+1));)if(s=!0,e.position++,nM(e,!0,-1)&&e.lineIndent<=t)o.push(null),a=e.input.charCodeAt(e.position);else if(n=e.line,cM(e,t,MC,!1,!0),o.push(e.result),nM(e,!0,-1),a=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==a)GC(e,"bad indentation of a sequence entry");else if(e.lineIndentt?m=1:e.lineIndent===t?m=0:e.lineIndentt?m=1:e.lineIndent===t?m=0:e.lineIndentt)&&(_&&(o=e.line,s=e.lineStart,c=e.position),cM(e,t,kC,!0,i)&&(_?g=e.result:f=e.result),_||(eM(e,h,p,m,g,f,o,s,c),m=g=f=null),nM(e,!0,-1),l=e.input.charCodeAt(e.position)),(e.line===r||e.lineIndent>t)&&0!==l)GC(e,"bad indentation of a mapping entry");else if(e.lineIndent=0))break;0===i?GC(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):c?GC(e,"repeat of an indentation width identifier"):(l=t+i-1,c=!0)}if(RC(r)){do{r=e.input.charCodeAt(++e.position)}while(RC(r));if(35===r)do{r=e.input.charCodeAt(++e.position)}while(!DC(r)&&0!==r)}for(;0!==r;){for(tM(e),e.lineIndent=0,r=e.input.charCodeAt(e.position);(!c||e.lineIndentl&&(l=e.lineIndent),DC(r))d++;else{if(e.lineIndent0){for(i=o,r=0;i>0;i--)(o=NC(s=e.input.charCodeAt(++e.position)))>=0?r=(r<<4)+o:GC(e,"expected hexadecimal character");e.result+=BC(r),e.position++}else GC(e,"unknown escape sequence");n=a=e.position}else DC(s)?(XC(e,n,a,!0),iM(e,nM(e,!1,t)),n=a=e.position):e.position===e.lineStart&&aM(e)?GC(e,"unexpected end of the document within a double quoted scalar"):(e.position++,a=e.position)}GC(e,"unexpected end of the stream within a double quoted scalar")}(e,h)?f=!0:!function(e){var t,n,a;if(42!==(a=e.input.charCodeAt(e.position)))return!1;for(a=e.input.charCodeAt(++e.position),t=e.position;0!==a&&!PC(a)&&!LC(a);)a=e.input.charCodeAt(++e.position);return e.position===t&&GC(e,"name of an alias node must contain at least one character"),n=e.input.slice(t,e.position),wC.call(e.anchorMap,n)||GC(e,'unidentified alias "'+n+'"'),e.result=e.anchorMap[n],nM(e,!0,-1),!0}(e)?function(e,t,n){var a,i,r,o,s,c,l,d,u=e.kind,h=e.result;if(PC(d=e.input.charCodeAt(e.position))||LC(d)||35===d||38===d||42===d||33===d||124===d||62===d||39===d||34===d||37===d||64===d||96===d)return!1;if((63===d||45===d)&&(PC(a=e.input.charCodeAt(e.position+1))||n&&LC(a)))return!1;for(e.kind="scalar",e.result="",i=r=e.position,o=!1;0!==d;){if(58===d){if(PC(a=e.input.charCodeAt(e.position+1))||n&&LC(a))break}else if(35===d){if(PC(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&aM(e)||n&&LC(d))break;if(DC(d)){if(s=e.line,c=e.lineStart,l=e.lineIndent,nM(e,!1,-1),e.lineIndent>=t){o=!0,d=e.input.charCodeAt(e.position);continue}e.position=r,e.line=s,e.lineStart=c,e.lineIndent=l;break}}o&&(XC(e,i,r,!1),iM(e,e.line-s),i=r=e.position,o=!1),RC(d)||(r=e.position+1),d=e.input.charCodeAt(++e.position)}return XC(e,i,r,!1),!!e.result||(e.kind=u,e.result=h,!1)}(e,h,xC===n)&&(f=!0,null===e.tag&&(e.tag="?")):(f=!0,null===e.tag&&null===e.anchor||GC(e,"alias node should not have any properties")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===m&&(f=s&&rM(e,p))),null===e.tag)null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);else if("?"===e.tag){for(null!==e.result&&"scalar"!==e.kind&&GC(e,'unacceptable node kind for ! tag; it should be "scalar", not "'+e.kind+'"'),c=0,l=e.implicitTypes.length;c"),null!==e.result&&u.kind!==e.kind&&GC(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+u.kind+'", not "'+e.kind+'"'),u.resolve(e.result,e.tag)?(e.result=u.construct(e.result,e.tag),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):GC(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||f}function lM(e){var t,n,a,i,r=e.position,o=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);0!==(i=e.input.charCodeAt(e.position))&&(nM(e,!0,-1),i=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==i));){for(o=!0,i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!PC(i);)i=e.input.charCodeAt(++e.position);for(a=[],(n=e.input.slice(t,e.position)).length<1&&GC(e,"directive name must not be less than one character in length");0!==i;){for(;RC(i);)i=e.input.charCodeAt(++e.position);if(35===i){do{i=e.input.charCodeAt(++e.position)}while(0!==i&&!DC(i));break}if(DC(i))break;for(t=e.position;0!==i&&!PC(i);)i=e.input.charCodeAt(++e.position);a.push(e.input.slice(t,e.position))}0!==i&&tM(e),wC.call(KC,n)?KC[n](e,n,a):YC(e,'unknown document directive "'+n+'"')}nM(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,nM(e,!0,-1)):o&&GC(e,"directives end mark is expected"),cM(e,e.lineIndent-1,kC,!1,!0),nM(e,!0,-1),e.checkLineBreaks&&zC.test(e.input.slice(r,e.position))&&YC(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&aM(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,nM(e,!0,-1)):e.position=55296&&a<=56319&&t+1=56320&&n<=57343?1024*(a-55296)+n-56320+65536:a}function JM(e){return/^\n* /.test(e)}var ek=1,tk=2,nk=3,ak=4,ik=5;function rk(e,t,n,a,i,r,o,s){var c,l=0,d=null,u=!1,h=!1,p=-1!==a,m=-1,g=function(e){return GM(e)&&e!==mM&&!QM(e)&&e!==EM&&e!==IM&&e!==$M&&e!==SM&&e!==jM&&e!==OM&&e!==RM&&e!==LM&&e!==wM&&e!==CM&&e!==kM&&e!==yM&&e!==PM&&e!==AM&&e!==zM&&e!==MM&&e!==bM&&e!==xM&&e!==TM&&e!==DM}(XM(e,0))&&function(e){return!QM(e)&&e!==$M}(XM(e,e.length-1));if(t||o)for(c=0;c=65536?c+=2:c++){if(!GM(l=XM(e,c)))return ik;g=g&&KM(l,d,s),d=l}else{for(c=0;c=65536?c+=2:c++){if((l=XM(e,c))===fM)u=!0,p&&(h=h||c-m-1>a&&" "!==e[m+1],m=c);else if(!GM(l))return ik;g=g&&KM(l,d,s),d=l}h=h||p&&c-m-1>a&&" "!==e[m+1]}return u||h?n>9&&JM(e)?ik:o?r===qM?ik:tk:h?ak:nk:!g||o||i(e)?r===qM?ik:tk:ek}function ok(e,t,n,a,i){e.dump=function(){if(0===t.length)return e.quotingType===qM?'""':"''";if(!e.noCompatMode&&(-1!==FM.indexOf(t)||VM.test(t)))return e.quotingType===qM?'"'+t+'"':"'"+t+"'";var r=e.indent*Math.max(1,n),o=-1===e.lineWidth?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-r),s=a||e.flowLevel>-1&&n>=e.flowLevel;switch(rk(t,s,e.indent,o,(function(t){return function(e,t){var n,a;for(n=0,a=e.implicitTypes.length;n"+sk(t,e.indent)+ck(WM(function(e,t){var n,a,i=/(\n+)([^\n]*)/g,r=(s=e.indexOf("\n"),s=-1!==s?s:e.length,i.lastIndex=s,lk(e.slice(0,s),t)),o="\n"===e[0]||" "===e[0];var s;for(;a=i.exec(e);){var c=a[1],l=a[2];n=" "===l[0],r+=c+(o||n||""===l?"":"\n")+lk(l,t),o=n}return r}(t,o),r));case ik:return'"'+function(e){for(var t,n="",a=0,i=0;i=65536?i+=2:i++)a=XM(e,i),!(t=NM[a])&&GM(a)?(n+=e[i],a>=65536&&(n+=e[i+1])):n+=t||HM(a);return n}(t)+'"';default:throw new Rx("impossible error: invalid scalar style")}}()}function sk(e,t){var n=JM(e)?String(t):"",a="\n"===e[e.length-1];return n+(a&&("\n"===e[e.length-2]||"\n"===e)?"+":a?"":"-")+"\n"}function ck(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function lk(e,t){if(""===e||" "===e[0])return e;for(var n,a,i=/ [^ ]/g,r=0,o=0,s=0,c="";n=i.exec(e);)(s=n.index)-r>t&&(a=o>r?o:s,c+="\n"+e.slice(r,a),r=a+1),o=s;return c+="\n",e.length-r>t&&o>r?c+=e.slice(r,o)+"\n"+e.slice(o+1):c+=e.slice(r),c.slice(1)}function dk(e,t,n,a){var i,r,o,s="",c=e.tag;for(i=0,r=n.length;i tag resolver accepts not "'+c+'" style');a=s.represent[c](t,c)}e.dump=a}return!0}return!1}function hk(e,t,n,a,i,r,o){e.tag=null,e.dump=n,uk(e,n,!1)||uk(e,n,!0);var s,c=hM.call(e.dump),l=a;a&&(a=e.flowLevel<0||e.flowLevel>t);var d,u,h="[object Object]"===c||"[object Array]"===c;if(h&&(u=-1!==(d=e.duplicates.indexOf(n))),(null!==e.tag&&"?"!==e.tag||u||2!==e.indent&&t>0)&&(i=!1),u&&e.usedDuplicates[d])e.dump="*ref_"+d;else{if(h&&u&&!e.usedDuplicates[d]&&(e.usedDuplicates[d]=!0),"[object Object]"===c)a&&0!==Object.keys(e.dump).length?(!function(e,t,n,a){var i,r,o,s,c,l,d="",u=e.tag,h=Object.keys(n);if(!0===e.sortKeys)h.sort();else if("function"==typeof e.sortKeys)h.sort(e.sortKeys);else if(e.sortKeys)throw new Rx("sortKeys must be a boolean or a function");for(i=0,r=h.length;i1024)&&(e.dump&&fM===e.dump.charCodeAt(0)?l+="?":l+="? "),l+=e.dump,c&&(l+=ZM(e,t)),hk(e,t+1,s,!0,c)&&(e.dump&&fM===e.dump.charCodeAt(0)?l+=":":l+=": ",d+=l+=e.dump));e.tag=u,e.dump=d||"{}"}(e,t,e.dump,i),u&&(e.dump="&ref_"+d+e.dump)):(!function(e,t,n){var a,i,r,o,s,c="",l=e.tag,d=Object.keys(n);for(a=0,i=d.length;a1024&&(s+="? "),s+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),hk(e,t,o,!1,!1)&&(c+=s+=e.dump));e.tag=l,e.dump="{"+c+"}"}(e,t,e.dump),u&&(e.dump="&ref_"+d+" "+e.dump));else if("[object Array]"===c)a&&0!==e.dump.length?(e.noArrayIndent&&!o&&t>0?dk(e,t-1,e.dump,i):dk(e,t,e.dump,i),u&&(e.dump="&ref_"+d+e.dump)):(!function(e,t,n){var a,i,r,o="",s=e.tag;for(a=0,i=n.length;a",e.dump=s+" "+e.dump)}return!0}function pk(e,t){var n,a,i=[],r=[];for(mk(e,i,r),n=0,a=r.length;nq`
${fk.dump(e)}
`;return q`
-
-
- -
-
- - ${this.message?q`${this.message}${this.context&&"string"==typeof this.context?": "+this.context:""}`:""} - - ${this.context&&Array.isArray(this.context)?this.context.map((e=>n(e))):"object"==typeof this.context?n(this.context):""} -
-
-
`}static get styles(){return o(_k)}};e([he({attribute:!1})],vk.prototype,"message",void 0),e([he({attribute:!1})],vk.prototype,"context",void 0),e([he({attribute:!1})],vk.prototype,"icon",void 0),e([he({attribute:!0,type:Boolean})],vk.prototype,"dotdotdot",void 0),vk=e([le("frigate-card-message")],vk);let yk=class extends se{render(){if(this.message)return q` ${V_("error.troubleshooting")}
.`} - .icon=${this.message.icon??"mdi:alert-circle"} - .context=${this.message.context} - .dotdotdot=${this.message.dotdotdot} - > - `}static get styles(){return o(_k)}};e([he({attribute:!1})],yk.prototype,"message",void 0),yk=e([le("frigate-card-error-message")],yk);let bk=class extends se{constructor(){super(...arguments),this.message="",this.animated=!1,this.size="large"}render(){return q`
- ${this.animated?q` - `:q``} - ${this.message?q`${this.message}`:q``} -
`}static get styles(){return o(_k)}};function wk(e){return"error"===e?.type?q` `:e?q` `:q``}function xk(e){return q` - - - `}function Ck(e,t,n,a){Bg(e,"message",{message:t,type:n,icon:a?.icon,context:a?.context})}function Mk(e,t,n){Ck(e,t,"error",{context:n?.context})}function kk(e,t){t instanceof Error&&Mk(e,t.message,{...t instanceof zs&&{context:t.context}})}e([he({attribute:!1})],bk.prototype,"message",void 0),e([he({attribute:!1})],bk.prototype,"animated",void 0),e([he({attribute:!1})],bk.prototype,"size",void 0),bk=e([le("frigate-card-progress-indicator")],bk);let Sk=class extends se{constructor(){super(...arguments),this._root=null}createRenderRoot(){return this}_createRoot(){const e=customElements.get("hui-conditional-element");if(!e||!this.hass)throw new Error(V_("error.could_not_render_elements"));const t=new e;t.hass=this.hass;const n={type:"conditional",conditions:[],elements:this.elements};try{t.setConfig(n)}catch(e){throw Gg(e,console.error),new zs(V_("error.invalid_elements_config"))}return t}willUpdate(e){try{!this.elements||this._root&&!e.has("elements")||(this._root=this._createRoot())}catch(e){return kk(this,e)}}render(){return q`${this._root||""}`}updated(){this.hass&&this._root&&(this._root.hass=this.hass)}};e([he({attribute:!1})],Sk.prototype,"elements",void 0),e([he({attribute:!1})],Sk.prototype,"conditionsManagerEpoch",void 0),e([he({attribute:!1})],Sk.prototype,"hass",void 0),Sk=e([le("frigate-card-elements-core")],Sk);let Ek=class extends se{constructor(){super(...arguments),this._menuRemoveHandler=e=>{Bg(this,"menu:remove",e.detail)},this._statusBarRemoveHandler=e=>{Bg(this,"status-bar:remove",e.detail)},this._menuAddHandler=e=>{const t=e.composedPath();t.length&&this._addHandler(t[0],"frigate-card:menu:remove",this._menuRemoveHandler)},this._statusBarAddHandler=e=>{const t=e.composedPath();t.length&&this._addHandler(t[0],"frigate-card:status-bar:add",this._statusBarRemoveHandler)}}_addHandler(e,t,n){e.removeEventListener(t,n),e.addEventListener(t,n)}connectedCallback(){super.connectedCallback(),this.addEventListener("frigate-card:menu:add",this._menuAddHandler),this.addEventListener("frigate-card:status-bar:add",this._statusBarAddHandler)}disconnectedCallback(){this.removeEventListener("frigate-card:menu:add",this._menuAddHandler),this.addEventListener("frigate-card:status-bar:add",this._statusBarAddHandler),super.disconnectedCallback()}render(){return q` - `}static get styles(){return o(":host {\n position: absolute;\n inset: 0;\n overflow: hidden;\n pointer-events: none;\n}\n\n.element {\n position: absolute;\n transform: translate(-50%, -50%);\n pointer-events: auto;\n}\n\nhui-error-card.element {\n inset: 0px;\n transform: unset;\n}")}};e([he({attribute:!1})],Ek.prototype,"hass",void 0),e([he({attribute:!1})],Ek.prototype,"conditionsManagerEpoch",void 0),e([he({attribute:!1})],Ek.prototype,"elements",void 0),Ek=e([le("frigate-card-elements")],Ek);let $k=class extends se{setConfig(e){this._config=e}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this.className=""}render(){if(function(e,t){if(!t)return!0;const n=new _w(t,{bubbles:!0,composed:!0});return e.dispatchEvent(n),n.evaluation??!1}(this,this._config?.conditions))return q` - `}};e([he({attribute:!1,hasChanged:()=>!0})],$k.prototype,"hass",void 0),$k=e([le("frigate-card-conditional")],$k);class Ak extends se{constructor(e){super(),this._config=null,this._eventCategory=e}setConfig(e){this._config=e}connectedCallback(){super.connectedCallback(),this._config&&Bg(this,`${this._eventCategory}:add`,this._config)}disconnectedCallback(){this._config&&Bg(this,`${this._eventCategory}:remove`,this._config),super.disconnectedCallback()}}e([pe()],Ak.prototype,"_config",void 0);class zk extends Ak{constructor(){super("menu")}}let Ik=class extends zk{};Ik=e([le("frigate-card-menu-icon")],Ik);let Tk=class extends zk{};Tk=e([le("frigate-card-menu-state-icon")],Tk);let jk=class extends zk{};jk=e([le("frigate-card-menu-submenu")],jk);let Ok=class extends zk{};Ok=e([le("frigate-card-menu-submenu-select")],Ok);class Dk extends Ak{constructor(){super("status-bar")}}let Rk=class extends Dk{};Rk=e([le("frigate-card-status-bar-icon")],Rk);let Pk=class extends Dk{};Pk=e([le("frigate-card-status-bar-image")],Pk);let Lk=class extends Dk{};Lk=e([le("frigate-card-status-bar-string")],Lk);let Nk=class extends se{render(){return q` `}static get styles(){return o(":host {\n width: intrinsic;\n height: intrinsic;\n display: flex;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n}\n\nimg {\n width: 10%;\n animation: rotate 8s linear infinite;\n}\n\n@keyframes rotate {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}")}};Nk=e([le("frigate-card-loading")],Nk);const Fk=(e,t)=>{Bg(e,"action:execution-request",t)};class Vk{constructor(e){this._config=null,this._buttons=[],this._expanded=!1,this._host=e}setMenuConfig(e){this._config=e,this._host.style.setProperty("--frigate-card-menu-button-size",`${e.button_size}px`),this._host.setAttribute("data-style",e.style),this._host.setAttribute("data-position",e.position),this._host.setAttribute("data-alignment",e.alignment),this._sortButtons(),this._host.requestUpdate()}getMenuConfig(){return this._config}isExpanded(){return this._expanded}setButtons(e){this._buttons=e,this._sortButtons(),this._host.requestUpdate()}getButtons(e){const t=e=>!this._isHidingMenu()||this._expanded||!!e.permanent;return this._buttons.filter((n=>(e=>!1!==e.enabled)(n)&&(t=>t.alignment===e||"matching"===e&&!t.alignment)(n)&&t(n)))}setExpanded(e){this._expanded=e,of(this._host,e,"expanded"),this._host.requestUpdate()}toggleExpanded(){this.setExpanded(!this._expanded)}actionHandler(e,t){if(e.stopPropagation(),e.detail.config&&(t=e.detail.config),!t)return;const n=e.detail.action,a=yf(n,t);if(!a)return;const i=Wg(a);let r=!1;const o=i.filter((e=>sf(e)&&!this._isUnknownActionMenuToggleAction(e)));if(o.length!=i.length&&(r=!0),o.length&&Fk(this._host,{action:i,config:t}),this._isHidingMenu())if(r)this.setExpanded(!this._expanded);else{const e=yf("hold",t),a=yf("double_tap",t),i=yf("tap",t),r=yf("end_tap",t);"end_tap"!==n&&("start_tap"!==n||e||a||i||r)&&("end_tap"===n||r)||this.setExpanded(!1)}}getFreshButtonState(e,t){const n={...t};return e&&"custom:frigate-card-menu-state-icon"===t.type?Pb(e,n):n}_sortButtons(){this._buttons=Ev(this._buttons,(e=>(e.priority??0)+(this._isHidingMenu()&&e.permanent?Us:0)),["desc"])}_isHidingMenu(){return"hidden"===this._config?.style}_isUnknownActionMenuToggleAction(e){const t=mf(e);return!!t&&"menu_toggle"==t.frigate_card_action}}var Hk="data:image/svg+xml,%3c%3fxml version='1.0' encoding='UTF-8' standalone='no'%3f%3e%3csvg width='24' height='24' viewBox='0 0 24 24' fill='none' version='1.1' id='svg54' sodipodi:docname='frigate.svg' inkscape:version='1.2.2 (b0a8486541%2c 2022-12-01)' xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape' xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd' xmlns='http://www.w3.org/2000/svg' xmlns:svg='http://www.w3.org/2000/svg'%3e %3cdefs id='defs58' /%3e %3csodipodi:namedview id='namedview56' pagecolor='%23da4040' bordercolor='%23666666' borderopacity='1.0' inkscape:pageshadow='2' inkscape:pageopacity='0' inkscape:pagecheckerboard='0' showgrid='false' width='24px' inkscape:zoom='45.254834' inkscape:cx='-0.03314563' inkscape:cy='9.9768347' inkscape:window-width='3840' inkscape:window-height='1527' inkscape:window-x='1080' inkscape:window-y='227' inkscape:window-maximized='1' inkscape:current-layer='svg54' showguides='true' inkscape:showpageshadow='2' inkscape:deskcolor='%23d1d1d1' /%3e %3cpath d='m 4.8759466%2c22.743573 c 0.0866%2c0.69274 0.811811%2c1.16359 0.37885%2c1.27183 -0.43297%2c0.10824 -2.32718%2c-3.43665 -2.7601492%2c-4.95202 -0.4329602%2c-1.51538 -0.6764993%2c-3.22017 -0.5682593%2c-4.19434 0.1082301%2c-0.97417 5.7097085%2c-2.48955 5.7097085%2c-2.89545 0%2c-0.4059 -1.81304%2c-0.0271 -1.89422%2c-0.35178 -0.0812%2c-0.32472 1.36925%2c-0.12989 1.75892%2c-0.64945 0.60885%2c-0.81181 1.3800713%2c-0.6765 1.8671505%2c-1.1094696 0.4870902%2c-0.4329599 1.0824089%2c-2.0836399 1.1906589%2c-2.7871996 0.108241%2c-0.70357 -1.0824084%2c-1.51538 -1.4071389%2c-2.05658 -0.3247195%2c-0.54121 0.7035702%2c-0.92005 3.1931099%2c-1.94834 2.48954%2c-1.02829 10.39114%2c-3.30134994 10.49938%2c-3.03074994 0.10824%2c0.27061 -2.59779%2c1.40713994 -4.492%2c2.11069994 -1.89422%2c0.70357 -4.97909%2c2.05658 -4.97909%2c2.43542 0%2c0.37885 0.16236%2c0.67651 0.0541%2c1.54244 -0.10824%2c0.86593 -0.12123%2c1.2702597 -0.32472%2c1.8400997 -0.1353%2c0.37884 -0.2706%2c1.27183 0%2c2.0836295 0.21648%2c0.64945 0.92005%2c1.13653 1.24477%2c1.24478 0.2706%2c0.018 1.01746%2c0.0433 1.8401%2c0 1.02829%2c-0.0541 2.48954%2c0.0541 2.48954%2c0.32472 0%2c0.2706 -2.21894%2c0.10824 -2.21894%2c0.48708 0%2c0.37885 2.27306%2c-0.0541 2.21894%2c0.32473 -0.0541%2c0.37884 -1.89422%2c0.21648 -2.86839%2c0.21648 -0.77933%2c0 -1.93031%2c-0.0361 -2.43542%2c-0.21648 l -0.10824%2c0.37884 c -0.18038%2c0 -0.55744%2c0.10824 -0.94711%2c0.10824 -0.48708%2c0 -0.51414%2c0.16236 -1.40713%2c0.16236 -0.892989%2c0 -0.622391%2c-0.0541 -1.4341894%2c-0.10824 -0.81181%2c-0.0541 -3.842561%2c2.27306 -4.383761%2c3.03075 -0.54121%2c0.75768 -0.21649%2c2.59778 -0.21649%2c3.43665 0%2c0.75379 -0.10824%2c2.43542 0%2c3.30135 z' fill='black' id='path330' style='fill:white%3bfill-opacity:1%3bstroke:none%3bstroke-width:0.1%3bstroke-miterlimit:4%3bstroke-dasharray:none%3bstroke-opacity:1' sodipodi:nodetypes='csccscccccsscscccccsscsccssccscc' /%3e%3c/svg%3e",Bk="data:image/svg+xml,%3c%3fxml version='1.0' encoding='UTF-8' standalone='no'%3f%3e%3c!-- Created with Inkscape (http://www.inkscape.org/) --%3e%3csvg id='svg2' version='1.1' inkscape:version='1.2.2 (b0a8486541%2c 2022-12-01)' width='24' height='24' xml:space='preserve' sodipodi:docname='motioneye.svg' inkscape:export-filename='/home/ccrisan/projects/motioneye/static/img/motioneye-logo.png' inkscape:export-xdpi='960' inkscape:export-ydpi='960' xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape' xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns='http://www.w3.org/2000/svg' xmlns:svg='http://www.w3.org/2000/svg' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns%23' xmlns:cc='http://creativecommons.org/ns%23' xmlns:dc='http://purl.org/dc/elements/1.1/'%3e%3cmetadata id='metadata8'%3e%3crdf:RDF%3e%3ccc:Work rdf:about=''%3e%3cdc:format%3eimage/svg%2bxml%3c/dc:format%3e%3cdc:type rdf:resource='http://purl.org/dc/dcmitype/StillImage' /%3e%3c/cc:Work%3e%3c/rdf:RDF%3e%3c/metadata%3e%3cdefs id='defs6'%3e%3clinearGradient inkscape:collect='always' id='linearGradient2058'%3e%3cstop style='stop-color:white%3bstop-opacity:1%3b' offset='0' id='stop2054' /%3e%3cstop style='stop-color:%23585858%3bstop-opacity:1' offset='1' id='stop2056' /%3e%3c/linearGradient%3e%3clinearGradient inkscape:collect='always' id='linearGradient2005'%3e%3cstop style='stop-color:white%3bstop-opacity:1%3b' offset='0' id='stop2001' /%3e%3cstop style='stop-color:grey%3bstop-opacity:1%3b' offset='1' id='stop2003' /%3e%3c/linearGradient%3e%3clinearGradient inkscape:collect='always' id='linearGradient4205'%3e%3cstop style='stop-color:%234aa3e0%3bstop-opacity:1' offset='0' id='stop4207' /%3e%3cstop style='stop-color:%233096db%3bstop-opacity:1' offset='1' id='stop4209' /%3e%3c/linearGradient%3e%3clinearGradient inkscape:collect='always' id='linearGradient4197'%3e%3cstop style='stop-color:white%3bstop-opacity:1%3b' offset='0' id='stop4199' /%3e%3cstop style='stop-color:%23585858%3bstop-opacity:1' offset='1' id='stop4201' /%3e%3c/linearGradient%3e%3clinearGradient inkscape:collect='always' xlink:href='%23linearGradient4205' id='linearGradient4211' x1='26.602072' y1='43.034946' x2='26.602072' y2='29.466328' gradientUnits='userSpaceOnUse' gradientTransform='matrix(0.96428571%2c0%2c0%2c0.96428571%2c0.91428571%2c0.91428571)' /%3e%3cfilter style='color-interpolation-filters:sRGB' inkscape:label='Drop Shadow' id='filter4285'%3e%3cfeFlood flood-opacity='0.588235' flood-color='rgb(0%2c0%2c0)' result='flood' id='feFlood4287' /%3e%3cfeComposite in='flood' in2='SourceGraphic' operator='in' result='composite1' id='feComposite4289' /%3e%3cfeGaussianBlur in='composite1' stdDeviation='0.6' result='blur' id='feGaussianBlur4291' /%3e%3cfeOffset dx='0' dy='-1' result='offset' id='feOffset4293' /%3e%3cfeComposite in='SourceGraphic' in2='offset' operator='over' result='composite2' id='feComposite4295' /%3e%3c/filter%3e%3clinearGradient inkscape:collect='always' xlink:href='%23linearGradient2005' id='linearGradient4309' gradientUnits='userSpaceOnUse' x1='26.445793' y1='47.517574' x2='26.445793' y2='3.8183768' /%3e%3clinearGradient inkscape:collect='always' xlink:href='%23linearGradient4197' id='linearGradient4311' gradientUnits='userSpaceOnUse' x1='26.445793' y1='47.517574' x2='26.445793' y2='3.8183768' /%3e%3clinearGradient inkscape:collect='always' xlink:href='%23linearGradient2058' id='linearGradient4313' gradientUnits='userSpaceOnUse' x1='26.445793' y1='47.517574' x2='26.445793' y2='3.8183768' /%3e%3cfilter style='color-interpolation-filters:sRGB' inkscape:label='Drop Shadow' id='filter4315' x='-0.03618178' y='-0.20783284' width='1.0723636' height='1.3304883'%3e%3cfeFlood flood-opacity='0.588235' flood-color='rgb(0%2c0%2c0)' result='flood' id='feFlood4317' /%3e%3cfeComposite in='flood' in2='SourceGraphic' operator='in' result='composite1' id='feComposite4319' /%3e%3cfeGaussianBlur in='composite1' stdDeviation='0.6' result='blur' id='feGaussianBlur4321' /%3e%3cfeOffset dx='0' dy='-1' result='offset' id='feOffset4323' /%3e%3cfeComposite in='SourceGraphic' in2='offset' operator='over' result='composite2' id='feComposite4325' /%3e%3c/filter%3e%3cfilter style='color-interpolation-filters:sRGB' inkscape:label='Drop Shadow' id='filter4327' x='-0.27857143' y='-0.4720238' width='1.5571429' height='1.7505952'%3e%3cfeFlood flood-opacity='0.588235' flood-color='rgb(0%2c0%2c0)' result='flood' id='feFlood4329' /%3e%3cfeComposite in='flood' in2='SourceGraphic' operator='in' result='composite1' id='feComposite4331' /%3e%3cfeGaussianBlur in='composite1' stdDeviation='0.6' result='blur' id='feGaussianBlur4333' /%3e%3cfeOffset dx='0' dy='-1' result='offset' id='feOffset4335' /%3e%3cfeComposite in='SourceGraphic' in2='offset' operator='over' result='composite2' id='feComposite4337' /%3e%3c/filter%3e%3cfilter style='color-interpolation-filters:sRGB' inkscape:label='Drop Shadow' id='filter4339' x='-0.0202507' y='-0.13980794' width='1.0405014' height='1.2082853'%3e%3cfeFlood flood-opacity='0.588235' flood-color='rgb(0%2c0%2c0)' result='flood' id='feFlood4341' /%3e%3cfeComposite in='flood' in2='SourceGraphic' operator='in' result='composite1' id='feComposite4343' /%3e%3cfeGaussianBlur in='composite1' stdDeviation='0.2' result='blur' id='feGaussianBlur4345' /%3e%3cfeOffset dx='0' dy='-0.5' result='offset' id='feOffset4347' /%3e%3cfeComposite in='SourceGraphic' in2='offset' operator='over' result='composite2' id='feComposite4349' /%3e%3c/filter%3e%3c/defs%3e%3csodipodi:namedview pagecolor='%23ff0d0d' bordercolor='%23666666' borderopacity='1' objecttolerance='10' gridtolerance='10' guidetolerance='10' inkscape:pageopacity='0' inkscape:pageshadow='2' inkscape:window-width='3840' inkscape:window-height='1527' id='namedview4' showgrid='false' inkscape:zoom='29.890116' inkscape:cx='19.973158' inkscape:cy='16.577386' inkscape:window-x='1080' inkscape:window-y='227' inkscape:window-maximized='1' inkscape:current-layer='g10' showguides='true' inkscape:guide-bbox='true' inkscape:showpageshadow='true' inkscape:pagecheckerboard='false' inkscape:deskcolor='%23d1d1d1' /%3e%3cg id='g10' inkscape:groupmode='layer' inkscape:label='ink_ext_XXXXXX' transform='matrix(1.25%2c0%2c0%2c-1.25%2c0%2c64)'%3e%3cg id='g4823' transform='matrix(1.0344694%2c0%2c0%2c1.0344694%2c-3.551886%2c-0.86695248)'%3e%3cpath id='path4244' d='M 8.9346154%2c40.515385 C 5.3647588%2c36.547307 3.2%2c31.357779 3.2%2c25.6 3.2%2c13.228821 13.228821%2c3.2 25.6%2c3.2 37.971179%2c3.2 48%2c13.228821 48%2c25.6 c 0%2c5.736682 -2.161128%2c10.952493 -5.707692%2c14.915385 -1.695935%2c-0.623286 -3.387833%2c-1.349065 -5.061539%2c-2.288462 3.2394%2c-0.937363 5.6%2c-3.937988 5.6%2c-7.457692 0%2c-4.260339 -3.469626%2c-7.753846 -7.753846%2c-7.753846 -3.633936%2c0 -6.690552%2c2.51055 -7.538461%2c5.869231 h -3.876924 c -0.840685%2c-3.360193 -3.903443%2c-5.869231 -7.538461%2c-5.869231 -4.284219%2c0 -7.7807693%2c3.493507 -7.7807693%2c7.753846 0%2c3.56112 2.4570323%2c6.5856 5.7615383%2c7.484616 -1.676267%2c0.912203 -3.404813%2c1.620556 -5.1692306%2c2.261538 z M 25.6%2c26.461538 c 0.532632%2c-1.981435 1.101793%2c-3.947553 3.446154%2c-5.16923 L 25.6%2c16.123077 22.153846%2c21.292308 c 2.053593%2c1.454966 3.000771%2c3.237758 3.446154%2c5.16923 z' style='fill:url(%23linearGradient4309)%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4327)' inkscape:connector-curvature='0' transform='matrix(0.38078533%2c0%2c0%2c0.38078533%2c2.9655495%2c31.335499)' /%3e%3cpath id='path4242' d='m 16.123077%2c33.353847 c -1.427443%2c0 -2.584616%2c-1.157173 -2.584616%2c-2.584616 0%2c-1.427444 1.157173%2c-2.584615 2.584616%2c-2.584615 1.427444%2c0 2.584615%2c1.157171 2.584615%2c2.584615 0%2c1.427443 -1.157171%2c2.584616 -2.584615%2c2.584616 z' style='fill:url(%23linearGradient4311)%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4327)' inkscape:connector-curvature='0' transform='matrix(0.38078533%2c0%2c0%2c0.38078533%2c2.9655495%2c31.335499)' /%3e%3cpath id='path4240' d='m 35.076923%2c33.353847 c -1.427443%2c0 -2.584615%2c-1.157173 -2.584615%2c-2.584616 0%2c-1.427444 1.157172%2c-2.584615 2.584615%2c-2.584615 1.427443%2c0 2.584616%2c1.157171 2.584616%2c2.584615 0%2c1.427443 -1.157173%2c2.584616 -2.584616%2c2.584616 z' style='fill:url(%23linearGradient4313)%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4327)' inkscape:connector-curvature='0' transform='matrix(0.38078533%2c0%2c0%2c0.38078533%2c2.9655495%2c31.335499)' /%3e%3cpath inkscape:connector-curvature='0' style='fill:%23d9d9d9%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4339)' d='m 25.6%2c47.2 c -4.373944%2c0 -8.437159%2c-1.399808 -11.838461%2c-3.634616 3.677605%2c-0.394237 7.305921%2c-1.342945 11.423077%2c-3.375 4.166157%2c2.122533 8.434154%2c3.008875 12.279808%2c3.452886 C 34.057131%2c45.890032 29.986674%2c47.2 25.6%2c47.2 Z' id='path4248' transform='matrix(0.39488848%2c0%2c0%2c0.39488848%2c2.6045087%2c30.974457)' /%3e%3cpath inkscape:connector-curvature='0' style='fill:url(%23linearGradient4211)%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4315)' d='M 39.723077%2c42.552884 C 35.394064%2c42.5242 29.479588%2c40.397223 25.184616%2c38.432418 20.668821%2c40.064102 16.035448%2c42.649343 10.801923%2c42.526924 10.453022%2c42.51873 10.118061%2c42.50105 9.7634616%2c42.475 L 5.6615384%2c42.1375 9.5557693%2c40.839424 c 5.3417977%2c-1.74056 10.0398397%2c-2.851302 14.1749997%2c-10.025963 0.959101%2c0 2.845924%2c-4.15e-4 3.738462%2c-4.15e-4 4.11884%2c7.134039 9.059296%2c8.324614 14.149039%2c10.026378 L 45.460577%2c42.085577 41.4625%2c42.475 c -0.544847%2c0.05181 -1.120992%2c0.08198 -1.739423%2c0.07788 z' id='path4246' sodipodi:nodetypes='cccccccccccc' transform='matrix(0.39488848%2c0%2c0%2c0.39488848%2c2.6045087%2c30.974457)' /%3e%3c/g%3e%3c/g%3e%3c/svg%3e",qk="data:image/svg+xml,%3c%3fxml version='1.0' encoding='UTF-8' standalone='no'%3f%3e%3c!-- Created with Inkscape (http://www.inkscape.org/) --%3e%3csvg version='1.1' id='svg62' width='24' height='24' viewBox='0 0 24 24' sodipodi:docname='reolink.svg' inkscape:version='1.2.2 (b0a8486541%2c 2022-12-01)' xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape' xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd' xmlns='http://www.w3.org/2000/svg' xmlns:svg='http://www.w3.org/2000/svg'%3e %3cdefs id='defs66' /%3e %3csodipodi:namedview id='namedview64' pagecolor='%23505050' bordercolor='%23eeeeee' borderopacity='1' inkscape:showpageshadow='0' inkscape:pageopacity='0' inkscape:pagecheckerboard='0' inkscape:deskcolor='%23505050' showgrid='true' inkscape:zoom='36.417984' inkscape:cx='18.191562' inkscape:cy='8.6633022' inkscape:window-width='3840' inkscape:window-height='1527' inkscape:window-x='1080' inkscape:window-y='227' inkscape:window-maximized='1' inkscape:current-layer='g68'%3e %3cinkscape:grid type='xygrid' id='grid1175' dotted='false' snapvisiblegridlinesonly='true' /%3e %3c/sodipodi:namedview%3e %3cg inkscape:groupmode='layer' inkscape:label='Reolink Logo' id='g68'%3e %3cpath style='fill:white%3bstroke-width:0.0393282%3bfill-opacity:1' d='M 17.037254%2c23.964909 C 16.764634%2c23.917573 16.561708%2c23.83617 16.325735%2c23.67954 16.196719%2c23.593913 14.543544%2c21.952905 12.217956%2c19.602014 10.077426%2c17.438191 8.2198993%2c15.582673 8.0901166%2c15.478642 7.6038998%2c15.088895 7.0877741%2c14.869424 6.4986827%2c14.801908 6.3140805%2c14.780765 5.079061%2c14.763305 3.7541964%2c14.763126 l -2.408845%2c-4.78e-4 0.00713%2c-7.3937713 v -7.3935985 l 6.2040046%2c3.536e-5 c 3.9799342%2c1.969e-5 6.3590882%2c0.01465833 6.6366112%2c0.0408227 2.331195%2c0.21982024 4.364771%2c1.49885914 5.578726%2c3.50085534 0.686043%2c1.1313823 1.020901%2c2.2783695 1.067186%2c3.6554196 0.06335%2c1.8844953 -0.57426%2c3.6597378 -1.831469%2c5.0992438 -0.756457%2c0.866146 -1.861127%2c1.62991 -2.928729%2c2.024919 l -0.319718%2c0.118287 -1.951287%2c-1.979284 -1.951286%2c-1.979278 1.046741%2c-0.02346 c 0.575706%2c-0.01291 1.099833%2c-0.03689 1.164724%2c-0.0533 0.596068%2c-0.150649 0.949703%2c-0.313968 1.322206%2c-0.6106282 0.643573%2c-0.5125401 1.046169%2c-1.2439257 1.137985%2c-2.0673522 0.167852%2c-1.505317 -0.771478%2c-2.8704888 -2.263547%2c-3.2897068 L 13.950001%2c4.3234481 9.7981831%2c4.3106846 5.6392389%2c4.29801 v 3.0692702 3.0692648 l 1.4185165%2c7.9e-4 c 1.6275801%2c8.87e-4 1.7789152%2c0.01912 2.3105245%2c0.27984 0.3095679%2c0.15183 0.389559%2c0.219499 1.0817441%2c0.915083 3.027399%2c3.042274 12.19404%2c12.30837 12.204589%2c12.337002 0.0161%2c0.04373 -5.364393%2c0.03953 -5.617359%2c-0.0045 z' id='path1173' inkscape:label='R' /%3e %3c/g%3e%3c/svg%3e";const Uk=e=>{switch(e){case"frigate":return Hk;case"motioneye":return Bk;case"reolink":return qk;default:return null}};const Wk=(e,t,n)=>{const a=e.states[t],i=n?.state?n.state:a?a.state:null;if(!i)return null;const r=Ye(t),o=a?a.attributes:null;return n?.entity?.translation_key&&e.localize(`component.${n.entity.platform}.entity.${r}.${n.entity.translation_key}.state.${i}`)||o?.device_class&&e.localize(`component.${r}.state.${o.device_class}.${i}`)||e.localize(`component.${r}.state._.${i}`)||i};let Zk=class extends se{_renderItem(e){if(!this.hass)return;const t=Pb(this.hass,{...e});return q` - {t.detail.config=e}} - .actionHandler=${kf({hasHold:bf(e.hold_action),hasDoubleClick:bf(e.double_tap_action)})} - > - ${t.title||""} - ${e.subtitle?q`${e.subtitle}`:""} - ${(e=>{if(e.icon){const t=Uk(e.icon);return t?q``:q` - `}return q``})(t)} - - `}render(){if(!this.submenu)return q``;const e=this.submenu.items;return q` - e.stopPropagation()} - @click=${e=>wf(e)} - > - - - - ${e.map(this._renderItem.bind(this))} - - `}static get styles(){return o("ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n pointer-events: auto;\n}\n\nmwc-list-item {\n z-index: 20;\n}")}};e([he({attribute:!1})],Zk.prototype,"hass",void 0),e([he({attribute:!1})],Zk.prototype,"submenu",void 0),Zk=e([le("frigate-card-submenu")],Zk);let Qk=class extends se{shouldUpdate(e){const t=e.get("hass");return!e.has("hass")||!t||!this.submenuSelect||jb(this.hass,t,[this.submenuSelect.entity])}async _refreshOptionTitles(){if(!this.hass||!this.submenuSelect)return;const e=this.submenuSelect.entity,t=this.hass.states[e],n=t?.attributes?.options,a=await(this.entityRegistryManager?.getEntity(this.hass,e))??null,i={};for(const t of n){const n=Wk(this.hass,e,{...a&&{entity:a},state:t});n&&(i[t]=n)}this._optionTitles=i}willUpdate(){if(!this.submenuSelect||!this.hass)return;this._optionTitles||this._refreshOptionTitles();const e=this.submenuSelect.entity,t=this.hass.states[e],n=t?.attributes?.options;if(!t||!n)return;const a={icon:zb("select"),...Pb(this.hass,this.submenuSelect),...this.submenuSelect,type:"custom:frigate-card-menu-submenu",items:[]};delete a.options;const i=a.items;for(const a of n){const n=this._optionTitles?.[a]??a;i.push({state_color:!0,selected:t.state===a,enabled:!0,title:n||a,...(e.startsWith("select.")||e.startsWith("input_select."))&&{tap_action:{action:"perform-action",perform_action:e.startsWith("select.")?"select.select_option":"input_select.select_option",target:{entity_id:e},data:{option:a}}},...this.submenuSelect.options&&this.submenuSelect.options[a]})}this._generatedSubmenu=a}render(){return q` `}};e([he({attribute:!1})],Qk.prototype,"hass",void 0),e([he({attribute:!1})],Qk.prototype,"submenuSelect",void 0),e([he({attribute:!1})],Qk.prototype,"entityRegistryManager",void 0),e([pe()],Qk.prototype,"_optionTitles",void 0),Qk=e([le("frigate-card-submenu-select")],Qk);let Gk=class extends se{constructor(){super(...arguments),this._controller=new Vk(this)}set menuConfig(e){this._controller.setMenuConfig(e)}set buttons(e){this._controller.setButtons(e)}set expanded(e){this._controller.setExpanded(e)}toggleMenu(){this._controller.toggleExpanded()}_renderButton(e){if(!this.hass)return;if("custom:frigate-card-menu-submenu"===e.type)return q` this._controller.actionHandler(e)} - > - `;if("custom:frigate-card-menu-submenu-select"===e.type)return q` this._controller.actionHandler(e)} - > - `;const t=this._controller.getFreshButtonState(this.hass,e),n=Uk(t.icon);return q` this._controller.actionHandler(t,e)} - > - ${n?q``:q``} - `}render(){const e=this._controller.getMenuConfig(),t=e?.style;if(!e||"none"===t)return;const n=this._controller.getButtons("matching"),a=this._controller.getButtons("opposing");return q`
- ${n.map((e=>this._renderButton(e)))} -
-
- ${a.map((e=>this._renderButton(e)))} -
`}static get styles(){return o('ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n --frigate-card-menu-button-size: 40px;\n --mdc-icon-button-size: var(--frigate-card-menu-button-size);\n --mdc-icon-size: calc(var(--mdc-icon-button-size) / 2);\n pointer-events: auto;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n}\n\n/*******************************************************\n * Non-hover styles should not interact with the pointer\n *******************************************************/\n:host(:not([data-style*=hover])) {\n pointer-events: none;\n}\n\n/***********************************\n * Aligned divs: matching & opposing\n ***********************************/\ndiv.matching,\ndiv.opposing {\n display: flex;\n flex-wrap: wrap;\n flex-direction: row;\n align-items: flex-start;\n min-width: 0px;\n min-height: 0px;\n}\n\ndiv.matching {\n justify-content: flex-start;\n}\n\ndiv.opposing {\n justify-content: flex-end;\n}\n\n/********************\n * Outside menu style\n ********************/\n:host([data-style=outside]) {\n width: 100%;\n background: var(--secondary-background-color);\n}\n\n/********************************************************\n * Hack: Ensure host & div expand for column flex layouts\n ********************************************************/\n:host(:not([data-style=outside])[data-position=left]) {\n writing-mode: vertical-lr;\n}\n\n:host(:not([data-style=outside])[data-position=right]) {\n writing-mode: vertical-rl;\n}\n\n:host(:not([data-style=outside])[data-style=overlay][data-position=left]) div > *,\n:host(:not([data-style=outside])[data-style=overlay][data-position=right]) div > *,\n:host(:not([data-style=outside])[data-style*=hover][data-position=left]) div > *,\n:host(:not([data-style=outside])[data-style*=hover][data-position=right]) div > *,\n:host(:not([data-style=outside])[data-style=hidden][data-position=left]) div > *,\n:host(:not([data-style=outside])[data-style=hidden][data-position=right]) div > * {\n writing-mode: horizontal-tb;\n}\n\n/**********************\n * "Reverse" alignments\n **********************/\n:host(:not([data-style=outside])[data-position=left][data-alignment=bottom]),\n:host(:not([data-style=outside])[data-position=right][data-alignment=bottom]),\n:host([data-position=top][data-alignment=right]),\n:host([data-position=bottom][data-alignment=right]),\n:host(:not([data-style=outside])[data-position=left][data-alignment=bottom]) div,\n:host(:not([data-style=outside])[data-position=right][data-alignment=bottom]) div,\n:host([data-position=top][data-alignment=right]) div,\n:host([data-position=bottom][data-alignment=right]) div {\n flex-direction: row-reverse;\n}\n\n/****************************\n * Wrap upwards on the bottom\n ****************************/\n:host(:not([data-style=outside])[data-position=bottom]) div {\n flex-wrap: wrap-reverse;\n}\n\n/********************************************\n * Positioning for absolute based menu styles\n ********************************************/\n:host([data-style=overlay]),\n:host([data-style*=hover]),\n:host([data-style=hidden]) {\n overflow: hidden;\n width: calc(var(--frigate-card-menu-button-size) + 6px);\n height: calc(var(--frigate-card-menu-button-size) + 6px);\n}\n\n:host([data-style=overlay]),\n:host([data-style*=hover]),\n:host([data-style=hidden][expanded]) {\n overflow: visible;\n}\n\n:host([data-style=overlay][data-position=top]),\n:host([data-style=overlay][data-position=bottom]),\n:host([data-style*=hover][data-position=top]),\n:host([data-style*=hover][data-position=bottom]),\n:host([data-style=hidden][data-position=top]),\n:host([data-style=hidden][data-position=bottom]) {\n width: 100%;\n height: auto;\n}\n\n:host([data-style=overlay][data-position=top][data-alignment=left]),\n:host([data-style=overlay][data-position=bottom][data-alignment=left]),\n:host([data-style*=hover][data-position=top][data-alignment=left]),\n:host([data-style*=hover][data-position=bottom][data-alignment=left]),\n:host([data-style=hidden][data-position=top][data-alignment=left][expanded]),\n:host([data-style=hidden][data-position=bottom][data-alignment=left][expanded]) {\n background: linear-gradient(90deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}\n\n:host([data-style=overlay][data-position=top][data-alignment=right]),\n:host([data-style=overlay][data-position=bottom][data-alignment=right]),\n:host([data-style*=hover][data-position=top][data-alignment=right]),\n:host([data-style*=hover][data-position=bottom][data-alignment=right]),\n:host([data-style=hidden][data-position=top][data-alignment=right][expanded]),\n:host([data-style=hidden][data-position=bottom][data-alignment=right][expanded]) {\n background: linear-gradient(270deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}\n\n:host([data-style=overlay][data-position=left]),\n:host([data-style=overlay][data-position=right]),\n:host([data-style*=hover][data-position=left]),\n:host([data-style*=hover][data-position=right]),\n:host([data-style=hidden][data-position=left]),\n:host([data-style=hidden][data-position=right]) {\n width: auto;\n height: 100%;\n}\n\n:host([data-style=overlay][data-position=left][data-alignment=top]),\n:host([data-style=overlay][data-position=right][data-alignment=top]),\n:host([data-style*=hover][data-position=left][data-alignment=top]),\n:host([data-style*=hover][data-position=right][data-alignment=top]),\n:host([data-style=hidden][data-position=left][data-alignment=top][expanded]),\n:host([data-style=hidden][data-position=right][data-alignment=top][expanded]) {\n background: linear-gradient(180deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}\n\n:host([data-style=overlay][data-position=left][data-alignment=bottom]),\n:host([data-style=overlay][data-position=right][data-alignment=bottom]),\n:host([data-style*=hover][data-position=left][data-alignment=bottom]),\n:host([data-style*=hover][data-position=right][data-alignment=bottom]),\n:host([data-style=hidden][data-position=left][data-alignment=bottom][expanded]),\n:host([data-style=hidden][data-position=right][data-alignment=bottom][expanded]) {\n background: linear-gradient(0deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}')}};e([he({attribute:!1})],Gk.prototype,"entityRegistryManager",void 0),e([he({attribute:!1})],Gk.prototype,"hass",void 0),Gk=e([le("frigate-card-menu")],Gk);let Yk=class extends se{render(){return q` - - - - - `}static get styles(){return o("ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n position: absolute;\n width: 100%;\n height: 100%;\n pointer-events: none;\n}\n\nslot {\n position: absolute;\n display: flex;\n}\n\n/***************\n * Slot position\n ***************/\nslot[name=top] {\n top: 0px;\n}\n\nslot[name=bottom] {\n bottom: 0px;\n}\n\nslot[name=left] {\n left: 0px;\n}\n\nslot[name=right] {\n right: 0px;\n}\n\n/***********\n * Slot size\n ***********/\nslot[name=top],\nslot[name=bottom] {\n width: 100%;\n flex-direction: column;\n}\n\nslot[name=left],\nslot[name=right] {\n height: 100%;\n flex-direction: row;\n}\n\nslot[name=top],\nslot[name=left] {\n justify-content: flex-start;\n}\n\nslot[name=bottom],\nslot[name=right] {\n justify-content: flex-end;\n}\n\n/*******************************\n * Match rounded corners to card\n *******************************/\n::slotted([slot=top]:first-child),\n::slotted([slot=left]:first-child) {\n border-top-left-radius: var(--ha-card-border-radius, 4px);\n}\n\n::slotted([slot=top]:first-child),\n::slotted([slot=right]:first-child) {\n border-top-right-radius: var(--ha-card-border-radius, 4px);\n}\n\n::slotted([slot=bottom]:last-child),\n::slotted([slot=left]:last-child) {\n border-bottom-left-radius: var(--ha-card-border-radius, 4px);\n}\n\n::slotted([slot=bottom]:last-child),\n::slotted([slot=right]:last-child) {\n border-bottom-right-radius: var(--ha-card-border-radius, 4px);\n}")}};Yk=e([le("frigate-card-overlay")],Yk);class Kk{constructor(e){this._config=null,this._popupTimer=new xf,this._items=[],this._host=e}getRenderItems(){return this._items}setItems(e){const t=e.filter((e=>!!e.exclusive)),n=Ev(t.length?t:e,(e=>e.priority??50),"desc"),a=this._getSufficientValues(this._items),i=this._getSufficientValues(n);this._items=n,"popup"!==this._config?.style||Dv(a,i)||(this._show(),this._popupTimer.start(this._config.popup_seconds,(()=>this._hide()))),this._host.requestUpdate()}setConfig(e){this._config=e,this._host.style.setProperty("--frigate-card-status-bar-height",`${e.height}px`),this._host.setAttribute("data-style",e.style),this._host.setAttribute("data-position",e.position),"popup"!==this._config?.style&&this._show(),this._host.requestUpdate()}shouldRender(){return this._items.some((e=>!1!==e.enabled&&e.sufficient))}actionHandler(e,t){e.stopPropagation();const n=yf(e.detail.action,t);n&&Fk(this._host,{action:Wg(n),config:t})}_getSufficientValue(e){ -/* istanbul ignore else: cannot happen -- @preserve */ -return"custom:frigate-card-status-bar-icon"===e.type?e.icon:"custom:frigate-card-status-bar-string"===e.type?e.string:"custom:frigate-card-status-bar-image"===e.type?e.image:null}_getSufficientValues(e){return e.filter((e=>!1!==e.enabled&&e.sufficient)).map((e=>this._getSufficientValue(e)))}_show(){of(this._host,!1,"hide")}_hide(){of(this._host,!0,"hide")}}let Xk=class extends se{constructor(){super(...arguments),this._controller=new Kk(this)}willUpdate(e){e.has("config")&&this.config&&this._controller.setConfig(this.config),e.has("items")&&this._controller.setItems(this.items??[])}render(){if(this._controller.shouldRender())return q` -
- ${this._controller.getRenderItems().map((e=>{if(!1===e.enabled)return;const t=_e({item:!0,expand:!!e.expand,action:!!Object.keys(e.actions??{}).length}),n=kf({hasHold:bf(e.actions?.hold_action),hasDoubleClick:bf(e.actions?.double_tap_action)});if("custom:frigate-card-status-bar-string"===e.type)return q`
this._controller.actionHandler(t,e.actions)} - > - ${e.string} -
`;if("custom:frigate-card-status-bar-icon"===e.type){const a=Uk(e.icon);return a?q`this._controller.actionHandler(t,e.actions)} - />`:q`this._controller.actionHandler(t,e.actions)} - >`}return"custom:frigate-card-status-bar-image"===e.type?q`this._controller.actionHandler(t,e.actions)} - />`:void 0}))} -
- `}static get styles(){return o("ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n --mdc-icon-button-size: calc(var(--frigate-card-status-bar-height) - 6px);\n --mdc-icon-size: calc(var(--mdc-icon-button-size) / 2);\n display: block;\n width: 100%;\n pointer-events: auto;\n opacity: 1;\n transition: opacity 1s;\n}\n\n/*******************************************************\n * Non-hover styles should not interact with the pointer\n *******************************************************/\n:host(:not([data-style*=hover])) {\n pointer-events: none;\n}\n\n/***************\n * Outside style\n ***************/\n:host([data-style=outside]) {\n color: var(--primary-text-color);\n background: var(--secondary-background-color);\n}\n\n/*******************\n * Non-outside style\n *******************/\n:host(:not([data-style=outside])) {\n color: white;\n background: linear-gradient(90deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}\n\n:host([data-style=popup][hide]) {\n opacity: 0;\n}\n\n/*********************\n * Status bar contents\n *********************/\n.status {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n overflow: hidden;\n width: 100%;\n height: var(--frigate-card-status-bar-height);\n}\n\n.item {\n display: inline-block;\n margin: 3px;\n padding: 3px;\n align-content: center;\n opacity: 0.7;\n}\n\n.item:first-child {\n margin-left: 10px;\n}\n\n.item:last-child {\n margin-right: 10px;\n}\n\n.item.expand {\n flex: 1;\n}\n\n.item.action {\n cursor: pointer;\n}\n\nimg.item {\n width: var(--mdc-icon-size, 24px);\n height: var(--mdc-icon-size, 24px);\n}")}};e([he({attribute:!1})],Xk.prototype,"items",void 0),e([he({attribute:!1})],Xk.prototype,"config",void 0),Xk=e([le("frigate-card-status-bar")],Xk);function Jk(e){return"number"==typeof e}function eS(e){return"string"==typeof e}function tS(e){return"boolean"==typeof e}function nS(e){return"[object Object]"===Object.prototype.toString.call(e)}function aS(e){return Math.abs(e)}function iS(e){return Math.sign(e)}function rS(e,t){return aS(e-t)}function oS(e){return uS(e).map(Number)}function sS(e){return e[cS(e)]}function cS(e){return Math.max(0,e.length-1)}function lS(e,t){return t===cS(e)}function dS(e,t=0){return Array.from(Array(e),((e,n)=>t+n))}function uS(e){return Object.keys(e)}function hS(e,t){return[e,t].reduce(((e,t)=>(uS(t).forEach((n=>{const a=e[n],i=t[n],r=nS(a)&&nS(i);e[n]=r?hS(a,i):i})),e)),{})}function pS(e,t){return void 0!==t.MouseEvent&&e instanceof t.MouseEvent}function mS(){let e=[];const t={add:function(n,a,i,r={passive:!0}){let o;if("addEventListener"in n)n.addEventListener(a,i,r),o=()=>n.removeEventListener(a,i,r);else{const e=n;e.addListener(i),o=()=>e.removeListener(i)}return e.push(o),t},clear:function(){e=e.filter((e=>e()))}};return t}function gS(e,t,n,a){const i=mS(),r=1e3/60;let o=null,s=0,c=0;function l(e){if(!c)return;o||(o=e);const i=e-o;for(o=e,s+=i;s>=r;)n(r),s-=r;a(s/r),c&&t.requestAnimationFrame(l)}function d(){t.cancelAnimationFrame(c),o=null,s=0,c=0}return{init:function(){i.add(e,"visibilitychange",(()=>{e.hidden&&(o=null,s=0)}))},destroy:function(){d(),i.clear()},start:function(){c||(c=t.requestAnimationFrame(l))},stop:d,update:()=>n(r),render:a}}function fS(e=0,t=0){const n=aS(e-t);function a(t){return tt}function r(e){return a(e)||i(e)}const o={length:n,max:t,min:e,constrain:function(n){return r(n)?a(n)?e:t:n},reachedAny:r,reachedMax:i,reachedMin:a,removeOffset:function(e){return n?e-n*Math.ceil((e-t)/n):e}};return o}function _S(e,t,n){const{constrain:a}=fS(0,e),i=e+1;let r=o(t);function o(e){return n?aS((i+e)%i):a(e)}function s(){return r}function c(){return _S(e,s(),n)}const l={get:s,set:function(e){return r=o(e),l},add:function(e){return c().set(s()+e)},clone:c};return l}function vS(e,t,n,a,i,r,o,s,c,l,d,u,h,p,m,g,f,_,v){const{cross:y,direction:b}=e,w=["INPUT","SELECT","TEXTAREA"],x={passive:!1},C=mS(),M=mS(),k=fS(50,225).constrain(p.measure(20)),S={mouse:300,touch:400},E={mouse:500,touch:600},$=m?43:25;let A=!1,z=0,I=0,T=!1,j=!1,O=!1,D=!1;function R(e){if(!pS(e,a)&&e.touches.length>=2)return P(e);const t=r.readPoint(e),n=r.readPoint(e,y),o=rS(t,z),c=rS(n,I);if(!j&&!D){if(!e.cancelable)return P(e);if(j=o>c,!j)return P(e)}const d=r.pointerMove(e);o>g&&(O=!0),l.useFriction(.3).useDuration(.75),s.start(),i.add(b(d)),e.preventDefault()}function P(e){const t=d.byDistance(0,!1).index!==u.get(),n=r.pointerUp(e)*(m?E:S)[D?"mouse":"touch"],a=function(e,t){const n=u.add(-1*iS(e)),a=d.byDistance(e,!m).distance;return m||aS(e)=2,s&&0!==e.button)return;if(function(e){const t=e.nodeName||"";return w.includes(t)}(e.target))return;T=!0,r.pointerDown(e),l.useFriction(0).useDuration(0),i.set(o),function(){const e=D?n:t;M.add(e,"touchmove",R,x).add(e,"touchend",P).add(e,"mousemove",R,x).add(e,"mouseup",P)}(),z=r.readPoint(e),I=r.readPoint(e,y),h.emit("pointerDown")}(s)}const c=t;C.add(c,"dragstart",(e=>e.preventDefault()),x).add(c,"touchmove",(()=>{}),x).add(c,"touchend",(()=>{})).add(c,"touchstart",s).add(c,"mousedown",s).add(c,"touchcancel",P).add(c,"contextmenu",P).add(c,"click",L,!0)},destroy:function(){C.clear(),M.clear()},pointerDown:function(){return T}}}function yS(e,t){let n,a;function i(e){return e.timeStamp}function r(n,a){const i="client"+("x"===(a||e.scroll)?"X":"Y");return(pS(n,t)?n:n.touches[0])[i]}return{pointerDown:function(e){return n=e,a=e,r(e)},pointerMove:function(e){const t=r(e)-r(a),o=i(e)-i(n)>170;return a=e,o&&(n=e),t},pointerUp:function(e){if(!n||!a)return 0;const t=r(a)-r(n),o=i(e)-i(n),s=i(e)-i(a)>170,c=t/o;return o&&!s&&aS(c)>.1?c:0},readPoint:r}}function bS(e,t,n,a,i,r,o){const s=[e].concat(a);let c,l,d=[],u=!1;function h(e){return i.measureSize(o.measure(e))}return{init:function(i){r&&(l=h(e),d=a.map(h),c=new ResizeObserver((n=>{(tS(r)||r(i,n))&&function(n){for(const r of n){if(u)return;const n=r.target===e,o=a.indexOf(r.target),s=n?l:d[o];if(aS(h(n?e:a[o])-s)>=.5){i.reInit(),t.emit("resize");break}}}(n)})),n.requestAnimationFrame((()=>{s.forEach((e=>c.observe(e)))})))},destroy:function(){u=!0,c&&c.disconnect()}}}function wS(e,t,n,a,i){const r=i.measure(10),o=i.measure(50),s=fS(.1,.99);let c=!1;function l(){return!c&&(!!e.reachedAny(n.get())&&!!e.reachedAny(t.get()))}return{shouldConstrain:l,constrain:function(i){if(!l())return;const c=e.reachedMin(t.get())?"min":"max",d=aS(e[c]-t.get()),u=n.get()-t.get(),h=s.constrain(d/o);n.subtract(u*h),!i&&aS(u)e.add(i)))}};return c}function CS(e,t,n,a,i){const{reachedAny:r,removeOffset:o,constrain:s}=a;function c(e){return e.concat().sort(((e,t)=>aS(e)-aS(t)))[0]}function l(t,a){const i=[t,t+n,t-n];if(!e)return t;if(!a)return c(i);const r=i.filter((e=>iS(e)===a));return r.length?c(r):sS(i)-n}return{byDistance:function(n,a){const c=i.get()+n,{index:d,distance:u}=function(n){const a=e?o(n):s(n),i=t.map(((e,t)=>({diff:l(e-a,0),index:t}))).sort(((e,t)=>aS(e.diff)-aS(t.diff))),{index:r}=i[0];return{index:r,distance:a}}(c),h=!e&&r(c);return!a||h?{index:d,distance:n}:{index:d,distance:n+l(t[d]-u,0)}},byIndex:function(e,n){return{index:e,distance:l(t[e]-i.get(),n)}},shortcut:l}}function MS(e,t,n,a,i,r,o,s){const c={passive:!0,capture:!0};let l=0;function d(e){"Tab"===e.code&&(l=(new Date).getTime())}return{init:function(u){s&&(r.add(document,"keydown",d,!1),t.forEach(((t,d)=>{r.add(t,"focus",(t=>{(tS(s)||s(u,t))&&function(t){if((new Date).getTime()-l>10)return;o.emit("slideFocusStart"),e.scrollLeft=0;const r=n.findIndex((e=>e.includes(t)));Jk(r)&&(i.useDuration(0),a.index(r,0),o.emit("slideFocus"))}(d)}),c)})))}}}function kS(e){let t=e;function n(e){return Jk(e)?e:e.get()}const a={get:function(){return t},set:function(e){t=n(e)},add:function(e){t+=n(e)},subtract:function(e){t-=n(e)}};return a}function SS(e,t){const n="x"===e.scroll?function(e){return`translate3d(${e}px,0px,0px)`}:function(e){return`translate3d(0px,${e}px,0px)`},a=t.style;let i=!1;return{clear:function(){i||(a.transform="",t.getAttribute("style")||t.removeAttribute("style"))},to:function(t){i||(a.transform=n(e.direction(t)))},toggleActive:function(e){i=!e}}}function ES(e,t,n,a,i,r,o,s,c){const l=.5,d=oS(i),u=oS(i).reverse(),h=function(){const e=o[0];return g(m(u,e),n,!1)}().concat(function(){const e=t-o[0]-1;return g(m(d,e),-n,!0)}());function p(e,t){return e.reduce(((e,t)=>e-i[t]),t)}function m(e,t){return e.reduce(((e,n)=>p(e,t)>0?e.concat([n]):e),[])}function g(i,o,d){const u=function(e){return r.map(((n,i)=>({start:n-a[i]+l+e,end:n+t-l+e})))}(o);return i.map((t=>{const a=d?0:-n,i=d?n:0,r=d?"end":"start",o=u[t][r];return{index:t,loopPoint:o,slideLocation:kS(-1),translate:SS(e,c[t]),target:()=>s.get()>o?a:i}}))}const f={canLoop:function(){return h.every((({index:e})=>{const n=d.filter((t=>t!==e));return p(n,t)<=.1}))},clear:function(){h.forEach((e=>e.translate.clear()))},loop:function(){h.forEach((e=>{const{target:t,translate:n,slideLocation:a}=e,i=t();i!==a.get()&&(n.to(i),a.set(i))}))},loopPoints:h};return f}function $S(e,t,n){let a,i=!1;return{init:function(r){n&&(a=new MutationObserver((e=>{i||(tS(n)||n(r,e))&&function(e){for(const n of e)if("childList"===n.type){r.reInit(),t.emit("slidesChanged");break}}(e)})),a.observe(e,{childList:!0}))},destroy:function(){a&&a.disconnect(),i=!0}}}function AS(e,t,n,a){const i={};let r,o=null,s=null,c=!1;return{init:function(){r=new IntersectionObserver((e=>{c||(e.forEach((e=>{const n=t.indexOf(e.target);i[n]=e})),o=null,s=null,n.emit("slidesInView"))}),{root:e.parentElement,threshold:a}),t.forEach((e=>r.observe(e)))},destroy:function(){r&&r.disconnect(),c=!0},get:function(e=!0){if(e&&o)return o;if(!e&&s)return s;const t=function(e){return uS(i).reduce(((t,n)=>{const a=parseInt(n),{isIntersecting:r}=i[a];return(e&&r||!e&&!r)&&t.push(a),t}),[])}(e);return e&&(o=t),e||(s=t),t}}}function zS(e,t,n,a,i,r,o,s,c){const{startEdge:l,endEdge:d,direction:u}=e,h=Jk(n);const p={groupSlides:function(e){return h?function(e,t){return oS(e).filter((e=>e%t==0)).map((n=>e.slice(n,n+t)))}(e,n):function(e){return e.length?oS(e).reduce(((n,h,p)=>{const m=sS(n)||0,g=0===m,f=h===cS(e),_=i[l]-r[m][l],v=i[l]-r[h][d],y=!a&&g?u(o):0,b=aS(v-(!a&&f?u(s):0)-(_+y));return p&&b>t+c&&n.push(h),f&&n.push(e.length),n}),[]).map(((t,n,a)=>{const i=Math.max(a[n-1]||0);return e.slice(i,t)})):[]}(e)}};return p}function IS(e,t,n,a,i,r,o){const{align:s,axis:c,direction:l,startIndex:d,loop:u,duration:h,dragFree:p,dragThreshold:m,inViewThreshold:g,slidesToScroll:f,skipSnaps:_,containScroll:v,watchResize:y,watchSlides:b,watchDrag:w,watchFocus:x}=r,C={measure:function(e){const{offsetTop:t,offsetLeft:n,offsetWidth:a,offsetHeight:i}=e;return{top:t,right:n+a,bottom:t+i,left:n,width:a,height:i}}},M=C.measure(t),k=n.map(C.measure),S=function(e,t){const n="rtl"===t,a="y"===e,i=!a&&n?-1:1,r={scroll:a?"y":"x",cross:a?"x":"y",startEdge:a?"top":n?"right":"left",endEdge:a?"bottom":n?"left":"right",measureSize:function(e){const{height:t,width:n}=e;return a?t:n},direction:function(e){return e*i}};return r}(c,l),E=S.measureSize(M),$=function(e){const t={measure:function(t){return e*(t/100)}};return t}(E),A=function(e,t){const n={start:function(){return 0},center:function(e){return a(e)/2},end:a};function a(e){return t-e}const i={measure:function(a,i){return eS(e)?n[e](a):e(t,a,i)}};return i}(s,E),z=!u&&!!v,I=u||!!v,{slideSizes:T,slideSizesWithGaps:j,startGap:O,endGap:D}=function(e,t,n,a,i,r){const{measureSize:o,startEdge:s,endEdge:c}=e,l=n[0]&&i,d=function(){if(!l)return 0;const e=n[0];return aS(t[s]-e[s])}(),u=function(){if(!l)return 0;const e=r.getComputedStyle(sS(a));return parseFloat(e.getPropertyValue(`margin-${c}`))}(),h=n.map(o),p=n.map(((e,t,n)=>{const a=!t,i=lS(n,t);return a?h[t]+d:i?h[t]+u:n[t+1][s]-e[s]})).map(aS);return{slideSizes:h,slideSizesWithGaps:p,startGap:d,endGap:u}}(S,M,k,n,I,i),R=zS(S,E,f,u,M,k,O,D,2),{snaps:P,snapsAligned:L}=function(e,t,n,a,i){const{startEdge:r,endEdge:o}=e,{groupSlides:s}=i,c=s(a).map((e=>sS(e)[o]-e[0][r])).map(aS).map(t.measure),l=a.map((e=>n[r]-e[r])).map((e=>-aS(e))),d=s(l).map((e=>e[0])).map(((e,t)=>e+c[t]));return{snaps:l,snapsAligned:d}}(S,A,M,k,R),N=-sS(P)+sS(j),{snapsContained:F,scrollContainLimit:V}=function(e,t,n,a,i){const r=fS(-t+e,0),o=n.map(((e,t)=>{const{min:a,max:i}=r,o=r.constrain(e),s=!t,l=lS(n,t);return s?i:l||c(a,o)?a:c(i,o)?i:o})).map((e=>parseFloat(e.toFixed(3)))),s=function(){const e=o[0],t=sS(o);return fS(o.lastIndexOf(e),o.indexOf(t)+1)}();function c(e,t){return rS(e,t)<1}return{snapsContained:function(){if(t<=e+i)return[r.max];if("keepSnaps"===a)return o;const{min:n,max:c}=s;return o.slice(n,c)}(),scrollContainLimit:s}}(E,N,L,v,2),H=z?F:L,{limit:B}=function(e,t,n){const a=t[0];return{limit:fS(n?a-e:sS(t),a)}}(N,H,u),q=_S(cS(H),d,u),U=q.clone(),W=oS(n),Z=gS(a,i,(e=>(({dragHandler:e,scrollBody:t,scrollBounds:n,options:{loop:a}},i)=>{a||n.constrain(e.pointerDown()),t.seek(i)})(se,e)),(e=>(({scrollBody:e,translate:t,location:n,offsetLocation:a,scrollLooper:i,slideLooper:r,dragHandler:o,animation:s,eventHandler:c,scrollBounds:l,options:{loop:d}},u)=>{const h=e.settled(),p=!l.shouldConstrain(),m=d?h:h&&p;m&&!o.pointerDown()&&(s.stop(),c.emit("settle")),m||c.emit("scroll");const g=n.get()*u+Y.get()*(1-u);a.set(g),d&&(i.loop(e.direction()),r.loop()),t.to(a.get())})(se,e))),Q=H[q.get()],G=kS(Q),Y=kS(Q),K=kS(Q),X=kS(Q),J=function(e,t,n,a,i,r){let o=0,s=0,c=i,l=r,d=e.get(),u=0;function h(e){return c=e,m}function p(e){return l=e,m}const m={direction:function(){return s},duration:function(){return c},velocity:function(){return o},seek:function(t){const i=t/1e3,r=c*i,h=a.get()-e.get();let p=0;return c?(n.set(e),o+=h/r,o*=l,d+=o,e.add(o*i),p=d-u):(o=0,n.set(a),e.set(a),p=h),s=iS(p),u=d,m},settled:function(){return aS(a.get()-t.get())<.001},useBaseFriction:function(){return p(r)},useBaseDuration:function(){return h(i)},useFriction:p,useDuration:h};return m}(G,K,Y,X,h,.68),ee=CS(u,H,N,B,X),te=function(e,t,n,a,i,r,o){function s(i){const s=i.distance,c=i.index!==t.get();r.add(s),s&&(a.duration()?e.start():(e.update(),e.render(1),e.update())),c&&(n.set(t.get()),t.set(i.index),o.emit("select"))}const c={distance:function(e,t){s(i.byDistance(e,t))},index:function(e,n){const a=t.clone().set(e);s(i.byIndex(a.get(),n))}};return c}(Z,q,U,J,ee,X,o),ne=function(e){const{max:t,length:n}=e,a={get:function(e){return n?(e-t)/-n:0}};return a}(B),ae=mS(),ie=AS(t,n,o,g),{slideRegistry:re}=function(e,t,n,a,i,r){const{groupSlides:o}=i,{min:s,max:c}=a;return{slideRegistry:function(){const a=o(r),i=!e||"keepSnaps"===t;return 1===n.length?[r]:i?a:a.slice(s,c).map(((e,t,n)=>{const a=!t,i=lS(n,t);return a?dS(sS(n[0])+1):i?dS(cS(r)-sS(n)[0]+1,sS(n)[0]):e}))}()}}(z,v,H,V,R,W),oe=MS(e,n,re,te,J,ae,o,x),se={ownerDocument:a,ownerWindow:i,eventHandler:o,containerRect:M,slideRects:k,animation:Z,axis:S,dragHandler:vS(S,e,a,i,X,yS(S,i),G,Z,te,J,ee,q,o,$,p,m,_,.68,w),eventStore:ae,percentOfView:$,index:q,indexPrevious:U,limit:B,location:G,offsetLocation:K,previousLocation:Y,options:r,resizeHandler:bS(t,o,i,n,S,y,C),scrollBody:J,scrollBounds:wS(B,K,X,J,$),scrollLooper:xS(N,B,K,[G,K,Y,X]),scrollProgress:ne,scrollSnapList:H.map(ne.get),scrollSnaps:H,scrollTarget:ee,scrollTo:te,slideLooper:ES(S,E,N,T,j,P,H,K,n),slideFocus:oe,slidesHandler:$S(t,o,b),slidesInView:ie,slideIndexes:W,slideRegistry:re,slidesToScroll:R,target:X,translate:SS(S,t)};return se}const TS={align:"center",axis:"x",container:null,slides:null,containScroll:"trimSnaps",direction:"ltr",slidesToScroll:1,inViewThreshold:0,breakpoints:{},dragFree:!1,dragThreshold:10,loop:!1,skipSnaps:!1,duration:25,startIndex:0,active:!0,watchDrag:!0,watchResize:!0,watchSlides:!0,watchFocus:!0};function jS(e){function t(e,t){return hS(e,t||{})}const n={mergeOptions:t,optionsAtMedia:function(n){const a=n.breakpoints||{},i=uS(a).filter((t=>e.matchMedia(t).matches)).map((e=>a[e])).reduce(((e,n)=>t(e,n)),{});return t(n,i)},optionsMediaQueries:function(t){return t.map((e=>uS(e.breakpoints||{}))).reduce(((e,t)=>e.concat(t)),[]).map(e.matchMedia)}};return n}function OS(e,t,n){const a=e.ownerDocument,i=a.defaultView,r=jS(i),o=function(e){let t=[];const n={init:function(n,a){return t=a.filter((({options:t})=>!1!==e.optionsAtMedia(t).active)),t.forEach((t=>t.init(n,e))),a.reduce(((e,t)=>Object.assign(e,{[t.name]:t})),{})},destroy:function(){t=t.filter((e=>e.destroy()))}};return n}(r),s=mS(),c=function(){let e,t={};function n(e){return t[e]||[]}const a={init:function(t){e=t},emit:function(t){return n(t).forEach((n=>n(e,t))),a},off:function(e,i){return t[e]=n(e).filter((e=>e!==i)),a},on:function(e,i){return t[e]=n(e).concat([i]),a},clear:function(){t={}}};return a}(),{mergeOptions:l,optionsAtMedia:d,optionsMediaQueries:u}=r,{on:h,off:p,emit:m}=c,g=S;let f,_,v,y,b=!1,w=l(TS,OS.globalOptions),x=l(w),C=[];function M(t){const n=IS(e,v,y,a,i,t,c);if(t.loop&&!n.slideLooper.canLoop()){return M(Object.assign({},t,{loop:!1}))}return n}function k(t,n){b||(w=l(w,t),x=d(w),C=n||C,function(){const{container:t,slides:n}=x,a=eS(t)?e.querySelector(t):t;v=a||e.children[0];const i=eS(n)?v.querySelectorAll(n):n;y=[].slice.call(i||v.children)}(),f=M(x),u([w,...C.map((({options:e})=>e))]).forEach((e=>s.add(e,"change",S))),x.active&&(f.translate.to(f.location.get()),f.animation.init(),f.slidesInView.init(),f.slideFocus.init(z),f.eventHandler.init(z),f.resizeHandler.init(z),f.slidesHandler.init(z),f.options.loop&&f.slideLooper.loop(),v.offsetParent&&y.length&&f.dragHandler.init(z),_=o.init(z,C)))}function S(e,t){const n=A();E(),k(l({startIndex:n},e),t),c.emit("reInit")}function E(){f.dragHandler.destroy(),f.eventStore.clear(),f.translate.clear(),f.slideLooper.clear(),f.resizeHandler.destroy(),f.slidesHandler.destroy(),f.slidesInView.destroy(),f.animation.destroy(),o.destroy(),s.clear()}function $(e,t,n){x.active&&!b&&(f.scrollBody.useBaseFriction().useDuration(!0===t?0:x.duration),f.scrollTo.index(e,n||0))}function A(){return f.index.get()}const z={canScrollNext:function(){return f.index.add(1).get()!==A()},canScrollPrev:function(){return f.index.add(-1).get()!==A()},containerNode:function(){return v},internalEngine:function(){return f},destroy:function(){b||(b=!0,s.clear(),E(),c.emit("destroy"),c.clear())},off:p,on:h,emit:m,plugins:function(){return _},previousScrollSnap:function(){return f.indexPrevious.get()},reInit:g,rootNode:function(){return e},scrollNext:function(e){$(f.index.add(1).get(),e,-1)},scrollPrev:function(e){$(f.index.add(-1).get(),e,1)},scrollProgress:function(){return f.scrollProgress.get(f.location.get())},scrollSnapList:function(){return f.scrollSnapList},scrollTo:$,selectedScrollSnap:A,slideNodes:function(){return y},slidesInView:function(){return f.slidesInView.get()},slidesNotInView:function(){return f.slidesInView.get(!1)}};return k(t,n),setTimeout((()=>c.emit("init")),0),z}function DS(){return DS=Object.assign||function(e){for(var t=1;t=e;case"y":return Math.abs(i)>=e;case"z":return Math.abs(r)>=e;default:return!1}}(r,a)&&e.preventDefault(),l.isStarted?l.isMomentum&&r>Math.max(2,2*l.lastAbsDelta)&&(M(!0),x()):x(),0===r&&Object.is&&Object.is(e.deltaX,-0)?d=!0:(t=e,l.axisMovement=PS(l.axisMovement,a),l.lastAbsDelta=r,l.scrollPointsToMerge.push({axisDelta:a,timeStamp:i}),g(),p({axisDelta:a,isStart:!l.isStartPublished}),l.isStartPublished=!0,C())},g=function(){var e;l.scrollPointsToMerge.length===US?(l.scrollPoints.unshift({axisDeltaSum:l.scrollPointsToMerge.map((function(e){return e.axisDelta})).reduce(PS),timeStamp:(e=l.scrollPointsToMerge.map((function(e){return e.timeStamp})),e.reduce((function(e,t){return e+t}))/e.length)}),_(),l.scrollPointsToMerge.length=0,l.scrollPoints.length=1,l.isMomentum||b()):l.isStartPublished||f()},f=function(){var e;l.axisVelocity=(e=l.scrollPointsToMerge,e[e.length-1]).axisDelta.map((function(e){return e/l.willEndTimeout}))},_=function(){var e=l.scrollPoints,t=e[0],n=e[1];if(n&&t){var a=t.timeStamp-n.timeStamp;if(!(a<=0)){var i=t.axisDeltaSum.map((function(e){return e/a})),r=i.map((function(e,t){return e/(l.axisVelocity[t]||1)}));l.axisVelocity=i,l.accelerationFactors.push(r),v(a)}}},v=function(e){var t=10*Math.ceil(e/10)*1.2;l.isMomentum||(t=Math.max(100,2*t)),l.willEndTimeout=Math.min(1e3,Math.round(t))},y=function(e){return 0===e||e<=qS&&e>=BS},b=function(){if(l.accelerationFactors.length>=WS){if(d&&(d=!1,LS(l.axisVelocity)>=.2))return void w();var e=l.accelerationFactors.slice(-1*WS);e.every((function(e){var t=!!e.reduce((function(e,t){return e&&e<1&&e===t?1:0})),n=e.filter(y).length===e.length;return t||n}))&&w(),l.accelerationFactors=e}},w=function(){l.isMomentum=!0},x=function(){(l=GS()).isStarted=!0,l.startTime=Date.now(),n=void 0,d=!1},C=function(){clearTimeout(a),a=setTimeout(M,l.willEndTimeout)},M=function(e){void 0===e&&(e=!1),l.isStarted&&(l.isMomentum&&e?p({isEnding:!0,isMomentumCancel:!0}):p({isEnding:!0}),l.isMomentum=!1,l.isStarted=!1)},k=function(e){var t=[],n=function(n){n.removeEventListener("wheel",e),t=t.filter((function(e){return e!==n}))};return NS({observe:function(a){return a.addEventListener("wheel",e,{passive:!1}),t.push(a),function(){return n(a)}},unobserve:n,disconnect:function(){t.forEach(n)}})}(u),S=k.observe,E=k.unobserve,$=k.disconnect;return h(e),NS({on:r,off:o,observe:S,unobserve:E,disconnect:$,feedWheel:u,updateOptions:h})}var KS={active:!0,breakpoints:{},wheelDraggingClass:"is-wheel-dragging",forceWheelAxis:void 0,target:void 0};function XS(e){var t;void 0===e&&(e={});var n=function(){};var a={name:"wheelGestures",options:e,init:function(a,i){var r,o,s=i.mergeOptions,c=i.optionsAtMedia,l=s(KS,XS.globalOptions),d=s(l,e);t=c(d);var u,h=a.internalEngine(),p=null!=(r=t.target)?r:a.containerNode().parentNode,m=null!=(o=t.forceWheelAxis)?o:h.options.axis,g=YS({preventWheelAction:m,reverseSign:[!0,!0,!1]}),f=g.observe(p),_=g.on("wheel",(function(e){var a=e.axisDelta,i=a[0],r=a[1],o="x"===m?i:r,s="x"===m?r:i,c=e.isMomentum&&e.previous&&!e.previous.isMomentum,l=e.isEnding&&!e.isMomentum||c;Math.abs(o)>Math.abs(s)&&!v&&!e.isMomentum&&function(e){try{x(u=new MouseEvent("mousedown",e.event))}catch(e){return n()}v=!0,document.documentElement.addEventListener("mousemove",b,!0),document.documentElement.addEventListener("mouseup",b,!0),void document.documentElement.addEventListener("mousedown",b,!0),t.wheelDraggingClass&&p.classList.add(t.wheelDraggingClass)}(e);if(!v)return;l?function(e){v=!1,x(w("mouseup",e)),y(),t.wheelDraggingClass&&p.classList.remove(t.wheelDraggingClass)}(e):x(w("mousemove",e))})),v=!1;function y(){document.documentElement.removeEventListener("mousemove",b,!0),document.documentElement.removeEventListener("mouseup",b,!0),document.documentElement.removeEventListener("mousedown",b,!0)}function b(e){v&&e.isTrusted&&e.stopImmediatePropagation()}function w(e,t){var n,a;if(m===h.options.axis){var i=t.axisMovement;n=i[0],a=i[1]}else{var r=t.axisMovement;a=r[0],n=r[1]}if(!h.options.skipSnaps&&!h.options.dragFree){var o=h.containerRect.width,s=h.containerRect.height;n=n<0?Math.max(n,-o):Math.min(n,o),a=a<0?Math.max(a,-s):Math.min(a,s)}return new MouseEvent(e,{clientX:u.clientX+n,clientY:u.clientY+a,screenX:u.screenX+n,screenY:u.screenY+a,movementX:n,movementY:a,button:0,bubbles:!0,cancelable:!0,composed:!0})}function x(e){a.containerNode().dispatchEvent(e)}n=function(){f(),_(),y()}},destroy:function(){return n()}};return a}XS.globalOptions=void 0;class JS{constructor(e,t,n){this._mutationObserver=new MutationObserver(((e,t)=>this._refreshCarouselContents())),this._refreshCarouselContents=()=>{const e=lf(this._parent);!Dv(this._carousel.slideNodes(),e)&&(this._carousel.destroy(),this._carousel=this._createCarousel(e))},this._root=e,this._parent=t,this._direction=n?.direction??"horizontal",this._transitionEffect=n?.transitionEffect??"slide",this._startIndex=n?.startIndex??0,this._dragFree=n?.dragFree??!1,this._loop=n?.loop??!1,this._draggable=n?.dragEnabled??!0,this._plugins=n?.plugins??[],this._carousel=this._createCarousel(lf(this._parent)),t instanceof HTMLSlotElement&&t.addEventListener("slotchange",this._refreshCarouselContents),this._mutationObserver.observe(this._parent,{childList:!0})}destroy(){this._parent instanceof HTMLSlotElement&&this._parent.removeEventListener("slotchange",this._refreshCarouselContents),this._mutationObserver.disconnect(),this._carousel.destroy()}getSlide(e){return this._carousel.slideNodes()[e]??null}getSelectedSlide(){return this.getSlide(this.getSelectedIndex())}getSelectedIndex(){return this._carousel.selectedScrollSnap()}selectSlide(e){this._carousel.scrollTo(e,"none"===this._transitionEffect);const t=this.getSlide(e);t&&Bg(this._parent,"carousel:force-select",{index:e,element:t})}_createCarousel(e){const t=OS(this._root,{slides:e,axis:"horizontal"===this._direction?"x":"y",duration:20,startIndex:this._startIndex,dragFree:this._dragFree,loop:this._loop,containScroll:"trimSnaps",watchSlides:!1,watchResize:!0,watchDrag:this._draggable},[...this._plugins,...e.length>1?[XS({forceWheelAxis:"y"})]:[]]),n=()=>{const e=(()=>{const e=t.selectedScrollSnap(),n=t.slideNodes()[e]??null;return n?{index:e,element:n}:null})();e&&Bg(this._parent,"carousel:select",e)};return t.on("select",(()=>n())),t}}let eE=class extends se{constructor(){super(...arguments),this.direction="horizontal",this.dragEnabled=!0,this.selected=0,this._refParent=ze(),this._refRoot=ze(),this._carousel=null}connectedCallback(){super.connectedCallback(),this.requestUpdate()}disconnectedCallback(){this._carousel?.destroy(),this._carousel=null,super.disconnectedCallback()}willUpdate(e){e.has("direction")&&this.setAttribute("direction",this.direction);["direction","dragEnabled","dragFree","loop","plugins","transitionEffect"].some((t=>e.has(t)))&&(this._carousel?.destroy(),this._carousel=null)}render(){return q`
- -
-
- -
-
- -
`}updated(e){!this._carousel&&this._refRoot.value&&this._refParent.value?this._carousel=new JS(this._refRoot.value,this._refParent.value,{direction:this.direction,dragEnabled:this.dragEnabled,dragFree:this.dragFree,startIndex:this.selected,transitionEffect:this.transitionEffect,loop:this.loop,plugins:this.plugins}):e.has("selected")&&this._carousel?.selectSlide(this.selected)}static get styles(){return o(":host {\n display: block;\n height: 100%;\n width: 100%;\n position: relative;\n}\n\n.embla {\n width: 100%;\n height: 100%;\n margin-left: auto;\n margin-right: auto;\n}\n\n.embla__container {\n display: flex;\n width: 100%;\n height: 100%;\n user-select: none;\n -webkit-touch-callout: none;\n -khtml-user-select: none;\n -webkit-tap-highlight-color: transparent;\n}\n\n:host([direction=vertical]) .embla__container {\n flex-direction: column;\n}\n\n:host([direction=horizontal]) .embla__container {\n flex-direction: row;\n}\n\n.embla__viewport {\n width: 100%;\n height: 100%;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.embla__viewport.is-draggable {\n cursor: move;\n cursor: grab;\n}\n\n.embla__viewport.is-dragging {\n cursor: grabbing;\n}\n\n:host([direction=vertical]) ::slotted(.embla__slide) {\n margin-bottom: 5px;\n}\n\n:host([direction=horizontal]) ::slotted(.embla__slide) {\n margin-right: 5px;\n}")}};e([he({attribute:!0,reflect:!0})],eE.prototype,"direction",void 0),e([he({attribute:!0})],eE.prototype,"transitionEffect",void 0),e([he({attribute:!1})],eE.prototype,"loop",void 0),e([he({attribute:!1})],eE.prototype,"dragFree",void 0),e([he({attribute:!1})],eE.prototype,"dragEnabled",void 0),e([he({attribute:!1})],eE.prototype,"plugins",void 0),e([he({attribute:!1})],eE.prototype,"selected",void 0),eE=e([le("frigate-card-carousel")],eE); -/** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const tE=window,nE=tE.ShadowRoot&&(void 0===tE.ShadyCSS||tE.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,aE=Symbol(),iE=new WeakMap;let rE=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==aE)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(nE&&void 0===e){const n=void 0!==t&&1===t.length;n&&(e=iE.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&iE.set(t,e))}return e}toString(){return this.cssText}};const oE=(e,t)=>{nE?e.adoptedStyleSheets=t.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet)):t.forEach((t=>{const n=document.createElement("style"),a=tE.litNonce;void 0!==a&&n.setAttribute("nonce",a),n.textContent=t.cssText,e.appendChild(n)}))},sE=nE?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const n of e.cssRules)t+=n.cssText;return(e=>new rE("string"==typeof e?e:e+"",void 0,aE))(t)})(e):e -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */;var cE;const lE=window,dE=lE.trustedTypes,uE=dE?dE.emptyScript:"",hE=lE.reactiveElementPolyfillSupport,pE={toAttribute(e,t){switch(t){case Boolean:e=e?uE:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=null!==e;break;case Number:n=null===e?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch(e){n=null}}return n}},mE=(e,t)=>t!==e&&(t==t||e==e),gE={attribute:!0,type:String,converter:pE,reflect:!1,hasChanged:mE},fE="finalized";class _E extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(e){var t;this.finalize(),(null!==(t=this.h)&&void 0!==t?t:this.h=[]).push(e)}static get observedAttributes(){this.finalize();const e=[];return this.elementProperties.forEach(((t,n)=>{const a=this._$Ep(n,t);void 0!==a&&(this._$Ev.set(a,n),e.push(a))})),e}static createProperty(e,t=gE){if(t.state&&(t.attribute=!1),this.finalize(),this.elementProperties.set(e,t),!t.noAccessor&&!this.prototype.hasOwnProperty(e)){const n="symbol"==typeof e?Symbol():"__"+e,a=this.getPropertyDescriptor(e,n,t);void 0!==a&&Object.defineProperty(this.prototype,e,a)}}static getPropertyDescriptor(e,t,n){return{get(){return this[t]},set(a){const i=this[e];this[t]=a,this.requestUpdate(e,i,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)||gE}static finalize(){if(this.hasOwnProperty(fE))return!1;this[fE]=!0;const e=Object.getPrototypeOf(this);if(e.finalize(),void 0!==e.h&&(this.h=[...e.h]),this.elementProperties=new Map(e.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const e=this.properties,t=[...Object.getOwnPropertyNames(e),...Object.getOwnPropertySymbols(e)];for(const n of t)this.createProperty(n,e[n])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const n=new Set(e.flat(1/0).reverse());for(const e of n)t.unshift(sE(e))}else void 0!==e&&t.push(sE(e));return t}static _$Ep(e,t){const n=t.attribute;return!1===n?void 0:"string"==typeof n?n:"string"==typeof e?e.toLowerCase():void 0}_$Eu(){var e;this._$E_=new Promise((e=>this.enableUpdating=e)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(e=this.constructor.h)||void 0===e||e.forEach((e=>e(this)))}addController(e){var t,n;(null!==(t=this._$ES)&&void 0!==t?t:this._$ES=[]).push(e),void 0!==this.renderRoot&&this.isConnected&&(null===(n=e.hostConnected)||void 0===n||n.call(e))}removeController(e){var t;null===(t=this._$ES)||void 0===t||t.splice(this._$ES.indexOf(e)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((e,t)=>{this.hasOwnProperty(t)&&(this._$Ei.set(t,this[t]),delete this[t])}))}createRenderRoot(){var e;const t=null!==(e=this.shadowRoot)&&void 0!==e?e:this.attachShadow(this.constructor.shadowRootOptions);return oE(t,this.constructor.elementStyles),t}connectedCallback(){var e;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostConnected)||void 0===t?void 0:t.call(e)}))}enableUpdating(e){}disconnectedCallback(){var e;null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostDisconnected)||void 0===t?void 0:t.call(e)}))}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$EO(e,t,n=gE){var a;const i=this.constructor._$Ep(e,n);if(void 0!==i&&!0===n.reflect){const r=(void 0!==(null===(a=n.converter)||void 0===a?void 0:a.toAttribute)?n.converter:pE).toAttribute(t,n.type);this._$El=e,null==r?this.removeAttribute(i):this.setAttribute(i,r),this._$El=null}}_$AK(e,t){var n;const a=this.constructor,i=a._$Ev.get(e);if(void 0!==i&&this._$El!==i){const e=a.getPropertyOptions(i),r="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==(null===(n=e.converter)||void 0===n?void 0:n.fromAttribute)?e.converter:pE;this._$El=i,this[i]=r.fromAttribute(t,e.type),this._$El=null}}requestUpdate(e,t,n){let a=!0;void 0!==e&&(((n=n||this.constructor.getPropertyOptions(e)).hasChanged||mE)(this[e],t)?(this._$AL.has(e)||this._$AL.set(e,t),!0===n.reflect&&this._$El!==e&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(e,n))):a=!1),!this.isUpdatePending&&a&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var e;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((e,t)=>this[t]=e)),this._$Ei=void 0);let t=!1;const n=this._$AL;try{t=this.shouldUpdate(n),t?(this.willUpdate(n),null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostUpdate)||void 0===t?void 0:t.call(e)})),this.update(n)):this._$Ek()}catch(e){throw t=!1,this._$Ek(),e}t&&this._$AE(n)}willUpdate(e){}_$AE(e){var t;null===(t=this._$ES)||void 0===t||t.forEach((e=>{var t;return null===(t=e.hostUpdated)||void 0===t?void 0:t.call(e)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(e){return!0}update(e){void 0!==this._$EC&&(this._$EC.forEach(((e,t)=>this._$EO(t,this[t],e))),this._$EC=void 0),this._$Ek()}updated(e){}firstUpdated(e){}}_E[fE]=!0,_E.elementProperties=new Map,_E.elementStyles=[],_E.shadowRootOptions={mode:"open"},null==hE||hE({ReactiveElement:_E}),(null!==(cE=lE.reactiveElementVersions)&&void 0!==cE?cE:lE.reactiveElementVersions=[]).push("1.6.3"); -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const vE=0,yE=Symbol();class bE{constructor(e,t,n){this.o=0,this.status=0,this.autoRun=!0,this.i=e,this.i.addController(this);const a="object"==typeof t?t:{task:t,args:n};this.t=a.task,this.h=a.args,void 0!==a.autoRun&&(this.autoRun=a.autoRun),this.taskComplete=new Promise(((e,t)=>{this.l=e,this.u=t}))}hostUpdated(){this.performTask()}async performTask(){var e;const t=null===(e=this.h)||void 0===e?void 0:e.call(this);this.shouldRun(t)&&this.run(t)}shouldRun(e){return this.autoRun&&this.v(e)}async run(e){var t;let n,a;null!=e||(e=null===(t=this.h)||void 0===t?void 0:t.call(this)),2!==this.status&&3!==this.status||(this.taskComplete=new Promise(((e,t)=>{this.l=e,this.u=t}))),this.status=1,this._=void 0,this.m=void 0,this.i.requestUpdate();const i=++this.o;try{n=await this.t(e)}catch(e){a=e}this.o===i&&(n===yE?this.status=0:(void 0===a?(this.status=2,this.l(n)):(this.status=3,this.u(a)),this.m=n,this._=a),this.i.requestUpdate())}get value(){return this.m}get error(){return this._}render(e){var t,n,a,i;switch(this.status){case 0:return null===(t=e.initial)||void 0===t?void 0:t.call(e);case 1:return null===(n=e.pending)||void 0===n?void 0:n.call(e);case 2:return null===(a=e.complete)||void 0===a?void 0:a.call(e,this.value);case 3:return null===(i=e.error)||void 0===i?void 0:i.call(e,this.error);default:this.status}}v(e){const t=this.T;return this.T=e,Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.some(((e,n)=>mE(e,t[n]))):e!==t}}class wE{constructor(e){this._keys=e}modify(e){this._keys.forEach((t=>e.removeContext(t)))}}var xE=":host {\n display: flex;\n flex-direction: column;\n width: 100%;\n margin-left: 5px;\n padding: 5px;\n color: var(--primary-text-color);\n overflow: hidden;\n column-gap: 5%;\n}\n\ndiv.title {\n font-size: 1.2rem;\n font-weight: bold;\n}\n\ndiv.details {\n flex: 1;\n justify-content: center;\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n --mdc-icon-size: 16px;\n min-height: 0px;\n}";const CE=(e,t,n,a)=>{const i={...a?.cardWideConfig&&{cardWideConfig:a.cardWideConfig}};return q` ${t.render({initial:()=>a?.inProgressFunc?.()??xk(i),pending:()=>a?.inProgressFunc?.()??xk(i),error:t=>{Gg(t),kk(e,t)},complete:n})}`},ME=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,kE=(e,t,n,a=!0)=>new bE(e,{args:()=>[!!t(),n()],task:async([e,n])=>{const a=t();return e&&a&&n?(async(e,t)=>e&&t?t.startsWith("data:")||t.match(ME)?t:new Promise(((n,a)=>{e?e.fetchWithAuth(t).then((e=>e.blob())).then((e=>{const t=new FileReader;t.onload=()=>{const e=t.result;n("string"==typeof e?e:null)},t.onerror=e=>a(e),t.readAsDataURL(e)})):a()})):null)(a,n):null},autoRun:a}),SE=300;let EE=class extends se{constructor(){super(),this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this))}connectedCallback(){this._intersectionObserver.observe(this),super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback(),this._intersectionObserver.disconnect()}willUpdate(e){e.has("thumbnail")&&(this._embedThumbnailTask=kE(this,(()=>this.hass),(()=>this.thumbnail),!1),this._intersectionObserver.unobserve(this),this._intersectionObserver.observe(this))}_intersectionHandler(e){this._embedThumbnailTask?.status===vE&&e.some((e=>e.isIntersecting))&&this._embedThumbnailTask?.run()}render(){const e=q` `;return this._embedThumbnailTask?q`${this.thumbnail?CE(this,this._embedThumbnailTask,(e=>e?q``:q``),{inProgressFunc:()=>e}):e} `:e}static get styles(){return o(":host {\n display: block;\n overflow: hidden;\n aspect-ratio: 1/1;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\nimg {\n display: block;\n}\n\nimg,\nha-icon {\n display: inline-block;\n vertical-align: top;\n margin: 0;\n border-radius: var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px));\n width: var(--frigate-card-thumbnail-size);\n max-height: 100%;\n aspect-ratio: 1/1;\n object-fit: cover;\n}\n\nha-icon {\n --mdc-icon-size: 50%;\n color: var(--primary-text-color);\n display: flex;\n justify-content: center;\n align-items: center;\n border: 1px solid rgba(255, 255, 255, 0.3);\n box-sizing: border-box;\n opacity: 0.2;\n}")}};e([he({attribute:!1})],EE.prototype,"thumbnail",void 0),e([he({attribute:!1})],EE.prototype,"hass",void 0),EE=e([le("frigate-card-thumbnail-feature-thumbnail")],EE);let $E=class extends se{render(){if(this.date)return q` - ${this.cameraMetadata?.engineLogo?q``:""} -
-
${Wu(this.date,"HH:mm")}
-
${Wu(this.date,"MMM do")}
- ${this.showCameraTitle&&this.cameraMetadata?.title?q`
${this.cameraMetadata.title}
`:q``} -
- `}static get styles(){return o(":host {\n display: block;\n max-width: var(--frigate-card-thumbnail-size);\n max-height: var(--frigate-card-thumbnail-size);\n aspect-ratio: 1/1;\n border: 1px solid var(--secondary-color);\n background-color: var(--secondary-background-color);\n border-radius: var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px));\n overflow: hidden;\n padding: 10px;\n box-sizing: border-box;\n position: relative;\n}\n\nimg.background {\n display: block;\n width: 100%;\n height: 100%;\n position: absolute;\n inset: 0;\n padding: 10%;\n box-sizing: border-box;\n pointer-events: none;\n opacity: 0.1;\n}\n\ndiv.content {\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n color: var(--primary-text-color);\n}\n\ndiv {\n text-align: center;\n}\n\ndiv.title {\n font-size: 1.5rem;\n}\n\ndiv.camera {\n font-size: 0.7em;\n}")}};e([he({attribute:!1})],$E.prototype,"date",void 0),e([he({attribute:!1})],$E.prototype,"cameraMetadata",void 0),e([he({attribute:!1})],$E.prototype,"showCameraTitle",void 0),$E=e([le("frigate-card-thumbnail-feature-text")],$E);let AE=class extends se{render(){if(!this.media)return;const e=this.media.getScore(),t=e?(100*e).toFixed(2)+"%":null,n=this.media.getStartTime(),a=n?Kg(n):null,i=this.media.getEndTime(),r=n&&i?ef(n,i):null,o=this.media.inProgress()?V_("event.in_progress"):null,s=qg(this.media.getWhat()?.join(", "))??null,c=qg(this.media.getWhere()?.join(", "))??null,l=qg(this.media.getTags()?.join(", "))??null,d=s||l?(s??"")+(s&&l?": ":"")+(l??""):null,u=this.seek?Wu(this.seek,"HH:mm:ss"):null;return q` - ${d?q`
- ${d} - ${t?q`${t}`:""} -
`:""} -
- ${a?q`
- - ${a} -
- ${r||o?q`
- - ${r?q`${r}`:""} - ${o?q`${o}`:""} -
`:""}`:""} - ${this.cameraTitle?q`
- - ${this.cameraTitle} -
`:""} - ${c?q`
- - ${c} -
`:q``} - ${l?q`
- - ${l} -
`:q``} - ${u?q`
- - ${u} -
`:q``} -
- `}static get styles(){return o(xE)}};e([he({attribute:!1})],AE.prototype,"media",void 0),e([he({attribute:!1})],AE.prototype,"seek",void 0),e([he({attribute:!1})],AE.prototype,"cameraTitle",void 0),AE=e([le("frigate-card-thumbnail-details-event")],AE);let zE=class extends se{render(){if(!this.media)return;const e=this.media.getStartTime(),t=e?Kg(e):null,n=this.media.getEndTime(),a=e&&n?ef(e,n):null,i=this.media.inProgress()?V_("recording.in_progress"):null,r=this.seek?Wu(this.seek,"HH:mm:ss"):null,o=this.media.getEventCount();return q` - ${this.cameraTitle?q`
- ${this.cameraTitle} -
`:""} -
- ${t?q`
- - ${t} -
- ${a||i?q`
- - ${a?q`${a}`:""} - ${i?q`${i}`:""} -
`:""}`:""} - ${r?q`
- - ${r} -
`:q``} - ${null!==o?q`
- - ${o} -
`:""} -
- `}static get styles(){return o(xE)}};e([he({attribute:!1})],zE.prototype,"media",void 0),e([he({attribute:!1})],zE.prototype,"seek",void 0),e([he({attribute:!1})],zE.prototype,"cameraTitle",void 0),zE=e([le("frigate-card-thumbnail-details-recording")],zE);let IE=class extends se{constructor(){super(...arguments),this.details=!1,this.show_favorite_control=!1,this.show_timeline_control=!1,this.show_download_control=!1}render(){if(!this.media||!this.cameraManager||!this.hass)return;const e=this.media.getThumbnail(),t=this.media.getTitle()??"",n={star:!0,starred:!!this.media?.isFavorite()},a=this.show_timeline_control&&(!tx.isRecording(this.media)||this.media.getStartTime()&&this.media.getEndTime()),i=this.cameraManager?.getMediaCapabilities(this.media),r=this.show_favorite_control&&this.media&&this.hass&&i?.canFavorite,o=this.show_download_control&&this.hass&&this.media.getID()&&i?.canDownload,s=this.cameraManager.getCameraMetadata(this.media.getCameraID());return q` - ${tx.isEvent(this.media)&&e?q``:tx.isEvent(this.media)||tx.isRecording(this.media)?q``:q``} - ${r?q` {if(wf(e),this.hass&&this.media){try{await(this.cameraManager?.favoriteMedia(this.media,!this.media?.isFavorite()))}catch(e){return void Gg(e)}this.requestUpdate()}}} - />`:""} - ${this.details&&tx.isEvent(this.media)?q``:this.details&&tx.isRecording(this.media)?q``:q``} - ${a?q`{wf(e),this.viewManagerEpoch&&this.media&&this.viewManagerEpoch.manager.setViewByParameters({params:{view:"timeline",queryResults:this.viewManagerEpoch?.manager.getView()?.queryResults?.clone().selectResultIfFound((e=>e===this.media))},modifiers:[new wE(["timeline"])]})}} - >`:""} - ${o?q` {if(wf(e),this.hass&&this.cameraManager&&this.media)try{await Ew(this.hass,this.cameraManager,this.media)}catch(e){kk(this,e)}}} - >`:""} - `}static get styles(){return o(":host {\n display: flex;\n flex-direction: row;\n box-sizing: border-box;\n position: relative;\n overflow: hidden;\n transition: transform 0.2s linear;\n}\n\n:host(:not([details])) {\n aspect-ratio: 1/1;\n}\n\n:host([details]) {\n border: 1px solid var(--primary-color);\n border-radius: var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px));\n padding: 2px;\n background-color: var(--primary-background-color, black);\n}\n\n:host(:hover) {\n transform: scale(1.04);\n}\n\nha-icon {\n position: absolute;\n border-radius: 50%;\n opacity: 0.5;\n color: var(--primary-color);\n cursor: pointer;\n transition: opacity 0.2s ease-in-out, color 0.2s ease-in-out;\n}\n\nha-icon:hover {\n opacity: 1;\n}\n\nha-icon.star {\n top: 3px;\n left: 3px;\n}\n\nha-icon.star.starred {\n color: gold;\n}\n\nha-icon.timeline {\n top: 3px;\n right: 3px;\n}\n\nha-icon.download {\n right: 3px;\n bottom: 3px;\n}\n\nfrigate-card-thumbnail-details-event,\nfrigate-card-thumbnail-details-recording {\n flex: 1;\n}")}};e([he({attribute:!1})],IE.prototype,"cameraManager",void 0),e([he({attribute:!1})],IE.prototype,"media",void 0),e([he({attribute:!0,type:Boolean})],IE.prototype,"details",void 0),e([he({attribute:!0,type:Boolean})],IE.prototype,"show_favorite_control",void 0),e([he({attribute:!0,type:Boolean})],IE.prototype,"show_timeline_control",void 0),e([he({attribute:!0,type:Boolean})],IE.prototype,"show_download_control",void 0),e([he({attribute:!1})],IE.prototype,"seek",void 0),IE=e([le("frigate-card-thumbnail")],IE);let TE=class extends se{constructor(){super(...arguments),this.fadeThumbnails=!1,this._thumbnailSlides=[]}willUpdate(e){if(e.has("config")){this.config?.size&&this.style.setProperty("--frigate-card-thumbnail-size",`${this.config.size}px`);const e=this._getDirection();e?this.setAttribute("direction",e):this.removeAttribute("direction")}["cameraManager","config","transitionEffect","viewManagerEpoch"].some((t=>e.has(t)))&&(this._thumbnailSlides=this._renderSlides()),e.has("viewManagerEpoch")&&this.style.setProperty("--frigate-card-carousel-thumbnail-opacity",this.fadeThumbnails&&null!==this._getSelectedSlide()?"0.4":"1.0")}_getSelectedSlide(){return this.viewManagerEpoch?.manager.getView()?.queryResults?.getSelectedIndex()??null}_renderSlides(){const e=[],t=this.viewManagerEpoch?.manager.getView(),n=t?.context?.mediaViewer?.seek,a=this._getSelectedSlide();for(const i of t?.queryResults?.getResults()??[]){const t=e.length,r={embla__slide:!0,"slide-selected":a===t};e.push(q` {const n=this.viewManagerEpoch?.manager.getView();n&&n.queryResults&&Bg(this,"thumbnail-carousel:tap",{queryResults:n.queryResults.clone().selectIndex(t)}),wf(e)}} - > - `)}return e}_getDirection(){return"left"===this.config?.mode||"right"===this.config?.mode?"vertical":"above"===this.config?.mode||"below"===this.config?.mode?"horizontal":null}render(){const e=this._getDirection();if(this._thumbnailSlides.length&&this.config&&e)return q` - ${this._thumbnailSlides} - `}static get styles(){return o(":host {\n --frigate-card-thumbnail-size-max: 300px;\n --frigate-card-thumbnail-details-width: calc(\n var(--frigate-card-thumbnail-size) + 200px\n );\n}\n\n:host {\n display: block;\n width: 100%;\n height: 100%;\n --frigate-card-carousel-thumbnail-opacity: 1;\n}\n\n:host([direction=vertical]) {\n height: 100%;\n}\n\n:host([direction=horizontal]) {\n height: auto;\n}\n\n.embla__slide {\n flex: 0 0 auto;\n opacity: var(--frigate-card-carousel-thumbnail-opacity);\n}\n\n.embla__slide.slide-selected {\n opacity: 1;\n}\n\nfrigate-card-thumbnail {\n width: var(--frigate-card-thumbnail-size);\n height: var(--frigate-card-thumbnail-size);\n max-width: 100%;\n}\n\nfrigate-card-thumbnail[details] {\n width: var(--frigate-card-thumbnail-details-width);\n}")}};e([he({attribute:!1})],TE.prototype,"hass",void 0),e([he({attribute:!1})],TE.prototype,"viewManagerEpoch",void 0),e([he({attribute:!1})],TE.prototype,"cameraManager",void 0),e([he({attribute:!1})],TE.prototype,"config",void 0),e([he({attribute:!1})],TE.prototype,"fadeThumbnails",void 0),TE=e([le("frigate-card-thumbnail-carousel")],TE);var jE=":host {\n width: 100%;\n height: 100%;\n display: block;\n}";const OE=document.createElement("template");OE.innerHTML='\n
\n
\n';class DE extends HTMLElement{constructor(){super();const e=this.attachShadow({mode:"open"});e.appendChild(OE.content.cloneNode(!0)),this._freeSpaceDiv=e.getElementById("fs")}connectedCallback(){this._freeSpaceDiv&&this._freeSpaceDiv.addEventListener("click",this.handleFreeSpaceDivClick),this.upgradeProperty("open")}disconnectedCallback(){document.removeEventListener("keyup",this.handleKeyUp)}upgradeProperty(e){if(this.hasOwnProperty(e)){let t=this[e];delete this[e],this[e]=t}}handleKeyUp=e=>{if(!e.altKey&&"Escape"===e.key)e.preventDefault(),this.open=!1};get open(){return this.hasAttribute("open")}set open(e){e?this.hasAttribute("open")||this.setAttribute("open",""):this.hasAttribute("open")&&this.removeAttribute("open")}static get observedAttributes(){return["open"]}attributeChangedCallback(e,t,n){"open"===e&&(this.open?(this.setAttribute("tabindex","0"),this.setAttribute("aria-disabled","false"),this.focus({preventScroll:!0}),document.addEventListener("keyup",this.handleKeyUp),this.dispatchEvent(new CustomEvent("open",{bubbles:!0}))):(this.setAttribute("tabindex","-1"),this.setAttribute("aria-disabled","true"),document.removeEventListener("keyup",this.handleKeyUp),this.dispatchEvent(new CustomEvent("close",{bubbles:!0}))))}handleFreeSpaceDivClick=()=>{this.open=!1}}customElements.define("side-drawer",DE);let RE=class extends se{constructor(){super(...arguments),this.location="left",this.control=!0,this.open=!1,this.empty=!0,this._refDrawer=ze(),this._refSlot=ze(),this._resizeObserver=new ResizeObserver((()=>this._hideDrawerIfNecessary())),this._isHoverableDevice=Yg()}firstUpdated(e){super.firstUpdated(e);const t=document.createElement("style");t.innerHTML=":host {\n width: unset;\n}\n\n#fs {\n display: none;\n width: 100%;\n inset: 0;\n}\n\n#d,\n#fs {\n height: 100%;\n position: absolute;\n}\n\n#d {\n overflow: visible;\n max-width: 90%;\n z-index: 10;\n}\n\n:host([location=right]) #d {\n left: unset;\n right: 0;\n transform: translateX(100%);\n}\n\n:host([location=right][open]) #d {\n transform: none;\n box-shadow: var(--frigate-card-css-box-shadow, 0px 0px 25px 0px black);\n}\n\n#ifs {\n height: 100%;\n}",this._refDrawer.value?.shadowRoot?.appendChild(t)}_slotChanged(){const e=this._refSlot.value?lf(this._refSlot.value):[];this._resizeObserver.disconnect();for(const t of e)this._resizeObserver.observe(t);this._hideDrawerIfNecessary()}_hideDrawerIfNecessary(){if(!this._refDrawer.value)return;const e=this._refSlot.value?lf(this._refSlot.value):null;this.empty=!e||!e.length||e.every((e=>{const t=e.getBoundingClientRect();return!t.width||!t.height}))}render(){return q` - {this.open&&(this.open=!1)}} - > - ${this.control?q` -
{wf(e),this.open=!this.open}} - > - {this._isHoverableDevice&&!this.open&&(this.open=!0)}} - > - -
- `:""} - this._slotChanged()}> -
- `}static get styles(){return o("side-drawer {\n background-color: var(--card-background-color);\n}\n\ndiv.control-surround {\n position: absolute;\n bottom: 50%;\n transform: translateY(50%);\n z-index: 0;\n padding-top: 20px;\n padding-bottom: 20px;\n}\n\n:host([location=left]) div.control-surround {\n padding-right: 12px;\n left: 100%;\n}\n\n:host([location=right]) div.control-surround {\n padding-left: 12px;\n right: 100%;\n}\n\n:host([empty]),\n:host([empty]) > * {\n visibility: hidden;\n}\n\n:host(:not([empty])),\n:host(:not([empty])) > * {\n visibility: visible;\n}\n\nha-icon.control {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.7);\n opacity: 0.5;\n pointer-events: all;\n --mdc-icon-size: 20px;\n padding-top: 20px;\n padding-bottom: 20px;\n transition: opacity 0.5s ease;\n}\n\n:host([open]) ha-icon.control,\nha-icon.control:hover {\n opacity: 1;\n background-color: black;\n}\n\n:host([location=left]) ha-icon.control {\n border-top-right-radius: 20px;\n border-bottom-right-radius: 20px;\n}\n\n:host([location=right]) ha-icon.control {\n border-top-left-radius: 20px;\n border-bottom-left-radius: 20px;\n}")}};e([he({attribute:!0,reflect:!0})],RE.prototype,"location",void 0),e([he({attribute:!0,reflect:!0,type:Boolean})],RE.prototype,"control",void 0),e([he({type:Boolean,reflect:!0,attribute:!0})],RE.prototype,"open",void 0),e([he({attribute:!1})],RE.prototype,"icons",void 0),e([he({type:Boolean,reflect:!0,attribute:!0})],RE.prototype,"empty",void 0),RE=e([le("frigate-card-drawer")],RE);let PE=class extends se{constructor(){super(...arguments),this._refDrawerLeft=ze(),this._refDrawerRight=ze(),this._boundDrawerHandler=this._drawerHandler.bind(this)}connectedCallback(){super.connectedCallback(),this.addEventListener("frigate-card:drawer:open",this._boundDrawerHandler),this.addEventListener("frigate-card:drawer:close",this._boundDrawerHandler)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("frigate-card:drawer:open",this._boundDrawerHandler),this.removeEventListener("frigate-card:drawer:close",this._boundDrawerHandler)}_drawerHandler(e){const t=e.detail.drawer,n=e.type.endsWith(":open");"left"===t&&this._refDrawerLeft.value?this._refDrawerLeft.value.open=n:"right"===t&&this._refDrawerRight.value&&(this._refDrawerRight.value.open=n)}render(){return q` - - - - - - - - `}static get styles(){return o(":host {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n position: relative;\n overflow: hidden;\n}\n\n::slotted(:not([slot])) {\n flex: 1;\n min-height: 0px;\n}")}};e([he({attribute:!1})],PE.prototype,"drawerIcons",void 0),PE=e([le("frigate-card-surround-basic")],PE);let LE=class extends se{_hasDrawer(){return!!this.thumbnailConfig&&["left","right"].includes(this.thumbnailConfig.mode)}willUpdate(e){this.timelineConfig?.mode&&"none"!==this.timelineConfig.mode&&import("./timeline-core-744686a3.js");const t=this.viewManagerEpoch?.manager.getView();e.has("viewManagerEpoch")&&(this.viewManagerEpoch?.manager.hasMajorMediaChange(this.viewManagerEpoch?.oldView)||this.viewManagerEpoch?.oldView?.displayMode!==t?.displayMode)&&(this._cameraIDsForTimeline=this._getCameraIDsForTimeline()??void 0)}_getCameraIDsForTimeline(){const e=this.viewManagerEpoch?.manager.getView();if(!e||!this.cameraManager)return null;if(e.is("live")){const t={anyCapabilities:["clips","snapshots","recordings"]};return e.supportsMultipleDisplayModes()&&e.isGrid()?this.cameraManager.getStore().getCameraIDsWithCapability(t):this.cameraManager.getStore().getAllDependentCameras(e.camera,t)}return e.isViewerView()?e.query?.getQueryCameraIDs()??null:null}render(){const e=this.viewManagerEpoch?.manager.getView();if(!this.hass||!e)return;const t=(e,t)=>{this.thumbnailConfig&&this._hasDrawer()&&Bg(e.composedPath()[0],"drawer:"+t,{drawer:this.thumbnailConfig.mode})};return q` t(e,"open")} - @frigate-card:thumbnails:close=${e=>t(e,"close")} - > - ${this.thumbnailConfig&&"none"!==this.thumbnailConfig.mode?q` {const n=e.detail.queryResults.getSelectedResult();n&&(this.viewManagerEpoch?.manager.setViewByParameters({params:{view:"media",queryResults:e.detail.queryResults,...n.getCameraID()&&{camera:n.getCameraID()}},modifiers:[new wE(["timeline","mediaViewer"])]}),t(e,"close"))}} - > - `:""} - ${this.timelineConfig&&"none"!==this.timelineConfig.mode?q` - `:""} - - `}static get styles(){return o(jE)}};e([he({attribute:!1})],LE.prototype,"hass",void 0),e([he({attribute:!1})],LE.prototype,"viewManagerEpoch",void 0),e([he({attribute:!1,hasChanged:Qg})],LE.prototype,"thumbnailConfig",void 0),e([he({attribute:!1,hasChanged:Qg})],LE.prototype,"timelineConfig",void 0),e([he({attribute:!1})],LE.prototype,"cameraManager",void 0),e([he({attribute:!1})],LE.prototype,"cardWideConfig",void 0),LE=e([le("frigate-card-surround")],LE);var NE="Thu, 12 Dec 2024 04:43:25 GMT",FE="1992db2",VE="Wed, 11 Dec 2024 20:42:05 -0800";const HE=ba.object({domain:ba.string(),version:ba.string().optional()}).passthrough(),BE="hass_web_proxy",qE=(e,t)=>`/api/${BE}/v${t??0}/?url=${encodeURIComponent(e)}`,UE=(e,t,n="media")=>(e=>e.config.components.includes(BE))(e)&&!!t[n];async function WE(e,t,n){await e.callService(BE,"create_proxied_url",{url_pattern:t,...n&&{url_id:n.urlID,ssl_verification:n.sslVerification,ssl_ciphers:n.sslCiphers,open_limit:n.openLimit,ttl:n.ttl,allow_unauthenticated:n.allowUnauthenticated}})}const ZE=async(e,t)=>{let n=null;if(t)try{n=await(async(e,t)=>await $v(e,HE,{type:"manifest/get",integration:t}))(t,e)}catch(e){}return{detected:!!n,...n?.version&&{version:n.version}}};let QE=class extends se{constructor(){super(...arguments),this._diagnostics=null}async _fetchDiagnostics(){this._diagnostics=await(async(e,t,n)=>{const a=e&&t?await t.getMatchingDevices(e,(e=>"Frigate"===e.manufacturer)):[],i=new Map;return a?.forEach((e=>{e.config_entries.forEach((t=>{e.model&&i.set(t,e.model)}))})),{card_version:"6.0.4",browser:navigator.userAgent,date:new Date,lang:F_(),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,git:{hash:FE,build_date:NE,commit_date:VE},...e&&{ha_version:e.config.version},integrations:{reolink:await ZE("reolink",e),frigate:{...await ZE("frigate",e),...i.size&&{devices:Object.fromEntries(i)}},hass_web_proxy:await ZE(BE,e),motioneye:await ZE("motioneye",e)},...n&&{config:n}}})(this.hass,this.deviceRegistryManager,this.rawConfig)}shouldUpdate(){return!!this._diagnostics||(this._fetchDiagnostics().then((()=>this.requestUpdate())),!1)}render(){return wk({message:V_("error.diagnostics"),type:"diagnostics",icon:"mdi:information",context:this._diagnostics})}static get styles(){return o(jE)}};e([he({attribute:!1})],QE.prototype,"hass",void 0),e([he({attribute:!1})],QE.prototype,"deviceRegistryManager",void 0),e([he({attribute:!1})],QE.prototype,"rawConfig",void 0),e([pe()],QE.prototype,"_diagnostics",void 0),QE=e([le("frigate-card-diagnostics")],QE);let GE=class extends se{willUpdate(e){if(e.has("viewManagerEpoch")||e.has("config")){const e=this.viewManagerEpoch?.manager.getView();(e?.is("live")||this._shouldLivePreload())&&import("./index-9b434861.js").then((function(e){return e.i})),e?.isGalleryView()?import("./gallery-15a600d2.js"):e?.isViewerView()?import("./index-37750213.js"):e?.is("image")?import("./image-632882b9.js"):e?.is("timeline")&&import("./timeline-116cbe0a.js")}e.has("hide")&&(this.hide?this.setAttribute("hidden",""):this.removeAttribute("hidden"))}shouldUpdate(e){return!0}_shouldLivePreload(){const e=this.viewManagerEpoch?.manager.getView();return!!this.overriddenConfig?.live.preload&&!e?.is("diagnostics")}render(){if(!(this.hass&&this.overriddenConfig&&this.nonOverriddenConfig&&this.cardWideConfig))return q``;const e=this.viewManagerEpoch?.manager.getView(),t={hidden:this._shouldLivePreload()&&!e?.is("live")},n={hidden:!!this.hide},a=e?.is("live")?this.overriddenConfig.live.controls.thumbnails:e?.isViewerView()?this.overriddenConfig.media_viewer.controls.thumbnails:e?.is("timeline")?this.overriddenConfig.timeline.controls.thumbnails:void 0,i=e?.is("live")?this.overriddenConfig.live.controls.timeline:e?.isViewerView()?this.overriddenConfig.media_viewer.controls.timeline:void 0,r=e?this.cameraManager?.getStore().getCameraConfig(e.camera)??null:null;return q` - ${!this.hide&&e?.is("image")&&r?q` - `:""} - ${!this.hide&&e?.isGalleryView()?q` - `:""} - ${!this.hide&&e?.isViewerView()?q` - - - `:""} - ${!this.hide&&e?.is("timeline")?q` - `:""} - ${!this.hide&&e?.is("diagnostics")?q` - `:""} - ${this._shouldLivePreload()||!this.hide&&e?.is("live")?q` - - - `:""} - `}static get styles(){return o(":host {\n width: 100%;\n height: 100%;\n display: block;\n}\n\n:host([hidden]),\n.hidden {\n display: none;\n}")}};e([he({attribute:!1})],GE.prototype,"hass",void 0),e([he({attribute:!1})],GE.prototype,"viewManagerEpoch",void 0),e([he({attribute:!1})],GE.prototype,"cameraManager",void 0),e([he({attribute:!1})],GE.prototype,"nonOverriddenConfig",void 0),e([he({attribute:!1})],GE.prototype,"overriddenConfig",void 0),e([he({attribute:!1})],GE.prototype,"cardWideConfig",void 0),e([he({attribute:!1})],GE.prototype,"rawConfig",void 0),e([he({attribute:!1})],GE.prototype,"resolvedMediaCache",void 0),e([he({attribute:!1})],GE.prototype,"conditionsManagerEpoch",void 0),e([he({attribute:!1})],GE.prototype,"hide",void 0),e([he({attribute:!1})],GE.prototype,"microphoneManager",void 0),e([he({attribute:!1})],GE.prototype,"triggeredCameraIDs",void 0),e([he({attribute:!1})],GE.prototype,"deviceRegistryManager",void 0),GE=e([le("frigate-card-views")],GE);console.info(`%c FRIGATE-HASS-CARD \n%c ${V_("common.version")} 6.0.4`,"color: pink; font-weight: bold; background: black","color: white; font-weight: bold; background: dimgray"),window.customCards=window.customCards||[],window.customCards.push({type:"frigate-card",name:V_("common.frigate_card"),description:V_("common.frigate_card_description"),preview:!0,documentationURL:wa});let YE=class extends se{constructor(){super(...arguments),this._controller=new Ax(this,(()=>this._refMain.value?.scroll({top:0})),(()=>this._refMenu.value?.toggleMenu()),this._requestUpdateForComponentsThatUseConditions.bind(this)),this._menuButtonController=new zx,this._refMenu=ze(),this._refOverlay=ze(),this._refMain=ze(),this._refElements=ze(),this._refViews=ze()}get _config(){return this._controller.getConfigManager().getConfig()}get _hass(){return this._controller.getHASSManager().getHASS()}set hass(e){this._controller.getHASSManager().setHASS(e),this._refMenu.value&&(this._refMenu.value.hass=e),this._refElements.value&&(this._refElements.value.hass=e),this._refViews.value&&(this._refViews.value.hass=e)}static async getConfigElement(){return await Ax.getConfigElement()}static getStubConfig(e,t){return Ax.getStubConfig(t)}_requestUpdateForComponentsThatUseConditions(){this._refViews.value&&(this._refViews.value.conditionsManagerEpoch=this._controller.getConditionsManager().getEpoch()??void 0),this._refElements.value&&(this._refElements.value.conditionsManagerEpoch=this._controller.getConditionsManager().getEpoch()??void 0)}setConfig(e){this._controller.getConfigManager().setConfig(e)}shouldUpdate(){return!!this.isConnected&&(this._controller.getMessageManager().hasMessage()||this._controller.getInitializationManager().isInitializedMandatory()||this._controller.getInitializationManager().initializeMandatory(),!0)}_renderMenuStatusContainer(e){if(!this._config)return;const t=this._config.menu.style,n=this._config.menu.position,a=this._config.status_bar.style,i=this._config.status_bar.position;if("none"===t&&"none"===a||"overlay"===e&&"outside"===t&&"outside"===a||"overlay"!==e&&("outside"!==t||n!==e)&&("outside"!==a||i!==e))return;const r=e=>{const r="none"!==t&&("outside"===t&&"outerlay"===e||"outside"!==t&&"overlay"===e),o="none"!==a&&("outside"===a&&"outerlay"===e||"outside"!==a&&"overlay"===e),s="left"===n||"right"===n||"bottom"===n&&"hidden"===t&&"popup"!==a||"top"===n&&("hidden"!==t||"popup"===a);return q` - ${r&&s?this._renderMenu(n):""} - ${o?this._renderStatusBar(i):""} - ${r&&!s?this._renderMenu(n):""} - `};return q` - ${"overlay"===e?q`${r("overlay")}`:q`
- ${r("outerlay")} -
`} - `}_renderMenu(e){const t=this._controller.getViewManager().getView();if(this._hass&&this._config)return q` - - `}_renderStatusBar(e){if(this._config)return q` - - `}updated(){this._controller.getInitializationManager().isInitializedMandatory()&&this._controller.getQueryStringManager().executeIfNecessary()}_renderInDialogIfNecessary(e){return this._controller.getExpandManager().isExpanded()?q` {this._controller.getExpandManager().setExpanded(!1)}} - > - ${e} - `:e}render(){if(!this._hass)return;const e={main:!0,"curve-top":"outside"!==this._config?.menu.style||"top"!==this._config?.menu.position,"curve-bottom":"outside"!==this._config?.menu.style||"top"===this._config?.menu.position},t=this._controller.getActionsManager().getMergedActions(),n=this._controller.getCameraManager(),a=!1!==this._config?.performance?.features.animated_progress_indicator&&!this._controller.getInitializationManager().wasEverInitialized()&&!this._controller.getMessageManager().hasMessage();return this._renderInDialogIfNecessary(q` this._controller.getMessageManager().setMessageIfHigherPriority(e.detail)} - @frigate-card:media:loaded=${e=>this._controller.getMediaLoadedInfoManager().set(e.detail)} - @frigate-card:media:unloaded=${()=>this._controller.getMediaLoadedInfoManager().clear()} - @frigate-card:media:volumechange=${()=>this.requestUpdate()} - @frigate-card:media:play=${()=>this.requestUpdate()} - @frigate-card:media:pause=${()=>this.requestUpdate()} - @frigate-card:focus=${()=>this.focus()} - > - ${a?q``:""} - ${this._renderMenuStatusContainer("top")} - ${this._renderMenuStatusContainer("overlay")} -
- - ${wk(this._controller.getMessageManager().getMessage())} -
- ${this._renderMenuStatusContainer("bottom")} - ${this._config?.elements?q` {this._menuButtonController.addDynamicMenuButton(e.detail),this.requestUpdate()}} - @frigate-card:menu:remove=${e=>{this._menuButtonController.removeDynamicMenuButton(e.detail),this.requestUpdate()}} - @frigate-card:status-bar:add=${e=>{this._controller.getStatusBarItemManager().addDynamicStatusBarItem(e.detail)}} - @frigate-card:status-bar:remove=${e=>{this._controller.getStatusBarItemManager().removeDynamicStatusBarItem(e.detail)}} - @frigate-card:conditions:evaluate=${e=>{e.evaluation=this._controller.getConditionsManager()?.evaluateConditions(e.conditions)}} - > - `:""} -
`)}static get styles(){return o(':host {\n display: block;\n position: relative;\n background-color: var(--card-background-color);\n border-radius: var(--ha-card-border-radius, 4px);\n height: var(--frigate-card-height);\n min-height: 100px;\n pointer-events: all;\n --frigate-card-expand-max-height: calc((100vh - (2 * 56px)) * 0.85);\n --frigate-card-expand-max-width: 85vw;\n --frigate-card-expand-width: none;\n --frigate-card-expand-height: none;\n --frigate-card-expand-aspect-ratio: unset;\n --frigate-card-height: auto;\n}\n\nfrigate-card-loading {\n position: absolute;\n inset: 0;\n z-index: 1;\n}\n\n:host([dark]) {\n filter: brightness(75%);\n}\n\n:host([panel]) {\n height: calc(100vh - var(--header-height));\n}\n\ndiv.main {\n position: relative;\n overflow: auto;\n width: 100%;\n height: 100%;\n margin: auto;\n display: block;\n transform: translateZ(0);\n scrollbar-width: none;\n -ms-overflow-style: none;\n}\n\n/* Hide scrollbar for Chrome, Safari and Opera */\ndiv.main::-webkit-scrollbar {\n display: none;\n}\n\ndiv.main.curve-top {\n border-top-left-radius: var(--ha-card-border-radius, 4px);\n border-top-right-radius: var(--ha-card-border-radius, 4px);\n}\n\ndiv.main.curve-bottom {\n border-bottom-left-radius: var(--ha-card-border-radius, 4px);\n border-bottom-right-radius: var(--ha-card-border-radius, 4px);\n}\n\nha-card {\n display: flex;\n flex-direction: column;\n margin: auto;\n border: 0px;\n overflow: visible;\n width: 100%;\n height: 100%;\n position: static;\n color: var(--secondary-text-color, white);\n}\n\n/************\n * Fullscreen\n *************/\n:host(:fullscreen) #ha-card {\n border-radius: 0px;\n box-shadow: none;\n margin: 0;\n}\n\n:host(:-webkit-full-screen) #ha-card {\n border-radius: 0px;\n box-shadow: none;\n margin: 0;\n}\n\n:host(:fullscreen) div.main,\n:host(:fullscreen) frigate-card-menu {\n border-radius: 0px;\n}\n\n:host(:-webkit-full-screen) div.main,\n:host(:-webkit-full-screen) frigate-card-menu {\n border-radius: 0px;\n}\n\n/***************\n * Expanded mode\n ***************/\nweb-dialog {\n --dialog-padding: 0px;\n --dialog-container-padding: 0px;\n --dialog-max-height: var(--frigate-card-expand-max-height);\n --dialog-max-width: var(--frigate-card-expand-max-width);\n --dialog-width: var(--frigate-card-expand-width);\n --dialog-height: var(--frigate-card-expand-height);\n --dialog-overflow-x: visible;\n --dialog-overflow-y: visible;\n max-height: 100vh;\n}\n\nweb-dialog::part(dialog) {\n aspect-ratio: var(--frigate-card-expand-aspect-ratio);\n border-radius: 0px;\n background: transparent;\n}\n\n/*************************************\n * "Outside" style for menu/status bar\n *************************************/\n.outerlay[data-position=top] > *:first-child {\n border-top-left-radius: var(--ha-card-border-radius, 4px);\n border-top-right-radius: var(--ha-card-border-radius, 4px);\n}\n\n.outerlay[data-position=bottom] > *:last-child {\n border-bottom-left-radius: var(--ha-card-border-radius, 4px);\n border-bottom-right-radius: var(--ha-card-border-radius, 4px);\n}\n\n/*******************\n * Menu hover styles\n *******************/\nfrigate-card-menu {\n z-index: 2;\n}\n\nfrigate-card-menu[data-style*=hover] {\n transition: opacity 0.5s ease;\n opacity: 0;\n}\n\nfrigate-card-menu[data-style*=hover]:hover,\nha-card:hover > frigate-card-overlay > frigate-card-menu[data-style=hover-card] {\n opacity: 1;\n}\n\n/*************************\n * Status bar hover styles\n *************************/\nfrigate-card-status-bar {\n z-index: 1;\n}\n\nfrigate-card-status-bar[data-style*=hover] {\n transition: opacity 0.5s ease;\n opacity: 0;\n}\n\nfrigate-card-status-bar[data-style*=hover]:hover,\nha-card:hover > frigate-card-overlay > frigate-card-status-bar[data-style=hover-card] {\n opacity: 1;\n}')}getCardSize(){return 6}};YE=e([le("frigate-card")],YE);export{Il as $,tr as A,nr as B,Zi as C,ar as D,ir as E,rr as F,Pi as G,Li as H,Ni as I,Fi as J,Vi as K,Hi as L,Bi as M,qi as N,Ui as O,gs as P,Ws as Q,ns as R,Us as S,qo as T,Fo as U,Vo as V,Ho as W,Bo as X,Bs as Y,zl as Z,e as _,se as a,dr as a$,H_ as a0,tw as a1,et as a2,nw as a3,$s as a4,Di as a5,ji as a6,Oi as a7,Ri as a8,Wi as a9,Yr as aA,oo as aB,so as aC,lo as aD,uo as aE,co as aF,ao as aG,io as aH,ro as aI,mo as aJ,_o as aK,vo as aL,ho as aM,po as aN,fo as aO,go as aP,eo as aQ,no as aR,to as aS,Xr as aT,Jr as aU,Kr as aV,Ao as aW,Io as aX,zo as aY,hr as aZ,cr as a_,es as aa,Jo as ab,Xo as ac,ts as ad,hs as ae,us as af,ms as ag,qs as ah,ps as ai,So as aj,Co as ak,To as al,Mo as am,ko as an,qr as ao,Ur as ap,Wr as aq,Zr as ar,Eo as as,$o as at,yo as au,xo as av,bo as aw,wo as ax,Qr as ay,Gr as az,pe as b,ja as b$,ur as b0,lr as b1,sr as b2,mr as b3,gr as b4,fr as b5,_r as b6,xr as b7,Hr as b8,Cr as b9,Po as bA,Wo as bB,Zo as bC,Go as bD,Yo as bE,Qo as bF,Uo as bG,vs as bH,_s as bI,ys as bJ,xs as bK,Cs as bL,As as bM,Ms as bN,Es as bO,Ss as bP,Jb as bQ,Kb as bR,Uk as bS,Ug as bT,Ma as bU,Ja as bV,Ya as bW,La as bX,Na as bY,ka as bZ,Oa as b_,kr as ba,Mr as bb,vr as bc,wr as bd,yr as be,br as bf,Sr as bg,Er as bh,$r as bi,Or as bj,zr as bk,Tr as bl,jr as bm,Ir as bn,Ar as bo,Pr as bp,Fr as bq,Vr as br,Dr as bs,Rr as bt,Nr as bu,Lr as bv,Ro as bw,Lo as bx,Oo as by,Do as bz,ew as c,wf as c$,Da as c0,Ta as c1,Ga as c2,Ua as c3,Wa as c4,Za as c5,Qa as c6,_i as c7,fi as c8,Ra as c9,ai as cA,ii as cB,Sa as cC,Ea as cD,pi as cE,hi as cF,gi as cG,mi as cH,Fd as cI,Ca as cJ,ks as cK,ge as cL,fe as cM,W as cN,xe as cO,Gw as cP,Mk as cQ,ze as cR,Yw as cS,df as cT,wk as cU,je as cV,Qg as cW,vw as cX,td as cY,kk as cZ,Ky as c_,Pa as ca,Ha as cb,qa as cc,Fa as cd,Va as ce,Ba as cf,Ka as cg,Xa as ch,ti as ci,ei as cj,yi as ck,vi as cl,bi as cm,wi as cn,$a as co,Aa as cp,za as cq,Ia as cr,ni as cs,ri as ct,oi as cu,si as cv,ci as cw,li as cx,di as cy,ui as cz,aw as d,ba as d$,My as d0,ve as d1,jE as d2,Vd as d3,nu as d4,c as d5,ux as d6,Qv as d7,hx as d8,lx as d9,wx as dA,Ck as dB,U as dC,xf as dD,Bw as dE,kE as dF,CE as dG,yf as dH,Fk as dI,vf as dJ,kf as dK,bf as dL,p_ as dM,h_ as dN,Pv as dO,Lv as dP,Ud as dQ,Vv as dR,Yg as dS,Kg as dT,Cx as dU,Gy as dV,gx as dW,su as dX,sf as dY,Fv as dZ,Hg as d_,px as da,Gg as db,Ev as dc,Wu as dd,Xg as de,Qu as df,Bg as dg,qw as dh,af as di,SE as dj,kx as dk,xk as dl,$w as dm,tx as dn,hy as dp,Bb as dq,qb as dr,UE as ds,WE as dt,Ib as du,qE as dv,Qw as dw,Kw as dx,Xw as dy,Jw as dz,_e as e,nf as e0,$v as e1,zs as e2,Kv as e3,Wv as e4,Z_ as e5,Q_ as e6,Yv as e7,Jg as e8,tf as e9,Lu as eA,Vb as eB,Zv as eC,Nb as eD,lf as eE,qy as eF,Uy as eG,Wy as eH,pf as eI,Qy as eJ,Rg as eK,Zy as eL,s as eM,Ae as eN,ye as eO,Zw as eP,bE as eQ,me as eR,be as eS,jb as eT,Gv as ea,Hk as eb,Hv as ec,rf as ed,Tv as ee,Bk as ef,Iv as eg,zv as eh,jv as ei,qk as ej,Xd as ek,Hd as el,Gd as em,Qd as en,Yd as eo,vu as ep,Jd as eq,eu as er,yu as es,_u as et,Bd as eu,au as ev,gu as ew,Ou as ex,Nu as ey,Fu as ez,ww as f,Fb as g,Xb as h,Dv as i,Lb as j,qg as k,V_ as l,Ki as m,he as n,Gi as o,Ld as p,Qi as q,o as r,of as s,le as t,Yi as u,Hb as v,Xi as w,q as x,er as y,Ji as z}; diff --git a/config/www/community/frigate-hass-card/card-769e2b91.js.gz b/config/www/community/frigate-hass-card/card-769e2b91.js.gz deleted file mode 100644 index 6d564222020964f5dcfb2b6024db37f176e4251a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142699 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�I*srEqI=x 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 diff --git a/config/www/community/frigate-hass-card/card-7cd05290.js b/config/www/community/frigate-hass-card/card-7cd05290.js deleted file mode 100644 index 624bc399..00000000 --- a/config/www/community/frigate-hass-card/card-7cd05290.js +++ /dev/null @@ -1,650 +0,0 @@ -function e(e,t,n,a){var i,r=arguments.length,o=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o}"function"==typeof SuppressedError&&SuppressedError; -/** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const t=globalThis,n=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,a=Symbol(),i=new WeakMap;let r=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==a)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(n&&void 0===e){const n=void 0!==t&&1===t.length;n&&(e=i.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&i.set(t,e))}return e}toString(){return this.cssText}};const o=e=>new r("string"==typeof e?e:e+"",void 0,a),s=(e,...t)=>{const n=1===e.length?e[0]:t.reduce(((t,n,a)=>t+(e=>{if(!0===e._$cssResult$)return e.cssText;if("number"==typeof e)return e;throw Error("Value passed to 'css' function must be a 'css' function result: "+e+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(n)+e[a+1]),e[0]);return new r(n,e,a)},c=(e,a)=>{if(n)e.adoptedStyleSheets=a.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet));else for(const n of a){const a=document.createElement("style"),i=t.litNonce;void 0!==i&&a.setAttribute("nonce",i),a.textContent=n.cssText,e.appendChild(a)}},l=n?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const n of e.cssRules)t+=n.cssText;return o(t)})(e):e -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */,{is:d,defineProperty:u,getOwnPropertyDescriptor:h,getOwnPropertyNames:p,getOwnPropertySymbols:m,getPrototypeOf:g}=Object,f=globalThis,_=f.trustedTypes,v=_?_.emptyScript:"",y=f.reactiveElementPolyfillSupport,b=(e,t)=>e,w={toAttribute(e,t){switch(t){case Boolean:e=e?v:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=null!==e;break;case Number:n=null===e?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch(e){n=null}}return n}},x=(e,t)=>!d(e,t),C={attribute:!0,type:String,converter:w,reflect:!1,hasChanged:x};Symbol.metadata??=Symbol("metadata"),f.litPropertyMetadata??=new WeakMap;class M extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=C){if(t.state&&(t.attribute=!1),this._$Ei(),this.elementProperties.set(e,t),!t.noAccessor){const n=Symbol(),a=this.getPropertyDescriptor(e,n,t);void 0!==a&&u(this.prototype,e,a)}}static getPropertyDescriptor(e,t,n){const{get:a,set:i}=h(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get(){return a?.call(this)},set(t){const r=a?.call(this);i.call(this,t),this.requestUpdate(e,r,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??C}static _$Ei(){if(this.hasOwnProperty(b("elementProperties")))return;const e=g(this);e.finalize(),void 0!==e.l&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(b("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(b("properties"))){const e=this.properties,t=[...p(e),...m(e)];for(const n of t)this.createProperty(n,e[n])}const e=this[Symbol.metadata];if(null!==e){const t=litPropertyMetadata.get(e);if(void 0!==t)for(const[e,n]of t)this.elementProperties.set(e,n)}this._$Eh=new Map;for(const[e,t]of this.elementProperties){const n=this._$Eu(e,t);void 0!==n&&this._$Eh.set(n,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const n=new Set(e.flat(1/0).reverse());for(const e of n)t.unshift(l(e))}else void 0!==e&&t.push(l(e));return t}static _$Eu(e,t){const n=t.attribute;return!1===n?void 0:"string"==typeof n?n:"string"==typeof e?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((e=>this.enableUpdating=e)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((e=>e(this)))}addController(e){(this._$EO??=new Set).add(e),void 0!==this.renderRoot&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){const e=new Map,t=this.constructor.elementProperties;for(const n of t.keys())this.hasOwnProperty(n)&&(e.set(n,this[n]),delete this[n]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return c(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((e=>e.hostConnected?.()))}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach((e=>e.hostDisconnected?.()))}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$EC(e,t){const n=this.constructor.elementProperties.get(e),a=this.constructor._$Eu(e,n);if(void 0!==a&&!0===n.reflect){const i=(void 0!==n.converter?.toAttribute?n.converter:w).toAttribute(t,n.type);this._$Em=e,null==i?this.removeAttribute(a):this.setAttribute(a,i),this._$Em=null}}_$AK(e,t){const n=this.constructor,a=n._$Eh.get(e);if(void 0!==a&&this._$Em!==a){const e=n.getPropertyOptions(a),i="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==e.converter?.fromAttribute?e.converter:w;this._$Em=a,this[a]=i.fromAttribute(t,e.type),this._$Em=null}}requestUpdate(e,t,n){if(void 0!==e){if(n??=this.constructor.getPropertyOptions(e),!(n.hasChanged??x)(this[e],t))return;this.P(e,t,n)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(e,t,n){this._$AL.has(e)||this._$AL.set(e,t),!0===n.reflect&&this._$Em!==e&&(this._$Ej??=new Set).add(e)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}const e=this.constructor.elementProperties;if(e.size>0)for(const[t,n]of e)!0!==n.wrapped||this._$AL.has(t)||void 0===this[t]||this.P(t,this[t],n)}let e=!1;const t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach((e=>e.hostUpdate?.())),this.update(t)):this._$EU()}catch(t){throw e=!1,this._$EU(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach((e=>e.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Ej&&=this._$Ej.forEach((e=>this._$EC(e,this[e]))),this._$EU()}updated(e){}firstUpdated(e){}}M.elementStyles=[],M.shadowRootOptions={mode:"open"},M[b("elementProperties")]=new Map,M[b("finalized")]=new Map,y?.({ReactiveElement:M}),(f.reactiveElementVersions??=[]).push("2.0.4"); -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const k=globalThis,S=k.trustedTypes,E=S?S.createPolicy("lit-html",{createHTML:e=>e}):void 0,$="$lit$",A=`lit$${(Math.random()+"").slice(9)}$`,z="?"+A,I=`<${z}>`,T=document,j=()=>T.createComment(""),O=e=>null===e||"object"!=typeof e&&"function"!=typeof e,D=Array.isArray,R="[ \t\n\f\r]",P=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,L=/-->/g,N=/>/g,F=RegExp(`>|${R}(?:([^\\s"'>=/]+)(${R}*=${R}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),V=/'/g,H=/"/g,B=/^(?:script|style|textarea|title)$/i,q=(e=>(t,...n)=>({_$litType$:e,strings:t,values:n}))(1),U=Symbol.for("lit-noChange"),W=Symbol.for("lit-nothing"),Z=new WeakMap,Q=T.createTreeWalker(T,129);function G(e,t){if(!Array.isArray(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==E?E.createHTML(t):t}const Y=(e,t)=>{const n=e.length-1,a=[];let i,r=2===t?"":"",o=P;for(let t=0;t"===c[0]?(o=i??P,l=-1):void 0===c[1]?l=-2:(l=o.lastIndex-c[2].length,s=c[1],o=void 0===c[3]?F:'"'===c[3]?H:V):o===H||o===V?o=F:o===L||o===N?o=P:(o=F,i=void 0);const u=o===F&&e[t+1].startsWith("/>")?" ":"";r+=o===P?n+I:l>=0?(a.push(s),n.slice(0,l)+$+n.slice(l)+A+u):n+A+(-2===l?t:u)}return[G(e,r+(e[n]||"")+(2===t?"":"")),a]};class K{constructor({strings:e,_$litType$:t},n){let a;this.parts=[];let i=0,r=0;const o=e.length-1,s=this.parts,[c,l]=Y(e,t);if(this.el=K.createElement(c,n),Q.currentNode=this.el.content,2===t){const e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;null!==(a=Q.nextNode())&&s.length0){a.textContent=S?S.emptyScript:"";for(let n=0;nD(e)||"function"==typeof e?.[Symbol.iterator])(e)?this.k(e):this._(e)}S(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.S(e))}_(e){this._$AH!==W&&O(this._$AH)?this._$AA.nextSibling.data=e:this.T(T.createTextNode(e)),this._$AH=e}$(e){const{values:t,_$litType$:n}=e,a="number"==typeof n?this._$AC(e):(void 0===n.el&&(n.el=K.createElement(G(n.h,n.h[0]),this.options)),n);if(this._$AH?._$AD===a)this._$AH.p(t);else{const e=new J(a,this),n=e.u(this.options);e.p(t),this.T(n),this._$AH=e}}_$AC(e){let t=Z.get(e.strings);return void 0===t&&Z.set(e.strings,t=new K(e)),t}k(e){D(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let n,a=0;for(const i of e)a===t.length?t.push(n=new ee(this.S(j()),this.S(j()),this,this.options)):n=t[a],n._$AI(i),a++;a2||""!==n[0]||""!==n[1]?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=W}_$AI(e,t=this,n,a){const i=this.strings;let r=!1;if(void 0===i)e=X(this,e,t,0),r=!O(e)||e!==this._$AH&&e!==U,r&&(this._$AH=e);else{const a=e;let o,s;for(e=i[0],o=0;o{const a=n?.renderBefore??t;let i=a._$litPart$;if(void 0===i){const e=n?.renderBefore??null;a._$litPart$=i=new ee(t.insertBefore(j(),e),e,void 0,n??{})}return i._$AI(e),i})(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return U}};se._$litElement$=!0,se.finalized=!0,globalThis.litElementHydrateSupport?.({LitElement:se});const ce=globalThis.litElementPolyfillSupport;ce?.({LitElement:se}),(globalThis.litElementVersions??=[]).push("4.0.4"); -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const le=e=>(t,n)=>{void 0!==n?n.addInitializer((()=>{customElements.define(e,t)})):customElements.define(e,t)} -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */,de={attribute:!0,type:String,converter:w,reflect:!1,hasChanged:x},ue=(e=de,t,n)=>{const{kind:a,metadata:i}=n;let r=globalThis.litPropertyMetadata.get(i);if(void 0===r&&globalThis.litPropertyMetadata.set(i,r=new Map),r.set(n.name,e),"accessor"===a){const{name:a}=n;return{set(n){const i=t.get.call(this);t.set.call(this,n),this.requestUpdate(a,i,e)},init(t){return void 0!==t&&this.P(a,void 0,e),t}}}if("setter"===a){const{name:a}=n;return function(n){const i=this[a];t.call(this,n),this.requestUpdate(a,i,e)}}throw Error("Unsupported decorator location: "+a)};function he(e){return(t,n)=>"object"==typeof n?ue(e,t,n):((e,t,n)=>{const a=t.hasOwnProperty(n);return t.constructor.createProperty(n,a?{...e,wrapped:!0}:e),a?Object.getOwnPropertyDescriptor(t,n):void 0})(e,t,n) -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */}function pe(e){return he({...e,state:!0,attribute:!1})} -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const me={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},ge=e=>(...t)=>({_$litDirective$:e,values:t});let fe=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,n){this._$Ct=e,this._$AM=t,this._$Ci=n}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}}; -/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const _e=ge(class extends fe{constructor(e){if(super(e),e.type!==me.ATTRIBUTE||"class"!==e.name||e.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(e){return" "+Object.keys(e).filter((t=>e[t])).join(" ")+" "}update(e,[t]){if(void 0===this.st){this.st=new Set,void 0!==e.strings&&(this.nt=new Set(e.strings.join(" ").split(/\s/).filter((e=>""!==e))));for(const e in t)t[e]&&!this.nt?.has(e)&&this.st.add(e);return this.render(t)}const n=e.element.classList;for(const e of this.st)e in t||(n.remove(e),this.st.delete(e));for(const e in t){const a=!!t[e];a===this.st.has(e)||this.nt?.has(e)||(a?(n.add(e),this.st.add(e)):(n.remove(e),this.st.delete(e)))}return U}}),ve=e=>e??W -/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */,ye=e=>null===e||"object"!=typeof e&&"function"!=typeof e,be=e=>void 0===e.strings,we={},xe=(e,t=we)=>e._$AH=t -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */,Ce=(e,t)=>{const n=e._$AN;if(void 0===n)return!1;for(const e of n)e._$AO?.(t,!1),Ce(e,t);return!0},Me=e=>{let t,n;do{if(void 0===(t=e._$AM))break;n=t._$AN,n.delete(e),e=t}while(0===n?.size)},ke=e=>{for(let t;t=e._$AM;e=t){let n=t._$AN;if(void 0===n)t._$AN=n=new Set;else if(n.has(e))break;n.add(e),$e(t)}}; -/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */function Se(e){void 0!==this._$AN?(Me(this),this._$AM=e,ke(this)):this._$AM=e}function Ee(e,t=!1,n=0){const a=this._$AH,i=this._$AN;if(void 0!==i&&0!==i.size)if(t)if(Array.isArray(a))for(let e=n;e{e.type==me.CHILD&&(e._$AP??=Ee,e._$AQ??=Se)};class Ae extends fe{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,t,n){super._$AT(e,t,n),ke(this),this.isConnected=e._$AU}_$AO(e,t=!0){e!==this.isConnected&&(this.isConnected=e,e?this.reconnected?.():this.disconnected?.()),t&&(Ce(this,e),Me(this))}setValue(e){if(be(this._$Ct))this._$Ct._$AI(e,this);else{const t=[...this._$Ct._$AH];t[this._$Ci]=e,this._$Ct._$AI(t,this,0)}}disconnected(){}reconnected(){}} -/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const ze=()=>new Ie;let Ie=class{};const Te=new WeakMap,je=ge(class extends Ae{render(e){return W}update(e,[t]){const n=t!==this.Y;return n&&void 0!==this.Y&&this.rt(void 0),(n||this.lt!==this.ct)&&(this.Y=t,this.ht=e.options?.host,this.rt(this.ct=e.element)),W}rt(e){if("function"==typeof this.Y){const t=this.ht??globalThis;let n=Te.get(t);void 0===n&&(n=new WeakMap,Te.set(t,n)),void 0!==n.get(this.Y)&&this.Y.call(this.ht,void 0),n.set(this.Y,e),void 0!==e&&this.Y.call(this.ht,e)}else this.Y.value=e}get lt(){return"function"==typeof this.Y?Te.get(this.ht??globalThis)?.get(this.Y):this.Y?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}}),Oe="important",De=" !"+Oe,Re=ge(class extends fe{constructor(e){if(super(e),e.type!==me.ATTRIBUTE||"style"!==e.name||e.strings?.length>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(e){return Object.keys(e).reduce(((t,n)=>{const a=e[n];return null==a?t:t+`${n=n.includes("-")?n:n.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${a};`}),"")}update(e,[t]){const{style:n}=e.element;if(void 0===this.ft)return this.ft=new Set(Object.keys(t)),this.render(t);for(const e of this.ft)null==t[e]&&(this.ft.delete(e),e.includes("-")?n.removeProperty(e):n[e]=null);for(const e in t){const a=t[e];if(null!=a){this.ft.add(e);const t="string"==typeof a&&a.endsWith(De);e.includes("-")||t?n.setProperty(e,t?a.slice(0,-11):a,t?Oe:""):n[e]=a}}return U}}); -/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */function Pe(e,t,n,a=20,i=0){let r=[];if(i>=a)return r;const o=e=>{const r=e.assignedNodes().filter((e=>1===e.nodeType));return r.length>0?Pe(r[0].parentElement,t,n,a,i+1):[]},s=Array.from(e.children||[]);for(const e of s)t(e)||(n(e)&&r.push(e),null!=e.shadowRoot?r.push(...Pe(e.shadowRoot,t,n,a,i+1)):"SLOT"===e.tagName?r.push(...o(e)):r.push(...Pe(e,t,n,a,i+1)));return r}function Le(e){return e.hasAttribute("hidden")||e.hasAttribute("aria-hidden")&&"false"!==e.getAttribute("aria-hidden")||"none"===e.style.display||"0"===e.style.opacity||"hidden"===e.style.visibility||"collapse"===e.style.visibility}function Ne(e){return"-1"!==e.getAttribute("tabindex")&&!Le(e)&&!function(e){return e.hasAttribute("disabled")||e.hasAttribute("aria-disabled")&&"false"!==e.getAttribute("aria-disabled")}(e)&&(e.hasAttribute("tabindex")||(e instanceof HTMLAnchorElement||e instanceof HTMLAreaElement)&&e.hasAttribute("href")||e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLIFrameElement)}const Fe=new Map;const Ve=document.createElement("template");Ve.innerHTML='\n\t
\n\t
\n\t\n\t
\n';class He extends HTMLElement{constructor(){super(),this.debounceId=Math.random().toString(),this._focused=!1;const e=this.attachShadow({mode:"open"});e.appendChild(Ve.content.cloneNode(!0)),this.$backup=e.querySelector("#backup"),this.$start=e.querySelector("#start"),this.$end=e.querySelector("#end"),this.focusLastElement=this.focusLastElement.bind(this),this.focusFirstElement=this.focusFirstElement.bind(this),this.onFocusIn=this.onFocusIn.bind(this),this.onFocusOut=this.onFocusOut.bind(this)}static get observedAttributes(){return["inactive"]}get inactive(){return this.hasAttribute("inactive")}set inactive(e){e?this.setAttribute("inactive",""):this.removeAttribute("inactive")}get focused(){return this._focused}connectedCallback(){this.$start.addEventListener("focus",this.focusLastElement),this.$end.addEventListener("focus",this.focusFirstElement),this.addEventListener("focusin",this.onFocusIn),this.addEventListener("focusout",this.onFocusOut),this.render()}disconnectedCallback(){this.$start.removeEventListener("focus",this.focusLastElement),this.$end.removeEventListener("focus",this.focusFirstElement),this.removeEventListener("focusin",this.onFocusIn),this.removeEventListener("focusout",this.onFocusOut)}attributeChangedCallback(){this.render()}focusFirstElement(){this.trapFocus()}focusLastElement(){this.trapFocus(!0)}getFocusableElements(){return Pe(this,Le,Ne)}trapFocus(e){if(this.inactive)return;let t=this.getFocusableElements();t.length>0?(e?t[t.length-1].focus():t[0].focus(),this.$backup.setAttribute("tabindex","-1")):(this.$backup.setAttribute("tabindex","0"),this.$backup.focus())}onFocusIn(){this.updateFocused(!0)}onFocusOut(){this.updateFocused(!1)}updateFocused(e){!function(e,t,n){const a=Fe.get(n);null!=a&&window.clearTimeout(a),Fe.set(n,window.setTimeout((()=>{e(),Fe.delete(n)}),t))}((()=>{this.focused!==e&&(this._focused=e,this.render())}),0,this.debounceId)}render(){this.$start.setAttribute("tabindex",!this.focused||this.inactive?"-1":"0"),this.$end.setAttribute("tabindex",!this.focused||this.inactive?"-1":"0"),this.focused?this.setAttribute("focused",""):this.removeAttribute("focused")}}function Be(e){return Number(e.getAttribute("data-dialog-count"))||0}function qe(e,t){e.setAttribute("data-dialog-count",t.toString())}function Ue(e=document.activeElement){return null!=e&&null!=e.shadowRoot&&null!=e.shadowRoot.activeElement?Ue(e.shadowRoot.activeElement):e}window.customElements.define("focus-trap",He);const We=document.createElement("template");We.innerHTML='\n \n
\n \n \n \n';class Ze extends HTMLElement{constructor(){super(),this.$scrollContainer=document.documentElement,this.$previousActiveElement=null;const e=this.attachShadow({mode:"open"});e.appendChild(We.content.cloneNode(!0)),this.$dialog=e.querySelector("#dialog"),this.$backdrop=e.querySelector("#backdrop"),this.onBackdropClick=this.onBackdropClick.bind(this),this.onKeyDown=this.onKeyDown.bind(this),this.setAttribute("aria-modal","true"),this.$dialog.setAttribute("role","alertdialog")}static get observedAttributes(){return["open","center"]}get open(){return this.hasAttribute("open")}set open(e){e?this.setAttribute("open",""):this.removeAttribute("open")}get center(){return this.hasAttribute("center")}set center(e){e?this.setAttribute("center",""):this.removeAttribute("center")}connectedCallback(){this.$backdrop.addEventListener("click",this.onBackdropClick)}disconnectedCallback(){this.$backdrop.removeEventListener("click",this.onBackdropClick),this.open&&this.didClose()}show(){this.open=!0}close(e){this.result=e,this.open=!1}onBackdropClick(){this.assertClosing()&&this.close()}onKeyDown(e){if("Escape"===e.code)this.assertClosing()&&(this.close(),e.stopImmediatePropagation())}assertClosing(){return this.dispatchEvent(new CustomEvent("closing",{cancelable:!0}))}didOpen(){this.$previousActiveElement=Ue(document.activeElement),requestAnimationFrame((()=>{this.$dialog.focusFirstElement()})),this.tabIndex=0,this.$scrollContainer.style.overflow="hidden",this.addEventListener("keydown",this.onKeyDown,{capture:!0,passive:!0}),qe(this.$scrollContainer,Be(this.$scrollContainer)+1),this.dispatchEvent(new CustomEvent("open"))}didClose(){this.removeEventListener("keydown",this.onKeyDown,{capture:!0}),qe(this.$scrollContainer,Math.max(0,Be(this.$scrollContainer)-1)),Be(this.$scrollContainer)<=0&&(this.$scrollContainer.style.overflow=""),this.tabIndex=-1,null!=this.$previousActiveElement&&(this.$previousActiveElement.focus(),this.$previousActiveElement=null),this.dispatchEvent(new CustomEvent("close",{detail:this.result}))}attributeChangedCallback(e,t,n){if("open"===e)this.open?this.didOpen():this.didClose()}}var Qe,Ge;function Ye(e){return e.substr(0,e.indexOf("."))}customElements.define("web-dialog",Ze),function(e){e.language="language",e.system="system",e.comma_decimal="comma_decimal",e.decimal_comma="decimal_comma",e.space_comma="space_comma",e.none="none"}(Qe||(Qe={})),function(e){e.language="language",e.system="system",e.am_pm="12",e.twenty_four="24"}(Ge||(Ge={}));var Ke,Xe,Je=["closed","locked","off"],et=function(e,t,n,a){a=a||{},n=null==n?{}:n;var i=new Event(t,{bubbles:void 0===a.bubbles||a.bubbles,cancelable:Boolean(a.cancelable),composed:void 0===a.composed||a.composed});return i.detail=n,e.dispatchEvent(i),i},tt=function(e){et(window,"haptic",e)},nt=function(e,t){return function(e,t,n){void 0===n&&(n=!0);var a,i=Ye(t),r="group"===i?"homeassistant":i;switch(i){case"lock":a=n?"unlock":"lock";break;case"cover":a=n?"open_cover":"close_cover";break;default:a=n?"turn_on":"turn_off"}return e.callService(r,a,{entity_id:t})}(e,t,Je.includes(e.states[t].state))},at=function(e,t,n,a){if(a||(a={action:"more-info"}),!a.confirmation||a.confirmation.exemptions&&a.confirmation.exemptions.some((function(e){return e.user===t.user.id}))||(tt("warning"),confirm(a.confirmation.text||"Are you sure you want to "+a.action+"?")))switch(a.action){case"more-info":(n.entity||n.camera_image)&&et(e,"hass-more-info",{entityId:n.entity?n.entity:n.camera_image});break;case"navigate":a.navigation_path&&function(e,t,n){void 0===n&&(n=!1),n?history.replaceState(null,"",t):history.pushState(null,"",t),et(window,"location-changed",{replace:n})}(0,a.navigation_path);break;case"url":a.url_path&&window.open(a.url_path);break;case"toggle":n.entity&&(nt(t,n.entity),tt("success"));break;case"perform-action":if(!a.perform_action)return void tt("failure");var i=a.perform_action.split(".",2);t.callService(i[0],i[1],a.data,a.target),tt("success");break;case"call-service":if(!a.service)return void tt("failure");var r=a.service.split(".",2);t.callService(r[0],r[1],a.data,a.target),tt("success");break;case"fire-dom-event":et(e,"ll-custom",a)}};!function(e){e.assertEqual=e=>e,e.assertIs=function(e){},e.assertNever=function(e){throw new Error},e.arrayToEnum=e=>{const t={};for(const n of e)t[n]=n;return t},e.getValidEnumValues=t=>{const n=e.objectKeys(t).filter((e=>"number"!=typeof t[t[e]])),a={};for(const e of n)a[e]=t[e];return e.objectValues(a)},e.objectValues=t=>e.objectKeys(t).map((function(e){return t[e]})),e.objectKeys="function"==typeof Object.keys?e=>Object.keys(e):e=>{const t=[];for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},e.find=(e,t)=>{for(const n of e)if(t(n))return n},e.isInteger="function"==typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"==typeof e&&isFinite(e)&&Math.floor(e)===e,e.joinValues=function(e,t=" | "){return e.map((e=>"string"==typeof e?`'${e}'`:e)).join(t)},e.jsonStringifyReplacer=(e,t)=>"bigint"==typeof t?t.toString():t}(Ke||(Ke={})),function(e){e.mergeShapes=(e,t)=>({...e,...t})}(Xe||(Xe={}));const it=Ke.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),rt=e=>{switch(typeof e){case"undefined":return it.undefined;case"string":return it.string;case"number":return isNaN(e)?it.nan:it.number;case"boolean":return it.boolean;case"function":return it.function;case"bigint":return it.bigint;case"symbol":return it.symbol;case"object":return Array.isArray(e)?it.array:null===e?it.null:e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch?it.promise:"undefined"!=typeof Map&&e instanceof Map?it.map:"undefined"!=typeof Set&&e instanceof Set?it.set:"undefined"!=typeof Date&&e instanceof Date?it.date:it.object;default:return it.unknown}},ot=Ke.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class st extends Error{constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const t=e||function(e){return e.message},n={_errors:[]},a=e=>{for(const i of e.issues)if("invalid_union"===i.code)i.unionErrors.map(a);else if("invalid_return_type"===i.code)a(i.returnTypeError);else if("invalid_arguments"===i.code)a(i.argumentsError);else if(0===i.path.length)n._errors.push(t(i));else{let e=n,a=0;for(;ae.message)){const t={},n=[];for(const a of this.issues)a.path.length>0?(t[a.path[0]]=t[a.path[0]]||[],t[a.path[0]].push(e(a))):n.push(e(a));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}}st.create=e=>new st(e);const ct=(e,t)=>{let n;switch(e.code){case ot.invalid_type:n=e.received===it.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case ot.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,Ke.jsonStringifyReplacer)}`;break;case ot.unrecognized_keys:n=`Unrecognized key(s) in object: ${Ke.joinValues(e.keys,", ")}`;break;case ot.invalid_union:n="Invalid input";break;case ot.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Ke.joinValues(e.options)}`;break;case ot.invalid_enum_value:n=`Invalid enum value. Expected ${Ke.joinValues(e.options)}, received '${e.received}'`;break;case ot.invalid_arguments:n="Invalid function arguments";break;case ot.invalid_return_type:n="Invalid function return type";break;case ot.invalid_date:n="Invalid date";break;case ot.invalid_string:"object"==typeof e.validation?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,"number"==typeof e.validation.position&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:Ke.assertNever(e.validation):n="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case ot.too_small:n="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:"date"===e.type?`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:"Invalid input";break;case ot.too_big:n="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"bigint"===e.type?`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"date"===e.type?`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:"Invalid input";break;case ot.custom:n="Invalid input";break;case ot.invalid_intersection_types:n="Intersection results could not be merged";break;case ot.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case ot.not_finite:n="Number must be finite";break;default:n=t.defaultError,Ke.assertNever(e)}return{message:n}};let lt=ct;function dt(){return lt}const ut=e=>{const{data:t,path:n,errorMaps:a,issueData:i}=e,r=[...n,...i.path||[]],o={...i,path:r};if(void 0!==i.message)return{...i,path:r,message:i.message};let s="";const c=a.filter((e=>!!e)).slice().reverse();for(const e of c)s=e(o,{data:t,defaultError:s}).message;return{...i,path:r,message:s}};function ht(e,t){const n=dt(),a=ut({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===ct?void 0:ct].filter((e=>!!e))});e.common.issues.push(a)}class pt{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(e,t){const n=[];for(const a of t){if("aborted"===a.status)return mt;"dirty"===a.status&&e.dirty(),n.push(a.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,t){const n=[];for(const e of t){const t=await e.key,a=await e.value;n.push({key:t,value:a})}return pt.mergeObjectSync(e,n)}static mergeObjectSync(e,t){const n={};for(const a of t){const{key:t,value:i}=a;if("aborted"===t.status)return mt;if("aborted"===i.status)return mt;"dirty"===t.status&&e.dirty(),"dirty"===i.status&&e.dirty(),"__proto__"===t.value||void 0===i.value&&!a.alwaysSet||(n[t.value]=i.value)}return{status:e.value,value:n}}}const mt=Object.freeze({status:"aborted"}),gt=e=>({status:"dirty",value:e}),ft=e=>({status:"valid",value:e}),_t=e=>"aborted"===e.status,vt=e=>"dirty"===e.status,yt=e=>"valid"===e.status,bt=e=>"undefined"!=typeof Promise&&e instanceof Promise;function wt(e,t,n,a){if("a"===n&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?a:"a"===n?a.call(e):a?a.value:t.get(e)}function xt(e,t,n,a,i){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?i.call(e,n):i?i.value=n:t.set(e,n),n}var Ct,Mt,kt;"function"==typeof SuppressedError&&SuppressedError,function(e){e.errToObj=e=>"string"==typeof e?{message:e}:e||{},e.toString=e=>"string"==typeof e?e:null==e?void 0:e.message}(Ct||(Ct={}));class St{constructor(e,t,n,a){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=a}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const Et=(e,t)=>{if(yt(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new st(e.common.issues);return this._error=t,this._error}}};function $t(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:a,description:i}=e;if(t&&(n||a))throw new Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');if(t)return{errorMap:t,description:i};return{errorMap:(t,i)=>{var r,o;const{message:s}=e;return"invalid_enum_value"===t.code?{message:null!=s?s:i.defaultError}:void 0===i.data?{message:null!==(r=null!=s?s:a)&&void 0!==r?r:i.defaultError}:"invalid_type"!==t.code?{message:i.defaultError}:{message:null!==(o=null!=s?s:n)&&void 0!==o?o:i.defaultError}},description:i}}class At{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return rt(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:rt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new pt,ctx:{common:e.parent.common,data:e.data,parsedType:rt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(bt(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){var n;const a={common:{issues:[],async:null!==(n=null==t?void 0:t.async)&&void 0!==n&&n,contextualErrorMap:null==t?void 0:t.errorMap},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:rt(e)},i=this._parseSync({data:e,path:a.path,parent:a});return Et(a,i)}async parseAsync(e,t){const n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){const n={common:{issues:[],contextualErrorMap:null==t?void 0:t.errorMap,async:!0},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:rt(e)},a=this._parse({data:e,path:n.path,parent:n}),i=await(bt(a)?a:Promise.resolve(a));return Et(n,i)}refine(e,t){const n=e=>"string"==typeof t||void 0===t?{message:t}:"function"==typeof t?t(e):t;return this._refinement(((t,a)=>{const i=e(t),r=()=>a.addIssue({code:ot.custom,...n(t)});return"undefined"!=typeof Promise&&i instanceof Promise?i.then((e=>!!e||(r(),!1))):!!i||(r(),!1)}))}refinement(e,t){return this._refinement(((n,a)=>!!e(n)||(a.addIssue("function"==typeof t?t(n,a):t),!1)))}_refinement(e){return new kn({schema:this,typeName:Pn.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return Sn.create(this,this._def)}nullable(){return En.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return on.create(this,this._def)}promise(){return Mn.create(this,this._def)}or(e){return ln.create([this,e],this._def)}and(e){return pn.create(this,e,this._def)}transform(e){return new kn({...$t(this._def),schema:this,typeName:Pn.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t="function"==typeof e?e:()=>e;return new $n({...$t(this._def),innerType:this,defaultValue:t,typeName:Pn.ZodDefault})}brand(){return new Tn({typeName:Pn.ZodBranded,type:this,...$t(this._def)})}catch(e){const t="function"==typeof e?e:()=>e;return new An({...$t(this._def),innerType:this,catchValue:t,typeName:Pn.ZodCatch})}describe(e){return new(0,this.constructor)({...this._def,description:e})}pipe(e){return jn.create(this,e)}readonly(){return On.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const zt=/^c[^\s-]{8,}$/i,It=/^[0-9a-z]+$/,Tt=/^[0-9A-HJKMNP-TV-Z]{26}$/,jt=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Ot=/^[a-z0-9_-]{21}$/i,Dt=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Rt=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i;let Pt;const Lt=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Nt=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,Ft=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Vt="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Ht=new RegExp(`^${Vt}$`);function Bt(e){let t="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return e.precision?t=`${t}\\.\\d{${e.precision}}`:null==e.precision&&(t=`${t}(\\.\\d+)?`),t}function qt(e){let t=`${Vt}T${Bt(e)}`;const n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function Ut(e,t){return!("v4"!==t&&t||!Lt.test(e))||!("v6"!==t&&t||!Nt.test(e))}class Wt extends At{_parse(e){this._def.coerce&&(e.data=String(e.data));if(this._getType(e)!==it.string){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.string,received:t.parsedType}),mt}const t=new pt;let n;for(const a of this._def.checks)if("min"===a.kind)e.data.lengtha.value&&(n=this._getOrReturnCtx(e,n),ht(n,{code:ot.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),t.dirty());else if("length"===a.kind){const i=e.data.length>a.value,r=e.data.lengthe.test(t)),{validation:t,code:ot.invalid_string,...Ct.errToObj(n)})}_addCheck(e){return new Wt({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...Ct.errToObj(e)})}url(e){return this._addCheck({kind:"url",...Ct.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...Ct.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...Ct.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...Ct.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...Ct.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...Ct.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...Ct.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...Ct.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...Ct.errToObj(e)})}datetime(e){var t,n;return"string"==typeof e?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision,offset:null!==(t=null==e?void 0:e.offset)&&void 0!==t&&t,local:null!==(n=null==e?void 0:e.local)&&void 0!==n&&n,...Ct.errToObj(null==e?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return"string"==typeof e?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision,...Ct.errToObj(null==e?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...Ct.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...Ct.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:null==t?void 0:t.position,...Ct.errToObj(null==t?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...Ct.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...Ct.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...Ct.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...Ct.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...Ct.errToObj(t)})}nonempty(e){return this.min(1,Ct.errToObj(e))}trim(){return new Wt({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Wt({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Wt({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((e=>"datetime"===e.kind))}get isDate(){return!!this._def.checks.find((e=>"date"===e.kind))}get isTime(){return!!this._def.checks.find((e=>"time"===e.kind))}get isDuration(){return!!this._def.checks.find((e=>"duration"===e.kind))}get isEmail(){return!!this._def.checks.find((e=>"email"===e.kind))}get isURL(){return!!this._def.checks.find((e=>"url"===e.kind))}get isEmoji(){return!!this._def.checks.find((e=>"emoji"===e.kind))}get isUUID(){return!!this._def.checks.find((e=>"uuid"===e.kind))}get isNANOID(){return!!this._def.checks.find((e=>"nanoid"===e.kind))}get isCUID(){return!!this._def.checks.find((e=>"cuid"===e.kind))}get isCUID2(){return!!this._def.checks.find((e=>"cuid2"===e.kind))}get isULID(){return!!this._def.checks.find((e=>"ulid"===e.kind))}get isIP(){return!!this._def.checks.find((e=>"ip"===e.kind))}get isBase64(){return!!this._def.checks.find((e=>"base64"===e.kind))}get minLength(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.valuea?n:a;return parseInt(e.toFixed(i).replace(".",""))%parseInt(t.toFixed(i).replace(".",""))/Math.pow(10,i)}Wt.create=e=>{var t;return new Wt({checks:[],typeName:Pn.ZodString,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t,...$t(e)})};class Qt extends At{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){this._def.coerce&&(e.data=Number(e.data));if(this._getType(e)!==it.number){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.number,received:t.parsedType}),mt}let t;const n=new pt;for(const a of this._def.checks)if("int"===a.kind)Ke.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.invalid_type,expected:"integer",received:"float",message:a.message}),n.dirty());else if("min"===a.kind){(a.inclusive?e.dataa.value:e.data>=a.value)&&(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),n.dirty())}else"multipleOf"===a.kind?0!==Zt(e.data,a.value)&&(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.not_multiple_of,multipleOf:a.value,message:a.message}),n.dirty()):"finite"===a.kind?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.not_finite,message:a.message}),n.dirty()):Ke.assertNever(a);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,Ct.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Ct.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Ct.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Ct.toString(t))}setLimit(e,t,n,a){return new Qt({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:Ct.toString(a)}]})}_addCheck(e){return new Qt({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:Ct.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:Ct.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:Ct.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:Ct.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:Ct.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Ct.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:Ct.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:Ct.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:Ct.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value"int"===e.kind||"multipleOf"===e.kind&&Ke.isInteger(e.value)))}get isFinite(){let e=null,t=null;for(const n of this._def.checks){if("finite"===n.kind||"int"===n.kind||"multipleOf"===n.kind)return!0;"min"===n.kind?(null===t||n.value>t)&&(t=n.value):"max"===n.kind&&(null===e||n.valuenew Qt({checks:[],typeName:Pn.ZodNumber,coerce:(null==e?void 0:e.coerce)||!1,...$t(e)});class Gt extends At{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){this._def.coerce&&(e.data=BigInt(e.data));if(this._getType(e)!==it.bigint){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.bigint,received:t.parsedType}),mt}let t;const n=new pt;for(const a of this._def.checks)if("min"===a.kind){(a.inclusive?e.dataa.value:e.data>=a.value)&&(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),n.dirty())}else"multipleOf"===a.kind?e.data%a.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.not_multiple_of,multipleOf:a.value,message:a.message}),n.dirty()):Ke.assertNever(a);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,Ct.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Ct.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Ct.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Ct.toString(t))}setLimit(e,t,n,a){return new Gt({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:Ct.toString(a)}]})}_addCheck(e){return new Gt({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:Ct.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:Ct.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:Ct.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:Ct.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Ct.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value{var t;return new Gt({checks:[],typeName:Pn.ZodBigInt,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t,...$t(e)})};class Yt extends At{_parse(e){this._def.coerce&&(e.data=Boolean(e.data));if(this._getType(e)!==it.boolean){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.boolean,received:t.parsedType}),mt}return ft(e.data)}}Yt.create=e=>new Yt({typeName:Pn.ZodBoolean,coerce:(null==e?void 0:e.coerce)||!1,...$t(e)});class Kt extends At{_parse(e){this._def.coerce&&(e.data=new Date(e.data));if(this._getType(e)!==it.date){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.date,received:t.parsedType}),mt}if(isNaN(e.data.getTime())){return ht(this._getOrReturnCtx(e),{code:ot.invalid_date}),mt}const t=new pt;let n;for(const a of this._def.checks)"min"===a.kind?e.data.getTime()a.value&&(n=this._getOrReturnCtx(e,n),ht(n,{code:ot.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),t.dirty()):Ke.assertNever(a);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(e){return new Kt({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:Ct.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:Ct.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return null!=e?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.valuenew Kt({checks:[],coerce:(null==e?void 0:e.coerce)||!1,typeName:Pn.ZodDate,...$t(e)});class Xt extends At{_parse(e){if(this._getType(e)!==it.symbol){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.symbol,received:t.parsedType}),mt}return ft(e.data)}}Xt.create=e=>new Xt({typeName:Pn.ZodSymbol,...$t(e)});class Jt extends At{_parse(e){if(this._getType(e)!==it.undefined){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.undefined,received:t.parsedType}),mt}return ft(e.data)}}Jt.create=e=>new Jt({typeName:Pn.ZodUndefined,...$t(e)});class en extends At{_parse(e){if(this._getType(e)!==it.null){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.null,received:t.parsedType}),mt}return ft(e.data)}}en.create=e=>new en({typeName:Pn.ZodNull,...$t(e)});class tn extends At{constructor(){super(...arguments),this._any=!0}_parse(e){return ft(e.data)}}tn.create=e=>new tn({typeName:Pn.ZodAny,...$t(e)});class nn extends At{constructor(){super(...arguments),this._unknown=!0}_parse(e){return ft(e.data)}}nn.create=e=>new nn({typeName:Pn.ZodUnknown,...$t(e)});class an extends At{_parse(e){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.never,received:t.parsedType}),mt}}an.create=e=>new an({typeName:Pn.ZodNever,...$t(e)});class rn extends At{_parse(e){if(this._getType(e)!==it.undefined){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.void,received:t.parsedType}),mt}return ft(e.data)}}rn.create=e=>new rn({typeName:Pn.ZodVoid,...$t(e)});class on extends At{_parse(e){const{ctx:t,status:n}=this._processInputParams(e),a=this._def;if(t.parsedType!==it.array)return ht(t,{code:ot.invalid_type,expected:it.array,received:t.parsedType}),mt;if(null!==a.exactLength){const e=t.data.length>a.exactLength.value,i=t.data.lengtha.maxLength.value&&(ht(t,{code:ot.too_big,maximum:a.maxLength.value,type:"array",inclusive:!0,exact:!1,message:a.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map(((e,n)=>a.type._parseAsync(new St(t,e,t.path,n))))).then((e=>pt.mergeArray(n,e)));const i=[...t.data].map(((e,n)=>a.type._parseSync(new St(t,e,t.path,n))));return pt.mergeArray(n,i)}get element(){return this._def.type}min(e,t){return new on({...this._def,minLength:{value:e,message:Ct.toString(t)}})}max(e,t){return new on({...this._def,maxLength:{value:e,message:Ct.toString(t)}})}length(e,t){return new on({...this._def,exactLength:{value:e,message:Ct.toString(t)}})}nonempty(e){return this.min(1,e)}}function sn(e){if(e instanceof cn){const t={};for(const n in e.shape){const a=e.shape[n];t[n]=Sn.create(sn(a))}return new cn({...e._def,shape:()=>t})}return e instanceof on?new on({...e._def,type:sn(e.element)}):e instanceof Sn?Sn.create(sn(e.unwrap())):e instanceof En?En.create(sn(e.unwrap())):e instanceof mn?mn.create(e.items.map((e=>sn(e)))):e}on.create=(e,t)=>new on({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Pn.ZodArray,...$t(t)});class cn extends At{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;const e=this._def.shape(),t=Ke.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==it.object){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.object,received:t.parsedType}),mt}const{status:t,ctx:n}=this._processInputParams(e),{shape:a,keys:i}=this._getCached(),r=[];if(!(this._def.catchall instanceof an&&"strip"===this._def.unknownKeys))for(const e in n.data)i.includes(e)||r.push(e);const o=[];for(const e of i){const t=a[e],i=n.data[e];o.push({key:{status:"valid",value:e},value:t._parse(new St(n,i,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof an){const e=this._def.unknownKeys;if("passthrough"===e)for(const e of r)o.push({key:{status:"valid",value:e},value:{status:"valid",value:n.data[e]}});else if("strict"===e)r.length>0&&(ht(n,{code:ot.unrecognized_keys,keys:r}),t.dirty());else if("strip"!==e)throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const e=this._def.catchall;for(const t of r){const a=n.data[t];o.push({key:{status:"valid",value:t},value:e._parse(new St(n,a,n.path,t)),alwaysSet:t in n.data})}}return n.common.async?Promise.resolve().then((async()=>{const e=[];for(const t of o){const n=await t.key,a=await t.value;e.push({key:n,value:a,alwaysSet:t.alwaysSet})}return e})).then((e=>pt.mergeObjectSync(t,e))):pt.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(e){return Ct.errToObj,new cn({...this._def,unknownKeys:"strict",...void 0!==e?{errorMap:(t,n)=>{var a,i,r,o;const s=null!==(r=null===(i=(a=this._def).errorMap)||void 0===i?void 0:i.call(a,t,n).message)&&void 0!==r?r:n.defaultError;return"unrecognized_keys"===t.code?{message:null!==(o=Ct.errToObj(e).message)&&void 0!==o?o:s}:{message:s}}}:{}})}strip(){return new cn({...this._def,unknownKeys:"strip"})}passthrough(){return new cn({...this._def,unknownKeys:"passthrough"})}extend(e){return new cn({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new cn({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:Pn.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new cn({...this._def,catchall:e})}pick(e){const t={};return Ke.objectKeys(e).forEach((n=>{e[n]&&this.shape[n]&&(t[n]=this.shape[n])})),new cn({...this._def,shape:()=>t})}omit(e){const t={};return Ke.objectKeys(this.shape).forEach((n=>{e[n]||(t[n]=this.shape[n])})),new cn({...this._def,shape:()=>t})}deepPartial(){return sn(this)}partial(e){const t={};return Ke.objectKeys(this.shape).forEach((n=>{const a=this.shape[n];e&&!e[n]?t[n]=a:t[n]=a.optional()})),new cn({...this._def,shape:()=>t})}required(e){const t={};return Ke.objectKeys(this.shape).forEach((n=>{if(e&&!e[n])t[n]=this.shape[n];else{let e=this.shape[n];for(;e instanceof Sn;)e=e._def.innerType;t[n]=e}})),new cn({...this._def,shape:()=>t})}keyof(){return wn(Ke.objectKeys(this.shape))}}cn.create=(e,t)=>new cn({shape:()=>e,unknownKeys:"strip",catchall:an.create(),typeName:Pn.ZodObject,...$t(t)}),cn.strictCreate=(e,t)=>new cn({shape:()=>e,unknownKeys:"strict",catchall:an.create(),typeName:Pn.ZodObject,...$t(t)}),cn.lazycreate=(e,t)=>new cn({shape:e,unknownKeys:"strip",catchall:an.create(),typeName:Pn.ZodObject,...$t(t)});class ln extends At{_parse(e){const{ctx:t}=this._processInputParams(e),n=this._def.options;if(t.common.async)return Promise.all(n.map((async e=>{const n={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}}))).then((function(e){for(const t of e)if("valid"===t.result.status)return t.result;for(const n of e)if("dirty"===n.result.status)return t.common.issues.push(...n.ctx.common.issues),n.result;const n=e.map((e=>new st(e.ctx.common.issues)));return ht(t,{code:ot.invalid_union,unionErrors:n}),mt}));{let e;const a=[];for(const i of n){const n={...t,common:{...t.common,issues:[]},parent:null},r=i._parseSync({data:t.data,path:t.path,parent:n});if("valid"===r.status)return r;"dirty"!==r.status||e||(e={result:r,ctx:n}),n.common.issues.length&&a.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;const i=a.map((e=>new st(e)));return ht(t,{code:ot.invalid_union,unionErrors:i}),mt}}get options(){return this._def.options}}ln.create=(e,t)=>new ln({options:e,typeName:Pn.ZodUnion,...$t(t)});const dn=e=>e instanceof yn?dn(e.schema):e instanceof kn?dn(e.innerType()):e instanceof bn?[e.value]:e instanceof xn?e.options:e instanceof Cn?Ke.objectValues(e.enum):e instanceof $n?dn(e._def.innerType):e instanceof Jt?[void 0]:e instanceof en?[null]:e instanceof Sn?[void 0,...dn(e.unwrap())]:e instanceof En?[null,...dn(e.unwrap())]:e instanceof Tn||e instanceof On?dn(e.unwrap()):e instanceof An?dn(e._def.innerType):[];class un extends At{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==it.object)return ht(t,{code:ot.invalid_type,expected:it.object,received:t.parsedType}),mt;const n=this.discriminator,a=t.data[n],i=this.optionsMap.get(a);return i?t.common.async?i._parseAsync({data:t.data,path:t.path,parent:t}):i._parseSync({data:t.data,path:t.path,parent:t}):(ht(t,{code:ot.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),mt)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,n){const a=new Map;for(const n of t){const t=dn(n.shape[e]);if(!t.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const i of t){if(a.has(i))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(i)}`);a.set(i,n)}}return new un({typeName:Pn.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:a,...$t(n)})}}function hn(e,t){const n=rt(e),a=rt(t);if(e===t)return{valid:!0,data:e};if(n===it.object&&a===it.object){const n=Ke.objectKeys(t),a=Ke.objectKeys(e).filter((e=>-1!==n.indexOf(e))),i={...e,...t};for(const n of a){const a=hn(e[n],t[n]);if(!a.valid)return{valid:!1};i[n]=a.data}return{valid:!0,data:i}}if(n===it.array&&a===it.array){if(e.length!==t.length)return{valid:!1};const n=[];for(let a=0;a{if(_t(e)||_t(a))return mt;const i=hn(e.value,a.value);return i.valid?((vt(e)||vt(a))&&t.dirty(),{status:t.value,value:i.data}):(ht(n,{code:ot.invalid_intersection_types}),mt)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then((([e,t])=>a(e,t))):a(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}}pn.create=(e,t,n)=>new pn({left:e,right:t,typeName:Pn.ZodIntersection,...$t(n)});class mn extends At{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==it.array)return ht(n,{code:ot.invalid_type,expected:it.array,received:n.parsedType}),mt;if(n.data.lengththis._def.items.length&&(ht(n,{code:ot.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const a=[...n.data].map(((e,t)=>{const a=this._def.items[t]||this._def.rest;return a?a._parse(new St(n,e,n.path,t)):null})).filter((e=>!!e));return n.common.async?Promise.all(a).then((e=>pt.mergeArray(t,e))):pt.mergeArray(t,a)}get items(){return this._def.items}rest(e){return new mn({...this._def,rest:e})}}mn.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new mn({items:e,typeName:Pn.ZodTuple,rest:null,...$t(t)})};class gn extends At{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==it.object)return ht(n,{code:ot.invalid_type,expected:it.object,received:n.parsedType}),mt;const a=[],i=this._def.keyType,r=this._def.valueType;for(const e in n.data)a.push({key:i._parse(new St(n,e,n.path,e)),value:r._parse(new St(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?pt.mergeObjectAsync(t,a):pt.mergeObjectSync(t,a)}get element(){return this._def.valueType}static create(e,t,n){return new gn(t instanceof At?{keyType:e,valueType:t,typeName:Pn.ZodRecord,...$t(n)}:{keyType:Wt.create(),valueType:e,typeName:Pn.ZodRecord,...$t(t)})}}class fn extends At{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==it.map)return ht(n,{code:ot.invalid_type,expected:it.map,received:n.parsedType}),mt;const a=this._def.keyType,i=this._def.valueType,r=[...n.data.entries()].map((([e,t],r)=>({key:a._parse(new St(n,e,n.path,[r,"key"])),value:i._parse(new St(n,t,n.path,[r,"value"]))})));if(n.common.async){const e=new Map;return Promise.resolve().then((async()=>{for(const n of r){const a=await n.key,i=await n.value;if("aborted"===a.status||"aborted"===i.status)return mt;"dirty"!==a.status&&"dirty"!==i.status||t.dirty(),e.set(a.value,i.value)}return{status:t.value,value:e}}))}{const e=new Map;for(const n of r){const a=n.key,i=n.value;if("aborted"===a.status||"aborted"===i.status)return mt;"dirty"!==a.status&&"dirty"!==i.status||t.dirty(),e.set(a.value,i.value)}return{status:t.value,value:e}}}}fn.create=(e,t,n)=>new fn({valueType:t,keyType:e,typeName:Pn.ZodMap,...$t(n)});class _n extends At{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==it.set)return ht(n,{code:ot.invalid_type,expected:it.set,received:n.parsedType}),mt;const a=this._def;null!==a.minSize&&n.data.sizea.maxSize.value&&(ht(n,{code:ot.too_big,maximum:a.maxSize.value,type:"set",inclusive:!0,exact:!1,message:a.maxSize.message}),t.dirty());const i=this._def.valueType;function r(e){const n=new Set;for(const a of e){if("aborted"===a.status)return mt;"dirty"===a.status&&t.dirty(),n.add(a.value)}return{status:t.value,value:n}}const o=[...n.data.values()].map(((e,t)=>i._parse(new St(n,e,n.path,t))));return n.common.async?Promise.all(o).then((e=>r(e))):r(o)}min(e,t){return new _n({...this._def,minSize:{value:e,message:Ct.toString(t)}})}max(e,t){return new _n({...this._def,maxSize:{value:e,message:Ct.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}_n.create=(e,t)=>new _n({valueType:e,minSize:null,maxSize:null,typeName:Pn.ZodSet,...$t(t)});class vn extends At{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==it.function)return ht(t,{code:ot.invalid_type,expected:it.function,received:t.parsedType}),mt;function n(e,n){return ut({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,dt(),ct].filter((e=>!!e)),issueData:{code:ot.invalid_arguments,argumentsError:n}})}function a(e,n){return ut({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,dt(),ct].filter((e=>!!e)),issueData:{code:ot.invalid_return_type,returnTypeError:n}})}const i={errorMap:t.common.contextualErrorMap},r=t.data;if(this._def.returns instanceof Mn){const e=this;return ft((async function(...t){const o=new st([]),s=await e._def.args.parseAsync(t,i).catch((e=>{throw o.addIssue(n(t,e)),o})),c=await Reflect.apply(r,this,s),l=await e._def.returns._def.type.parseAsync(c,i).catch((e=>{throw o.addIssue(a(c,e)),o}));return l}))}{const e=this;return ft((function(...t){const o=e._def.args.safeParse(t,i);if(!o.success)throw new st([n(t,o.error)]);const s=Reflect.apply(r,this,o.data),c=e._def.returns.safeParse(s,i);if(!c.success)throw new st([a(s,c.error)]);return c.data}))}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new vn({...this._def,args:mn.create(e).rest(nn.create())})}returns(e){return new vn({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,n){return new vn({args:e||mn.create([]).rest(nn.create()),returns:t||nn.create(),typeName:Pn.ZodFunction,...$t(n)})}}class yn extends At{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}yn.create=(e,t)=>new yn({getter:e,typeName:Pn.ZodLazy,...$t(t)});class bn extends At{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return ht(t,{received:t.data,code:ot.invalid_literal,expected:this._def.value}),mt}return{status:"valid",value:e.data}}get value(){return this._def.value}}function wn(e,t){return new xn({values:e,typeName:Pn.ZodEnum,...$t(t)})}bn.create=(e,t)=>new bn({value:e,typeName:Pn.ZodLiteral,...$t(t)});class xn extends At{constructor(){super(...arguments),Mt.set(this,void 0)}_parse(e){if("string"!=typeof e.data){const t=this._getOrReturnCtx(e),n=this._def.values;return ht(t,{expected:Ke.joinValues(n),received:t.parsedType,code:ot.invalid_type}),mt}if(wt(this,Mt,"f")||xt(this,Mt,new Set(this._def.values),"f"),!wt(this,Mt,"f").has(e.data)){const t=this._getOrReturnCtx(e),n=this._def.values;return ht(t,{received:t.data,code:ot.invalid_enum_value,options:n}),mt}return ft(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return xn.create(e,{...this._def,...t})}exclude(e,t=this._def){return xn.create(this.options.filter((t=>!e.includes(t))),{...this._def,...t})}}Mt=new WeakMap,xn.create=wn;class Cn extends At{constructor(){super(...arguments),kt.set(this,void 0)}_parse(e){const t=Ke.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==it.string&&n.parsedType!==it.number){const e=Ke.objectValues(t);return ht(n,{expected:Ke.joinValues(e),received:n.parsedType,code:ot.invalid_type}),mt}if(wt(this,kt,"f")||xt(this,kt,new Set(Ke.getValidEnumValues(this._def.values)),"f"),!wt(this,kt,"f").has(e.data)){const e=Ke.objectValues(t);return ht(n,{received:n.data,code:ot.invalid_enum_value,options:e}),mt}return ft(e.data)}get enum(){return this._def.values}}kt=new WeakMap,Cn.create=(e,t)=>new Cn({values:e,typeName:Pn.ZodNativeEnum,...$t(t)});class Mn extends At{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==it.promise&&!1===t.common.async)return ht(t,{code:ot.invalid_type,expected:it.promise,received:t.parsedType}),mt;const n=t.parsedType===it.promise?t.data:Promise.resolve(t.data);return ft(n.then((e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap}))))}}Mn.create=(e,t)=>new Mn({type:e,typeName:Pn.ZodPromise,...$t(t)});class kn extends At{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Pn.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:n}=this._processInputParams(e),a=this._def.effect||null,i={addIssue:e=>{ht(n,e),e.fatal?t.abort():t.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),"preprocess"===a.type){const e=a.transform(n.data,i);if(n.common.async)return Promise.resolve(e).then((async e=>{if("aborted"===t.value)return mt;const a=await this._def.schema._parseAsync({data:e,path:n.path,parent:n});return"aborted"===a.status?mt:"dirty"===a.status||"dirty"===t.value?gt(a.value):a}));{if("aborted"===t.value)return mt;const a=this._def.schema._parseSync({data:e,path:n.path,parent:n});return"aborted"===a.status?mt:"dirty"===a.status||"dirty"===t.value?gt(a.value):a}}if("refinement"===a.type){const e=e=>{const t=a.refinement(e,i);if(n.common.async)return Promise.resolve(t);if(t instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1===n.common.async){const a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return"aborted"===a.status?mt:("dirty"===a.status&&t.dirty(),e(a.value),{status:t.value,value:a.value})}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then((n=>"aborted"===n.status?mt:("dirty"===n.status&&t.dirty(),e(n.value).then((()=>({status:t.value,value:n.value}))))))}if("transform"===a.type){if(!1===n.common.async){const e=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!yt(e))return e;const r=a.transform(e.value,i);if(r instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:r}}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then((e=>yt(e)?Promise.resolve(a.transform(e.value,i)).then((e=>({status:t.value,value:e}))):e))}Ke.assertNever(a)}}kn.create=(e,t,n)=>new kn({schema:e,typeName:Pn.ZodEffects,effect:t,...$t(n)}),kn.createWithPreprocess=(e,t,n)=>new kn({schema:t,effect:{type:"preprocess",transform:e},typeName:Pn.ZodEffects,...$t(n)});class Sn extends At{_parse(e){return this._getType(e)===it.undefined?ft(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Sn.create=(e,t)=>new Sn({innerType:e,typeName:Pn.ZodOptional,...$t(t)});class En extends At{_parse(e){return this._getType(e)===it.null?ft(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}En.create=(e,t)=>new En({innerType:e,typeName:Pn.ZodNullable,...$t(t)});class $n extends At{_parse(e){const{ctx:t}=this._processInputParams(e);let n=t.data;return t.parsedType===it.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}$n.create=(e,t)=>new $n({innerType:e,typeName:Pn.ZodDefault,defaultValue:"function"==typeof t.default?t.default:()=>t.default,...$t(t)});class An extends At{_parse(e){const{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},a=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return bt(a)?a.then((e=>({status:"valid",value:"valid"===e.status?e.value:this._def.catchValue({get error(){return new st(n.common.issues)},input:n.data})}))):{status:"valid",value:"valid"===a.status?a.value:this._def.catchValue({get error(){return new st(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}An.create=(e,t)=>new An({innerType:e,typeName:Pn.ZodCatch,catchValue:"function"==typeof t.catch?t.catch:()=>t.catch,...$t(t)});class zn extends At{_parse(e){if(this._getType(e)!==it.nan){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.nan,received:t.parsedType}),mt}return{status:"valid",value:e.data}}}zn.create=e=>new zn({typeName:Pn.ZodNaN,...$t(e)});const In=Symbol("zod_brand");class Tn extends At{_parse(e){const{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}}class jn extends At{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.common.async){return(async()=>{const e=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return"aborted"===e.status?mt:"dirty"===e.status?(t.dirty(),gt(e.value)):this._def.out._parseAsync({data:e.value,path:n.path,parent:n})})()}{const e=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return"aborted"===e.status?mt:"dirty"===e.status?(t.dirty(),{status:"dirty",value:e.value}):this._def.out._parseSync({data:e.value,path:n.path,parent:n})}}static create(e,t){return new jn({in:e,out:t,typeName:Pn.ZodPipeline})}}class On extends At{_parse(e){const t=this._def.innerType._parse(e),n=e=>(yt(e)&&(e.value=Object.freeze(e.value)),e);return bt(t)?t.then((e=>n(e))):n(t)}unwrap(){return this._def.innerType}}function Dn(e,t={},n){return e?tn.create().superRefine(((a,i)=>{var r,o;if(!e(a)){const e="function"==typeof t?t(a):"string"==typeof t?{message:t}:t,s=null===(o=null!==(r=e.fatal)&&void 0!==r?r:n)||void 0===o||o,c="string"==typeof e?{message:e}:e;i.addIssue({code:"custom",...c,fatal:s})}})):tn.create()}On.create=(e,t)=>new On({innerType:e,typeName:Pn.ZodReadonly,...$t(t)});const Rn={object:cn.lazycreate};var Pn;!function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"}(Pn||(Pn={}));const Ln=Wt.create,Nn=Qt.create,Fn=zn.create,Vn=Gt.create,Hn=Yt.create,Bn=Kt.create,qn=Xt.create,Un=Jt.create,Wn=en.create,Zn=tn.create,Qn=nn.create,Gn=an.create,Yn=rn.create,Kn=on.create,Xn=cn.create,Jn=cn.strictCreate,ea=ln.create,ta=un.create,na=pn.create,aa=mn.create,ia=gn.create,ra=fn.create,oa=_n.create,sa=vn.create,ca=yn.create,la=bn.create,da=xn.create,ua=Cn.create,ha=Mn.create,pa=kn.create,ma=Sn.create,ga=En.create,fa=kn.createWithPreprocess,_a=jn.create,va={string:e=>Wt.create({...e,coerce:!0}),number:e=>Qt.create({...e,coerce:!0}),boolean:e=>Yt.create({...e,coerce:!0}),bigint:e=>Gt.create({...e,coerce:!0}),date:e=>Kt.create({...e,coerce:!0})},ya=mt;var ba=Object.freeze({__proto__:null,defaultErrorMap:ct,setErrorMap:function(e){lt=e},getErrorMap:dt,makeIssue:ut,EMPTY_PATH:[],addIssueToContext:ht,ParseStatus:pt,INVALID:mt,DIRTY:gt,OK:ft,isAborted:_t,isDirty:vt,isValid:yt,isAsync:bt,get util(){return Ke},get objectUtil(){return Xe},ZodParsedType:it,getParsedType:rt,ZodType:At,datetimeRegex:qt,ZodString:Wt,ZodNumber:Qt,ZodBigInt:Gt,ZodBoolean:Yt,ZodDate:Kt,ZodSymbol:Xt,ZodUndefined:Jt,ZodNull:en,ZodAny:tn,ZodUnknown:nn,ZodNever:an,ZodVoid:rn,ZodArray:on,ZodObject:cn,ZodUnion:ln,ZodDiscriminatedUnion:un,ZodIntersection:pn,ZodTuple:mn,ZodRecord:gn,ZodMap:fn,ZodSet:_n,ZodFunction:vn,ZodLazy:yn,ZodLiteral:bn,ZodEnum:xn,ZodNativeEnum:Cn,ZodPromise:Mn,ZodEffects:kn,ZodTransformer:kn,ZodOptional:Sn,ZodNullable:En,ZodDefault:$n,ZodCatch:An,ZodNaN:zn,BRAND:In,ZodBranded:Tn,ZodPipeline:jn,ZodReadonly:On,custom:Dn,Schema:At,ZodSchema:At,late:Rn,get ZodFirstPartyTypeKind(){return Pn},coerce:va,any:Zn,array:Kn,bigint:Vn,boolean:Hn,date:Bn,discriminatedUnion:ta,effect:pa,enum:da,function:sa,instanceof:(e,t={message:`Input not instance of ${e.name}`})=>Dn((t=>t instanceof e),t),intersection:na,lazy:ca,literal:la,map:ra,nan:Fn,nativeEnum:ua,never:Gn,null:Wn,nullable:ga,number:Nn,object:Xn,oboolean:()=>Hn().optional(),onumber:()=>Nn().optional(),optional:ma,ostring:()=>Ln().optional(),pipeline:_a,preprocess:fa,promise:ha,record:ia,set:oa,strictObject:Jn,string:Ln,symbol:qn,transformer:pa,tuple:aa,undefined:Un,union:ea,unknown:Qn,void:Yn,NEVER:ya,ZodIssueCode:ot,quotelessJson:e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),ZodError:st});const wa="https://github.com/dermotduffy/frigate-hass-card",xa=`${wa}#troubleshooting`,Ca="cameras",Ma=`${Ca}.#.camera_entity`,ka=`${Ca}.#.frigate.camera_name`,Sa=`${Ca}.#.capabilities.disable`,Ea=`${Ca}.#.capabilities.disable_except`,$a=`${Ca}.#.cast.method`,Aa=`${Ca}.#.cast.dashboard.dashboard_path`,za=`${Ca}.#.cast.dashboard.view_path`,Ia=`${Ca}.#.dimensions.aspect_ratio`,Ta=`${Ca}.#.frigate.client_id`,ja=`${Ca}.#.frigate.labels`,Oa=`${Ca}.#.frigate.url`,Da=`${Ca}.#.frigate.zones`,Ra=`${Ca}.#.go2rtc.modes`,Pa=`${Ca}.#.go2rtc.stream`,La=`${Ca}.#.icon`,Na=`${Ca}.#.id`,Fa=`${Ca}.#.image.entity`,Va=`${Ca}.#.image.entity_parameters`,Ha=`${Ca}.#.image.mode`,Ba=`${Ca}.#.image.refresh_seconds`,qa=`${Ca}.#.image.url`,Ua=`${Ca}.#.motioneye.images.directory_pattern`,Wa=`${Ca}.#.motioneye.images.file_pattern`,Za=`${Ca}.#.motioneye.movies.directory_pattern`,Qa=`${Ca}.#.motioneye.movies.file_pattern`,Ga=`${Ca}.#.motioneye.url`,Ya=`${Ca}.#.title`,Ka=`${Ca}.#.webrtc_card.entity`,Xa=`${Ca}.#.webrtc_card.url`,Ja=`${Ca}.#.live_provider`,ei=`${Ca}.#.dependencies.cameras`,ti=`${Ca}.#.dependencies.all_cameras`,ni=`${Ca}.#.dimensions.layout.fit`,ai=`${Ca}.#.dimensions.layout.pan.x`,ii=`${Ca}.#.dimensions.layout.pan.y`,ri=`${Ca}.#.dimensions.layout.position.x`,oi=`${Ca}.#.dimensions.layout.position.y`,si=`${Ca}.#.dimensions.layout.view_box.top`,ci=`${Ca}.#.dimensions.layout.view_box.bottom`,li=`${Ca}.#.dimensions.layout.view_box.left`,di=`${Ca}.#.dimensions.layout.view_box.right`,ui=`${Ca}.#.dimensions.layout.zoom`,hi=`${Ca}.#.proxy.dynamic`,pi=`${Ca}.#.proxy.media`,mi=`${Ca}.#.proxy.ssl_ciphers`,gi=`${Ca}.#.proxy.ssl_verification`,fi=`${Ca}.#.reolink.media_resolution`,_i=`${Ca}.#.reolink.url`,vi=`${Ca}.#.triggers.motion`,yi=`${Ca}.#.triggers.occupancy`,bi=`${Ca}.#.triggers.entities`,wi=`${Ca}.#.triggers.events`,xi="cameras_global",Ci=`${xi}.image`,Mi=`${xi}.live_provider`,ki=`${xi}.jsmpeg`,Si=`${xi}.webrtc_card`,Ei=`${xi}.triggers.occupancy`,$i=`${xi}.image.refresh_seconds`,Ai=`${xi}.dimensions.layout`,zi=`${xi}.ptz`,Ii="elements",Ti="view",ji=`${Ti}.camera_select`,Oi=`${Ti}.dark_mode`,Di=`${Ti}.default`,Ri=`${Ti}.interaction_seconds`,Pi=`${Ti}.keyboard_shortcuts`,Li=`${Ti}.keyboard_shortcuts.enabled`,Ni=`${Pi}.ptz_left`,Fi=`${Pi}.ptz_right`,Vi=`${Pi}.ptz_up`,Hi=`${Pi}.ptz_down`,Bi=`${Pi}.ptz_zoom_in`,qi=`${Pi}.ptz_zoom_out`,Ui=`${Pi}.ptz_home`,Wi=`${Ti}.default_cycle_camera`,Zi=`${Ti}.default_reset`,Qi=`${Zi}.interaction_mode`,Gi=`${Zi}.every_seconds`,Yi=`${Zi}.entities`,Ki=`${Zi}.after_interaction`,Xi=`${Ti}.triggers`,Ji=`${Xi}.show_trigger_status`,er=`${Xi}.filter_selected_camera`,tr=`${Xi}.untrigger_seconds`,nr=`${Xi}.actions`,ar=`${nr}.trigger`,ir=`${nr}.untrigger`,rr=`${nr}.interaction_mode`,or="media_gallery",sr=`${or}.controls.filter.mode`,cr=`${or}.controls.thumbnails.show_details`,lr=`${or}.controls.thumbnails.show_download_control`,dr=`${or}.controls.thumbnails.show_favorite_control`,ur=`${or}.controls.thumbnails.show_timeline_control`,hr=`${or}.controls.thumbnails.size`,pr="media_viewer",mr=`${pr}.auto_play`,gr=`${pr}.auto_pause`,fr=`${pr}.auto_mute`,_r=`${pr}.auto_unmute`,vr=`${pr}.display.mode`,yr=`${pr}.display.grid_columns`,br=`${pr}.display.grid_max_columns`,wr=`${pr}.display.grid_selected_width_factor`,xr=`${pr}.draggable`,Cr=`${pr}.lazy_load`,Mr=`${pr}.snapshot_click_plays_clip`,kr=`${pr}.transition_effect`,Sr=`${pr}.controls.builtin`,Er=`${pr}.controls.next_previous.style`,$r=`${pr}.controls.next_previous.size`,Ar=`${pr}.controls.thumbnails.mode`,zr=`${pr}.controls.thumbnails.show_details`,Ir=`${pr}.controls.thumbnails.show_download_control`,Tr=`${pr}.controls.thumbnails.show_favorite_control`,jr=`${pr}.controls.thumbnails.show_timeline_control`,Or=`${pr}.controls.thumbnails.size`,Dr=`${pr}.controls.timeline.clustering_threshold`,Rr=`${pr}.controls.timeline.events_media_type`,Pr=`${pr}.controls.timeline.mode`,Lr=`${pr}.controls.timeline.pan_mode`,Nr=`${pr}.controls.timeline.show_recordings`,Fr=`${pr}.controls.timeline.style`,Vr=`${pr}.controls.timeline.window_seconds`,Hr=`${pr}.zoomable`,Br="live",qr=`${Br}.auto_play`,Ur=`${Br}.auto_pause`,Wr=`${Br}.auto_mute`,Zr=`${Br}.auto_unmute`,Qr=`${Br}.controls.builtin`,Gr=`${Br}.controls.next_previous.style`,Yr=`${Br}.controls.next_previous.size`,Kr=`${Br}.controls.ptz.hide_home`,Xr=`${Br}.controls.ptz.hide_pan_tilt`,Jr=`${Br}.controls.ptz.hide_zoom`,eo=`${Br}.controls.ptz.mode`,to=`${Br}.controls.ptz.orientation`,no=`${Br}.controls.ptz.position`,ao=`${Br}.controls.thumbnails.media_type`,io=`${Br}.controls.thumbnails.events_media_type`,ro=`${Br}.controls.thumbnails.mode`,oo=`${Br}.controls.thumbnails.size`,so=`${Br}.controls.thumbnails.show_details`,co=`${Br}.controls.thumbnails.show_download_control`,lo=`${Br}.controls.thumbnails.show_favorite_control`,uo=`${Br}.controls.thumbnails.show_timeline_control`,ho=`${Br}.controls.timeline.clustering_threshold`,po=`${Br}.controls.timeline.events_media_type`,mo=`${Br}.controls.timeline.mode`,go=`${Br}.controls.timeline.pan_mode`,fo=`${Br}.controls.timeline.show_recordings`,_o=`${Br}.controls.timeline.style`,vo=`${Br}.controls.timeline.window_seconds`,yo=`${Br}.display.mode`,bo=`${Br}.display.grid_columns`,wo=`${Br}.display.grid_max_columns`,xo=`${Br}.display.grid_selected_width_factor`,Co=`${Br}.draggable`,Mo=`${Br}.lazy_load`,ko=`${Br}.lazy_unload`,So=`${Br}.preload`,Eo=`${Br}.transition_effect`,$o=`${Br}.show_image_during_load`,Ao=`${Br}.microphone.disconnect_seconds`,zo=`${Br}.microphone.mute_after_microphone_mute_seconds`,Io=`${Br}.microphone.always_connected`,To=`${Br}.zoomable`,jo="image",Oo=`${jo}.entity`,Do=`${jo}.entity_parameters`,Ro=`${jo}.mode`,Po=`${jo}.refresh_seconds`,Lo=`${jo}.url`,No="timeline",Fo=`${No}.window_seconds`,Vo=`${No}.clustering_threshold`,Ho=`${No}.events_media_type`,Bo=`${No}.show_recordings`,qo=`${No}.style`,Uo=`${No}.controls.thumbnails.mode`,Wo=`${No}.controls.thumbnails.size`,Zo=`${No}.controls.thumbnails.show_details`,Qo=`${No}.controls.thumbnails.show_download_control`,Go=`${No}.controls.thumbnails.show_favorite_control`,Yo=`${No}.controls.thumbnails.show_timeline_control`,Ko="menu",Xo=`${Ko}.alignment`,Jo=`${Ko}.position`,es=`${Ko}.style`,ts=`${Ko}.button_size`,ns=`${Ko}.buttons`,as=`${ns}.frigate`,is=`${ns}.camera_ui`,rs=`${ns}.fullscreen`,os=`${ns}.play`,ss=`${ns}.mute`,cs=`${ns}.media_player`,ls=`${ns}.timeline`,ds="status_bar",us=`${ds}.position`,hs=`${ds}.style`,ps=`${ds}.popup_seconds`,ms=`${ds}.height`,gs=`${ds}.items`,fs="dimensions",_s=`${fs}.aspect_ratio`,vs=`${fs}.aspect_ratio_mode`,ys=`${fs}.height`,bs="overrides",ws="performance",xs=`${ws}.features.animated_progress_indicator`,Cs=`${ws}.features.media_chunk_size`,Ms=`${ws}.features.max_simultaneous_engine_requests`,ks=`${ws}.profile`,Ss=`${ws}.style.box_shadow`,Es=`${ws}.style.border_radius`,$s="profiles",As=1e3;class zs extends Error{constructor(e,t){super(e),this.context=t}}const Is={info:10,error:20,connection:30,diagnostics:40},Ts=["clips","favorite-events","favorite-recordings","live","menu","ptz","recordings","seek","snapshots","substream"],js=ba.object({url:ba.string(),mime_type:ba.string()}),Os=ba.object({path:ba.string()});function Ds(e){if(e instanceof ba.ZodDefault)return Ds(e.removeDefault());if(e instanceof ba.ZodObject){const t={};for(const n in e.shape){const a=e.shape[n];t[n]=ba.ZodOptional.create(Ds(a))}return new ba.ZodObject({...e._def,shape:()=>t})}return e instanceof ba.ZodArray?ba.ZodArray.create(Ds(e.element)).min(e._def.minLength?.value,e._def.minLength?.message).max(e._def.maxLength?.value,e._def.maxLength?.message).length(e._def.exactLength?.value,e._def.exactLength?.message):e instanceof ba.ZodOptional?ba.ZodOptional.create(Ds(e.unwrap())):e instanceof ba.ZodNullable?ba.ZodNullable.create(Ds(e.unwrap())):e instanceof ba.ZodTuple?ba.ZodTuple.create(e.items.map((e=>Ds(e)))):e}function Rs(e){const t=e.format();return Object.keys(t).filter((e=>!e.startsWith("_")))}const Ps=e=>{const t=new Set;if(e.issues.length)for(const n of e.issues)if("invalid_union"===n.code){const e=n.unionErrors;for(const n of e)Ps(n).forEach(t.add,t)}else t.add(Ls(n.path));return t},Ls=e=>{let t="";for(let n=0;n"fire-dom-event")).or(ba.literal("fire-dom-event")),card_id:ba.string().regex(tc,"card_id parameter can only contain [a-z][A-Z][0-9_]-").optional()}),_c=fc.extend({frigate_card_action:ba.enum(Zs)}),vc=fc.extend({frigate_card_action:ba.enum(["camera_ui","default","download","expand","fullscreen","live_substream_off","live_substream_on","menu_toggle","microphone_connect","microphone_disconnect","microphone_mute","microphone_unmute","mute","pause","play","screenshot","unmute"])}),yc=fc.extend({frigate_card_action:ba.literal("camera_select"),camera:ba.string().optional(),triggered:ba.boolean().optional()}),bc=fc.extend({frigate_card_action:ba.literal("live_substream_select"),camera:ba.string()}),wc=fc.extend({frigate_card_action:ba.literal("media_player"),media_player:ba.string(),media_player_action:ba.enum(["play","stop"])}),xc=fc.extend({frigate_card_action:ba.literal("display_mode_select"),display_mode:ic}),Cc=fc.extend({frigate_card_action:ba.literal("ptz"),camera:ba.string().optional(),ptz_action:ba.enum(Hs).optional(),ptz_phase:ba.enum(Js).optional(),ptz_preset:ba.string().optional()}),Mc=fc.extend({frigate_card_action:ba.literal("ptz_digital"),target_id:ba.string().optional(),absolute:ba.object({zoom:ac.optional(),pan:nc.optional()}).optional(),ptz_action:ba.enum(Hs).optional(),ptz_phase:ba.enum(Js).optional()}),kc=fc.extend({frigate_card_action:ba.literal("ptz_multi"),target_id:ba.string().optional(),ptz_action:ba.enum(Hs).optional(),ptz_phase:ba.enum(Js).optional(),ptz_preset:ba.string().optional()}),Sc=fc.extend({frigate_card_action:ba.literal("ptz_controls"),enabled:ba.boolean()}),Ec=ba.object({ms:ba.number().optional(),s:ba.number().optional(),m:ba.number().optional(),h:ba.number().optional()}),$c=fc.extend({frigate_card_action:ba.literal("sleep"),duration:Ec.optional().default({s:1})}),Ac=fc.extend({frigate_card_action:ba.literal("status_bar"),status_bar_action:ba.enum(["add","remove","reset"]),items:ba.lazy((()=>ol)).array().optional()}),zc=fc.extend({frigate_card_action:ba.literal("log"),message:ba.string(),level:ba.enum(["debug","info","warn","error"]).default("info")}),Ic=ba.union([yc,vc,bc,zc,wc,Cc,Mc,kc,Sc,_c,xc,$c,Ac]),Tc=ba.union([sc,dc,lc,uc,hc,pc,gc,mc,Ic]),jc=ba.object({tap_action:Tc.or(Tc.array()).optional(),hold_action:Tc.or(Tc.array()).optional(),double_tap_action:Tc.or(Tc.array()).optional(),start_tap_action:Tc.or(Tc.array()).optional(),end_tap_action:Tc.or(Tc.array()).optional()}).passthrough(),Oc=ba.object({actions:jc.optional()}),Dc=jc.extend({style:ba.record(ba.string().nullable().or(ba.undefined()).or(ba.number())).optional(),title:ba.string().nullable().optional()}),Rc=Dc.extend({type:ba.literal("state-badge"),entity:ba.string()}),Pc=Dc.extend({type:ba.literal("state-icon"),entity:ba.string(),icon:ba.string().optional(),state_color:ba.boolean().default(!0)}),Lc=Dc.extend({type:ba.literal("state-label"),entity:ba.string(),attribute:ba.string().optional(),prefix:ba.string().optional(),suffix:ba.string().optional()}),Nc=Dc.extend({type:ba.literal("service-button"),title:ba.string(),service:ba.string(),service_data:ba.object({}).passthrough().optional()}),Fc=Dc.extend({type:ba.literal("icon"),icon:ba.string(),entity:ba.string().optional()}),Vc=Dc.extend({type:ba.literal("image"),entity:ba.string().optional(),image:ba.string().optional(),camera_image:ba.string().optional(),camera_view:ba.string().optional(),state_image:ba.object({}).passthrough().optional(),filter:ba.string().optional(),state_filter:ba.object({}).passthrough().optional(),aspect_ratio:ba.string().optional()}),Hc=ba.object({condition:ba.literal("state").optional(),entity:ba.string(),state:ba.string().or(ba.string().array()).optional(),state_not:ba.string().or(ba.string().array()).optional()}),Bc=ba.object({condition:ba.literal("numeric_state"),entity:ba.string(),above:ba.number().optional(),below:ba.number().optional()}),qc=ba.object({condition:ba.literal("screen"),media_query:ba.string()}),Uc=ba.object({condition:ba.literal("user"),users:ba.string().array().min(1)}),Wc=ba.discriminatedUnion("condition",[Hc,Bc,qc,Uc]),Zc=ba.object({type:ba.literal("conditional"),conditions:Wc.array(),elements:ba.lazy((()=>yl))}),Qc=ba.object({type:ba.string().superRefine(((e,t)=>{e.match(/^custom:(?!frigate-card).+/)||t.addIssue({code:ba.ZodIssueCode.custom,message:"Frigate-card custom elements must match specific schemas",fatal:!0})}))}).passthrough(),Gc=ba.object({enabled:ba.boolean().default(!0).optional(),priority:ba.number().min(0).max(Us).default(50).optional(),alignment:ba.enum(["matching","opposing"]).default("matching").optional(),icon:ba.string().optional(),permanent:ba.boolean().default(!1).optional()}),Yc=Gc.merge(Fc).extend({type:ba.literal("custom:frigate-card-menu-icon")}),Kc=Gc.merge(Pc).extend({type:ba.literal("custom:frigate-card-menu-state-icon")}).merge(Gc),Xc=Dc.extend({entity:ba.string().optional(),icon:ba.string().optional(),state_color:ba.boolean().default(!0),selected:ba.boolean().default(!1),subtitle:ba.string().optional(),enabled:ba.boolean().default(!0)}),Jc=Gc.merge(Fc).extend({type:ba.literal("custom:frigate-card-menu-submenu"),items:Xc.array()}),el=Gc.merge(Pc).extend({type:ba.literal("custom:frigate-card-menu-submenu-select"),options:ba.record(Xc.deepPartial()).optional()}),tl=ba.object({enabled:ba.boolean().default(!0).optional(),priority:ba.number().min(0).max(100).default(50).optional()}),nl=tl.extend({sufficient:ba.boolean().default(!1).optional(),exclusive:ba.boolean().default(!1).optional(),expand:ba.boolean().default(!1).optional(),actions:jc.optional()}),al=nl.extend({type:ba.literal("custom:frigate-card-status-bar-icon"),icon:ba.string()}),il=nl.extend({type:ba.literal("custom:frigate-card-status-bar-image"),image:ba.string()}),rl=nl.extend({type:ba.literal("custom:frigate-card-status-bar-string"),string:ba.string()}),ol=ba.union([al,il,rl]),sl=ba.object({condition:ba.literal("view"),views:ba.string().array()}),cl=ba.object({condition:ba.literal("fullscreen"),fullscreen:ba.boolean()}),ll=ba.object({condition:ba.literal("expand"),expand:ba.boolean()}),dl=ba.object({condition:ba.literal("camera"),cameras:ba.string().array()}),ul=ba.object({condition:ba.literal("media_loaded"),media_loaded:ba.boolean()}),hl=ba.object({condition:ba.literal("display_mode"),display_mode:ic}),pl=ba.object({condition:ba.literal("triggered"),triggered:ba.string().array()}),ml=ba.object({condition:ba.literal("interaction"),interaction:ba.boolean()}),gl=ba.object({condition:ba.literal("microphone"),connected:ba.boolean().optional(),muted:ba.boolean().optional()}),fl=ba.object({condition:ba.literal("key"),key:ba.string(),state:ba.enum(["down","up"]).optional(),ctrl:ba.boolean().optional(),shift:ba.boolean().optional(),alt:ba.boolean().optional(),meta:ba.boolean().optional()}),_l=ba.discriminatedUnion("condition",[Hc,Bc,qc,Uc,sl,cl,ll,dl,ul,hl,pl,ml,gl,fl]),vl=ba.object({type:ba.literal("custom:frigate-card-conditional"),conditions:_l.array(),elements:ba.lazy((()=>yl))}),yl=ba.union([Zc,Qc,vl,Fc,Vc,Yc,Kc,Jc,el,Nc,Rc,Pc,Lc,al,il,rl]).array().optional(),bl=ba.object({fit:ba.enum(["contain","cover","fill"]).optional(),position:ba.object({x:ba.number().min(0).max(100).optional(),y:ba.number().min(0).max(100).optional()}).optional(),view_box:ba.object({bottom:ba.number().min(0).max(100).optional().default(0),left:ba.number().min(0).max(100).optional().default(0),right:ba.number().min(0).max(100).optional().default(0),top:ba.number().min(0).max(100).optional().default(0)}).optional(),pan:nc.optional(),zoom:ac.optional()}),wl=ba.number().array().length(2).or(ba.string().regex(/^\s*\d+\.?\d*\s*[:/]\s*\d+\.?\d*\s*$/).transform((e=>e.split(/[:\/]/).map((e=>Number(e)))))),xl={r2c_delay_between_calls_seconds:.5,c2r_delay_between_calls_seconds:.2},Cl=function(e){return t=>{if(!t||"object"!=typeof t||!t.service)return t;const n={...t};return Object.keys(t).forEach((a=>{const i=a.match(/^data_(.+)$/),r=i?.[1];r&&!(`${e}${r}`in t)&&(n[`${e}${r}`]={action:"perform-action",perform_action:t.service,data:t[a]},delete n[a],delete n.service)})),n}},Ml=ba.preprocess(Cl("actions_"),ba.object({actions_left:lc.optional(),actions_left_start:lc.optional(),actions_left_stop:lc.optional(),actions_right:lc.optional(),actions_right_start:lc.optional(),actions_right_stop:lc.optional(),actions_up:lc.optional(),actions_up_start:lc.optional(),actions_up_stop:lc.optional(),actions_down:lc.optional(),actions_down_start:lc.optional(),actions_down_stop:lc.optional(),actions_zoom_in:lc.optional(),actions_zoom_in_start:lc.optional(),actions_zoom_in_stop:lc.optional(),actions_zoom_out:lc.optional(),actions_zoom_out_start:lc.optional(),actions_zoom_out_stop:lc.optional(),r2c_delay_between_calls_seconds:ba.number().default(xl.r2c_delay_between_calls_seconds),c2r_delay_between_calls_seconds:ba.number().default(xl.c2r_delay_between_calls_seconds),presets:ba.preprocess(Cl(""),ba.union([ba.record(lc),ba.object({service:ba.string().optional()})])).optional(),service:ba.string().optional()}).passthrough()),kl={orientation:"horizontal",mode:"auto",hide_pan_tilt:!1,hide_zoom:!1,hide_home:!1,position:"bottom-right"},Sl=ba.object({mode:ba.enum(["off","auto","on"]).default(kl.mode),position:ba.enum(["top-left","top-right","bottom-left","bottom-right"]).default(kl.position),orientation:ba.enum(["vertical","horizontal"]).default(kl.orientation),hide_pan_tilt:ba.boolean().default(kl.hide_pan_tilt),hide_zoom:ba.boolean().default(kl.hide_zoom),hide_home:ba.boolean().default(kl.hide_home),style:ba.object({}).passthrough().optional()}),El={mode:"auto",refresh_seconds:1},$l=ba.object({mode:ba.enum(["auto","camera","entity","screensaver","url"]).default(El.mode),refresh_seconds:ba.number().min(0).default(El.refresh_seconds),url:ba.string().optional(),entity:ba.string().optional(),entity_parameters:ba.string().optional()}),Al=$l.merge(Oc).default(El),zl=75,Il=300,Tl={size:100,show_details:!0,show_favorite_control:!0,show_timeline_control:!0,show_download_control:!0},jl=ba.object({size:ba.number().min(75).max(300).default(Tl.size),show_details:ba.boolean().default(Tl.show_details),show_favorite_control:ba.boolean().default(Tl.show_favorite_control),show_timeline_control:ba.boolean().default(Tl.show_timeline_control),show_download_control:ba.boolean().default(Tl.show_download_control)}),Ol={...Tl,mode:"right"},Dl=jl.extend({mode:ba.enum(["none","above","below","left","right"]).default(Ol.mode)}),Rl=ba.enum(["all","clips","snapshots"]),Pl={clustering_threshold:3,events_media_type:"all",window_seconds:3600,show_recordings:!0,style:"stack",pan_mode:"pan"},Ll=ba.enum(["pan","seek","seek-in-media","seek-in-camera"]),Nl=ba.object({clustering_threshold:ba.number().optional().default(Pl.clustering_threshold),events_media_type:Rl.optional().default(Pl.events_media_type),window_seconds:ba.number().min(60).max(86400).optional().default(Pl.window_seconds),show_recordings:ba.boolean().optional().default(Pl.show_recordings),style:ba.enum(["stack","ribbon"]).optional().default(Pl.style),pan_mode:Ll.optional().default(Pl.pan_mode)}),Fl={...Pl,mode:"none",style:"ribbon"},Vl=Nl.extend({mode:ba.enum(["none","above","below"]).default(Fl.mode),style:Nl.shape.style.default(Fl.style)}),Hl={...Pl,controls:{thumbnails:Ol}},Bl=Nl.extend({controls:ba.object({thumbnails:Dl.default(Hl.controls.thumbnails)}).default(Hl.controls)}).default(Hl),ql=ba.object({style:ba.enum(["none","chevrons","icons","thumbnails"]),size:ba.number().min(20)}),Ul=ba.enum(["none","slide"]),Wl={always_connected:!1,disconnect_seconds:90,mute_after_microphone_mute_seconds:60},Zl=ba.object({always_connected:ba.boolean().default(Wl.always_connected),disconnect_seconds:ba.number().min(0).default(Wl.disconnect_seconds),mute_after_microphone_mute_seconds:ba.number().min(0).default(Wl.mute_after_microphone_mute_seconds)}).default(Wl),Ql=ba.object({url:ba.string().transform((e=>e.replace(/\/+$/,""))).optional(),host:ba.string().optional(),modes:ba.enum(["webrtc","mse","mp4","mjpeg"]).array().optional(),stream:ba.string().optional()}),Gl=ba.object({entity:ba.string().optional(),url:ba.string().optional()}).passthrough(),Yl=ba.object({options:ba.object({audio:ba.boolean().optional(),video:ba.boolean().optional(),pauseWhenHidden:ba.boolean().optional(),disableGl:ba.boolean().optional(),disableWebAssembly:ba.boolean().optional(),preserveDrawingBuffer:ba.boolean().optional(),progressive:ba.boolean().optional(),throttled:ba.boolean().optional(),chunkSize:ba.number().optional(),maxAudioLag:ba.number().optional(),videoBufferSize:ba.number().optional(),audioBufferSize:ba.number().optional()}).optional()}),Kl={...Ol,media_type:"events",events_media_type:"all"},Xl={auto_play:[...Ys],auto_pause:[],auto_mute:[...Xs],auto_unmute:["microphone"],preload:!1,lazy_load:!0,lazy_unload:[],draggable:!0,zoomable:!0,transition_effect:"slide",show_image_during_load:!0,mode:"single",controls:{builtin:!0,next_previous:{size:48,style:"chevrons"},ptz:kl,thumbnails:Kl,timeline:Fl},microphone:{...Wl}},Jl=Dl.extend({media_type:ba.enum(["events","recordings"]).default(Xl.controls.thumbnails.media_type),events_media_type:Rl.default(Xl.controls.thumbnails.events_media_type)}),ed=ba.object({auto_pause:ba.enum(Gs).array().default(Xl.auto_pause),auto_play:ba.enum(Ys).array().default(Xl.auto_play),auto_mute:ba.enum(Xs).array().default(Xl.auto_mute),auto_unmute:ba.enum(Ks).array().default(Xl.auto_unmute),controls:ba.object({builtin:ba.boolean().default(Xl.controls.builtin),next_previous:ql.extend({style:ba.enum(["none","chevrons","icons"]).default(Xl.controls.next_previous.style),size:ql.shape.size.default(Xl.controls.next_previous.size)}).default(Xl.controls.next_previous),ptz:Sl.default(Xl.controls.ptz),thumbnails:Jl.default(Xl.controls.thumbnails),timeline:Vl.default(Xl.controls.timeline)}).default(Xl.controls),display:rc,draggable:ba.boolean().default(Xl.draggable),lazy_load:ba.boolean().default(Xl.lazy_load),lazy_unload:ba.enum(Gs).array().default(Xl.lazy_unload),microphone:Zl.default(Xl.microphone),preload:ba.boolean().default(Xl.preload),show_image_during_load:ba.boolean().default(Xl.show_image_during_load),transition_effect:Ul.default(Xl.transition_effect),zoomable:ba.boolean().default(Xl.zoomable)}).merge(Oc).default(Xl),td=ba.object({live:ed}),nd=ba.object({method:ba.enum(["standard","dashboard"]).default("standard").optional(),dashboard:ba.object({dashboard_path:ba.string().optional(),view_path:ba.string().optional()}).optional()}),ad={dependencies:{all_cameras:!1,cameras:[]},engine:"auto",frigate:{client_id:"frigate"},live_provider:"auto",motioneye:{images:{directory_pattern:"%Y-%m-%d",file_pattern:"%H-%M-%S"},movies:{directory_pattern:"%Y-%m-%d",file_pattern:"%H-%M-%S"}},reolink:{media_resolution:"low"},ptz:xl,triggers:{motion:!1,occupancy:!1,events:[...ec],entities:[]},proxy:{media:"auto",dynamic:!0,ssl_verification:"auto",ssl_ciphers:"auto"}},id=ba.object({media:ba.boolean().or(ba.literal("auto")).default(ad.proxy.media),dynamic:ba.boolean().default(ad.proxy.dynamic),ssl_verification:ba.boolean().or(ba.literal("auto")).default(ad.proxy.ssl_verification),ssl_ciphers:ba.enum(["default","insecure","intermediate","modern"]).or(ba.literal("auto")).default(ad.proxy.ssl_ciphers)}),rd=ba.object({camera_entity:ba.string().optional(),icon:ba.string().optional(),title:ba.string().optional(),capabilities:ba.object({disable:ba.enum(Ts).array().optional(),disable_except:ba.enum(Ts).array().optional()}).optional(),id:ba.string().optional(),dependencies:ba.object({all_cameras:ba.boolean().default(ad.dependencies.all_cameras),cameras:ba.string().array().default(ad.dependencies.cameras)}).default(ad.dependencies),triggers:ba.object({motion:ba.boolean().default(ad.triggers.motion),occupancy:ba.boolean().default(ad.triggers.occupancy),entities:ba.string().array().default(ad.triggers.entities),events:ba.enum(ec).array().default(ad.triggers.events)}).default(ad.triggers),engine:ba.enum(["auto","frigate","generic","motioneye","reolink"]).default("auto"),frigate:ba.object({url:ba.string().optional(),client_id:ba.string().default(ad.frigate.client_id),camera_name:ba.string().optional(),labels:ba.string().array().optional(),zones:ba.string().array().optional()}).default(ad.frigate),motioneye:ba.object({url:ba.string().optional(),images:ba.object({directory_pattern:ba.string().includes("%").default(ad.motioneye.images.directory_pattern),file_pattern:ba.string().includes("%").default(ad.motioneye.images.file_pattern)}).default(ad.motioneye.images),movies:ba.object({directory_pattern:ba.string().includes("%").default(ad.motioneye.movies.directory_pattern),file_pattern:ba.string().includes("%").default(ad.motioneye.movies.file_pattern)}).default(ad.motioneye.movies)}).default(ad.motioneye),reolink:ba.object({url:ba.string().optional(),media_resolution:ba.enum(["high","low"]).default(ad.reolink.media_resolution)}).default(ad.reolink),live_provider:ba.enum(["auto","image","ha","jsmpeg","go2rtc","webrtc-card"]).default(ad.live_provider),go2rtc:Ql.optional(),image:$l.optional().default(El),jsmpeg:Yl.optional(),webrtc_card:Gl.optional(),cast:nd.optional(),ptz:Ml.default(ad.ptz),dimensions:ba.object({aspect_ratio:wl.optional(),layout:bl.optional()}).optional(),proxy:id.default(ad.proxy)}).default(ad),od=rd.array().min(1),sd={default:Qs,camera_select:"current",interaction_seconds:300,default_reset:{every_seconds:0,after_interaction:!1,entities:[],interaction_mode:"inactive"},default_cycle_camera:!1,dark_mode:"off",triggers:{show_trigger_status:!1,filter_selected_camera:!0,actions:{trigger:"update",untrigger:"none"},untrigger_seconds:0},keyboard_shortcuts:Fs},cd=ba.enum(["all","inactive","active"]).default("inactive"),ld=ba.object({actions:ba.object({interaction_mode:cd,trigger:ba.enum(["default","live","media","none","update"]).default(sd.triggers.actions.trigger),untrigger:ba.enum(["default","none"]).default(sd.triggers.actions.untrigger)}).default(sd.triggers.actions),filter_selected_camera:ba.boolean().default(sd.triggers.filter_selected_camera),show_trigger_status:ba.boolean().default(sd.triggers.show_trigger_status),untrigger_seconds:ba.number().default(sd.triggers.untrigger_seconds)}),dd=ba.object({default:ba.enum(Zs).default(sd.default),camera_select:ba.enum([...Zs,"current"]).default(sd.camera_select),interaction_seconds:ba.number().default(sd.interaction_seconds),default_cycle_camera:ba.boolean().default(sd.default_cycle_camera),default_reset:ba.object({after_interaction:ba.boolean().default(sd.default_reset.after_interaction),every_seconds:ba.number().default(sd.default_reset.every_seconds),entities:ba.string().array().default(sd.default_reset.entities),interaction_mode:cd.default(sd.default_reset.interaction_mode)}).default(sd.default_reset),render_entities:ba.string().array().optional(),dark_mode:ba.enum(["on","off","auto"]).optional(),triggers:ld.default(sd.triggers),keyboard_shortcuts:Vs.default(sd.keyboard_shortcuts)}).merge(Oc).default(sd),ud=["left","right","top","bottom"],hd=ud,pd={priority:50,enabled:!0},md={priority:50,enabled:!1},gd={alignment:"left",button_size:40,buttons:{camera_ui:pd,cameras:pd,clips:pd,ptz_home:md,display_mode:pd,download:pd,expand:md,frigate:pd,fullscreen:pd,image:md,live:pd,media_player:pd,microphone:{...md,type:"momentary"},mute:md,play:md,ptz_controls:md,recordings:md,screenshot:md,snapshots:pd,substreams:pd,timeline:pd},position:"top",style:"hidden"},fd=Gc.extend({enabled:Gc.shape.enabled.default(pd.enabled),priority:Gc.shape.priority.default(pd.priority)}),_d=Gc.extend({enabled:Gc.shape.enabled.default(md.enabled),priority:Gc.shape.priority.default(md.priority)}),vd=ba.object({style:ba.enum(["none","hidden","overlay","hover","hover-card","outside"]).default(gd.style),position:ba.enum(ud).default(gd.position),alignment:ba.enum(hd).default(gd.alignment),buttons:ba.object({camera_ui:fd.default(gd.buttons.camera_ui),cameras:fd.default(gd.buttons.cameras),clips:fd.default(gd.buttons.clips),ptz_home:_d.default(gd.buttons.ptz_home),display_mode:fd.default(gd.buttons.display_mode),download:fd.default(gd.buttons.download),expand:_d.default(gd.buttons.expand),frigate:fd.default(gd.buttons.frigate),fullscreen:fd.default(gd.buttons.fullscreen),image:_d.default(gd.buttons.image),live:fd.default(gd.buttons.live),media_player:fd.default(gd.buttons.media_player),microphone:_d.extend({type:ba.enum(["momentary","toggle"]).default(gd.buttons.microphone.type)}).default(gd.buttons.microphone),mute:_d.default(gd.buttons.mute),play:_d.default(gd.buttons.play),ptz_controls:_d.default(gd.buttons.ptz_controls),recordings:_d.default(gd.buttons.recordings),screenshot:_d.default(gd.buttons.screenshot),snapshots:fd.default(gd.buttons.snapshots),substreams:fd.default(gd.buttons.substreams),timeline:fd.default(gd.buttons.timeline)}).default(gd.buttons),button_size:ba.number().min(20).default(gd.button_size)}).default(gd),yd={priority:50,enabled:!0},bd={height:46,items:{engine:yd,resolution:yd,technology:yd,title:yd},position:"bottom",style:"popup",popup_seconds:3},wd=ba.object({position:ba.enum(["top","bottom"]).default(bd.position),style:ba.enum(["none","overlay","hover","hover-card","outside","popup"]).default(bd.style),popup_seconds:ba.number().min(0).max(60).default(bd.popup_seconds),height:ba.number().min(20).default(bd.height),items:ba.object({engine:tl.default(bd.items.engine),technology:tl.default(bd.items.technology),resolution:tl.default(bd.items.resolution),title:tl.default(bd.items.title)}).default(bd.items)}).default(bd),xd={auto_play:[...Ys],auto_pause:[...Gs],auto_mute:[...Gs],auto_unmute:[],lazy_load:!0,draggable:!0,zoomable:!0,transition_effect:"slide",snapshot_click_plays_clip:!0,display_mode:"single",controls:{builtin:!0,next_previous:{size:48,style:"thumbnails"},thumbnails:Ol,timeline:Fl,ptz:{...kl,mode:"off"}}},Cd=ql.extend({style:ba.enum(["none","thumbnails","chevrons"]).default(xd.controls.next_previous.style),size:ql.shape.size.default(xd.controls.next_previous.size)}),Md=ba.object({auto_play:ba.enum(Ys).array().default(xd.auto_play),auto_pause:ba.enum(Gs).array().default(xd.auto_pause),auto_mute:ba.enum(Gs).array().default(xd.auto_mute),auto_unmute:ba.enum(Ys).array().default(xd.auto_unmute),lazy_load:ba.boolean().default(xd.lazy_load),draggable:ba.boolean().default(xd.draggable),zoomable:ba.boolean().default(xd.zoomable),transition_effect:Ul.default(xd.transition_effect),snapshot_click_plays_clip:ba.boolean().default(xd.snapshot_click_plays_clip),display:rc,controls:ba.object({builtin:ba.boolean().default(xd.controls.builtin),next_previous:Cd.default(xd.controls.next_previous),ptz:Sl.extend({mode:ba.enum(["off","on"]).default(xd.controls.ptz.mode)}).default(xd.controls.ptz),thumbnails:Dl.default(xd.controls.thumbnails),timeline:Vl.default(xd.controls.timeline)}).default(xd.controls)}).merge(Oc).default(xd),kd={...Ol,show_details:!1},Sd={controls:{thumbnails:kd,filter:{mode:"right"}}},Ed=Dl.extend({show_details:ba.boolean().default(kd.show_details)}),$d=ba.object({controls:ba.object({thumbnails:Ed.default(Sd.controls.thumbnails),filter:ba.object({mode:ba.enum(["none","left","right"]).default(Sd.controls.filter.mode)}).default(Sd.controls.filter)}).default(Sd.controls)}).merge(Oc).default(Sd),Ad={aspect_ratio_mode:"dynamic",aspect_ratio:[16,9],height:"auto"},zd=ba.object({aspect_ratio_mode:ba.enum(["dynamic","static","unconstrained"]).default(Ad.aspect_ratio_mode),aspect_ratio:wl.default(Ad.aspect_ratio),height:ba.string().default(Ad.height)}).default(Ad),Id=ba.object({conditions:_l.array(),merge:ba.object({}).passthrough().optional(),set:ba.object({}).passthrough().optional(),delete:ba.string().array().optional()}).array().optional(),Td=Tc.array(),jd=ba.object({conditions:_l.array(),actions:Td.optional(),actions_not:Td.optional()}).refine((e=>e.actions?.length||e.actions_not?.length),"Automations must include at least one action").array(),Od={features:{animated_progress_indicator:!0,media_chunk_size:50},style:{border_radius:!0,box_shadow:!0}},Dd=ba.object({features:ba.object({animated_progress_indicator:ba.boolean().default(Od.features.animated_progress_indicator),media_chunk_size:ba.number().min(0).max(1e3).default(Od.features.media_chunk_size),max_simultaneous_engine_requests:ba.number().min(1).optional()}).default(Od.features),style:ba.object({border_radius:ba.boolean().default(Od.style.border_radius),box_shadow:ba.boolean().default(Od.style.box_shadow)}).default(Od.style)}).default(Od),Rd={logging:!1},Pd=ba.object({logging:ba.boolean().default(Rd.logging)}).default(Rd),Ld=ba.enum(["casting","low-performance","scrubbing"]).array().optional(),Nd=ba.object({cameras:Ds(od),cameras_global:rd,view:dd,menu:vd,status_bar:wd,live:ed,media_gallery:$d,media_viewer:Md,image:Al,elements:yl,dimensions:zd,timeline:Bl,performance:Dd,debug:Pd,automations:jd.optional(),profiles:Ld,overrides:Id,card_mod:ba.unknown(),card_id:ba.string().regex(tc).optional(),type:ba.string()}),Fd={cameras:ad,view:sd,menu:gd,status_bar:bd,live:Xl,media_gallery:Sd,media_viewer:xd,image:El,timeline:Hl,performance:Od,debug:Rd};function Vd(e){const t=Object.prototype.toString.call(e);return e instanceof Date||"object"==typeof e&&"[object Date]"===t?new e.constructor(+e):"number"==typeof e||"[object Number]"===t||"string"==typeof e||"[object String]"===t?new Date(e):new Date(NaN)}function Hd(e,t){return e instanceof Date?new e.constructor(t):new Date(t)}function Bd(e,t){const n=Vd(e);return isNaN(t)?Hd(e,NaN):t?(n.setDate(n.getDate()+t),n):n}function qd(e,t){const n=Vd(e);if(isNaN(t))return Hd(e,NaN);if(!t)return n;const a=n.getDate(),i=Hd(e,n.getTime());i.setMonth(n.getMonth()+t+1,0);return a>=i.getDate()?i:(n.setFullYear(i.getFullYear(),i.getMonth(),a),n)}function Ud(e,t){const{years:n=0,months:a=0,weeks:i=0,days:r=0,hours:o=0,minutes:s=0,seconds:c=0}=t,l=Vd(e),d=a||n?qd(l,a+12*n):l,u=1e3*(c+60*(s+60*o));return Hd(e,(r||i?Bd(d,r+7*i):d).getTime()+u)}const Wd=6048e5,Zd=864e5,Qd=6e4,Gd=36e5,Yd=1e3;let Kd={};function Xd(){return Kd}function Jd(e,t){const n=Xd(),a=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=Vd(e),r=i.getDay(),o=(r=i.getTime()?n+1:t.getTime()>=o.getTime()?n:n-1}function nu(e){const t=Vd(e);return t.setHours(0,0,0,0),t}function au(e){const t=Vd(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function iu(e){if(!(t=e,t instanceof Date||"object"==typeof t&&"[object Date]"===Object.prototype.toString.call(t)||"number"==typeof e))return!1;var t;const n=Vd(e);return!isNaN(Number(n))}function ru(e){return t=>{const n=(e?Math[e]:Math.trunc)(t);return 0===n?0:n}}function ou(e,t){return+Vd(e)-+Vd(t)}function su(e,t,n){const a=ou(e,t)/1e3;return ru(n?.roundingMethod)(a)}const cu={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function lu(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const du={date:lu({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:lu({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:lu({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},uu={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function hu(e){return(t,n)=>{let a;if("formatting"===(n?.context?String(n.context):"standalone")&&e.formattingValues){const t=e.defaultFormattingWidth||e.defaultWidth,i=n?.width?String(n.width):t;a=e.formattingValues[i]||e.formattingValues[t]}else{const t=e.defaultWidth,i=n?.width?String(n.width):e.defaultWidth;a=e.values[i]||e.values[t]}return a[e.argumentCallback?e.argumentCallback(t):t]}}function pu(e){return(t,n={})=>{const a=n.width,i=a&&e.matchPatterns[a]||e.matchPatterns[e.defaultMatchWidth],r=t.match(i);if(!r)return null;const o=r[0],s=a&&e.parsePatterns[a]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(s)?function(e,t){for(let n=0;ne.test(o))):function(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n;return}(s,(e=>e.test(o)));let l;l=e.valueCallback?e.valueCallback(c):c,l=n.valueCallback?n.valueCallback(l):l;return{value:l,rest:t.slice(o.length)}}}var mu;const gu={code:"en-US",formatDistance:(e,t,n)=>{let a;const i=cu[e];return a="string"==typeof i?i:1===t?i.one:i.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+a:a+" ago":a},formatLong:du,formatRelative:(e,t,n,a)=>uu[e],localize:{ordinalNumber:(e,t)=>{const n=Number(e),a=n%100;if(a>20||a<10)switch(a%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:hu({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:hu({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:e=>e-1}),month:hu({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:hu({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:hu({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})},match:{ordinalNumber:(mu={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)},(e,t={})=>{const n=e.match(mu.matchPattern);if(!n)return null;const a=n[0],i=e.match(mu.parsePattern);if(!i)return null;let r=mu.valueCallback?mu.valueCallback(i[0]):i[0];return r=t.valueCallback?t.valueCallback(r):r,{value:r,rest:e.slice(a.length)}}),era:pu({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:pu({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:e=>e+1}),month:pu({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:pu({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:pu({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function fu(e){const t=Vd(e),n=function(e,t){const n=nu(e),a=nu(t),i=+n-au(n),r=+a-au(a);return Math.round((i-r)/Zd)}(t,function(e){const t=Vd(e),n=Hd(e,0);return n.setFullYear(t.getFullYear(),0,1),n.setHours(0,0,0,0),n}(t));return n+1}function _u(e){const t=Vd(e),n=+eu(t)-+function(e){const t=tu(e),n=Hd(e,0);return n.setFullYear(t,0,4),n.setHours(0,0,0,0),eu(n)}(t);return Math.round(n/Wd)+1}function vu(e,t){const n=Vd(e),a=n.getFullYear(),i=Xd(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,o=Hd(e,0);o.setFullYear(a+1,0,r),o.setHours(0,0,0,0);const s=Jd(o,t),c=Hd(e,0);c.setFullYear(a,0,r),c.setHours(0,0,0,0);const l=Jd(c,t);return n.getTime()>=s.getTime()?a+1:n.getTime()>=l.getTime()?a:a-1}function yu(e,t){const n=Vd(e),a=+Jd(n,t)-+function(e,t){const n=Xd(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,i=vu(e,t),r=Hd(e,0);return r.setFullYear(i,0,a),r.setHours(0,0,0,0),Jd(r,t)}(n,t);return Math.round(a/Wd)+1}function bu(e,t){return(e<0?"-":"")+Math.abs(e).toString().padStart(t,"0")}const wu={y(e,t){const n=e.getFullYear(),a=n>0?n:1-n;return bu("yy"===t?a%100:a,t.length)},M(e,t){const n=e.getMonth();return"M"===t?String(n+1):bu(n+1,2)},d:(e,t)=>bu(e.getDate(),t.length),a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];default:return"am"===n?"a.m.":"p.m."}},h:(e,t)=>bu(e.getHours()%12||12,t.length),H:(e,t)=>bu(e.getHours(),t.length),m:(e,t)=>bu(e.getMinutes(),t.length),s:(e,t)=>bu(e.getSeconds(),t.length),S(e,t){const n=t.length,a=e.getMilliseconds();return bu(Math.trunc(a*Math.pow(10,n-3)),t.length)}},xu="midnight",Cu="noon",Mu="morning",ku="afternoon",Su="evening",Eu="night",$u={G:function(e,t,n){const a=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(a,{width:"abbreviated"});case"GGGGG":return n.era(a,{width:"narrow"});default:return n.era(a,{width:"wide"})}},y:function(e,t,n){if("yo"===t){const t=e.getFullYear(),a=t>0?t:1-t;return n.ordinalNumber(a,{unit:"year"})}return wu.y(e,t)},Y:function(e,t,n,a){const i=vu(e,a),r=i>0?i:1-i;if("YY"===t){return bu(r%100,2)}return"Yo"===t?n.ordinalNumber(r,{unit:"year"}):bu(r,t.length)},R:function(e,t){return bu(tu(e),t.length)},u:function(e,t){return bu(e.getFullYear(),t.length)},Q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(a);case"QQ":return bu(a,2);case"Qo":return n.ordinalNumber(a,{unit:"quarter"});case"QQQ":return n.quarter(a,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(a,{width:"narrow",context:"formatting"});default:return n.quarter(a,{width:"wide",context:"formatting"})}},q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(a);case"qq":return bu(a,2);case"qo":return n.ordinalNumber(a,{unit:"quarter"});case"qqq":return n.quarter(a,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(a,{width:"narrow",context:"standalone"});default:return n.quarter(a,{width:"wide",context:"standalone"})}},M:function(e,t,n){const a=e.getMonth();switch(t){case"M":case"MM":return wu.M(e,t);case"Mo":return n.ordinalNumber(a+1,{unit:"month"});case"MMM":return n.month(a,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(a,{width:"narrow",context:"formatting"});default:return n.month(a,{width:"wide",context:"formatting"})}},L:function(e,t,n){const a=e.getMonth();switch(t){case"L":return String(a+1);case"LL":return bu(a+1,2);case"Lo":return n.ordinalNumber(a+1,{unit:"month"});case"LLL":return n.month(a,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(a,{width:"narrow",context:"standalone"});default:return n.month(a,{width:"wide",context:"standalone"})}},w:function(e,t,n,a){const i=yu(e,a);return"wo"===t?n.ordinalNumber(i,{unit:"week"}):bu(i,t.length)},I:function(e,t,n){const a=_u(e);return"Io"===t?n.ordinalNumber(a,{unit:"week"}):bu(a,t.length)},d:function(e,t,n){return"do"===t?n.ordinalNumber(e.getDate(),{unit:"date"}):wu.d(e,t)},D:function(e,t,n){const a=fu(e);return"Do"===t?n.ordinalNumber(a,{unit:"dayOfYear"}):bu(a,t.length)},E:function(e,t,n){const a=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(a,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(a,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},e:function(e,t,n,a){const i=e.getDay(),r=(i-a.weekStartsOn+8)%7||7;switch(t){case"e":return String(r);case"ee":return bu(r,2);case"eo":return n.ordinalNumber(r,{unit:"day"});case"eee":return n.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(i,{width:"short",context:"formatting"});default:return n.day(i,{width:"wide",context:"formatting"})}},c:function(e,t,n,a){const i=e.getDay(),r=(i-a.weekStartsOn+8)%7||7;switch(t){case"c":return String(r);case"cc":return bu(r,t.length);case"co":return n.ordinalNumber(r,{unit:"day"});case"ccc":return n.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(i,{width:"narrow",context:"standalone"});case"cccccc":return n.day(i,{width:"short",context:"standalone"});default:return n.day(i,{width:"wide",context:"standalone"})}},i:function(e,t,n){const a=e.getDay(),i=0===a?7:a;switch(t){case"i":return String(i);case"ii":return bu(i,t.length);case"io":return n.ordinalNumber(i,{unit:"day"});case"iii":return n.day(a,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(a,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},a:function(e,t,n){const a=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},b:function(e,t,n){const a=e.getHours();let i;switch(i=12===a?Cu:0===a?xu:a/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(i,{width:"narrow",context:"formatting"});default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},B:function(e,t,n){const a=e.getHours();let i;switch(i=a>=17?Su:a>=12?ku:a>=4?Mu:Eu,t){case"B":case"BB":case"BBB":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(i,{width:"narrow",context:"formatting"});default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},h:function(e,t,n){if("ho"===t){let t=e.getHours()%12;return 0===t&&(t=12),n.ordinalNumber(t,{unit:"hour"})}return wu.h(e,t)},H:function(e,t,n){return"Ho"===t?n.ordinalNumber(e.getHours(),{unit:"hour"}):wu.H(e,t)},K:function(e,t,n){const a=e.getHours()%12;return"Ko"===t?n.ordinalNumber(a,{unit:"hour"}):bu(a,t.length)},k:function(e,t,n){let a=e.getHours();return 0===a&&(a=24),"ko"===t?n.ordinalNumber(a,{unit:"hour"}):bu(a,t.length)},m:function(e,t,n){return"mo"===t?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):wu.m(e,t)},s:function(e,t,n){return"so"===t?n.ordinalNumber(e.getSeconds(),{unit:"second"}):wu.s(e,t)},S:function(e,t){return wu.S(e,t)},X:function(e,t,n){const a=e.getTimezoneOffset();if(0===a)return"Z";switch(t){case"X":return zu(a);case"XXXX":case"XX":return Iu(a);default:return Iu(a,":")}},x:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"x":return zu(a);case"xxxx":case"xx":return Iu(a);default:return Iu(a,":")}},O:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+Au(a,":");default:return"GMT"+Iu(a,":")}},z:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+Au(a,":");default:return"GMT"+Iu(a,":")}},t:function(e,t,n){return bu(Math.trunc(e.getTime()/1e3),t.length)},T:function(e,t,n){return bu(e.getTime(),t.length)}};function Au(e,t=""){const n=e>0?"-":"+",a=Math.abs(e),i=Math.trunc(a/60),r=a%60;return 0===r?n+String(i):n+String(i)+t+bu(r,2)}function zu(e,t){if(e%60==0){return(e>0?"-":"+")+bu(Math.abs(e)/60,2)}return Iu(e,t)}function Iu(e,t=""){const n=e>0?"-":"+",a=Math.abs(e);return n+bu(Math.trunc(a/60),2)+t+bu(a%60,2)}const Tu=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},ju=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},Ou={p:ju,P:(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],a=n[1],i=n[2];if(!i)return Tu(e,t);let r;switch(a){case"P":r=t.dateTime({width:"short"});break;case"PP":r=t.dateTime({width:"medium"});break;case"PPP":r=t.dateTime({width:"long"});break;default:r=t.dateTime({width:"full"})}return r.replace("{{date}}",Tu(a,t)).replace("{{time}}",ju(i,t))}},Du=/^D+$/,Ru=/^Y+$/,Pu=["D","DD","YY","YYYY"];function Lu(e){return Du.test(e)}function Nu(e){return Ru.test(e)}function Fu(e,t,n){const a=function(e,t,n){const a="Y"===e[0]?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${a} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}(e,t,n);if(console.warn(a),Pu.includes(e))throw new RangeError(a)}const Vu=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Hu=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Bu=/^'([^]*?)'?$/,qu=/''/g,Uu=/[a-zA-Z]/;function Wu(e,t,n){const a=Xd(),i=n?.locale??a.locale??gu,r=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,o=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??a.weekStartsOn??a.locale?.options?.weekStartsOn??0,s=Vd(e);if(!iu(s))throw new RangeError("Invalid time value");let c=t.match(Hu).map((e=>{const t=e[0];if("p"===t||"P"===t){return(0,Ou[t])(e,i.formatLong)}return e})).join("").match(Vu).map((e=>{if("''"===e)return{isToken:!1,value:"'"};const t=e[0];if("'"===t)return{isToken:!1,value:Zu(e)};if($u[t])return{isToken:!0,value:e};if(t.match(Uu))throw new RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}}));i.localize.preprocessor&&(c=i.localize.preprocessor(s,c));const l={firstWeekContainsDate:r,weekStartsOn:o,locale:i};return c.map((a=>{if(!a.isToken)return a.value;const r=a.value;(!n?.useAdditionalWeekYearTokens&&Nu(r)||!n?.useAdditionalDayOfYearTokens&&Lu(r))&&Fu(r,t,String(e));return(0,$u[r[0]])(s,r,i.localize,l)})).join("")}function Zu(e){const t=e.match(Bu);return t?t[1].replace(qu,"'"):e}function Qu(e,t){const{years:n=0,months:a=0,weeks:i=0,days:r=0,hours:o=0,minutes:s=0,seconds:c=0}=t,l=function(e,t){return qd(e,-t)}(e,a+12*n),d=function(e,t){return Bd(e,-t)}(l,r+7*i),u=1e3*(c+60*(s+60*o));return Hd(e,d.getTime()-u)}function Gu(e,t){return e===t||e!=e&&t!=t}function Yu(e,t){for(var n=e.length;n--;)if(Gu(e[n][0],t))return n;return-1}var Ku=Array.prototype.splice;function Xu(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1},Xu.prototype.set=function(e,t){var n=this.__data__,a=Yu(n,e);return a<0?(++this.size,n.push([e,t])):n[a][1]=t,this};var Ju="object"==typeof global&&global&&global.Object===Object&&global,eh="object"==typeof self&&self&&self.Object===Object&&self,th=Ju||eh||Function("return this")(),nh=th.Symbol,ah=Object.prototype,ih=ah.hasOwnProperty,rh=ah.toString,oh=nh?nh.toStringTag:void 0;var sh=Object.prototype.toString;var ch="[object Null]",lh="[object Undefined]",dh=nh?nh.toStringTag:void 0;function uh(e){return null==e?void 0===e?lh:ch:dh&&dh in Object(e)?function(e){var t=ih.call(e,oh),n=e[oh];try{e[oh]=void 0;var a=!0}catch(e){}var i=rh.call(e);return a&&(t?e[oh]=n:delete e[oh]),i}(e):function(e){return sh.call(e)}(e)}function hh(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}var ph="[object AsyncFunction]",mh="[object Function]",gh="[object GeneratorFunction]",fh="[object Proxy]";function _h(e){if(!hh(e))return!1;var t=uh(e);return t==mh||t==gh||t==ph||t==fh}var vh,yh=th["__core-js_shared__"],bh=(vh=/[^.]+$/.exec(yh&&yh.keys&&yh.keys.IE_PROTO||""))?"Symbol(src)_1."+vh:"";var wh=Function.prototype.toString;function xh(e){if(null!=e){try{return wh.call(e)}catch(e){}try{return e+""}catch(e){}}return""}var Ch=/^\[object .+?Constructor\]$/,Mh=Function.prototype,kh=Object.prototype,Sh=Mh.toString,Eh=kh.hasOwnProperty,$h=RegExp("^"+Sh.call(Eh).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Ah(e){return!(!hh(e)||(t=e,bh&&bh in t))&&(_h(e)?$h:Ch).test(xh(e));var t}function zh(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return Ah(n)?n:void 0}var Ih=zh(th,"Map"),Th=zh(Object,"create");var jh=Object.prototype.hasOwnProperty;var Oh=Object.prototype.hasOwnProperty;function Dh(e){var t=-1,n=null==e?0:e.length;for(this.clear();++ts))return!1;var l=r.get(e),d=r.get(t);if(l&&d)return l==t&&d==e;var u=-1,h=!0,p=n&Bh?new Nh:void 0;for(r.set(e,t),r.set(t,e);++u-1&&e%1==0&&e-1&&e%1==0&&e<=Ap}var Ip={};function Tp(e){return function(t){return e(t)}}Ip["[object Float32Array]"]=Ip["[object Float64Array]"]=Ip["[object Int8Array]"]=Ip["[object Int16Array]"]=Ip["[object Int32Array]"]=Ip["[object Uint8Array]"]=Ip["[object Uint8ClampedArray]"]=Ip["[object Uint16Array]"]=Ip["[object Uint32Array]"]=!0,Ip["[object Arguments]"]=Ip["[object Array]"]=Ip["[object ArrayBuffer]"]=Ip["[object Boolean]"]=Ip["[object DataView]"]=Ip["[object Date]"]=Ip["[object Error]"]=Ip["[object Function]"]=Ip["[object Map]"]=Ip["[object Number]"]=Ip["[object Object]"]=Ip["[object RegExp]"]=Ip["[object Set]"]=Ip["[object String]"]=Ip["[object WeakMap]"]=!1;var jp="object"==typeof exports&&exports&&!exports.nodeType&&exports,Op=jp&&"object"==typeof module&&module&&!module.nodeType&&module,Dp=Op&&Op.exports===jp&&Ju.process,Rp=function(){try{var e=Op&&Op.require&&Op.require("util").types;return e||Dp&&Dp.binding&&Dp.binding("util")}catch(e){}}(),Pp=Rp,Lp=Pp&&Pp.isTypedArray,Np=Lp?Tp(Lp):function(e){return fp(e)&&zp(e.length)&&!!Ip[uh(e)]},Fp=Object.prototype.hasOwnProperty;function Vp(e,t){var n=dp(e),a=!n&&wp(e),i=!n&&!a&&kp(e),r=!n&&!a&&!i&&Np(e),o=n||a||i||r,s=o?function(e,t){for(var n=-1,a=Array(e);++n0){if(++og>=800)return arguments[0]}else og=0;return rg.apply(void 0,arguments)});function lg(e,t){return cg(function(e,t,n){return t=tg(void 0===t?e.length-1:t,0),function(){for(var a=arguments,i=-1,r=tg(a.length-t,0),o=Array(r);++i1?n[i-1]:void 0,o=i>2?n[2]:void 0;for(r=e.length>3&&"function"==typeof r?(i--,r):void 0,o&&dg(n[0],n[1],o)&&(r=i<3?void 0:r,i=1),t=Object(t);++a-1}function Ng(e,t,n){for(var a=-1,i=null==e?0:e.length;++a=Vg){var l=t?null:Fg(e);if(l)return Zh(l);o=!1,i=Vh,c=new Nh}else c=t?[]:s;e:for(;++ae[0].toUpperCase()+e.substring(1))).join(" ")}function Ug(e,t,n){const a=e[t];return e.splice(t,1),e.splice(n,0,a),e}const Wg=e=>Array.isArray(e)?e:[e],Zg=e=>e instanceof Set?e:new Set(Wg(e));function Qg(e,t,n){return!function(e,t,n){var a=(n="function"==typeof n?n:void 0)?n(e,t):void 0;return void 0===a?bm(e,t,void 0,n):!!a}(e,t,n)}function Gg(e,t=console.warn){e instanceof zs&&e.context?t(e,e.context):t("object"==typeof e&&"message"in e?e.message:e)}const Yg=()=>window.matchMedia("(hover: hover) and (pointer: fine)").matches,Kg=(e,t)=>Wu(e,"yyyy-MM-dd HH:mm"+(t?":ss":"")),Xg=e=>Wu(e,"yyyy-MM-dd"),Jg=(e,t)=>{window.requestIdleCallback?window.requestIdleCallback(e,{...t&&{timeout:t}}):e()};function ef(e,t){const n=function(e,t,n){const a=ou(e,t)/Gd;return ru(n?.roundingMethod)(a)}(t,e),a=function(e,t,n){const a=ou(e,t)/Qd;return ru(n?.roundingMethod)(a)}(t,e)-60*n;let i="";return n&&(i+=`${n}h `),a&&(i+=`${a}m `),i+=`${su(t,e)-60*n*60-60*a}s`,i}const tf=async(e,t)=>await Promise.all(Array.from(e).map((e=>t(e)))),nf=e=>new Date(`${e}T00:00:00`),af=async e=>{await new Promise((t=>setTimeout(t,1e3*e)))},rf=e=>!isNaN(e.getTime()),of=(e,t,n,a)=>{t?e.setAttribute(n,a??""):e.removeAttribute(n)},sf=e=>!!e,cf=e=>e instanceof HTMLElement,lf=e=>(e instanceof HTMLSlotElement?e.assignedElements({flatten:!0}):[...e.children]).filter(cf),df=e=>e?.ratio&&2===e.ratio.length?`${e.ratio[0]} / ${e.ratio[1]}`:e?.defaultStatic?"16 / 9":"auto",uf=e=>({"aspect-ratio":df(e)}),hf=e=>{if(Array.isArray(e))return e.filter((e=>void 0!==e)).map((e=>hf(e)));if("object"==typeof e&&null!==e){const t={};for(const n in e)t[n]=hf(e[n]);return t}return e},pf=(e,t,n)=>Rg(e,n)===Rg(t,n);function mf(e){if(!e)return null;const t=Ic.safeParse(e);return t.success?t.data:null}function gf(e,t){return{action:"fire-dom-event",frigate_card_action:e,...t?.cardID&&{card_id:t.cardID}}}function ff(e,t,n){return{action:"fire-dom-event",frigate_card_action:e,camera:t,...n?.cardID&&{card_id:n.cardID}}}function _f(e,t,n){return{action:"fire-dom-event",frigate_card_action:"media_player",media_player:e,media_player_action:t,...n?.cardID&&{card_id:n.cardID}}}function vf(e){return{action:"fire-dom-event",frigate_card_action:"ptz_multi",...e?.cardID&&{card_id:e.cardID},...e?.ptzAction&&{ptz_action:e.ptzAction},...e?.ptzPhase&&{ptz_phase:e.ptzPhase},...e?.ptzPreset&&{ptz_preset:e.ptzPreset},...e?.targetID&&{target_id:e.targetID}}}function yf(e,t){return e&&t?"tap"===e&&t.tap_action?t.tap_action:"hold"===e&&t.hold_action?t.hold_action:"double_tap"===e&&t.double_tap_action?t.double_tap_action:"end_tap"===e&&t.end_tap_action?t.end_tap_action:"start_tap"===e&&t.start_tap_action?t.start_tap_action:null:null}const bf=e=>Wg(e).some((e=>function(e){return void 0!==e&&"none"!==e.action}(e))),wf=e=>{e.stopPropagation()};class xf{constructor(){this._timer=null,this._repeated=!1}stop(){this._timer&&(this._repeated?window.clearInterval(this._timer):window.clearTimeout(this._timer),this._timer=null)}isRunning(){return null!==this._timer}start(e,t){this.stop(),this._timer=window.setTimeout((()=>{this._timer=null,t()}),1e3*e),this._repeated=!1}startRepeated(e,t){this.stop(),this._timer=window.setInterval((()=>{t()}),1e3*e),this._repeated=!0}}class Cf extends HTMLElement{constructor(){super(...arguments),this.holdTime=.4,this.holdTimer=new xf,this.doubleClickTimer=new xf,this.held=!1,this.started=!1}connectedCallback(){["touchcancel","mouseout","mouseup","touchmove","mousewheel","wheel","scroll"].forEach((e=>{document.addEventListener(e,(()=>{this.holdTimer.stop()}),{passive:!0})}))}bind(e,t){if(e.actionHandlerOptions)return void(e.actionHandlerOptions=t);e.actionHandlerOptions=t,e.addEventListener("contextmenu",(e=>{const t=e||window.event;return t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.cancelBubble=!0,t.returnValue=!1,!1}));const n=()=>{this.held=!1,this.holdTimer.start(this.holdTime,(()=>{this.held=!0})),this.started||(this.started=!0,et(e,"action",{action:"start_tap"}))},a=t=>{this.holdTimer.stop(),this.started&&(this.started=!1,et(e,"action",{action:"end_tap"}))},i=t=>{const n=e.actionHandlerOptions;n?.allowPropagation||wf(t),["touchend","touchcancel"].includes(t.type)&&!this.held||(a(),n?.hasHold&&this.held?et(e,"action",{action:"hold"}):n?.hasDoubleClick?"click"===t.type&&t.detail<2||!this.doubleClickTimer.isRunning()?this.doubleClickTimer.start(.25,(()=>et(e,"action",{action:"tap"}))):(this.doubleClickTimer.stop(),et(e,"action",{action:"double_tap"})):et(e,"action",{action:"tap"}))};e.addEventListener("touchstart",n,{passive:!0}),e.addEventListener("touchend",i),e.addEventListener("touchcancel",i),e.addEventListener("mousedown",n,{passive:!0}),e.addEventListener("click",i),e.addEventListener("keyup",(e=>{"Enter"===e.key&&i(e)})),e.addEventListener("mouseleave",a)}}customElements.define("action-handler-frigate-card",Cf);const Mf=(e,t)=>{const n=(()=>{const e=document.body;if(e.querySelector("action-handler-frigate-card"))return e.querySelector("action-handler-frigate-card");const t=document.createElement("action-handler-frigate-card");return e.appendChild(t),t})();n&&n.bind(e,t)},kf=ge(class extends fe{update(e,[t]){return Mf(e.element,t),U}render(e){}});var Sf=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)lp(t,gp(e)),e=Pm(e);return t}:hp;function Ef(e){return up(e,Km,Sf)}var $f=Object.prototype.hasOwnProperty;var Af=/\w*$/;var zf=nh?nh.prototype:void 0,If=zf?zf.valueOf:void 0;var Tf="[object Boolean]",jf="[object Date]",Of="[object Map]",Df="[object Number]",Rf="[object RegExp]",Pf="[object Set]",Lf="[object String]",Nf="[object Symbol]",Ff="[object ArrayBuffer]",Vf="[object DataView]",Hf="[object Float32Array]",Bf="[object Float64Array]",qf="[object Int8Array]",Uf="[object Int16Array]",Wf="[object Int32Array]",Zf="[object Uint8Array]",Qf="[object Uint8ClampedArray]",Gf="[object Uint16Array]",Yf="[object Uint32Array]";function Kf(e,t,n){var a,i,r,o=e.constructor;switch(t){case Ff:return Tm(e);case Tf:case jf:return new o(+e);case Vf:return function(e,t){var n=t?Tm(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case Hf:case Bf:case qf:case Uf:case Wf:case Zf:case Qf:case Gf:case Yf:return jm(e,n);case Of:return new o;case Df:case Lf:return new o(e);case Rf:return(r=new(i=e).constructor(i.source,Af.exec(i))).lastIndex=i.lastIndex,r;case Pf:return new o;case Nf:return a=e,If?Object(If.call(a)):{}}}var Xf=Pp&&Pp.isMap,Jf=Xf?Tp(Xf):function(e){return fp(e)&&"[object Map]"==pm(e)};var e_=Pp&&Pp.isSet,t_=e_?Tp(e_):function(e){return fp(e)&&"[object Set]"==pm(e)},n_=1,a_=2,i_=4,r_="[object Arguments]",o_="[object Function]",s_="[object GeneratorFunction]",c_="[object Object]",l_={};function d_(e,t,n,a,i,r){var o,s=t&n_,c=t&a_,l=t&i_;if(n&&(o=i?n(e,a,i,r):n(e)),void 0!==o)return o;if(!hh(e))return e;var d=dp(e);if(d){if(o=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&$f.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!s)return Om(e,o)}else{var u=pm(e),h=u==o_||u==s_;if(kp(e))return Im(e,s);if(u==c_||u==r_||h&&!i){if(o=c||h?{}:Lm(e),!s)return c?function(e,t){return Qm(e,Sf(e),t)}(e,function(e,t){return e&&Qm(t,Km(t),e)}(o,e)):function(e,t){return Qm(e,gp(e),t)}(e,function(e,t){return e&&Qm(t,Qp(t),e)}(o,e))}else{if(!l_[u])return i?e:{};o=Kf(e,u,s)}}r||(r=new Lh);var p=r.get(e);if(p)return p;r.set(e,o),t_(e)?e.forEach((function(a){o.add(d_(a,t,n,a,e,r))})):Jf(e)&&e.forEach((function(a,i){o.set(i,d_(a,t,n,i,e,r))}));var m=d?void 0:(l?c?Ef:Gp:c?Km:Qp)(e);return function(e,t){for(var n=-1,a=null==e?0:e.length;++nvoid 0===globalThis.DOMException?new __(e):new DOMException(e),y_=e=>{const t=void 0===e.reason?v_("This operation was aborted."):e.reason;return t instanceof Error?t:v_(t)};class b_{#e=[];enqueue(e,t){const n={priority:(t={priority:0,...t}).priority,run:e};if(this.size&&this.#e[this.size-1].priority>=t.priority)return void this.#e.push(n);const a=function(e,t,n){let a=0,i=e.length;for(;i>0;){const r=Math.trunc(i/2);let o=a+r;n(e[o],t)<=0?(a=++o,i-=r+1):i=r}return a}(this.#e,n,((e,t)=>t.priority-e.priority));this.#e.splice(a,0,n)}dequeue(){const e=this.#e.shift();return e?.run}filter(e){return this.#e.filter((t=>t.priority===e.priority)).map((e=>e.run))}get size(){return this.#e.length}}class w_ extends g_{#t;#n;#a=0;#i;#r;#o=0;#s;#c;#e;#l;#d=0;#u;#h;#p;timeout;constructor(e){if(super(),!("number"==typeof(e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:b_,...e}).intervalCap&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(void 0===e.interval||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#t=e.carryoverConcurrencyCount,this.#n=e.intervalCap===Number.POSITIVE_INFINITY||0===e.interval,this.#i=e.intervalCap,this.#r=e.interval,this.#e=new e.queueClass,this.#l=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#p=!0===e.throwOnTimeout,this.#h=!1===e.autoStart}get#m(){return this.#n||this.#a{this.#v()}),t)),!0;this.#a=this.#t?this.#d:0}return!1}#_(){if(0===this.#e.size)return this.#s&&clearInterval(this.#s),this.#s=void 0,this.emit("empty"),0===this.#d&&this.emit("idle"),!1;if(!this.#h){const e=!this.#w;if(this.#m&&this.#g){const t=this.#e.dequeue();return!!t&&(this.emit("active"),t(),e&&this.#b(),!0)}}return!1}#b(){this.#n||void 0!==this.#s||(this.#s=setInterval((()=>{this.#y()}),this.#r),this.#o=Date.now()+this.#r)}#y(){0===this.#a&&0===this.#d&&this.#s&&(clearInterval(this.#s),this.#s=void 0),this.#a=this.#t?this.#d:0,this.#x()}#x(){for(;this.#_(););}get concurrency(){return this.#u}set concurrency(e){if(!("number"==typeof e&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#u=e,this.#x()}async#C(e){return new Promise(((t,n)=>{e.addEventListener("abort",(()=>{n(e.reason)}),{once:!0})}))}async add(e,t={}){return t={timeout:this.timeout,throwOnTimeout:this.#p,...t},new Promise(((n,a)=>{this.#e.enqueue((async()=>{this.#d++,this.#a++;try{t.signal?.throwIfAborted();let a=e({signal:t.signal});t.timeout&&(a=function(e,t){const{milliseconds:n,fallback:a,message:i,customTimers:r={setTimeout:setTimeout,clearTimeout:clearTimeout}}=t;let o;const s=new Promise(((s,c)=>{if("number"!=typeof n||1!==Math.sign(n))throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${n}\``);if(t.signal){const{signal:e}=t;e.aborted&&c(y_(e)),e.addEventListener("abort",(()=>{c(y_(e))}))}if(n===Number.POSITIVE_INFINITY)return void e.then(s,c);const l=new f_;o=r.setTimeout.call(void 0,(()=>{if(a)try{s(a())}catch(e){c(e)}else"function"==typeof e.cancel&&e.cancel(),!1===i?s():i instanceof Error?c(i):(l.message=i??`Promise timed out after ${n} milliseconds`,c(l))}),n),(async()=>{try{s(await e)}catch(e){c(e)}})()})),c=s.finally((()=>{c.clear()}));return c.clear=()=>{r.clearTimeout.call(void 0,o),o=void 0},c}(Promise.resolve(a),{milliseconds:t.timeout})),t.signal&&(a=Promise.race([a,this.#C(t.signal)]));const i=await a;n(i),this.emit("completed",i)}catch(e){if(e instanceof f_&&!t.throwOnTimeout)return void n();a(e),this.emit("error",e)}finally{this.#f()}}),t),this.emit("add"),this.#_()}))}async addAll(e,t){return Promise.all(e.map((async e=>this.add(e,t))))}start(){return this.#h?(this.#h=!1,this.#x(),this):this}pause(){this.#h=!0}clear(){this.#e=new this.#l}async onEmpty(){0!==this.#e.size&&await this.#M("empty")}async onSizeLessThan(e){this.#e.sizethis.#e.size{const a=()=>{t&&!t()||(this.off(e,a),n())};this.on(e,a)}))}get size(){return this.#e.size}sizeBy(e){return this.#e.filter(e).length}get pending(){return this.#d}get isPaused(){return this.#h}}var x_={frigate_card:"Frigate card",frigate_card_description:"A Lovelace card for use with Frigate",live:"Live",no_media:"No media to display",recordings:"Recordings",version:"Version"},C_={cameras:{camera_entity:"Camera Entity",capabilities:{capabilities:{clips:"Clips","favorite-events":"Favorite Events","favorite-recordings":"Favorite Recordings",live:"Live",menu:"Menu",ptz:"PTZ",recordings:"Recordings",seek:"Seeking",snapshots:"Snapshots",substream:"Substream"},disable:"Disable",disable_except:"Disable except",editor_label:"Camera capabilities"},cast:{dashboard:{dashboard_path:"Dashboard path",view_path:"View path"},editor_label:"Cast options",method:"Cast method",methods:{dashboard:"Dashboard",standard:"Standard"}},dependencies:{all_cameras:"Show events for all cameras with this camera",cameras:"Show events for specific cameras with this camera",editor_label:"Dependency options"},dimensions:{aspect_ratio:"Static aspect ratio",editor_label:"Camera dimensions",layout:{editor_label:"Camera Layout",fit:"Layout fit",fits:{contain:"Media is contained/letterboxed",cover:"Media expands proportionally to cover the card",fill:"Media is stretched to fill the card"},pan:{x:"Pan horizontal percentage",y:"Pan vertical percentage"},position:{editor_label:"Layout Cover Position",x:"Horizontal placement percentage",y:"Vertical placement percentage"},view_box:{bottom:"Bottom inset percentage",editor_label:"Layout View Box",left:"Left inset percentage",right:"Right inset percentage",top:"Top inset percentage"},zoom:"Zoom factor"}},engines:{editor_label:"Camera engine options"},frigate:{camera_name:"Frigate camera name (Autodetected from entity)",client_id:"Frigate client id (For >1 Frigate server)",editor_label:"Frigate options",labels:"Frigate labels/object filters",url:"Frigate server URL",zones:"Frigate zones"},go2rtc:{editor_label:"go2rtc Options",modes:{editor_label:"go2rtc Modes",mjpeg:"Motion JPEG (MJPEG)",mp4:"MPEG-4 (MP4)",mse:"Media Source Extensions (MSE)",webrtc:"Web Real-Time Communication (WebRTC)"},stream:"go2rtc stream name"},icon:"Icon for this camera (Autodetected from entity)",id:"Unique id for this camera in this card",image:{editor_label:"Image Options",refresh_seconds:"Number of seconds after which to refresh live image (0=never)",url:"Image URL to use instead of camera entity snapshot"},live_provider:"Live view provider for this camera",live_provider_options:{editor_label:"Live provider options"},live_providers:{auto:"Automatic",go2rtc:"go2rtc",ha:"Home Assistant video stream (i.e. HLS, LL-HLS, WebRTC via HA)",image:"Home Assistant images",jsmpeg:"JSMpeg","webrtc-card":"WebRTC Card (i.e. AlexxIT's WebRTC Card)"},motioneye:{editor_label:"MotionEye options",images:{directory_pattern:"Images directory pattern",file_pattern:"Images file pattern"},movies:{directory_pattern:"Movies directory pattern",file_pattern:"Movies file pattern"},url:"MotionEye UI URL"},proxy:{dynamic:"Dynamic proxying",editor_label:"Camera proxying",media:{auto:"Media proxying automatically configured",editor_label:"Media proxying",false:"Media proxying disabled",true:"Media proxying enabled"},ssl_ciphers:{auto:"SSL ciphers automatically configured",default:"Default SSL ciphers",editor_label:"SSL ciphers",insecure:"Insecure SSL ciphers",intermediate:"Intermediate SSL ciphers",modern:"Modern SSL ciphers"},ssl_verification:{auto:"SSL verification automatically configured",editor_label:"SSL verification",false:"SSL verification disabled",true:"SSL verification enabled"}},reolink:{editor_label:"Reolink options",media_resolution:{editor_label:"Media Resolution",high:"High Resolution",low:"Low Resolution"},url:"Reolink UI URL"},title:"Title for this camera (Autodetected from entity)",triggers:{editor_label:"Trigger options",entities:"Trigger from other entities",events:{clips:"Events with new clips",editor_label:"Trigger Events",events:"All events",snapshots:"Events with new snapshots"},motion:"Trigger by auto-detecting the motion sensor",occupancy:"Trigger by auto-detecting the occupancy sensor"},webrtc_card:{editor_label:"WebRTC Card Options",entity:"WebRTC Card Camera Entity (Not a Frigate camera)",url:"WebRTC Card Camera URL"}},common:{controls:{builtin:"Built-in video controls",filter:{editor_label:"Media Filter",mode:"Filter mode",modes:{left:"Media filter in a drawer to the left",none:"No media filter",right:"Media filter in a drawer to the right"}},next_previous:{editor_label:"Next & Previous",size:"Next & previous control size in pixels",style:"Next & previous control style",styles:{chevrons:"Chevrons",icons:"Icons",none:"None",thumbnails:"Thumbnails"}},thumbnails:{editor_label:"Thumbnails",events_media_type:"Whether to show event thumbnails of clips or snapshots",events_media_types:{clips:"Clip thumbnails",snapshots:"Snapshot thumbnails"},media_type:"Whether to show thumnails of events or recordings",media_types:{events:"Events",recordings:"Recordings"},mode:"Thumbnails mode",modes:{above:"Thumbnails above",below:"Thumbnails below",left:"Thumbnails in a drawer to the left",none:"No thumbnails",right:"Thumbnails in a drawer to the right"},show_details:"Show details with thumbnails",show_download_control:"Show download control on thumbnails",show_favorite_control:"Show favorite control on thumbnails",show_timeline_control:"Show timeline control on thumbnails",size:"Thumbnails size in pixels"},timeline:{editor_label:"Mini Timeline",mode:"Mode",modes:{above:"Above",below:"Below",none:"None"},pan_mode:"Default pan mode",pan_modes:{pan:"Pan",seek:"Pan seeks across all media","seek-in-camera":"Pan seeks within selected camera only","seek-in-media":"Pan seeks within selected media item only"}}},display:{editor_label:"Display",grid_columns:"Exact number of grid columns",grid_max_columns:"Maximum number of grid columns",grid_selected_width_factor:"Increase selected media width by this factor",mode:"Mode"},image:{entity:"Entity for use with entity mode",entity_parameters:"Query parameters added to the entity-based picture URLs (e.g. width=1920&height=1080)",mode:"Image mode",modes:{camera:"Home Assistant camera snapshot of camera entity",entity:"Entity with entity_picture attribute",screensaver:"Embedded Frigate logo",url:"Arbitrary image specified by URL"},refresh_seconds:"Number of seconds after which to refresh (0=never)",url:"Static image URL"},media_action_conditions:{all:"All opportunities",hidden:"On browser/tab hiding",microphone_mute:"On microphone mute",microphone_unmute:"On microphone unmute",never:"Never",selected:"On selection",unselected:"On unselection",visible:"On browser/tab visibility"},timeline:{clustering_threshold:"The count of events at which they are clustered (0=no clustering)",events_media_type:"The events media the timeline displays",events_media_types:{all:"All event media types",clips:"Clips",snapshots:"Snapshots"},show_recordings:"Show recordings",style:"Timeline style",styles:{ribbon:"Events on a single ribbon",stack:"Stacked & clustered events"},window_seconds:"The default length of the timeline view in seconds"}},dimensions:{aspect_ratio:"Default aspect ratio (e.g. '16:9')",aspect_ratio_mode:"Aspect ratio mode",aspect_ratio_modes:{dynamic:"Aspect ratio adjusts to media",static:"Static aspect ratio",unconstrained:"Unconstrained aspect ratio"},height:"Card height in CSS units (e.g. '500px')"},live:{auto_mute:"Automatically mute live cameras",auto_pause:"Automatically pause live cameras",auto_play:"Automatically play live cameras",auto_unmute:"Automatically unmute live cameras",controls:{editor_label:"Live Controls",ptz:{editor_label:"PTZ",hide_home:"Hide home control",hide_pan_tilt:"Hide pan & tilt control",hide_zoom:"Hide zoom control",mode:"Mode",modes:{off:"Off",on:"On"},orientation:"Orientation",orientations:{horizontal:"Horizontal",vertical:"Vertical"},position:"Position",positions:{"bottom-left":"Bottom left","bottom-right":"Bottom right","top-left":"Top left","top-right":"Top right"}}},draggable:"Live cameras view can be dragged/swiped",lazy_load:"Live cameras are lazily loaded",lazy_unload:"Live cameras are lazily unloaded",microphone:{always_connected:"Always keep the microphone connected",disconnect_seconds:"Seconds after which to disconnect microphone (0=never)",editor_label:"Microphone",enabled:"Microphone enabled",mute_after_microphone_mute_seconds:"Seconds after microphone mute to mute inbound audio"},preload:"Preload live view in the background",show_image_during_load:"Show still image while the live stream is loading",transition_effect:"Live camera transition effect",zoomable:"Live cameras can be zoomed/panned"},media_viewer:{auto_mute:"Automatically mute media",auto_pause:"Automatically pause media",auto_play:"Automatically play media",auto_unmute:"Automatically unmute media",controls:{editor_label:"Media Viewer Controls"},draggable:"Media Viewer can be dragged/swiped",lazy_load:"Media Viewer media is lazily loaded in carousel",snapshot_click_plays_clip:"Clicking on a snapshot plays a related clip",transition_effect:"Media Viewer transition effect",transition_effects:{none:"No transition",slide:"Slide transition"},zoomable:"Media Viewer can be zoomed/panned"},menu:{alignment:"Menu alignment",alignments:{bottom:"Aligned to the bottom",left:"Aligned to the left",right:"Aligned to the right",top:"Aligned to the top"},button_size:"Menu button size in pixels",buttons:{alignment:"Button alignment",alignments:{matching:"Matching the menu alignment",opposing:"Opposing the menu alignment"},camera_ui:"Camera user interface",cameras:"Cameras",clips:"Clips",display_mode:"Display mode",download:"Download",enabled:"Button enabled",expand:"Expand",frigate:"Frigate menu / Default view",fullscreen:"Fullscreen",icon:"Icon",image:"Image",live:"Live",media_player:"Send to media player",microphone:"Microphone",mute:"Mute / Unmute",permanent:"Show when the menu is hidden",play:"Play / Pause",priority:"Priority",ptz_controls:"Show PTZ controls",ptz_home:"PTZ Home",recordings:"Recordings",screenshot:"Screenshot",snapshots:"Snapshots",substreams:"Substream(s)",timeline:"Timeline",type:"Button type",types:{momentary:"Momentary",toggle:"Toggle"}},position:"Menu position",positions:{bottom:"Positioned on the bottom",left:"Positioned on the left",right:"Positioned on the right",top:"Positioned on the top"},style:"Menu style",styles:{hidden:"Hidden menu",hover:"Hover menu","hover-card":"Hover menu (card-wide)",none:"No menu",outside:"Outside menu",overlay:"Overlay menu"}},overrides:{info:"This card configuration has manually specified overrides configured which may override values shown in the visual editor, please consult the code editor to view/modify these overrides"},performance:{features:{animated_progress_indicator:"Animated Progress Indicator",editor_label:"Feature Options",max_simultaneous_engine_requests:"Max simultaneous camera engine requests",media_chunk_size:"Media chunk size"},style:{border_radius:"Curves",box_shadow:"Shadows",editor_label:"Style Options"},warning:"This card is in low profile mode so defaults have changed to optimize performance"},profiles:{casting:"Casting",editor_label:"Configuration profiles","low-performance":"Low performance",scrubbing:"Video scrubbing"},status_bar:{height:"Status bar height in pixels",items:{enabled:"Item enabled",engine:"Camera engine",live_provider:"Live provider",priority:"Item priority",resolution:"Resolution",technology:"Technology",title:"Title"},popup_seconds:"Status bar popup seconds",position:"Status bar position",positions:{bottom:"Positioned on the bottom",top:"Positioned on the top"},style:"Status bar style",styles:{hover:"Hover status bar","hover-card":"Hover status bar (card-wide)",none:"No status bar",outside:"Outside status bar",overlay:"Overlay status bar",popup:"Popup status bar"}},view:{camera_select:"View for newly selected cameras",dark_mode:"Dark mode",dark_modes:{auto:"Auto",off:"Off",on:"On"},default:"Default view",default_cycle_camera:"Cycle through cameras when default view updates",default_reset:{after_interaction:"Reset to the default view after user interaction ends",editor_label:"Default view reset behavior",entities:"Reset to the default view on entity state change",every_seconds:"Reset to default view every X seconds (0=never)",interaction_mode:"How default reset behaves when the card has human interaction",interaction_modes:{active:"Only allow reset when card has active human interaction",all:"Reset regardless of human interaction",inactive:"Only reset when card has no human interaction"}},interaction_seconds:"Seconds after user action to remain interacted with (0=never)",keyboard_shortcuts:{editor_label:"Keyboard shortcuts",enabled:"Keyboard shortcuts enabled",ptz_down:"PTZ Down",ptz_home:"PTZ Home",ptz_left:"PTZ Left",ptz_right:"PTZ Right",ptz_up:"PTZ Up",ptz_zoom_in:"PTZ Zoom In",ptz_zoom_out:"PTZ Zoom Out"},triggers:{actions:{editor_label:"Trigger actions",interaction_mode:"How to handle actions when the card has human interaction",interaction_modes:{active:"Only trigger actions when card has human interaction",all:"Trigger actions regardless of human interaction",inactive:"Only trigger actions when card has no human interaction"},trigger:"Trigger action",triggers:{default:"Change to or update default view",live:"Change to or update live view",media:"Change to the relevant media view for new media",none:"No action"},untrigger:"Untrigger action",untriggers:{default:"Change to default view/camera",none:"No action"}},editor_label:"Trigger behavior",filter_selected_camera:"Only trigger on selected camera",show_trigger_status:"Show pulsing border when triggered",untrigger_seconds:"Seconds after inactive state change to untrigger"},views:{clip:"Most recent clip",clips:"Clips gallery",current:"Current view",image:"Static image",live:"Live view",recording:"Most recent recording",recordings:"Recordings gallery",snapshot:"Most recent snapshot",snapshots:"Snapshots gallery",timeline:"Timeline view"}}},M_={grid:"Show media viewer for each camera in a grid",single:"Show single media viewer"},k_={add_new_camera:"Add new camera",button:"Button",camera:"Camera",cameras:"Cameras",cameras_secondary:"What cameras to render on this card",delete:"Delete",dimensions:"Card dimensions",dimensions_secondary:"Card dimensions & shape options",image:"Image",image_secondary:"Static image view options",live:"Live",live_secondary:"Live camera view options",media_gallery:"Media gallery",media_gallery_secondary:"Media gallery options",media_viewer:"Media viewer",media_viewer_secondary:"Viewer for static media (clips, snapshots or recordings)",menu:"Menu",menu_secondary:"Menu look & feel options",move_down:"Move down",move_up:"Move up",overrides:"Overrides are active",overrides_secondary:"Dynamic configuration overrides detected",performance:"Performance",performance_secondary:"Card performance options",profiles:"Configuration profiles",profiles_secondary:"Choose pre-configured sets of defaults",status_bar:"Status bar",status_bar_secondary:"Status bar look & feel options",timeline:"Timeline",timeline_secondary:"Event timeline options",upgrade:"Upgrade",upgrade_available:"An automatic card configuration upgrade is available",view:"View",view_secondary:"What the card should show and how to show it"},S_={ptz:{down:"Down",home:"Home",left:"Left",right:"Right",up:"Up",zoom_in:"Zoom In",zoom_out:"Zoom Out"}},E_={awaiting_live:"Waiting for live stream to load ...",awaiting_media:"Waiting for media to load",camera_initialization:"Camera initialization failed",camera_initialization_reolink:"Could not initialize Reolink camera",could_not_render_elements:"Could not render picture elements",could_not_resolve:"Could not resolve media URL",diagnostics:"Card diagnostics. Please review for confidential information prior to sharing",download_no_media:"No media to download",download_sign_failed:"Could not sign media URL for download",duplicate_camera_id:"Duplicate Frigate camera id for the following camera, use the 'id' parameter to uniquely identify cameras",empty_response:"Received empty response from Home Assistant for request",failed_response:"Failed to receive response from Home Assistant for request",failed_retain:"Could not retain event",failed_sign:"Could not sign Home Assistant URL",image_load_error:"The image could not be loaded",invalid_configuration:"Invalid configuration",invalid_configuration_no_hint:"No location hint available (bad or missing type?)",invalid_configuration_override:"Invalid override configuration",invalid_elements_config:"Invalid picture elements configuration",invalid_response:"Received invalid response from Home Assistant for request",jsmpeg_no_player:"Could not start JSMPEG player",live_camera_no_endpoint:"Could not get camera endpoint for this live provider (incomplete configuration?)",live_camera_not_found:"The configured camera_entity was not found",live_camera_unavailable:"Camera unavailable",no_camera_engine:"Could not determine suitable engine for camera",no_camera_entity:"Could not find camera entity",no_camera_entity_for_triggers:"A camera entity is required in order to autodetect triggers",no_camera_id:"Could not determine camera id for the following camera, may need to set 'id' parameter manually",no_camera_name:"Could not determine a Frigate camera name for camera (or one of its dependents), please specify either 'camera_entity' or 'camera_name'",no_dashboard_or_view:"Both 'dashboard_path' and 'view_path' parameters are required for the 'dashboard' cast method",no_live_camera:"The camera_entity parameter must be set and valid for this live provider",no_supported_camera:"The selected camera does not support this view",no_supported_cameras:"No cameras support this view",reconnecting:"Reconnecting",too_many_automations:"Too many nested automation calls, please check your configuration for loops",troubleshooting:"Check troubleshooting",unknown:"Unknown error",upgrade_available:"An automated card configuration upgrade is available, please visit the visual card editor",webrtc_card_reported_error:"WebRTC Card reported an error",webrtc_card_waiting:"Waiting for WebRTC Card to load ..."},$_={camera:"Camera",duration:"Duration",in_progress:"In Progress",score:"Score",seek:"Seek",start:"Start",tag:"Tag",what:"What",where:"Where"},A_={assign:"Assign",assigning:"Assigning",modifiers:{alt:"Alt",ctrl:"Ctrl",meta:"Meta",shift:"Shift"},unassign:"Unassign"},z_={all:"All",camera:"Camera",favorite:"Favorite",media_type:"Media Type",media_types:{clips:"Clips",recordings:"Recordings",snapshots:"Snapshots"},not_favorite:"Not Favorite",select_camera:"Select camera...",select_favorite:"Select favorite...",select_media_type:"Select media type...",select_tag:"Select tag...",select_what:"Select what...",select_when:"Select when...",select_where:"Select where...",tag:"Tag",what:"What",when:"When",whens:{custom:"Custom",past_month:"Past Month",past_week:"Past Week",today:"Today",yesterday:"Yesterday"},where:"Where"},I_={unseekable:"Seek time not found in media"},T_={camera:"Camera",duration:"Duration",events:"Events",in_progress:"In Progress",seek:"Seek",start:"Start"},j_={download:"Download media",no_thumbnail:"No thumbnail available",retain_indefinitely:"Media will be indefinitely retained",timeline:"See media in timeline"},O_={select_date:"Choose date"},D_={common:x_,config:C_,display_modes:M_,editor:k_,elements:S_,error:E_,event:$_,key_assigner:A_,media_filter:z_,media_viewer:I_,recording:T_,thumbnail:j_,timeline:O_},R_=Object.freeze({__proto__:null,common:x_,config:C_,default:D_,display_modes:M_,editor:k_,elements:S_,error:E_,event:$_,key_assigner:A_,media_filter:z_,media_viewer:I_,recording:T_,thumbnail:j_,timeline:O_});const P_="en",L_={[P_]:R_};let N_;function F_(e){const t=e=>e.replace("-","_"),n=e?.language??e?.selectedLanguage;if(n)return t(n);const a=localStorage.getItem("selectedLanguage");if(a){const e=JSON.parse(a);if(e)return t(e)}for(const e of navigator.languages){const n=t(e);if(n&&n in L_)return n}return P_}function V_(e,t="",n=""){let a="";try{a=e.split(".").reduce(((e,t)=>e[t]),L_[N_??P_])}catch(e){}return a||(a=e.split(".").reduce(((e,t)=>e[t]),L_[P_])),""!==t&&""!==n&&(a=a.replace(t,n)),a}function H_(e){return"string"==typeof e?.id&&e.id||"string"==typeof e?.camera_entity&&e.camera_entity||"object"==typeof e?.webrtc_card&&e.webrtc_card&&("string"==typeof e.webrtc_card.entity&&e.webrtc_card.entity||"string"==typeof e.webrtc_card.url&&e.webrtc_card.url)||"object"==typeof e?.go2rtc&&e.go2rtc&&"string"==typeof e.go2rtc.url&&"string"==typeof e.go2rtc.stream&&`${e.go2rtc.url}#${e.go2rtc.stream}`||"object"==typeof e?.frigate&&e.frigate&&"string"==typeof e?.frigate.camera_name&&e.frigate.camera_name||""}const B_=(e,...t)=>{e?.debug?.logging&&console.debug(...t)},q_=(e,t,n)=>"preset"===t?(n?.preset?e.ptz.presets?.[n.preset]:null)??null:n?.phase?e.ptz[`actions_${t}_${n.phase}`]??null:e.ptz[`actions_${t}`]??null,U_=(e,t,n)=>!!q_(e,t,n),W_=(e,t)=>{const n=U_(e,t,{phase:"start"})&&U_(e,t,{phase:"stop"}),a=U_(e,t);return n||a?[...n?["continuous"]:[],...a?["relative"]:[]]:null},Z_=e=>{const t=W_(e,"left"),n=W_(e,"right"),a=W_(e,"up"),i=W_(e,"down"),r=W_(e,"zoom_in"),o=W_(e,"zoom_out"),s=e.ptz.presets?Object.keys(e.ptz.presets):void 0;return t?.length||n?.length||a?.length||i?.length||r?.length||o?.length||s?.length?{...t?{left:t}:{},...n?{right:n}:{},...a?{up:a}:{},...i?{down:i}:{},...r?{zoomIn:r}:{},...o?{zoomOut:o}:{},...s?{presets:s}:{}}:null};class Q_{constructor(e,t){this._capabilities=e;for(const e of t?.disable??[])this._disable(e);for(const e of Ts)t?.disableExcept?.length&&!t.disableExcept.includes(e)&&this._disable(e)}_disable(e){delete this._capabilities[e]}matches(e){let t=!0;return"string"==typeof e&&(t&&=this.has(e)),"object"==typeof e&&e.allCapabilities&&(t&&=e.allCapabilities.every((e=>this.has(e)))),"object"==typeof e&&e.anyCapabilities&&(t&&=e.anyCapabilities.some((e=>this.has(e)))),t}has(e){return!!this._capabilities[e]}getPTZCapabilities(){return this._capabilities.ptz??null}hasPTZCapability(){return!!(this._capabilities.ptz?.down?.length||this._capabilities.ptz?.up?.length||this._capabilities.ptz?.left?.length||this._capabilities.ptz?.right?.length||this._capabilities.ptz?.zoomIn?.length||this._capabilities.ptz?.zoomOut?.length||this._capabilities.ptz?.presets?.length)}getRawCapabilities(){return this._capabilities}}function G_(e,t,n){var a=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(n=n>i?i:n)<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var r=Array(i);++at||r&&o&&c&&!s&&!l||a&&o&&c||!n&&c||!i)return 1;if(!a&&!r&&!l&&e=s?c:c*("desc"==n[a]?-1:1)}return e.index-t.index}(e,t,n)}))}function Ev(e,t,n,a){return null==e?[]:(dp(t)||(t=null==t?[]:[t]),dp(n=a?void 0:n)||(n=null==n?[]:[n]),Sv(e,t,n))}async function $v(e,t,n,a=!1){let i;try{i=await e.callWS(n)}catch(e){if(!(e instanceof Error))throw new zs(V_("error.failed_response"),{request:n,response:e});throw e}if(!i)throw new zs(V_("error.empty_response"),{request:n});const r=a?t.safeParse(JSON.parse(i)):t.safeParse(i);if(!r.success)throw new zs(V_("error.invalid_response"),{request:n,response:i,invalid_keys:Rs(r.error)});return r.data}const Av=ba.lazy((()=>ba.object({title:ba.string(),media_class:ba.string(),media_content_type:ba.string(),media_content_id:ba.string(),can_play:ba.boolean(),can_expand:ba.boolean(),children_media_class:ba.string().nullable().optional(),thumbnail:ba.string().nullable(),children:ba.array(Av).nullable().optional()}))),zv="video",Iv="image",Tv=60,jv=e=>Ev(e,(e=>e._metadata?.startDate),"desc");class Ov{async walkBrowseMedias(e,t,n){return t&&t.length?(await tf(t,(async t=>await this._walkBrowseMedia(e,t,n)))).flat():[]}async _walkBrowseMedia(e,t,n){let a=[];for(const i of function(e,t,n){t=(n?dg(e,t,n):void 0===t)?1:K_(Sg(t),0);var a=null==e?0:e.length;if(!a||t<1)return[];for(var i=0,r=0,o=Array(Y_(a/t));iawait this._browseMedia(e,a,{cache:n?.cache,matcher:t.matcher,metadataGenerator:t.metadataGenerator})));for(const e of r)for(const n of e.children??[])t.matcher(n)&&a.push(n);if(t.sorter&&(a=t.sorter(a)),t.earlyExit&&t.earlyExit(a))break}const i=t.advance?t.advance(a):null;return i?.length?await this.walkBrowseMedias(e,i,n):a}async _browseMedia(e,t,n){const a="object"==typeof t?t.media_content_id:t,i=n?.cache?n.cache.get(a):null;if(i)return i;const r={type:"media_source/browse_media",media_content_id:a},o=await $v(e,Av,r);if(n?.metadataGenerator)for(const e of o.children??[])e._metadata=n.metadataGenerator(e,"object"==typeof t?t:void 0)??void 0;return n?.cache&&n.cache.set(a,o,Ud(new Date,{seconds:60})),o}}function Dv(e,t){return bm(e,t)}function Rv(e,t){return e&&e.length?function(e,t){for(var n=-1,a=e.length,i=0,r=[];++nNv(t,e)))}add(e){this._ranges.push(e),this._ranges=Vv(this._ranges)}clear(){this._ranges=[]}}class Lv{constructor(e){this._ranges=e??[]}hasCoverage(e){const t=new Date;return this._ranges.some((n=>tet.start>=e.start&&t.end<=e.end,Fv=(e,t)=>e.start>=t.start&&e.start<=t.end||e.end>=t.start&&e.end<=t.end||e.start<=t.start&&e.end>=t.end,Vv=(e,t=0)=>{const n=[];e=Ev(e,(e=>e.start),"asc");let a=null;for(const i of e){const e=i.start instanceof Date?i.start.getTime():i.start;if(!a){a={...i};continue}(a.end instanceof Date?a.end.getTime():a.end)+1e3*t>=e?i.end>a.end&&(a.end=i.end):(n.push(a),a={...i})}return a&&n.push(a),n};class Hv{constructor(){this._data=[]}get(e){const t=new Date;for(const n of this._data)if((!n.expires||t<=n.expires)&&this._contains(e,n.request))return n.response;return null}clear(){this._data=[]}has(e){return!!this.get(e)}set(e,t,n){this._data.push({request:e,response:t,expires:n}),this._expireOldRequests()}_contains(e,t){return Dv(e,t)}_expireOldRequests(){const e=new Date;this._data=this._data.filter((t=>!t.expires||e=e.start.getTime()){if(a>e.end.getTime())break;t.push(n)}}return t}getSize(){return this._data.length}expireMatches(e){this._data=this._data.filter((t=>!e(t)))}}class Uv{constructor(){this._segments=new Map}add(e,t,n){let a=this._segments.get(e);a||(a=new qv((e=>1e3*e.start_time),(e=>e.id)),this._segments.set(e,a)),a.add(t,n)}clear(){this._segments.clear()}hasCoverage(e,t){return!!this._segments.get(e)?.hasCoverage(t)}get(e,t){return this._segments.get(e)?.get(t)??null}getSize(e){return this._segments.get(e)?.getSize()??null}getCameraIDs(){return[...this._segments.keys()]}expireMatches(e,t){this._segments.get(e)?.expireMatches(t)}}class Wv extends zs{}class Zv extends zs{}var Qv,Gv,Yv;!function(e){e.Event="event-query",e.Recording="recording-query",e.RecordingSegments="recording-segments-query",e.MediaMetadata="media-metadata"}(Qv||(Qv={})),function(e){e.Event="event-results",e.Recording="recording-results",e.RecordingSegments="recording-segments-results",e.MediaMetadata="media-metadata-results"}(Gv||(Gv={})),function(e){e.Frigate="frigate",e.Generic="generic",e.MotionEye="motioneye",e.Reolink="reolink"}(Yv||(Yv={}));const Kv=e=>e.camera_entity??e.webrtc_card?.entity??null;class Xv{constructor(e){this._entityRegistryManager=e}async createEngine(e,t){let n;switch(e){case Yv.Generic:const{GenericCameraManagerEngine:e}=await import("./engine-generic-96b32038.js").then((function(e){return e.e}));n=new e(t.stateWatcher,t.eventCallback);break;case Yv.Frigate:const{FrigateCameraManagerEngine:a}=await import("./engine-frigate-a6e3bd9e.js");n=new a(this._entityRegistryManager,t.stateWatcher,new Uv,new Bv,t.eventCallback);break;case Yv.MotionEye:const{MotionEyeCameraManagerEngine:i}=await import("./engine-motioneye-d04d1919.js");n=new i(this._entityRegistryManager,t.stateWatcher,new Ov,t.resolvedMediaCache,new Bv,t.eventCallback);break;case Yv.Reolink:const{ReolinkCameraManagerEngine:r}=await import("./engine-reolink-ec1b4246.js");n=new r(this._entityRegistryManager,t.stateWatcher,new Ov,t.resolvedMediaCache,new Bv,t.eventCallback)}return n}async getEngineForCamera(e,t){let n=null;if("frigate"===t.engine)n=Yv.Frigate;else if("motioneye"===t.engine)n=Yv.MotionEye;else if("generic"===t.engine)n=Yv.Generic;else if("reolink"===t.engine)n=Yv.Reolink;else{const a=Kv(t);if(a){const i=await this._entityRegistryManager.getEntity(e,a);if(!i){if(e.states[a])return Yv.Generic;throw new Wv(V_("error.no_camera_entity"),t)}switch(i?.platform){case"frigate":n=Yv.Frigate;break;case"motioneye":n=Yv.MotionEye;break;case"reolink":n=Yv.Reolink;break;default:n=Yv.Generic}}else t.frigate.camera_name?n=Yv.Frigate:(t.webrtc_card?.url||t.go2rtc?.url&&t.go2rtc?.stream)&&(n=Yv.Generic)}return n}}class Jv{constructor(){this._cameras=new Map,this._enginesByType=new Map}addCamera(e){this._cameras.set(e.getID(),e),this._enginesByType.set(e.getEngine().getEngineType(),e.getEngine())}async setCameras(e){for(const t of e){const e=this._cameras.get(t.getID());e!==t&&(this.addCamera(t),await(e?.destroy()))}for(const t of this._cameras.values())e.includes(t)||(await t.destroy(),this._cameras.delete(t.getID()))}async reset(){await tf(this._cameras.values(),(e=>e.destroy())),this._cameras.clear(),this._enginesByType.clear()}getCamera(e){return this._cameras.get(e)??null}getCameras(){return this._cameras}getCameraConfig(e){return this._cameras.get(e)?.getConfig()??null}hasCameraID(e){return this._cameras.has(e)}getCameraCount(){return this._cameras.size}getDefaultCameraID(){return this._cameras.keys().next().value??null}*getCameraConfigs(e){for(const[t,n]of this.getCameraConfigEntries(e))yield n}*getCameraConfigEntries(e){for(const t of e??this._cameras.keys()){const e=this.getCameraConfig(t);e&&(yield[t,e])}}getCameraIDs(){return new Set(this._cameras.keys())}getCameraIDsWithCapability(e){const t=new Set;for(const n of this._cameras.values())n.getCapabilities()?.matches(e)&&t.add(n.getID());return t}getCameraConfigForMedia(e){return this.getCameraConfig(e.getCameraID())}getEngineOfType(e){return this._enginesByType.get(e)??null}getEngineForCameraID(e){return this._cameras.get(e)?.getEngine()??null}getEnginesForCameraIDs(e){const t=new Map;for(const n of e){const e=this.getEngineForCameraID(n);e&&(t.has(e)||t.set(e,new Set),t.get(e)?.add(n))}return t.size?t:null}getEngineForMedia(e){return this.getEngineForCameraID(e.getCameraID())}getAllDependentCameras(e,t){const n=new Set,a=new Set,i=e=>{n.add(e);const r=this.getCamera(e),o=r?.getConfig();if(r&&o){t&&!r.getCapabilities()?.matches(t)||a.add(e);const s=new Set;o.dependencies.cameras.forEach((e=>s.add(e))),o.dependencies.all_cameras&&this.getCameraIDs().forEach((e=>s.add(e)));for(const e of s)n.has(e)||i(e)}};return i(e),a}}const ey=e=>{return Ev((n=e=>e.getID()??e,(t=e)&&t.length?Hg(t,xv(n)):[]),(e=>e.getStartTime()??e.getID()),"asc");var t,n};class ty{static isEventQuery(e){return e.type===Qv.Event}static isRecordingQuery(e){return e.type===Qv.Recording}static isRecordingSegmentsQuery(e){return e.type===Qv.RecordingSegments}static isMediaMetadataQuery(e){return e.type===Qv.MediaMetadata}}class ny{static isEventQueryResult(e){return e.type===Gv.Event}static isRecordingQueryResult(e){return e.type===Gv.Recording}static isRecordingSegmentsQueryResult(e){return e.type===Gv.RecordingSegments}static isMediaMetadataQueryResult(e){return e.type===Gv.MediaMetadata}}class ay{constructor(e,t){this._requestLimit=new w_,this._api=e,this._engineFactory=t?.factory??new Xv(this._api.getEntityRegistryManager()),this._store=t?.store??new Jv}async initializeCamerasFromConfig(){const e=this._api.getConfigManager().getConfig(),t=this._api.getHASSManager().getHASS();if(!e||!t)return!1;this._requestLimit.concurrency=e.performance.features.max_simultaneous_engine_requests??1/0;const n=e.cameras.map((t=>{return n={},a=u_(e?.cameras_global),hg(n,a,t,((e,t)=>Array.isArray(t)?t:void 0));var n,a}));try{await this._initializeCameras(n)}catch(e){return this._api.getMessageManager().setErrorIfHigherPriority(e,V_("error.camera_initialization")),!1}return!0}async reset(){await this._store.reset()}async _getEnginesForCameras(e){const t=new Map,n=new Map,a=this._api.getHASSManager().getHASS(); -/* istanbul ignore if: the if path cannot be reached -- @preserve */ -if(!a)return t;const i=await(async e=>await tf(e,(e=>this._engineFactory.getEngineForCamera(a,e))))(e);for(const[a,r]of e.entries()){const e=i[a],o=e?n.get(e)??await this._engineFactory.createEngine(e,{eventCallback:e=>this._api.getTriggersManager().handleCameraEvent(e),stateWatcher:this._api.getHASSManager().getStateWatcher(),resolvedMediaCache:this._api.getResolvedMediaCache()}):null;if(!o||!e)throw new Wv(V_("error.no_camera_engine"),u_(r));n.set(e,o),t.set(r,o)}return t}async _initializeCameras(e){const t=new Date,n=this._api.getHASSManager().getHASS(); -/* istanbul ignore if: the if path cannot be reached -- @preserve */ -if(!n)return;e.some((e=>(e=>e.triggers.motion||e.triggers.occupancy)(e)))&&await this._api.getEntityRegistryManager().fetchEntityList(n);const a=await this._getEnginesForCameras(e),i=await tf(a.entries(),(async([e,t])=>await t.createCamera(n,e))),r=async()=>{i.forEach((e=>e.destroy()))},o=new Set;for(const e of i){const t=H_(e.getConfig());if(!t)throw await r(),new Wv(V_("error.no_camera_id"),e.getConfig());if(o.has(t))throw await r(),new Wv(V_("error.duplicate_camera_id"),e.getConfig());e.setID(t),o.add(t)}await this._store.setCameras(i),B_(this._api.getConfigManager().getCardWideConfig(),"Frigate Card CameraManager initialized (Cameras: ",this._store.getCameras(),`, Duration: ${((new Date).getTime()-t.getTime())/1e3}s,`,")")}isInitialized(){return this._store.getCameraCount()>0}getStore(){return this._store}generateDefaultEventQueries(e,t){return this._generateDefaultQueries(e,{type:Qv.Event,...t})}generateDefaultRecordingQueries(e,t){return this._generateDefaultQueries(e,{type:Qv.Recording,...t})}generateDefaultRecordingSegmentsQueries(e,t){return this._generateDefaultQueries(e,{type:Qv.RecordingSegments,...t})}_generateDefaultQueries(e,t){const n=[],a=Zg(e),i=this._store.getEnginesForCameraIDs(a);if(!i)return null;for(const[e,a]of i){let i=null; -/* istanbul ignore else: the else path cannot be reached -- @preserve */ty.isEventQuery(t)?i=e.generateDefaultEventQuery(this._store,a,t):ty.isRecordingQuery(t)?i=e.generateDefaultRecordingQuery(this._store,a,t):ty.isRecordingSegmentsQuery(t)&&(i=e.generateDefaultRecordingSegmentsQuery(this._store,a,t));for(const e of i??[])n.push(e)}return n.length?n:null}async getMediaMetadata(){const e=new Set,t=new Set,n=new Set,a=new Set,i={type:Qv.MediaMetadata,cameraIDs:this._store.getCameraIDs()},r=await this._handleQuery(i);for(const i of r.values())i.metadata.tags&&i.metadata.tags.forEach(e.add,e),i.metadata.what&&i.metadata.what.forEach(t.add,t),i.metadata.where&&i.metadata.where.forEach(n.add,n),i.metadata.days&&i.metadata.days.forEach(a.add,a);return t.size||n.size||a.size||e.size?{...e.size&&{tags:e},...t.size&&{what:t},...n.size&&{where:n},...a.size&&{days:a}}:null}async getEvents(e,t){return await this._handleQuery(e,t)}async getRecordings(e,t){return await this._handleQuery(e,t)}async getRecordingSegments(e,t){return await this._handleQuery(e,t)}async executeMediaQueries(e,t){return this._convertQueryResultsToMedia(await this._handleQuery(e,t))}async extendMediaQueries(e,t,n,a){if(!this._api.getHASSManager().getHASS())return null;const i=e=>{let n=null;for(const a of t){const t=a.getStartTime();t&&(!n||"earliest"===e&&tn)&&(n=t)}return n},r=this._api.getConfigManager().getCardWideConfig()?.performance?.features.media_chunk_size??50,o=[],s=[];for(const t of e){const e={...t}; -/* istanbul ignore else: the else path cannot be reached -- @preserve */if("later"===n){const t=i("latest");t&&(e.start=t,delete e.end)}else if("earlier"===n){const t=i("earliest");t&&(e.end=t,delete e.start)}e.limit=r,s.push({...t,limit:(t.limit??0)+r}),o.push(e)}const c=this._convertQueryResultsToMedia(await this._handleQuery(o,a));if(!c.length)return null;const l=ey(t.concat(c));return l.length===t.length?null:{queries:s,results:l}}async getMediaDownloadPath(e){const t=this._store.getCameraConfigForMedia(e),n=this._store.getEngineForMedia(e),a=this._api.getHASSManager().getHASS();return t&&n&&a?await n.getMediaDownloadPath(a,t,e):null}getMediaCapabilities(e){const t=this._store.getEngineForMedia(e);return t?t.getMediaCapabilities(e):null}async favoriteMedia(e,t){const n=this._store.getCameraConfigForMedia(e),a=this._store.getEngineForMedia(e),i=this._api.getHASSManager().getHASS();if(!n||!a||!i)return;const r=new Date;await this._requestLimit.add((()=>a.favoriteMedia(i,n,e,t))),B_(this._api.getConfigManager().getCardWideConfig(),"Frigate Card CameraManager favorite request (",`Duration: ${((new Date).getTime()-r.getTime())/1e3}s,`,"Media:",e.getID(),", Favorite:",t,")")}areMediaQueriesResultsFresh(e,t){const n=new Date;for(const a of e){const e=this._store.getEnginesForCameraIDs(a.cameraIDs);for(const[i,r]of e??[]){const e=i.getQueryResultMaxAge({...a,cameraIDs:r});if(null!==e&&Ud(t,{seconds:e})a?null:await this._requestLimit.add((()=>i.getMediaSeekTime(r,this._store,e,t)))??null}async _handleQuery(e,t){const n=Wg(e),a=new Map,i=new Date,r=this._api.getHASSManager().getHASS();if(!r)return a;const o=async(e,n)=>{let i=null; -/* istanbul ignore else: the else path cannot be reached -- @preserve */ty.isEventQuery(n)?i=await e.getEvents(r,this._store,n,t):ty.isRecordingQuery(n)?i=await e.getRecordings(r,this._store,n,t):ty.isRecordingSegmentsQuery(n)?i=await e.getRecordingSegments(r,this._store,n,t):ty.isMediaMetadataQuery(n)&&(i=await e.getMediaMetadata(r,this._store,n,t)),i?.forEach(((e,t)=>a.set(t,e)))},s=async e=>{const t=this._store.getEnginesForCameraIDs(e.cameraIDs);t&&await Promise.all(Array.from(t.keys()).map((n=>this._requestLimit.add((()=>o(n,{...e,cameraIDs:t.get(n)}))))))};await Promise.all(n.map((e=>s(e))));const c=(l=Array.from(a.values()).map((e=>Number(e.cached??0))))&&l.length?function(e,t){for(var n,a=-1,i=e.length;++athis._store.getCamera(e))).filter(sf);return new Q_({live:t.some((e=>e.getCapabilities()?.has("live"))),clips:t.some((e=>e.getCapabilities()?.has("clips"))),recordings:t.some((e=>e.getCapabilities()?.has("recordings"))),snapshots:t.some((e=>e.getCapabilities()?.has("snapshots"))),"favorite-events":t.some((e=>e.getCapabilities()?.has("favorite-events"))),"favorite-recordings":t.some((e=>e.getCapabilities()?.has("favorite-recordings"))),seek:t.some((e=>e.getCapabilities()?.has("seek"))),menu:t.some((e=>e.getCapabilities()?.has("menu")))})}async executePTZAction(e,t,n){const a=this._store.getCameraConfig(e);if(!a)return;const i=q_(a,t,n);if(i)return await this._api.getActionsManager().executeActions(i);const r=this._api.getHASSManager().getHASS(),o=this._store.getEngineForCameraID(e);return o&&r?await this._requestLimit.add((()=>o.executePTZAction(r,a,t,n))):void 0}}class iy{constructor(e){this._cache=new Map,this._keyCallback=e}has(e){return this._cache.has(e)}getMatches(e){return[...this._cache.values()].filter(e)}get(e){return this._cache.get(e)??null}add(e){const t=e=>this._cache.set(this._keyCallback(e),e);Array.isArray(e)?e.forEach(t):t(e)}}const ry=ba.object({id:ba.string(),model:ba.string().nullable(),config_entries:ba.string().array(),manufacturer:ba.string().nullable()}).array();class oy{constructor(e){this._fetchedDeviceList=!1,this._cache=e}async getDevice(e,t){return this._cache.has(t)?this._cache.get(t):(await this._fetchDeviceList(e),this._cache.get(t)??null)}async getMatchingDevices(e,t){return await this._fetchDeviceList(e),this._cache.getMatches(t)}async _fetchDeviceList(e){if(this._fetchedDeviceList)return;let t=null;try{t=await $v(e,ry,{type:"config/device_registry/list"})}catch(e){return void Gg(e)}this._cache.add(t),this._fetchedDeviceList=!0}}const sy=ba.object({config_entry_id:ba.string().nullable(),device_id:ba.string().nullable(),disabled_by:ba.string().nullable(),entity_id:ba.string(),hidden_by:ba.string().nullable(),platform:ba.string(),translation_key:ba.string().nullable(),unique_id:ba.string().or(ba.number()).optional()}),cy=sy.array();class ly{constructor(e){this._fetchedEntityList=!1,this._cache=e}async getEntity(e,t){const n=this._cache.get(t);if(n)return n;let a=null;try{a=await $v(e,sy,{type:"config/entity_registry/get",entity_id:t})}catch(e){return Gg(e),null}return this._cache.add(a),a}async getMatchingEntities(e,t){return await this.fetchEntityList(e),this._cache.getMatches(t)}async getEntities(e,t){const n=new Map;return await Promise.all(t.map((async t=>{const a=await this.getEntity(e,t);a&&n.set(t,a)}))),n}async fetchEntityList(e){if(this._fetchedEntityList)return;let t=null;try{t=await $v(e,cy,{type:"config/entity_registry/list"})}catch(e){return void Gg(e)}this._cache.add(t),this._fetchedEntityList=!0}}class dy extends Map{constructor(e={}){if(super(),!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");if("number"==typeof e.maxAge&&0===e.maxAge)throw new TypeError("`maxAge` must be a number greater than 0");this.maxSize=e.maxSize,this.maxAge=e.maxAge||Number.POSITIVE_INFINITY,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_emitEvictions(e){if("function"==typeof this.onEviction)for(const[t,n]of e)this.onEviction(t,n.value)}_deleteIfExpired(e,t){return"number"==typeof t.expiry&&t.expiry<=Date.now()&&("function"==typeof this.onEviction&&this.onEviction(e,t.value),this.delete(e))}_getOrDeleteIfExpired(e,t){if(!1===this._deleteIfExpired(e,t))return t.value}_getItemValue(e,t){return t.expiry?this._getOrDeleteIfExpired(e,t):t.value}_peek(e,t){const n=t.get(e);return this._getItemValue(e,n)}_set(e,t){this.cache.set(e,t),this._size++,this._size>=this.maxSize&&(this._size=0,this._emitEvictions(this.oldCache),this.oldCache=this.cache,this.cache=new Map)}_moveToRecent(e,t){this.oldCache.delete(e),this._set(e,t)}*_entriesAscending(){for(const e of this.oldCache){const[t,n]=e;if(!this.cache.has(t)){!1===this._deleteIfExpired(t,n)&&(yield e)}}for(const e of this.cache){const[t,n]=e;!1===this._deleteIfExpired(t,n)&&(yield e)}}get(e){if(this.cache.has(e)){const t=this.cache.get(e);return this._getItemValue(e,t)}if(this.oldCache.has(e)){const t=this.oldCache.get(e);if(!1===this._deleteIfExpired(e,t))return this._moveToRecent(e,t),t.value}}set(e,t,{maxAge:n=this.maxAge}={}){const a="number"==typeof n&&n!==Number.POSITIVE_INFINITY?Date.now()+n:void 0;return this.cache.has(e)?this.cache.set(e,{value:t,expiry:a}):this._set(e,{value:t,expiry:a}),this}has(e){return this.cache.has(e)?!this._deleteIfExpired(e,this.cache.get(e)):!!this.oldCache.has(e)&&!this._deleteIfExpired(e,this.oldCache.get(e))}peek(e){return this.cache.has(e)?this._peek(e,this.cache):this.oldCache.has(e)?this._peek(e,this.oldCache):void 0}delete(e){const t=this.cache.delete(e);return t&&this._size--,this.oldCache.delete(e)||t}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}resize(e){if(!(e&&e>0))throw new TypeError("`maxSize` must be a number greater than 0");const t=[...this._entriesAscending()],n=t.length-e;n<0?(this.cache=new Map(t),this.oldCache=new Map,this._size=t.length):(n>0&&this._emitEvictions(t.slice(0,n)),this.oldCache=new Map(t.slice(n)),this.cache=new Map,this._size=0),this.maxSize=e}*keys(){for(const[e]of this)yield e}*values(){for(const[,e]of this)yield e}*[Symbol.iterator](){for(const e of this.cache){const[t,n]=e;!1===this._deleteIfExpired(t,n)&&(yield[t,n.value])}for(const e of this.oldCache){const[t,n]=e;if(!this.cache.has(t)){!1===this._deleteIfExpired(t,n)&&(yield[t,n.value])}}}*entriesDescending(){let e=[...this.cache];for(let t=e.length-1;t>=0;--t){const n=e[t],[a,i]=n;!1===this._deleteIfExpired(a,i)&&(yield[a,i.value])}e=[...this.oldCache];for(let t=e.length-1;t>=0;--t){const n=e[t],[a,i]=n;if(!this.cache.has(a)){!1===this._deleteIfExpired(a,i)&&(yield[a,i.value])}}}*entriesAscending(){for(const[e,t]of this._entriesAscending())yield[e,t.value]}get size(){if(!this._size)return this.oldCache.size;let e=0;for(const t of this.oldCache.keys())this.cache.has(t)||e++;return Math.min(this._size+e,this.maxSize)}entries(){return this.entriesAscending()}forEach(e,t=this){for(const[n,a]of this.entriesAscending())e.call(t,a,n,this)}get[Symbol.toStringTag](){return JSON.stringify([...this.entriesAscending()])}}class uy{constructor(){this._cache=new dy({maxSize:1e3})}has(e){return this._cache.has(e)}get(e){return this._cache.get(e)}set(e,t){this._cache.set(e,t)}}const hy=async(e,t,n)=>{const a=n?n.get(t):void 0;if(a)return a;const i={type:"media_source/resolve_media",media_content_id:t};let r=null;try{r=await $v(e,js,i)}catch(e){Gg(e)}return n&&r&&n.set(t,r),r};class py{constructor(e,t,n){this._context=e,this._action=t,this._config=n}async execute(e){}async stop(){}}class my extends py{}class gy extends my{async execute(e){const t=this._action.camera??(this._action.triggered?e.getTriggersManager().getMostRecentlyTriggeredCameraID():null),n=e.getViewManager().getView(),a=e.getConfigManager().getConfig();if(t&&n){const i=a?.view.camera_select??"current",r="current"===i?n.view:i;await e.getViewManager().setViewByParametersWithNewQuery({params:{view:r,camera:t},failSafe:!0})}}}class fy extends my{async execute(e){e.getCameraURLManager().openURL()}}class _y extends my{async execute(e){e.getViewManager().setViewDefault()}}class vy extends my{async execute(e){await e.getViewManager().setViewByParametersWithNewQuery({params:{displayMode:this._action.display_mode}})}}class yy extends my{async execute(e){await e.getDownloadManager().downloadViewerMedia()}}class by extends my{async execute(e){e.getExpandManager().toggleExpanded()}}class wy extends my{async execute(e){e.getFullscreenManager().toggleFullscreen()}}class xy extends py{async execute(e){const t=e.getHASSManager().getHASS();t&&at(e.getCardElementManager().getElement(),t,this._config??{},this._action)}}class Cy extends my{async execute(e){console[this._action.level](this._action.message)}}const My=(e,t)=>e.context?.live?.overrides?.get(t??e.camera)??t??e.camera,ky=e=>My(e)!==e.camera,Sy=(e,t)=>{const n=e.context?.live?.overrides??new Map;n.set(e.camera,t),e.mergeInContext({live:{overrides:n}})};class Ey extends my{async execute(e){const t=this._action.media_player,n=e.getMediaPlayerManager(),a=e.getViewManager().getView(),i=a?.queryResults?.getSelectedResult()??null;"stop"===this._action.media_player_action?await n.stop(t):a?.is("live")?await n.playLive(t,My(a)):a?.isViewerView()&&i&&await n.playMedia(t,i)}}class $y extends my{async execute(e){e.getCardElementManager().toggleMenu()}}class Ay extends my{async execute(e){await e.getMicrophoneManager().connect()}}class zy extends my{async execute(e){e.getMicrophoneManager().disconnect()}}class Iy extends my{async execute(e){e.getMicrophoneManager().mute()}}class Ty extends my{async execute(e){await e.getMicrophoneManager().unmute()}}class jy extends my{async execute(e){await(e.getMediaLoadedInfoManager().get()?.player?.mute())}}class Oy extends my{async execute(e){await(e.getMediaLoadedInfoManager().get()?.player?.pause())}}class Dy extends my{async execute(e){await(e.getMediaLoadedInfoManager().get()?.player?.play())}}const Ry=(e,t)=>{if(e.isViewerView()){const n=e.queryResults?.getSelectedResult()?.getID()??null;return"ptz"!==t?.type&&n?{targetID:n,type:"digital"}:null}if(e.is("live")){const n=My(e);let a="digital";return"digital"!==t?.type&&t?.cameraManager&&(Py(t.cameraManager,n)&&(a="ptz"),"ptz"!==a&&"ptz"===t?.type)?null:{targetID:n,type:a}}return null},Py=(e,t)=>!!e.getStore().getCamera(t)?.getCapabilities()?.hasPTZCapability();var Ly=ug((function(e,t,n){Jm(e,t,n)}));const Ny=(e,t)=>{t?.[e]?.inProgressAction?.stop()},Fy=(e,t,n,a)=>{Ly(t,{[n]:{[e]:{inProgressAction:a}}})};class Vy extends my{constructor(){super(...arguments),this._timer=new xf}async stop(){this._timer.stop()}async execute(e){const t=e.getViewManager().getView();if(!t)return;const n=this._action.camera??Ry(t,{type:"ptz",cameraManager:e.getCameraManager()})?.targetID??null,a=n?e.getCameraManager().getCameraCapabilities(n)?.getPTZCapabilities():null,i=n?e.getCameraManager().getStore().getCameraConfig(n)?.ptz:null;if(!n||!a||!i)return;if(!this._action.ptz_action)return void(a.presets&&a.presets.length>=1&&await e.getCameraManager().executePTZAction(n,"preset",{phase:this._action.ptz_phase,preset:a.presets[0]}));const r=(e=>{switch(e){case"left":case"right":case"up":case"down":return e;case"zoom_in":return"zoomIn";case"zoom_out":return"zoomOut"}return null})(this._action.ptz_action);if(r&&a[r]?.includes(this._action.ptz_phase?"continuous":"relative")||"preset"===this._action.ptz_action)return await e.getCameraManager().executePTZAction(n,this._action.ptz_action,{phase:this._action.ptz_phase,preset:this._action.ptz_preset});if("start"===this._action.ptz_phase){Ny(n,this._context.ptz),Fy(n,this._context,"ptz",this);const t=async()=>{this._action.ptz_action&&await e.getCameraManager().executePTZAction(n,this._action.ptz_action,{preset:this._action.ptz_preset}),this._timer.start(i.r2c_delay_between_calls_seconds,t)};await t()}else"stop"===this._action.ptz_phase?Ny(n,this._context.ptz):(await e.getCameraManager().executePTZAction(n,this._action.ptz_action,{preset:this._action.ptz_preset,phase:"start"}),this._timer.start(i.c2r_delay_between_calls_seconds,(async()=>{this._action.ptz_action&&await e.getCameraManager().executePTZAction(n,this._action.ptz_action,{preset:this._action.ptz_preset,phase:"stop"})})))}}class Hy extends my{async execute(e){e.getViewManager().setViewWithMergedContext({ptzControls:{enabled:this._action.enabled}})}}function By(e,t,n){return void 0===n&&(n=t,t=void 0),void 0!==n&&(n=(n=Cg(n))==n?n:0),void 0!==t&&(t=(t=Cg(t))==t?t:0),function(e,t,n){return e==e&&(void 0!==n&&(e=e<=n?e:n),void 0!==t&&(e=e>=t?e:t)),e}(Cg(e),t,n)}const qy=50,Uy=50,Wy=1,Zy=4,Qy=e=>void 0===e?.pan?.x&&void 0===e?.pan?.y&&void 0===e?.zoom;class Gy{constructor(e){this._context=e}modify(e){e.mergeInContext(this._context)}}const Yy=(e,t)=>({zoom:{[e]:{observed:t?.observed??void 0,requested:t?.requested??null}}}),Ky=(e,t,n)=>{t&&n&&t.setViewByParameters({modifiers:[new Gy(Yy(n,{observed:e.detail}))]})};class Xy extends my{constructor(){super(...arguments),this._timer=new xf}async _stepChange(e,t){e.getViewManager().setViewWithMergedContext(Yy(t,{requested:this._convertActionToZoomSettings(e.getViewManager().getView()?.context?.zoom?.[t]?.observed)}))}async stop(){this._timer.stop()}async execute(e){const t=e.getViewManager().getView();if(!t)return;const n=this._action.target_id??Ry(t,{type:"digital",cameraManager:e.getCameraManager()})?.targetID;return n?this._action.absolute||!this._action.ptz_phase?await this._stepChange(e,n): -/* istanbul ignore else: the else path cannot be reached -- @preserve */ -void("start"===this._action.ptz_phase?(Ny(n,this._context.ptzDigital),Fy(n,this._context,"ptzDigital",this),await this._stepChange(e,n),this._timer.startRepeated(.1,(()=>this._stepChange(e,n)))):"stop"===this._action.ptz_phase&&(Ny(n,this._context.ptzDigital),delete this._context.ptzDigital?.[n])):void 0}_convertActionToZoomSettings(e){if(!this._action.absolute&&!this._action.ptz_action)return{};if(this._action.absolute)return this._action.absolute;const t=e?.zoom??1,n=e?.pan?.x??50,a=e?.pan?.y??50,i="zoom_in"===this._action.ptz_action?.1:"zoom_out"===this._action.ptz_action?-.1:0,r="left"===this._action.ptz_action?-5:"right"===this._action.ptz_action?5:0,o="up"===this._action.ptz_action?-5:"down"===this._action.ptz_action?5:0;return{zoom:By(t+i,1,10),pan:{x:By(n+r,0,100),y:By(a+o,0,100)}}}}class Jy extends my{async execute(e){const t=e.getViewManager().getView();let n=null,a=null;if(this._action.target_id)n=this._action.target_id,a=Py(e.getCameraManager(),n)?"ptz":"digital";else if(t){const i=Ry(t,{cameraManager:e.getCameraManager()});n=i?.targetID??null,a=i?.type??null}n&&null!==a&&("ptz"===a?this._toPTZAction(n):this._toPTZDigitalAction(n)).execute(e)}_toPTZAction(e){return new Vy(this._context,(t={cardID:this._action.card_id,cameraID:e,ptzAction:this._action.ptz_action,ptzPhase:this._action.ptz_phase,ptzPreset:this._action.ptz_preset},{action:"fire-dom-event",frigate_card_action:"ptz",...t?.cardID&&{card_id:t.cardID},...t?.ptzAction&&{ptz_action:t.ptzAction},...t?.ptzPhase&&{ptz_phase:t.ptzPhase},...t?.ptzPreset&&{ptz_preset:t.ptzPreset},...t?.cameraID&&{camera:t.cameraID}}),this._config);var t}_toPTZDigitalAction(e){return new Xy(this._context,(t={cardID:this._action.card_id,ptzPhase:this._action.ptz_phase,ptzAction:this._action.ptz_action,targetID:e},{action:"fire-dom-event",frigate_card_action:"ptz_digital",...t?.cardID&&{card_id:t.cardID},...t?.ptzAction&&{ptz_action:t.ptzAction},...t?.ptzPhase&&{ptz_phase:t.ptzPhase},...t?.absolute&&{absolute:t.absolute},...t?.targetID&&{target_id:t.targetID}}),this._config);var t}}class eb extends my{async execute(e){await e.getDownloadManager().downloadScreenshot()}}class tb extends my{async execute(e){var t;await af((t=this._action.duration,3600*(t.h??0)+60*(t.m??0)+(t.s??0)+(t.ms??0)/1e3))}}class nb extends my{async execute(e){switch(this._action.status_bar_action){case"reset":e.getStatusBarItemManager().removeAllDynamicStatusBarItems();break;case"add":this._action.items?.forEach((t=>e.getStatusBarItemManager().addDynamicStatusBarItem(t)));break;case"remove":this._action.items?.forEach((t=>e.getStatusBarItemManager().removeDynamicStatusBarItem(t)))}}}class ab{modify(e){(e=>{const t=e.context?.live?.overrides;t&&t.has(e.camera)&&e.context?.live?.overrides?.delete(e.camera)})(e)}}class ib extends my{async execute(e){e.getViewManager().setViewByParameters({modifiers:[new ab]})}}class rb{constructor(e){this._api=e}modify(e){const t=[...this._api.getCameraManager().getStore().getAllDependentCameras(e.camera,"substream")];if(t.length<=1)return;const n=My(e),a=t.indexOf(n),i=a<0?0:(a+1)%t.length;Sy(e,t[i])}}class ob extends my{async execute(e){e.getViewManager().setViewByParameters({modifiers:[new rb(e)]})}}class sb{constructor(e){this._substreamID=e}modify(e){Sy(e,this._substreamID)}}class cb extends my{async execute(e){e.getViewManager().setViewByParameters({modifiers:[new sb(this._action.camera)]})}}class lb extends my{async execute(e){await(e.getMediaLoadedInfoManager().get()?.player?.unmute())}}class db extends my{async execute(e){e.getViewManager().setViewByParametersWithNewQuery({params:{view:this._action.frigate_card_action}})}}class ub{createAction(e,t,n){const a=mf(t);if("fire-dom-event"!==t.action||!a)return new xy(e,t,n?.config);if(a.card_id&&a.card_id!==n?.cardID)return null;switch(a.frigate_card_action){case"default":return new _y(e,a,n?.config);case"clip":case"clips":case"image":case"live":case"recording":case"recordings":case"snapshot":case"snapshots":case"timeline":case"diagnostics":return new db(e,a,n?.config);case"sleep":return new tb(e,a,n?.config);case"download":return new yy(e,a,n?.config);case"camera_ui":return new fy(e,a,n?.config);case"expand":return new by(e,a,n?.config);case"fullscreen":return new wy(e,a,n?.config);case"menu_toggle":return new $y(e,a,n?.config);case"camera_select":return new gy(e,a,n?.config);case"live_substream_select":return new cb(e,a,n?.config);case"live_substream_off":return new ib(e,a,n?.config);case"live_substream_on":return new ob(e,a,n?.config);case"media_player":return new Ey(e,a,n?.config);case"microphone_connect":return new Ay(e,a,n?.config);case"microphone_disconnect":return new zy(e,a,n?.config);case"microphone_mute":return new Iy(e,a,n?.config);case"microphone_unmute":return new Ty(e,a,n?.config);case"mute":return new jy(e,a,n?.config);case"unmute":return new lb(e,a,n?.config);case"play":return new Dy(e,a,n?.config);case"pause":return new Oy(e,a,n?.config);case"screenshot":return new eb(e,a,n?.config);case"display_mode_select":return new vy(e,a,n?.config);case"ptz":return new Vy(e,a,n?.config);case"ptz_digital":return new Xy(e,a,n?.config);case"ptz_multi":return new Jy(e,a,n?.config);case"ptz_controls":return new Hy(e,a,n?.config);case"log":return new Cy(e,a,n?.config);case"status_bar":return new nb(e,a,n?.config)} -/* istanbul ignore next: this path cannot be reached -- @preserve */ -/* istanbul ignore next: this path cannot be reached -- @preserve */ -return console.warn(`Frigate card received unknown card action: ${a.frigate_card_action}`),null}}class hb{constructor(e,t,n){this._actions=[],this._factory=new ub,this._stopped=!1,this._context=e;for(const a of Wg(t)){const t=this._factory.createAction(e,a,n);t&&this._actions.push(t)}}async execute(e){for(const t of this._actions){if(this._stopped)break;await t.execute(e)}}async stop(){this._stopped=!0}}const pb=ba.object({action:ba.enum(["tap","double_tap","hold","start_tap","end_tap"])}),mb=ba.object({detail:pb});class gb{constructor(e){this._actionsInFlight=[],this._actionContext={},this.handleInteractionEvent=e=>{const t=mb.safeParse(e);if(!t.success)return;const n=t.data.detail.action,a=this.getMergedActions(),i=yf(n,a);a&&n&&i&&this.executeActions(i,a)},this.handleCustomActionEvent=e=>{"detail"in e&&this.executeActions(e.detail)},this.handleActionExecutionRequestEvent=async e=>{await this.executeActions(e.detail.action,e.detail.config)},this._api=e}getMergedActions(){const e=this._api.getViewManager().getView();if(this._api.getMessageManager().hasMessage())return{};const t=this._api.getConfigManager().getConfig();let n;if(e?.is("live"))n=t?.live.actions;else if(e?.isGalleryView())n=t?.media_gallery?.actions;else if(e?.isViewerView())n=t?.media_viewer.actions;else{if(!e?.is("image"))return{};n=t?.image?.actions}return{...t?.view.actions,...n}}uninitialize(){this._actionsInFlight.forEach((e=>e.stop()))}async executeActions(e,t){const n=new hb(this._actionContext,e,{config:t,cardID:this._api.getConfigManager().getConfig()?.card_id});this._actionsInFlight.push(n),await n.execute(this._api),this._actionsInFlight=this._actionsInFlight.filter((e=>e!==n))}}class fb{constructor(e){this._automations=[],this._priorEvaluations=new Map,this._nestedAutomationExecutions=0,this._api=e}deleteAutomations(e){this._automations=this._automations.filter((t=>t.tag!==e))}addAutomations(e){this._automations.push(...e)}execute(){if(!this._api.getHASSManager().hasHASS()||!this._api.getInitializationManager().isInitializedMandatory()||this._api.getMessageManager().hasErrorMessage())return;const e=[];for(const t of this._automations){const n=this._api.getConditionsManager().evaluateConditions(t.conditions),a=n?t.actions:t.actions_not,i=this._priorEvaluations.get(t);this._priorEvaluations.set(t,n),n!==i&&a&&e.push(...a)}if(!e.length)return;(async e=>{++this._nestedAutomationExecutions,this._nestedAutomationExecutions>10?this._api.getMessageManager().setMessageIfHigherPriority({type:"error",message:V_("error.too_many_automations")}):(await this._api.getActionsManager().executeActions(e),--this._nestedAutomationExecutions)})(e)}}class _b{constructor(e){this._api=e}openURL(){const e=this.getCameraURL();e&&window.open(e)}hasCameraURL(){return!!this.getCameraURL()}getCameraURL(){const e=this._api.getViewManager().getView(),t=e?.queryResults?.getSelectedResult()??null,n=e?.camera?this._api.getCameraManager().getCameraEndpoints(e.camera,{view:e.view,...t&&{media:t}})??null:null;return n?.ui?.endpoint??null}}const vb=(e,t)=>!!((e.attributes.supported_features??0)&t),yb=e=>(e=>vb(e,4)&&"number"==typeof e.attributes.in_progress)(e)||!!e.attributes.in_progress,bb=e=>{switch(e){case"armed_away":return"mdi:shield-lock";case"armed_vacation":return"mdi:shield-airplane";case"armed_home":return"mdi:shield-home";case"armed_night":return"mdi:shield-moon";case"armed_custom_bypass":return"mdi:security";case"pending":case"arming":return"mdi:shield-sync";case"triggered":return"mdi:bell-ring";case"disarmed":return"mdi:shield-off";default:return"mdi:shield"}},wb=(e,t)=>{const n="off"===e;switch(t?.attributes.device_class){case"battery":return n?"mdi:battery":"mdi:battery-outline";case"battery_charging":return n?"mdi:battery":"mdi:battery-charging";case"cold":return n?"mdi:thermometer":"mdi:snowflake";case"connectivity":return n?"mdi:close-network-outline":"mdi:check-network-outline";case"door":return n?"mdi:door-closed":"mdi:door-open";case"garage_door":return n?"mdi:garage":"mdi:garage-open";case"power":case"plug":return n?"mdi:power-plug-off":"mdi:power-plug";case"gas":case"problem":case"safety":case"tamper":return n?"mdi:check-circle":"mdi:alert-circle";case"smoke":return n?"mdi:check-circle":"mdi:smoke";case"heat":return n?"mdi:thermometer":"mdi:fire";case"light":return n?"mdi:brightness5":"mdi:brightness-7";case"lock":return n?"mdi:lock":"mdi:lock-open";case"moisture":return n?"mdi:water-off":"mdi:water";case"motion":return n?"mdi:motion-sensor-off":"mdi:motion-sensor";case"occupancy":case"presence":return n?"mdi:home-outline":"mdi:home";case"opening":return n?"mdi:square":"mdi:square-outline";case"running":return n?"mdi:stop":"mdi:play";case"sound":return n?"mdi:music-note-off":"mdi:music-note";case"update":return n?"mdi:package":"mdi:package-up";case"vibration":return n?"mdi:crop-portrait":"mdi:vibrate";case"window":return n?"mdi:window-closed":"mdi:window-open";default:return n?"mdi:radiobox-blank":"mdi:checkbox-marked-circle"}},xb=(e,t)=>{const n="closed"!==e;switch(t?.attributes.device_class){case"garage":switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:garage";default:return"mdi:garage-open"}case"gate":switch(e){case"opening":case"closing":return"mdi:gate-arrow-right";case"closed":return"mdi:gate";default:return"mdi:gate-open"}case"door":return n?"mdi:door-open":"mdi:door-closed";case"damper":return n?"md:circle":"mdi:circle-slice-8";case"shutter":switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:window-shutter";default:return"mdi:window-shutter-open"}case"curtain":switch(e){case"opening":return"mdi:arrow-split-vertical";case"closing":return"mdi:arrow-collapse-horizontal";case"closed":return"mdi:curtains-closed";default:return"mdi:curtains"}case"blind":case"shade":switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:blinds";default:return"mdi:blinds-open"}case"window":switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:window-closed";default:return"mdi:window-open"}}switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:window-closed";default:return"mdi:window-open"}},Cb={apparent_power:"mdi:flash",aqi:"mdi:air-filter",carbon_dioxide:"mdi:molecule-co2",carbon_monoxide:"mdi:molecule-co",current:"mdi:current-ac",date:"mdi:calendar",energy:"mdi:lightning-bolt",frequency:"mdi:sine-wave",gas:"mdi:gas-cylinder",humidity:"mdi:water-percent",illuminance:"mdi:brightness-5",monetary:"mdi:cash",nitrogen_dioxide:"mdi:molecule",nitrogen_monoxide:"mdi:molecule",nitrous_oxide:"mdi:molecule",ozone:"mdi:molecule",pm1:"mdi:molecule",pm10:"mdi:molecule",pm25:"mdi:molecule",power:"mdi:flash",power_factor:"mdi:angle-acute",pressure:"mdi:gauge",reactive_power:"mdi:flash",signal_strength:"mdi:wifi",sulphur_dioxide:"mdi:molecule",temperature:"mdi:thermometer",timestamp:"mdi:clock",volatile_organic_compounds:"mdi:molecule",voltage:"mdi:sine-wave"},Mb={10:"mdi:battery-10",20:"mdi:battery-20",30:"mdi:battery-30",40:"mdi:battery-40",50:"mdi:battery-50",60:"mdi:battery-60",70:"mdi:battery-70",80:"mdi:battery-80",90:"mdi:battery-90",100:"mdi:battery"},kb={10:"mdi:battery-charging-10",20:"mdi:battery-charging-20",30:"mdi:battery-charging-30",40:"mdi:battery-charging-40",50:"mdi:battery-charging-50",60:"mdi:battery-charging-60",70:"mdi:battery-charging-70",80:"mdi:battery-charging-80",90:"mdi:battery-charging-90",100:"mdi:battery-charging"},Sb=(e,t)=>{const n=Number(e);if(isNaN(n))return"off"===e?"mdi:battery":"on"===e?"mdi:battery-alert":"mdi:battery-unknown";const a=10*Math.round(n/10);return t&&n>=10?kb[a]:t?"mdi:battery-charging-outline":n<=5?"mdi:battery-alert-variant-outline":Mb[a]},Eb=e=>{const t=e?.attributes.device_class;if(t&&t in Cb)return Cb[t];if("battery"===t)return e?((e,t)=>{const n=e.state;return Sb(n,"on"===t?.state)})(e):"mdi:battery";const n=e?.attributes.unit_of_measurement;return"°C"===n||"°F"===n?"mdi:thermometer":void 0},$b="mdi:bookmark",Ab={alert:"mdi:alert",air_quality:"mdi:air-filter",automation:"mdi:robot",calendar:"mdi:calendar",camera:"mdi:video",climate:"mdi:thermostat",configurator:"mdi:cog",conversation:"mdi:text-to-speech",counter:"mdi:counter",fan:"mdi:fan",google_assistant:"mdi:google-assistant",group:"mdi:google-circles-communities",homeassistant:"mdi:home-assistant",homekit:"mdi:home-automation",image_processing:"mdi:image-filter-frames",input_button:"mdi:gesture-tap-button",input_datetime:"mdi:calendar-clock",input_number:"mdi:ray-vertex",input_select:"mdi:format-list-bulleted",input_text:"mdi:form-textbox",light:"mdi:lightbulb",mailbox:"mdi:mailbox",notify:"mdi:comment-alert",number:"mdi:ray-vertex",persistent_notification:"mdi:bell",person:"mdi:account",plant:"mdi:flower",proximity:"mdi:apple-safari",remote:"mdi:remote",scene:"mdi:palette",script:"mdi:script-text",select:"mdi:format-list-bulleted",sensor:"mdi:eye",siren:"mdi:bullhorn",simple_alarm:"mdi:bell",sun:"mdi:white-balance-sunny",timer:"mdi:timer-outline",updater:"mdi:cloud-upload",vacuum:"mdi:robot-vacuum",water_heater:"mdi:thermometer",weather:"mdi:weather-cloudy",zone:"mdi:map-marker-radius"};function zb(e,t,n,a){switch(e){case"alarm_control_panel":return bb(n);case"binary_sensor":return wb(n,t);case"button":switch(t?.attributes.device_class){case"restart":return"mdi:restart";case"update":return"mdi:package-up";default:return"mdi:gesture-tap-button"}case"cover":return xb(n,t);case"device_tracker":return"router"===t?.attributes.source_type?"home"===n?"mdi:lan-connect":"mdi:lan-disconnect":["bluetooth","bluetooth_le"].includes(t?.attributes.source_type)?"home"===n?"mdi:bluetooth-connect":"mdi:bluetooth":"not_home"===n?"mdi:account-arrow-right":"mdi:account";case"humidifier":return n&&"off"===n?"mdi:air-humidifier-off":"mdi:air-humidifier";case"input_boolean":return"on"===n?"mdi:check-circle-outline":"mdi:close-circle-outline";case"lock":switch(n){case"unlocked":return"mdi:lock-open";case"jammed":return"mdi:lock-alert";case"locking":case"unlocking":return"mdi:lock-clock";default:return"mdi:lock"}case"media_player":switch(t?.attributes.device_class){case"speaker":switch(n){case"playing":return"mdi:speaker-play";case"paused":return"mdi:speaker-pause";case"off":return"mdi:speaker-off";default:return"mdi:speaker"}case"tv":switch(n){case"playing":return"mdi:television-play";case"paused":return"mdi:television-pause";case"off":return"mdi:television-off";default:return"mdi:television"}default:switch(n){case"playing":case"paused":return"mdi:cast-connected";case"off":return"mdi:cast-off";default:return"mdi:cast"}}case"switch":switch(t?.attributes.device_class){case"outlet":return"on"===n?"mdi:power-plug":"mdi:power-plug-off";case"switch":return"on"===n?"mdi:toggle-switch":"mdi:toggle-switch-off";default:return"mdi:flash"}case"zwave":switch(n){case"dead":return"mdi:emoticon-dead";case"sleeping":return"mdi:sleep";case"initializing":return"mdi:timer-sand";default:return"mdi:z-wave"}case"sensor":{const e=Eb(t);if(e)return e;break}case"input_datetime":if(!t?.attributes.has_date)return"mdi:clock";if(!t.attributes.has_time)return"mdi:calendar";break;case"sun":return"above_horizon"===t?.state?Ab[e]:"mdi:weather-night";case"update":return"on"===t?.state?yb(t)?"mdi:package-down":"mdi:package-up":"mdi:package"}return e in Ab?Ab[e]:a??$b}async function Ib(e,t,n){const a={type:"auth/sign_path",path:t,expires:n},i=await $v(e,Os,a);return i?e.hassUrl(i.path):null}function Tb(e,t,n,a){if(!e||!n||!n.length)return[];const i=[];for(const r of n){const n=t?.states[r],o=e.states[r];if((a?.stateOnly&&n?.state!==o?.state||!a?.stateOnly&&n!==o)&&(i.push({entityID:r,oldState:n,newState:o}),a?.firstOnly))break}return i}function jb(e,t,n,a){return!!Tb(e,t,n,{...a,firstOnly:!0}).length}function Ob(e){if("off"===e.state||!e.attributes.brightness)return"";return`brightness(${(e.attributes.brightness+245)/5}%)`}function Db(e){return"off"===e.state?"":e.attributes.rgb_color?`rgb(${e.attributes.rgb_color.join(",")})`:""}function Rb(e){return{color:Db(e),filter:Ob(e)}}function Pb(e,t){if(!t.entity)return t;const n=e.states[t.entity];n&&t.state_color&&(t.style={...Rb(n),...t.style}),t.title=t.title??(n?.attributes?.friendly_name||t.entity),t.icon=t.icon??Nb(e,t.entity);const a=n?function(e){return Ye(e.entity_id)}(n):void 0;return t.data_domain=t.state_color||"light"===a&&!1!==t.state_color?a:void 0,n&&(t.data_state=(e=>{const t=e.entity_id.split(".")[0];let n=e.state;return"climate"===t&&(n=e.attributes.hvac_action),n})(n)),t}function Lb(e,t){return t?e?.states[t]?.attributes?.friendly_name:void 0}function Nb(e,t,n){const a=e.states[t];return a&&a.attributes.icon?a.attributes.icon:zb(Ye(t),a,a?.state,n)}const Fb=async()=>{if(["ha-button-menu","ha-button","ha-camera-stream","ha-card","ha-circular-progress","ha-hls-player","ha-icon-button","ha-icon","ha-menu-button","ha-selector","ha-web-rtc-player"].every((e=>customElements.get(e))))return!0;const e=await window.loadCardHelpers();await e.createCardElement({type:"picture-glance",entities:[],camera_image:"dummy-to-load-editor-components"}),await customElements.whenDefined("hui-picture-glance-card");const t=customElements.get("hui-picture-glance-card");if(!t)return!1;const n=new t;return await n.constructor.getConfigElement(),!0},Vb=e=>!!e&&["on","open"].includes(e),Hb=(e,t)=>{if(!e)return[];const n=Object.keys(e.states).filter((e=>!t||e.substr(0,e.indexOf("."))===t));return n.sort(),n};function Bb(e){return!!e?.startsWith("/")}function qb(e,t){return Bb(t)?e.hassUrl(t):t??null}class Ub{constructor(){this._initialized=new Set}async initializeMultipleIfNecessary(e){return(await tf(Object.entries(e),(async([e,t])=>await this.initializeIfNecessary(e,t)))).every(Boolean)}async initializeIfNecessary(e,t){return!!this._initialized.has(e)||(t?!!await t()&&(this._initialized.add(e),!0):(this._initialized.add(e),!0))}uninitialize(e){this._initialized.delete(e)}isInitialized(e){return this._initialized.has(e)}isInitializedMultiple(e){return e.every((e=>this.isInitialized(e)))}}var Wb;!function(e){e.LANGUAGES="languages",e.SIDE_LOAD_ELEMENTS="side-load-elements",e.CAMERAS="cameras",e.MICROPHONE_CONNECT="microphone-connect",e.VIEW="view"}(Wb||(Wb={}));class Zb{constructor(e,t){this._initializationQueue=new w_({concurrency:1}),this._everInitialized=!1,this._api=e,this._initializer=t??new Ub}wasEverInitialized(){return this._everInitialized}isInitializedMandatory(){return!!this._api.getConfigManager().getConfig()&&this._initializer.isInitializedMultiple([Wb.LANGUAGES,Wb.SIDE_LOAD_ELEMENTS,Wb.CAMERAS,...this._api.getMicrophoneManager().shouldConnectOnInitialization()?[Wb.MICROPHONE_CONNECT]:[],Wb.VIEW])}async initializeMandatory(){await this._initializationQueue.add((()=>this._initializeMandatory()))}async _initializeMandatory(){const e=this._api.getHASSManager().getHASS();if(!e||this.isInitializedMandatory())return;if(!await this._initializer.initializeMultipleIfNecessary({[Wb.LANGUAGES]:async()=>await(async e=>{const t=F_(e);return"ca"===t?L_[t]=await import("./lang-ca-449daa4a.js"):"it"===t?L_[t]=await import("./lang-it-2a20a319.js"):"pt"===t?L_[t]=await import("./lang-pt-PT-c4863423.js"):"pt_BR"===t?L_[t]=await import("./lang-pt-BR-83a703b9.js"):"fr"===t&&(L_[t]=await import("./lang-fr-674e5de5.js")),t&&(N_=t),!0})(e),[Wb.SIDE_LOAD_ELEMENTS]:async()=>await Fb()}))return;this._api.getConfigManager().getConfig()&&await this._initializer.initializeMultipleIfNecessary({[Wb.CAMERAS]:async()=>await this._api.getCameraManager().initializeCamerasFromConfig(),...this._api.getMicrophoneManager().shouldConnectOnInitialization()&&{[Wb.MICROPHONE_CONNECT]:async()=>await this._api.getMicrophoneManager().connect()}})&&!this._api.getMessageManager().hasMessage()&&await this._initializer.initializeIfNecessary(Wb.VIEW,this._api.getViewManager().initialize)&&(this._everInitialized=!0,this._api.getCardElementManager().update())}uninitialize(e){this._initializer.uninitialize(e)}}class Qb{constructor(e,t,n,a){this.update=()=>{this._element.requestUpdate()},this._api=e,this._element=t,this._scrollCallback=n,this._menuToggleCallback=a}getElement(){return this._element}scrollReset(){this._scrollCallback()}toggleMenu(){this._menuToggleCallback()}hasUpdated(){return this._element.hasUpdated}elementConnected(){this._api.getInteractionManager().initialize(),this._api.getFullscreenManager().initialize(),this._api.getExpandManager().initialize(),this._api.getMediaLoadedInfoManager().initialize(),this._api.getMicrophoneManager().initialize(),this._api.getKeyboardStateManager().initialize(),this._api.getDefaultManager().initialize(),this._api.getMediaPlayerManager().initialize(),this._api.getHASSManager().getStateWatcher()?.subscribe(this.update,[...this._api.getConfigManager().getConfig()?.view.render_entities??[],...this._api.getMediaPlayerManager().getMediaPlayers()??[]]),of(this._element,(e=>{const t=e.getRootNode();return!!(t&&t instanceof ShadowRoot&&"HUI-PANEL-VIEW"===t.host.tagName)})(this._element),"panel"),of(this._element,!0,"tabindex","0"),this._api.getFullscreenManager().connect(),this._element.addEventListener("mousemove",this._api.getInteractionManager().reportInteraction),this._element.addEventListener("wheel",this._api.getInteractionManager().reportInteraction),this._element.addEventListener("ll-custom",this._api.getActionsManager().handleCustomActionEvent),this._element.addEventListener("action",this._api.getActionsManager().handleInteractionEvent),this._element.addEventListener("action",this._api.getInteractionManager().reportInteraction),this._element.addEventListener("frigate-card:action:execution-request",this._api.getActionsManager().handleActionExecutionRequestEvent),window.addEventListener("location-changed",this._api.getQueryStringManager().requestExecution),window.addEventListener("popstate",this._api.getQueryStringManager().requestExecution),this._api.getQueryStringManager().requestExecution(),this._element.requestUpdate()}elementDisconnected(){of(this._element,!1,"panel"),of(this._element,!1,"tabindex"),this._api.getMediaLoadedInfoManager().clear(),this._api.getFullscreenManager().disconnect(),this._api.getKeyboardStateManager().uninitialize(),this._api.getActionsManager().uninitialize(),this._api.getDefaultManager().uninitialize(),this._api.getHASSManager().getStateWatcher()?.unsubscribe(this.update),this._api.getInitializationManager().uninitialize(Wb.CAMERAS),this._api.getCameraManager().reset(),this._element.removeEventListener("mousemove",this._api.getInteractionManager().reportInteraction),this._element.removeEventListener("wheel",this._api.getInteractionManager().reportInteraction),this._element.removeEventListener("ll-custom",this._api.getActionsManager().handleCustomActionEvent),this._element.removeEventListener("action",this._api.getActionsManager().handleInteractionEvent),this._element.removeEventListener("action",this._api.getInteractionManager().reportInteraction),this._element.removeEventListener("frigate-card:action:execution-request",this._api.getActionsManager().handleActionExecutionRequestEvent),window.removeEventListener("location-changed",this._api.getQueryStringManager().requestExecution),window.removeEventListener("popstate",this._api.getQueryStringManager().requestExecution)}}function Gb(e,t,n){return null==e?e:function(e,t,n,a){if(!hh(e))return e;for(var i=-1,r=(t=sv(t,e)).length,o=r-1,s=e;null!=s&&++i{Gb(e,t,n)},Xb=(e,t,n)=>fv(e,t,n),Jb=(e,t)=>{!function(e,t){null==e||Yb(e,t)}(e,t)},ew=e=>u_(e),tw=(e,t)=>e.replace("#",`[${t.toString()}]`),nw=function(e){let t=!1;for(let n=0;n{const i=Xb(e,t);if(void 0===i)return!1;const r=a?.transform?a.transform(i):i;return!(t===n&&Dv(i,r)||(null===r?a?.keepOriginal||(Jb(e,t),0):void 0===r||(a?.keepOriginal||Jb(e,t),Kb(e,n,r),0)))})(a,e,t,n)}},rw=function(e,t,n){return function(a){let i=iw(e,t,n)(a);return i=cw(bs,iw(e,t,n),(e=>e.overrides))(a)||i,i}},ow=function(e,t){return rw(e,e,{transform:t})},sw=function(e){return rw(e,e,{transform:e=>null})},cw=function(e,t,n){return function(a){let i=!1;const r=Xb(a,e);return Array.isArray(r)&&r.forEach((e=>{const a=n?n(e):e;a&&"object"==typeof a&&(i=t(a)||i)})),i}},lw=(e,t)=>{const n=a=>{let i=!1;if(a&&"object"==typeof a){const r=t?t(a):a;r&&(i=e(r)||i),Array.isArray(a)?a.forEach((e=>{i=n(e)||i})):Object.keys(a).forEach((e=>{i=n(a[e])||i}))}return i};return n},dw=e=>!("object"!=typeof e||!e||void 0===e.mediaLoaded)&&(e.media_loaded=e.mediaLoaded,delete e.mediaLoaded,!0),uw=e=>{if("object"!=typeof e||!e||"object"!=typeof e.conditions||!e.conditions)return!1;const t=e.conditions,n=[];if(void 0!==t.view&&n.push({condition:"view",views:t.view}),void 0!==t.fullscreen&&n.push({condition:"fullscreen",fullscreen:t.fullscreen}),void 0!==t.expand&&n.push({condition:"expand",expand:t.expand}),void 0!==t.camera&&n.push({condition:"camera",cameras:t.camera}),void 0!==t.media_loaded&&n.push({condition:"media_loaded",media_loaded:t.media_loaded}),void 0!==t.state&&Array.isArray(t.state))for(const e of t.state)"object"!=typeof e||!e||void 0===e.state&&void 0===e.state_not&&void 0===e.entity||n.push({condition:"state",...e.state&&{state:e.state},...e.state_not&&{state_not:e.state_not},...e.entity&&{entity:e.entity}});return void 0!==t.media_query&&n.push({condition:"screen",media_query:t.media_query}),!!n.length&&(e.conditions=n,!0)},hw=e=>!("object"!=typeof e||!e||"call-service"!==e.action||"string"!=typeof e.service)&&(e.action="perform-action",e.perform_action=e.service,delete e.service,!0),pw=e=>!("object"!=typeof e||!e||"call-service"!==e.action||void 0===e.service||void 0===e.service_data||void 0!==e.data)&&(e.data=e.service_data,delete e.service_data,!0),mw=e=>!("object"!=typeof e||!e||"custom:frigate-card-action"!==e.action||"frigate_ui"!==e.frigate_card_action)&&(e.frigate_card_action="camera_ui",!0),gw=[cw(bs,dw,(e=>e.conditions)),e=>lw(dw,(e=>e.conditions))("object"==typeof e&&e?e[Ii]:{}),rw("event_gallery",or),rw("menu.buttons.frigate_ui",is),e=>lw(mw)("object"==typeof e&&e?e:{}),cw(Ca,ow("live_provider",(e=>"frigate-jsmpeg"===e?"jsmpeg":e))),rw("live.jsmpeg",ki),rw("live.image",Ci),rw("live.webrtc_card",Si),cw(Ca,rw("frigate.zone","frigate.zones",{transform:e=>Wg(e)})),cw(Ca,rw("frigate.label","frigate.labels",{transform:e=>Wg(e)})),e=>lw(pw)("object"==typeof e&&e?e:{}),function(e){if("object"!=typeof e||!e||!(Ii in e)||!Array.isArray(e[Ii]))return!1;let t=!1;const n=n=>{if(!t){if(!fv(e,"live.controls.ptz")){const{type:t,...a}=n;Gb(e,"live.controls.ptz",a)}t=!0}},a=e=>{const t=[];for(const i of e)if("custom:frigate-card-ptz"===i.type)n(i);else if("conditional"!==i.type&&"custom:frigate-card-conditional"!==i.type||!Array.isArray(i.elements))t.push(i);else{const e=a(i.elements);e.length&&(i.elements=e,t.push(i))}return t},i=a(e[Ii]);return t&&(i.length?e[Ii]=i:delete e[Ii]),t},rw("view.timeout_seconds",Ri),ow("live.lazy_unload",(e=>"all"===e?["unselected","hidden"]:"never"===e?null:Wg(e))),ow("live.auto_play",(e=>"all"===e?null:"never"===e?[]:Wg(e))),ow("live.auto_pause",(e=>"all"===e?["unselected","hidden"]:"never"===e?null:Wg(e))),ow("live.auto_mute",(e=>"all"===e?null:"never"===e?[]:Wg(e))),ow("live.auto_unmute",(e=>"all"===e?["selected","visible","microphone"]:"never"===e?null:Wg(e))),ow("media_viewer.auto_play",(e=>"all"===e?null:"never"===e?[]:Wg(e))),ow("media_viewer.auto_pause",(e=>"all"===e?null:"never"===e?[]:Wg(e))),ow("media_viewer.auto_mute",(e=>"all"===e?null:"never"===e?[]:Wg(e))),ow("media_viewer.auto_unmute",(e=>"all"===e?["selected","visible"]:"never"===e?null:Wg(e))),rw("live.controls.thumbnails.media",io),rw("timeline.media",Ho),rw("live.controls.timeline.media",po),rw("media_viewer.controls.timeline.media",Rr),rw("view.scan",Xi),rw("view.triggers.enabled",ar,{transform:e=>!0===e?"live":null,keepOriginal:!0}),rw("view.triggers.enabled",er,{transform:e=>!0!==e&&null}),rw("view.triggers.untrigger_reset",ir,{transform:e=>e?"default":null}),rw("live.layout",Ai),sw("media_viewer.layout"),sw("image.layout"),cw(bs,uw),e=>lw(uw)("object"==typeof e&&e?e[Ii]:{}),e=>lw(uw)("object"==typeof e&&e?e.automations:{}),cw(Ca,rw("hide","capabilities",{transform:e=>!0===e?{disable_except:["substream"]}:null})),rw("performance.profile",$s,{transform:e=>"low"===e?["low-performance"]:null}),cw(bs,iw("overrides","merge")),rw("live.controls.ptz",zi,{transform:e=>{if("object"!=typeof e||!e)return;const t=["data_left","data_right","data_up","data_down","data_zoom_in","data_zoom_out","service"],n=["actions_left","actions_right","actions_up","actions_down","actions_zoom_in","actions_zoom_out"],a=[...t,...n,"data_home","actions_home"];if(!Object.keys(e).some((e=>a.includes(e))))return;const i={};t.filter((t=>t in e)).reduce(((t,n)=>(t[n]=e[n],t)),i),n.filter((t=>t in e)).reduce(((t,n)=>("object"==typeof e[n]&&"tap_action"in e[n]&&(t[n]=e[n].tap_action),t)),i);const r=()=>{i.presets="presets"in e&&"object"==typeof e.presets&&e.presets?e.presets:{}};return"actions_home"in e&&"object"==typeof e.actions_home&&e.actions_home&&"tap_action"in e.actions_home?(r(),i.presets.home=e.actions_home.tap_action):"data_home"in e&&"object"==typeof e.data_home&&e.data_home&&"string"==typeof e.service&&(r(),i.presets.service=e.service,i.presets.data_home=e.data_home),i},keepOriginal:!0}),ow("live.controls.ptz",(e=>{if("object"!=typeof e||!e)return e;const t=["mode","position","orientation","hide_pan_tilt","hide_zoom","hide_home","style"],n=Object.keys(e);return n.some((e=>!t.includes(e)))?n.filter((e=>t.includes(e))).reduce(((t,n)=>(t[n]=e[n],t)),{}):void 0})),rw("view.update_cycle_camera",Wi),rw("view.update_force",Qi,{transform:e=>!0===e?"all":null}),rw("view.update_seconds",Gi),rw("view.update_entities",Yi),iw("live.controls.title",ds,{transform:e=>"object"==typeof e&&e&&"string"==typeof e.mode?"none"===e.mode?{style:"none"}:e.mode.includes("bottom")?{position:"bottom"}:e.mode.includes("top")?{position:"top"}:null:null}),sw("live.controls.title"),sw("media_viewer.controls.title"),e=>lw(hw)("object"==typeof e&&e?e:{}),rw("dimensions.max_height",ys),sw("dimensions.min_height")];class fw extends zs{}class _w extends Event{constructor(e,t){super("frigate-card:conditions:evaluate",t),this.conditions=e}}function vw(e,t,n){let a=ew(t),i=!1;if(n?.configOverrides)for(const t of n.configOverrides)e.evaluateConditions(t.conditions,n?.stateOverrides)&&(t.delete?.forEach((e=>{Jb(a,e)})),Object.keys(t.set??{}).forEach((e=>{Kb(a,e,t.set?.[e])})),Object.keys(t.merge??{}).forEach((e=>{Kb(a,e,Ly({},Xb(a,e),t.merge?.[e]))})),i=!0);if(!i)return t;if(n?.configOverrides?.some((e=>e.delete?.length))&&(a=hf(a)),n?.schema){const e=n.schema.safeParse(a);if(!e.success)throw new fw(V_("error.invalid_configuration_override"),[e.error.errors,a]);return e.data}return a}class yw{constructor(e,t){this._state={},this._epoch=this._createEpoch(),this._hasHAStateConditions=!1,this._mediaQueries=[],this._mediaQueryTrigger=()=>this._triggerChange(),this._api=e,this._listeners=[()=>this._api.getConfigManager().computeOverrideConfig(),()=>this._api.getAutomationsManager().execute(),...t?[t]:[]]}removeConditions(){this._mediaQueries.forEach((e=>e.removeEventListener("change",this._mediaQueryTrigger))),this._mediaQueries=[]}setConditionsFromConfig(){this.removeConditions();const e=(()=>{const e=this._api.getConfigManager().getConfig(),t=[];e?.overrides?.forEach((e=>t.push(...e.conditions))),e?.automations?.forEach((e=>t.push(...e.conditions)));const n=e=>{const a=vl.safeParse(e);a.success?(t.push(...a.data.conditions),a.data.elements?.forEach(n)):e&&"object"==typeof e&&Object.keys(e).forEach((t=>n(e[t])))};return e?.elements?.forEach(n),t})();this._hasHAStateConditions=e.some((e=>!e.condition||["state","numeric_state","user"].includes(e.condition))),e.forEach((e=>{if("screen"===e.condition){const t=window.matchMedia(e.media_query);t.addEventListener("change",this._mediaQueryTrigger),this._mediaQueries.push(t)}}))}setState(e){Object.keys(e).every((t=>Dv(e[t],this._state[t])))||(this._state={...this._state,...e},this._triggerChange())}getState(){return this._state}hasHAStateConditions(){return this._hasHAStateConditions}getEpoch(){return this._epoch}evaluateConditions(e,t){return e.every((e=>this._evaluateCondition(e,t)))}_evaluateCondition(e,t){const n={...this._state,...t};switch(e.condition){case void 0:case"state":return!!n.state&&(!e.state&&!e.state_not||e.entity in n.state&&(!e.state||(Array.isArray(e.state)?e.state.includes(n.state[e.entity].state):e.state===n.state[e.entity].state))&&(!e.state_not||(Array.isArray(e.state_not)?!e.state_not.includes(n.state[e.entity].state):e.state_not!==n.state[e.entity].state)));case"view":return!!n?.view&&e.views.includes(n.view);case"fullscreen":return void 0!==n.fullscreen&&e.fullscreen===n.fullscreen;case"expand":return void 0!==n.expand&&e.expand===n.expand;case"camera":return!!n.camera&&e.cameras.includes(n.camera);case"numeric_state":return!!n.state&&e.entity in n.state&&void 0!==n.state[e.entity].state&&(void 0===e.above||Number(n.state[e.entity].state)>e.above)&&(void 0===e.below||Number(n.state[e.entity].state)n.triggered?.has(e)));case"interaction":return void 0!==n.interaction&&e.interaction===n.interaction;case"microphone":return!(void 0!==e.connected&&n.microphone?.connected!==e.connected||void 0!==e.muted&&n.microphone?.muted!==e.muted);case"key":return!(!n.keys||!(e.key in n.keys)||(e.state??"down")!==n.keys[e.key].state||void 0!==e.ctrl&&e.ctrl!==!!n.keys[e.key].ctrl||void 0!==e.alt&&e.alt!==!!n.keys[e.key].alt||void 0!==e.meta&&e.meta!==!!n.keys[e.key].meta||void 0!==e.shift&&e.shift!==!!n.keys[e.key].shift)}}_createEpoch(){return{manager:this}}_triggerChange(){this._epoch=this._createEpoch(),this._listeners.forEach((e=>e()))}}const bw={casting:{[Qr]:!1,[Sr]:!1,[es]:"none",[`${os}.enabled`]:!0,[`${ss}.enabled`]:!0,[`${rs}.enabled`]:!1,[`${cs}.enabled`]:!1,[Zr]:["selected","visible"],[vs]:"static",[_s]:"16:9",[$i]:1,[$o]:!0},"low-performance":{[ro]:"none",[Ar]:"none",[Uo]:"none",[fo]:!1,[Nr]:!1,[Bo]:!1,[Wr]:[],[mr]:[],[gr]:[],[fr]:[],[ko]:["unselected","hidden"],[Co]:!1,[xr]:!1,[Eo]:"none",[kr]:"none",[$o]:!1,[Er]:"chevrons",[hs]:"none",[es]:"outside",[`${as}.enabled`]:!1,[`${ls}.enabled`]:!1,[`${ls}.enabled`]:!1,[`${cs}.enabled`]:!1,[lr]:!1,[dr]:!1,[ur]:!1,[cr]:!1,[co]:!1,[lo]:!1,[uo]:!1,[so]:!1,[Ir]:!1,[Tr]:!1,[jr]:!1,[zr]:!1,[Qo]:!1,[Go]:!1,[Yo]:!1,[Zo]:!1,[xs]:!1,[Cs]:10,[Es]:!1,[Ss]:!1,[Mr]:!1,[Ei]:!1,[Mi]:"image",[$i]:10,[ar]:"none",[Ms]:1},scrubbing:{[mo]:"below",[_o]:"ribbon",[go]:"seek",[Pr]:"below",[Fr]:"ribbon",[Lr]:"seek"}},ww=(e,t,n)=>{const a=Ds(Nd).safeParse(e);if(!a.success)return t;const i=a.data;for(const e of n??[])e in bw&&Object.entries(bw[e]).forEach((([e,n])=>{return r=n,void(void 0===Xb(i,a=e)&&Kb(t,a,r));var a,r}));return t},xw=e=>{switch(e){case"ptz_left":return"left";case"ptz_right":return"right";case"ptz_up":return"up";case"ptz_down":return"down";case"ptz_zoom_in":return"zoom_in";case"ptz_zoom_out":return"zoom_out"} -/* istanbul ignore next: No (current) way to reach this code -- @preserve */return null},Cw=(e,t)=>{if(!t.enabled)return[];const n=[];for(const a of["ptz_down","ptz_left","ptz_right","ptz_up","ptz_zoom_in","ptz_zoom_out"]){const i=t[a],r=xw(a);i&&r&&(n.push({conditions:[{condition:"key",key:i.key,state:"down",shift:i.shift,ctrl:i.ctrl,alt:i.alt,meta:i.meta}],actions:[vf({ptzAction:r,ptzPhase:"start"})],tag:e}),n.push({conditions:[{condition:"key",key:i.key,state:"up"}],actions:[vf({ptzAction:r,ptzPhase:"stop"})],tag:e}))}const a=t.ptz_home;return a&&n.push({conditions:[{condition:"key",key:a.key,state:"down",shift:a.shift,ctrl:a.ctrl,alt:a.alt,meta:a.meta}],actions:[vf()],tag:e}),n};class Mw{constructor(e){this._config=null,this._overriddenConfig=null,this._rawConfig=null,this._cardWideConfig=null,this._api=e}hasConfig(){return!!this.getConfig()}getConfig(){return this._overriddenConfig??this._config}getCardWideConfig(){return this._cardWideConfig}getNonOverriddenConfig(){return this._config}getRawConfig(){return this._rawConfig}setConfig(e){if(!e)throw new Error(V_("error.invalid_configuration"));const t=Nd.safeParse(e);if(!t.success){const n=aw(e),a=Ps(t.error);let i="";throw n&&(i=`${V_("error.upgrade_available")}. `),new Error(i+`${V_("error.invalid_configuration")}: `+(a&&a.size?JSON.stringify([...a],null," "):V_("error.invalid_configuration_no_hint")))}const n=ww(e,t.data,t.data.profiles);var a;(this._rawConfig=e,Dv(this._config,n))||(this._config=n,this._cardWideConfig={performance:n.performance,debug:n.debug},this._api.getConditionsManager().setConditionsFromConfig(),this._api.getConditionsManager().setState({view:void 0,displayMode:void 0,camera:void 0}),this._api.getMediaLoadedInfoManager().clear(),this._api.getInitializationManager().uninitialize(Wb.VIEW),this._api.getViewManager().reset(),this._api.getMessageManager().reset(),this._api.getStyleManager().setPerformance(),this._api.getStatusBarItemManager().removeAllDynamicStatusBarItems(),((e,t)=>{e.getAutomationsManager().deleteAutomations(t);const n=e.getConfigManager().getConfig()?.view.keyboard_shortcuts;if(!n)return;const a=Cw(t,n);a.length&&e.getAutomationsManager().addAutomations(a)})(this._api,this),(a=this._api).getAutomationsManager().deleteAutomations(),a.getAutomationsManager().addAutomations(a.getConfigManager().getNonOverriddenConfig()?.automations??[]),this.computeOverrideConfig(),this._api.getCardElementManager().update())}computeOverrideConfig(){const e=this._api.getConditionsManager();if(!this._config)return;let t=null;try{t=vw(e,this._config,{configOverrides:this._config.overrides,schema:Nd})}catch(e){return void this._api.getMessageManager().setErrorIfHigherPriority(e)}if(Dv(t,this._overriddenConfig))return;const n=this._overriddenConfig;this._overriddenConfig=t,this._api.getStyleManager().setMinMaxHeight(),!n||Dv(n?.cameras,this._overriddenConfig?.cameras)&&Dv(n?.cameras_global,this._overriddenConfig?.cameras_global)||this._api.getInitializationManager().uninitialize(Wb.CAMERAS),n&&n?.live.microphone.always_connected!==this._overriddenConfig?.live.microphone.always_connected&&this._api.getInitializationManager().uninitialize(Wb.MICROPHONE_CONNECT),this._initializeBackground(n)}async _initializeBackground(e){await this._api.getDefaultManager().initializeIfNecessary(e),await this._api.getMediaPlayerManager().initializeIfNecessary(e),this._api.getCardElementManager().update()}}class kw{constructor(e){this._timer=new xf,this._stateChangeHandler=()=>{this._setToDefaultIfAllowed()},this._api=e}async initializeIfNecessary(e){Dv(e?.view.default_reset,this._api.getConfigManager().getConfig()?.view.default_reset)||await this.initialize()}async initialize(){this.uninitialize();const e=this._api.getConfigManager().getConfig()?.view.default_reset;e?.entities.length&&this._api.getHASSManager().getStateWatcher().subscribe(this._stateChangeHandler,e.entities);const t=this._api.getConfigManager().getConfig()?.view.default_reset.every_seconds;return t&&this._timer.startRepeated(t,(()=>this._setToDefaultIfAllowed())),this._api.getConfigManager().getConfig()?.view.default_reset.after_interaction&&this._api.getAutomationsManager().addAutomations([{actions:[gf("default")],conditions:[{condition:"interaction",interaction:!1}],tag:this}]),!0}uninitialize(){this._timer.stop(),this._api.getHASSManager().getStateWatcher().unsubscribe(this._stateChangeHandler),this._api.getAutomationsManager().deleteAutomations(this)}_setToDefaultIfAllowed(){this._isAutomatedUpdateAllowed()&&this._api.getViewManager().setViewDefault()}_isAutomatedUpdateAllowed(){const e=this._api.getConfigManager().getConfig()?.view.default_reset.interaction_mode;return!!e&&((e,t)=>{switch(e){case"all":return!0;case"active":return t;case"inactive":return!t}})(e,this._api.getInteractionManager().hasInteraction())}}const Sw=(e,t="download")=>{const n=new URL(e).origin===window.location.origin,a=e.startsWith("data:");if(navigator.userAgent.startsWith("Home Assistant/")||navigator.userAgent.startsWith("HomeAssistant/")||!n&&!a)window.open(e,"_blank");else{const n=document.createElement("a");n.setAttribute("download",t),n.href=e,n.click(),n.remove()}},Ew=async(e,t,n)=>{const a=await t.getMediaDownloadPath(n);if(!a)throw new zs(V_("error.download_no_media"));let i=a.endpoint;if(a.sign){let t;try{t=await Ib(e,a.endpoint)}catch(e){Gg(e)}if(!t)throw new zs(V_("error.download_sign_failed"));i=t}Sw(i)},$w=e=>{const t=document.createElement("canvas");t.width=e.videoWidth,t.height=e.videoHeight;const n=t.getContext("2d");return n?(n.drawImage(e,0,0,t.width,t.height),t.toDataURL("image/jpeg")):null};class Aw{constructor(e){this._api=e}async downloadViewerMedia(){const e=this._api.getViewManager().getView()?.queryResults?.getSelectedResult(),t=this._api.getHASSManager().getHASS();if(!e||!t)return!1;try{await Ew(t,this._api.getCameraManager(),e)}catch(e){return this._api.getMessageManager().setErrorIfHigherPriority(e),!1}return!0}async downloadScreenshot(){const e=await(this._api.getMediaLoadedInfoManager().get()?.player?.getScreenshotURL());e&&Sw(e,(e=>{if(e?.is("live")||e?.is("image"))return`${e.view}-${e.camera}-${Wu(new Date,"yyyy-MM-dd-HH-mm-ss")}.jpg`;if(e?.isViewerView()){const t=e.queryResults?.getSelectedResult(),n=t?.getID()??null;return`${e.view}-${e.camera}${n?`-${n}`:""}.jpg`}return"screenshot.jpg"})(this._api.getViewManager().getView()))}}class zw{constructor(e){this._expanded=!1,this._api=e}initialize(){this._setConditionState()}isExpanded(){return this._expanded}toggleExpanded(){this.setExpanded(!this._expanded)}setExpanded(e){e&&this._api.getFullscreenManager().isInFullscreen()&&this._api.getFullscreenManager().stopFullscreen(),this._expanded=e,this._setConditionState(),this._api.getCardElementManager().update()}_setConditionState(){this._api.getConditionsManager()?.setState({expand:this._expanded})}}const Iw=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],Tw=(()=>{if("undefined"==typeof document)return!1;const e=Iw[0],t={};for(const n of Iw){const a=n?.[1];if(a in document){for(const[a,i]of n.entries())t[e[a]]=i;return t}}return!1})(),jw={change:Tw.fullscreenchange,error:Tw.fullscreenerror};let Ow={request:(e=document.documentElement,t)=>new Promise(((n,a)=>{const i=()=>{Ow.off("change",i),n()};Ow.on("change",i);const r=e[Tw.requestFullscreen](t);r instanceof Promise&&r.then(i).catch(a)})),exit:()=>new Promise(((e,t)=>{if(!Ow.isFullscreen)return void e();const n=()=>{Ow.off("change",n),e()};Ow.on("change",n);const a=document[Tw.exitFullscreen]();a instanceof Promise&&a.then(n).catch(t)})),toggle:(e,t)=>Ow.isFullscreen?Ow.exit():Ow.request(e,t),onchange(e){Ow.on("change",e)},onerror(e){Ow.on("error",e)},on(e,t){const n=jw[e];n&&document.addEventListener(n,t,!1)},off(e,t){const n=jw[e];n&&document.removeEventListener(n,t,!1)},raw:Tw};Object.defineProperties(Ow,{isFullscreen:{get:()=>Boolean(document[Tw.fullscreenElement])},element:{enumerable:!0,get:()=>document[Tw.fullscreenElement]??void 0},isEnabled:{enumerable:!0,get:()=>Boolean(document[Tw.fullscreenEnabled])}}),Tw||(Ow={isEnabled:!1});var Dw=Ow;class Rw{constructor(e){this._fullscreenHandler=()=>{this._api.getExpandManager().setExpanded(!1),this._setConditionState(),this._api.getCardElementManager().update()},this._api=e}initialize(){this._setConditionState()}connect(){Dw.isEnabled&&Dw.on("change",this._fullscreenHandler)}disconnect(){Dw.isEnabled&&Dw.off("change",this._fullscreenHandler)}isInFullscreen(){return Dw.isEnabled&&Dw.isFullscreen}toggleFullscreen(){Dw.toggle(this._api.getCardElementManager().getElement())}stopFullscreen(){Dw.exit()}_setConditionState(){this._api.getConditionsManager()?.setState({fullscreen:this.isInFullscreen()})}}class Pw{constructor(){this._watcherCallbacks=new Map}setHASS(e,t){if(e)for(const[n,a]of this._watcherCallbacks.entries()){const i=Tb(t,e,a,{stateOnly:!0,firstOnly:!0});i.length&&n(i[0])}}subscribe(e,t){return!!t.length&&(this._watcherCallbacks.has(e)?this._watcherCallbacks.get(e)?.push(...t):this._watcherCallbacks.set(e,t),!0)}unsubscribe(e){this._watcherCallbacks.delete(e)}}class Lw{constructor(e){this._hass=null,this._stateWatcher=new Pw,this._api=e}getHASS(){return this._hass}hasHASS(){return!!this._hass}getStateWatcher(){return this._stateWatcher}setHASS(e){if(((e,t)=>e?.connected!==t?.connected)(this._hass,e)&&(e?.connected?this._api.getMessageManager().resetType("connection"):this._api.getMessageManager().setMessageIfHigherPriority({message:V_("error.reconnecting"),icon:"mdi:lan-disconnect",type:"connection",dotdotdot:!0})),!e)return;const t=this._hass;this._hass=e,this._api.getConditionsManager().hasHAStateConditions()&&this._api.getConditionsManager().setState({state:this._hass.states,user:this._hass.user}),this._api.getStyleManager().setLightOrDarkMode(),this._stateWatcher.setHASS(t,e)}}var Nw=function(){return th.Date.now()},Fw="Expected a function",Vw=Math.max,Hw=Math.min;function Bw(e,t,n){var a,i,r,o,s,c,l=0,d=!1,u=!1,h=!0;if("function"!=typeof e)throw new TypeError(Fw);function p(t){var n=a,r=i;return a=i=void 0,l=t,o=e.apply(r,n)}function m(e){var n=e-c;return void 0===c||n>=t||n<0||u&&e-l>=r}function g(){var e=Nw();if(m(e))return f(e);s=setTimeout(g,function(e){var n=t-(e-c);return u?Hw(n,r-(e-l)):n}(e))}function f(e){return s=void 0,h&&a?p(e):(a=i=void 0,o)}function _(){var e=Nw(),n=m(e);if(a=arguments,i=this,c=e,n){if(void 0===s)return function(e){return l=e,s=setTimeout(g,t),d?p(e):o}(c);if(u)return clearTimeout(s),s=setTimeout(g,t),p(c)}return void 0===s&&(s=setTimeout(g,t)),o}return t=Cg(t)||0,hh(n)&&(d=!!n.leading,r=(u="maxWait"in n)?Vw(Cg(n.maxWait)||0,t):r,h="trailing"in n?!!n.trailing:h),_.cancel=function(){void 0!==s&&clearTimeout(s),l=0,a=c=i=s=void 0},_.flush=function(){return void 0===s?o:f(Nw())},_}function qw(e,t,n){var a=!0,i=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return hh(n)&&(a="leading"in n?!!n.leading:a,i="trailing"in n?!!n.trailing:i),Bw(e,t,{leading:a,maxWait:t,trailing:i})}class Uw{constructor(e){this._timer=new xf,this.reportInteraction=qw((()=>{this._reportInteraction()}),1e3),this._api=e}initialize(){this._api.getConditionsManager().setState({interaction:!1})}hasInteraction(){return this._timer.isRunning()}_reportInteraction(){this._timer.stop();const e=this._api.getConfigManager().getConfig()?.view.interaction_seconds;e&&(this._api.getConditionsManager().setState({interaction:!0}),this._timer.start(e,(()=>{this._api.getConditionsManager().setState({interaction:!1}),this._api.getStyleManager().setLightOrDarkMode()})))}}class Ww{constructor(e){this._state={},this._handleKeydown=e=>{const t={state:"down",ctrl:e.ctrlKey,alt:e.altKey,meta:e.metaKey,shift:e.shiftKey};Dv(this._state[e.key],t)||(this._state[e.key]=t,this._processStateChange())},this._handleKeyup=e=>{e.key in this._state&&"down"===this._state[e.key].state&&(this._state[e.key].state="up",this._processStateChange())},this._handleBlur=()=>{Object.keys(this._state).length&&(this._state={},this._processStateChange())},this._api=e}initialize(){const e=this._api.getCardElementManager().getElement();e.addEventListener("keydown",this._handleKeydown),e.addEventListener("keyup",this._handleKeyup),e.addEventListener("blur",this._handleBlur)}uninitialize(){const e=this._api.getCardElementManager().getElement();e.removeEventListener("keydown",this._handleKeydown),e.removeEventListener("keyup",this._handleKeyup),e.removeEventListener("blur",this._handleBlur)}_processStateChange(){this._api.getConditionsManager().setState({keys:this._state})}}function Zw(e,t){let n;return n=e instanceof Event?e.composedPath()[0]:e,n instanceof HTMLImageElement?{width:n.naturalWidth,height:n.naturalHeight,...t}:n instanceof HTMLVideoElement?{width:n.videoWidth,height:n.videoHeight,...t}:n instanceof HTMLCanvasElement?{width:n.width,height:n.height,player:t?.player,...t}:null}function Qw(e,t,n){const a=Zw(t,n);a&&Gw(e,a)}function Gw(e,t){Bg(e,"media:loaded",t)}function Yw(e){Bg(e,"media:unloaded")}function Kw(e){Bg(e,"media:volumechange")}function Xw(e){Bg(e,"media:play")}function Jw(e){Bg(e,"media:pause")}class ex{constructor(e){this._current=null,this._lastKnown=null,this._api=e}initialize(){this.clear()}set(e){var t;(t=e).height>=50&&t.width>=50&&(B_(this._api.getConfigManager().getCardWideConfig(),"Frigate Card media load: ",e),this._current=e,this._lastKnown=e,this._api.getConditionsManager().setState({media_loaded:!0}),this._api.getStyleManager().setExpandedMode(),this._api.getCardElementManager().update())}get(){return this._current}getLastKnown(){return this._lastKnown}clear(){this._current=null,this._api.getConditionsManager().setState({media_loaded:!1})}has(){return!!this._current}}class tx{static isEvent(e){return this.isClip(e)||this.isSnapshot(e)}static isRecording(e){return"recording"===e.getMediaType()}static isClip(e){return"clip"===e.getMediaType()}static isSnapshot(e){return"snapshot"===e.getMediaType()}static isVideo(e){return this.isClip(e)||this.isRecording(e)}}class nx{constructor(e){this._mediaPlayers=[],this._api=e}getMediaPlayers(){return this._mediaPlayers}hasMediaPlayers(){return this._mediaPlayers.length>0}async initializeIfNecessary(e){e?.menu.buttons.media_player.enabled!==this._api.getConfigManager().getConfig()?.menu.buttons.media_player.enabled&&await this.initialize()}async initialize(){const e=this._api.getHASSManager().getHASS();if(!e||!this._api.getConfigManager().getConfig()?.menu.buttons.media_player.enabled)return!1;const t=Object.keys(e.states).filter((t=>{if(t.startsWith("media_player.")){const n=e.states[t];if(n&&"unavailable"!==n.state&&vb(n,131072))return!0}return!1}));let n=null;try{n=await this._api.getEntityRegistryManager().getEntities(e,t)}catch(e){Gg(e)}return this._mediaPlayers=t.filter((e=>{const t=n?.get(e);return!t||!t.hidden_by})),!0}async stop(e){const t=this._api.getHASSManager().getHASS(),n=t?.states[e];if(!n)return;let a;if(vb(n,4096))a="media_stop";else{if(!vb(n,256))return;a="turn_off"}await t.callService("media_player",a,{entity_id:e})}async playLive(e,t){const n=this._api.getCameraManager().getStore().getCameraConfig(t);n&&("dashboard"===n.cast?.method?await this._playLiveDashboard(e,n):await this._playLiveStandard(e,t,n))}async _playLiveStandard(e,t,n){const a=this._api.getHASSManager().getHASS(),i=n?.camera_entity??null;if(!a||!i)return;const r=this._api.getCameraManager().getCameraMetadata(t)?.title??null,o=a.states[i]?.attributes?.entity_picture??null;await a.callService("media_player","play_media",{entity_id:e,media_content_id:`media-source://camera/${i}`,media_content_type:"application/vnd.apple.mpegurl",extra:{...r&&{title:r},...o&&{thumb:o}}})}async _playLiveDashboard(e,t){const n=this._api.getHASSManager().getHASS();if(!n)return;const a=t.cast?.dashboard;a?.dashboard_path&&a?.view_path?await n.callService("cast","show_lovelace_view",{entity_id:e,dashboard_path:a.dashboard_path,view_path:a.view_path}):this._api.getMessageManager().setMessageIfHigherPriority({type:"error",icon:"mdi:cast",message:V_("error.no_dashboard_or_view")})}async playMedia(e,t){const n=this._api.getHASSManager().getHASS();if(!n||!t)return;const a=t.getTitle(),i=t.getThumbnail();await n.callService("media_player","play_media",{entity_id:e,media_content_id:t.getContentID(),media_content_type:tx.isVideo(t)?"video":"image",extra:{...a&&{title:a},...i&&{thumb:i}}})}}class ax{constructor(e){this._message=null,this._api=e}getMessage(){return this._message}hasMessage(){return!!this._message}hasErrorMessage(){return"error"===this._message?.type}reset(){const e=this.hasMessage();this._message=null,e&&this._api.getCardElementManager().update()}resetType(e){this._message?.type===e&&this.reset()}setErrorIfHigherPriority(e,t){e&&"object"==typeof e&&"message"in e&&(Gg(e),this.setMessageIfHigherPriority({message:t?`${t}: ${e.message}`:e.message,type:"error",...e instanceof zs&&{context:e.context}}))}setMessageIfHigherPriority(e){const t=this._message?Is[this._message.type]:0,n=Is[e.type];return!(this._message&&ne.stop())),this._stream=void 0,this._setConditionState(),this._api.getCardElementManager().update()}getStream(){return this._stream??void 0}mute(){const e=this.isMuted();this._mute=!0,this._setMute(),this._setConditionState(),e||this._callListeners("muted")}async unmute(){if(!this.isSupported())return;const e=!this.isMuted(),t=()=>{this._mute=!1,this._setMute()};this.isConnected()||this.isForbidden()?this.isConnected()&&t():(t(),await this.connect()),this._setConditionState(),e||this._callListeners("unmuted")}isConnected(){return!!this._stream}isForbidden(){return null===this._stream}isMuted(){return!this._stream||this._stream.getTracks().every((e=>!e.enabled))}addListener(e){this._listeners.push(e)}removeListener(e){this._listeners=this._listeners.filter((t=>t!==e))}_callListeners(e){this._listeners.forEach((t=>t(e)))}_setMute(){this._stream?.getTracks().forEach((e=>{e.enabled=!this._mute})),this._startTimer(),this._api.getCardElementManager().update()}_startTimer(){const e=this._api.getConfigManager().getConfig()?.live.microphone;if(e?.always_connected)return;const t=e?.disconnect_seconds??0;t&&this._timer.start(t,(()=>{this.disconnect()}))}_setConditionState(){this._api.getConditionsManager().setState({microphone:{muted:this.isMuted(),connected:this.isConnected()}})}}class rx{constructor(e){this._shouldRun=!0,this.requestExecution=()=>{this._shouldRun=!0,this._api.getCardElementManager().update()},this.executeIfNecessary=async()=>{this._shouldRun&&(this._shouldRun=!1,await this._executeViewRelated(this._calculateIntent()),await this._executeNonViewRelated(this._calculateIntent()))},this._isViewAction=e=>{switch(e.frigate_card_action){case"clip":case"clips":case"diagnostics":case"image":case"live":case"recording":case"recordings":case"snapshot":case"snapshots":case"timeline":return!0}return!1},this._api=e}hasViewRelatedActionsToRun(){return!!this._calculateIntent().view&&this._shouldRun}async _executeViewRelated(e){e.view&&(e.view.default?await this._api.getViewManager().setViewDefaultWithNewQuery({params:{camera:e.view.camera},...e.view.substream&&{modifiers:[new sb(e.view.substream)]}}):await this._api.getViewManager().setViewByParametersWithNewQuery({params:{...e.view.view&&{view:e.view.view},...e.view.camera&&{camera:e.view.camera}},...e.view.substream&&{modifiers:[new sb(e.view.substream)]}}))}async _executeNonViewRelated(e){e.other&&await this._api.getActionsManager().executeActions(e.other)}_calculateIntent(){const e={};for(const t of this._getActions())this._isViewAction(t)?((e.view??={}).view=t.frigate_card_action,(e.view??={}).default=void 0):"default"===t.frigate_card_action?((e.view??={}).default=!0,(e.view??={}).view=void 0):"camera_select"===t.frigate_card_action?(e.view??={}).camera=t.camera:"live_substream_select"===t.frigate_card_action?(e.view??={}).substream=t.camera:(e.other??=[]).push(t);return e}_getActions(){const e=new URLSearchParams(window.location.search),t=[],n=new RegExp(/^frigate-card-action([.:](?\w+))?[.:](?\w+)/);for(const[a,i]of e.entries()){const e=a.match(n);if(!e||!e.groups)continue;const r=e.groups.cardID,o=e.groups.action;let s=null;switch(o){case"camera_select":case"live_substream_select":i&&(s=ff(o,i,{cardID:r}));break;case"camera_ui":case"clip":case"clips":case"default":case"diagnostics":case"download":case"expand":case"image":case"live":case"menu_toggle":case"recording":case"recordings":case"snapshot":case"snapshots":case"timeline":s=gf(o,{cardID:r});break;default:console.warn(`Frigate card received unknown card action in query string: ${o}`)}s&&t.push(s)}return t}}class ox{constructor(e){this._items=[],this._dynamicItems=[],this._api=e}addDynamicStatusBarItem(e){this._dynamicItems.includes(e)||this._dynamicItems.push(e),this._api.getCardElementManager().update()}removeDynamicStatusBarItem(e){this._dynamicItems=this._dynamicItems.filter((t=>!Dv(t,e))),this._api.getCardElementManager().update()}removeAllDynamicStatusBarItems(){this._dynamicItems=[],this._api.getCardElementManager().update()}calculateItems(e){const t=e?.view?e?.cameraManager?.getCameraMetadata(e?.view?.camera):null,n=t?.engineLogo??null,a=e?.view?.is("live")?t?.title??null:e?.view?.isViewerView()?e?.view.queryResults?.getSelectedResult()?.getTitle()??null:null,i=e?.mediaLoadedInfo?this._calculateResolution(e?.mediaLoadedInfo):null,r=e?.mediaLoadedInfo?.technology?.length?e?.mediaLoadedInfo.technology[0]:null;return[...a?[{type:"custom:frigate-card-status-bar-string",string:a,expand:!0,sufficient:!0,...e?.statusConfig?.items.title}]:[],...i?[{type:"custom:frigate-card-status-bar-string",string:i,...e?.statusConfig?.items.resolution}]:[],...r&&"webrtc"===r?[{type:"custom:frigate-card-status-bar-icon",icon:"mdi:webrtc",...e?.statusConfig?.items.technology}]:r?[{type:"custom:frigate-card-status-bar-string",string:r.toUpperCase(),...e?.statusConfig?.items.technology}]:[],...n?[{type:"custom:frigate-card-status-bar-image",image:n,...e?.statusConfig?.items.engine}]:[],...this._dynamicItems]}_matchesWidthHeight(e,t,n){const a=.99*t,i=1.01*t,r=.99*n,o=1.01*n,s=(e,t,n)=>e>=t&&e<=n;return!!e&&(s(e.width,a,i)&&s(e.height,r,o)||s(e.height,a,i)&&s(e.width,r,o))}_calculateResolution(e){return this._matchesWidthHeight(e,1920,1080)?"1080p":this._matchesWidthHeight(e,1280,720)?"720p":this._matchesWidthHeight(e,640,480)?"VGA":this._matchesWidthHeight(e,3840,2160)?"4K":this._matchesWidthHeight(e,720,480)?"480p":this._matchesWidthHeight(e,720,576)?"576p":this._matchesWidthHeight(e,7680,4320)?"8K":`${e.width}x${e.height}`}}class sx{constructor(e){this.setLightOrDarkMode=()=>{const e=this._api.getConfigManager().getConfig(),t="on"===e?.view.dark_mode||"auto"===e?.view.dark_mode&&(!this._api.getInteractionManager().hasInteraction()||!!this._api.getHASSManager().getHASS()?.themes.darkMode);of(this._api.getCardElementManager().getElement(),t,"dark")},this._api=e}setExpandedMode(){const e=this._api.getCardElementManager().getElement(),t=this._api.getViewManager().getView(),n=this._api.getMediaLoadedInfoManager().getLastKnown();e.style.setProperty("--frigate-card-expand-aspect-ratio",t?.isAnyMediaView()&&n?`${n.width} / ${n.height}`:"unset");const a=t?.isGrid();e.style.setProperty("--frigate-card-expand-width",!a&&t?.isAnyMediaView()?"none":"var(--frigate-card-expand-max-width)"),e.style.setProperty("--frigate-card-expand-height",!a&&t?.isAnyMediaView()?"none":"var(--frigate-card-expand-max-height)")}setMinMaxHeight(){const e=this._api.getConfigManager().getConfig();if(e){this._api.getCardElementManager().getElement().style.setProperty("--frigate-card-height",e.dimensions.height)}}setPerformance(){const e={box_shadow:"none",border_radius:"0px"},t=this._api.getCardElementManager().getElement(),n=this._api.getConfigManager().getCardWideConfig()?.performance,a=n?.style??{};for(const n of Object.keys(a)){const i=`--frigate-card-css-${n.replaceAll("_","-")}`;!1===a[n]?t.style.setProperty(i,e[n]):t.style.removeProperty(i)}}_isAspectRatioEnforced(e,t){const n=e.dimensions.aspect_ratio_mode;return!(this._api.getFullscreenManager().isInFullscreen()||this._api.getExpandManager().isExpanded()||"unconstrained"===n||"dynamic"===n&&(!t||t?.isAnyMediaView()||t?.is("timeline")||t?.is("diagnostics")))}getAspectRatioStyle(){const e=this._api.getConfigManager().getConfig(),t=this._api.getViewManager().getView();if(e){if(!this._isAspectRatioEnforced(e,t))return uf();const n=e.dimensions.aspect_ratio_mode,a=this._api.getMediaLoadedInfoManager().getLastKnown();return uf(a&&"dynamic"===n?{ratio:[a.width,a.height]}:{ratio:e.dimensions.aspect_ratio})}return uf({defaultStatic:!0})}}class cx{constructor(e){this._triggeredCameras=new Map,this._triggeredCameraTimers=new Map,this._throttledTriggerAction=qw(this._triggerAction.bind(this),1e3,{trailing:!0}),this._api=e}getTriggeredCameraIDs(){return new Set(this._triggeredCameras.keys())}isTriggered(){return!!this._triggeredCameras.size}getMostRecentlyTriggeredCameraID(){const e=Ev([...this._triggeredCameras.entries()],(e=>e[1].getTime()),"desc");return e.length?e[0][0]:null}async handleCameraEvent(e){const t=this._api.getConfigManager().getConfig()?.view.triggers,n=this._api.getViewManager().getView()?.camera;if(!t||!n)return;const a=this._api.getCameraManager().getStore().getAllDependentCameras(n);t.filter_selected_camera&&!a.has(e.cameraID)||("end"!==e.type?(this._triggeredCameras.set(e.cameraID,new Date),this._setConditionStateIfNecessary(),await this._throttledTriggerAction(e)):this._startUntriggerTimer(e.cameraID))}_hasAllowableInteractionStateForAction(){const e=this._api.getConfigManager().getConfig()?.view.triggers,t=this._api.getInteractionManager().hasInteraction();return!!e&&("all"===e.actions.interaction_mode||"active"===e.actions.interaction_mode&&t||"inactive"===e.actions.interaction_mode&&!t)}async _triggerAction(e){const t=this._api.getConfigManager().getConfig()?.view.triggers.actions.trigger,n=this._api.getConfigManager().getConfig()?.view.default;("high"!==e.fidelity||e.snapshot||e.clip||"live"===t||"default"===t&&"live"===n)&&(this._hasAllowableInteractionStateForAction()&&("update"===t?await this._api.getViewManager().setViewByParametersWithNewQuery({queryExecutorOptions:{useCache:!1}}):"live"===t?await this._api.getViewManager().setViewByParametersWithNewQuery({params:{view:"live",camera:e.cameraID}}):"default"===t?await this._api.getViewManager().setViewDefaultWithNewQuery({params:{camera:e.cameraID}}):"high"===e.fidelity&&"media"===t&&await this._api.getViewManager().setViewByParametersWithNewQuery({params:{view:e.clip?"clip":"snapshot",camera:e.cameraID}})),this._api.getCardElementManager().update())}_setConditionStateIfNecessary(){const e=new Set(this._triggeredCameras.keys()),t=e.size?e:void 0;Dv(t,this._api.getConditionsManager().getState().triggered)||this._api.getConditionsManager().setState({triggered:t})}async _untriggerAction(e){const t=this._api.getConfigManager().getConfig()?.view.triggers.actions.untrigger;"default"===t&&this._hasAllowableInteractionStateForAction()&&await this._api.getViewManager().setViewDefaultWithNewQuery(),this._triggeredCameras.delete(e),this._deleteTimer(e),this._setConditionStateIfNecessary(),this._api.getCardElementManager().update()}_startUntriggerTimer(e){this._deleteTimer(e);const t=new xf;this._triggeredCameraTimers.set(e,t),t.start( -/* istanbul ignore next: the case of config being null here cannot be - reached, as there's no way to have the untrigger call happen without - a config. -- @preserve */ -this._api.getConfigManager().getConfig()?.view.triggers.untrigger_seconds??0,(async()=>{await this._untriggerAction(e)}))}_deleteTimer(e){this._triggeredCameraTimers.get(e)?.stop(),this._triggeredCameraTimers.delete(e)}}function lx(e,t){return t="function"==typeof t?t:void 0,e&&e.length?Hg(e,void 0,t):[]}class dx{constructor(e){this._queries=null,e&&(this._queries=e)}clone(){return u_(this)}getQueries(){return this._queries}setQueries(e){return this._queries=e,this}getQueryCameraIDs(){if(!this._queries)return null;const e=new Set;return this._queries.forEach((t=>[...t.cameraIDs].forEach((t=>e.add(t))))),e}setQueryCameraIDs(e){if(!this._queries)return this;const t=[];return this._queries.forEach((n=>t.push({...n,cameraIDs:Zg(e)}))),this._queries=lx(t,Dv),this}hasQueriesForCameraIDs(e){for(const t of e)if(!this._queries?.some((e=>e.cameraIDs.has(t))))return!1;return!0}}class ux extends dx{convertToClipsQueries(){for(const e of this._queries??[])delete e.hasSnapshot,e.hasClip=!0;return this}}class hx extends dx{}class px{static areEventQueries(e){return e instanceof ux}static areRecordingQueries(e){return e instanceof hx}static areClipsQueries(e){return this.areEventQueries(e)&&!!e?.getQueries()?.every((e=>e.hasClip))}static areSnapshotQueries(e){return this.areEventQueries(e)&&!!e?.getQueries()?.every((e=>e.hasSnapshot))}static getQueriesType(e){return this.areEventQueries(e)?"event":this.areRecordingQueries(e)?"recording":null}static getMediaType(e){return this.areClipsQueries(e)?"clips":this.areSnapshotQueries(e)?"snapshots":this.areRecordingQueries(e)?"recordings":null}}const mx=(e,t,n)=>{const a={anyCapabilities:["clips","snapshots","recordings"]};switch(t){case"image":case"diagnostics":return e.getStore().getCameraIDs();case"live":case"clip":case"clips":case"snapshot":case"snapshots":case"recording":case"recordings":const i="clip"===t?"clips":"snapshot"===t?"snapshots":"recording"===t?"recordings":t;return n?e.getStore().getAllDependentCameras(n,i):e.getStore().getCameraIDsWithCapability(i);case"timeline":return e.getStore().getCameraIDsWithCapability(a);case"media":return n?e.getStore().getAllDependentCameras(n,a):e.getStore().getCameraIDsWithCapability(a)}},gx=(e,t)=>Ly({},e,t);class fx{constructor(e){this.view=e.view,this.camera=e.camera,this.query=e.query??null,this.queryResults=e.queryResults??null,this.context=e.context??null,this.displayMode=e.displayMode??null}clone(){return new fx({view:this.view,camera:this.camera,query:this.query?.clone()??null,queryResults:this.queryResults?.clone()??null,context:this.context,displayMode:this.displayMode})}evolve(e){return new fx({view:void 0!==e.view?e.view:this.view,camera:void 0!==e.camera?e.camera:this.camera,query:void 0!==e.query?e.query:this.query?.clone()??null,queryResults:void 0!==e.queryResults?e.queryResults:this.queryResults?.clone()??null,context:void 0!==e.context?e.context:this.context,displayMode:void 0!==e.displayMode?e.displayMode:this.displayMode})}mergeInContext(e){return this.context=gx(this.context,e),this}removeContext(e){return this.context&&delete this.context[e],this}removeContextProperty(e,t){const n=this.context?.[e];return n&&delete n[t],this}is(e){return this.view==e}isGalleryView(){return["clips","snapshots","recordings"].includes(this.view)}isAnyMediaView(){return this.isViewerView()||this.is("live")||this.is("image")}isViewerView(){return["media","clip","snapshot","recording"].includes(this.view)}supportsMultipleDisplayModes(){return this.isViewerView()||this.is("live")}getDefaultMediaType(){return["clip","clips"].includes(this.view)?"clips":["snapshot","snapshots"].includes(this.view)?"snapshots":["recording","recordings"].includes(this.view)?"recordings":null}isGrid(){return"grid"===this.displayMode}}const _x=(e,t)=>{t?.forEach((t=>t.modify(e)))};class vx extends zs{}class yx extends zs{}class bx{constructor(e){this._api=e}getViewDefault(e){const t=this._api.getConfigManager().getConfig();if(!t)return null;let n=null;const a=e?.params?.view??t.view.default;if(e?.params?.camera)n=e.params.camera;else{const i=[...mx(this._api.getCameraManager(),a)];if(!i.length)return null;if(e?.baseView?.camera&&t.view.default_cycle_camera){const t=i.indexOf(e.baseView.camera);n=i[t+1>=i.length?0:t+1]}else n=i[0]}return this.getViewByParameters({params:{...e?.params,view:a,camera:n},baseView:e?.baseView})}getViewByParameters(e){const t=this._api.getConfigManager().getConfig();if(!t)return null;let n=e?.params?.camera??e?.baseView?.camera??null,a=e?.params?.view??e?.baseView?.view??t.view.default;const i=this._api.getCameraManager().getStore().getCameraIDs();if(!n||!i.has(n)){n=mx(this._api.getCameraManager(),a).keys().next().value??null}if(!n){const e=[...this._api.getCameraManager().getStore().getCameras()].reduce(((e,[t,n])=>{const a=n.getCapabilities()?.getRawCapabilities();return a&&(e[t]=a),e}),{});throw new vx(V_("error.no_supported_cameras"),{view:a,cameras_capabilities:e})}if(!this.isViewSupportedByCamera(n,a)){if(!e?.failSafe||!this.isViewSupportedByCamera(n,Qs)){const e=this._api.getCameraManager().getStore().getCamera(n)?.getCapabilities()?.getRawCapabilities();throw new yx(V_("error.no_supported_camera"),{view:a,camera:n,...e&&{camera_capabilities:e}})}a=Qs}const r=e?.params?.displayMode??e?.baseView?.displayMode??this._getDefaultDisplayModeForView(a,t),o={...e?.params,view:a,camera:n,displayMode:r},s=e?.baseView?e.baseView.evolve(o):new fx(o);return _x(s,e?.modifiers),s}isViewSupportedByCamera(e,t){return!!mx(this._api.getCameraManager(),t,e).size}_getDefaultDisplayModeForView(e,t){let n=null;switch(e){case"media":case"clip":case"recording":case"snapshot":n=t.media_viewer.display?.mode??null;break;case"live":n=t.live.display?.mode??null}return n??"single"}}class wx{constructor(e,t){this._key=e,this._property=t}modify(e){e.removeContextProperty(this._key,this._property)}}class xx{constructor(e){this._query=e?.query,this._queryResults=e?.queryResults}modify(e){void 0!==this._query&&(e.query=this._query),void 0!==this._queryResults&&(e.queryResults=this._queryResults)}}const Cx=(e,t,n)=>{let a;for(const[i,r]of e.entries()){const e=r.getStartTime(),o=r.getUsableEndTime();if(r.includesTime(t)&&e&&o){const t=o.getTime()-e.getTime();(!a||n&&a.cameraID!==n&&r.getCameraID()===n||t>a.duration&&(!n||a.cameraID!==n||r.getCameraID()===n))&&(a={index:i,duration:t,cameraID:r.getCameraID()})}}return a?a.index:null};class Mx{constructor(e){this._results=e?.results??[],this._selectedIndex=this._getInitialSelectedIndex(e)}_getInitialSelectedIndex(e){return null!=e?.selectedIndex?e.selectedIndex:e?.results&&e.results.length?e?.selectApproach&&"last"!==e?.selectApproach?0:e.results.length-1:null}clone(){return new Mx({results:this._results,selectedIndex:this._selectedIndex})}getResults(){return this._results}getSelectedIndex(){return this._selectedIndex}getResultsCount(){return this.getResults().length}hasResults(){return 0!==this.getResultsCount()}getResult(e){return void 0===e?null:this._results[e]}getSelectedResult(){const e=this.getSelectedIndex();return null!==e?this.getResult(e):null}hasSelectedResult(){return null!==this.getSelectedResult()}resetSelectedResult(){this._selectedIndex=null}selectIndex(e){(null===e||e>=0&&ee.getID()))),n=new Set(e._main.getResults()?.map((e=>e.getID())));return!(!t.size||!n.size||t.has(null)||n.has(null))&&((e,t)=>{for(const n of t)if(!e.has(n))return!1;return!0})(t,n)}getCameraIDs(){return new Set(this._cameras.keys())}getSlice(e){return e?this._cameras.get(e)??null:this._main}getResults(e){return this.getSlice(e)?.getResults()??null}getResultsCount(e){return this.getSlice(e)?.getResultsCount()??0}hasResults(e){return 0!==this.getSlice(e)?.getResultsCount()}getResult(e,t){return this.getSlice(t)?.getResult(e)??null}getSelectedIndex(e){return this.getSlice(e)?.getSelectedIndex()??null}getSelectedResult(e){return this.getSlice(e)?.getSelectedResult()??null}getMultipleSelectedResults(e){const t=[];if(!e||e.main){const e=this.getSelectedResult();e&&t.push(e)}const n=this._getCameraIDsFromCriteria(e);for(const e of n??[]){const n=this.getSelectedResult(e);n&&t.push(n)}return t}hasSelectedResult(e){return this.getSlice(e)?.hasSelectedResult()??!1}resetSelectedResult(e){return this.getSlice(e)?.resetSelectedResult(),this}getResultsTimestamp(){return this._resultsTimestamp}selectIndex(e,t){return this.getSlice(t)?.selectIndex(e),t||this.demoteMainSelectionToCameraSelection(),this}demoteMainSelectionToCameraSelection(){const e=this.getSelectedResult();if(e){const t=e.getCameraID();this.resetSelectedResult(t),this.selectResultIfFound((t=>t===e),{cameraID:t})}return this}promoteCameraSelectionToMainSelection(e){const t=this.getSelectedResult(e);return this.resetSelectedResult(),this.selectResultIfFound((e=>e===t)),this}_getCameraIDsFromCriteria(e){return e?.allCameras?this.getCameraIDs():e?.cameraID?new Set([e.cameraID]):null}selectResultIfFound(e,t){t&&!t?.main||(this._main.selectResultIfFound(e),this.demoteMainSelectionToCameraSelection());const n=this._getCameraIDsFromCriteria(t);for(const t of n??[])this.getSlice(t)?.selectResultIfFound(e);return this}selectBestResult(e,t){t&&!t.main||(this._main.selectBestResult(e),this.demoteMainSelectionToCameraSelection());const n=this._getCameraIDsFromCriteria(t);for(const t of n??[])this.getSlice(t)?.selectBestResult(e);return this}}class Sx{constructor(e){this._api=e}async executeDefaultEventQuery(e){const t=e?.eventsMediaType&&"all"!==e?.eventsMediaType?e.eventsMediaType:{anyCapabilities:["clips","snapshots"]},n=this._api.getCameraManager(),a=e?.cameraID?n.getStore().getAllDependentCameras(e.cameraID,t):n.getStore().getCameraIDsWithCapability(t);if(!a.size)return null;const i=n.generateDefaultEventQueries(a,{limit:this._getChunkLimit(),..."clips"===e?.eventsMediaType&&{hasClip:!0},..."snapshots"===e?.eventsMediaType&&{hasSnapshot:!0}});if(!i)return null;const r=new ux(i),o=await this.execute(r,e?.executorOptions);return o?{query:r,queryResults:o}:null}async executeDefaultRecordingQuery(e){const t=this._api.getCameraManager(),n=e?.cameraID?t.getStore().getAllDependentCameras(e.cameraID,"recordings"):t.getStore().getCameraIDsWithCapability("recordings");if(!n.size)return null;const a=t.generateDefaultRecordingQueries(n,{limit:this._getChunkLimit()});if(!a)return null;const i=new hx(a),r=await this.execute(i,e?.executorOptions);return r?{query:i,queryResults:r}:null}async execute(e,t){const n=e.getQueries();if(!n)return null;const a=await this._api.getCameraManager().executeMediaQueries(n,{useCache:t?.useCache});if(!a)return null;const i=new kx({results:a});return t?.rejectResults?.(i)?null:(t?.selectResult?.id?i.selectBestResult((e=>e.findIndex((e=>e.getID()===t.selectResult?.id)))):t?.selectResult?.func?i.selectResultIfFound(t.selectResult.func):t?.selectResult?.time&&i.selectBestResult((e=>Cx(e,t.selectResult?.time?.time,t.selectResult?.time?.favorCameraID))),i)}_getChunkLimit(){const e=this._api.getConfigManager().getCardWideConfig();return e?.performance?.features.media_chunk_size??50}}class Ex{constructor(e,t){this._api=e,this._executor=t??new Sx(e)}async getExistingQueryModifiers(e,t){return e.query?[new xx({queryResults:await this._executor.execute(e.query,t)})]:[]}async getNewQueryModifiers(e,t){return await this._executeNewQuery(e,{useCache:!1,...t})}async _executeNewQuery(e,t){const n=this._api.getConfigManager().getConfig();if(!n)return null;const a=e?.getDefaultMediaType(),i=[],r=async n=>{ -/* istanbul ignore if: this path cannot be reached -- @preserve */ -if(!n)return[];const a="recordings"===n?await this._executor.executeDefaultRecordingQuery({...!e.isGrid()&&{cameraID:e.camera},executorOptions:t}):"clips"===n||"snapshots"===n||"all"===n?await this._executor.executeDefaultEventQuery({...!e.isGrid()&&{cameraID:e.camera},eventsMediaType:n,executorOptions:t}):/* istanbul ignore next -- @preserve */ -null;return a?[new xx(a)]:[]};switch(e.view){case"live":"none"!==n.live.controls.thumbnails.mode&&i.push(...await r("recordings"===n.live.controls.thumbnails.media_type?"recordings":n.live.controls.thumbnails.events_media_type));break;case"media":i.push(...await r("clips"));break;case"clips":case"snapshots":case"recordings":i.push(...await r(a));break;case"clip":case"snapshot":case"recording":"none"!==n.media_viewer.controls.thumbnails.mode&&i.push(...await r(a))}return i.push(...this._getTimelineWindowViewModifier(e)),i.push(...this._getSeekTimeModifier(t?.selectResult?.time?.time)),i}_getTimelineWindowViewModifier(e){if(e.is("live")){const e=new Date,t=this._api.getConfigManager().getConfig()?.live; -/* istanbul ignore if: this if branch cannot be reached as if the config is - empty this function is never called -- @preserve */ -return t?[new Gy({timeline:{window:{start:Qu(e,{seconds:t.controls.timeline.window_seconds}),end:e}}})]:[]}return[new wx("timeline","window")]}_getSeekTimeModifier(e){return e?[new Gy({mediaViewer:{seek:e}})]:[new wx("mediaViewer","seek")]}}class $x{constructor(e,t){this._view=null,this._epoch=this._createEpoch(),this._loadingIndex=1,this.setViewDefault=e=>this._setViewGeneric(this._viewFactory.getViewDefault.bind(this._viewFactory),e),this.setViewByParameters=e=>this._setViewGeneric(this._viewFactory.getViewByParameters.bind(this._viewFactory),e),this.setViewDefaultWithNewQuery=async e=>await this._setViewThenModifyAsync(this._viewFactory.getViewDefault.bind(this._viewFactory),this._viewQueryExecutor.getNewQueryModifiers.bind(this._viewQueryExecutor),e),this.setViewByParametersWithNewQuery=async e=>await this._setViewThenModifyAsync(this._viewFactory.getViewByParameters.bind(this._viewFactory),this._viewQueryExecutor.getNewQueryModifiers.bind(this._viewQueryExecutor),e),this.setViewByParametersWithExistingQuery=async e=>await this._setViewThenModifyAsync(this._viewFactory.getViewByParameters.bind(this._viewFactory),this._viewQueryExecutor.getExistingQueryModifiers.bind(this._viewQueryExecutor),e),this.initialize=async()=>(this._api.getQueryStringManager().hasViewRelatedActionsToRun()||this.setViewDefaultWithNewQuery({failSafe:!0}),!0),this._api=e,this._viewFactory=t?.viewFactory??new bx(e),this._viewQueryExecutor=t?.viewQueryExecutor??new Ex(e)}getEpoch(){return this._epoch}_createEpoch(e){return{manager:this,...e&&{oldView:e}}}getView(){return this._view}hasView(){return!!this.getView()}reset(){this._view&&this._setView(null)}_setViewGeneric(e,t){let n=null;try{n=e({baseView:this._view,...t})}catch(e){this._api.getMessageManager().setErrorIfHigherPriority(e)}n&&this._setView(n)}_markViewLoadingQuery(e,t){return e.mergeInContext({loading:{query:t}})}_markViewAsNotLoadingQuery(e){return e.removeContextProperty("loading","query")}async _setViewThenModifyAsync(e,t,n){let a=null;try{a=e({baseView:this._view,...n,params:{query:null,queryResults:null,...n?.params}})}catch(e){this._api.getMessageManager().setErrorIfHigherPriority(e)}if(!a)return;if(this._view&&this._shouldAdoptQueryAndResults(a))return a.query=this._view.query,a.queryResults=this._view.queryResults,this._markViewAsNotLoadingQuery(a),void this._setView(a);const i=this._loadingIndex++;this._markViewLoadingQuery(a,i),this._setView(a);let r=null,o=null;try{r=await t(a,n?.queryExecutorOptions)}catch(e){o=e}if(this._view&&this.hasMajorMediaChange(this._view,a))return void(this._view.context?.loading?.query===i&&this._setView(this._markViewAsNotLoadingQuery(this._view.clone())));if(o)return void this._api.getMessageManager().setErrorIfHigherPriority(o); -/* istanbul ignore if: the if path cannot be reached as the view is set - above -- @preserve */if(!this._view)return;const s=this._view.clone();this._view.context?.loading?.query===i&&this._markViewAsNotLoadingQuery(s),_x(s,r),this._setView(s)}_shouldAdoptQueryAndResults(e){const t=this._view?.isViewerView()&&e?.isGalleryView(),n=e?.getDefaultMediaType(),a=px.getMediaType(this._view?.query)===n;return!!t&&a}setViewWithMergedContext(e){if(this._view)return this._setView(this._view?.clone().mergeInContext(e))}isViewSupportedByCamera(e,t){return!!mx(this._api.getCameraManager(),t,e).size}hasMajorMediaChange(e,t){const n=t??this._view;return!!e!=!!n||e?.view!==n?.view||e?.camera!==n?.camera||"live"===n?.view&&e&&My(e)!==My(n)||"live"!==n?.view&&e?.queryResults!==n?.queryResults}_setView(e){const t=this._view;B_(this._api.getConfigManager().getCardWideConfig(),"Frigate Card view change: ",e),this._view=e,this._epoch=this._createEpoch(t),this.hasMajorMediaChange(t)&&this._api.getMediaLoadedInfoManager().clear(),t?.view!==e?.view&&this._api.getCardElementManager().scrollReset(),this._api.getMessageManager().reset(),this._api.getStyleManager().setExpandedMode(),this._api.getConditionsManager()?.setState({view:e?.view,camera:e?.camera,displayMode:e?.displayMode??void 0}),this._api.getCardElementManager().update()}}class Ax{constructor(e,t,n,a){this._deviceRegistryManager=new oy(new iy((e=>e.id))),this._entityRegistryManager=new ly(new iy((e=>e.entity_id))),this._resolvedMediaCache=new uy,this._actionsManager=new gb(this),this._automationsManager=new fb(this),this._cameraManager=new ay(this),this._cameraURLManager=new _b(this),this._configManager=new Mw(this),this._defaultManager=new kw(this),this._downloadManager=new Aw(this),this._expandManager=new zw(this),this._fullscreenManager=new Rw(this),this._hassManager=new Lw(this),this._initializationManager=new Zb(this),this._interactionManager=new Uw(this),this._keyboardStateManager=new Ww(this),this._mediaLoadedInfoManager=new ex(this),this._mediaPlayerManager=new nx(this),this._messageManager=new ax(this),this._microphoneManager=new ix(this),this._queryStringManager=new rx(this),this._statusBarItemManager=new ox(this),this._styleManager=new sx(this),this._triggersManager=new cx(this),this._viewManager=new $x(this),e.addController(this),this._conditionsManager=new yw(this,a),this._cardElementManager=new Qb(this,e,t,n)}getActionsManager(){return this._actionsManager}getAutomationsManager(){return this._automationsManager}getCameraManager(){return this._cameraManager}getCameraURLManager(){return this._cameraURLManager}getCardElementManager(){return this._cardElementManager}getConditionsManager(){return this._conditionsManager}static async getConfigElement(){return await import("./editor-ce460dd0.js"),document.createElement("frigate-card-editor")}getConfigManager(){return this._configManager}getDefaultManager(){return this._defaultManager}getDeviceRegistryManager(){return this._deviceRegistryManager}getDownloadManager(){return this._downloadManager}getEntityRegistryManager(){return this._entityRegistryManager}getExpandManager(){return this._expandManager}getFullscreenManager(){return this._fullscreenManager}getHASSManager(){return this._hassManager}getInitializationManager(){return this._initializationManager}getInteractionManager(){return this._interactionManager}getKeyboardStateManager(){return this._keyboardStateManager}getMediaLoadedInfoManager(){return this._mediaLoadedInfoManager}getMediaPlayerManager(){return this._mediaPlayerManager}getMessageManager(){return this._messageManager}getMicrophoneManager(){return this._microphoneManager}getQueryStringManager(){return this._queryStringManager}getResolvedMediaCache(){return this._resolvedMediaCache}getStatusBarItemManager(){return this._statusBarItemManager}static getStubConfig(e){return{cameras:[{camera_entity:e.find((e=>e.startsWith("camera.")))??"camera.demo"}]}}getStyleManager(){return this._styleManager}getTriggersManager(){return this._triggersManager}getViewManager(){return this._viewManager}hostConnected(){this.getCardElementManager().elementConnected()}hostDisconnected(){this.getCardElementManager().elementDisconnected()}}class zx{constructor(){this._dynamicMenuButtons=[]}addDynamicMenuButton(e){this._dynamicMenuButtons.includes(e)||this._dynamicMenuButtons.push(e)}removeDynamicMenuButton(e){this._dynamicMenuButtons=this._dynamicMenuButtons.filter((t=>t!=e))}calculateButtons(e,t,n,a){return[this._getDefaultButton(t),this._getCamerasButton(t,n,a?.view),this._getSubstreamsButton(t,n,a?.view),this._getLiveButton(t,a?.view,a?.viewManager),this._getClipsButton(t,a?.view,a?.viewManager),this._getSnapshotsButton(t,a?.view,a?.viewManager),this._getRecordingsButton(t,a?.view,a?.viewManager),this._getImageButton(t,a?.view,a?.viewManager),this._getTimelineButton(t,a?.view,a?.viewManager),this._getDownloadButton(t,n,a?.view),this._getCameraUIButton(t,a?.showCameraUIButton),this._getMicrophoneButton(t,a?.microphoneManager,a?.currentMediaLoadedInfo),this._getExpandButton(t,a?.inExpandedMode),this._getFullscreenButton(t,a?.inFullscreenMode),this._getCastButton(e,t,n,a?.view,a?.mediaPlayerController),this._getPlayPauseButton(t,a?.currentMediaLoadedInfo),this._getMuteUnmuteButton(t,a?.currentMediaLoadedInfo),this._getScreenshotButton(t,a?.currentMediaLoadedInfo),this._getDisplayModeButton(t,n,a?.view),this._getPTZControlsButton(t,n,a?.view),this._getPTZHomeButton(t,n,a?.view),...this._dynamicMenuButtons.map((e=>({style:this._getStyleFromActions(t,e,a),...e})))].filter(sf)}_getDefaultButton(e){return{icon:"frigate",...e.menu.buttons.frigate,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.frigate"),permanent:!0,tap_action:"hidden"===e.menu?.style?gf("menu_toggle"):gf("default"),hold_action:gf("diagnostics")}}_getCamerasButton(e,t,n){const a=t.getStore().getCameraIDsWithCapability("menu");if(a.size>1){const i=Array.from(t.getStore().getCameraConfigEntries(a),(([e,a])=>{const i=ff("camera_select",e),r=t.getCameraMetadata(e);return{enabled:!0,icon:r?.icon,entity:a.camera_entity,state_color:!0,title:r?.title,selected:n?.camera===e,...i&&{tap_action:i}}}));return{icon:"mdi:video-switch",...e.menu.buttons.cameras,type:"custom:frigate-card-menu-submenu",title:V_("config.menu.buttons.cameras"),items:i}}return null}_getSubstreamsButton(e,t,n){if(!n)return null;const a=t.getStore().getAllDependentCameras(n.camera,"substream");if(a.size&&n.is("live")){const i=[...a].filter((e=>e!==n.camera)),r=[n.camera,...i],o=My(n);if(2===r.length)return{icon:"mdi:video-input-component",style:o!==n.camera?this._getEmphasizedStyle():{},title:V_("config.menu.buttons.substreams"),...e.menu.buttons.substreams,type:"custom:frigate-card-menu-icon",tap_action:gf(ky(n)?"live_substream_off":"live_substream_on")};if(r.length>2){const a=Array.from(r,(e=>{const n=ff("live_substream_select",e),a=t.getCameraMetadata(e)??void 0,i=t.getStore().getCameraConfig(e);return{enabled:!0,icon:a?.icon,entity:i?.camera_entity,state_color:!0,title:a?.title,selected:o===e,...n&&{tap_action:n}}}));return{icon:"mdi:video-input-component",title:V_("config.menu.buttons.substreams"),style:o!==n.camera?this._getEmphasizedStyle():{},...e.menu.buttons.substreams,type:"custom:frigate-card-menu-submenu",items:a}}}return null}_getLiveButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"live")?{icon:"mdi:cctv",...e.menu.buttons.live,type:"custom:frigate-card-menu-icon",title:V_("config.view.views.live"),style:t.is("live")?this._getEmphasizedStyle():{},tap_action:gf("live")}:null}_getClipsButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"clips")?{icon:"mdi:filmstrip",...e.menu.buttons.clips,type:"custom:frigate-card-menu-icon",title:V_("config.view.views.clips"),style:t?.is("clips")?this._getEmphasizedStyle():{},tap_action:gf("clips"),hold_action:gf("clip")}:null}_getSnapshotsButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"snapshots")?{icon:"mdi:camera",...e.menu.buttons.snapshots,type:"custom:frigate-card-menu-icon",title:V_("config.view.views.snapshots"),style:t?.is("snapshots")?this._getEmphasizedStyle():{},tap_action:gf("snapshots"),hold_action:gf("snapshot")}:null}_getRecordingsButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"recordings")?{icon:"mdi:album",...e.menu.buttons.recordings,type:"custom:frigate-card-menu-icon",title:V_("config.view.views.recordings"),style:t.is("recordings")?this._getEmphasizedStyle():{},tap_action:gf("recordings"),hold_action:gf("recording")}:null}_getImageButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"image")?{icon:"mdi:image",...e.menu.buttons.image,type:"custom:frigate-card-menu-icon",title:V_("config.view.views.image"),style:t?.is("image")?this._getEmphasizedStyle():{},tap_action:gf("image")}:null}_getTimelineButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"timeline")?{icon:"mdi:chart-gantt",...e.menu.buttons.timeline,type:"custom:frigate-card-menu-icon",title:V_("config.view.views.timeline"),style:t.is("timeline")?this._getEmphasizedStyle():{},tap_action:gf("timeline")}:null}_getDownloadButton(e,t,n){const a=n?.queryResults?.getSelectedResult(),i=a?t?.getMediaCapabilities(a):null;return n?.isViewerView()&&i?.canDownload&&!this._isBeingCasted()?{icon:"mdi:download",...e.menu.buttons.download,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.download"),tap_action:gf("download")}:null}_getCameraUIButton(e,t){return t?{icon:"mdi:web",...e.menu.buttons.camera_ui,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.camera_ui"),tap_action:gf("camera_ui")}:null}_getMicrophoneButton(e,t,n){if(t&&n?.capabilities?.supports2WayAudio){const n=t.isForbidden()||!t.isSupported(),a=t.isMuted(),i=e.menu.buttons.microphone.type;return{icon:n?"mdi:microphone-message-off":a?"mdi:microphone-off":"mdi:microphone",...e.menu.buttons.microphone,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.microphone"),style:n||a?{}:this._getEmphasizedStyle(!0),...!n&&"momentary"===i&&{start_tap_action:gf("microphone_unmute"),end_tap_action:gf("microphone_mute")},...!n&&"toggle"===i&&{tap_action:gf(a?"microphone_unmute":"microphone_mute")}}}return null}_getExpandButton(e,t){return{icon:t?"mdi:arrow-collapse-all":"mdi:arrow-expand-all",...e.menu.buttons.expand,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.expand"),tap_action:gf("expand"),style:t?this._getEmphasizedStyle():{}}}_getFullscreenButton(e,t){return this._isBeingCasted()?null:{icon:t?"mdi:fullscreen-exit":"mdi:fullscreen",...e.menu.buttons.fullscreen,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.fullscreen"),tap_action:gf("fullscreen"),style:t?this._getEmphasizedStyle():{}}}_getCastButton(e,t,n,a,i){if(!a)return null;const r=n.getStore().getCameraConfig(a.camera);if(i?.hasMediaPlayers()&&(a.isViewerView()||a.is("live")&&r?.camera_entity)){const n=i.getMediaPlayers().map((t=>{const n=Lb(e,t)||t,a=e.states[t],i=_f(t,"play"),r=_f(t,"stop"),o=!a||"unavailable"===a.state;return{enabled:!0,selected:!1,icon:Nb(e,t),entity:t,state_color:!1,title:n,disabled:o,...!o&&i&&{tap_action:i},...!o&&r&&{hold_action:r}}}));return{icon:"mdi:cast",...t.menu.buttons.media_player,type:"custom:frigate-card-menu-submenu",title:V_("config.menu.buttons.media_player"),items:n}}return null}_getPlayPauseButton(e,t){if(t&&t.player&&t.capabilities?.supportsPause){const n=t.player.isPaused();return{icon:n?"mdi:play":"mdi:pause",...e.menu.buttons.play,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.play"),tap_action:gf(n?"play":"pause")}}return null}_getMuteUnmuteButton(e,t){if(t&&t.player&&t?.capabilities?.hasAudio){const n=t.player.isMuted();return{icon:n?"mdi:volume-off":"mdi:volume-high",...e.menu.buttons.mute,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.mute"),tap_action:gf(n?"unmute":"mute")}}return null}_getScreenshotButton(e,t){return t&&t.player?{icon:"mdi:monitor-screenshot",...e.menu.buttons.screenshot,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.screenshot"),tap_action:gf("screenshot")}:null}_getDisplayModeButton(e,t,n){const a=n?mx(t,n.view):null;if(n?.supportsMultipleDisplayModes()&&a&&a.size>1){const t=n.isGrid();return{icon:t?"mdi:grid-off":"mdi:grid",...e.menu.buttons.display_mode,style:t?this._getEmphasizedStyle():{},type:"custom:frigate-card-menu-icon",title:V_(t?"display_modes.single":"display_modes.grid"),tap_action:(i=t?"single":"grid",{action:"fire-dom-event",frigate_card_action:"display_mode_select",display_mode:i,...r?.cardID&&{card_id:r.cardID}})}}var i,r;return null}_getPTZControlsButton(e,t,n){const a=n?.is("live")?e.live.controls.ptz:n?.isViewerView()?e.media_viewer.controls.ptz:null;if(!n||!a||"off"===a.mode)return null;const i=Ry(n,{cameraManager:t,..."auto"===a.mode&&{type:"ptz"}});if(i){const t=!1!==n.context?.ptzControls?.enabled&&("on"===a.mode||"auto"===a.mode&&"ptz"===i.type);return{icon:"mdi:pan",...e.menu.buttons.ptz_controls,style:t?this._getEmphasizedStyle():{},type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.ptz_controls"),tap_action:(r=!t,{action:"fire-dom-event",frigate_card_action:"ptz_controls",enabled:r,...o?.cardID&&{card_id:o.cardID}})}}var r,o;return null}_getPTZHomeButton(e,t,n){const a=n?Ry(n,{cameraManager:t}):null;return!a||(("digital"===a.type&&n?.context?.zoom?.[a.targetID]?.observed?.isDefault)??1)?null:{icon:"mdi:home",...e.menu.buttons.ptz_home,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.ptz_home"),tap_action:vf({targetID:a.targetID})}}_getEmphasizedStyle(e){return e?{animation:"pulse 3s infinite",color:"var(--error-color, white)"}:{color:"var(--primary-color, white)"}}_getStyleFromActions(e,t,n){for(const a of[t.tap_action,t.double_tap_action,t.hold_action,t.start_tap_action,t.end_tap_action]){const t=Array.isArray(a)?a:[a];for(const a of t){if(!a||"fire-dom-event"!==a.action||!("frigate_card_action"in a))continue;const t=a;if(Zs.some((e=>e===t.frigate_card_action&&n?.view?.is(t.frigate_card_action)))||"default"===t.frigate_card_action&&n?.view?.is(e.view.default)||"fullscreen"===t.frigate_card_action&&n?.inFullscreenMode||"camera_select"===t.frigate_card_action&&n?.view?.camera===t.camera)return this._getEmphasizedStyle()}}return{}}_isBeingCasted(){return!!navigator.userAgent.match(/CrKey\//)}} -/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */ -function Ix(e){return null==e}var Tx=function(e,t){var n,a="";for(n=0;ns&&(t=a-s+(r=" ... ").length),n-a>s&&(n=a+s-(o=" ...").length),{str:r+e.slice(t,n).replace(/\t/g,"→")+o,pos:a-t+r.length}}function Lx(e,t){return jx.repeat(" ",t-e.length)+e}var Nx=function(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),"number"!=typeof t.indent&&(t.indent=1),"number"!=typeof t.linesBefore&&(t.linesBefore=3),"number"!=typeof t.linesAfter&&(t.linesAfter=2);for(var n,a=/\r?\n|\r|\0/g,i=[0],r=[],o=-1;n=a.exec(e.buffer);)r.push(n.index),i.push(n.index+n[0].length),e.position<=n.index&&o<0&&(o=i.length-2);o<0&&(o=i.length-1);var s,c,l="",d=Math.min(e.line+t.linesAfter,r.length).toString().length,u=t.maxLength-(t.indent+d+3);for(s=1;s<=t.linesBefore&&!(o-s<0);s++)c=Px(e.buffer,i[o-s],r[o-s],e.position-(i[o]-i[o-s]),u),l=jx.repeat(" ",t.indent)+Lx((e.line-s+1).toString(),d)+" | "+c.str+"\n"+l;for(c=Px(e.buffer,i[o],r[o],e.position,u),l+=jx.repeat(" ",t.indent)+Lx((e.line+1).toString(),d)+" | "+c.str+"\n",l+=jx.repeat("-",t.indent+d+3+c.pos)+"^\n",s=1;s<=t.linesAfter&&!(o+s>=r.length);s++)c=Px(e.buffer,i[o+s],r[o+s],e.position-(i[o]-i[o+s]),u),l+=jx.repeat(" ",t.indent)+Lx((e.line+s+1).toString(),d)+" | "+c.str+"\n";return l.replace(/\n$/,"")},Fx=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],Vx=["scalar","sequence","mapping"];var Hx=function(e,t){if(t=t||{},Object.keys(t).forEach((function(t){if(-1===Fx.indexOf(t))throw new Rx('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')})),this.options=t,this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.representName=t.representName||null,this.defaultStyle=t.defaultStyle||null,this.multi=t.multi||!1,this.styleAliases=function(e){var t={};return null!==e&&Object.keys(e).forEach((function(n){e[n].forEach((function(e){t[String(e)]=n}))})),t}(t.styleAliases||null),-1===Vx.indexOf(this.kind))throw new Rx('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')};function Bx(e,t){var n=[];return e[t].forEach((function(e){var t=n.length;n.forEach((function(n,a){n.tag===e.tag&&n.kind===e.kind&&n.multi===e.multi&&(t=a)})),n[t]=e})),n}function qx(e){return this.extend(e)}qx.prototype.extend=function(e){var t=[],n=[];if(e instanceof Hx)n.push(e);else if(Array.isArray(e))n=n.concat(e);else{if(!e||!Array.isArray(e.implicit)&&!Array.isArray(e.explicit))throw new Rx("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");e.implicit&&(t=t.concat(e.implicit)),e.explicit&&(n=n.concat(e.explicit))}t.forEach((function(e){if(!(e instanceof Hx))throw new Rx("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(e.loadKind&&"scalar"!==e.loadKind)throw new Rx("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(e.multi)throw new Rx("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")})),n.forEach((function(e){if(!(e instanceof Hx))throw new Rx("Specified list of YAML types (or a single Type object) contains a non-Type object.")}));var a=Object.create(qx.prototype);return a.implicit=(this.implicit||[]).concat(t),a.explicit=(this.explicit||[]).concat(n),a.compiledImplicit=Bx(a,"implicit"),a.compiledExplicit=Bx(a,"explicit"),a.compiledTypeMap=function(){var e,t,n={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function a(e){e.multi?(n.multi[e.kind].push(e),n.multi.fallback.push(e)):n[e.kind][e.tag]=n.fallback[e.tag]=e}for(e=0,t=arguments.length;e=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),nC=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var aC=/^[-+]?[0-9]+e/;var iC=new Hx("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!(!nC.test(e)||"_"===e[e.length-1])},construct:function(e){var t,n;return n="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(t[0])>=0&&(t=t.slice(1)),".inf"===t?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:n*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||jx.isNegativeZero(e))},represent:function(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(jx.isNegativeZero(e))return"-0.0";return n=e.toString(10),aC.test(n)?n.replace("e",".e"):n},defaultStyle:"lowercase"}),rC=Gx.extend({implicit:[Yx,Kx,tC,iC]}),oC=rC,sC=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),cC=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");var lC=new Hx("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(e){return null!==e&&(null!==sC.exec(e)||null!==cC.exec(e))},construct:function(e){var t,n,a,i,r,o,s,c,l=0,d=null;if(null===(t=sC.exec(e))&&(t=cC.exec(e)),null===t)throw new Error("Date resolve error");if(n=+t[1],a=+t[2]-1,i=+t[3],!t[4])return new Date(Date.UTC(n,a,i));if(r=+t[4],o=+t[5],s=+t[6],t[7]){for(l=t[7].slice(0,3);l.length<3;)l+="0";l=+l}return t[9]&&(d=6e4*(60*+t[10]+ +(t[11]||0)),"-"===t[9]&&(d=-d)),c=new Date(Date.UTC(n,a,i,r,o,s,l)),d&&c.setTime(c.getTime()-d),c},instanceOf:Date,represent:function(e){return e.toISOString()}});var dC=new Hx("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}}),uC="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";var hC=new Hx("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,a=0,i=e.length,r=uC;for(n=0;n64)){if(t<0)return!1;a+=6}return a%8==0},construct:function(e){var t,n,a=e.replace(/[\r\n=]/g,""),i=a.length,r=uC,o=0,s=[];for(t=0;t>16&255),s.push(o>>8&255),s.push(255&o)),o=o<<6|r.indexOf(a.charAt(t));return 0===(n=i%4*6)?(s.push(o>>16&255),s.push(o>>8&255),s.push(255&o)):18===n?(s.push(o>>10&255),s.push(o>>2&255)):12===n&&s.push(o>>4&255),new Uint8Array(s)},predicate:function(e){return"[object Uint8Array]"===Object.prototype.toString.call(e)},represent:function(e){var t,n,a="",i=0,r=e.length,o=uC;for(t=0;t>18&63],a+=o[i>>12&63],a+=o[i>>6&63],a+=o[63&i]),i=(i<<8)+e[t];return 0===(n=r%3)?(a+=o[i>>18&63],a+=o[i>>12&63],a+=o[i>>6&63],a+=o[63&i]):2===n?(a+=o[i>>10&63],a+=o[i>>4&63],a+=o[i<<2&63],a+=o[64]):1===n&&(a+=o[i>>2&63],a+=o[i<<4&63],a+=o[64],a+=o[64]),a}}),pC=Object.prototype.hasOwnProperty,mC=Object.prototype.toString;var gC=new Hx("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,n,a,i,r,o=[],s=e;for(t=0,n=s.length;t>10),56320+(e-65536&1023))}for(var qC=new Array(256),UC=new Array(256),WC=0;WC<256;WC++)qC[WC]=HC(WC)?1:0,UC[WC]=HC(WC);function ZC(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||bC,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function QC(e,t){var n={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return n.snippet=Nx(n),new Rx(t,n)}function GC(e,t){throw QC(e,t)}function YC(e,t){e.onWarning&&e.onWarning.call(null,QC(e,t))}var KC={YAML:function(e,t,n){var a,i,r;null!==e.version&&GC(e,"duplication of %YAML directive"),1!==n.length&&GC(e,"YAML directive accepts exactly one argument"),null===(a=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&GC(e,"ill-formed argument of the YAML directive"),i=parseInt(a[1],10),r=parseInt(a[2],10),1!==i&&GC(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=r<2,1!==r&&2!==r&&YC(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var a,i;2!==n.length&&GC(e,"TAG directive accepts exactly two arguments"),a=n[0],i=n[1],TC.test(a)||GC(e,"ill-formed tag handle (first argument) of the TAG directive"),wC.call(e.tagMap,a)&&GC(e,'there is a previously declared suffix for "'+a+'" tag handle'),jC.test(i)||GC(e,"ill-formed tag prefix (second argument) of the TAG directive");try{i=decodeURIComponent(i)}catch(t){GC(e,"tag prefix is malformed: "+i)}e.tagMap[a]=i}};function XC(e,t,n,a){var i,r,o,s;if(t1&&(e.result+=jx.repeat("\n",t-1))}function rM(e,t){var n,a,i=e.tag,r=e.anchor,o=[],s=!1;if(-1!==e.firstTabInLine)return!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=o),a=e.input.charCodeAt(e.position);0!==a&&(-1!==e.firstTabInLine&&(e.position=e.firstTabInLine,GC(e,"tab characters must not be used in indentation")),45===a)&&PC(e.input.charCodeAt(e.position+1));)if(s=!0,e.position++,nM(e,!0,-1)&&e.lineIndent<=t)o.push(null),a=e.input.charCodeAt(e.position);else if(n=e.line,cM(e,t,MC,!1,!0),o.push(e.result),nM(e,!0,-1),a=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==a)GC(e,"bad indentation of a sequence entry");else if(e.lineIndentt?m=1:e.lineIndent===t?m=0:e.lineIndentt?m=1:e.lineIndent===t?m=0:e.lineIndentt)&&(_&&(o=e.line,s=e.lineStart,c=e.position),cM(e,t,kC,!0,i)&&(_?g=e.result:f=e.result),_||(eM(e,h,p,m,g,f,o,s,c),m=g=f=null),nM(e,!0,-1),l=e.input.charCodeAt(e.position)),(e.line===r||e.lineIndent>t)&&0!==l)GC(e,"bad indentation of a mapping entry");else if(e.lineIndent=0))break;0===i?GC(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):c?GC(e,"repeat of an indentation width identifier"):(l=t+i-1,c=!0)}if(RC(r)){do{r=e.input.charCodeAt(++e.position)}while(RC(r));if(35===r)do{r=e.input.charCodeAt(++e.position)}while(!DC(r)&&0!==r)}for(;0!==r;){for(tM(e),e.lineIndent=0,r=e.input.charCodeAt(e.position);(!c||e.lineIndentl&&(l=e.lineIndent),DC(r))d++;else{if(e.lineIndent0){for(i=o,r=0;i>0;i--)(o=NC(s=e.input.charCodeAt(++e.position)))>=0?r=(r<<4)+o:GC(e,"expected hexadecimal character");e.result+=BC(r),e.position++}else GC(e,"unknown escape sequence");n=a=e.position}else DC(s)?(XC(e,n,a,!0),iM(e,nM(e,!1,t)),n=a=e.position):e.position===e.lineStart&&aM(e)?GC(e,"unexpected end of the document within a double quoted scalar"):(e.position++,a=e.position)}GC(e,"unexpected end of the stream within a double quoted scalar")}(e,h)?f=!0:!function(e){var t,n,a;if(42!==(a=e.input.charCodeAt(e.position)))return!1;for(a=e.input.charCodeAt(++e.position),t=e.position;0!==a&&!PC(a)&&!LC(a);)a=e.input.charCodeAt(++e.position);return e.position===t&&GC(e,"name of an alias node must contain at least one character"),n=e.input.slice(t,e.position),wC.call(e.anchorMap,n)||GC(e,'unidentified alias "'+n+'"'),e.result=e.anchorMap[n],nM(e,!0,-1),!0}(e)?function(e,t,n){var a,i,r,o,s,c,l,d,u=e.kind,h=e.result;if(PC(d=e.input.charCodeAt(e.position))||LC(d)||35===d||38===d||42===d||33===d||124===d||62===d||39===d||34===d||37===d||64===d||96===d)return!1;if((63===d||45===d)&&(PC(a=e.input.charCodeAt(e.position+1))||n&&LC(a)))return!1;for(e.kind="scalar",e.result="",i=r=e.position,o=!1;0!==d;){if(58===d){if(PC(a=e.input.charCodeAt(e.position+1))||n&&LC(a))break}else if(35===d){if(PC(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&aM(e)||n&&LC(d))break;if(DC(d)){if(s=e.line,c=e.lineStart,l=e.lineIndent,nM(e,!1,-1),e.lineIndent>=t){o=!0,d=e.input.charCodeAt(e.position);continue}e.position=r,e.line=s,e.lineStart=c,e.lineIndent=l;break}}o&&(XC(e,i,r,!1),iM(e,e.line-s),i=r=e.position,o=!1),RC(d)||(r=e.position+1),d=e.input.charCodeAt(++e.position)}return XC(e,i,r,!1),!!e.result||(e.kind=u,e.result=h,!1)}(e,h,xC===n)&&(f=!0,null===e.tag&&(e.tag="?")):(f=!0,null===e.tag&&null===e.anchor||GC(e,"alias node should not have any properties")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===m&&(f=s&&rM(e,p))),null===e.tag)null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);else if("?"===e.tag){for(null!==e.result&&"scalar"!==e.kind&&GC(e,'unacceptable node kind for ! tag; it should be "scalar", not "'+e.kind+'"'),c=0,l=e.implicitTypes.length;c"),null!==e.result&&u.kind!==e.kind&&GC(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+u.kind+'", not "'+e.kind+'"'),u.resolve(e.result,e.tag)?(e.result=u.construct(e.result,e.tag),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):GC(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||f}function lM(e){var t,n,a,i,r=e.position,o=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);0!==(i=e.input.charCodeAt(e.position))&&(nM(e,!0,-1),i=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==i));){for(o=!0,i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!PC(i);)i=e.input.charCodeAt(++e.position);for(a=[],(n=e.input.slice(t,e.position)).length<1&&GC(e,"directive name must not be less than one character in length");0!==i;){for(;RC(i);)i=e.input.charCodeAt(++e.position);if(35===i){do{i=e.input.charCodeAt(++e.position)}while(0!==i&&!DC(i));break}if(DC(i))break;for(t=e.position;0!==i&&!PC(i);)i=e.input.charCodeAt(++e.position);a.push(e.input.slice(t,e.position))}0!==i&&tM(e),wC.call(KC,n)?KC[n](e,n,a):YC(e,'unknown document directive "'+n+'"')}nM(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,nM(e,!0,-1)):o&&GC(e,"directives end mark is expected"),cM(e,e.lineIndent-1,kC,!1,!0),nM(e,!0,-1),e.checkLineBreaks&&zC.test(e.input.slice(r,e.position))&&YC(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&aM(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,nM(e,!0,-1)):e.position=55296&&a<=56319&&t+1=56320&&n<=57343?1024*(a-55296)+n-56320+65536:a}function JM(e){return/^\n* /.test(e)}var ek=1,tk=2,nk=3,ak=4,ik=5;function rk(e,t,n,a,i,r,o,s){var c,l=0,d=null,u=!1,h=!1,p=-1!==a,m=-1,g=function(e){return GM(e)&&e!==mM&&!QM(e)&&e!==EM&&e!==IM&&e!==$M&&e!==SM&&e!==jM&&e!==OM&&e!==RM&&e!==LM&&e!==wM&&e!==CM&&e!==kM&&e!==yM&&e!==PM&&e!==AM&&e!==zM&&e!==MM&&e!==bM&&e!==xM&&e!==TM&&e!==DM}(XM(e,0))&&function(e){return!QM(e)&&e!==$M}(XM(e,e.length-1));if(t||o)for(c=0;c=65536?c+=2:c++){if(!GM(l=XM(e,c)))return ik;g=g&&KM(l,d,s),d=l}else{for(c=0;c=65536?c+=2:c++){if((l=XM(e,c))===fM)u=!0,p&&(h=h||c-m-1>a&&" "!==e[m+1],m=c);else if(!GM(l))return ik;g=g&&KM(l,d,s),d=l}h=h||p&&c-m-1>a&&" "!==e[m+1]}return u||h?n>9&&JM(e)?ik:o?r===qM?ik:tk:h?ak:nk:!g||o||i(e)?r===qM?ik:tk:ek}function ok(e,t,n,a,i){e.dump=function(){if(0===t.length)return e.quotingType===qM?'""':"''";if(!e.noCompatMode&&(-1!==FM.indexOf(t)||VM.test(t)))return e.quotingType===qM?'"'+t+'"':"'"+t+"'";var r=e.indent*Math.max(1,n),o=-1===e.lineWidth?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-r),s=a||e.flowLevel>-1&&n>=e.flowLevel;switch(rk(t,s,e.indent,o,(function(t){return function(e,t){var n,a;for(n=0,a=e.implicitTypes.length;n"+sk(t,e.indent)+ck(WM(function(e,t){var n,a,i=/(\n+)([^\n]*)/g,r=(s=e.indexOf("\n"),s=-1!==s?s:e.length,i.lastIndex=s,lk(e.slice(0,s),t)),o="\n"===e[0]||" "===e[0];var s;for(;a=i.exec(e);){var c=a[1],l=a[2];n=" "===l[0],r+=c+(o||n||""===l?"":"\n")+lk(l,t),o=n}return r}(t,o),r));case ik:return'"'+function(e){for(var t,n="",a=0,i=0;i=65536?i+=2:i++)a=XM(e,i),!(t=NM[a])&&GM(a)?(n+=e[i],a>=65536&&(n+=e[i+1])):n+=t||HM(a);return n}(t)+'"';default:throw new Rx("impossible error: invalid scalar style")}}()}function sk(e,t){var n=JM(e)?String(t):"",a="\n"===e[e.length-1];return n+(a&&("\n"===e[e.length-2]||"\n"===e)?"+":a?"":"-")+"\n"}function ck(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function lk(e,t){if(""===e||" "===e[0])return e;for(var n,a,i=/ [^ ]/g,r=0,o=0,s=0,c="";n=i.exec(e);)(s=n.index)-r>t&&(a=o>r?o:s,c+="\n"+e.slice(r,a),r=a+1),o=s;return c+="\n",e.length-r>t&&o>r?c+=e.slice(r,o)+"\n"+e.slice(o+1):c+=e.slice(r),c.slice(1)}function dk(e,t,n,a){var i,r,o,s="",c=e.tag;for(i=0,r=n.length;i tag resolver accepts not "'+c+'" style');a=s.represent[c](t,c)}e.dump=a}return!0}return!1}function hk(e,t,n,a,i,r,o){e.tag=null,e.dump=n,uk(e,n,!1)||uk(e,n,!0);var s,c=hM.call(e.dump),l=a;a&&(a=e.flowLevel<0||e.flowLevel>t);var d,u,h="[object Object]"===c||"[object Array]"===c;if(h&&(u=-1!==(d=e.duplicates.indexOf(n))),(null!==e.tag&&"?"!==e.tag||u||2!==e.indent&&t>0)&&(i=!1),u&&e.usedDuplicates[d])e.dump="*ref_"+d;else{if(h&&u&&!e.usedDuplicates[d]&&(e.usedDuplicates[d]=!0),"[object Object]"===c)a&&0!==Object.keys(e.dump).length?(!function(e,t,n,a){var i,r,o,s,c,l,d="",u=e.tag,h=Object.keys(n);if(!0===e.sortKeys)h.sort();else if("function"==typeof e.sortKeys)h.sort(e.sortKeys);else if(e.sortKeys)throw new Rx("sortKeys must be a boolean or a function");for(i=0,r=h.length;i1024)&&(e.dump&&fM===e.dump.charCodeAt(0)?l+="?":l+="? "),l+=e.dump,c&&(l+=ZM(e,t)),hk(e,t+1,s,!0,c)&&(e.dump&&fM===e.dump.charCodeAt(0)?l+=":":l+=": ",d+=l+=e.dump));e.tag=u,e.dump=d||"{}"}(e,t,e.dump,i),u&&(e.dump="&ref_"+d+e.dump)):(!function(e,t,n){var a,i,r,o,s,c="",l=e.tag,d=Object.keys(n);for(a=0,i=d.length;a1024&&(s+="? "),s+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),hk(e,t,o,!1,!1)&&(c+=s+=e.dump));e.tag=l,e.dump="{"+c+"}"}(e,t,e.dump),u&&(e.dump="&ref_"+d+" "+e.dump));else if("[object Array]"===c)a&&0!==e.dump.length?(e.noArrayIndent&&!o&&t>0?dk(e,t-1,e.dump,i):dk(e,t,e.dump,i),u&&(e.dump="&ref_"+d+e.dump)):(!function(e,t,n){var a,i,r,o="",s=e.tag;for(a=0,i=n.length;a",e.dump=s+" "+e.dump)}return!0}function pk(e,t){var n,a,i=[],r=[];for(mk(e,i,r),n=0,a=r.length;nq`
${fk.dump(e)}
`;return q`
-
-
- -
-
- - ${this.message?q`${this.message}${this.context&&"string"==typeof this.context?": "+this.context:""}`:""} - - ${this.context&&Array.isArray(this.context)?this.context.map((e=>n(e))):"object"==typeof this.context?n(this.context):""} -
-
-
`}static get styles(){return o(_k)}};e([he({attribute:!1})],vk.prototype,"message",void 0),e([he({attribute:!1})],vk.prototype,"context",void 0),e([he({attribute:!1})],vk.prototype,"icon",void 0),e([he({attribute:!0,type:Boolean})],vk.prototype,"dotdotdot",void 0),vk=e([le("frigate-card-message")],vk);let yk=class extends se{render(){if(this.message)return q` ${V_("error.troubleshooting")}
.`} - .icon=${this.message.icon??"mdi:alert-circle"} - .context=${this.message.context} - .dotdotdot=${this.message.dotdotdot} - > - `}static get styles(){return o(_k)}};e([he({attribute:!1})],yk.prototype,"message",void 0),yk=e([le("frigate-card-error-message")],yk);let bk=class extends se{constructor(){super(...arguments),this.message="",this.animated=!1,this.size="large"}render(){return q`
- ${this.animated?q` - `:q``} - ${this.message?q`${this.message}`:q``} -
`}static get styles(){return o(_k)}};function wk(e){return"error"===e?.type?q` `:e?q` `:q``}function xk(e){return q` - - - `}function Ck(e,t,n,a){Bg(e,"message",{message:t,type:n,icon:a?.icon,context:a?.context})}function Mk(e,t,n){Ck(e,t,"error",{context:n?.context})}function kk(e,t){t instanceof Error&&Mk(e,t.message,{...t instanceof zs&&{context:t.context}})}e([he({attribute:!1})],bk.prototype,"message",void 0),e([he({attribute:!1})],bk.prototype,"animated",void 0),e([he({attribute:!1})],bk.prototype,"size",void 0),bk=e([le("frigate-card-progress-indicator")],bk);let Sk=class extends se{constructor(){super(...arguments),this._root=null}createRenderRoot(){return this}_createRoot(){const e=customElements.get("hui-conditional-element");if(!e||!this.hass)throw new Error(V_("error.could_not_render_elements"));const t=new e;t.hass=this.hass;const n={type:"conditional",conditions:[],elements:this.elements};try{t.setConfig(n)}catch(e){throw Gg(e,console.error),new zs(V_("error.invalid_elements_config"))}return t}willUpdate(e){try{!this.elements||this._root&&!e.has("elements")||(this._root=this._createRoot())}catch(e){return kk(this,e)}}render(){return q`${this._root||""}`}updated(){this.hass&&this._root&&(this._root.hass=this.hass)}};e([he({attribute:!1})],Sk.prototype,"elements",void 0),e([he({attribute:!1})],Sk.prototype,"conditionsManagerEpoch",void 0),e([he({attribute:!1})],Sk.prototype,"hass",void 0),Sk=e([le("frigate-card-elements-core")],Sk);let Ek=class extends se{constructor(){super(...arguments),this._menuRemoveHandler=e=>{Bg(this,"menu:remove",e.detail)},this._statusBarRemoveHandler=e=>{Bg(this,"status-bar:remove",e.detail)},this._menuAddHandler=e=>{const t=e.composedPath();t.length&&this._addHandler(t[0],"frigate-card:menu:remove",this._menuRemoveHandler)},this._statusBarAddHandler=e=>{const t=e.composedPath();t.length&&this._addHandler(t[0],"frigate-card:status-bar:add",this._statusBarRemoveHandler)}}_addHandler(e,t,n){e.removeEventListener(t,n),e.addEventListener(t,n)}connectedCallback(){super.connectedCallback(),this.addEventListener("frigate-card:menu:add",this._menuAddHandler),this.addEventListener("frigate-card:status-bar:add",this._statusBarAddHandler)}disconnectedCallback(){this.removeEventListener("frigate-card:menu:add",this._menuAddHandler),this.addEventListener("frigate-card:status-bar:add",this._statusBarAddHandler),super.disconnectedCallback()}render(){return q` - `}static get styles(){return o(":host {\n position: absolute;\n inset: 0;\n overflow: hidden;\n pointer-events: none;\n}\n\n.element {\n position: absolute;\n transform: translate(-50%, -50%);\n pointer-events: auto;\n}\n\nhui-error-card.element {\n inset: 0px;\n transform: unset;\n}")}};e([he({attribute:!1})],Ek.prototype,"hass",void 0),e([he({attribute:!1})],Ek.prototype,"conditionsManagerEpoch",void 0),e([he({attribute:!1})],Ek.prototype,"elements",void 0),Ek=e([le("frigate-card-elements")],Ek);let $k=class extends se{setConfig(e){this._config=e}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this.className=""}render(){if(function(e,t){if(!t)return!0;const n=new _w(t,{bubbles:!0,composed:!0});return e.dispatchEvent(n),n.evaluation??!1}(this,this._config?.conditions))return q` - `}};e([he({attribute:!1,hasChanged:()=>!0})],$k.prototype,"hass",void 0),$k=e([le("frigate-card-conditional")],$k);class Ak extends se{constructor(e){super(),this._config=null,this._eventCategory=e}setConfig(e){this._config=e}connectedCallback(){super.connectedCallback(),this._config&&Bg(this,`${this._eventCategory}:add`,this._config)}disconnectedCallback(){this._config&&Bg(this,`${this._eventCategory}:remove`,this._config),super.disconnectedCallback()}}e([pe()],Ak.prototype,"_config",void 0);class zk extends Ak{constructor(){super("menu")}}let Ik=class extends zk{};Ik=e([le("frigate-card-menu-icon")],Ik);let Tk=class extends zk{};Tk=e([le("frigate-card-menu-state-icon")],Tk);let jk=class extends zk{};jk=e([le("frigate-card-menu-submenu")],jk);let Ok=class extends zk{};Ok=e([le("frigate-card-menu-submenu-select")],Ok);class Dk extends Ak{constructor(){super("status-bar")}}let Rk=class extends Dk{};Rk=e([le("frigate-card-status-bar-icon")],Rk);let Pk=class extends Dk{};Pk=e([le("frigate-card-status-bar-image")],Pk);let Lk=class extends Dk{};Lk=e([le("frigate-card-status-bar-string")],Lk);let Nk=class extends se{render(){return q` `}static get styles(){return o(":host {\n width: intrinsic;\n height: intrinsic;\n display: flex;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n}\n\nimg {\n width: 10%;\n animation: rotate 8s linear infinite;\n}\n\n@keyframes rotate {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}")}};Nk=e([le("frigate-card-loading")],Nk);const Fk=(e,t)=>{Bg(e,"action:execution-request",t)};class Vk{constructor(e){this._config=null,this._buttons=[],this._expanded=!1,this._host=e}setMenuConfig(e){this._config=e,this._host.style.setProperty("--frigate-card-menu-button-size",`${e.button_size}px`),this._host.setAttribute("data-style",e.style),this._host.setAttribute("data-position",e.position),this._host.setAttribute("data-alignment",e.alignment),this._sortButtons(),this._host.requestUpdate()}getMenuConfig(){return this._config}isExpanded(){return this._expanded}setButtons(e){this._buttons=e,this._sortButtons(),this._host.requestUpdate()}getButtons(e){const t=e=>!this._isHidingMenu()||this._expanded||!!e.permanent;return this._buttons.filter((n=>(e=>!1!==e.enabled)(n)&&(t=>t.alignment===e||"matching"===e&&!t.alignment)(n)&&t(n)))}setExpanded(e){this._expanded=e,of(this._host,e,"expanded"),this._host.requestUpdate()}toggleExpanded(){this.setExpanded(!this._expanded)}actionHandler(e,t){if(e.stopPropagation(),e.detail.config&&(t=e.detail.config),!t)return;const n=e.detail.action,a=yf(n,t);if(!a)return;const i=Wg(a);let r=!1;const o=i.filter((e=>sf(e)&&!this._isUnknownActionMenuToggleAction(e)));if(o.length!=i.length&&(r=!0),o.length&&Fk(this._host,{action:i,config:t}),this._isHidingMenu())if(r)this.setExpanded(!this._expanded);else{const e=yf("hold",t),a=yf("double_tap",t),i=yf("tap",t),r=yf("end_tap",t);"end_tap"!==n&&("start_tap"!==n||e||a||i||r)&&("end_tap"===n||r)||this.setExpanded(!1)}}getFreshButtonState(e,t){const n={...t};return e&&"custom:frigate-card-menu-state-icon"===t.type?Pb(e,n):n}_sortButtons(){this._buttons=Ev(this._buttons,(e=>(e.priority??0)+(this._isHidingMenu()&&e.permanent?Us:0)),["desc"])}_isHidingMenu(){return"hidden"===this._config?.style}_isUnknownActionMenuToggleAction(e){const t=mf(e);return!!t&&"menu_toggle"==t.frigate_card_action}}var Hk="data:image/svg+xml,%3c%3fxml version='1.0' encoding='UTF-8' standalone='no'%3f%3e%3csvg width='24' height='24' viewBox='0 0 24 24' fill='none' version='1.1' id='svg54' sodipodi:docname='frigate.svg' inkscape:version='1.2.2 (b0a8486541%2c 2022-12-01)' xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape' xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd' xmlns='http://www.w3.org/2000/svg' xmlns:svg='http://www.w3.org/2000/svg'%3e %3cdefs id='defs58' /%3e %3csodipodi:namedview id='namedview56' pagecolor='%23da4040' bordercolor='%23666666' borderopacity='1.0' inkscape:pageshadow='2' inkscape:pageopacity='0' inkscape:pagecheckerboard='0' showgrid='false' width='24px' inkscape:zoom='45.254834' inkscape:cx='-0.03314563' inkscape:cy='9.9768347' inkscape:window-width='3840' inkscape:window-height='1527' inkscape:window-x='1080' inkscape:window-y='227' inkscape:window-maximized='1' inkscape:current-layer='svg54' showguides='true' inkscape:showpageshadow='2' inkscape:deskcolor='%23d1d1d1' /%3e %3cpath d='m 4.8759466%2c22.743573 c 0.0866%2c0.69274 0.811811%2c1.16359 0.37885%2c1.27183 -0.43297%2c0.10824 -2.32718%2c-3.43665 -2.7601492%2c-4.95202 -0.4329602%2c-1.51538 -0.6764993%2c-3.22017 -0.5682593%2c-4.19434 0.1082301%2c-0.97417 5.7097085%2c-2.48955 5.7097085%2c-2.89545 0%2c-0.4059 -1.81304%2c-0.0271 -1.89422%2c-0.35178 -0.0812%2c-0.32472 1.36925%2c-0.12989 1.75892%2c-0.64945 0.60885%2c-0.81181 1.3800713%2c-0.6765 1.8671505%2c-1.1094696 0.4870902%2c-0.4329599 1.0824089%2c-2.0836399 1.1906589%2c-2.7871996 0.108241%2c-0.70357 -1.0824084%2c-1.51538 -1.4071389%2c-2.05658 -0.3247195%2c-0.54121 0.7035702%2c-0.92005 3.1931099%2c-1.94834 2.48954%2c-1.02829 10.39114%2c-3.30134994 10.49938%2c-3.03074994 0.10824%2c0.27061 -2.59779%2c1.40713994 -4.492%2c2.11069994 -1.89422%2c0.70357 -4.97909%2c2.05658 -4.97909%2c2.43542 0%2c0.37885 0.16236%2c0.67651 0.0541%2c1.54244 -0.10824%2c0.86593 -0.12123%2c1.2702597 -0.32472%2c1.8400997 -0.1353%2c0.37884 -0.2706%2c1.27183 0%2c2.0836295 0.21648%2c0.64945 0.92005%2c1.13653 1.24477%2c1.24478 0.2706%2c0.018 1.01746%2c0.0433 1.8401%2c0 1.02829%2c-0.0541 2.48954%2c0.0541 2.48954%2c0.32472 0%2c0.2706 -2.21894%2c0.10824 -2.21894%2c0.48708 0%2c0.37885 2.27306%2c-0.0541 2.21894%2c0.32473 -0.0541%2c0.37884 -1.89422%2c0.21648 -2.86839%2c0.21648 -0.77933%2c0 -1.93031%2c-0.0361 -2.43542%2c-0.21648 l -0.10824%2c0.37884 c -0.18038%2c0 -0.55744%2c0.10824 -0.94711%2c0.10824 -0.48708%2c0 -0.51414%2c0.16236 -1.40713%2c0.16236 -0.892989%2c0 -0.622391%2c-0.0541 -1.4341894%2c-0.10824 -0.81181%2c-0.0541 -3.842561%2c2.27306 -4.383761%2c3.03075 -0.54121%2c0.75768 -0.21649%2c2.59778 -0.21649%2c3.43665 0%2c0.75379 -0.10824%2c2.43542 0%2c3.30135 z' fill='black' id='path330' style='fill:white%3bfill-opacity:1%3bstroke:none%3bstroke-width:0.1%3bstroke-miterlimit:4%3bstroke-dasharray:none%3bstroke-opacity:1' sodipodi:nodetypes='csccscccccsscscccccsscsccssccscc' /%3e%3c/svg%3e",Bk="data:image/svg+xml,%3c%3fxml version='1.0' encoding='UTF-8' standalone='no'%3f%3e%3c!-- Created with Inkscape (http://www.inkscape.org/) --%3e%3csvg id='svg2' version='1.1' inkscape:version='1.2.2 (b0a8486541%2c 2022-12-01)' width='24' height='24' xml:space='preserve' sodipodi:docname='motioneye.svg' inkscape:export-filename='/home/ccrisan/projects/motioneye/static/img/motioneye-logo.png' inkscape:export-xdpi='960' inkscape:export-ydpi='960' xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape' xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns='http://www.w3.org/2000/svg' xmlns:svg='http://www.w3.org/2000/svg' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns%23' xmlns:cc='http://creativecommons.org/ns%23' xmlns:dc='http://purl.org/dc/elements/1.1/'%3e%3cmetadata id='metadata8'%3e%3crdf:RDF%3e%3ccc:Work rdf:about=''%3e%3cdc:format%3eimage/svg%2bxml%3c/dc:format%3e%3cdc:type rdf:resource='http://purl.org/dc/dcmitype/StillImage' /%3e%3c/cc:Work%3e%3c/rdf:RDF%3e%3c/metadata%3e%3cdefs id='defs6'%3e%3clinearGradient inkscape:collect='always' id='linearGradient2058'%3e%3cstop style='stop-color:white%3bstop-opacity:1%3b' offset='0' id='stop2054' /%3e%3cstop style='stop-color:%23585858%3bstop-opacity:1' offset='1' id='stop2056' /%3e%3c/linearGradient%3e%3clinearGradient inkscape:collect='always' id='linearGradient2005'%3e%3cstop style='stop-color:white%3bstop-opacity:1%3b' offset='0' id='stop2001' /%3e%3cstop style='stop-color:grey%3bstop-opacity:1%3b' offset='1' id='stop2003' /%3e%3c/linearGradient%3e%3clinearGradient inkscape:collect='always' id='linearGradient4205'%3e%3cstop style='stop-color:%234aa3e0%3bstop-opacity:1' offset='0' id='stop4207' /%3e%3cstop style='stop-color:%233096db%3bstop-opacity:1' offset='1' id='stop4209' /%3e%3c/linearGradient%3e%3clinearGradient inkscape:collect='always' id='linearGradient4197'%3e%3cstop style='stop-color:white%3bstop-opacity:1%3b' offset='0' id='stop4199' /%3e%3cstop style='stop-color:%23585858%3bstop-opacity:1' offset='1' id='stop4201' /%3e%3c/linearGradient%3e%3clinearGradient inkscape:collect='always' xlink:href='%23linearGradient4205' id='linearGradient4211' x1='26.602072' y1='43.034946' x2='26.602072' y2='29.466328' gradientUnits='userSpaceOnUse' gradientTransform='matrix(0.96428571%2c0%2c0%2c0.96428571%2c0.91428571%2c0.91428571)' /%3e%3cfilter style='color-interpolation-filters:sRGB' inkscape:label='Drop Shadow' id='filter4285'%3e%3cfeFlood flood-opacity='0.588235' flood-color='rgb(0%2c0%2c0)' result='flood' id='feFlood4287' /%3e%3cfeComposite in='flood' in2='SourceGraphic' operator='in' result='composite1' id='feComposite4289' /%3e%3cfeGaussianBlur in='composite1' stdDeviation='0.6' result='blur' id='feGaussianBlur4291' /%3e%3cfeOffset dx='0' dy='-1' result='offset' id='feOffset4293' /%3e%3cfeComposite in='SourceGraphic' in2='offset' operator='over' result='composite2' id='feComposite4295' /%3e%3c/filter%3e%3clinearGradient inkscape:collect='always' xlink:href='%23linearGradient2005' id='linearGradient4309' gradientUnits='userSpaceOnUse' x1='26.445793' y1='47.517574' x2='26.445793' y2='3.8183768' /%3e%3clinearGradient inkscape:collect='always' xlink:href='%23linearGradient4197' id='linearGradient4311' gradientUnits='userSpaceOnUse' x1='26.445793' y1='47.517574' x2='26.445793' y2='3.8183768' /%3e%3clinearGradient inkscape:collect='always' xlink:href='%23linearGradient2058' id='linearGradient4313' gradientUnits='userSpaceOnUse' x1='26.445793' y1='47.517574' x2='26.445793' y2='3.8183768' /%3e%3cfilter style='color-interpolation-filters:sRGB' inkscape:label='Drop Shadow' id='filter4315' x='-0.03618178' y='-0.20783284' width='1.0723636' height='1.3304883'%3e%3cfeFlood flood-opacity='0.588235' flood-color='rgb(0%2c0%2c0)' result='flood' id='feFlood4317' /%3e%3cfeComposite in='flood' in2='SourceGraphic' operator='in' result='composite1' id='feComposite4319' /%3e%3cfeGaussianBlur in='composite1' stdDeviation='0.6' result='blur' id='feGaussianBlur4321' /%3e%3cfeOffset dx='0' dy='-1' result='offset' id='feOffset4323' /%3e%3cfeComposite in='SourceGraphic' in2='offset' operator='over' result='composite2' id='feComposite4325' /%3e%3c/filter%3e%3cfilter style='color-interpolation-filters:sRGB' inkscape:label='Drop Shadow' id='filter4327' x='-0.27857143' y='-0.4720238' width='1.5571429' height='1.7505952'%3e%3cfeFlood flood-opacity='0.588235' flood-color='rgb(0%2c0%2c0)' result='flood' id='feFlood4329' /%3e%3cfeComposite in='flood' in2='SourceGraphic' operator='in' result='composite1' id='feComposite4331' /%3e%3cfeGaussianBlur in='composite1' stdDeviation='0.6' result='blur' id='feGaussianBlur4333' /%3e%3cfeOffset dx='0' dy='-1' result='offset' id='feOffset4335' /%3e%3cfeComposite in='SourceGraphic' in2='offset' operator='over' result='composite2' id='feComposite4337' /%3e%3c/filter%3e%3cfilter style='color-interpolation-filters:sRGB' inkscape:label='Drop Shadow' id='filter4339' x='-0.0202507' y='-0.13980794' width='1.0405014' height='1.2082853'%3e%3cfeFlood flood-opacity='0.588235' flood-color='rgb(0%2c0%2c0)' result='flood' id='feFlood4341' /%3e%3cfeComposite in='flood' in2='SourceGraphic' operator='in' result='composite1' id='feComposite4343' /%3e%3cfeGaussianBlur in='composite1' stdDeviation='0.2' result='blur' id='feGaussianBlur4345' /%3e%3cfeOffset dx='0' dy='-0.5' result='offset' id='feOffset4347' /%3e%3cfeComposite in='SourceGraphic' in2='offset' operator='over' result='composite2' id='feComposite4349' /%3e%3c/filter%3e%3c/defs%3e%3csodipodi:namedview pagecolor='%23ff0d0d' bordercolor='%23666666' borderopacity='1' objecttolerance='10' gridtolerance='10' guidetolerance='10' inkscape:pageopacity='0' inkscape:pageshadow='2' inkscape:window-width='3840' inkscape:window-height='1527' id='namedview4' showgrid='false' inkscape:zoom='29.890116' inkscape:cx='19.973158' inkscape:cy='16.577386' inkscape:window-x='1080' inkscape:window-y='227' inkscape:window-maximized='1' inkscape:current-layer='g10' showguides='true' inkscape:guide-bbox='true' inkscape:showpageshadow='true' inkscape:pagecheckerboard='false' inkscape:deskcolor='%23d1d1d1' /%3e%3cg id='g10' inkscape:groupmode='layer' inkscape:label='ink_ext_XXXXXX' transform='matrix(1.25%2c0%2c0%2c-1.25%2c0%2c64)'%3e%3cg id='g4823' transform='matrix(1.0344694%2c0%2c0%2c1.0344694%2c-3.551886%2c-0.86695248)'%3e%3cpath id='path4244' d='M 8.9346154%2c40.515385 C 5.3647588%2c36.547307 3.2%2c31.357779 3.2%2c25.6 3.2%2c13.228821 13.228821%2c3.2 25.6%2c3.2 37.971179%2c3.2 48%2c13.228821 48%2c25.6 c 0%2c5.736682 -2.161128%2c10.952493 -5.707692%2c14.915385 -1.695935%2c-0.623286 -3.387833%2c-1.349065 -5.061539%2c-2.288462 3.2394%2c-0.937363 5.6%2c-3.937988 5.6%2c-7.457692 0%2c-4.260339 -3.469626%2c-7.753846 -7.753846%2c-7.753846 -3.633936%2c0 -6.690552%2c2.51055 -7.538461%2c5.869231 h -3.876924 c -0.840685%2c-3.360193 -3.903443%2c-5.869231 -7.538461%2c-5.869231 -4.284219%2c0 -7.7807693%2c3.493507 -7.7807693%2c7.753846 0%2c3.56112 2.4570323%2c6.5856 5.7615383%2c7.484616 -1.676267%2c0.912203 -3.404813%2c1.620556 -5.1692306%2c2.261538 z M 25.6%2c26.461538 c 0.532632%2c-1.981435 1.101793%2c-3.947553 3.446154%2c-5.16923 L 25.6%2c16.123077 22.153846%2c21.292308 c 2.053593%2c1.454966 3.000771%2c3.237758 3.446154%2c5.16923 z' style='fill:url(%23linearGradient4309)%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4327)' inkscape:connector-curvature='0' transform='matrix(0.38078533%2c0%2c0%2c0.38078533%2c2.9655495%2c31.335499)' /%3e%3cpath id='path4242' d='m 16.123077%2c33.353847 c -1.427443%2c0 -2.584616%2c-1.157173 -2.584616%2c-2.584616 0%2c-1.427444 1.157173%2c-2.584615 2.584616%2c-2.584615 1.427444%2c0 2.584615%2c1.157171 2.584615%2c2.584615 0%2c1.427443 -1.157171%2c2.584616 -2.584615%2c2.584616 z' style='fill:url(%23linearGradient4311)%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4327)' inkscape:connector-curvature='0' transform='matrix(0.38078533%2c0%2c0%2c0.38078533%2c2.9655495%2c31.335499)' /%3e%3cpath id='path4240' d='m 35.076923%2c33.353847 c -1.427443%2c0 -2.584615%2c-1.157173 -2.584615%2c-2.584616 0%2c-1.427444 1.157172%2c-2.584615 2.584615%2c-2.584615 1.427443%2c0 2.584616%2c1.157171 2.584616%2c2.584615 0%2c1.427443 -1.157173%2c2.584616 -2.584616%2c2.584616 z' style='fill:url(%23linearGradient4313)%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4327)' inkscape:connector-curvature='0' transform='matrix(0.38078533%2c0%2c0%2c0.38078533%2c2.9655495%2c31.335499)' /%3e%3cpath inkscape:connector-curvature='0' style='fill:%23d9d9d9%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4339)' d='m 25.6%2c47.2 c -4.373944%2c0 -8.437159%2c-1.399808 -11.838461%2c-3.634616 3.677605%2c-0.394237 7.305921%2c-1.342945 11.423077%2c-3.375 4.166157%2c2.122533 8.434154%2c3.008875 12.279808%2c3.452886 C 34.057131%2c45.890032 29.986674%2c47.2 25.6%2c47.2 Z' id='path4248' transform='matrix(0.39488848%2c0%2c0%2c0.39488848%2c2.6045087%2c30.974457)' /%3e%3cpath inkscape:connector-curvature='0' style='fill:url(%23linearGradient4211)%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4315)' d='M 39.723077%2c42.552884 C 35.394064%2c42.5242 29.479588%2c40.397223 25.184616%2c38.432418 20.668821%2c40.064102 16.035448%2c42.649343 10.801923%2c42.526924 10.453022%2c42.51873 10.118061%2c42.50105 9.7634616%2c42.475 L 5.6615384%2c42.1375 9.5557693%2c40.839424 c 5.3417977%2c-1.74056 10.0398397%2c-2.851302 14.1749997%2c-10.025963 0.959101%2c0 2.845924%2c-4.15e-4 3.738462%2c-4.15e-4 4.11884%2c7.134039 9.059296%2c8.324614 14.149039%2c10.026378 L 45.460577%2c42.085577 41.4625%2c42.475 c -0.544847%2c0.05181 -1.120992%2c0.08198 -1.739423%2c0.07788 z' id='path4246' sodipodi:nodetypes='cccccccccccc' transform='matrix(0.39488848%2c0%2c0%2c0.39488848%2c2.6045087%2c30.974457)' /%3e%3c/g%3e%3c/g%3e%3c/svg%3e",qk="data:image/svg+xml,%3c%3fxml version='1.0' encoding='UTF-8' standalone='no'%3f%3e%3c!-- Created with Inkscape (http://www.inkscape.org/) --%3e%3csvg version='1.1' id='svg62' width='24' height='24' viewBox='0 0 24 24' sodipodi:docname='reolink.svg' inkscape:version='1.2.2 (b0a8486541%2c 2022-12-01)' xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape' xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd' xmlns='http://www.w3.org/2000/svg' xmlns:svg='http://www.w3.org/2000/svg'%3e %3cdefs id='defs66' /%3e %3csodipodi:namedview id='namedview64' pagecolor='%23505050' bordercolor='%23eeeeee' borderopacity='1' inkscape:showpageshadow='0' inkscape:pageopacity='0' inkscape:pagecheckerboard='0' inkscape:deskcolor='%23505050' showgrid='true' inkscape:zoom='36.417984' inkscape:cx='18.191562' inkscape:cy='8.6633022' inkscape:window-width='3840' inkscape:window-height='1527' inkscape:window-x='1080' inkscape:window-y='227' inkscape:window-maximized='1' inkscape:current-layer='g68'%3e %3cinkscape:grid type='xygrid' id='grid1175' dotted='false' snapvisiblegridlinesonly='true' /%3e %3c/sodipodi:namedview%3e %3cg inkscape:groupmode='layer' inkscape:label='Reolink Logo' id='g68'%3e %3cpath style='fill:white%3bstroke-width:0.0393282%3bfill-opacity:1' d='M 17.037254%2c23.964909 C 16.764634%2c23.917573 16.561708%2c23.83617 16.325735%2c23.67954 16.196719%2c23.593913 14.543544%2c21.952905 12.217956%2c19.602014 10.077426%2c17.438191 8.2198993%2c15.582673 8.0901166%2c15.478642 7.6038998%2c15.088895 7.0877741%2c14.869424 6.4986827%2c14.801908 6.3140805%2c14.780765 5.079061%2c14.763305 3.7541964%2c14.763126 l -2.408845%2c-4.78e-4 0.00713%2c-7.3937713 v -7.3935985 l 6.2040046%2c3.536e-5 c 3.9799342%2c1.969e-5 6.3590882%2c0.01465833 6.6366112%2c0.0408227 2.331195%2c0.21982024 4.364771%2c1.49885914 5.578726%2c3.50085534 0.686043%2c1.1313823 1.020901%2c2.2783695 1.067186%2c3.6554196 0.06335%2c1.8844953 -0.57426%2c3.6597378 -1.831469%2c5.0992438 -0.756457%2c0.866146 -1.861127%2c1.62991 -2.928729%2c2.024919 l -0.319718%2c0.118287 -1.951287%2c-1.979284 -1.951286%2c-1.979278 1.046741%2c-0.02346 c 0.575706%2c-0.01291 1.099833%2c-0.03689 1.164724%2c-0.0533 0.596068%2c-0.150649 0.949703%2c-0.313968 1.322206%2c-0.6106282 0.643573%2c-0.5125401 1.046169%2c-1.2439257 1.137985%2c-2.0673522 0.167852%2c-1.505317 -0.771478%2c-2.8704888 -2.263547%2c-3.2897068 L 13.950001%2c4.3234481 9.7981831%2c4.3106846 5.6392389%2c4.29801 v 3.0692702 3.0692648 l 1.4185165%2c7.9e-4 c 1.6275801%2c8.87e-4 1.7789152%2c0.01912 2.3105245%2c0.27984 0.3095679%2c0.15183 0.389559%2c0.219499 1.0817441%2c0.915083 3.027399%2c3.042274 12.19404%2c12.30837 12.204589%2c12.337002 0.0161%2c0.04373 -5.364393%2c0.03953 -5.617359%2c-0.0045 z' id='path1173' inkscape:label='R' /%3e %3c/g%3e%3c/svg%3e";const Uk=e=>{switch(e){case"frigate":return Hk;case"motioneye":return Bk;case"reolink":return qk;default:return null}};const Wk=(e,t,n)=>{const a=e.states[t],i=n?.state?n.state:a?a.state:null;if(!i)return null;const r=Ye(t),o=a?a.attributes:null;return n?.entity?.translation_key&&e.localize(`component.${n.entity.platform}.entity.${r}.${n.entity.translation_key}.state.${i}`)||o?.device_class&&e.localize(`component.${r}.state.${o.device_class}.${i}`)||e.localize(`component.${r}.state._.${i}`)||i};let Zk=class extends se{_renderItem(e){if(!this.hass)return;const t=Pb(this.hass,{...e});return q` - {t.detail.config=e}} - .actionHandler=${kf({hasHold:bf(e.hold_action),hasDoubleClick:bf(e.double_tap_action)})} - > - ${t.title||""} - ${e.subtitle?q`${e.subtitle}`:""} - ${(e=>{if(e.icon){const t=Uk(e.icon);return t?q``:q` - `}return q``})(t)} - - `}render(){if(!this.submenu)return q``;const e=this.submenu.items;return q` - e.stopPropagation()} - @click=${e=>wf(e)} - > - - - - ${e.map(this._renderItem.bind(this))} - - `}static get styles(){return o("ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n pointer-events: auto;\n}\n\nmwc-list-item {\n z-index: 20;\n}")}};e([he({attribute:!1})],Zk.prototype,"hass",void 0),e([he({attribute:!1})],Zk.prototype,"submenu",void 0),Zk=e([le("frigate-card-submenu")],Zk);let Qk=class extends se{shouldUpdate(e){const t=e.get("hass");return!e.has("hass")||!t||!this.submenuSelect||jb(this.hass,t,[this.submenuSelect.entity])}async _refreshOptionTitles(){if(!this.hass||!this.submenuSelect)return;const e=this.submenuSelect.entity,t=this.hass.states[e],n=t?.attributes?.options,a=await(this.entityRegistryManager?.getEntity(this.hass,e))??null,i={};for(const t of n){const n=Wk(this.hass,e,{...a&&{entity:a},state:t});n&&(i[t]=n)}this._optionTitles=i}willUpdate(){if(!this.submenuSelect||!this.hass)return;this._optionTitles||this._refreshOptionTitles();const e=this.submenuSelect.entity,t=this.hass.states[e],n=t?.attributes?.options;if(!t||!n)return;const a={icon:zb("select"),...Pb(this.hass,this.submenuSelect),...this.submenuSelect,type:"custom:frigate-card-menu-submenu",items:[]};delete a.options;const i=a.items;for(const a of n){const n=this._optionTitles?.[a]??a;i.push({state_color:!0,selected:t.state===a,enabled:!0,title:n||a,...(e.startsWith("select.")||e.startsWith("input_select."))&&{tap_action:{action:"perform-action",perform_action:e.startsWith("select.")?"select.select_option":"input_select.select_option",target:{entity_id:e},data:{option:a}}},...this.submenuSelect.options&&this.submenuSelect.options[a]})}this._generatedSubmenu=a}render(){return q` `}};e([he({attribute:!1})],Qk.prototype,"hass",void 0),e([he({attribute:!1})],Qk.prototype,"submenuSelect",void 0),e([he({attribute:!1})],Qk.prototype,"entityRegistryManager",void 0),e([pe()],Qk.prototype,"_optionTitles",void 0),Qk=e([le("frigate-card-submenu-select")],Qk);let Gk=class extends se{constructor(){super(...arguments),this._controller=new Vk(this)}set menuConfig(e){this._controller.setMenuConfig(e)}set buttons(e){this._controller.setButtons(e)}set expanded(e){this._controller.setExpanded(e)}toggleMenu(){this._controller.toggleExpanded()}_renderButton(e){if(!this.hass)return;if("custom:frigate-card-menu-submenu"===e.type)return q` this._controller.actionHandler(e)} - > - `;if("custom:frigate-card-menu-submenu-select"===e.type)return q` this._controller.actionHandler(e)} - > - `;const t=this._controller.getFreshButtonState(this.hass,e),n=Uk(t.icon);return q` this._controller.actionHandler(t,e)} - > - ${n?q``:q``} - `}render(){const e=this._controller.getMenuConfig(),t=e?.style;if(!e||"none"===t)return;const n=this._controller.getButtons("matching"),a=this._controller.getButtons("opposing");return q`
- ${n.map((e=>this._renderButton(e)))} -
-
- ${a.map((e=>this._renderButton(e)))} -
`}static get styles(){return o('ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n --frigate-card-menu-button-size: 40px;\n --mdc-icon-button-size: var(--frigate-card-menu-button-size);\n --mdc-icon-size: calc(var(--mdc-icon-button-size) / 2);\n pointer-events: auto;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n}\n\n/*******************************************************\n * Non-hover styles should not interact with the pointer\n *******************************************************/\n:host(:not([data-style*=hover])) {\n pointer-events: none;\n}\n\n/***********************************\n * Aligned divs: matching & opposing\n ***********************************/\ndiv.matching,\ndiv.opposing {\n display: flex;\n flex-wrap: wrap;\n flex-direction: row;\n align-items: flex-start;\n min-width: 0px;\n min-height: 0px;\n}\n\ndiv.matching {\n justify-content: flex-start;\n}\n\ndiv.opposing {\n justify-content: flex-end;\n}\n\n/********************\n * Outside menu style\n ********************/\n:host([data-style=outside]) {\n width: 100%;\n background: var(--secondary-background-color);\n}\n\n/********************************************************\n * Hack: Ensure host & div expand for column flex layouts\n ********************************************************/\n:host(:not([data-style=outside])[data-position=left]) {\n writing-mode: vertical-lr;\n}\n\n:host(:not([data-style=outside])[data-position=right]) {\n writing-mode: vertical-rl;\n}\n\n:host(:not([data-style=outside])[data-style=overlay][data-position=left]) div > *,\n:host(:not([data-style=outside])[data-style=overlay][data-position=right]) div > *,\n:host(:not([data-style=outside])[data-style*=hover][data-position=left]) div > *,\n:host(:not([data-style=outside])[data-style*=hover][data-position=right]) div > *,\n:host(:not([data-style=outside])[data-style=hidden][data-position=left]) div > *,\n:host(:not([data-style=outside])[data-style=hidden][data-position=right]) div > * {\n writing-mode: horizontal-tb;\n}\n\n/**********************\n * "Reverse" alignments\n **********************/\n:host(:not([data-style=outside])[data-position=left][data-alignment=bottom]),\n:host(:not([data-style=outside])[data-position=right][data-alignment=bottom]),\n:host([data-position=top][data-alignment=right]),\n:host([data-position=bottom][data-alignment=right]),\n:host(:not([data-style=outside])[data-position=left][data-alignment=bottom]) div,\n:host(:not([data-style=outside])[data-position=right][data-alignment=bottom]) div,\n:host([data-position=top][data-alignment=right]) div,\n:host([data-position=bottom][data-alignment=right]) div {\n flex-direction: row-reverse;\n}\n\n/****************************\n * Wrap upwards on the bottom\n ****************************/\n:host(:not([data-style=outside])[data-position=bottom]) div {\n flex-wrap: wrap-reverse;\n}\n\n/********************************************\n * Positioning for absolute based menu styles\n ********************************************/\n:host([data-style=overlay]),\n:host([data-style*=hover]),\n:host([data-style=hidden]) {\n overflow: hidden;\n width: calc(var(--frigate-card-menu-button-size) + 6px);\n height: calc(var(--frigate-card-menu-button-size) + 6px);\n}\n\n:host([data-style=overlay]),\n:host([data-style*=hover]),\n:host([data-style=hidden][expanded]) {\n overflow: visible;\n}\n\n:host([data-style=overlay][data-position=top]),\n:host([data-style=overlay][data-position=bottom]),\n:host([data-style*=hover][data-position=top]),\n:host([data-style*=hover][data-position=bottom]),\n:host([data-style=hidden][data-position=top]),\n:host([data-style=hidden][data-position=bottom]) {\n width: 100%;\n height: auto;\n}\n\n:host([data-style=overlay][data-position=top][data-alignment=left]),\n:host([data-style=overlay][data-position=bottom][data-alignment=left]),\n:host([data-style*=hover][data-position=top][data-alignment=left]),\n:host([data-style*=hover][data-position=bottom][data-alignment=left]),\n:host([data-style=hidden][data-position=top][data-alignment=left][expanded]),\n:host([data-style=hidden][data-position=bottom][data-alignment=left][expanded]) {\n background: linear-gradient(90deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}\n\n:host([data-style=overlay][data-position=top][data-alignment=right]),\n:host([data-style=overlay][data-position=bottom][data-alignment=right]),\n:host([data-style*=hover][data-position=top][data-alignment=right]),\n:host([data-style*=hover][data-position=bottom][data-alignment=right]),\n:host([data-style=hidden][data-position=top][data-alignment=right][expanded]),\n:host([data-style=hidden][data-position=bottom][data-alignment=right][expanded]) {\n background: linear-gradient(270deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}\n\n:host([data-style=overlay][data-position=left]),\n:host([data-style=overlay][data-position=right]),\n:host([data-style*=hover][data-position=left]),\n:host([data-style*=hover][data-position=right]),\n:host([data-style=hidden][data-position=left]),\n:host([data-style=hidden][data-position=right]) {\n width: auto;\n height: 100%;\n}\n\n:host([data-style=overlay][data-position=left][data-alignment=top]),\n:host([data-style=overlay][data-position=right][data-alignment=top]),\n:host([data-style*=hover][data-position=left][data-alignment=top]),\n:host([data-style*=hover][data-position=right][data-alignment=top]),\n:host([data-style=hidden][data-position=left][data-alignment=top][expanded]),\n:host([data-style=hidden][data-position=right][data-alignment=top][expanded]) {\n background: linear-gradient(180deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}\n\n:host([data-style=overlay][data-position=left][data-alignment=bottom]),\n:host([data-style=overlay][data-position=right][data-alignment=bottom]),\n:host([data-style*=hover][data-position=left][data-alignment=bottom]),\n:host([data-style*=hover][data-position=right][data-alignment=bottom]),\n:host([data-style=hidden][data-position=left][data-alignment=bottom][expanded]),\n:host([data-style=hidden][data-position=right][data-alignment=bottom][expanded]) {\n background: linear-gradient(0deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}')}};e([he({attribute:!1})],Gk.prototype,"entityRegistryManager",void 0),e([he({attribute:!1})],Gk.prototype,"hass",void 0),Gk=e([le("frigate-card-menu")],Gk);let Yk=class extends se{render(){return q` - - - - - `}static get styles(){return o("ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n position: absolute;\n width: 100%;\n height: 100%;\n pointer-events: none;\n}\n\nslot {\n position: absolute;\n display: flex;\n}\n\n/***************\n * Slot position\n ***************/\nslot[name=top] {\n top: 0px;\n}\n\nslot[name=bottom] {\n bottom: 0px;\n}\n\nslot[name=left] {\n left: 0px;\n}\n\nslot[name=right] {\n right: 0px;\n}\n\n/***********\n * Slot size\n ***********/\nslot[name=top],\nslot[name=bottom] {\n width: 100%;\n flex-direction: column;\n}\n\nslot[name=left],\nslot[name=right] {\n height: 100%;\n flex-direction: row;\n}\n\nslot[name=top],\nslot[name=left] {\n justify-content: flex-start;\n}\n\nslot[name=bottom],\nslot[name=right] {\n justify-content: flex-end;\n}\n\n/*******************************\n * Match rounded corners to card\n *******************************/\n::slotted([slot=top]:first-child),\n::slotted([slot=left]:first-child) {\n border-top-left-radius: var(--ha-card-border-radius, 4px);\n}\n\n::slotted([slot=top]:first-child),\n::slotted([slot=right]:first-child) {\n border-top-right-radius: var(--ha-card-border-radius, 4px);\n}\n\n::slotted([slot=bottom]:last-child),\n::slotted([slot=left]:last-child) {\n border-bottom-left-radius: var(--ha-card-border-radius, 4px);\n}\n\n::slotted([slot=bottom]:last-child),\n::slotted([slot=right]:last-child) {\n border-bottom-right-radius: var(--ha-card-border-radius, 4px);\n}")}};Yk=e([le("frigate-card-overlay")],Yk);class Kk{constructor(e){this._config=null,this._popupTimer=new xf,this._items=[],this._host=e}getRenderItems(){return this._items}setItems(e){const t=e.filter((e=>!!e.exclusive)),n=Ev(t.length?t:e,(e=>e.priority??50),"desc"),a=this._getSufficientValues(this._items),i=this._getSufficientValues(n);this._items=n,"popup"!==this._config?.style||Dv(a,i)||(this._show(),this._popupTimer.start(this._config.popup_seconds,(()=>this._hide()))),this._host.requestUpdate()}setConfig(e){this._config=e,this._host.style.setProperty("--frigate-card-status-bar-height",`${e.height}px`),this._host.setAttribute("data-style",e.style),this._host.setAttribute("data-position",e.position),"popup"!==this._config?.style&&this._show(),this._host.requestUpdate()}shouldRender(){return this._items.some((e=>!1!==e.enabled&&e.sufficient))}actionHandler(e,t){e.stopPropagation();const n=yf(e.detail.action,t);n&&Fk(this._host,{action:Wg(n),config:t})}_getSufficientValue(e){ -/* istanbul ignore else: cannot happen -- @preserve */ -return"custom:frigate-card-status-bar-icon"===e.type?e.icon:"custom:frigate-card-status-bar-string"===e.type?e.string:"custom:frigate-card-status-bar-image"===e.type?e.image:null}_getSufficientValues(e){return e.filter((e=>!1!==e.enabled&&e.sufficient)).map((e=>this._getSufficientValue(e)))}_show(){of(this._host,!1,"hide")}_hide(){of(this._host,!0,"hide")}}let Xk=class extends se{constructor(){super(...arguments),this._controller=new Kk(this)}willUpdate(e){e.has("config")&&this.config&&this._controller.setConfig(this.config),e.has("items")&&this._controller.setItems(this.items??[])}render(){if(this._controller.shouldRender())return q` -
- ${this._controller.getRenderItems().map((e=>{if(!1===e.enabled)return;const t=_e({item:!0,expand:!!e.expand,action:!!Object.keys(e.actions??{}).length}),n=kf({hasHold:bf(e.actions?.hold_action),hasDoubleClick:bf(e.actions?.double_tap_action)});if("custom:frigate-card-status-bar-string"===e.type)return q`
this._controller.actionHandler(t,e.actions)} - > - ${e.string} -
`;if("custom:frigate-card-status-bar-icon"===e.type){const a=Uk(e.icon);return a?q`this._controller.actionHandler(t,e.actions)} - />`:q`this._controller.actionHandler(t,e.actions)} - >`}return"custom:frigate-card-status-bar-image"===e.type?q`this._controller.actionHandler(t,e.actions)} - />`:void 0}))} -
- `}static get styles(){return o("ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n --mdc-icon-button-size: calc(var(--frigate-card-status-bar-height) - 6px);\n --mdc-icon-size: calc(var(--mdc-icon-button-size) / 2);\n display: block;\n width: 100%;\n pointer-events: auto;\n opacity: 1;\n transition: opacity 1s;\n}\n\n/*******************************************************\n * Non-hover styles should not interact with the pointer\n *******************************************************/\n:host(:not([data-style*=hover])) {\n pointer-events: none;\n}\n\n/***************\n * Outside style\n ***************/\n:host([data-style=outside]) {\n color: var(--primary-text-color);\n background: var(--secondary-background-color);\n}\n\n/*******************\n * Non-outside style\n *******************/\n:host(:not([data-style=outside])) {\n color: white;\n background: linear-gradient(90deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}\n\n:host([data-style=popup][hide]) {\n opacity: 0;\n}\n\n/*********************\n * Status bar contents\n *********************/\n.status {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n overflow: hidden;\n width: 100%;\n height: var(--frigate-card-status-bar-height);\n}\n\n.item {\n display: inline-block;\n margin: 3px;\n padding: 3px;\n align-content: center;\n opacity: 0.7;\n}\n\n.item:first-child {\n margin-left: 10px;\n}\n\n.item:last-child {\n margin-right: 10px;\n}\n\n.item.expand {\n flex: 1;\n}\n\n.item.action {\n cursor: pointer;\n}\n\nimg.item {\n width: var(--mdc-icon-size, 24px);\n height: var(--mdc-icon-size, 24px);\n}")}};e([he({attribute:!1})],Xk.prototype,"items",void 0),e([he({attribute:!1})],Xk.prototype,"config",void 0),Xk=e([le("frigate-card-status-bar")],Xk);function Jk(e){return"number"==typeof e}function eS(e){return"string"==typeof e}function tS(e){return"boolean"==typeof e}function nS(e){return"[object Object]"===Object.prototype.toString.call(e)}function aS(e){return Math.abs(e)}function iS(e){return Math.sign(e)}function rS(e,t){return aS(e-t)}function oS(e){return uS(e).map(Number)}function sS(e){return e[cS(e)]}function cS(e){return Math.max(0,e.length-1)}function lS(e,t){return t===cS(e)}function dS(e,t=0){return Array.from(Array(e),((e,n)=>t+n))}function uS(e){return Object.keys(e)}function hS(e,t){return[e,t].reduce(((e,t)=>(uS(t).forEach((n=>{const a=e[n],i=t[n],r=nS(a)&&nS(i);e[n]=r?hS(a,i):i})),e)),{})}function pS(e,t){return void 0!==t.MouseEvent&&e instanceof t.MouseEvent}function mS(){let e=[];const t={add:function(n,a,i,r={passive:!0}){let o;if("addEventListener"in n)n.addEventListener(a,i,r),o=()=>n.removeEventListener(a,i,r);else{const e=n;e.addListener(i),o=()=>e.removeListener(i)}return e.push(o),t},clear:function(){e=e.filter((e=>e()))}};return t}function gS(e,t,n,a){const i=mS(),r=1e3/60;let o=null,s=0,c=0;function l(e){if(!c)return;o||(o=e);const i=e-o;for(o=e,s+=i;s>=r;)n(r),s-=r;a(s/r),c&&t.requestAnimationFrame(l)}function d(){t.cancelAnimationFrame(c),o=null,s=0,c=0}return{init:function(){i.add(e,"visibilitychange",(()=>{e.hidden&&(o=null,s=0)}))},destroy:function(){d(),i.clear()},start:function(){c||(c=t.requestAnimationFrame(l))},stop:d,update:()=>n(r),render:a}}function fS(e=0,t=0){const n=aS(e-t);function a(t){return tt}function r(e){return a(e)||i(e)}const o={length:n,max:t,min:e,constrain:function(n){return r(n)?a(n)?e:t:n},reachedAny:r,reachedMax:i,reachedMin:a,removeOffset:function(e){return n?e-n*Math.ceil((e-t)/n):e}};return o}function _S(e,t,n){const{constrain:a}=fS(0,e),i=e+1;let r=o(t);function o(e){return n?aS((i+e)%i):a(e)}function s(){return r}function c(){return _S(e,s(),n)}const l={get:s,set:function(e){return r=o(e),l},add:function(e){return c().set(s()+e)},clone:c};return l}function vS(e,t,n,a,i,r,o,s,c,l,d,u,h,p,m,g,f,_,v){const{cross:y,direction:b}=e,w=["INPUT","SELECT","TEXTAREA"],x={passive:!1},C=mS(),M=mS(),k=fS(50,225).constrain(p.measure(20)),S={mouse:300,touch:400},E={mouse:500,touch:600},$=m?43:25;let A=!1,z=0,I=0,T=!1,j=!1,O=!1,D=!1;function R(e){if(!pS(e,a)&&e.touches.length>=2)return P(e);const t=r.readPoint(e),n=r.readPoint(e,y),o=rS(t,z),c=rS(n,I);if(!j&&!D){if(!e.cancelable)return P(e);if(j=o>c,!j)return P(e)}const d=r.pointerMove(e);o>g&&(O=!0),l.useFriction(.3).useDuration(.75),s.start(),i.add(b(d)),e.preventDefault()}function P(e){const t=d.byDistance(0,!1).index!==u.get(),n=r.pointerUp(e)*(m?E:S)[D?"mouse":"touch"],a=function(e,t){const n=u.add(-1*iS(e)),a=d.byDistance(e,!m).distance;return m||aS(e)=2,s&&0!==e.button)return;if(function(e){const t=e.nodeName||"";return w.includes(t)}(e.target))return;T=!0,r.pointerDown(e),l.useFriction(0).useDuration(0),i.set(o),function(){const e=D?n:t;M.add(e,"touchmove",R,x).add(e,"touchend",P).add(e,"mousemove",R,x).add(e,"mouseup",P)}(),z=r.readPoint(e),I=r.readPoint(e,y),h.emit("pointerDown")}(s)}const c=t;C.add(c,"dragstart",(e=>e.preventDefault()),x).add(c,"touchmove",(()=>{}),x).add(c,"touchend",(()=>{})).add(c,"touchstart",s).add(c,"mousedown",s).add(c,"touchcancel",P).add(c,"contextmenu",P).add(c,"click",L,!0)},destroy:function(){C.clear(),M.clear()},pointerDown:function(){return T}}}function yS(e,t){let n,a;function i(e){return e.timeStamp}function r(n,a){const i="client"+("x"===(a||e.scroll)?"X":"Y");return(pS(n,t)?n:n.touches[0])[i]}return{pointerDown:function(e){return n=e,a=e,r(e)},pointerMove:function(e){const t=r(e)-r(a),o=i(e)-i(n)>170;return a=e,o&&(n=e),t},pointerUp:function(e){if(!n||!a)return 0;const t=r(a)-r(n),o=i(e)-i(n),s=i(e)-i(a)>170,c=t/o;return o&&!s&&aS(c)>.1?c:0},readPoint:r}}function bS(e,t,n,a,i,r,o){const s=[e].concat(a);let c,l,d=[],u=!1;function h(e){return i.measureSize(o.measure(e))}return{init:function(i){r&&(l=h(e),d=a.map(h),c=new ResizeObserver((n=>{(tS(r)||r(i,n))&&function(n){for(const r of n){if(u)return;const n=r.target===e,o=a.indexOf(r.target),s=n?l:d[o];if(aS(h(n?e:a[o])-s)>=.5){i.reInit(),t.emit("resize");break}}}(n)})),n.requestAnimationFrame((()=>{s.forEach((e=>c.observe(e)))})))},destroy:function(){u=!0,c&&c.disconnect()}}}function wS(e,t,n,a,i){const r=i.measure(10),o=i.measure(50),s=fS(.1,.99);let c=!1;function l(){return!c&&(!!e.reachedAny(n.get())&&!!e.reachedAny(t.get()))}return{shouldConstrain:l,constrain:function(i){if(!l())return;const c=e.reachedMin(t.get())?"min":"max",d=aS(e[c]-t.get()),u=n.get()-t.get(),h=s.constrain(d/o);n.subtract(u*h),!i&&aS(u)e.add(i)))}};return c}function CS(e,t,n,a,i){const{reachedAny:r,removeOffset:o,constrain:s}=a;function c(e){return e.concat().sort(((e,t)=>aS(e)-aS(t)))[0]}function l(t,a){const i=[t,t+n,t-n];if(!e)return t;if(!a)return c(i);const r=i.filter((e=>iS(e)===a));return r.length?c(r):sS(i)-n}return{byDistance:function(n,a){const c=i.get()+n,{index:d,distance:u}=function(n){const a=e?o(n):s(n),i=t.map(((e,t)=>({diff:l(e-a,0),index:t}))).sort(((e,t)=>aS(e.diff)-aS(t.diff))),{index:r}=i[0];return{index:r,distance:a}}(c),h=!e&&r(c);return!a||h?{index:d,distance:n}:{index:d,distance:n+l(t[d]-u,0)}},byIndex:function(e,n){return{index:e,distance:l(t[e]-i.get(),n)}},shortcut:l}}function MS(e,t,n,a,i,r,o,s){const c={passive:!0,capture:!0};let l=0;function d(e){"Tab"===e.code&&(l=(new Date).getTime())}return{init:function(u){s&&(r.add(document,"keydown",d,!1),t.forEach(((t,d)=>{r.add(t,"focus",(t=>{(tS(s)||s(u,t))&&function(t){if((new Date).getTime()-l>10)return;o.emit("slideFocusStart"),e.scrollLeft=0;const r=n.findIndex((e=>e.includes(t)));Jk(r)&&(i.useDuration(0),a.index(r,0),o.emit("slideFocus"))}(d)}),c)})))}}}function kS(e){let t=e;function n(e){return Jk(e)?e:e.get()}const a={get:function(){return t},set:function(e){t=n(e)},add:function(e){t+=n(e)},subtract:function(e){t-=n(e)}};return a}function SS(e,t){const n="x"===e.scroll?function(e){return`translate3d(${e}px,0px,0px)`}:function(e){return`translate3d(0px,${e}px,0px)`},a=t.style;let i=!1;return{clear:function(){i||(a.transform="",t.getAttribute("style")||t.removeAttribute("style"))},to:function(t){i||(a.transform=n(e.direction(t)))},toggleActive:function(e){i=!e}}}function ES(e,t,n,a,i,r,o,s,c){const l=.5,d=oS(i),u=oS(i).reverse(),h=function(){const e=o[0];return g(m(u,e),n,!1)}().concat(function(){const e=t-o[0]-1;return g(m(d,e),-n,!0)}());function p(e,t){return e.reduce(((e,t)=>e-i[t]),t)}function m(e,t){return e.reduce(((e,n)=>p(e,t)>0?e.concat([n]):e),[])}function g(i,o,d){const u=function(e){return r.map(((n,i)=>({start:n-a[i]+l+e,end:n+t-l+e})))}(o);return i.map((t=>{const a=d?0:-n,i=d?n:0,r=d?"end":"start",o=u[t][r];return{index:t,loopPoint:o,slideLocation:kS(-1),translate:SS(e,c[t]),target:()=>s.get()>o?a:i}}))}const f={canLoop:function(){return h.every((({index:e})=>{const n=d.filter((t=>t!==e));return p(n,t)<=.1}))},clear:function(){h.forEach((e=>e.translate.clear()))},loop:function(){h.forEach((e=>{const{target:t,translate:n,slideLocation:a}=e,i=t();i!==a.get()&&(n.to(i),a.set(i))}))},loopPoints:h};return f}function $S(e,t,n){let a,i=!1;return{init:function(r){n&&(a=new MutationObserver((e=>{i||(tS(n)||n(r,e))&&function(e){for(const n of e)if("childList"===n.type){r.reInit(),t.emit("slidesChanged");break}}(e)})),a.observe(e,{childList:!0}))},destroy:function(){a&&a.disconnect(),i=!0}}}function AS(e,t,n,a){const i={};let r,o=null,s=null,c=!1;return{init:function(){r=new IntersectionObserver((e=>{c||(e.forEach((e=>{const n=t.indexOf(e.target);i[n]=e})),o=null,s=null,n.emit("slidesInView"))}),{root:e.parentElement,threshold:a}),t.forEach((e=>r.observe(e)))},destroy:function(){r&&r.disconnect(),c=!0},get:function(e=!0){if(e&&o)return o;if(!e&&s)return s;const t=function(e){return uS(i).reduce(((t,n)=>{const a=parseInt(n),{isIntersecting:r}=i[a];return(e&&r||!e&&!r)&&t.push(a),t}),[])}(e);return e&&(o=t),e||(s=t),t}}}function zS(e,t,n,a,i,r,o,s,c){const{startEdge:l,endEdge:d,direction:u}=e,h=Jk(n);const p={groupSlides:function(e){return h?function(e,t){return oS(e).filter((e=>e%t==0)).map((n=>e.slice(n,n+t)))}(e,n):function(e){return e.length?oS(e).reduce(((n,h,p)=>{const m=sS(n)||0,g=0===m,f=h===cS(e),_=i[l]-r[m][l],v=i[l]-r[h][d],y=!a&&g?u(o):0,b=aS(v-(!a&&f?u(s):0)-(_+y));return p&&b>t+c&&n.push(h),f&&n.push(e.length),n}),[]).map(((t,n,a)=>{const i=Math.max(a[n-1]||0);return e.slice(i,t)})):[]}(e)}};return p}function IS(e,t,n,a,i,r,o){const{align:s,axis:c,direction:l,startIndex:d,loop:u,duration:h,dragFree:p,dragThreshold:m,inViewThreshold:g,slidesToScroll:f,skipSnaps:_,containScroll:v,watchResize:y,watchSlides:b,watchDrag:w,watchFocus:x}=r,C={measure:function(e){const{offsetTop:t,offsetLeft:n,offsetWidth:a,offsetHeight:i}=e;return{top:t,right:n+a,bottom:t+i,left:n,width:a,height:i}}},M=C.measure(t),k=n.map(C.measure),S=function(e,t){const n="rtl"===t,a="y"===e,i=!a&&n?-1:1,r={scroll:a?"y":"x",cross:a?"x":"y",startEdge:a?"top":n?"right":"left",endEdge:a?"bottom":n?"left":"right",measureSize:function(e){const{height:t,width:n}=e;return a?t:n},direction:function(e){return e*i}};return r}(c,l),E=S.measureSize(M),$=function(e){const t={measure:function(t){return e*(t/100)}};return t}(E),A=function(e,t){const n={start:function(){return 0},center:function(e){return a(e)/2},end:a};function a(e){return t-e}const i={measure:function(a,i){return eS(e)?n[e](a):e(t,a,i)}};return i}(s,E),z=!u&&!!v,I=u||!!v,{slideSizes:T,slideSizesWithGaps:j,startGap:O,endGap:D}=function(e,t,n,a,i,r){const{measureSize:o,startEdge:s,endEdge:c}=e,l=n[0]&&i,d=function(){if(!l)return 0;const e=n[0];return aS(t[s]-e[s])}(),u=function(){if(!l)return 0;const e=r.getComputedStyle(sS(a));return parseFloat(e.getPropertyValue(`margin-${c}`))}(),h=n.map(o),p=n.map(((e,t,n)=>{const a=!t,i=lS(n,t);return a?h[t]+d:i?h[t]+u:n[t+1][s]-e[s]})).map(aS);return{slideSizes:h,slideSizesWithGaps:p,startGap:d,endGap:u}}(S,M,k,n,I,i),R=zS(S,E,f,u,M,k,O,D,2),{snaps:P,snapsAligned:L}=function(e,t,n,a,i){const{startEdge:r,endEdge:o}=e,{groupSlides:s}=i,c=s(a).map((e=>sS(e)[o]-e[0][r])).map(aS).map(t.measure),l=a.map((e=>n[r]-e[r])).map((e=>-aS(e))),d=s(l).map((e=>e[0])).map(((e,t)=>e+c[t]));return{snaps:l,snapsAligned:d}}(S,A,M,k,R),N=-sS(P)+sS(j),{snapsContained:F,scrollContainLimit:V}=function(e,t,n,a,i){const r=fS(-t+e,0),o=n.map(((e,t)=>{const{min:a,max:i}=r,o=r.constrain(e),s=!t,l=lS(n,t);return s?i:l||c(a,o)?a:c(i,o)?i:o})).map((e=>parseFloat(e.toFixed(3)))),s=function(){const e=o[0],t=sS(o);return fS(o.lastIndexOf(e),o.indexOf(t)+1)}();function c(e,t){return rS(e,t)<1}return{snapsContained:function(){if(t<=e+i)return[r.max];if("keepSnaps"===a)return o;const{min:n,max:c}=s;return o.slice(n,c)}(),scrollContainLimit:s}}(E,N,L,v,2),H=z?F:L,{limit:B}=function(e,t,n){const a=t[0];return{limit:fS(n?a-e:sS(t),a)}}(N,H,u),q=_S(cS(H),d,u),U=q.clone(),W=oS(n),Z=gS(a,i,(e=>(({dragHandler:e,scrollBody:t,scrollBounds:n,options:{loop:a}},i)=>{a||n.constrain(e.pointerDown()),t.seek(i)})(se,e)),(e=>(({scrollBody:e,translate:t,location:n,offsetLocation:a,scrollLooper:i,slideLooper:r,dragHandler:o,animation:s,eventHandler:c,scrollBounds:l,options:{loop:d}},u)=>{const h=e.settled(),p=!l.shouldConstrain(),m=d?h:h&&p;m&&!o.pointerDown()&&(s.stop(),c.emit("settle")),m||c.emit("scroll");const g=n.get()*u+Y.get()*(1-u);a.set(g),d&&(i.loop(e.direction()),r.loop()),t.to(a.get())})(se,e))),Q=H[q.get()],G=kS(Q),Y=kS(Q),K=kS(Q),X=kS(Q),J=function(e,t,n,a,i,r){let o=0,s=0,c=i,l=r,d=e.get(),u=0;function h(e){return c=e,m}function p(e){return l=e,m}const m={direction:function(){return s},duration:function(){return c},velocity:function(){return o},seek:function(t){const i=t/1e3,r=c*i,h=a.get()-e.get();let p=0;return c?(n.set(e),o+=h/r,o*=l,d+=o,e.add(o*i),p=d-u):(o=0,n.set(a),e.set(a),p=h),s=iS(p),u=d,m},settled:function(){return aS(a.get()-t.get())<.001},useBaseFriction:function(){return p(r)},useBaseDuration:function(){return h(i)},useFriction:p,useDuration:h};return m}(G,K,Y,X,h,.68),ee=CS(u,H,N,B,X),te=function(e,t,n,a,i,r,o){function s(i){const s=i.distance,c=i.index!==t.get();r.add(s),s&&(a.duration()?e.start():(e.update(),e.render(1),e.update())),c&&(n.set(t.get()),t.set(i.index),o.emit("select"))}const c={distance:function(e,t){s(i.byDistance(e,t))},index:function(e,n){const a=t.clone().set(e);s(i.byIndex(a.get(),n))}};return c}(Z,q,U,J,ee,X,o),ne=function(e){const{max:t,length:n}=e,a={get:function(e){return n?(e-t)/-n:0}};return a}(B),ae=mS(),ie=AS(t,n,o,g),{slideRegistry:re}=function(e,t,n,a,i,r){const{groupSlides:o}=i,{min:s,max:c}=a;return{slideRegistry:function(){const a=o(r),i=!e||"keepSnaps"===t;return 1===n.length?[r]:i?a:a.slice(s,c).map(((e,t,n)=>{const a=!t,i=lS(n,t);return a?dS(sS(n[0])+1):i?dS(cS(r)-sS(n)[0]+1,sS(n)[0]):e}))}()}}(z,v,H,V,R,W),oe=MS(e,n,re,te,J,ae,o,x),se={ownerDocument:a,ownerWindow:i,eventHandler:o,containerRect:M,slideRects:k,animation:Z,axis:S,dragHandler:vS(S,e,a,i,X,yS(S,i),G,Z,te,J,ee,q,o,$,p,m,_,.68,w),eventStore:ae,percentOfView:$,index:q,indexPrevious:U,limit:B,location:G,offsetLocation:K,previousLocation:Y,options:r,resizeHandler:bS(t,o,i,n,S,y,C),scrollBody:J,scrollBounds:wS(B,K,X,J,$),scrollLooper:xS(N,B,K,[G,K,Y,X]),scrollProgress:ne,scrollSnapList:H.map(ne.get),scrollSnaps:H,scrollTarget:ee,scrollTo:te,slideLooper:ES(S,E,N,T,j,P,H,K,n),slideFocus:oe,slidesHandler:$S(t,o,b),slidesInView:ie,slideIndexes:W,slideRegistry:re,slidesToScroll:R,target:X,translate:SS(S,t)};return se}const TS={align:"center",axis:"x",container:null,slides:null,containScroll:"trimSnaps",direction:"ltr",slidesToScroll:1,inViewThreshold:0,breakpoints:{},dragFree:!1,dragThreshold:10,loop:!1,skipSnaps:!1,duration:25,startIndex:0,active:!0,watchDrag:!0,watchResize:!0,watchSlides:!0,watchFocus:!0};function jS(e){function t(e,t){return hS(e,t||{})}const n={mergeOptions:t,optionsAtMedia:function(n){const a=n.breakpoints||{},i=uS(a).filter((t=>e.matchMedia(t).matches)).map((e=>a[e])).reduce(((e,n)=>t(e,n)),{});return t(n,i)},optionsMediaQueries:function(t){return t.map((e=>uS(e.breakpoints||{}))).reduce(((e,t)=>e.concat(t)),[]).map(e.matchMedia)}};return n}function OS(e,t,n){const a=e.ownerDocument,i=a.defaultView,r=jS(i),o=function(e){let t=[];const n={init:function(n,a){return t=a.filter((({options:t})=>!1!==e.optionsAtMedia(t).active)),t.forEach((t=>t.init(n,e))),a.reduce(((e,t)=>Object.assign(e,{[t.name]:t})),{})},destroy:function(){t=t.filter((e=>e.destroy()))}};return n}(r),s=mS(),c=function(){let e,t={};function n(e){return t[e]||[]}const a={init:function(t){e=t},emit:function(t){return n(t).forEach((n=>n(e,t))),a},off:function(e,i){return t[e]=n(e).filter((e=>e!==i)),a},on:function(e,i){return t[e]=n(e).concat([i]),a},clear:function(){t={}}};return a}(),{mergeOptions:l,optionsAtMedia:d,optionsMediaQueries:u}=r,{on:h,off:p,emit:m}=c,g=S;let f,_,v,y,b=!1,w=l(TS,OS.globalOptions),x=l(w),C=[];function M(t){const n=IS(e,v,y,a,i,t,c);if(t.loop&&!n.slideLooper.canLoop()){return M(Object.assign({},t,{loop:!1}))}return n}function k(t,n){b||(w=l(w,t),x=d(w),C=n||C,function(){const{container:t,slides:n}=x,a=eS(t)?e.querySelector(t):t;v=a||e.children[0];const i=eS(n)?v.querySelectorAll(n):n;y=[].slice.call(i||v.children)}(),f=M(x),u([w,...C.map((({options:e})=>e))]).forEach((e=>s.add(e,"change",S))),x.active&&(f.translate.to(f.location.get()),f.animation.init(),f.slidesInView.init(),f.slideFocus.init(z),f.eventHandler.init(z),f.resizeHandler.init(z),f.slidesHandler.init(z),f.options.loop&&f.slideLooper.loop(),v.offsetParent&&y.length&&f.dragHandler.init(z),_=o.init(z,C)))}function S(e,t){const n=A();E(),k(l({startIndex:n},e),t),c.emit("reInit")}function E(){f.dragHandler.destroy(),f.eventStore.clear(),f.translate.clear(),f.slideLooper.clear(),f.resizeHandler.destroy(),f.slidesHandler.destroy(),f.slidesInView.destroy(),f.animation.destroy(),o.destroy(),s.clear()}function $(e,t,n){x.active&&!b&&(f.scrollBody.useBaseFriction().useDuration(!0===t?0:x.duration),f.scrollTo.index(e,n||0))}function A(){return f.index.get()}const z={canScrollNext:function(){return f.index.add(1).get()!==A()},canScrollPrev:function(){return f.index.add(-1).get()!==A()},containerNode:function(){return v},internalEngine:function(){return f},destroy:function(){b||(b=!0,s.clear(),E(),c.emit("destroy"),c.clear())},off:p,on:h,emit:m,plugins:function(){return _},previousScrollSnap:function(){return f.indexPrevious.get()},reInit:g,rootNode:function(){return e},scrollNext:function(e){$(f.index.add(1).get(),e,-1)},scrollPrev:function(e){$(f.index.add(-1).get(),e,1)},scrollProgress:function(){return f.scrollProgress.get(f.location.get())},scrollSnapList:function(){return f.scrollSnapList},scrollTo:$,selectedScrollSnap:A,slideNodes:function(){return y},slidesInView:function(){return f.slidesInView.get()},slidesNotInView:function(){return f.slidesInView.get(!1)}};return k(t,n),setTimeout((()=>c.emit("init")),0),z}function DS(){return DS=Object.assign||function(e){for(var t=1;t=e;case"y":return Math.abs(i)>=e;case"z":return Math.abs(r)>=e;default:return!1}}(r,a)&&e.preventDefault(),l.isStarted?l.isMomentum&&r>Math.max(2,2*l.lastAbsDelta)&&(M(!0),x()):x(),0===r&&Object.is&&Object.is(e.deltaX,-0)?d=!0:(t=e,l.axisMovement=PS(l.axisMovement,a),l.lastAbsDelta=r,l.scrollPointsToMerge.push({axisDelta:a,timeStamp:i}),g(),p({axisDelta:a,isStart:!l.isStartPublished}),l.isStartPublished=!0,C())},g=function(){var e;l.scrollPointsToMerge.length===US?(l.scrollPoints.unshift({axisDeltaSum:l.scrollPointsToMerge.map((function(e){return e.axisDelta})).reduce(PS),timeStamp:(e=l.scrollPointsToMerge.map((function(e){return e.timeStamp})),e.reduce((function(e,t){return e+t}))/e.length)}),_(),l.scrollPointsToMerge.length=0,l.scrollPoints.length=1,l.isMomentum||b()):l.isStartPublished||f()},f=function(){var e;l.axisVelocity=(e=l.scrollPointsToMerge,e[e.length-1]).axisDelta.map((function(e){return e/l.willEndTimeout}))},_=function(){var e=l.scrollPoints,t=e[0],n=e[1];if(n&&t){var a=t.timeStamp-n.timeStamp;if(!(a<=0)){var i=t.axisDeltaSum.map((function(e){return e/a})),r=i.map((function(e,t){return e/(l.axisVelocity[t]||1)}));l.axisVelocity=i,l.accelerationFactors.push(r),v(a)}}},v=function(e){var t=10*Math.ceil(e/10)*1.2;l.isMomentum||(t=Math.max(100,2*t)),l.willEndTimeout=Math.min(1e3,Math.round(t))},y=function(e){return 0===e||e<=qS&&e>=BS},b=function(){if(l.accelerationFactors.length>=WS){if(d&&(d=!1,LS(l.axisVelocity)>=.2))return void w();var e=l.accelerationFactors.slice(-1*WS);e.every((function(e){var t=!!e.reduce((function(e,t){return e&&e<1&&e===t?1:0})),n=e.filter(y).length===e.length;return t||n}))&&w(),l.accelerationFactors=e}},w=function(){l.isMomentum=!0},x=function(){(l=GS()).isStarted=!0,l.startTime=Date.now(),n=void 0,d=!1},C=function(){clearTimeout(a),a=setTimeout(M,l.willEndTimeout)},M=function(e){void 0===e&&(e=!1),l.isStarted&&(l.isMomentum&&e?p({isEnding:!0,isMomentumCancel:!0}):p({isEnding:!0}),l.isMomentum=!1,l.isStarted=!1)},k=function(e){var t=[],n=function(n){n.removeEventListener("wheel",e),t=t.filter((function(e){return e!==n}))};return NS({observe:function(a){return a.addEventListener("wheel",e,{passive:!1}),t.push(a),function(){return n(a)}},unobserve:n,disconnect:function(){t.forEach(n)}})}(u),S=k.observe,E=k.unobserve,$=k.disconnect;return h(e),NS({on:r,off:o,observe:S,unobserve:E,disconnect:$,feedWheel:u,updateOptions:h})}var KS={active:!0,breakpoints:{},wheelDraggingClass:"is-wheel-dragging",forceWheelAxis:void 0,target:void 0};function XS(e){var t;void 0===e&&(e={});var n=function(){};var a={name:"wheelGestures",options:e,init:function(a,i){var r,o,s=i.mergeOptions,c=i.optionsAtMedia,l=s(KS,XS.globalOptions),d=s(l,e);t=c(d);var u,h=a.internalEngine(),p=null!=(r=t.target)?r:a.containerNode().parentNode,m=null!=(o=t.forceWheelAxis)?o:h.options.axis,g=YS({preventWheelAction:m,reverseSign:[!0,!0,!1]}),f=g.observe(p),_=g.on("wheel",(function(e){var a=e.axisDelta,i=a[0],r=a[1],o="x"===m?i:r,s="x"===m?r:i,c=e.isMomentum&&e.previous&&!e.previous.isMomentum,l=e.isEnding&&!e.isMomentum||c;Math.abs(o)>Math.abs(s)&&!v&&!e.isMomentum&&function(e){try{x(u=new MouseEvent("mousedown",e.event))}catch(e){return n()}v=!0,document.documentElement.addEventListener("mousemove",b,!0),document.documentElement.addEventListener("mouseup",b,!0),void document.documentElement.addEventListener("mousedown",b,!0),t.wheelDraggingClass&&p.classList.add(t.wheelDraggingClass)}(e);if(!v)return;l?function(e){v=!1,x(w("mouseup",e)),y(),t.wheelDraggingClass&&p.classList.remove(t.wheelDraggingClass)}(e):x(w("mousemove",e))})),v=!1;function y(){document.documentElement.removeEventListener("mousemove",b,!0),document.documentElement.removeEventListener("mouseup",b,!0),document.documentElement.removeEventListener("mousedown",b,!0)}function b(e){v&&e.isTrusted&&e.stopImmediatePropagation()}function w(e,t){var n,a;if(m===h.options.axis){var i=t.axisMovement;n=i[0],a=i[1]}else{var r=t.axisMovement;a=r[0],n=r[1]}if(!h.options.skipSnaps&&!h.options.dragFree){var o=h.containerRect.width,s=h.containerRect.height;n=n<0?Math.max(n,-o):Math.min(n,o),a=a<0?Math.max(a,-s):Math.min(a,s)}return new MouseEvent(e,{clientX:u.clientX+n,clientY:u.clientY+a,screenX:u.screenX+n,screenY:u.screenY+a,movementX:n,movementY:a,button:0,bubbles:!0,cancelable:!0,composed:!0})}function x(e){a.containerNode().dispatchEvent(e)}n=function(){f(),_(),y()}},destroy:function(){return n()}};return a}XS.globalOptions=void 0;class JS{constructor(e,t,n){this._mutationObserver=new MutationObserver(((e,t)=>this._refreshCarouselContents())),this._refreshCarouselContents=()=>{const e=lf(this._parent);!Dv(this._carousel.slideNodes(),e)&&(this._carousel.destroy(),this._carousel=this._createCarousel(e))},this._root=e,this._parent=t,this._direction=n?.direction??"horizontal",this._transitionEffect=n?.transitionEffect??"slide",this._startIndex=n?.startIndex??0,this._dragFree=n?.dragFree??!1,this._loop=n?.loop??!1,this._draggable=n?.dragEnabled??!0,this._plugins=n?.plugins??[],this._carousel=this._createCarousel(lf(this._parent)),t instanceof HTMLSlotElement&&t.addEventListener("slotchange",this._refreshCarouselContents),this._mutationObserver.observe(this._parent,{childList:!0})}destroy(){this._parent instanceof HTMLSlotElement&&this._parent.removeEventListener("slotchange",this._refreshCarouselContents),this._mutationObserver.disconnect(),this._carousel.destroy()}getSlide(e){return this._carousel.slideNodes()[e]??null}getSelectedSlide(){return this.getSlide(this.getSelectedIndex())}getSelectedIndex(){return this._carousel.selectedScrollSnap()}selectSlide(e){this._carousel.scrollTo(e,"none"===this._transitionEffect);const t=this.getSlide(e);t&&Bg(this._parent,"carousel:force-select",{index:e,element:t})}_createCarousel(e){const t=OS(this._root,{slides:e,axis:"horizontal"===this._direction?"x":"y",duration:20,startIndex:this._startIndex,dragFree:this._dragFree,loop:this._loop,containScroll:"trimSnaps",watchSlides:!1,watchResize:!0,watchDrag:this._draggable},[...this._plugins,...e.length>1?[XS({forceWheelAxis:"y"})]:[]]),n=()=>{const e=(()=>{const e=t.selectedScrollSnap(),n=t.slideNodes()[e]??null;return n?{index:e,element:n}:null})();e&&Bg(this._parent,"carousel:select",e)};return t.on("select",(()=>n())),t}}let eE=class extends se{constructor(){super(...arguments),this.direction="horizontal",this.dragEnabled=!0,this.selected=0,this._refParent=ze(),this._refRoot=ze(),this._carousel=null}connectedCallback(){super.connectedCallback(),this.requestUpdate()}disconnectedCallback(){this._carousel?.destroy(),this._carousel=null,super.disconnectedCallback()}willUpdate(e){e.has("direction")&&this.setAttribute("direction",this.direction);["direction","dragEnabled","dragFree","loop","plugins","transitionEffect"].some((t=>e.has(t)))&&(this._carousel?.destroy(),this._carousel=null)}render(){return q`
- -
-
- -
-
- -
`}updated(e){!this._carousel&&this._refRoot.value&&this._refParent.value?this._carousel=new JS(this._refRoot.value,this._refParent.value,{direction:this.direction,dragEnabled:this.dragEnabled,dragFree:this.dragFree,startIndex:this.selected,transitionEffect:this.transitionEffect,loop:this.loop,plugins:this.plugins}):e.has("selected")&&this._carousel?.selectSlide(this.selected)}static get styles(){return o(":host {\n display: block;\n height: 100%;\n width: 100%;\n position: relative;\n}\n\n.embla {\n width: 100%;\n height: 100%;\n margin-left: auto;\n margin-right: auto;\n}\n\n.embla__container {\n display: flex;\n width: 100%;\n height: 100%;\n user-select: none;\n -webkit-touch-callout: none;\n -khtml-user-select: none;\n -webkit-tap-highlight-color: transparent;\n}\n\n:host([direction=vertical]) .embla__container {\n flex-direction: column;\n}\n\n:host([direction=horizontal]) .embla__container {\n flex-direction: row;\n}\n\n.embla__viewport {\n width: 100%;\n height: 100%;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.embla__viewport.is-draggable {\n cursor: move;\n cursor: grab;\n}\n\n.embla__viewport.is-dragging {\n cursor: grabbing;\n}\n\n:host([direction=vertical]) ::slotted(.embla__slide) {\n margin-bottom: 5px;\n}\n\n:host([direction=horizontal]) ::slotted(.embla__slide) {\n margin-right: 5px;\n}")}};e([he({attribute:!0,reflect:!0})],eE.prototype,"direction",void 0),e([he({attribute:!0})],eE.prototype,"transitionEffect",void 0),e([he({attribute:!1})],eE.prototype,"loop",void 0),e([he({attribute:!1})],eE.prototype,"dragFree",void 0),e([he({attribute:!1})],eE.prototype,"dragEnabled",void 0),e([he({attribute:!1})],eE.prototype,"plugins",void 0),e([he({attribute:!1})],eE.prototype,"selected",void 0),eE=e([le("frigate-card-carousel")],eE); -/** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const tE=window,nE=tE.ShadowRoot&&(void 0===tE.ShadyCSS||tE.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,aE=Symbol(),iE=new WeakMap;let rE=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==aE)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(nE&&void 0===e){const n=void 0!==t&&1===t.length;n&&(e=iE.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&iE.set(t,e))}return e}toString(){return this.cssText}};const oE=(e,t)=>{nE?e.adoptedStyleSheets=t.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet)):t.forEach((t=>{const n=document.createElement("style"),a=tE.litNonce;void 0!==a&&n.setAttribute("nonce",a),n.textContent=t.cssText,e.appendChild(n)}))},sE=nE?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const n of e.cssRules)t+=n.cssText;return(e=>new rE("string"==typeof e?e:e+"",void 0,aE))(t)})(e):e -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */;var cE;const lE=window,dE=lE.trustedTypes,uE=dE?dE.emptyScript:"",hE=lE.reactiveElementPolyfillSupport,pE={toAttribute(e,t){switch(t){case Boolean:e=e?uE:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=null!==e;break;case Number:n=null===e?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch(e){n=null}}return n}},mE=(e,t)=>t!==e&&(t==t||e==e),gE={attribute:!0,type:String,converter:pE,reflect:!1,hasChanged:mE},fE="finalized";class _E extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(e){var t;this.finalize(),(null!==(t=this.h)&&void 0!==t?t:this.h=[]).push(e)}static get observedAttributes(){this.finalize();const e=[];return this.elementProperties.forEach(((t,n)=>{const a=this._$Ep(n,t);void 0!==a&&(this._$Ev.set(a,n),e.push(a))})),e}static createProperty(e,t=gE){if(t.state&&(t.attribute=!1),this.finalize(),this.elementProperties.set(e,t),!t.noAccessor&&!this.prototype.hasOwnProperty(e)){const n="symbol"==typeof e?Symbol():"__"+e,a=this.getPropertyDescriptor(e,n,t);void 0!==a&&Object.defineProperty(this.prototype,e,a)}}static getPropertyDescriptor(e,t,n){return{get(){return this[t]},set(a){const i=this[e];this[t]=a,this.requestUpdate(e,i,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)||gE}static finalize(){if(this.hasOwnProperty(fE))return!1;this[fE]=!0;const e=Object.getPrototypeOf(this);if(e.finalize(),void 0!==e.h&&(this.h=[...e.h]),this.elementProperties=new Map(e.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const e=this.properties,t=[...Object.getOwnPropertyNames(e),...Object.getOwnPropertySymbols(e)];for(const n of t)this.createProperty(n,e[n])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const n=new Set(e.flat(1/0).reverse());for(const e of n)t.unshift(sE(e))}else void 0!==e&&t.push(sE(e));return t}static _$Ep(e,t){const n=t.attribute;return!1===n?void 0:"string"==typeof n?n:"string"==typeof e?e.toLowerCase():void 0}_$Eu(){var e;this._$E_=new Promise((e=>this.enableUpdating=e)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(e=this.constructor.h)||void 0===e||e.forEach((e=>e(this)))}addController(e){var t,n;(null!==(t=this._$ES)&&void 0!==t?t:this._$ES=[]).push(e),void 0!==this.renderRoot&&this.isConnected&&(null===(n=e.hostConnected)||void 0===n||n.call(e))}removeController(e){var t;null===(t=this._$ES)||void 0===t||t.splice(this._$ES.indexOf(e)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((e,t)=>{this.hasOwnProperty(t)&&(this._$Ei.set(t,this[t]),delete this[t])}))}createRenderRoot(){var e;const t=null!==(e=this.shadowRoot)&&void 0!==e?e:this.attachShadow(this.constructor.shadowRootOptions);return oE(t,this.constructor.elementStyles),t}connectedCallback(){var e;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostConnected)||void 0===t?void 0:t.call(e)}))}enableUpdating(e){}disconnectedCallback(){var e;null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostDisconnected)||void 0===t?void 0:t.call(e)}))}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$EO(e,t,n=gE){var a;const i=this.constructor._$Ep(e,n);if(void 0!==i&&!0===n.reflect){const r=(void 0!==(null===(a=n.converter)||void 0===a?void 0:a.toAttribute)?n.converter:pE).toAttribute(t,n.type);this._$El=e,null==r?this.removeAttribute(i):this.setAttribute(i,r),this._$El=null}}_$AK(e,t){var n;const a=this.constructor,i=a._$Ev.get(e);if(void 0!==i&&this._$El!==i){const e=a.getPropertyOptions(i),r="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==(null===(n=e.converter)||void 0===n?void 0:n.fromAttribute)?e.converter:pE;this._$El=i,this[i]=r.fromAttribute(t,e.type),this._$El=null}}requestUpdate(e,t,n){let a=!0;void 0!==e&&(((n=n||this.constructor.getPropertyOptions(e)).hasChanged||mE)(this[e],t)?(this._$AL.has(e)||this._$AL.set(e,t),!0===n.reflect&&this._$El!==e&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(e,n))):a=!1),!this.isUpdatePending&&a&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var e;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((e,t)=>this[t]=e)),this._$Ei=void 0);let t=!1;const n=this._$AL;try{t=this.shouldUpdate(n),t?(this.willUpdate(n),null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostUpdate)||void 0===t?void 0:t.call(e)})),this.update(n)):this._$Ek()}catch(e){throw t=!1,this._$Ek(),e}t&&this._$AE(n)}willUpdate(e){}_$AE(e){var t;null===(t=this._$ES)||void 0===t||t.forEach((e=>{var t;return null===(t=e.hostUpdated)||void 0===t?void 0:t.call(e)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(e){return!0}update(e){void 0!==this._$EC&&(this._$EC.forEach(((e,t)=>this._$EO(t,this[t],e))),this._$EC=void 0),this._$Ek()}updated(e){}firstUpdated(e){}}_E[fE]=!0,_E.elementProperties=new Map,_E.elementStyles=[],_E.shadowRootOptions={mode:"open"},null==hE||hE({ReactiveElement:_E}),(null!==(cE=lE.reactiveElementVersions)&&void 0!==cE?cE:lE.reactiveElementVersions=[]).push("1.6.3"); -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const vE=0,yE=Symbol();class bE{constructor(e,t,n){this.o=0,this.status=0,this.autoRun=!0,this.i=e,this.i.addController(this);const a="object"==typeof t?t:{task:t,args:n};this.t=a.task,this.h=a.args,void 0!==a.autoRun&&(this.autoRun=a.autoRun),this.taskComplete=new Promise(((e,t)=>{this.l=e,this.u=t}))}hostUpdated(){this.performTask()}async performTask(){var e;const t=null===(e=this.h)||void 0===e?void 0:e.call(this);this.shouldRun(t)&&this.run(t)}shouldRun(e){return this.autoRun&&this.v(e)}async run(e){var t;let n,a;null!=e||(e=null===(t=this.h)||void 0===t?void 0:t.call(this)),2!==this.status&&3!==this.status||(this.taskComplete=new Promise(((e,t)=>{this.l=e,this.u=t}))),this.status=1,this._=void 0,this.m=void 0,this.i.requestUpdate();const i=++this.o;try{n=await this.t(e)}catch(e){a=e}this.o===i&&(n===yE?this.status=0:(void 0===a?(this.status=2,this.l(n)):(this.status=3,this.u(a)),this.m=n,this._=a),this.i.requestUpdate())}get value(){return this.m}get error(){return this._}render(e){var t,n,a,i;switch(this.status){case 0:return null===(t=e.initial)||void 0===t?void 0:t.call(e);case 1:return null===(n=e.pending)||void 0===n?void 0:n.call(e);case 2:return null===(a=e.complete)||void 0===a?void 0:a.call(e,this.value);case 3:return null===(i=e.error)||void 0===i?void 0:i.call(e,this.error);default:this.status}}v(e){const t=this.T;return this.T=e,Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.some(((e,n)=>mE(e,t[n]))):e!==t}}class wE{constructor(e){this._keys=e}modify(e){this._keys.forEach((t=>e.removeContext(t)))}}var xE=":host {\n display: flex;\n flex-direction: column;\n width: 100%;\n margin-left: 5px;\n padding: 5px;\n color: var(--primary-text-color);\n overflow: hidden;\n column-gap: 5%;\n}\n\ndiv.title {\n font-size: 1.2rem;\n font-weight: bold;\n}\n\ndiv.details {\n flex: 1;\n justify-content: center;\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n --mdc-icon-size: 16px;\n min-height: 0px;\n}";const CE=(e,t,n,a)=>{const i={...a?.cardWideConfig&&{cardWideConfig:a.cardWideConfig}};return q` ${t.render({initial:()=>a?.inProgressFunc?.()??xk(i),pending:()=>a?.inProgressFunc?.()??xk(i),error:t=>{Gg(t),kk(e,t)},complete:n})}`},ME=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,kE=(e,t,n,a=!0)=>new bE(e,{args:()=>[!!t(),n()],task:async([e,n])=>{const a=t();return e&&a&&n?(async(e,t)=>e&&t?t.startsWith("data:")||t.match(ME)?t:new Promise(((n,a)=>{e?e.fetchWithAuth(t).then((e=>e.blob())).then((e=>{const t=new FileReader;t.onload=()=>{const e=t.result;n("string"==typeof e?e:null)},t.onerror=e=>a(e),t.readAsDataURL(e)})):a()})):null)(a,n):null},autoRun:a}),SE=300;let EE=class extends se{constructor(){super(),this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this))}connectedCallback(){this._intersectionObserver.observe(this),super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback(),this._intersectionObserver.disconnect()}willUpdate(e){e.has("thumbnail")&&(this._embedThumbnailTask=kE(this,(()=>this.hass),(()=>this.thumbnail),!1),this._intersectionObserver.unobserve(this),this._intersectionObserver.observe(this))}_intersectionHandler(e){this._embedThumbnailTask?.status===vE&&e.some((e=>e.isIntersecting))&&this._embedThumbnailTask?.run()}render(){const e=q` `;return this._embedThumbnailTask?q`${this.thumbnail?CE(this,this._embedThumbnailTask,(e=>e?q``:q``),{inProgressFunc:()=>e}):e} `:e}static get styles(){return o(":host {\n display: block;\n overflow: hidden;\n aspect-ratio: 1/1;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\nimg {\n display: block;\n}\n\nimg,\nha-icon {\n display: inline-block;\n vertical-align: top;\n margin: 0;\n border-radius: var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px));\n width: var(--frigate-card-thumbnail-size);\n max-height: 100%;\n aspect-ratio: 1/1;\n object-fit: cover;\n}\n\nha-icon {\n --mdc-icon-size: 50%;\n color: var(--primary-text-color);\n display: flex;\n justify-content: center;\n align-items: center;\n border: 1px solid rgba(255, 255, 255, 0.3);\n box-sizing: border-box;\n opacity: 0.2;\n}")}};e([he({attribute:!1})],EE.prototype,"thumbnail",void 0),e([he({attribute:!1})],EE.prototype,"hass",void 0),EE=e([le("frigate-card-thumbnail-feature-thumbnail")],EE);let $E=class extends se{render(){if(this.date)return q` - ${this.cameraMetadata?.engineLogo?q``:""} -
-
${Wu(this.date,"HH:mm")}
-
${Wu(this.date,"MMM do")}
- ${this.showCameraTitle&&this.cameraMetadata?.title?q`
${this.cameraMetadata.title}
`:q``} -
- `}static get styles(){return o(":host {\n display: block;\n max-width: var(--frigate-card-thumbnail-size);\n max-height: var(--frigate-card-thumbnail-size);\n aspect-ratio: 1/1;\n border: 1px solid var(--secondary-color);\n background-color: var(--secondary-background-color);\n border-radius: var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px));\n overflow: hidden;\n padding: 10px;\n box-sizing: border-box;\n position: relative;\n}\n\nimg.background {\n display: block;\n width: 100%;\n height: 100%;\n position: absolute;\n inset: 0;\n padding: 10%;\n box-sizing: border-box;\n pointer-events: none;\n opacity: 0.1;\n}\n\ndiv.content {\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n color: var(--primary-text-color);\n}\n\ndiv {\n text-align: center;\n}\n\ndiv.title {\n font-size: 1.5rem;\n}\n\ndiv.camera {\n font-size: 0.7em;\n}")}};e([he({attribute:!1})],$E.prototype,"date",void 0),e([he({attribute:!1})],$E.prototype,"cameraMetadata",void 0),e([he({attribute:!1})],$E.prototype,"showCameraTitle",void 0),$E=e([le("frigate-card-thumbnail-feature-text")],$E);let AE=class extends se{render(){if(!this.media)return;const e=this.media.getScore(),t=e?(100*e).toFixed(2)+"%":null,n=this.media.getStartTime(),a=n?Kg(n):null,i=this.media.getEndTime(),r=n&&i?ef(n,i):null,o=this.media.inProgress()?V_("event.in_progress"):null,s=qg(this.media.getWhat()?.join(", "))??null,c=qg(this.media.getWhere()?.join(", "))??null,l=qg(this.media.getTags()?.join(", "))??null,d=s||l?(s??"")+(s&&l?": ":"")+(l??""):null,u=this.seek?Wu(this.seek,"HH:mm:ss"):null;return q` - ${d?q`
- ${d} - ${t?q`${t}`:""} -
`:""} -
- ${a?q`
- - ${a} -
- ${r||o?q`
- - ${r?q`${r}`:""} - ${o?q`${o}`:""} -
`:""}`:""} - ${this.cameraTitle?q`
- - ${this.cameraTitle} -
`:""} - ${c?q`
- - ${c} -
`:q``} - ${l?q`
- - ${l} -
`:q``} - ${u?q`
- - ${u} -
`:q``} -
- `}static get styles(){return o(xE)}};e([he({attribute:!1})],AE.prototype,"media",void 0),e([he({attribute:!1})],AE.prototype,"seek",void 0),e([he({attribute:!1})],AE.prototype,"cameraTitle",void 0),AE=e([le("frigate-card-thumbnail-details-event")],AE);let zE=class extends se{render(){if(!this.media)return;const e=this.media.getStartTime(),t=e?Kg(e):null,n=this.media.getEndTime(),a=e&&n?ef(e,n):null,i=this.media.inProgress()?V_("recording.in_progress"):null,r=this.seek?Wu(this.seek,"HH:mm:ss"):null,o=this.media.getEventCount();return q` - ${this.cameraTitle?q`
- ${this.cameraTitle} -
`:""} -
- ${t?q`
- - ${t} -
- ${a||i?q`
- - ${a?q`${a}`:""} - ${i?q`${i}`:""} -
`:""}`:""} - ${r?q`
- - ${r} -
`:q``} - ${null!==o?q`
- - ${o} -
`:""} -
- `}static get styles(){return o(xE)}};e([he({attribute:!1})],zE.prototype,"media",void 0),e([he({attribute:!1})],zE.prototype,"seek",void 0),e([he({attribute:!1})],zE.prototype,"cameraTitle",void 0),zE=e([le("frigate-card-thumbnail-details-recording")],zE);let IE=class extends se{constructor(){super(...arguments),this.details=!1,this.show_favorite_control=!1,this.show_timeline_control=!1,this.show_download_control=!1}render(){if(!this.media||!this.cameraManager||!this.hass)return;const e=this.media.getThumbnail(),t=this.media.getTitle()??"",n={star:!0,starred:!!this.media?.isFavorite()},a=this.show_timeline_control&&(!tx.isRecording(this.media)||this.media.getStartTime()&&this.media.getEndTime()),i=this.cameraManager?.getMediaCapabilities(this.media),r=this.show_favorite_control&&this.media&&this.hass&&i?.canFavorite,o=this.show_download_control&&this.hass&&this.media.getID()&&i?.canDownload,s=this.cameraManager.getCameraMetadata(this.media.getCameraID());return q` - ${tx.isEvent(this.media)&&e?q``:tx.isEvent(this.media)||tx.isRecording(this.media)?q``:q``} - ${r?q` {if(wf(e),this.hass&&this.media){try{await(this.cameraManager?.favoriteMedia(this.media,!this.media?.isFavorite()))}catch(e){return void Gg(e)}this.requestUpdate()}}} - />`:""} - ${this.details&&tx.isEvent(this.media)?q``:this.details&&tx.isRecording(this.media)?q``:q``} - ${a?q`{wf(e),this.viewManagerEpoch&&this.media&&this.viewManagerEpoch.manager.setViewByParameters({params:{view:"timeline",queryResults:this.viewManagerEpoch?.manager.getView()?.queryResults?.clone().selectResultIfFound((e=>e===this.media))},modifiers:[new wE(["timeline"])]})}} - >`:""} - ${o?q` {if(wf(e),this.hass&&this.cameraManager&&this.media)try{await Ew(this.hass,this.cameraManager,this.media)}catch(e){kk(this,e)}}} - >`:""} - `}static get styles(){return o(":host {\n display: flex;\n flex-direction: row;\n box-sizing: border-box;\n position: relative;\n overflow: hidden;\n transition: transform 0.2s linear;\n}\n\n:host(:not([details])) {\n aspect-ratio: 1/1;\n}\n\n:host([details]) {\n border: 1px solid var(--primary-color);\n border-radius: var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px));\n padding: 2px;\n background-color: var(--primary-background-color, black);\n}\n\n:host(:hover) {\n transform: scale(1.04);\n}\n\nha-icon {\n position: absolute;\n border-radius: 50%;\n opacity: 0.5;\n color: var(--primary-color);\n cursor: pointer;\n transition: opacity 0.2s ease-in-out, color 0.2s ease-in-out;\n}\n\nha-icon:hover {\n opacity: 1;\n}\n\nha-icon.star {\n top: 3px;\n left: 3px;\n}\n\nha-icon.star.starred {\n color: gold;\n}\n\nha-icon.timeline {\n top: 3px;\n right: 3px;\n}\n\nha-icon.download {\n right: 3px;\n bottom: 3px;\n}\n\nfrigate-card-thumbnail-details-event,\nfrigate-card-thumbnail-details-recording {\n flex: 1;\n}")}};e([he({attribute:!1})],IE.prototype,"cameraManager",void 0),e([he({attribute:!1})],IE.prototype,"media",void 0),e([he({attribute:!0,type:Boolean})],IE.prototype,"details",void 0),e([he({attribute:!0,type:Boolean})],IE.prototype,"show_favorite_control",void 0),e([he({attribute:!0,type:Boolean})],IE.prototype,"show_timeline_control",void 0),e([he({attribute:!0,type:Boolean})],IE.prototype,"show_download_control",void 0),e([he({attribute:!1})],IE.prototype,"seek",void 0),IE=e([le("frigate-card-thumbnail")],IE);let TE=class extends se{constructor(){super(...arguments),this.fadeThumbnails=!1,this._thumbnailSlides=[]}willUpdate(e){if(e.has("config")){this.config?.size&&this.style.setProperty("--frigate-card-thumbnail-size",`${this.config.size}px`);const e=this._getDirection();e?this.setAttribute("direction",e):this.removeAttribute("direction")}["cameraManager","config","transitionEffect","viewManagerEpoch"].some((t=>e.has(t)))&&(this._thumbnailSlides=this._renderSlides()),e.has("viewManagerEpoch")&&this.style.setProperty("--frigate-card-carousel-thumbnail-opacity",this.fadeThumbnails&&null!==this._getSelectedSlide()?"0.4":"1.0")}_getSelectedSlide(){return this.viewManagerEpoch?.manager.getView()?.queryResults?.getSelectedIndex()??null}_renderSlides(){const e=[],t=this.viewManagerEpoch?.manager.getView(),n=t?.context?.mediaViewer?.seek,a=this._getSelectedSlide();for(const i of t?.queryResults?.getResults()??[]){const t=e.length,r={embla__slide:!0,"slide-selected":a===t};e.push(q` {const n=this.viewManagerEpoch?.manager.getView();n&&n.queryResults&&Bg(this,"thumbnail-carousel:tap",{queryResults:n.queryResults.clone().selectIndex(t)}),wf(e)}} - > - `)}return e}_getDirection(){return"left"===this.config?.mode||"right"===this.config?.mode?"vertical":"above"===this.config?.mode||"below"===this.config?.mode?"horizontal":null}render(){const e=this._getDirection();if(this._thumbnailSlides.length&&this.config&&e)return q` - ${this._thumbnailSlides} - `}static get styles(){return o(":host {\n --frigate-card-thumbnail-size-max: 300px;\n --frigate-card-thumbnail-details-width: calc(\n var(--frigate-card-thumbnail-size) + 200px\n );\n}\n\n:host {\n display: block;\n width: 100%;\n height: 100%;\n --frigate-card-carousel-thumbnail-opacity: 1;\n}\n\n:host([direction=vertical]) {\n height: 100%;\n}\n\n:host([direction=horizontal]) {\n height: auto;\n}\n\n.embla__slide {\n flex: 0 0 auto;\n opacity: var(--frigate-card-carousel-thumbnail-opacity);\n}\n\n.embla__slide.slide-selected {\n opacity: 1;\n}\n\nfrigate-card-thumbnail {\n width: var(--frigate-card-thumbnail-size);\n height: var(--frigate-card-thumbnail-size);\n max-width: 100%;\n}\n\nfrigate-card-thumbnail[details] {\n width: var(--frigate-card-thumbnail-details-width);\n}")}};e([he({attribute:!1})],TE.prototype,"hass",void 0),e([he({attribute:!1})],TE.prototype,"viewManagerEpoch",void 0),e([he({attribute:!1})],TE.prototype,"cameraManager",void 0),e([he({attribute:!1})],TE.prototype,"config",void 0),e([he({attribute:!1})],TE.prototype,"fadeThumbnails",void 0),TE=e([le("frigate-card-thumbnail-carousel")],TE);var jE=":host {\n width: 100%;\n height: 100%;\n display: block;\n}";const OE=document.createElement("template");OE.innerHTML='\n
\n
\n';class DE extends HTMLElement{constructor(){super();const e=this.attachShadow({mode:"open"});e.appendChild(OE.content.cloneNode(!0)),this._freeSpaceDiv=e.getElementById("fs")}connectedCallback(){this._freeSpaceDiv&&this._freeSpaceDiv.addEventListener("click",this.handleFreeSpaceDivClick),this.upgradeProperty("open")}disconnectedCallback(){document.removeEventListener("keyup",this.handleKeyUp)}upgradeProperty(e){if(this.hasOwnProperty(e)){let t=this[e];delete this[e],this[e]=t}}handleKeyUp=e=>{if(!e.altKey&&"Escape"===e.key)e.preventDefault(),this.open=!1};get open(){return this.hasAttribute("open")}set open(e){e?this.hasAttribute("open")||this.setAttribute("open",""):this.hasAttribute("open")&&this.removeAttribute("open")}static get observedAttributes(){return["open"]}attributeChangedCallback(e,t,n){"open"===e&&(this.open?(this.setAttribute("tabindex","0"),this.setAttribute("aria-disabled","false"),this.focus({preventScroll:!0}),document.addEventListener("keyup",this.handleKeyUp),this.dispatchEvent(new CustomEvent("open",{bubbles:!0}))):(this.setAttribute("tabindex","-1"),this.setAttribute("aria-disabled","true"),document.removeEventListener("keyup",this.handleKeyUp),this.dispatchEvent(new CustomEvent("close",{bubbles:!0}))))}handleFreeSpaceDivClick=()=>{this.open=!1}}customElements.define("side-drawer",DE);let RE=class extends se{constructor(){super(...arguments),this.location="left",this.control=!0,this.open=!1,this.empty=!0,this._refDrawer=ze(),this._refSlot=ze(),this._resizeObserver=new ResizeObserver((()=>this._hideDrawerIfNecessary())),this._isHoverableDevice=Yg()}firstUpdated(e){super.firstUpdated(e);const t=document.createElement("style");t.innerHTML=":host {\n width: unset;\n}\n\n#fs {\n display: none;\n width: 100%;\n inset: 0;\n}\n\n#d,\n#fs {\n height: 100%;\n position: absolute;\n}\n\n#d {\n overflow: visible;\n max-width: 90%;\n z-index: 10;\n}\n\n:host([location=right]) #d {\n left: unset;\n right: 0;\n transform: translateX(100%);\n}\n\n:host([location=right][open]) #d {\n transform: none;\n box-shadow: var(--frigate-card-css-box-shadow, 0px 0px 25px 0px black);\n}\n\n#ifs {\n height: 100%;\n}",this._refDrawer.value?.shadowRoot?.appendChild(t)}_slotChanged(){const e=this._refSlot.value?lf(this._refSlot.value):[];this._resizeObserver.disconnect();for(const t of e)this._resizeObserver.observe(t);this._hideDrawerIfNecessary()}_hideDrawerIfNecessary(){if(!this._refDrawer.value)return;const e=this._refSlot.value?lf(this._refSlot.value):null;this.empty=!e||!e.length||e.every((e=>{const t=e.getBoundingClientRect();return!t.width||!t.height}))}render(){return q` - {this.open&&(this.open=!1)}} - > - ${this.control?q` -
{wf(e),this.open=!this.open}} - > - {this._isHoverableDevice&&!this.open&&(this.open=!0)}} - > - -
- `:""} - this._slotChanged()}> -
- `}static get styles(){return o("side-drawer {\n background-color: var(--card-background-color);\n}\n\ndiv.control-surround {\n position: absolute;\n bottom: 50%;\n transform: translateY(50%);\n z-index: 0;\n padding-top: 20px;\n padding-bottom: 20px;\n}\n\n:host([location=left]) div.control-surround {\n padding-right: 12px;\n left: 100%;\n}\n\n:host([location=right]) div.control-surround {\n padding-left: 12px;\n right: 100%;\n}\n\n:host([empty]),\n:host([empty]) > * {\n visibility: hidden;\n}\n\n:host(:not([empty])),\n:host(:not([empty])) > * {\n visibility: visible;\n}\n\nha-icon.control {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.7);\n opacity: 0.5;\n pointer-events: all;\n --mdc-icon-size: 20px;\n padding-top: 20px;\n padding-bottom: 20px;\n transition: opacity 0.5s ease;\n}\n\n:host([open]) ha-icon.control,\nha-icon.control:hover {\n opacity: 1;\n background-color: black;\n}\n\n:host([location=left]) ha-icon.control {\n border-top-right-radius: 20px;\n border-bottom-right-radius: 20px;\n}\n\n:host([location=right]) ha-icon.control {\n border-top-left-radius: 20px;\n border-bottom-left-radius: 20px;\n}")}};e([he({attribute:!0,reflect:!0})],RE.prototype,"location",void 0),e([he({attribute:!0,reflect:!0,type:Boolean})],RE.prototype,"control",void 0),e([he({type:Boolean,reflect:!0,attribute:!0})],RE.prototype,"open",void 0),e([he({attribute:!1})],RE.prototype,"icons",void 0),e([he({type:Boolean,reflect:!0,attribute:!0})],RE.prototype,"empty",void 0),RE=e([le("frigate-card-drawer")],RE);let PE=class extends se{constructor(){super(...arguments),this._refDrawerLeft=ze(),this._refDrawerRight=ze(),this._boundDrawerHandler=this._drawerHandler.bind(this)}connectedCallback(){super.connectedCallback(),this.addEventListener("frigate-card:drawer:open",this._boundDrawerHandler),this.addEventListener("frigate-card:drawer:close",this._boundDrawerHandler)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("frigate-card:drawer:open",this._boundDrawerHandler),this.removeEventListener("frigate-card:drawer:close",this._boundDrawerHandler)}_drawerHandler(e){const t=e.detail.drawer,n=e.type.endsWith(":open");"left"===t&&this._refDrawerLeft.value?this._refDrawerLeft.value.open=n:"right"===t&&this._refDrawerRight.value&&(this._refDrawerRight.value.open=n)}render(){return q` - - - - - - - - `}static get styles(){return o(":host {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n position: relative;\n overflow: hidden;\n}\n\n::slotted(:not([slot])) {\n flex: 1;\n min-height: 0px;\n}")}};e([he({attribute:!1})],PE.prototype,"drawerIcons",void 0),PE=e([le("frigate-card-surround-basic")],PE);let LE=class extends se{_hasDrawer(){return!!this.thumbnailConfig&&["left","right"].includes(this.thumbnailConfig.mode)}willUpdate(e){this.timelineConfig?.mode&&"none"!==this.timelineConfig.mode&&import("./timeline-core-99ac5d81.js");const t=this.viewManagerEpoch?.manager.getView();e.has("viewManagerEpoch")&&(this.viewManagerEpoch?.manager.hasMajorMediaChange(this.viewManagerEpoch?.oldView)||this.viewManagerEpoch?.oldView?.displayMode!==t?.displayMode)&&(this._cameraIDsForTimeline=this._getCameraIDsForTimeline()??void 0)}_getCameraIDsForTimeline(){const e=this.viewManagerEpoch?.manager.getView();if(!e||!this.cameraManager)return null;if(e.is("live")){const t={anyCapabilities:["clips","snapshots","recordings"]};return e.supportsMultipleDisplayModes()&&e.isGrid()?this.cameraManager.getStore().getCameraIDsWithCapability(t):this.cameraManager.getStore().getAllDependentCameras(e.camera,t)}return e.isViewerView()?e.query?.getQueryCameraIDs()??null:null}render(){const e=this.viewManagerEpoch?.manager.getView();if(!this.hass||!e)return;const t=(e,t)=>{this.thumbnailConfig&&this._hasDrawer()&&Bg(e.composedPath()[0],"drawer:"+t,{drawer:this.thumbnailConfig.mode})};return q` t(e,"open")} - @frigate-card:thumbnails:close=${e=>t(e,"close")} - > - ${this.thumbnailConfig&&"none"!==this.thumbnailConfig.mode?q` {const n=e.detail.queryResults.getSelectedResult();n&&(this.viewManagerEpoch?.manager.setViewByParameters({params:{view:"media",queryResults:e.detail.queryResults,...n.getCameraID()&&{camera:n.getCameraID()}},modifiers:[new wE(["timeline","mediaViewer"])]}),t(e,"close"))}} - > - `:""} - ${this.timelineConfig&&"none"!==this.timelineConfig.mode?q` - `:""} - - `}static get styles(){return o(jE)}};e([he({attribute:!1})],LE.prototype,"hass",void 0),e([he({attribute:!1})],LE.prototype,"viewManagerEpoch",void 0),e([he({attribute:!1,hasChanged:Qg})],LE.prototype,"thumbnailConfig",void 0),e([he({attribute:!1,hasChanged:Qg})],LE.prototype,"timelineConfig",void 0),e([he({attribute:!1})],LE.prototype,"cameraManager",void 0),e([he({attribute:!1})],LE.prototype,"cardWideConfig",void 0),LE=e([le("frigate-card-surround")],LE);var NE="6.0.0",FE="Mon, 09 Dec 2024 00:16:17 GMT",VE="4590558",HE="Sun, 8 Dec 2024 16:05:13 -0800";const BE=ba.object({domain:ba.string(),version:ba.string().optional()}).passthrough(),qE="hass_web_proxy",UE=(e,t)=>`/api/${qE}/v${t??0}/?url=${encodeURIComponent(e)}`,WE=(e,t,n="media")=>(e=>e.config.components.includes(qE))(e)&&!!t[n];async function ZE(e,t,n){await e.callService(qE,"create_proxied_url",{url_pattern:t,...n&&{url_id:n.urlID,ssl_verification:n.sslVerification,ssl_ciphers:n.sslCiphers,open_limit:n.openLimit,ttl:n.ttl,allow_unauthenticated:n.allowUnauthenticated}})}const QE=()=>NE,GE=async(e,t)=>{let n=null;if(t)try{n=await(async(e,t)=>await $v(e,BE,{type:"manifest/get",integration:t}))(t,e)}catch(e){}return{detected:!!n,...n?.version&&{version:n.version}}};let YE=class extends se{constructor(){super(...arguments),this._diagnostics=null}async _fetchDiagnostics(){this._diagnostics=await(async(e,t,n)=>{const a=e&&t?await t.getMatchingDevices(e,(e=>"Frigate"===e.manufacturer)):[],i=new Map;return a?.forEach((e=>{e.config_entries.forEach((t=>{e.model&&i.set(t,e.model)}))})),{card_version:QE(),browser:navigator.userAgent,date:new Date,lang:F_(),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,git:{hash:VE,build_date:FE,commit_date:HE},...e&&{ha_version:e.config.version},integrations:{reolink:await GE("reolink",e),frigate:{...await GE("frigate",e),...i.size&&{devices:Object.fromEntries(i)}},hass_web_proxy:await GE(qE,e),motioneye:await GE("motioneye",e)},...n&&{config:n}}})(this.hass,this.deviceRegistryManager,this.rawConfig)}shouldUpdate(){return!!this._diagnostics||(this._fetchDiagnostics().then((()=>this.requestUpdate())),!1)}render(){return wk({message:V_("error.diagnostics"),type:"diagnostics",icon:"mdi:information",context:this._diagnostics})}static get styles(){return o(jE)}};e([he({attribute:!1})],YE.prototype,"hass",void 0),e([he({attribute:!1})],YE.prototype,"deviceRegistryManager",void 0),e([he({attribute:!1})],YE.prototype,"rawConfig",void 0),e([pe()],YE.prototype,"_diagnostics",void 0),YE=e([le("frigate-card-diagnostics")],YE);let KE=class extends se{willUpdate(e){if(e.has("viewManagerEpoch")||e.has("config")){const e=this.viewManagerEpoch?.manager.getView();(e?.is("live")||this._shouldLivePreload())&&import("./index-3c9b9749.js").then((function(e){return e.i})),e?.isGalleryView()?import("./gallery-149d4f41.js"):e?.isViewerView()?import("./index-961f10b9.js"):e?.is("image")?import("./image-5371a090.js"):e?.is("timeline")&&import("./timeline-dfcd5e4d.js")}e.has("hide")&&(this.hide?this.setAttribute("hidden",""):this.removeAttribute("hidden"))}shouldUpdate(e){return!0}_shouldLivePreload(){const e=this.viewManagerEpoch?.manager.getView();return!!this.overriddenConfig?.live.preload&&!e?.is("diagnostics")}render(){if(!(this.hass&&this.overriddenConfig&&this.nonOverriddenConfig&&this.cardWideConfig))return q``;const e=this.viewManagerEpoch?.manager.getView(),t={hidden:this._shouldLivePreload()&&!e?.is("live")},n={hidden:!!this.hide},a=e?.is("live")?this.overriddenConfig.live.controls.thumbnails:e?.isViewerView()?this.overriddenConfig.media_viewer.controls.thumbnails:e?.is("timeline")?this.overriddenConfig.timeline.controls.thumbnails:void 0,i=e?.is("live")?this.overriddenConfig.live.controls.timeline:e?.isViewerView()?this.overriddenConfig.media_viewer.controls.timeline:void 0,r=e?this.cameraManager?.getStore().getCameraConfig(e.camera)??null:null;return q` - ${!this.hide&&e?.is("image")&&r?q` - `:""} - ${!this.hide&&e?.isGalleryView()?q` - `:""} - ${!this.hide&&e?.isViewerView()?q` - - - `:""} - ${!this.hide&&e?.is("timeline")?q` - `:""} - ${!this.hide&&e?.is("diagnostics")?q` - `:""} - ${this._shouldLivePreload()||!this.hide&&e?.is("live")?q` - - - `:""} - `}static get styles(){return o(":host {\n width: 100%;\n height: 100%;\n display: block;\n}\n\n:host([hidden]),\n.hidden {\n display: none;\n}")}};e([he({attribute:!1})],KE.prototype,"hass",void 0),e([he({attribute:!1})],KE.prototype,"viewManagerEpoch",void 0),e([he({attribute:!1})],KE.prototype,"cameraManager",void 0),e([he({attribute:!1})],KE.prototype,"nonOverriddenConfig",void 0),e([he({attribute:!1})],KE.prototype,"overriddenConfig",void 0),e([he({attribute:!1})],KE.prototype,"cardWideConfig",void 0),e([he({attribute:!1})],KE.prototype,"rawConfig",void 0),e([he({attribute:!1})],KE.prototype,"resolvedMediaCache",void 0),e([he({attribute:!1})],KE.prototype,"conditionsManagerEpoch",void 0),e([he({attribute:!1})],KE.prototype,"hide",void 0),e([he({attribute:!1})],KE.prototype,"microphoneManager",void 0),e([he({attribute:!1})],KE.prototype,"triggeredCameraIDs",void 0),e([he({attribute:!1})],KE.prototype,"deviceRegistryManager",void 0),KE=e([le("frigate-card-views")],KE);console.info(`%c FRIGATE-HASS-CARD \n%c ${V_("common.version")} `+QE(),"color: pink; font-weight: bold; background: black","color: white; font-weight: bold; background: dimgray"),window.customCards=window.customCards||[],window.customCards.push({type:"frigate-card",name:V_("common.frigate_card"),description:V_("common.frigate_card_description"),preview:!0,documentationURL:wa});let XE=class extends se{constructor(){super(...arguments),this._controller=new Ax(this,(()=>this._refMain.value?.scroll({top:0})),(()=>this._refMenu.value?.toggleMenu()),this._requestUpdateForComponentsThatUseConditions.bind(this)),this._menuButtonController=new zx,this._refMenu=ze(),this._refOverlay=ze(),this._refMain=ze(),this._refElements=ze(),this._refViews=ze()}get _config(){return this._controller.getConfigManager().getConfig()}get _hass(){return this._controller.getHASSManager().getHASS()}set hass(e){this._controller.getHASSManager().setHASS(e),this._refMenu.value&&(this._refMenu.value.hass=e),this._refElements.value&&(this._refElements.value.hass=e),this._refViews.value&&(this._refViews.value.hass=e)}static async getConfigElement(){return await Ax.getConfigElement()}static getStubConfig(e,t){return Ax.getStubConfig(t)}_requestUpdateForComponentsThatUseConditions(){this._refViews.value&&(this._refViews.value.conditionsManagerEpoch=this._controller.getConditionsManager().getEpoch()??void 0),this._refElements.value&&(this._refElements.value.conditionsManagerEpoch=this._controller.getConditionsManager().getEpoch()??void 0)}setConfig(e){this._controller.getConfigManager().setConfig(e)}shouldUpdate(){return!!this.isConnected&&(this._controller.getMessageManager().hasMessage()||this._controller.getInitializationManager().isInitializedMandatory()||this._controller.getInitializationManager().initializeMandatory(),!0)}_renderMenuStatusContainer(e){if(!this._config)return;const t=this._config.menu.style,n=this._config.menu.position,a=this._config.status_bar.style,i=this._config.status_bar.position;if("none"===t&&"none"===a||"overlay"===e&&"outside"===t&&"outside"===a||"overlay"!==e&&("outside"!==t||n!==e)&&("outside"!==a||i!==e))return;const r=e=>{const r="none"!==t&&("outside"===t&&"outerlay"===e||"outside"!==t&&"overlay"===e),o="none"!==a&&("outside"===a&&"outerlay"===e||"outside"!==a&&"overlay"===e),s="left"===n||"right"===n||"bottom"===n&&"hidden"===t&&"popup"!==a||"top"===n&&("hidden"!==t||"popup"===a);return q` - ${r&&s?this._renderMenu(n):""} - ${o?this._renderStatusBar(i):""} - ${r&&!s?this._renderMenu(n):""} - `};return q` - ${"overlay"===e?q`${r("overlay")}`:q`
- ${r("outerlay")} -
`} - `}_renderMenu(e){const t=this._controller.getViewManager().getView();if(this._hass&&this._config)return q` - - `}_renderStatusBar(e){if(this._config)return q` - - `}updated(){this._controller.getInitializationManager().isInitializedMandatory()&&this._controller.getQueryStringManager().executeIfNecessary()}_renderInDialogIfNecessary(e){return this._controller.getExpandManager().isExpanded()?q` {this._controller.getExpandManager().setExpanded(!1)}} - > - ${e} - `:e}render(){if(!this._hass)return;const e={main:!0,"curve-top":"outside"!==this._config?.menu.style||"top"!==this._config?.menu.position,"curve-bottom":"outside"!==this._config?.menu.style||"top"===this._config?.menu.position},t=this._controller.getActionsManager().getMergedActions(),n=this._controller.getCameraManager(),a=!1!==this._config?.performance?.features.animated_progress_indicator&&!this._controller.getInitializationManager().wasEverInitialized()&&!this._controller.getMessageManager().hasMessage();return this._renderInDialogIfNecessary(q` this._controller.getMessageManager().setMessageIfHigherPriority(e.detail)} - @frigate-card:media:loaded=${e=>this._controller.getMediaLoadedInfoManager().set(e.detail)} - @frigate-card:media:unloaded=${()=>this._controller.getMediaLoadedInfoManager().clear()} - @frigate-card:media:volumechange=${()=>this.requestUpdate()} - @frigate-card:media:play=${()=>this.requestUpdate()} - @frigate-card:media:pause=${()=>this.requestUpdate()} - @frigate-card:focus=${()=>this.focus()} - > - ${a?q``:""} - ${this._renderMenuStatusContainer("top")} - ${this._renderMenuStatusContainer("overlay")} -
- - ${wk(this._controller.getMessageManager().getMessage())} -
- ${this._renderMenuStatusContainer("bottom")} - ${this._config?.elements?q` {this._menuButtonController.addDynamicMenuButton(e.detail),this.requestUpdate()}} - @frigate-card:menu:remove=${e=>{this._menuButtonController.removeDynamicMenuButton(e.detail),this.requestUpdate()}} - @frigate-card:status-bar:add=${e=>{this._controller.getStatusBarItemManager().addDynamicStatusBarItem(e.detail)}} - @frigate-card:status-bar:remove=${e=>{this._controller.getStatusBarItemManager().removeDynamicStatusBarItem(e.detail)}} - @frigate-card:conditions:evaluate=${e=>{e.evaluation=this._controller.getConditionsManager()?.evaluateConditions(e.conditions)}} - > - `:""} -
`)}static get styles(){return o(':host {\n display: block;\n position: relative;\n background-color: var(--card-background-color);\n border-radius: var(--ha-card-border-radius, 4px);\n height: var(--frigate-card-height);\n min-height: 100px;\n pointer-events: all;\n --frigate-card-expand-max-height: calc((100vh - (2 * 56px)) * 0.85);\n --frigate-card-expand-max-width: 85vw;\n --frigate-card-expand-width: none;\n --frigate-card-expand-height: none;\n --frigate-card-expand-aspect-ratio: unset;\n --frigate-card-height: auto;\n}\n\nfrigate-card-loading {\n position: absolute;\n inset: 0;\n z-index: 1;\n}\n\n:host([dark]) {\n filter: brightness(75%);\n}\n\n:host([panel]) {\n height: 100%;\n}\n\ndiv.main {\n position: relative;\n overflow: auto;\n width: 100%;\n height: 100%;\n margin: auto;\n display: block;\n transform: translateZ(0);\n scrollbar-width: none;\n -ms-overflow-style: none;\n}\n\n/* Hide scrollbar for Chrome, Safari and Opera */\ndiv.main::-webkit-scrollbar {\n display: none;\n}\n\ndiv.main.curve-top {\n border-top-left-radius: var(--ha-card-border-radius, 4px);\n border-top-right-radius: var(--ha-card-border-radius, 4px);\n}\n\ndiv.main.curve-bottom {\n border-bottom-left-radius: var(--ha-card-border-radius, 4px);\n border-bottom-right-radius: var(--ha-card-border-radius, 4px);\n}\n\nha-card {\n display: flex;\n flex-direction: column;\n margin: auto;\n border: 0px;\n overflow: visible;\n width: 100%;\n height: 100%;\n position: static;\n color: var(--secondary-text-color, white);\n}\n\n/************\n * Fullscreen\n *************/\n:host(:fullscreen) #ha-card {\n border-radius: 0px;\n box-shadow: none;\n margin: 0;\n}\n\n:host(:-webkit-full-screen) #ha-card {\n border-radius: 0px;\n box-shadow: none;\n margin: 0;\n}\n\n:host(:fullscreen) div.main,\n:host(:fullscreen) frigate-card-menu {\n border-radius: 0px;\n}\n\n:host(:-webkit-full-screen) div.main,\n:host(:-webkit-full-screen) frigate-card-menu {\n border-radius: 0px;\n}\n\n/***************\n * Expanded mode\n ***************/\nweb-dialog {\n --dialog-padding: 0px;\n --dialog-container-padding: 0px;\n --dialog-max-height: var(--frigate-card-expand-max-height);\n --dialog-max-width: var(--frigate-card-expand-max-width);\n --dialog-width: var(--frigate-card-expand-width);\n --dialog-height: var(--frigate-card-expand-height);\n --dialog-overflow-x: visible;\n --dialog-overflow-y: visible;\n max-height: 100vh;\n}\n\nweb-dialog::part(dialog) {\n aspect-ratio: var(--frigate-card-expand-aspect-ratio);\n border-radius: 0px;\n background: transparent;\n}\n\n/*************************************\n * "Outside" style for menu/status bar\n *************************************/\n.outerlay[data-position=top] > *:first-child {\n border-top-left-radius: var(--ha-card-border-radius, 4px);\n border-top-right-radius: var(--ha-card-border-radius, 4px);\n}\n\n.outerlay[data-position=bottom] > *:last-child {\n border-bottom-left-radius: var(--ha-card-border-radius, 4px);\n border-bottom-right-radius: var(--ha-card-border-radius, 4px);\n}\n\n/*******************\n * Menu hover styles\n *******************/\nfrigate-card-menu {\n z-index: 2;\n}\n\nfrigate-card-menu[data-style*=hover] {\n transition: opacity 0.5s ease;\n opacity: 0;\n}\n\nfrigate-card-menu[data-style*=hover]:hover,\n.main:hover > frigate-card-overlay > frigate-card-menu[data-style=hover-card] {\n opacity: 1;\n}\n\n/*************************\n * Status bar hover styles\n *************************/\nfrigate-card-status-bar {\n z-index: 1;\n}\n\nfrigate-card-status-bar[data-style*=hover] {\n transition: opacity 0.5s ease;\n opacity: 0;\n}\n\nfrigate-card-status-bar[data-style*=hover]:hover,\n.main:hover > frigate-card-overlay > frigate-card-status-bar[data-style=hover-card] {\n opacity: 1;\n}')}getCardSize(){return 6}};XE=e([le("frigate-card")],XE);export{Il as $,tr as A,nr as B,Zi as C,ar as D,ir as E,rr as F,Pi as G,Li as H,Ni as I,Fi as J,Vi as K,Hi as L,Bi as M,qi as N,Ui as O,gs as P,Ws as Q,ns as R,Us as S,qo as T,Fo as U,Vo as V,Ho as W,Bo as X,Bs as Y,zl as Z,e as _,se as a,dr as a$,H_ as a0,tw as a1,et as a2,nw as a3,$s as a4,Di as a5,ji as a6,Oi as a7,Ri as a8,Wi as a9,Yr as aA,oo as aB,so as aC,lo as aD,uo as aE,co as aF,ao as aG,io as aH,ro as aI,mo as aJ,_o as aK,vo as aL,ho as aM,po as aN,fo as aO,go as aP,eo as aQ,no as aR,to as aS,Xr as aT,Jr as aU,Kr as aV,Ao as aW,Io as aX,zo as aY,hr as aZ,cr as a_,es as aa,Jo as ab,Xo as ac,ts as ad,hs as ae,us as af,ms as ag,qs as ah,ps as ai,So as aj,Co as ak,To as al,Mo as am,ko as an,qr as ao,Ur as ap,Wr as aq,Zr as ar,Eo as as,$o as at,yo as au,xo as av,bo as aw,wo as ax,Qr as ay,Gr as az,pe as b,ja as b$,ur as b0,lr as b1,sr as b2,mr as b3,gr as b4,fr as b5,_r as b6,xr as b7,Hr as b8,Cr as b9,Po as bA,Wo as bB,Zo as bC,Go as bD,Yo as bE,Qo as bF,Uo as bG,vs as bH,_s as bI,ys as bJ,xs as bK,Cs as bL,As as bM,Ms as bN,Es as bO,Ss as bP,Jb as bQ,Kb as bR,Uk as bS,Ug as bT,Ma as bU,Ja as bV,Ya as bW,La as bX,Na as bY,ka as bZ,Oa as b_,kr as ba,Mr as bb,vr as bc,wr as bd,yr as be,br as bf,Sr as bg,Er as bh,$r as bi,Or as bj,zr as bk,Tr as bl,jr as bm,Ir as bn,Ar as bo,Pr as bp,Fr as bq,Vr as br,Dr as bs,Rr as bt,Nr as bu,Lr as bv,Ro as bw,Lo as bx,Oo as by,Do as bz,ew as c,wf as c$,Da as c0,Ta as c1,Ga as c2,Ua as c3,Wa as c4,Za as c5,Qa as c6,_i as c7,fi as c8,Ra as c9,ai as cA,ii as cB,Sa as cC,Ea as cD,pi as cE,hi as cF,gi as cG,mi as cH,Fd as cI,Ca as cJ,ks as cK,ge as cL,fe as cM,W as cN,xe as cO,Gw as cP,Mk as cQ,ze as cR,Yw as cS,df as cT,wk as cU,je as cV,Qg as cW,vw as cX,td as cY,kk as cZ,Ky as c_,Pa as ca,Ha as cb,qa as cc,Fa as cd,Va as ce,Ba as cf,Ka as cg,Xa as ch,ti as ci,ei as cj,yi as ck,vi as cl,bi as cm,wi as cn,$a as co,Aa as cp,za as cq,Ia as cr,ni as cs,ri as ct,oi as cu,si as cv,ci as cw,li as cx,di as cy,ui as cz,aw as d,ba as d$,My as d0,ve as d1,jE as d2,Vd as d3,nu as d4,c as d5,ux as d6,Qv as d7,hx as d8,lx as d9,wx as dA,Ck as dB,U as dC,xf as dD,Bw as dE,kE as dF,CE as dG,yf as dH,Fk as dI,vf as dJ,kf as dK,bf as dL,p_ as dM,h_ as dN,Pv as dO,Lv as dP,Ud as dQ,Vv as dR,Yg as dS,Kg as dT,Cx as dU,Gy as dV,gx as dW,su as dX,sf as dY,Fv as dZ,Hg as d_,px as da,Gg as db,Ev as dc,Wu as dd,Xg as de,Qu as df,Bg as dg,qw as dh,af as di,SE as dj,kx as dk,xk as dl,$w as dm,tx as dn,hy as dp,Bb as dq,qb as dr,WE as ds,ZE as dt,Ib as du,UE as dv,Qw as dw,Kw as dx,Xw as dy,Jw as dz,_e as e,nf as e0,$v as e1,zs as e2,Kv as e3,Wv as e4,Z_ as e5,Q_ as e6,Yv as e7,Jg as e8,tf as e9,Lu as eA,Vb as eB,Zv as eC,Nb as eD,lf as eE,qy as eF,Uy as eG,Wy as eH,pf as eI,Qy as eJ,Rg as eK,Zy as eL,s as eM,Ae as eN,ye as eO,bE as eP,me as eQ,be as eR,jb as eS,Zw as eT,Gv as ea,Hk as eb,Hv as ec,rf as ed,Tv as ee,Bk as ef,Iv as eg,zv as eh,jv as ei,qk as ej,Xd as ek,Hd as el,Gd as em,Qd as en,Yd as eo,vu as ep,Jd as eq,eu as er,yu as es,_u as et,Bd as eu,au as ev,gu as ew,Ou as ex,Nu as ey,Fu as ez,ww as f,Fb as g,Xb as h,Dv as i,Lb as j,qg as k,V_ as l,Ki as m,he as n,Gi as o,Ld as p,Qi as q,o as r,of as s,le as t,Yi as u,Hb as v,Xi as w,q as x,er as y,Ji as z}; diff --git a/config/www/community/frigate-hass-card/card-7cd05290.js.gz b/config/www/community/frigate-hass-card/card-7cd05290.js.gz deleted file mode 100644 index 9e6e3ec173acd41ebcc9ea0398b0d3658e4a267a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142695 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�mIvCxjcpRl|))uS7DZxIi!>N3BO5k3DR@#pW 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 diff --git a/config/www/community/frigate-hass-card/card-c642ee74.js b/config/www/community/frigate-hass-card/card-c642ee74.js deleted file mode 100644 index a52d5fd4..00000000 --- a/config/www/community/frigate-hass-card/card-c642ee74.js +++ /dev/null @@ -1,650 +0,0 @@ -function e(e,t,n,a){var i,r=arguments.length,o=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r<3?i(o):r>3?i(t,n,o):i(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o}"function"==typeof SuppressedError&&SuppressedError; -/** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const t=globalThis,n=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,a=Symbol(),i=new WeakMap;let r=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==a)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(n&&void 0===e){const n=void 0!==t&&1===t.length;n&&(e=i.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&i.set(t,e))}return e}toString(){return this.cssText}};const o=e=>new r("string"==typeof e?e:e+"",void 0,a),s=(e,...t)=>{const n=1===e.length?e[0]:t.reduce(((t,n,a)=>t+(e=>{if(!0===e._$cssResult$)return e.cssText;if("number"==typeof e)return e;throw Error("Value passed to 'css' function must be a 'css' function result: "+e+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(n)+e[a+1]),e[0]);return new r(n,e,a)},c=(e,a)=>{if(n)e.adoptedStyleSheets=a.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet));else for(const n of a){const a=document.createElement("style"),i=t.litNonce;void 0!==i&&a.setAttribute("nonce",i),a.textContent=n.cssText,e.appendChild(a)}},l=n?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const n of e.cssRules)t+=n.cssText;return o(t)})(e):e -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */,{is:d,defineProperty:u,getOwnPropertyDescriptor:h,getOwnPropertyNames:p,getOwnPropertySymbols:m,getPrototypeOf:g}=Object,f=globalThis,_=f.trustedTypes,v=_?_.emptyScript:"",y=f.reactiveElementPolyfillSupport,b=(e,t)=>e,w={toAttribute(e,t){switch(t){case Boolean:e=e?v:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=null!==e;break;case Number:n=null===e?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch(e){n=null}}return n}},x=(e,t)=>!d(e,t),C={attribute:!0,type:String,converter:w,reflect:!1,hasChanged:x};Symbol.metadata??=Symbol("metadata"),f.litPropertyMetadata??=new WeakMap;class M extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=C){if(t.state&&(t.attribute=!1),this._$Ei(),this.elementProperties.set(e,t),!t.noAccessor){const n=Symbol(),a=this.getPropertyDescriptor(e,n,t);void 0!==a&&u(this.prototype,e,a)}}static getPropertyDescriptor(e,t,n){const{get:a,set:i}=h(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get(){return a?.call(this)},set(t){const r=a?.call(this);i.call(this,t),this.requestUpdate(e,r,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??C}static _$Ei(){if(this.hasOwnProperty(b("elementProperties")))return;const e=g(this);e.finalize(),void 0!==e.l&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(b("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(b("properties"))){const e=this.properties,t=[...p(e),...m(e)];for(const n of t)this.createProperty(n,e[n])}const e=this[Symbol.metadata];if(null!==e){const t=litPropertyMetadata.get(e);if(void 0!==t)for(const[e,n]of t)this.elementProperties.set(e,n)}this._$Eh=new Map;for(const[e,t]of this.elementProperties){const n=this._$Eu(e,t);void 0!==n&&this._$Eh.set(n,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const n=new Set(e.flat(1/0).reverse());for(const e of n)t.unshift(l(e))}else void 0!==e&&t.push(l(e));return t}static _$Eu(e,t){const n=t.attribute;return!1===n?void 0:"string"==typeof n?n:"string"==typeof e?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((e=>this.enableUpdating=e)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((e=>e(this)))}addController(e){(this._$EO??=new Set).add(e),void 0!==this.renderRoot&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){const e=new Map,t=this.constructor.elementProperties;for(const n of t.keys())this.hasOwnProperty(n)&&(e.set(n,this[n]),delete this[n]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return c(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((e=>e.hostConnected?.()))}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach((e=>e.hostDisconnected?.()))}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$EC(e,t){const n=this.constructor.elementProperties.get(e),a=this.constructor._$Eu(e,n);if(void 0!==a&&!0===n.reflect){const i=(void 0!==n.converter?.toAttribute?n.converter:w).toAttribute(t,n.type);this._$Em=e,null==i?this.removeAttribute(a):this.setAttribute(a,i),this._$Em=null}}_$AK(e,t){const n=this.constructor,a=n._$Eh.get(e);if(void 0!==a&&this._$Em!==a){const e=n.getPropertyOptions(a),i="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==e.converter?.fromAttribute?e.converter:w;this._$Em=a,this[a]=i.fromAttribute(t,e.type),this._$Em=null}}requestUpdate(e,t,n){if(void 0!==e){if(n??=this.constructor.getPropertyOptions(e),!(n.hasChanged??x)(this[e],t))return;this.P(e,t,n)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(e,t,n){this._$AL.has(e)||this._$AL.set(e,t),!0===n.reflect&&this._$Em!==e&&(this._$Ej??=new Set).add(e)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}const e=this.constructor.elementProperties;if(e.size>0)for(const[t,n]of e)!0!==n.wrapped||this._$AL.has(t)||void 0===this[t]||this.P(t,this[t],n)}let e=!1;const t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach((e=>e.hostUpdate?.())),this.update(t)):this._$EU()}catch(t){throw e=!1,this._$EU(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach((e=>e.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Ej&&=this._$Ej.forEach((e=>this._$EC(e,this[e]))),this._$EU()}updated(e){}firstUpdated(e){}}M.elementStyles=[],M.shadowRootOptions={mode:"open"},M[b("elementProperties")]=new Map,M[b("finalized")]=new Map,y?.({ReactiveElement:M}),(f.reactiveElementVersions??=[]).push("2.0.4"); -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const k=globalThis,S=k.trustedTypes,E=S?S.createPolicy("lit-html",{createHTML:e=>e}):void 0,$="$lit$",A=`lit$${(Math.random()+"").slice(9)}$`,z="?"+A,I=`<${z}>`,T=document,j=()=>T.createComment(""),O=e=>null===e||"object"!=typeof e&&"function"!=typeof e,D=Array.isArray,R="[ \t\n\f\r]",P=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,L=/-->/g,N=/>/g,F=RegExp(`>|${R}(?:([^\\s"'>=/]+)(${R}*=${R}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),V=/'/g,H=/"/g,B=/^(?:script|style|textarea|title)$/i,q=(e=>(t,...n)=>({_$litType$:e,strings:t,values:n}))(1),U=Symbol.for("lit-noChange"),W=Symbol.for("lit-nothing"),Z=new WeakMap,Q=T.createTreeWalker(T,129);function G(e,t){if(!Array.isArray(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==E?E.createHTML(t):t}const Y=(e,t)=>{const n=e.length-1,a=[];let i,r=2===t?"":"",o=P;for(let t=0;t"===c[0]?(o=i??P,l=-1):void 0===c[1]?l=-2:(l=o.lastIndex-c[2].length,s=c[1],o=void 0===c[3]?F:'"'===c[3]?H:V):o===H||o===V?o=F:o===L||o===N?o=P:(o=F,i=void 0);const u=o===F&&e[t+1].startsWith("/>")?" ":"";r+=o===P?n+I:l>=0?(a.push(s),n.slice(0,l)+$+n.slice(l)+A+u):n+A+(-2===l?t:u)}return[G(e,r+(e[n]||"")+(2===t?"":"")),a]};class K{constructor({strings:e,_$litType$:t},n){let a;this.parts=[];let i=0,r=0;const o=e.length-1,s=this.parts,[c,l]=Y(e,t);if(this.el=K.createElement(c,n),Q.currentNode=this.el.content,2===t){const e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;null!==(a=Q.nextNode())&&s.length0){a.textContent=S?S.emptyScript:"";for(let n=0;nD(e)||"function"==typeof e?.[Symbol.iterator])(e)?this.k(e):this._(e)}S(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.S(e))}_(e){this._$AH!==W&&O(this._$AH)?this._$AA.nextSibling.data=e:this.T(T.createTextNode(e)),this._$AH=e}$(e){const{values:t,_$litType$:n}=e,a="number"==typeof n?this._$AC(e):(void 0===n.el&&(n.el=K.createElement(G(n.h,n.h[0]),this.options)),n);if(this._$AH?._$AD===a)this._$AH.p(t);else{const e=new J(a,this),n=e.u(this.options);e.p(t),this.T(n),this._$AH=e}}_$AC(e){let t=Z.get(e.strings);return void 0===t&&Z.set(e.strings,t=new K(e)),t}k(e){D(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let n,a=0;for(const i of e)a===t.length?t.push(n=new ee(this.S(j()),this.S(j()),this,this.options)):n=t[a],n._$AI(i),a++;a2||""!==n[0]||""!==n[1]?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=W}_$AI(e,t=this,n,a){const i=this.strings;let r=!1;if(void 0===i)e=X(this,e,t,0),r=!O(e)||e!==this._$AH&&e!==U,r&&(this._$AH=e);else{const a=e;let o,s;for(e=i[0],o=0;o{const a=n?.renderBefore??t;let i=a._$litPart$;if(void 0===i){const e=n?.renderBefore??null;a._$litPart$=i=new ee(t.insertBefore(j(),e),e,void 0,n??{})}return i._$AI(e),i})(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return U}};se._$litElement$=!0,se.finalized=!0,globalThis.litElementHydrateSupport?.({LitElement:se});const ce=globalThis.litElementPolyfillSupport;ce?.({LitElement:se}),(globalThis.litElementVersions??=[]).push("4.0.4"); -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const le=e=>(t,n)=>{void 0!==n?n.addInitializer((()=>{customElements.define(e,t)})):customElements.define(e,t)} -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */,de={attribute:!0,type:String,converter:w,reflect:!1,hasChanged:x},ue=(e=de,t,n)=>{const{kind:a,metadata:i}=n;let r=globalThis.litPropertyMetadata.get(i);if(void 0===r&&globalThis.litPropertyMetadata.set(i,r=new Map),r.set(n.name,e),"accessor"===a){const{name:a}=n;return{set(n){const i=t.get.call(this);t.set.call(this,n),this.requestUpdate(a,i,e)},init(t){return void 0!==t&&this.P(a,void 0,e),t}}}if("setter"===a){const{name:a}=n;return function(n){const i=this[a];t.call(this,n),this.requestUpdate(a,i,e)}}throw Error("Unsupported decorator location: "+a)};function he(e){return(t,n)=>"object"==typeof n?ue(e,t,n):((e,t,n)=>{const a=t.hasOwnProperty(n);return t.constructor.createProperty(n,a?{...e,wrapped:!0}:e),a?Object.getOwnPropertyDescriptor(t,n):void 0})(e,t,n) -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */}function pe(e){return he({...e,state:!0,attribute:!1})} -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const me={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},ge=e=>(...t)=>({_$litDirective$:e,values:t});let fe=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,n){this._$Ct=e,this._$AM=t,this._$Ci=n}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}}; -/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const _e=ge(class extends fe{constructor(e){if(super(e),e.type!==me.ATTRIBUTE||"class"!==e.name||e.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(e){return" "+Object.keys(e).filter((t=>e[t])).join(" ")+" "}update(e,[t]){if(void 0===this.st){this.st=new Set,void 0!==e.strings&&(this.nt=new Set(e.strings.join(" ").split(/\s/).filter((e=>""!==e))));for(const e in t)t[e]&&!this.nt?.has(e)&&this.st.add(e);return this.render(t)}const n=e.element.classList;for(const e of this.st)e in t||(n.remove(e),this.st.delete(e));for(const e in t){const a=!!t[e];a===this.st.has(e)||this.nt?.has(e)||(a?(n.add(e),this.st.add(e)):(n.remove(e),this.st.delete(e)))}return U}}),ve=e=>e??W -/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */,ye=e=>null===e||"object"!=typeof e&&"function"!=typeof e,be=e=>void 0===e.strings,we={},xe=(e,t=we)=>e._$AH=t -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */,Ce=(e,t)=>{const n=e._$AN;if(void 0===n)return!1;for(const e of n)e._$AO?.(t,!1),Ce(e,t);return!0},Me=e=>{let t,n;do{if(void 0===(t=e._$AM))break;n=t._$AN,n.delete(e),e=t}while(0===n?.size)},ke=e=>{for(let t;t=e._$AM;e=t){let n=t._$AN;if(void 0===n)t._$AN=n=new Set;else if(n.has(e))break;n.add(e),$e(t)}}; -/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */function Se(e){void 0!==this._$AN?(Me(this),this._$AM=e,ke(this)):this._$AM=e}function Ee(e,t=!1,n=0){const a=this._$AH,i=this._$AN;if(void 0!==i&&0!==i.size)if(t)if(Array.isArray(a))for(let e=n;e{e.type==me.CHILD&&(e._$AP??=Ee,e._$AQ??=Se)};class Ae extends fe{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,t,n){super._$AT(e,t,n),ke(this),this.isConnected=e._$AU}_$AO(e,t=!0){e!==this.isConnected&&(this.isConnected=e,e?this.reconnected?.():this.disconnected?.()),t&&(Ce(this,e),Me(this))}setValue(e){if(be(this._$Ct))this._$Ct._$AI(e,this);else{const t=[...this._$Ct._$AH];t[this._$Ci]=e,this._$Ct._$AI(t,this,0)}}disconnected(){}reconnected(){}} -/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const ze=()=>new Ie;let Ie=class{};const Te=new WeakMap,je=ge(class extends Ae{render(e){return W}update(e,[t]){const n=t!==this.Y;return n&&void 0!==this.Y&&this.rt(void 0),(n||this.lt!==this.ct)&&(this.Y=t,this.ht=e.options?.host,this.rt(this.ct=e.element)),W}rt(e){if("function"==typeof this.Y){const t=this.ht??globalThis;let n=Te.get(t);void 0===n&&(n=new WeakMap,Te.set(t,n)),void 0!==n.get(this.Y)&&this.Y.call(this.ht,void 0),n.set(this.Y,e),void 0!==e&&this.Y.call(this.ht,e)}else this.Y.value=e}get lt(){return"function"==typeof this.Y?Te.get(this.ht??globalThis)?.get(this.Y):this.Y?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}}),Oe="important",De=" !"+Oe,Re=ge(class extends fe{constructor(e){if(super(e),e.type!==me.ATTRIBUTE||"style"!==e.name||e.strings?.length>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(e){return Object.keys(e).reduce(((t,n)=>{const a=e[n];return null==a?t:t+`${n=n.includes("-")?n:n.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${a};`}),"")}update(e,[t]){const{style:n}=e.element;if(void 0===this.ft)return this.ft=new Set(Object.keys(t)),this.render(t);for(const e of this.ft)null==t[e]&&(this.ft.delete(e),e.includes("-")?n.removeProperty(e):n[e]=null);for(const e in t){const a=t[e];if(null!=a){this.ft.add(e);const t="string"==typeof a&&a.endsWith(De);e.includes("-")||t?n.setProperty(e,t?a.slice(0,-11):a,t?Oe:""):n[e]=a}}return U}}); -/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */function Pe(e,t,n,a=20,i=0){let r=[];if(i>=a)return r;const o=e=>{const r=e.assignedNodes().filter((e=>1===e.nodeType));return r.length>0?Pe(r[0].parentElement,t,n,a,i+1):[]},s=Array.from(e.children||[]);for(const e of s)t(e)||(n(e)&&r.push(e),null!=e.shadowRoot?r.push(...Pe(e.shadowRoot,t,n,a,i+1)):"SLOT"===e.tagName?r.push(...o(e)):r.push(...Pe(e,t,n,a,i+1)));return r}function Le(e){return e.hasAttribute("hidden")||e.hasAttribute("aria-hidden")&&"false"!==e.getAttribute("aria-hidden")||"none"===e.style.display||"0"===e.style.opacity||"hidden"===e.style.visibility||"collapse"===e.style.visibility}function Ne(e){return"-1"!==e.getAttribute("tabindex")&&!Le(e)&&!function(e){return e.hasAttribute("disabled")||e.hasAttribute("aria-disabled")&&"false"!==e.getAttribute("aria-disabled")}(e)&&(e.hasAttribute("tabindex")||(e instanceof HTMLAnchorElement||e instanceof HTMLAreaElement)&&e.hasAttribute("href")||e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLIFrameElement)}const Fe=new Map;const Ve=document.createElement("template");Ve.innerHTML='\n\t
\n\t
\n\t\n\t
\n';class He extends HTMLElement{constructor(){super(),this.debounceId=Math.random().toString(),this._focused=!1;const e=this.attachShadow({mode:"open"});e.appendChild(Ve.content.cloneNode(!0)),this.$backup=e.querySelector("#backup"),this.$start=e.querySelector("#start"),this.$end=e.querySelector("#end"),this.focusLastElement=this.focusLastElement.bind(this),this.focusFirstElement=this.focusFirstElement.bind(this),this.onFocusIn=this.onFocusIn.bind(this),this.onFocusOut=this.onFocusOut.bind(this)}static get observedAttributes(){return["inactive"]}get inactive(){return this.hasAttribute("inactive")}set inactive(e){e?this.setAttribute("inactive",""):this.removeAttribute("inactive")}get focused(){return this._focused}connectedCallback(){this.$start.addEventListener("focus",this.focusLastElement),this.$end.addEventListener("focus",this.focusFirstElement),this.addEventListener("focusin",this.onFocusIn),this.addEventListener("focusout",this.onFocusOut),this.render()}disconnectedCallback(){this.$start.removeEventListener("focus",this.focusLastElement),this.$end.removeEventListener("focus",this.focusFirstElement),this.removeEventListener("focusin",this.onFocusIn),this.removeEventListener("focusout",this.onFocusOut)}attributeChangedCallback(){this.render()}focusFirstElement(){this.trapFocus()}focusLastElement(){this.trapFocus(!0)}getFocusableElements(){return Pe(this,Le,Ne)}trapFocus(e){if(this.inactive)return;let t=this.getFocusableElements();t.length>0?(e?t[t.length-1].focus():t[0].focus(),this.$backup.setAttribute("tabindex","-1")):(this.$backup.setAttribute("tabindex","0"),this.$backup.focus())}onFocusIn(){this.updateFocused(!0)}onFocusOut(){this.updateFocused(!1)}updateFocused(e){!function(e,t,n){const a=Fe.get(n);null!=a&&window.clearTimeout(a),Fe.set(n,window.setTimeout((()=>{e(),Fe.delete(n)}),t))}((()=>{this.focused!==e&&(this._focused=e,this.render())}),0,this.debounceId)}render(){this.$start.setAttribute("tabindex",!this.focused||this.inactive?"-1":"0"),this.$end.setAttribute("tabindex",!this.focused||this.inactive?"-1":"0"),this.focused?this.setAttribute("focused",""):this.removeAttribute("focused")}}function Be(e){return Number(e.getAttribute("data-dialog-count"))||0}function qe(e,t){e.setAttribute("data-dialog-count",t.toString())}function Ue(e=document.activeElement){return null!=e&&null!=e.shadowRoot&&null!=e.shadowRoot.activeElement?Ue(e.shadowRoot.activeElement):e}window.customElements.define("focus-trap",He);const We=document.createElement("template");We.innerHTML='\n \n
\n \n \n \n';class Ze extends HTMLElement{constructor(){super(),this.$scrollContainer=document.documentElement,this.$previousActiveElement=null;const e=this.attachShadow({mode:"open"});e.appendChild(We.content.cloneNode(!0)),this.$dialog=e.querySelector("#dialog"),this.$backdrop=e.querySelector("#backdrop"),this.onBackdropClick=this.onBackdropClick.bind(this),this.onKeyDown=this.onKeyDown.bind(this),this.setAttribute("aria-modal","true"),this.$dialog.setAttribute("role","alertdialog")}static get observedAttributes(){return["open","center"]}get open(){return this.hasAttribute("open")}set open(e){e?this.setAttribute("open",""):this.removeAttribute("open")}get center(){return this.hasAttribute("center")}set center(e){e?this.setAttribute("center",""):this.removeAttribute("center")}connectedCallback(){this.$backdrop.addEventListener("click",this.onBackdropClick)}disconnectedCallback(){this.$backdrop.removeEventListener("click",this.onBackdropClick),this.open&&this.didClose()}show(){this.open=!0}close(e){this.result=e,this.open=!1}onBackdropClick(){this.assertClosing()&&this.close()}onKeyDown(e){if("Escape"===e.code)this.assertClosing()&&(this.close(),e.stopImmediatePropagation())}assertClosing(){return this.dispatchEvent(new CustomEvent("closing",{cancelable:!0}))}didOpen(){this.$previousActiveElement=Ue(document.activeElement),requestAnimationFrame((()=>{this.$dialog.focusFirstElement()})),this.tabIndex=0,this.$scrollContainer.style.overflow="hidden",this.addEventListener("keydown",this.onKeyDown,{capture:!0,passive:!0}),qe(this.$scrollContainer,Be(this.$scrollContainer)+1),this.dispatchEvent(new CustomEvent("open"))}didClose(){this.removeEventListener("keydown",this.onKeyDown,{capture:!0}),qe(this.$scrollContainer,Math.max(0,Be(this.$scrollContainer)-1)),Be(this.$scrollContainer)<=0&&(this.$scrollContainer.style.overflow=""),this.tabIndex=-1,null!=this.$previousActiveElement&&(this.$previousActiveElement.focus(),this.$previousActiveElement=null),this.dispatchEvent(new CustomEvent("close",{detail:this.result}))}attributeChangedCallback(e,t,n){if("open"===e)this.open?this.didOpen():this.didClose()}}var Qe,Ge;function Ye(e){return e.substr(0,e.indexOf("."))}customElements.define("web-dialog",Ze),function(e){e.language="language",e.system="system",e.comma_decimal="comma_decimal",e.decimal_comma="decimal_comma",e.space_comma="space_comma",e.none="none"}(Qe||(Qe={})),function(e){e.language="language",e.system="system",e.am_pm="12",e.twenty_four="24"}(Ge||(Ge={}));var Ke,Xe,Je=["closed","locked","off"],et=function(e,t,n,a){a=a||{},n=null==n?{}:n;var i=new Event(t,{bubbles:void 0===a.bubbles||a.bubbles,cancelable:Boolean(a.cancelable),composed:void 0===a.composed||a.composed});return i.detail=n,e.dispatchEvent(i),i},tt=function(e){et(window,"haptic",e)},nt=function(e,t){return function(e,t,n){void 0===n&&(n=!0);var a,i=Ye(t),r="group"===i?"homeassistant":i;switch(i){case"lock":a=n?"unlock":"lock";break;case"cover":a=n?"open_cover":"close_cover";break;default:a=n?"turn_on":"turn_off"}return e.callService(r,a,{entity_id:t})}(e,t,Je.includes(e.states[t].state))},at=function(e,t,n,a){if(a||(a={action:"more-info"}),!a.confirmation||a.confirmation.exemptions&&a.confirmation.exemptions.some((function(e){return e.user===t.user.id}))||(tt("warning"),confirm(a.confirmation.text||"Are you sure you want to "+a.action+"?")))switch(a.action){case"more-info":(n.entity||n.camera_image)&&et(e,"hass-more-info",{entityId:n.entity?n.entity:n.camera_image});break;case"navigate":a.navigation_path&&function(e,t,n){void 0===n&&(n=!1),n?history.replaceState(null,"",t):history.pushState(null,"",t),et(window,"location-changed",{replace:n})}(0,a.navigation_path);break;case"url":a.url_path&&window.open(a.url_path);break;case"toggle":n.entity&&(nt(t,n.entity),tt("success"));break;case"perform-action":if(!a.perform_action)return void tt("failure");var i=a.perform_action.split(".",2);t.callService(i[0],i[1],a.data,a.target),tt("success");break;case"call-service":if(!a.service)return void tt("failure");var r=a.service.split(".",2);t.callService(r[0],r[1],a.data,a.target),tt("success");break;case"fire-dom-event":et(e,"ll-custom",a)}};!function(e){e.assertEqual=e=>e,e.assertIs=function(e){},e.assertNever=function(e){throw new Error},e.arrayToEnum=e=>{const t={};for(const n of e)t[n]=n;return t},e.getValidEnumValues=t=>{const n=e.objectKeys(t).filter((e=>"number"!=typeof t[t[e]])),a={};for(const e of n)a[e]=t[e];return e.objectValues(a)},e.objectValues=t=>e.objectKeys(t).map((function(e){return t[e]})),e.objectKeys="function"==typeof Object.keys?e=>Object.keys(e):e=>{const t=[];for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},e.find=(e,t)=>{for(const n of e)if(t(n))return n},e.isInteger="function"==typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"==typeof e&&isFinite(e)&&Math.floor(e)===e,e.joinValues=function(e,t=" | "){return e.map((e=>"string"==typeof e?`'${e}'`:e)).join(t)},e.jsonStringifyReplacer=(e,t)=>"bigint"==typeof t?t.toString():t}(Ke||(Ke={})),function(e){e.mergeShapes=(e,t)=>({...e,...t})}(Xe||(Xe={}));const it=Ke.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),rt=e=>{switch(typeof e){case"undefined":return it.undefined;case"string":return it.string;case"number":return isNaN(e)?it.nan:it.number;case"boolean":return it.boolean;case"function":return it.function;case"bigint":return it.bigint;case"symbol":return it.symbol;case"object":return Array.isArray(e)?it.array:null===e?it.null:e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch?it.promise:"undefined"!=typeof Map&&e instanceof Map?it.map:"undefined"!=typeof Set&&e instanceof Set?it.set:"undefined"!=typeof Date&&e instanceof Date?it.date:it.object;default:return it.unknown}},ot=Ke.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class st extends Error{constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const t=e||function(e){return e.message},n={_errors:[]},a=e=>{for(const i of e.issues)if("invalid_union"===i.code)i.unionErrors.map(a);else if("invalid_return_type"===i.code)a(i.returnTypeError);else if("invalid_arguments"===i.code)a(i.argumentsError);else if(0===i.path.length)n._errors.push(t(i));else{let e=n,a=0;for(;ae.message)){const t={},n=[];for(const a of this.issues)a.path.length>0?(t[a.path[0]]=t[a.path[0]]||[],t[a.path[0]].push(e(a))):n.push(e(a));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}}st.create=e=>new st(e);const ct=(e,t)=>{let n;switch(e.code){case ot.invalid_type:n=e.received===it.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case ot.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,Ke.jsonStringifyReplacer)}`;break;case ot.unrecognized_keys:n=`Unrecognized key(s) in object: ${Ke.joinValues(e.keys,", ")}`;break;case ot.invalid_union:n="Invalid input";break;case ot.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Ke.joinValues(e.options)}`;break;case ot.invalid_enum_value:n=`Invalid enum value. Expected ${Ke.joinValues(e.options)}, received '${e.received}'`;break;case ot.invalid_arguments:n="Invalid function arguments";break;case ot.invalid_return_type:n="Invalid function return type";break;case ot.invalid_date:n="Invalid date";break;case ot.invalid_string:"object"==typeof e.validation?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,"number"==typeof e.validation.position&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:Ke.assertNever(e.validation):n="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case ot.too_small:n="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:"date"===e.type?`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:"Invalid input";break;case ot.too_big:n="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"bigint"===e.type?`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"date"===e.type?`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:"Invalid input";break;case ot.custom:n="Invalid input";break;case ot.invalid_intersection_types:n="Intersection results could not be merged";break;case ot.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case ot.not_finite:n="Number must be finite";break;default:n=t.defaultError,Ke.assertNever(e)}return{message:n}};let lt=ct;function dt(){return lt}const ut=e=>{const{data:t,path:n,errorMaps:a,issueData:i}=e,r=[...n,...i.path||[]],o={...i,path:r};if(void 0!==i.message)return{...i,path:r,message:i.message};let s="";const c=a.filter((e=>!!e)).slice().reverse();for(const e of c)s=e(o,{data:t,defaultError:s}).message;return{...i,path:r,message:s}};function ht(e,t){const n=dt(),a=ut({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===ct?void 0:ct].filter((e=>!!e))});e.common.issues.push(a)}class pt{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(e,t){const n=[];for(const a of t){if("aborted"===a.status)return mt;"dirty"===a.status&&e.dirty(),n.push(a.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,t){const n=[];for(const e of t){const t=await e.key,a=await e.value;n.push({key:t,value:a})}return pt.mergeObjectSync(e,n)}static mergeObjectSync(e,t){const n={};for(const a of t){const{key:t,value:i}=a;if("aborted"===t.status)return mt;if("aborted"===i.status)return mt;"dirty"===t.status&&e.dirty(),"dirty"===i.status&&e.dirty(),"__proto__"===t.value||void 0===i.value&&!a.alwaysSet||(n[t.value]=i.value)}return{status:e.value,value:n}}}const mt=Object.freeze({status:"aborted"}),gt=e=>({status:"dirty",value:e}),ft=e=>({status:"valid",value:e}),_t=e=>"aborted"===e.status,vt=e=>"dirty"===e.status,yt=e=>"valid"===e.status,bt=e=>"undefined"!=typeof Promise&&e instanceof Promise;function wt(e,t,n,a){if("a"===n&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?a:"a"===n?a.call(e):a?a.value:t.get(e)}function xt(e,t,n,a,i){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?i.call(e,n):i?i.value=n:t.set(e,n),n}var Ct,Mt,kt;"function"==typeof SuppressedError&&SuppressedError,function(e){e.errToObj=e=>"string"==typeof e?{message:e}:e||{},e.toString=e=>"string"==typeof e?e:null==e?void 0:e.message}(Ct||(Ct={}));class St{constructor(e,t,n,a){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=a}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const Et=(e,t)=>{if(yt(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new st(e.common.issues);return this._error=t,this._error}}};function $t(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:a,description:i}=e;if(t&&(n||a))throw new Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');if(t)return{errorMap:t,description:i};return{errorMap:(t,i)=>{var r,o;const{message:s}=e;return"invalid_enum_value"===t.code?{message:null!=s?s:i.defaultError}:void 0===i.data?{message:null!==(r=null!=s?s:a)&&void 0!==r?r:i.defaultError}:"invalid_type"!==t.code?{message:i.defaultError}:{message:null!==(o=null!=s?s:n)&&void 0!==o?o:i.defaultError}},description:i}}class At{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return rt(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:rt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new pt,ctx:{common:e.parent.common,data:e.data,parsedType:rt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(bt(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){var n;const a={common:{issues:[],async:null!==(n=null==t?void 0:t.async)&&void 0!==n&&n,contextualErrorMap:null==t?void 0:t.errorMap},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:rt(e)},i=this._parseSync({data:e,path:a.path,parent:a});return Et(a,i)}async parseAsync(e,t){const n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){const n={common:{issues:[],contextualErrorMap:null==t?void 0:t.errorMap,async:!0},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:rt(e)},a=this._parse({data:e,path:n.path,parent:n}),i=await(bt(a)?a:Promise.resolve(a));return Et(n,i)}refine(e,t){const n=e=>"string"==typeof t||void 0===t?{message:t}:"function"==typeof t?t(e):t;return this._refinement(((t,a)=>{const i=e(t),r=()=>a.addIssue({code:ot.custom,...n(t)});return"undefined"!=typeof Promise&&i instanceof Promise?i.then((e=>!!e||(r(),!1))):!!i||(r(),!1)}))}refinement(e,t){return this._refinement(((n,a)=>!!e(n)||(a.addIssue("function"==typeof t?t(n,a):t),!1)))}_refinement(e){return new kn({schema:this,typeName:Pn.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return Sn.create(this,this._def)}nullable(){return En.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return on.create(this,this._def)}promise(){return Mn.create(this,this._def)}or(e){return ln.create([this,e],this._def)}and(e){return pn.create(this,e,this._def)}transform(e){return new kn({...$t(this._def),schema:this,typeName:Pn.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t="function"==typeof e?e:()=>e;return new $n({...$t(this._def),innerType:this,defaultValue:t,typeName:Pn.ZodDefault})}brand(){return new Tn({typeName:Pn.ZodBranded,type:this,...$t(this._def)})}catch(e){const t="function"==typeof e?e:()=>e;return new An({...$t(this._def),innerType:this,catchValue:t,typeName:Pn.ZodCatch})}describe(e){return new(0,this.constructor)({...this._def,description:e})}pipe(e){return jn.create(this,e)}readonly(){return On.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const zt=/^c[^\s-]{8,}$/i,It=/^[0-9a-z]+$/,Tt=/^[0-9A-HJKMNP-TV-Z]{26}$/,jt=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Ot=/^[a-z0-9_-]{21}$/i,Dt=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Rt=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i;let Pt;const Lt=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Nt=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,Ft=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Vt="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Ht=new RegExp(`^${Vt}$`);function Bt(e){let t="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return e.precision?t=`${t}\\.\\d{${e.precision}}`:null==e.precision&&(t=`${t}(\\.\\d+)?`),t}function qt(e){let t=`${Vt}T${Bt(e)}`;const n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function Ut(e,t){return!("v4"!==t&&t||!Lt.test(e))||!("v6"!==t&&t||!Nt.test(e))}class Wt extends At{_parse(e){this._def.coerce&&(e.data=String(e.data));if(this._getType(e)!==it.string){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.string,received:t.parsedType}),mt}const t=new pt;let n;for(const a of this._def.checks)if("min"===a.kind)e.data.lengtha.value&&(n=this._getOrReturnCtx(e,n),ht(n,{code:ot.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),t.dirty());else if("length"===a.kind){const i=e.data.length>a.value,r=e.data.lengthe.test(t)),{validation:t,code:ot.invalid_string,...Ct.errToObj(n)})}_addCheck(e){return new Wt({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...Ct.errToObj(e)})}url(e){return this._addCheck({kind:"url",...Ct.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...Ct.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...Ct.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...Ct.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...Ct.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...Ct.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...Ct.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...Ct.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...Ct.errToObj(e)})}datetime(e){var t,n;return"string"==typeof e?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision,offset:null!==(t=null==e?void 0:e.offset)&&void 0!==t&&t,local:null!==(n=null==e?void 0:e.local)&&void 0!==n&&n,...Ct.errToObj(null==e?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return"string"==typeof e?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision,...Ct.errToObj(null==e?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...Ct.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...Ct.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:null==t?void 0:t.position,...Ct.errToObj(null==t?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...Ct.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...Ct.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...Ct.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...Ct.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...Ct.errToObj(t)})}nonempty(e){return this.min(1,Ct.errToObj(e))}trim(){return new Wt({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Wt({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Wt({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((e=>"datetime"===e.kind))}get isDate(){return!!this._def.checks.find((e=>"date"===e.kind))}get isTime(){return!!this._def.checks.find((e=>"time"===e.kind))}get isDuration(){return!!this._def.checks.find((e=>"duration"===e.kind))}get isEmail(){return!!this._def.checks.find((e=>"email"===e.kind))}get isURL(){return!!this._def.checks.find((e=>"url"===e.kind))}get isEmoji(){return!!this._def.checks.find((e=>"emoji"===e.kind))}get isUUID(){return!!this._def.checks.find((e=>"uuid"===e.kind))}get isNANOID(){return!!this._def.checks.find((e=>"nanoid"===e.kind))}get isCUID(){return!!this._def.checks.find((e=>"cuid"===e.kind))}get isCUID2(){return!!this._def.checks.find((e=>"cuid2"===e.kind))}get isULID(){return!!this._def.checks.find((e=>"ulid"===e.kind))}get isIP(){return!!this._def.checks.find((e=>"ip"===e.kind))}get isBase64(){return!!this._def.checks.find((e=>"base64"===e.kind))}get minLength(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.valuea?n:a;return parseInt(e.toFixed(i).replace(".",""))%parseInt(t.toFixed(i).replace(".",""))/Math.pow(10,i)}Wt.create=e=>{var t;return new Wt({checks:[],typeName:Pn.ZodString,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t,...$t(e)})};class Qt extends At{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){this._def.coerce&&(e.data=Number(e.data));if(this._getType(e)!==it.number){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.number,received:t.parsedType}),mt}let t;const n=new pt;for(const a of this._def.checks)if("int"===a.kind)Ke.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.invalid_type,expected:"integer",received:"float",message:a.message}),n.dirty());else if("min"===a.kind){(a.inclusive?e.dataa.value:e.data>=a.value)&&(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),n.dirty())}else"multipleOf"===a.kind?0!==Zt(e.data,a.value)&&(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.not_multiple_of,multipleOf:a.value,message:a.message}),n.dirty()):"finite"===a.kind?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.not_finite,message:a.message}),n.dirty()):Ke.assertNever(a);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,Ct.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Ct.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Ct.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Ct.toString(t))}setLimit(e,t,n,a){return new Qt({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:Ct.toString(a)}]})}_addCheck(e){return new Qt({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:Ct.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:Ct.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:Ct.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:Ct.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:Ct.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Ct.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:Ct.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:Ct.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:Ct.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value"int"===e.kind||"multipleOf"===e.kind&&Ke.isInteger(e.value)))}get isFinite(){let e=null,t=null;for(const n of this._def.checks){if("finite"===n.kind||"int"===n.kind||"multipleOf"===n.kind)return!0;"min"===n.kind?(null===t||n.value>t)&&(t=n.value):"max"===n.kind&&(null===e||n.valuenew Qt({checks:[],typeName:Pn.ZodNumber,coerce:(null==e?void 0:e.coerce)||!1,...$t(e)});class Gt extends At{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){this._def.coerce&&(e.data=BigInt(e.data));if(this._getType(e)!==it.bigint){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.bigint,received:t.parsedType}),mt}let t;const n=new pt;for(const a of this._def.checks)if("min"===a.kind){(a.inclusive?e.dataa.value:e.data>=a.value)&&(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),n.dirty())}else"multipleOf"===a.kind?e.data%a.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),ht(t,{code:ot.not_multiple_of,multipleOf:a.value,message:a.message}),n.dirty()):Ke.assertNever(a);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,Ct.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Ct.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Ct.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Ct.toString(t))}setLimit(e,t,n,a){return new Gt({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:Ct.toString(a)}]})}_addCheck(e){return new Gt({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:Ct.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:Ct.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:Ct.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:Ct.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Ct.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value{var t;return new Gt({checks:[],typeName:Pn.ZodBigInt,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t,...$t(e)})};class Yt extends At{_parse(e){this._def.coerce&&(e.data=Boolean(e.data));if(this._getType(e)!==it.boolean){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.boolean,received:t.parsedType}),mt}return ft(e.data)}}Yt.create=e=>new Yt({typeName:Pn.ZodBoolean,coerce:(null==e?void 0:e.coerce)||!1,...$t(e)});class Kt extends At{_parse(e){this._def.coerce&&(e.data=new Date(e.data));if(this._getType(e)!==it.date){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.date,received:t.parsedType}),mt}if(isNaN(e.data.getTime())){return ht(this._getOrReturnCtx(e),{code:ot.invalid_date}),mt}const t=new pt;let n;for(const a of this._def.checks)"min"===a.kind?e.data.getTime()a.value&&(n=this._getOrReturnCtx(e,n),ht(n,{code:ot.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),t.dirty()):Ke.assertNever(a);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(e){return new Kt({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:Ct.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:Ct.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return null!=e?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.valuenew Kt({checks:[],coerce:(null==e?void 0:e.coerce)||!1,typeName:Pn.ZodDate,...$t(e)});class Xt extends At{_parse(e){if(this._getType(e)!==it.symbol){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.symbol,received:t.parsedType}),mt}return ft(e.data)}}Xt.create=e=>new Xt({typeName:Pn.ZodSymbol,...$t(e)});class Jt extends At{_parse(e){if(this._getType(e)!==it.undefined){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.undefined,received:t.parsedType}),mt}return ft(e.data)}}Jt.create=e=>new Jt({typeName:Pn.ZodUndefined,...$t(e)});class en extends At{_parse(e){if(this._getType(e)!==it.null){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.null,received:t.parsedType}),mt}return ft(e.data)}}en.create=e=>new en({typeName:Pn.ZodNull,...$t(e)});class tn extends At{constructor(){super(...arguments),this._any=!0}_parse(e){return ft(e.data)}}tn.create=e=>new tn({typeName:Pn.ZodAny,...$t(e)});class nn extends At{constructor(){super(...arguments),this._unknown=!0}_parse(e){return ft(e.data)}}nn.create=e=>new nn({typeName:Pn.ZodUnknown,...$t(e)});class an extends At{_parse(e){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.never,received:t.parsedType}),mt}}an.create=e=>new an({typeName:Pn.ZodNever,...$t(e)});class rn extends At{_parse(e){if(this._getType(e)!==it.undefined){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.void,received:t.parsedType}),mt}return ft(e.data)}}rn.create=e=>new rn({typeName:Pn.ZodVoid,...$t(e)});class on extends At{_parse(e){const{ctx:t,status:n}=this._processInputParams(e),a=this._def;if(t.parsedType!==it.array)return ht(t,{code:ot.invalid_type,expected:it.array,received:t.parsedType}),mt;if(null!==a.exactLength){const e=t.data.length>a.exactLength.value,i=t.data.lengtha.maxLength.value&&(ht(t,{code:ot.too_big,maximum:a.maxLength.value,type:"array",inclusive:!0,exact:!1,message:a.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map(((e,n)=>a.type._parseAsync(new St(t,e,t.path,n))))).then((e=>pt.mergeArray(n,e)));const i=[...t.data].map(((e,n)=>a.type._parseSync(new St(t,e,t.path,n))));return pt.mergeArray(n,i)}get element(){return this._def.type}min(e,t){return new on({...this._def,minLength:{value:e,message:Ct.toString(t)}})}max(e,t){return new on({...this._def,maxLength:{value:e,message:Ct.toString(t)}})}length(e,t){return new on({...this._def,exactLength:{value:e,message:Ct.toString(t)}})}nonempty(e){return this.min(1,e)}}function sn(e){if(e instanceof cn){const t={};for(const n in e.shape){const a=e.shape[n];t[n]=Sn.create(sn(a))}return new cn({...e._def,shape:()=>t})}return e instanceof on?new on({...e._def,type:sn(e.element)}):e instanceof Sn?Sn.create(sn(e.unwrap())):e instanceof En?En.create(sn(e.unwrap())):e instanceof mn?mn.create(e.items.map((e=>sn(e)))):e}on.create=(e,t)=>new on({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Pn.ZodArray,...$t(t)});class cn extends At{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;const e=this._def.shape(),t=Ke.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==it.object){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.object,received:t.parsedType}),mt}const{status:t,ctx:n}=this._processInputParams(e),{shape:a,keys:i}=this._getCached(),r=[];if(!(this._def.catchall instanceof an&&"strip"===this._def.unknownKeys))for(const e in n.data)i.includes(e)||r.push(e);const o=[];for(const e of i){const t=a[e],i=n.data[e];o.push({key:{status:"valid",value:e},value:t._parse(new St(n,i,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof an){const e=this._def.unknownKeys;if("passthrough"===e)for(const e of r)o.push({key:{status:"valid",value:e},value:{status:"valid",value:n.data[e]}});else if("strict"===e)r.length>0&&(ht(n,{code:ot.unrecognized_keys,keys:r}),t.dirty());else if("strip"!==e)throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const e=this._def.catchall;for(const t of r){const a=n.data[t];o.push({key:{status:"valid",value:t},value:e._parse(new St(n,a,n.path,t)),alwaysSet:t in n.data})}}return n.common.async?Promise.resolve().then((async()=>{const e=[];for(const t of o){const n=await t.key,a=await t.value;e.push({key:n,value:a,alwaysSet:t.alwaysSet})}return e})).then((e=>pt.mergeObjectSync(t,e))):pt.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(e){return Ct.errToObj,new cn({...this._def,unknownKeys:"strict",...void 0!==e?{errorMap:(t,n)=>{var a,i,r,o;const s=null!==(r=null===(i=(a=this._def).errorMap)||void 0===i?void 0:i.call(a,t,n).message)&&void 0!==r?r:n.defaultError;return"unrecognized_keys"===t.code?{message:null!==(o=Ct.errToObj(e).message)&&void 0!==o?o:s}:{message:s}}}:{}})}strip(){return new cn({...this._def,unknownKeys:"strip"})}passthrough(){return new cn({...this._def,unknownKeys:"passthrough"})}extend(e){return new cn({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new cn({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:Pn.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new cn({...this._def,catchall:e})}pick(e){const t={};return Ke.objectKeys(e).forEach((n=>{e[n]&&this.shape[n]&&(t[n]=this.shape[n])})),new cn({...this._def,shape:()=>t})}omit(e){const t={};return Ke.objectKeys(this.shape).forEach((n=>{e[n]||(t[n]=this.shape[n])})),new cn({...this._def,shape:()=>t})}deepPartial(){return sn(this)}partial(e){const t={};return Ke.objectKeys(this.shape).forEach((n=>{const a=this.shape[n];e&&!e[n]?t[n]=a:t[n]=a.optional()})),new cn({...this._def,shape:()=>t})}required(e){const t={};return Ke.objectKeys(this.shape).forEach((n=>{if(e&&!e[n])t[n]=this.shape[n];else{let e=this.shape[n];for(;e instanceof Sn;)e=e._def.innerType;t[n]=e}})),new cn({...this._def,shape:()=>t})}keyof(){return wn(Ke.objectKeys(this.shape))}}cn.create=(e,t)=>new cn({shape:()=>e,unknownKeys:"strip",catchall:an.create(),typeName:Pn.ZodObject,...$t(t)}),cn.strictCreate=(e,t)=>new cn({shape:()=>e,unknownKeys:"strict",catchall:an.create(),typeName:Pn.ZodObject,...$t(t)}),cn.lazycreate=(e,t)=>new cn({shape:e,unknownKeys:"strip",catchall:an.create(),typeName:Pn.ZodObject,...$t(t)});class ln extends At{_parse(e){const{ctx:t}=this._processInputParams(e),n=this._def.options;if(t.common.async)return Promise.all(n.map((async e=>{const n={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}}))).then((function(e){for(const t of e)if("valid"===t.result.status)return t.result;for(const n of e)if("dirty"===n.result.status)return t.common.issues.push(...n.ctx.common.issues),n.result;const n=e.map((e=>new st(e.ctx.common.issues)));return ht(t,{code:ot.invalid_union,unionErrors:n}),mt}));{let e;const a=[];for(const i of n){const n={...t,common:{...t.common,issues:[]},parent:null},r=i._parseSync({data:t.data,path:t.path,parent:n});if("valid"===r.status)return r;"dirty"!==r.status||e||(e={result:r,ctx:n}),n.common.issues.length&&a.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;const i=a.map((e=>new st(e)));return ht(t,{code:ot.invalid_union,unionErrors:i}),mt}}get options(){return this._def.options}}ln.create=(e,t)=>new ln({options:e,typeName:Pn.ZodUnion,...$t(t)});const dn=e=>e instanceof yn?dn(e.schema):e instanceof kn?dn(e.innerType()):e instanceof bn?[e.value]:e instanceof xn?e.options:e instanceof Cn?Ke.objectValues(e.enum):e instanceof $n?dn(e._def.innerType):e instanceof Jt?[void 0]:e instanceof en?[null]:e instanceof Sn?[void 0,...dn(e.unwrap())]:e instanceof En?[null,...dn(e.unwrap())]:e instanceof Tn||e instanceof On?dn(e.unwrap()):e instanceof An?dn(e._def.innerType):[];class un extends At{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==it.object)return ht(t,{code:ot.invalid_type,expected:it.object,received:t.parsedType}),mt;const n=this.discriminator,a=t.data[n],i=this.optionsMap.get(a);return i?t.common.async?i._parseAsync({data:t.data,path:t.path,parent:t}):i._parseSync({data:t.data,path:t.path,parent:t}):(ht(t,{code:ot.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),mt)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,n){const a=new Map;for(const n of t){const t=dn(n.shape[e]);if(!t.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const i of t){if(a.has(i))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(i)}`);a.set(i,n)}}return new un({typeName:Pn.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:a,...$t(n)})}}function hn(e,t){const n=rt(e),a=rt(t);if(e===t)return{valid:!0,data:e};if(n===it.object&&a===it.object){const n=Ke.objectKeys(t),a=Ke.objectKeys(e).filter((e=>-1!==n.indexOf(e))),i={...e,...t};for(const n of a){const a=hn(e[n],t[n]);if(!a.valid)return{valid:!1};i[n]=a.data}return{valid:!0,data:i}}if(n===it.array&&a===it.array){if(e.length!==t.length)return{valid:!1};const n=[];for(let a=0;a{if(_t(e)||_t(a))return mt;const i=hn(e.value,a.value);return i.valid?((vt(e)||vt(a))&&t.dirty(),{status:t.value,value:i.data}):(ht(n,{code:ot.invalid_intersection_types}),mt)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then((([e,t])=>a(e,t))):a(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}}pn.create=(e,t,n)=>new pn({left:e,right:t,typeName:Pn.ZodIntersection,...$t(n)});class mn extends At{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==it.array)return ht(n,{code:ot.invalid_type,expected:it.array,received:n.parsedType}),mt;if(n.data.lengththis._def.items.length&&(ht(n,{code:ot.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const a=[...n.data].map(((e,t)=>{const a=this._def.items[t]||this._def.rest;return a?a._parse(new St(n,e,n.path,t)):null})).filter((e=>!!e));return n.common.async?Promise.all(a).then((e=>pt.mergeArray(t,e))):pt.mergeArray(t,a)}get items(){return this._def.items}rest(e){return new mn({...this._def,rest:e})}}mn.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new mn({items:e,typeName:Pn.ZodTuple,rest:null,...$t(t)})};class gn extends At{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==it.object)return ht(n,{code:ot.invalid_type,expected:it.object,received:n.parsedType}),mt;const a=[],i=this._def.keyType,r=this._def.valueType;for(const e in n.data)a.push({key:i._parse(new St(n,e,n.path,e)),value:r._parse(new St(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?pt.mergeObjectAsync(t,a):pt.mergeObjectSync(t,a)}get element(){return this._def.valueType}static create(e,t,n){return new gn(t instanceof At?{keyType:e,valueType:t,typeName:Pn.ZodRecord,...$t(n)}:{keyType:Wt.create(),valueType:e,typeName:Pn.ZodRecord,...$t(t)})}}class fn extends At{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==it.map)return ht(n,{code:ot.invalid_type,expected:it.map,received:n.parsedType}),mt;const a=this._def.keyType,i=this._def.valueType,r=[...n.data.entries()].map((([e,t],r)=>({key:a._parse(new St(n,e,n.path,[r,"key"])),value:i._parse(new St(n,t,n.path,[r,"value"]))})));if(n.common.async){const e=new Map;return Promise.resolve().then((async()=>{for(const n of r){const a=await n.key,i=await n.value;if("aborted"===a.status||"aborted"===i.status)return mt;"dirty"!==a.status&&"dirty"!==i.status||t.dirty(),e.set(a.value,i.value)}return{status:t.value,value:e}}))}{const e=new Map;for(const n of r){const a=n.key,i=n.value;if("aborted"===a.status||"aborted"===i.status)return mt;"dirty"!==a.status&&"dirty"!==i.status||t.dirty(),e.set(a.value,i.value)}return{status:t.value,value:e}}}}fn.create=(e,t,n)=>new fn({valueType:t,keyType:e,typeName:Pn.ZodMap,...$t(n)});class _n extends At{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==it.set)return ht(n,{code:ot.invalid_type,expected:it.set,received:n.parsedType}),mt;const a=this._def;null!==a.minSize&&n.data.sizea.maxSize.value&&(ht(n,{code:ot.too_big,maximum:a.maxSize.value,type:"set",inclusive:!0,exact:!1,message:a.maxSize.message}),t.dirty());const i=this._def.valueType;function r(e){const n=new Set;for(const a of e){if("aborted"===a.status)return mt;"dirty"===a.status&&t.dirty(),n.add(a.value)}return{status:t.value,value:n}}const o=[...n.data.values()].map(((e,t)=>i._parse(new St(n,e,n.path,t))));return n.common.async?Promise.all(o).then((e=>r(e))):r(o)}min(e,t){return new _n({...this._def,minSize:{value:e,message:Ct.toString(t)}})}max(e,t){return new _n({...this._def,maxSize:{value:e,message:Ct.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}_n.create=(e,t)=>new _n({valueType:e,minSize:null,maxSize:null,typeName:Pn.ZodSet,...$t(t)});class vn extends At{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==it.function)return ht(t,{code:ot.invalid_type,expected:it.function,received:t.parsedType}),mt;function n(e,n){return ut({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,dt(),ct].filter((e=>!!e)),issueData:{code:ot.invalid_arguments,argumentsError:n}})}function a(e,n){return ut({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,dt(),ct].filter((e=>!!e)),issueData:{code:ot.invalid_return_type,returnTypeError:n}})}const i={errorMap:t.common.contextualErrorMap},r=t.data;if(this._def.returns instanceof Mn){const e=this;return ft((async function(...t){const o=new st([]),s=await e._def.args.parseAsync(t,i).catch((e=>{throw o.addIssue(n(t,e)),o})),c=await Reflect.apply(r,this,s),l=await e._def.returns._def.type.parseAsync(c,i).catch((e=>{throw o.addIssue(a(c,e)),o}));return l}))}{const e=this;return ft((function(...t){const o=e._def.args.safeParse(t,i);if(!o.success)throw new st([n(t,o.error)]);const s=Reflect.apply(r,this,o.data),c=e._def.returns.safeParse(s,i);if(!c.success)throw new st([a(s,c.error)]);return c.data}))}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new vn({...this._def,args:mn.create(e).rest(nn.create())})}returns(e){return new vn({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,n){return new vn({args:e||mn.create([]).rest(nn.create()),returns:t||nn.create(),typeName:Pn.ZodFunction,...$t(n)})}}class yn extends At{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}yn.create=(e,t)=>new yn({getter:e,typeName:Pn.ZodLazy,...$t(t)});class bn extends At{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return ht(t,{received:t.data,code:ot.invalid_literal,expected:this._def.value}),mt}return{status:"valid",value:e.data}}get value(){return this._def.value}}function wn(e,t){return new xn({values:e,typeName:Pn.ZodEnum,...$t(t)})}bn.create=(e,t)=>new bn({value:e,typeName:Pn.ZodLiteral,...$t(t)});class xn extends At{constructor(){super(...arguments),Mt.set(this,void 0)}_parse(e){if("string"!=typeof e.data){const t=this._getOrReturnCtx(e),n=this._def.values;return ht(t,{expected:Ke.joinValues(n),received:t.parsedType,code:ot.invalid_type}),mt}if(wt(this,Mt,"f")||xt(this,Mt,new Set(this._def.values),"f"),!wt(this,Mt,"f").has(e.data)){const t=this._getOrReturnCtx(e),n=this._def.values;return ht(t,{received:t.data,code:ot.invalid_enum_value,options:n}),mt}return ft(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return xn.create(e,{...this._def,...t})}exclude(e,t=this._def){return xn.create(this.options.filter((t=>!e.includes(t))),{...this._def,...t})}}Mt=new WeakMap,xn.create=wn;class Cn extends At{constructor(){super(...arguments),kt.set(this,void 0)}_parse(e){const t=Ke.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==it.string&&n.parsedType!==it.number){const e=Ke.objectValues(t);return ht(n,{expected:Ke.joinValues(e),received:n.parsedType,code:ot.invalid_type}),mt}if(wt(this,kt,"f")||xt(this,kt,new Set(Ke.getValidEnumValues(this._def.values)),"f"),!wt(this,kt,"f").has(e.data)){const e=Ke.objectValues(t);return ht(n,{received:n.data,code:ot.invalid_enum_value,options:e}),mt}return ft(e.data)}get enum(){return this._def.values}}kt=new WeakMap,Cn.create=(e,t)=>new Cn({values:e,typeName:Pn.ZodNativeEnum,...$t(t)});class Mn extends At{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==it.promise&&!1===t.common.async)return ht(t,{code:ot.invalid_type,expected:it.promise,received:t.parsedType}),mt;const n=t.parsedType===it.promise?t.data:Promise.resolve(t.data);return ft(n.then((e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap}))))}}Mn.create=(e,t)=>new Mn({type:e,typeName:Pn.ZodPromise,...$t(t)});class kn extends At{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Pn.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:n}=this._processInputParams(e),a=this._def.effect||null,i={addIssue:e=>{ht(n,e),e.fatal?t.abort():t.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),"preprocess"===a.type){const e=a.transform(n.data,i);if(n.common.async)return Promise.resolve(e).then((async e=>{if("aborted"===t.value)return mt;const a=await this._def.schema._parseAsync({data:e,path:n.path,parent:n});return"aborted"===a.status?mt:"dirty"===a.status||"dirty"===t.value?gt(a.value):a}));{if("aborted"===t.value)return mt;const a=this._def.schema._parseSync({data:e,path:n.path,parent:n});return"aborted"===a.status?mt:"dirty"===a.status||"dirty"===t.value?gt(a.value):a}}if("refinement"===a.type){const e=e=>{const t=a.refinement(e,i);if(n.common.async)return Promise.resolve(t);if(t instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1===n.common.async){const a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return"aborted"===a.status?mt:("dirty"===a.status&&t.dirty(),e(a.value),{status:t.value,value:a.value})}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then((n=>"aborted"===n.status?mt:("dirty"===n.status&&t.dirty(),e(n.value).then((()=>({status:t.value,value:n.value}))))))}if("transform"===a.type){if(!1===n.common.async){const e=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!yt(e))return e;const r=a.transform(e.value,i);if(r instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:r}}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then((e=>yt(e)?Promise.resolve(a.transform(e.value,i)).then((e=>({status:t.value,value:e}))):e))}Ke.assertNever(a)}}kn.create=(e,t,n)=>new kn({schema:e,typeName:Pn.ZodEffects,effect:t,...$t(n)}),kn.createWithPreprocess=(e,t,n)=>new kn({schema:t,effect:{type:"preprocess",transform:e},typeName:Pn.ZodEffects,...$t(n)});class Sn extends At{_parse(e){return this._getType(e)===it.undefined?ft(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Sn.create=(e,t)=>new Sn({innerType:e,typeName:Pn.ZodOptional,...$t(t)});class En extends At{_parse(e){return this._getType(e)===it.null?ft(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}En.create=(e,t)=>new En({innerType:e,typeName:Pn.ZodNullable,...$t(t)});class $n extends At{_parse(e){const{ctx:t}=this._processInputParams(e);let n=t.data;return t.parsedType===it.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}$n.create=(e,t)=>new $n({innerType:e,typeName:Pn.ZodDefault,defaultValue:"function"==typeof t.default?t.default:()=>t.default,...$t(t)});class An extends At{_parse(e){const{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},a=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return bt(a)?a.then((e=>({status:"valid",value:"valid"===e.status?e.value:this._def.catchValue({get error(){return new st(n.common.issues)},input:n.data})}))):{status:"valid",value:"valid"===a.status?a.value:this._def.catchValue({get error(){return new st(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}An.create=(e,t)=>new An({innerType:e,typeName:Pn.ZodCatch,catchValue:"function"==typeof t.catch?t.catch:()=>t.catch,...$t(t)});class zn extends At{_parse(e){if(this._getType(e)!==it.nan){const t=this._getOrReturnCtx(e);return ht(t,{code:ot.invalid_type,expected:it.nan,received:t.parsedType}),mt}return{status:"valid",value:e.data}}}zn.create=e=>new zn({typeName:Pn.ZodNaN,...$t(e)});const In=Symbol("zod_brand");class Tn extends At{_parse(e){const{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}}class jn extends At{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.common.async){return(async()=>{const e=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return"aborted"===e.status?mt:"dirty"===e.status?(t.dirty(),gt(e.value)):this._def.out._parseAsync({data:e.value,path:n.path,parent:n})})()}{const e=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return"aborted"===e.status?mt:"dirty"===e.status?(t.dirty(),{status:"dirty",value:e.value}):this._def.out._parseSync({data:e.value,path:n.path,parent:n})}}static create(e,t){return new jn({in:e,out:t,typeName:Pn.ZodPipeline})}}class On extends At{_parse(e){const t=this._def.innerType._parse(e),n=e=>(yt(e)&&(e.value=Object.freeze(e.value)),e);return bt(t)?t.then((e=>n(e))):n(t)}unwrap(){return this._def.innerType}}function Dn(e,t={},n){return e?tn.create().superRefine(((a,i)=>{var r,o;if(!e(a)){const e="function"==typeof t?t(a):"string"==typeof t?{message:t}:t,s=null===(o=null!==(r=e.fatal)&&void 0!==r?r:n)||void 0===o||o,c="string"==typeof e?{message:e}:e;i.addIssue({code:"custom",...c,fatal:s})}})):tn.create()}On.create=(e,t)=>new On({innerType:e,typeName:Pn.ZodReadonly,...$t(t)});const Rn={object:cn.lazycreate};var Pn;!function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"}(Pn||(Pn={}));const Ln=Wt.create,Nn=Qt.create,Fn=zn.create,Vn=Gt.create,Hn=Yt.create,Bn=Kt.create,qn=Xt.create,Un=Jt.create,Wn=en.create,Zn=tn.create,Qn=nn.create,Gn=an.create,Yn=rn.create,Kn=on.create,Xn=cn.create,Jn=cn.strictCreate,ea=ln.create,ta=un.create,na=pn.create,aa=mn.create,ia=gn.create,ra=fn.create,oa=_n.create,sa=vn.create,ca=yn.create,la=bn.create,da=xn.create,ua=Cn.create,ha=Mn.create,pa=kn.create,ma=Sn.create,ga=En.create,fa=kn.createWithPreprocess,_a=jn.create,va={string:e=>Wt.create({...e,coerce:!0}),number:e=>Qt.create({...e,coerce:!0}),boolean:e=>Yt.create({...e,coerce:!0}),bigint:e=>Gt.create({...e,coerce:!0}),date:e=>Kt.create({...e,coerce:!0})},ya=mt;var ba=Object.freeze({__proto__:null,defaultErrorMap:ct,setErrorMap:function(e){lt=e},getErrorMap:dt,makeIssue:ut,EMPTY_PATH:[],addIssueToContext:ht,ParseStatus:pt,INVALID:mt,DIRTY:gt,OK:ft,isAborted:_t,isDirty:vt,isValid:yt,isAsync:bt,get util(){return Ke},get objectUtil(){return Xe},ZodParsedType:it,getParsedType:rt,ZodType:At,datetimeRegex:qt,ZodString:Wt,ZodNumber:Qt,ZodBigInt:Gt,ZodBoolean:Yt,ZodDate:Kt,ZodSymbol:Xt,ZodUndefined:Jt,ZodNull:en,ZodAny:tn,ZodUnknown:nn,ZodNever:an,ZodVoid:rn,ZodArray:on,ZodObject:cn,ZodUnion:ln,ZodDiscriminatedUnion:un,ZodIntersection:pn,ZodTuple:mn,ZodRecord:gn,ZodMap:fn,ZodSet:_n,ZodFunction:vn,ZodLazy:yn,ZodLiteral:bn,ZodEnum:xn,ZodNativeEnum:Cn,ZodPromise:Mn,ZodEffects:kn,ZodTransformer:kn,ZodOptional:Sn,ZodNullable:En,ZodDefault:$n,ZodCatch:An,ZodNaN:zn,BRAND:In,ZodBranded:Tn,ZodPipeline:jn,ZodReadonly:On,custom:Dn,Schema:At,ZodSchema:At,late:Rn,get ZodFirstPartyTypeKind(){return Pn},coerce:va,any:Zn,array:Kn,bigint:Vn,boolean:Hn,date:Bn,discriminatedUnion:ta,effect:pa,enum:da,function:sa,instanceof:(e,t={message:`Input not instance of ${e.name}`})=>Dn((t=>t instanceof e),t),intersection:na,lazy:ca,literal:la,map:ra,nan:Fn,nativeEnum:ua,never:Gn,null:Wn,nullable:ga,number:Nn,object:Xn,oboolean:()=>Hn().optional(),onumber:()=>Nn().optional(),optional:ma,ostring:()=>Ln().optional(),pipeline:_a,preprocess:fa,promise:ha,record:ia,set:oa,strictObject:Jn,string:Ln,symbol:qn,transformer:pa,tuple:aa,undefined:Un,union:ea,unknown:Qn,void:Yn,NEVER:ya,ZodIssueCode:ot,quotelessJson:e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),ZodError:st});const wa="https://github.com/dermotduffy/frigate-hass-card",xa=`${wa}#troubleshooting`,Ca="cameras",Ma=`${Ca}.#.camera_entity`,ka=`${Ca}.#.frigate.camera_name`,Sa=`${Ca}.#.capabilities.disable`,Ea=`${Ca}.#.capabilities.disable_except`,$a=`${Ca}.#.cast.method`,Aa=`${Ca}.#.cast.dashboard.dashboard_path`,za=`${Ca}.#.cast.dashboard.view_path`,Ia=`${Ca}.#.dimensions.aspect_ratio`,Ta=`${Ca}.#.frigate.client_id`,ja=`${Ca}.#.frigate.labels`,Oa=`${Ca}.#.frigate.url`,Da=`${Ca}.#.frigate.zones`,Ra=`${Ca}.#.go2rtc.modes`,Pa=`${Ca}.#.go2rtc.stream`,La=`${Ca}.#.icon`,Na=`${Ca}.#.id`,Fa=`${Ca}.#.image.entity`,Va=`${Ca}.#.image.entity_parameters`,Ha=`${Ca}.#.image.mode`,Ba=`${Ca}.#.image.refresh_seconds`,qa=`${Ca}.#.image.url`,Ua=`${Ca}.#.motioneye.images.directory_pattern`,Wa=`${Ca}.#.motioneye.images.file_pattern`,Za=`${Ca}.#.motioneye.movies.directory_pattern`,Qa=`${Ca}.#.motioneye.movies.file_pattern`,Ga=`${Ca}.#.motioneye.url`,Ya=`${Ca}.#.title`,Ka=`${Ca}.#.webrtc_card.entity`,Xa=`${Ca}.#.webrtc_card.url`,Ja=`${Ca}.#.live_provider`,ei=`${Ca}.#.dependencies.cameras`,ti=`${Ca}.#.dependencies.all_cameras`,ni=`${Ca}.#.dimensions.layout.fit`,ai=`${Ca}.#.dimensions.layout.pan.x`,ii=`${Ca}.#.dimensions.layout.pan.y`,ri=`${Ca}.#.dimensions.layout.position.x`,oi=`${Ca}.#.dimensions.layout.position.y`,si=`${Ca}.#.dimensions.layout.view_box.top`,ci=`${Ca}.#.dimensions.layout.view_box.bottom`,li=`${Ca}.#.dimensions.layout.view_box.left`,di=`${Ca}.#.dimensions.layout.view_box.right`,ui=`${Ca}.#.dimensions.layout.zoom`,hi=`${Ca}.#.proxy.dynamic`,pi=`${Ca}.#.proxy.media`,mi=`${Ca}.#.proxy.ssl_ciphers`,gi=`${Ca}.#.proxy.ssl_verification`,fi=`${Ca}.#.reolink.media_resolution`,_i=`${Ca}.#.reolink.url`,vi=`${Ca}.#.triggers.motion`,yi=`${Ca}.#.triggers.occupancy`,bi=`${Ca}.#.triggers.entities`,wi=`${Ca}.#.triggers.events`,xi="cameras_global",Ci=`${xi}.image`,Mi=`${xi}.live_provider`,ki=`${xi}.jsmpeg`,Si=`${xi}.webrtc_card`,Ei=`${xi}.triggers.occupancy`,$i=`${xi}.image.refresh_seconds`,Ai=`${xi}.dimensions.layout`,zi=`${xi}.ptz`,Ii="elements",Ti="view",ji=`${Ti}.camera_select`,Oi=`${Ti}.dark_mode`,Di=`${Ti}.default`,Ri=`${Ti}.interaction_seconds`,Pi=`${Ti}.keyboard_shortcuts`,Li=`${Ti}.keyboard_shortcuts.enabled`,Ni=`${Pi}.ptz_left`,Fi=`${Pi}.ptz_right`,Vi=`${Pi}.ptz_up`,Hi=`${Pi}.ptz_down`,Bi=`${Pi}.ptz_zoom_in`,qi=`${Pi}.ptz_zoom_out`,Ui=`${Pi}.ptz_home`,Wi=`${Ti}.default_cycle_camera`,Zi=`${Ti}.default_reset`,Qi=`${Zi}.interaction_mode`,Gi=`${Zi}.every_seconds`,Yi=`${Zi}.entities`,Ki=`${Zi}.after_interaction`,Xi=`${Ti}.triggers`,Ji=`${Xi}.show_trigger_status`,er=`${Xi}.filter_selected_camera`,tr=`${Xi}.untrigger_seconds`,nr=`${Xi}.actions`,ar=`${nr}.trigger`,ir=`${nr}.untrigger`,rr=`${nr}.interaction_mode`,or="media_gallery",sr=`${or}.controls.filter.mode`,cr=`${or}.controls.thumbnails.show_details`,lr=`${or}.controls.thumbnails.show_download_control`,dr=`${or}.controls.thumbnails.show_favorite_control`,ur=`${or}.controls.thumbnails.show_timeline_control`,hr=`${or}.controls.thumbnails.size`,pr="media_viewer",mr=`${pr}.auto_play`,gr=`${pr}.auto_pause`,fr=`${pr}.auto_mute`,_r=`${pr}.auto_unmute`,vr=`${pr}.display.mode`,yr=`${pr}.display.grid_columns`,br=`${pr}.display.grid_max_columns`,wr=`${pr}.display.grid_selected_width_factor`,xr=`${pr}.draggable`,Cr=`${pr}.lazy_load`,Mr=`${pr}.snapshot_click_plays_clip`,kr=`${pr}.transition_effect`,Sr=`${pr}.controls.builtin`,Er=`${pr}.controls.next_previous.style`,$r=`${pr}.controls.next_previous.size`,Ar=`${pr}.controls.thumbnails.mode`,zr=`${pr}.controls.thumbnails.show_details`,Ir=`${pr}.controls.thumbnails.show_download_control`,Tr=`${pr}.controls.thumbnails.show_favorite_control`,jr=`${pr}.controls.thumbnails.show_timeline_control`,Or=`${pr}.controls.thumbnails.size`,Dr=`${pr}.controls.timeline.clustering_threshold`,Rr=`${pr}.controls.timeline.events_media_type`,Pr=`${pr}.controls.timeline.mode`,Lr=`${pr}.controls.timeline.pan_mode`,Nr=`${pr}.controls.timeline.show_recordings`,Fr=`${pr}.controls.timeline.style`,Vr=`${pr}.controls.timeline.window_seconds`,Hr=`${pr}.zoomable`,Br="live",qr=`${Br}.auto_play`,Ur=`${Br}.auto_pause`,Wr=`${Br}.auto_mute`,Zr=`${Br}.auto_unmute`,Qr=`${Br}.controls.builtin`,Gr=`${Br}.controls.next_previous.style`,Yr=`${Br}.controls.next_previous.size`,Kr=`${Br}.controls.ptz.hide_home`,Xr=`${Br}.controls.ptz.hide_pan_tilt`,Jr=`${Br}.controls.ptz.hide_zoom`,eo=`${Br}.controls.ptz.mode`,to=`${Br}.controls.ptz.orientation`,no=`${Br}.controls.ptz.position`,ao=`${Br}.controls.thumbnails.media_type`,io=`${Br}.controls.thumbnails.events_media_type`,ro=`${Br}.controls.thumbnails.mode`,oo=`${Br}.controls.thumbnails.size`,so=`${Br}.controls.thumbnails.show_details`,co=`${Br}.controls.thumbnails.show_download_control`,lo=`${Br}.controls.thumbnails.show_favorite_control`,uo=`${Br}.controls.thumbnails.show_timeline_control`,ho=`${Br}.controls.timeline.clustering_threshold`,po=`${Br}.controls.timeline.events_media_type`,mo=`${Br}.controls.timeline.mode`,go=`${Br}.controls.timeline.pan_mode`,fo=`${Br}.controls.timeline.show_recordings`,_o=`${Br}.controls.timeline.style`,vo=`${Br}.controls.timeline.window_seconds`,yo=`${Br}.display.mode`,bo=`${Br}.display.grid_columns`,wo=`${Br}.display.grid_max_columns`,xo=`${Br}.display.grid_selected_width_factor`,Co=`${Br}.draggable`,Mo=`${Br}.lazy_load`,ko=`${Br}.lazy_unload`,So=`${Br}.preload`,Eo=`${Br}.transition_effect`,$o=`${Br}.show_image_during_load`,Ao=`${Br}.microphone.disconnect_seconds`,zo=`${Br}.microphone.mute_after_microphone_mute_seconds`,Io=`${Br}.microphone.always_connected`,To=`${Br}.zoomable`,jo="image",Oo=`${jo}.entity`,Do=`${jo}.entity_parameters`,Ro=`${jo}.mode`,Po=`${jo}.refresh_seconds`,Lo=`${jo}.url`,No="timeline",Fo=`${No}.window_seconds`,Vo=`${No}.clustering_threshold`,Ho=`${No}.events_media_type`,Bo=`${No}.show_recordings`,qo=`${No}.style`,Uo=`${No}.controls.thumbnails.mode`,Wo=`${No}.controls.thumbnails.size`,Zo=`${No}.controls.thumbnails.show_details`,Qo=`${No}.controls.thumbnails.show_download_control`,Go=`${No}.controls.thumbnails.show_favorite_control`,Yo=`${No}.controls.thumbnails.show_timeline_control`,Ko="menu",Xo=`${Ko}.alignment`,Jo=`${Ko}.position`,es=`${Ko}.style`,ts=`${Ko}.button_size`,ns=`${Ko}.buttons`,as=`${ns}.frigate`,is=`${ns}.camera_ui`,rs=`${ns}.fullscreen`,os=`${ns}.play`,ss=`${ns}.mute`,cs=`${ns}.media_player`,ls=`${ns}.timeline`,ds="status_bar",us=`${ds}.position`,hs=`${ds}.style`,ps=`${ds}.popup_seconds`,ms=`${ds}.height`,gs=`${ds}.items`,fs="dimensions",_s=`${fs}.aspect_ratio`,vs=`${fs}.aspect_ratio_mode`,ys=`${fs}.height`,bs="overrides",ws="performance",xs=`${ws}.features.animated_progress_indicator`,Cs=`${ws}.features.media_chunk_size`,Ms=`${ws}.features.max_simultaneous_engine_requests`,ks=`${ws}.profile`,Ss=`${ws}.style.box_shadow`,Es=`${ws}.style.border_radius`,$s="profiles",As=1e3;class zs extends Error{constructor(e,t){super(e),this.context=t}}const Is={info:10,error:20,connection:30,diagnostics:40},Ts=["clips","favorite-events","favorite-recordings","live","menu","ptz","recordings","seek","snapshots","substream"],js=ba.object({url:ba.string(),mime_type:ba.string()}),Os=ba.object({path:ba.string()});function Ds(e){if(e instanceof ba.ZodDefault)return Ds(e.removeDefault());if(e instanceof ba.ZodObject){const t={};for(const n in e.shape){const a=e.shape[n];t[n]=ba.ZodOptional.create(Ds(a))}return new ba.ZodObject({...e._def,shape:()=>t})}return e instanceof ba.ZodArray?ba.ZodArray.create(Ds(e.element)).min(e._def.minLength?.value,e._def.minLength?.message).max(e._def.maxLength?.value,e._def.maxLength?.message).length(e._def.exactLength?.value,e._def.exactLength?.message):e instanceof ba.ZodOptional?ba.ZodOptional.create(Ds(e.unwrap())):e instanceof ba.ZodNullable?ba.ZodNullable.create(Ds(e.unwrap())):e instanceof ba.ZodTuple?ba.ZodTuple.create(e.items.map((e=>Ds(e)))):e}function Rs(e){const t=e.format();return Object.keys(t).filter((e=>!e.startsWith("_")))}const Ps=e=>{const t=new Set;if(e.issues.length)for(const n of e.issues)if("invalid_union"===n.code){const e=n.unionErrors;for(const n of e)Ps(n).forEach(t.add,t)}else t.add(Ls(n.path));return t},Ls=e=>{let t="";for(let n=0;n"fire-dom-event")).or(ba.literal("fire-dom-event")),card_id:ba.string().regex(tc,"card_id parameter can only contain [a-z][A-Z][0-9_]-").optional()}),_c=fc.extend({frigate_card_action:ba.enum(Zs)}),vc=fc.extend({frigate_card_action:ba.enum(["camera_ui","default","download","expand","fullscreen","live_substream_off","live_substream_on","menu_toggle","microphone_connect","microphone_disconnect","microphone_mute","microphone_unmute","mute","pause","play","screenshot","unmute"])}),yc=fc.extend({frigate_card_action:ba.literal("camera_select"),camera:ba.string().optional(),triggered:ba.boolean().optional()}),bc=fc.extend({frigate_card_action:ba.literal("live_substream_select"),camera:ba.string()}),wc=fc.extend({frigate_card_action:ba.literal("media_player"),media_player:ba.string(),media_player_action:ba.enum(["play","stop"])}),xc=fc.extend({frigate_card_action:ba.literal("display_mode_select"),display_mode:ic}),Cc=fc.extend({frigate_card_action:ba.literal("ptz"),camera:ba.string().optional(),ptz_action:ba.enum(Hs).optional(),ptz_phase:ba.enum(Js).optional(),ptz_preset:ba.string().optional()}),Mc=fc.extend({frigate_card_action:ba.literal("ptz_digital"),target_id:ba.string().optional(),absolute:ba.object({zoom:ac.optional(),pan:nc.optional()}).optional(),ptz_action:ba.enum(Hs).optional(),ptz_phase:ba.enum(Js).optional()}),kc=fc.extend({frigate_card_action:ba.literal("ptz_multi"),target_id:ba.string().optional(),ptz_action:ba.enum(Hs).optional(),ptz_phase:ba.enum(Js).optional(),ptz_preset:ba.string().optional()}),Sc=fc.extend({frigate_card_action:ba.literal("ptz_controls"),enabled:ba.boolean()}),Ec=ba.object({ms:ba.number().optional(),s:ba.number().optional(),m:ba.number().optional(),h:ba.number().optional()}),$c=fc.extend({frigate_card_action:ba.literal("sleep"),duration:Ec.optional().default({s:1})}),Ac=fc.extend({frigate_card_action:ba.literal("status_bar"),status_bar_action:ba.enum(["add","remove","reset"]),items:ba.lazy((()=>ol)).array().optional()}),zc=fc.extend({frigate_card_action:ba.literal("log"),message:ba.string(),level:ba.enum(["debug","info","warn","error"]).default("info")}),Ic=ba.union([yc,vc,bc,zc,wc,Cc,Mc,kc,Sc,_c,xc,$c,Ac]),Tc=ba.union([sc,dc,lc,uc,hc,pc,gc,mc,Ic]),jc=ba.object({tap_action:Tc.or(Tc.array()).optional(),hold_action:Tc.or(Tc.array()).optional(),double_tap_action:Tc.or(Tc.array()).optional(),start_tap_action:Tc.or(Tc.array()).optional(),end_tap_action:Tc.or(Tc.array()).optional()}).passthrough(),Oc=ba.object({actions:jc.optional()}),Dc=jc.extend({style:ba.record(ba.string().nullable().or(ba.undefined()).or(ba.number())).optional(),title:ba.string().nullable().optional()}),Rc=Dc.extend({type:ba.literal("state-badge"),entity:ba.string()}),Pc=Dc.extend({type:ba.literal("state-icon"),entity:ba.string(),icon:ba.string().optional(),state_color:ba.boolean().default(!0)}),Lc=Dc.extend({type:ba.literal("state-label"),entity:ba.string(),attribute:ba.string().optional(),prefix:ba.string().optional(),suffix:ba.string().optional()}),Nc=Dc.extend({type:ba.literal("service-button"),title:ba.string(),service:ba.string(),service_data:ba.object({}).passthrough().optional()}),Fc=Dc.extend({type:ba.literal("icon"),icon:ba.string(),entity:ba.string().optional()}),Vc=Dc.extend({type:ba.literal("image"),entity:ba.string().optional(),image:ba.string().optional(),camera_image:ba.string().optional(),camera_view:ba.string().optional(),state_image:ba.object({}).passthrough().optional(),filter:ba.string().optional(),state_filter:ba.object({}).passthrough().optional(),aspect_ratio:ba.string().optional()}),Hc=ba.object({condition:ba.literal("state").optional(),entity:ba.string(),state:ba.string().or(ba.string().array()).optional(),state_not:ba.string().or(ba.string().array()).optional()}),Bc=ba.object({condition:ba.literal("numeric_state"),entity:ba.string(),above:ba.number().optional(),below:ba.number().optional()}),qc=ba.object({condition:ba.literal("screen"),media_query:ba.string()}),Uc=ba.object({condition:ba.literal("user"),users:ba.string().array().min(1)}),Wc=ba.discriminatedUnion("condition",[Hc,Bc,qc,Uc]),Zc=ba.object({type:ba.literal("conditional"),conditions:Wc.array(),elements:ba.lazy((()=>yl))}),Qc=ba.object({type:ba.string().superRefine(((e,t)=>{e.match(/^custom:(?!frigate-card).+/)||t.addIssue({code:ba.ZodIssueCode.custom,message:"Frigate-card custom elements must match specific schemas",fatal:!0})}))}).passthrough(),Gc=ba.object({enabled:ba.boolean().default(!0).optional(),priority:ba.number().min(0).max(Us).default(50).optional(),alignment:ba.enum(["matching","opposing"]).default("matching").optional(),icon:ba.string().optional(),permanent:ba.boolean().default(!1).optional()}),Yc=Gc.merge(Fc).extend({type:ba.literal("custom:frigate-card-menu-icon")}),Kc=Gc.merge(Pc).extend({type:ba.literal("custom:frigate-card-menu-state-icon")}).merge(Gc),Xc=Dc.extend({entity:ba.string().optional(),icon:ba.string().optional(),state_color:ba.boolean().default(!0),selected:ba.boolean().default(!1),subtitle:ba.string().optional(),enabled:ba.boolean().default(!0)}),Jc=Gc.merge(Fc).extend({type:ba.literal("custom:frigate-card-menu-submenu"),items:Xc.array()}),el=Gc.merge(Pc).extend({type:ba.literal("custom:frigate-card-menu-submenu-select"),options:ba.record(Xc.deepPartial()).optional()}),tl=ba.object({enabled:ba.boolean().default(!0).optional(),priority:ba.number().min(0).max(100).default(50).optional()}),nl=tl.extend({sufficient:ba.boolean().default(!1).optional(),exclusive:ba.boolean().default(!1).optional(),expand:ba.boolean().default(!1).optional(),actions:jc.optional()}),al=nl.extend({type:ba.literal("custom:frigate-card-status-bar-icon"),icon:ba.string()}),il=nl.extend({type:ba.literal("custom:frigate-card-status-bar-image"),image:ba.string()}),rl=nl.extend({type:ba.literal("custom:frigate-card-status-bar-string"),string:ba.string()}),ol=ba.union([al,il,rl]),sl=ba.object({condition:ba.literal("view"),views:ba.string().array()}),cl=ba.object({condition:ba.literal("fullscreen"),fullscreen:ba.boolean()}),ll=ba.object({condition:ba.literal("expand"),expand:ba.boolean()}),dl=ba.object({condition:ba.literal("camera"),cameras:ba.string().array()}),ul=ba.object({condition:ba.literal("media_loaded"),media_loaded:ba.boolean()}),hl=ba.object({condition:ba.literal("display_mode"),display_mode:ic}),pl=ba.object({condition:ba.literal("triggered"),triggered:ba.string().array()}),ml=ba.object({condition:ba.literal("interaction"),interaction:ba.boolean()}),gl=ba.object({condition:ba.literal("microphone"),connected:ba.boolean().optional(),muted:ba.boolean().optional()}),fl=ba.object({condition:ba.literal("key"),key:ba.string(),state:ba.enum(["down","up"]).optional(),ctrl:ba.boolean().optional(),shift:ba.boolean().optional(),alt:ba.boolean().optional(),meta:ba.boolean().optional()}),_l=ba.discriminatedUnion("condition",[Hc,Bc,qc,Uc,sl,cl,ll,dl,ul,hl,pl,ml,gl,fl]),vl=ba.object({type:ba.literal("custom:frigate-card-conditional"),conditions:_l.array(),elements:ba.lazy((()=>yl))}),yl=ba.union([Zc,Qc,vl,Fc,Vc,Yc,Kc,Jc,el,Nc,Rc,Pc,Lc,al,il,rl]).array().optional(),bl=ba.object({fit:ba.enum(["contain","cover","fill"]).optional(),position:ba.object({x:ba.number().min(0).max(100).optional(),y:ba.number().min(0).max(100).optional()}).optional(),view_box:ba.object({bottom:ba.number().min(0).max(100).optional().default(0),left:ba.number().min(0).max(100).optional().default(0),right:ba.number().min(0).max(100).optional().default(0),top:ba.number().min(0).max(100).optional().default(0)}).optional(),pan:nc.optional(),zoom:ac.optional()}),wl=ba.number().array().length(2).or(ba.string().regex(/^\s*\d+\.?\d*\s*[:/]\s*\d+\.?\d*\s*$/).transform((e=>e.split(/[:\/]/).map((e=>Number(e)))))),xl={r2c_delay_between_calls_seconds:.5,c2r_delay_between_calls_seconds:.2},Cl=function(e){return t=>{if(!t||"object"!=typeof t||!t.service)return t;const n={...t};return Object.keys(t).forEach((a=>{const i=a.match(/^data_(.+)$/),r=i?.[1];r&&!(`${e}${r}`in t)&&(n[`${e}${r}`]={action:"perform-action",perform_action:t.service,data:t[a]},delete n[a],delete n.service)})),n}},Ml=ba.preprocess(Cl("actions_"),ba.object({actions_left:lc.optional(),actions_left_start:lc.optional(),actions_left_stop:lc.optional(),actions_right:lc.optional(),actions_right_start:lc.optional(),actions_right_stop:lc.optional(),actions_up:lc.optional(),actions_up_start:lc.optional(),actions_up_stop:lc.optional(),actions_down:lc.optional(),actions_down_start:lc.optional(),actions_down_stop:lc.optional(),actions_zoom_in:lc.optional(),actions_zoom_in_start:lc.optional(),actions_zoom_in_stop:lc.optional(),actions_zoom_out:lc.optional(),actions_zoom_out_start:lc.optional(),actions_zoom_out_stop:lc.optional(),r2c_delay_between_calls_seconds:ba.number().default(xl.r2c_delay_between_calls_seconds),c2r_delay_between_calls_seconds:ba.number().default(xl.c2r_delay_between_calls_seconds),presets:ba.preprocess(Cl(""),ba.union([ba.record(lc),ba.object({service:ba.string().optional()})])).optional(),service:ba.string().optional()}).passthrough()),kl={orientation:"horizontal",mode:"auto",hide_pan_tilt:!1,hide_zoom:!1,hide_home:!1,position:"bottom-right"},Sl=ba.object({mode:ba.enum(["off","auto","on"]).default(kl.mode),position:ba.enum(["top-left","top-right","bottom-left","bottom-right"]).default(kl.position),orientation:ba.enum(["vertical","horizontal"]).default(kl.orientation),hide_pan_tilt:ba.boolean().default(kl.hide_pan_tilt),hide_zoom:ba.boolean().default(kl.hide_zoom),hide_home:ba.boolean().default(kl.hide_home),style:ba.object({}).passthrough().optional()}),El={mode:"auto",refresh_seconds:1},$l=ba.object({mode:ba.enum(["auto","camera","entity","screensaver","url"]).default(El.mode),refresh_seconds:ba.number().min(0).default(El.refresh_seconds),url:ba.string().optional(),entity:ba.string().optional(),entity_parameters:ba.string().optional()}),Al=$l.merge(Oc).default(El),zl=75,Il=300,Tl={size:100,show_details:!0,show_favorite_control:!0,show_timeline_control:!0,show_download_control:!0},jl=ba.object({size:ba.number().min(75).max(300).default(Tl.size),show_details:ba.boolean().default(Tl.show_details),show_favorite_control:ba.boolean().default(Tl.show_favorite_control),show_timeline_control:ba.boolean().default(Tl.show_timeline_control),show_download_control:ba.boolean().default(Tl.show_download_control)}),Ol={...Tl,mode:"right"},Dl=jl.extend({mode:ba.enum(["none","above","below","left","right"]).default(Ol.mode)}),Rl=ba.enum(["all","clips","snapshots"]),Pl={clustering_threshold:3,events_media_type:"all",window_seconds:3600,show_recordings:!0,style:"stack",pan_mode:"pan"},Ll=ba.enum(["pan","seek","seek-in-media","seek-in-camera"]),Nl=ba.object({clustering_threshold:ba.number().optional().default(Pl.clustering_threshold),events_media_type:Rl.optional().default(Pl.events_media_type),window_seconds:ba.number().min(60).max(86400).optional().default(Pl.window_seconds),show_recordings:ba.boolean().optional().default(Pl.show_recordings),style:ba.enum(["stack","ribbon"]).optional().default(Pl.style),pan_mode:Ll.optional().default(Pl.pan_mode)}),Fl={...Pl,mode:"none",style:"ribbon"},Vl=Nl.extend({mode:ba.enum(["none","above","below"]).default(Fl.mode),style:Nl.shape.style.default(Fl.style)}),Hl={...Pl,controls:{thumbnails:Ol}},Bl=Nl.extend({controls:ba.object({thumbnails:Dl.default(Hl.controls.thumbnails)}).default(Hl.controls)}).default(Hl),ql=ba.object({style:ba.enum(["none","chevrons","icons","thumbnails"]),size:ba.number().min(20)}),Ul=ba.enum(["none","slide"]),Wl={always_connected:!1,disconnect_seconds:90,mute_after_microphone_mute_seconds:60},Zl=ba.object({always_connected:ba.boolean().default(Wl.always_connected),disconnect_seconds:ba.number().min(0).default(Wl.disconnect_seconds),mute_after_microphone_mute_seconds:ba.number().min(0).default(Wl.mute_after_microphone_mute_seconds)}).default(Wl),Ql=ba.object({url:ba.string().transform((e=>e.replace(/\/+$/,""))).optional(),host:ba.string().optional(),modes:ba.enum(["webrtc","mse","mp4","mjpeg"]).array().optional(),stream:ba.string().optional()}),Gl=ba.object({entity:ba.string().optional(),url:ba.string().optional()}).passthrough(),Yl=ba.object({options:ba.object({audio:ba.boolean().optional(),video:ba.boolean().optional(),pauseWhenHidden:ba.boolean().optional(),disableGl:ba.boolean().optional(),disableWebAssembly:ba.boolean().optional(),preserveDrawingBuffer:ba.boolean().optional(),progressive:ba.boolean().optional(),throttled:ba.boolean().optional(),chunkSize:ba.number().optional(),maxAudioLag:ba.number().optional(),videoBufferSize:ba.number().optional(),audioBufferSize:ba.number().optional()}).optional()}),Kl={...Ol,media_type:"events",events_media_type:"all"},Xl={auto_play:[...Ys],auto_pause:[],auto_mute:[...Xs],auto_unmute:["microphone"],preload:!1,lazy_load:!0,lazy_unload:[],draggable:!0,zoomable:!0,transition_effect:"slide",show_image_during_load:!0,mode:"single",controls:{builtin:!0,next_previous:{size:48,style:"chevrons"},ptz:kl,thumbnails:Kl,timeline:Fl},microphone:{...Wl}},Jl=Dl.extend({media_type:ba.enum(["events","recordings"]).default(Xl.controls.thumbnails.media_type),events_media_type:Rl.default(Xl.controls.thumbnails.events_media_type)}),ed=ba.object({auto_pause:ba.enum(Gs).array().default(Xl.auto_pause),auto_play:ba.enum(Ys).array().default(Xl.auto_play),auto_mute:ba.enum(Xs).array().default(Xl.auto_mute),auto_unmute:ba.enum(Ks).array().default(Xl.auto_unmute),controls:ba.object({builtin:ba.boolean().default(Xl.controls.builtin),next_previous:ql.extend({style:ba.enum(["none","chevrons","icons"]).default(Xl.controls.next_previous.style),size:ql.shape.size.default(Xl.controls.next_previous.size)}).default(Xl.controls.next_previous),ptz:Sl.default(Xl.controls.ptz),thumbnails:Jl.default(Xl.controls.thumbnails),timeline:Vl.default(Xl.controls.timeline)}).default(Xl.controls),display:rc,draggable:ba.boolean().default(Xl.draggable),lazy_load:ba.boolean().default(Xl.lazy_load),lazy_unload:ba.enum(Gs).array().default(Xl.lazy_unload),microphone:Zl.default(Xl.microphone),preload:ba.boolean().default(Xl.preload),show_image_during_load:ba.boolean().default(Xl.show_image_during_load),transition_effect:Ul.default(Xl.transition_effect),zoomable:ba.boolean().default(Xl.zoomable)}).merge(Oc).default(Xl),td=ba.object({live:ed}),nd=ba.object({method:ba.enum(["standard","dashboard"]).default("standard").optional(),dashboard:ba.object({dashboard_path:ba.string().optional(),view_path:ba.string().optional()}).optional()}),ad={dependencies:{all_cameras:!1,cameras:[]},engine:"auto",frigate:{client_id:"frigate"},live_provider:"auto",motioneye:{images:{directory_pattern:"%Y-%m-%d",file_pattern:"%H-%M-%S"},movies:{directory_pattern:"%Y-%m-%d",file_pattern:"%H-%M-%S"}},reolink:{media_resolution:"low"},ptz:xl,triggers:{motion:!1,occupancy:!1,events:[...ec],entities:[]},proxy:{media:"auto",dynamic:!0,ssl_verification:"auto",ssl_ciphers:"auto"}},id=ba.object({media:ba.boolean().or(ba.literal("auto")).default(ad.proxy.media),dynamic:ba.boolean().default(ad.proxy.dynamic),ssl_verification:ba.boolean().or(ba.literal("auto")).default(ad.proxy.ssl_verification),ssl_ciphers:ba.enum(["default","insecure","intermediate","modern"]).or(ba.literal("auto")).default(ad.proxy.ssl_ciphers)}),rd=ba.object({camera_entity:ba.string().optional(),icon:ba.string().optional(),title:ba.string().optional(),capabilities:ba.object({disable:ba.enum(Ts).array().optional(),disable_except:ba.enum(Ts).array().optional()}).optional(),id:ba.string().optional(),dependencies:ba.object({all_cameras:ba.boolean().default(ad.dependencies.all_cameras),cameras:ba.string().array().default(ad.dependencies.cameras)}).default(ad.dependencies),triggers:ba.object({motion:ba.boolean().default(ad.triggers.motion),occupancy:ba.boolean().default(ad.triggers.occupancy),entities:ba.string().array().default(ad.triggers.entities),events:ba.enum(ec).array().default(ad.triggers.events)}).default(ad.triggers),engine:ba.enum(["auto","frigate","generic","motioneye","reolink"]).default("auto"),frigate:ba.object({url:ba.string().optional(),client_id:ba.string().default(ad.frigate.client_id),camera_name:ba.string().optional(),labels:ba.string().array().optional(),zones:ba.string().array().optional()}).default(ad.frigate),motioneye:ba.object({url:ba.string().optional(),images:ba.object({directory_pattern:ba.string().includes("%").default(ad.motioneye.images.directory_pattern),file_pattern:ba.string().includes("%").default(ad.motioneye.images.file_pattern)}).default(ad.motioneye.images),movies:ba.object({directory_pattern:ba.string().includes("%").default(ad.motioneye.movies.directory_pattern),file_pattern:ba.string().includes("%").default(ad.motioneye.movies.file_pattern)}).default(ad.motioneye.movies)}).default(ad.motioneye),reolink:ba.object({url:ba.string().optional(),media_resolution:ba.enum(["high","low"]).default(ad.reolink.media_resolution)}).default(ad.reolink),live_provider:ba.enum(["auto","image","ha","jsmpeg","go2rtc","webrtc-card"]).default(ad.live_provider),go2rtc:Ql.optional(),image:$l.optional().default(El),jsmpeg:Yl.optional(),webrtc_card:Gl.optional(),cast:nd.optional(),ptz:Ml.default(ad.ptz),dimensions:ba.object({aspect_ratio:wl.optional(),layout:bl.optional()}).optional(),proxy:id.default(ad.proxy)}).default(ad),od=rd.array().min(1),sd={default:Qs,camera_select:"current",interaction_seconds:300,default_reset:{every_seconds:0,after_interaction:!1,entities:[],interaction_mode:"inactive"},default_cycle_camera:!1,dark_mode:"off",triggers:{show_trigger_status:!1,filter_selected_camera:!0,actions:{trigger:"update",untrigger:"none"},untrigger_seconds:0},keyboard_shortcuts:Fs},cd=ba.enum(["all","inactive","active"]).default("inactive"),ld=ba.object({actions:ba.object({interaction_mode:cd,trigger:ba.enum(["default","live","media","none","update"]).default(sd.triggers.actions.trigger),untrigger:ba.enum(["default","none"]).default(sd.triggers.actions.untrigger)}).default(sd.triggers.actions),filter_selected_camera:ba.boolean().default(sd.triggers.filter_selected_camera),show_trigger_status:ba.boolean().default(sd.triggers.show_trigger_status),untrigger_seconds:ba.number().default(sd.triggers.untrigger_seconds)}),dd=ba.object({default:ba.enum(Zs).default(sd.default),camera_select:ba.enum([...Zs,"current"]).default(sd.camera_select),interaction_seconds:ba.number().default(sd.interaction_seconds),default_cycle_camera:ba.boolean().default(sd.default_cycle_camera),default_reset:ba.object({after_interaction:ba.boolean().default(sd.default_reset.after_interaction),every_seconds:ba.number().default(sd.default_reset.every_seconds),entities:ba.string().array().default(sd.default_reset.entities),interaction_mode:cd.default(sd.default_reset.interaction_mode)}).default(sd.default_reset),render_entities:ba.string().array().optional(),dark_mode:ba.enum(["on","off","auto"]).optional(),triggers:ld.default(sd.triggers),keyboard_shortcuts:Vs.default(sd.keyboard_shortcuts)}).merge(Oc).default(sd),ud=["left","right","top","bottom"],hd=ud,pd={priority:50,enabled:!0},md={priority:50,enabled:!1},gd={alignment:"left",button_size:40,buttons:{camera_ui:pd,cameras:pd,clips:pd,ptz_home:md,display_mode:pd,download:pd,expand:md,frigate:pd,fullscreen:pd,image:md,live:pd,media_player:pd,microphone:{...md,type:"momentary"},mute:md,play:md,ptz_controls:md,recordings:md,screenshot:md,snapshots:pd,substreams:pd,timeline:pd},position:"top",style:"hidden"},fd=Gc.extend({enabled:Gc.shape.enabled.default(pd.enabled),priority:Gc.shape.priority.default(pd.priority)}),_d=Gc.extend({enabled:Gc.shape.enabled.default(md.enabled),priority:Gc.shape.priority.default(md.priority)}),vd=ba.object({style:ba.enum(["none","hidden","overlay","hover","hover-card","outside"]).default(gd.style),position:ba.enum(ud).default(gd.position),alignment:ba.enum(hd).default(gd.alignment),buttons:ba.object({camera_ui:fd.default(gd.buttons.camera_ui),cameras:fd.default(gd.buttons.cameras),clips:fd.default(gd.buttons.clips),ptz_home:_d.default(gd.buttons.ptz_home),display_mode:fd.default(gd.buttons.display_mode),download:fd.default(gd.buttons.download),expand:_d.default(gd.buttons.expand),frigate:fd.default(gd.buttons.frigate),fullscreen:fd.default(gd.buttons.fullscreen),image:_d.default(gd.buttons.image),live:fd.default(gd.buttons.live),media_player:fd.default(gd.buttons.media_player),microphone:_d.extend({type:ba.enum(["momentary","toggle"]).default(gd.buttons.microphone.type)}).default(gd.buttons.microphone),mute:_d.default(gd.buttons.mute),play:_d.default(gd.buttons.play),ptz_controls:_d.default(gd.buttons.ptz_controls),recordings:_d.default(gd.buttons.recordings),screenshot:_d.default(gd.buttons.screenshot),snapshots:fd.default(gd.buttons.snapshots),substreams:fd.default(gd.buttons.substreams),timeline:fd.default(gd.buttons.timeline)}).default(gd.buttons),button_size:ba.number().min(20).default(gd.button_size)}).default(gd),yd={priority:50,enabled:!0},bd={height:46,items:{engine:yd,resolution:yd,technology:yd,title:yd},position:"bottom",style:"popup",popup_seconds:3},wd=ba.object({position:ba.enum(["top","bottom"]).default(bd.position),style:ba.enum(["none","overlay","hover","hover-card","outside","popup"]).default(bd.style),popup_seconds:ba.number().min(0).max(60).default(bd.popup_seconds),height:ba.number().min(20).default(bd.height),items:ba.object({engine:tl.default(bd.items.engine),technology:tl.default(bd.items.technology),resolution:tl.default(bd.items.resolution),title:tl.default(bd.items.title)}).default(bd.items)}).default(bd),xd={auto_play:[...Ys],auto_pause:[...Gs],auto_mute:[...Gs],auto_unmute:[],lazy_load:!0,draggable:!0,zoomable:!0,transition_effect:"slide",snapshot_click_plays_clip:!0,display_mode:"single",controls:{builtin:!0,next_previous:{size:48,style:"thumbnails"},thumbnails:Ol,timeline:Fl,ptz:{...kl,mode:"off"}}},Cd=ql.extend({style:ba.enum(["none","thumbnails","chevrons"]).default(xd.controls.next_previous.style),size:ql.shape.size.default(xd.controls.next_previous.size)}),Md=ba.object({auto_play:ba.enum(Ys).array().default(xd.auto_play),auto_pause:ba.enum(Gs).array().default(xd.auto_pause),auto_mute:ba.enum(Gs).array().default(xd.auto_mute),auto_unmute:ba.enum(Ys).array().default(xd.auto_unmute),lazy_load:ba.boolean().default(xd.lazy_load),draggable:ba.boolean().default(xd.draggable),zoomable:ba.boolean().default(xd.zoomable),transition_effect:Ul.default(xd.transition_effect),snapshot_click_plays_clip:ba.boolean().default(xd.snapshot_click_plays_clip),display:rc,controls:ba.object({builtin:ba.boolean().default(xd.controls.builtin),next_previous:Cd.default(xd.controls.next_previous),ptz:Sl.extend({mode:ba.enum(["off","on"]).default(xd.controls.ptz.mode)}).default(xd.controls.ptz),thumbnails:Dl.default(xd.controls.thumbnails),timeline:Vl.default(xd.controls.timeline)}).default(xd.controls)}).merge(Oc).default(xd),kd={...Ol,show_details:!1},Sd={controls:{thumbnails:kd,filter:{mode:"right"}}},Ed=Dl.extend({show_details:ba.boolean().default(kd.show_details)}),$d=ba.object({controls:ba.object({thumbnails:Ed.default(Sd.controls.thumbnails),filter:ba.object({mode:ba.enum(["none","left","right"]).default(Sd.controls.filter.mode)}).default(Sd.controls.filter)}).default(Sd.controls)}).merge(Oc).default(Sd),Ad={aspect_ratio_mode:"dynamic",aspect_ratio:[16,9],height:"auto"},zd=ba.object({aspect_ratio_mode:ba.enum(["dynamic","static","unconstrained"]).default(Ad.aspect_ratio_mode),aspect_ratio:wl.default(Ad.aspect_ratio),height:ba.string().default(Ad.height)}).default(Ad),Id=ba.object({conditions:_l.array(),merge:ba.object({}).passthrough().optional(),set:ba.object({}).passthrough().optional(),delete:ba.string().array().optional()}).array().optional(),Td=Tc.array(),jd=ba.object({conditions:_l.array(),actions:Td.optional(),actions_not:Td.optional()}).refine((e=>e.actions?.length||e.actions_not?.length),"Automations must include at least one action").array(),Od={features:{animated_progress_indicator:!0,media_chunk_size:50},style:{border_radius:!0,box_shadow:!0}},Dd=ba.object({features:ba.object({animated_progress_indicator:ba.boolean().default(Od.features.animated_progress_indicator),media_chunk_size:ba.number().min(0).max(1e3).default(Od.features.media_chunk_size),max_simultaneous_engine_requests:ba.number().min(1).optional()}).default(Od.features),style:ba.object({border_radius:ba.boolean().default(Od.style.border_radius),box_shadow:ba.boolean().default(Od.style.box_shadow)}).default(Od.style)}).default(Od),Rd={logging:!1},Pd=ba.object({logging:ba.boolean().default(Rd.logging)}).default(Rd),Ld=ba.enum(["casting","low-performance","scrubbing"]).array().optional(),Nd=ba.object({cameras:Ds(od),cameras_global:rd,view:dd,menu:vd,status_bar:wd,live:ed,media_gallery:$d,media_viewer:Md,image:Al,elements:yl,dimensions:zd,timeline:Bl,performance:Dd,debug:Pd,automations:jd.optional(),profiles:Ld,overrides:Id,card_mod:ba.unknown(),card_id:ba.string().regex(tc).optional(),type:ba.string()}),Fd={cameras:ad,view:sd,menu:gd,status_bar:bd,live:Xl,media_gallery:Sd,media_viewer:xd,image:El,timeline:Hl,performance:Od,debug:Rd};function Vd(e){const t=Object.prototype.toString.call(e);return e instanceof Date||"object"==typeof e&&"[object Date]"===t?new e.constructor(+e):"number"==typeof e||"[object Number]"===t||"string"==typeof e||"[object String]"===t?new Date(e):new Date(NaN)}function Hd(e,t){return e instanceof Date?new e.constructor(t):new Date(t)}function Bd(e,t){const n=Vd(e);return isNaN(t)?Hd(e,NaN):t?(n.setDate(n.getDate()+t),n):n}function qd(e,t){const n=Vd(e);if(isNaN(t))return Hd(e,NaN);if(!t)return n;const a=n.getDate(),i=Hd(e,n.getTime());i.setMonth(n.getMonth()+t+1,0);return a>=i.getDate()?i:(n.setFullYear(i.getFullYear(),i.getMonth(),a),n)}function Ud(e,t){const{years:n=0,months:a=0,weeks:i=0,days:r=0,hours:o=0,minutes:s=0,seconds:c=0}=t,l=Vd(e),d=a||n?qd(l,a+12*n):l,u=1e3*(c+60*(s+60*o));return Hd(e,(r||i?Bd(d,r+7*i):d).getTime()+u)}const Wd=6048e5,Zd=864e5,Qd=6e4,Gd=36e5,Yd=1e3;let Kd={};function Xd(){return Kd}function Jd(e,t){const n=Xd(),a=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=Vd(e),r=i.getDay(),o=(r=i.getTime()?n+1:t.getTime()>=o.getTime()?n:n-1}function nu(e){const t=Vd(e);return t.setHours(0,0,0,0),t}function au(e){const t=Vd(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function iu(e){if(!(t=e,t instanceof Date||"object"==typeof t&&"[object Date]"===Object.prototype.toString.call(t)||"number"==typeof e))return!1;var t;const n=Vd(e);return!isNaN(Number(n))}function ru(e){return t=>{const n=(e?Math[e]:Math.trunc)(t);return 0===n?0:n}}function ou(e,t){return+Vd(e)-+Vd(t)}function su(e,t,n){const a=ou(e,t)/1e3;return ru(n?.roundingMethod)(a)}const cu={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function lu(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const du={date:lu({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:lu({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:lu({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},uu={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function hu(e){return(t,n)=>{let a;if("formatting"===(n?.context?String(n.context):"standalone")&&e.formattingValues){const t=e.defaultFormattingWidth||e.defaultWidth,i=n?.width?String(n.width):t;a=e.formattingValues[i]||e.formattingValues[t]}else{const t=e.defaultWidth,i=n?.width?String(n.width):e.defaultWidth;a=e.values[i]||e.values[t]}return a[e.argumentCallback?e.argumentCallback(t):t]}}function pu(e){return(t,n={})=>{const a=n.width,i=a&&e.matchPatterns[a]||e.matchPatterns[e.defaultMatchWidth],r=t.match(i);if(!r)return null;const o=r[0],s=a&&e.parsePatterns[a]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(s)?function(e,t){for(let n=0;ne.test(o))):function(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n;return}(s,(e=>e.test(o)));let l;l=e.valueCallback?e.valueCallback(c):c,l=n.valueCallback?n.valueCallback(l):l;return{value:l,rest:t.slice(o.length)}}}var mu;const gu={code:"en-US",formatDistance:(e,t,n)=>{let a;const i=cu[e];return a="string"==typeof i?i:1===t?i.one:i.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+a:a+" ago":a},formatLong:du,formatRelative:(e,t,n,a)=>uu[e],localize:{ordinalNumber:(e,t)=>{const n=Number(e),a=n%100;if(a>20||a<10)switch(a%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:hu({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:hu({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:e=>e-1}),month:hu({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:hu({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:hu({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})},match:{ordinalNumber:(mu={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)},(e,t={})=>{const n=e.match(mu.matchPattern);if(!n)return null;const a=n[0],i=e.match(mu.parsePattern);if(!i)return null;let r=mu.valueCallback?mu.valueCallback(i[0]):i[0];return r=t.valueCallback?t.valueCallback(r):r,{value:r,rest:e.slice(a.length)}}),era:pu({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:pu({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:e=>e+1}),month:pu({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:pu({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:pu({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function fu(e){const t=Vd(e),n=function(e,t){const n=nu(e),a=nu(t),i=+n-au(n),r=+a-au(a);return Math.round((i-r)/Zd)}(t,function(e){const t=Vd(e),n=Hd(e,0);return n.setFullYear(t.getFullYear(),0,1),n.setHours(0,0,0,0),n}(t));return n+1}function _u(e){const t=Vd(e),n=+eu(t)-+function(e){const t=tu(e),n=Hd(e,0);return n.setFullYear(t,0,4),n.setHours(0,0,0,0),eu(n)}(t);return Math.round(n/Wd)+1}function vu(e,t){const n=Vd(e),a=n.getFullYear(),i=Xd(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,o=Hd(e,0);o.setFullYear(a+1,0,r),o.setHours(0,0,0,0);const s=Jd(o,t),c=Hd(e,0);c.setFullYear(a,0,r),c.setHours(0,0,0,0);const l=Jd(c,t);return n.getTime()>=s.getTime()?a+1:n.getTime()>=l.getTime()?a:a-1}function yu(e,t){const n=Vd(e),a=+Jd(n,t)-+function(e,t){const n=Xd(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,i=vu(e,t),r=Hd(e,0);return r.setFullYear(i,0,a),r.setHours(0,0,0,0),Jd(r,t)}(n,t);return Math.round(a/Wd)+1}function bu(e,t){return(e<0?"-":"")+Math.abs(e).toString().padStart(t,"0")}const wu={y(e,t){const n=e.getFullYear(),a=n>0?n:1-n;return bu("yy"===t?a%100:a,t.length)},M(e,t){const n=e.getMonth();return"M"===t?String(n+1):bu(n+1,2)},d:(e,t)=>bu(e.getDate(),t.length),a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];default:return"am"===n?"a.m.":"p.m."}},h:(e,t)=>bu(e.getHours()%12||12,t.length),H:(e,t)=>bu(e.getHours(),t.length),m:(e,t)=>bu(e.getMinutes(),t.length),s:(e,t)=>bu(e.getSeconds(),t.length),S(e,t){const n=t.length,a=e.getMilliseconds();return bu(Math.trunc(a*Math.pow(10,n-3)),t.length)}},xu="midnight",Cu="noon",Mu="morning",ku="afternoon",Su="evening",Eu="night",$u={G:function(e,t,n){const a=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(a,{width:"abbreviated"});case"GGGGG":return n.era(a,{width:"narrow"});default:return n.era(a,{width:"wide"})}},y:function(e,t,n){if("yo"===t){const t=e.getFullYear(),a=t>0?t:1-t;return n.ordinalNumber(a,{unit:"year"})}return wu.y(e,t)},Y:function(e,t,n,a){const i=vu(e,a),r=i>0?i:1-i;if("YY"===t){return bu(r%100,2)}return"Yo"===t?n.ordinalNumber(r,{unit:"year"}):bu(r,t.length)},R:function(e,t){return bu(tu(e),t.length)},u:function(e,t){return bu(e.getFullYear(),t.length)},Q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(a);case"QQ":return bu(a,2);case"Qo":return n.ordinalNumber(a,{unit:"quarter"});case"QQQ":return n.quarter(a,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(a,{width:"narrow",context:"formatting"});default:return n.quarter(a,{width:"wide",context:"formatting"})}},q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(a);case"qq":return bu(a,2);case"qo":return n.ordinalNumber(a,{unit:"quarter"});case"qqq":return n.quarter(a,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(a,{width:"narrow",context:"standalone"});default:return n.quarter(a,{width:"wide",context:"standalone"})}},M:function(e,t,n){const a=e.getMonth();switch(t){case"M":case"MM":return wu.M(e,t);case"Mo":return n.ordinalNumber(a+1,{unit:"month"});case"MMM":return n.month(a,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(a,{width:"narrow",context:"formatting"});default:return n.month(a,{width:"wide",context:"formatting"})}},L:function(e,t,n){const a=e.getMonth();switch(t){case"L":return String(a+1);case"LL":return bu(a+1,2);case"Lo":return n.ordinalNumber(a+1,{unit:"month"});case"LLL":return n.month(a,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(a,{width:"narrow",context:"standalone"});default:return n.month(a,{width:"wide",context:"standalone"})}},w:function(e,t,n,a){const i=yu(e,a);return"wo"===t?n.ordinalNumber(i,{unit:"week"}):bu(i,t.length)},I:function(e,t,n){const a=_u(e);return"Io"===t?n.ordinalNumber(a,{unit:"week"}):bu(a,t.length)},d:function(e,t,n){return"do"===t?n.ordinalNumber(e.getDate(),{unit:"date"}):wu.d(e,t)},D:function(e,t,n){const a=fu(e);return"Do"===t?n.ordinalNumber(a,{unit:"dayOfYear"}):bu(a,t.length)},E:function(e,t,n){const a=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(a,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(a,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},e:function(e,t,n,a){const i=e.getDay(),r=(i-a.weekStartsOn+8)%7||7;switch(t){case"e":return String(r);case"ee":return bu(r,2);case"eo":return n.ordinalNumber(r,{unit:"day"});case"eee":return n.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(i,{width:"short",context:"formatting"});default:return n.day(i,{width:"wide",context:"formatting"})}},c:function(e,t,n,a){const i=e.getDay(),r=(i-a.weekStartsOn+8)%7||7;switch(t){case"c":return String(r);case"cc":return bu(r,t.length);case"co":return n.ordinalNumber(r,{unit:"day"});case"ccc":return n.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(i,{width:"narrow",context:"standalone"});case"cccccc":return n.day(i,{width:"short",context:"standalone"});default:return n.day(i,{width:"wide",context:"standalone"})}},i:function(e,t,n){const a=e.getDay(),i=0===a?7:a;switch(t){case"i":return String(i);case"ii":return bu(i,t.length);case"io":return n.ordinalNumber(i,{unit:"day"});case"iii":return n.day(a,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(a,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},a:function(e,t,n){const a=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},b:function(e,t,n){const a=e.getHours();let i;switch(i=12===a?Cu:0===a?xu:a/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(i,{width:"narrow",context:"formatting"});default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},B:function(e,t,n){const a=e.getHours();let i;switch(i=a>=17?Su:a>=12?ku:a>=4?Mu:Eu,t){case"B":case"BB":case"BBB":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(i,{width:"narrow",context:"formatting"});default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},h:function(e,t,n){if("ho"===t){let t=e.getHours()%12;return 0===t&&(t=12),n.ordinalNumber(t,{unit:"hour"})}return wu.h(e,t)},H:function(e,t,n){return"Ho"===t?n.ordinalNumber(e.getHours(),{unit:"hour"}):wu.H(e,t)},K:function(e,t,n){const a=e.getHours()%12;return"Ko"===t?n.ordinalNumber(a,{unit:"hour"}):bu(a,t.length)},k:function(e,t,n){let a=e.getHours();return 0===a&&(a=24),"ko"===t?n.ordinalNumber(a,{unit:"hour"}):bu(a,t.length)},m:function(e,t,n){return"mo"===t?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):wu.m(e,t)},s:function(e,t,n){return"so"===t?n.ordinalNumber(e.getSeconds(),{unit:"second"}):wu.s(e,t)},S:function(e,t){return wu.S(e,t)},X:function(e,t,n){const a=e.getTimezoneOffset();if(0===a)return"Z";switch(t){case"X":return zu(a);case"XXXX":case"XX":return Iu(a);default:return Iu(a,":")}},x:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"x":return zu(a);case"xxxx":case"xx":return Iu(a);default:return Iu(a,":")}},O:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+Au(a,":");default:return"GMT"+Iu(a,":")}},z:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+Au(a,":");default:return"GMT"+Iu(a,":")}},t:function(e,t,n){return bu(Math.trunc(e.getTime()/1e3),t.length)},T:function(e,t,n){return bu(e.getTime(),t.length)}};function Au(e,t=""){const n=e>0?"-":"+",a=Math.abs(e),i=Math.trunc(a/60),r=a%60;return 0===r?n+String(i):n+String(i)+t+bu(r,2)}function zu(e,t){if(e%60==0){return(e>0?"-":"+")+bu(Math.abs(e)/60,2)}return Iu(e,t)}function Iu(e,t=""){const n=e>0?"-":"+",a=Math.abs(e);return n+bu(Math.trunc(a/60),2)+t+bu(a%60,2)}const Tu=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},ju=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},Ou={p:ju,P:(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],a=n[1],i=n[2];if(!i)return Tu(e,t);let r;switch(a){case"P":r=t.dateTime({width:"short"});break;case"PP":r=t.dateTime({width:"medium"});break;case"PPP":r=t.dateTime({width:"long"});break;default:r=t.dateTime({width:"full"})}return r.replace("{{date}}",Tu(a,t)).replace("{{time}}",ju(i,t))}},Du=/^D+$/,Ru=/^Y+$/,Pu=["D","DD","YY","YYYY"];function Lu(e){return Du.test(e)}function Nu(e){return Ru.test(e)}function Fu(e,t,n){const a=function(e,t,n){const a="Y"===e[0]?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${a} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}(e,t,n);if(console.warn(a),Pu.includes(e))throw new RangeError(a)}const Vu=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Hu=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Bu=/^'([^]*?)'?$/,qu=/''/g,Uu=/[a-zA-Z]/;function Wu(e,t,n){const a=Xd(),i=n?.locale??a.locale??gu,r=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,o=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??a.weekStartsOn??a.locale?.options?.weekStartsOn??0,s=Vd(e);if(!iu(s))throw new RangeError("Invalid time value");let c=t.match(Hu).map((e=>{const t=e[0];if("p"===t||"P"===t){return(0,Ou[t])(e,i.formatLong)}return e})).join("").match(Vu).map((e=>{if("''"===e)return{isToken:!1,value:"'"};const t=e[0];if("'"===t)return{isToken:!1,value:Zu(e)};if($u[t])return{isToken:!0,value:e};if(t.match(Uu))throw new RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}}));i.localize.preprocessor&&(c=i.localize.preprocessor(s,c));const l={firstWeekContainsDate:r,weekStartsOn:o,locale:i};return c.map((a=>{if(!a.isToken)return a.value;const r=a.value;(!n?.useAdditionalWeekYearTokens&&Nu(r)||!n?.useAdditionalDayOfYearTokens&&Lu(r))&&Fu(r,t,String(e));return(0,$u[r[0]])(s,r,i.localize,l)})).join("")}function Zu(e){const t=e.match(Bu);return t?t[1].replace(qu,"'"):e}function Qu(e,t){const{years:n=0,months:a=0,weeks:i=0,days:r=0,hours:o=0,minutes:s=0,seconds:c=0}=t,l=function(e,t){return qd(e,-t)}(e,a+12*n),d=function(e,t){return Bd(e,-t)}(l,r+7*i),u=1e3*(c+60*(s+60*o));return Hd(e,d.getTime()-u)}function Gu(e,t){return e===t||e!=e&&t!=t}function Yu(e,t){for(var n=e.length;n--;)if(Gu(e[n][0],t))return n;return-1}var Ku=Array.prototype.splice;function Xu(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1},Xu.prototype.set=function(e,t){var n=this.__data__,a=Yu(n,e);return a<0?(++this.size,n.push([e,t])):n[a][1]=t,this};var Ju="object"==typeof global&&global&&global.Object===Object&&global,eh="object"==typeof self&&self&&self.Object===Object&&self,th=Ju||eh||Function("return this")(),nh=th.Symbol,ah=Object.prototype,ih=ah.hasOwnProperty,rh=ah.toString,oh=nh?nh.toStringTag:void 0;var sh=Object.prototype.toString;var ch="[object Null]",lh="[object Undefined]",dh=nh?nh.toStringTag:void 0;function uh(e){return null==e?void 0===e?lh:ch:dh&&dh in Object(e)?function(e){var t=ih.call(e,oh),n=e[oh];try{e[oh]=void 0;var a=!0}catch(e){}var i=rh.call(e);return a&&(t?e[oh]=n:delete e[oh]),i}(e):function(e){return sh.call(e)}(e)}function hh(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}var ph="[object AsyncFunction]",mh="[object Function]",gh="[object GeneratorFunction]",fh="[object Proxy]";function _h(e){if(!hh(e))return!1;var t=uh(e);return t==mh||t==gh||t==ph||t==fh}var vh,yh=th["__core-js_shared__"],bh=(vh=/[^.]+$/.exec(yh&&yh.keys&&yh.keys.IE_PROTO||""))?"Symbol(src)_1."+vh:"";var wh=Function.prototype.toString;function xh(e){if(null!=e){try{return wh.call(e)}catch(e){}try{return e+""}catch(e){}}return""}var Ch=/^\[object .+?Constructor\]$/,Mh=Function.prototype,kh=Object.prototype,Sh=Mh.toString,Eh=kh.hasOwnProperty,$h=RegExp("^"+Sh.call(Eh).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Ah(e){return!(!hh(e)||(t=e,bh&&bh in t))&&(_h(e)?$h:Ch).test(xh(e));var t}function zh(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return Ah(n)?n:void 0}var Ih=zh(th,"Map"),Th=zh(Object,"create");var jh=Object.prototype.hasOwnProperty;var Oh=Object.prototype.hasOwnProperty;function Dh(e){var t=-1,n=null==e?0:e.length;for(this.clear();++ts))return!1;var l=r.get(e),d=r.get(t);if(l&&d)return l==t&&d==e;var u=-1,h=!0,p=n&Bh?new Nh:void 0;for(r.set(e,t),r.set(t,e);++u-1&&e%1==0&&e-1&&e%1==0&&e<=Ap}var Ip={};function Tp(e){return function(t){return e(t)}}Ip["[object Float32Array]"]=Ip["[object Float64Array]"]=Ip["[object Int8Array]"]=Ip["[object Int16Array]"]=Ip["[object Int32Array]"]=Ip["[object Uint8Array]"]=Ip["[object Uint8ClampedArray]"]=Ip["[object Uint16Array]"]=Ip["[object Uint32Array]"]=!0,Ip["[object Arguments]"]=Ip["[object Array]"]=Ip["[object ArrayBuffer]"]=Ip["[object Boolean]"]=Ip["[object DataView]"]=Ip["[object Date]"]=Ip["[object Error]"]=Ip["[object Function]"]=Ip["[object Map]"]=Ip["[object Number]"]=Ip["[object Object]"]=Ip["[object RegExp]"]=Ip["[object Set]"]=Ip["[object String]"]=Ip["[object WeakMap]"]=!1;var jp="object"==typeof exports&&exports&&!exports.nodeType&&exports,Op=jp&&"object"==typeof module&&module&&!module.nodeType&&module,Dp=Op&&Op.exports===jp&&Ju.process,Rp=function(){try{var e=Op&&Op.require&&Op.require("util").types;return e||Dp&&Dp.binding&&Dp.binding("util")}catch(e){}}(),Pp=Rp,Lp=Pp&&Pp.isTypedArray,Np=Lp?Tp(Lp):function(e){return fp(e)&&zp(e.length)&&!!Ip[uh(e)]},Fp=Object.prototype.hasOwnProperty;function Vp(e,t){var n=dp(e),a=!n&&wp(e),i=!n&&!a&&kp(e),r=!n&&!a&&!i&&Np(e),o=n||a||i||r,s=o?function(e,t){for(var n=-1,a=Array(e);++n0){if(++og>=800)return arguments[0]}else og=0;return rg.apply(void 0,arguments)});function lg(e,t){return cg(function(e,t,n){return t=tg(void 0===t?e.length-1:t,0),function(){for(var a=arguments,i=-1,r=tg(a.length-t,0),o=Array(r);++i1?n[i-1]:void 0,o=i>2?n[2]:void 0;for(r=e.length>3&&"function"==typeof r?(i--,r):void 0,o&&dg(n[0],n[1],o)&&(r=i<3?void 0:r,i=1),t=Object(t);++a-1}function Ng(e,t,n){for(var a=-1,i=null==e?0:e.length;++a=Vg){var l=t?null:Fg(e);if(l)return Zh(l);o=!1,i=Vh,c=new Nh}else c=t?[]:s;e:for(;++ae[0].toUpperCase()+e.substring(1))).join(" ")}function Ug(e,t,n){const a=e[t];return e.splice(t,1),e.splice(n,0,a),e}const Wg=e=>Array.isArray(e)?e:[e],Zg=e=>e instanceof Set?e:new Set(Wg(e));function Qg(e,t,n){return!function(e,t,n){var a=(n="function"==typeof n?n:void 0)?n(e,t):void 0;return void 0===a?bm(e,t,void 0,n):!!a}(e,t,n)}function Gg(e,t=console.warn){e instanceof zs&&e.context?t(e,e.context):t("object"==typeof e&&"message"in e?e.message:e)}const Yg=()=>window.matchMedia("(hover: hover) and (pointer: fine)").matches,Kg=(e,t)=>Wu(e,"yyyy-MM-dd HH:mm"+(t?":ss":"")),Xg=e=>Wu(e,"yyyy-MM-dd"),Jg=(e,t)=>{window.requestIdleCallback?window.requestIdleCallback(e,{...t&&{timeout:t}}):e()};function ef(e,t){const n=function(e,t,n){const a=ou(e,t)/Gd;return ru(n?.roundingMethod)(a)}(t,e),a=function(e,t,n){const a=ou(e,t)/Qd;return ru(n?.roundingMethod)(a)}(t,e)-60*n;let i="";return n&&(i+=`${n}h `),a&&(i+=`${a}m `),i+=`${su(t,e)-60*n*60-60*a}s`,i}const tf=async(e,t)=>await Promise.all(Array.from(e).map((e=>t(e)))),nf=e=>new Date(`${e}T00:00:00`),af=async e=>{await new Promise((t=>setTimeout(t,1e3*e)))},rf=e=>!isNaN(e.getTime()),of=(e,t,n,a)=>{t?e.setAttribute(n,a??""):e.removeAttribute(n)},sf=e=>!!e,cf=e=>e instanceof HTMLElement,lf=e=>(e instanceof HTMLSlotElement?e.assignedElements({flatten:!0}):[...e.children]).filter(cf),df=e=>e?.ratio&&2===e.ratio.length?`${e.ratio[0]} / ${e.ratio[1]}`:e?.defaultStatic?"16 / 9":"auto",uf=e=>({"aspect-ratio":df(e)}),hf=e=>{if(Array.isArray(e))return e.filter((e=>void 0!==e)).map((e=>hf(e)));if("object"==typeof e&&null!==e){const t={};for(const n in e)t[n]=hf(e[n]);return t}return e},pf=(e,t,n)=>Rg(e,n)===Rg(t,n);function mf(e){if(!e)return null;const t=Ic.safeParse(e);return t.success?t.data:null}function gf(e,t){return{action:"fire-dom-event",frigate_card_action:e,...t?.cardID&&{card_id:t.cardID}}}function ff(e,t,n){return{action:"fire-dom-event",frigate_card_action:e,camera:t,...n?.cardID&&{card_id:n.cardID}}}function _f(e,t,n){return{action:"fire-dom-event",frigate_card_action:"media_player",media_player:e,media_player_action:t,...n?.cardID&&{card_id:n.cardID}}}function vf(e){return{action:"fire-dom-event",frigate_card_action:"ptz_multi",...e?.cardID&&{card_id:e.cardID},...e?.ptzAction&&{ptz_action:e.ptzAction},...e?.ptzPhase&&{ptz_phase:e.ptzPhase},...e?.ptzPreset&&{ptz_preset:e.ptzPreset},...e?.targetID&&{target_id:e.targetID}}}function yf(e,t){return e&&t?"tap"===e&&t.tap_action?t.tap_action:"hold"===e&&t.hold_action?t.hold_action:"double_tap"===e&&t.double_tap_action?t.double_tap_action:"end_tap"===e&&t.end_tap_action?t.end_tap_action:"start_tap"===e&&t.start_tap_action?t.start_tap_action:null:null}const bf=e=>Wg(e).some((e=>function(e){return void 0!==e&&"none"!==e.action}(e))),wf=e=>{e.stopPropagation()};class xf{constructor(){this._timer=null,this._repeated=!1}stop(){this._timer&&(this._repeated?window.clearInterval(this._timer):window.clearTimeout(this._timer),this._timer=null)}isRunning(){return null!==this._timer}start(e,t){this.stop(),this._timer=window.setTimeout((()=>{this._timer=null,t()}),1e3*e),this._repeated=!1}startRepeated(e,t){this.stop(),this._timer=window.setInterval((()=>{t()}),1e3*e),this._repeated=!0}}class Cf extends HTMLElement{constructor(){super(...arguments),this.holdTime=.4,this.holdTimer=new xf,this.doubleClickTimer=new xf,this.held=!1,this.started=!1}connectedCallback(){["touchcancel","mouseout","mouseup","touchmove","mousewheel","wheel","scroll"].forEach((e=>{document.addEventListener(e,(()=>{this.holdTimer.stop()}),{passive:!0})}))}bind(e,t){if(e.actionHandlerOptions)return void(e.actionHandlerOptions=t);e.actionHandlerOptions=t,e.addEventListener("contextmenu",(e=>{const t=e||window.event;return t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.cancelBubble=!0,t.returnValue=!1,!1}));const n=()=>{this.held=!1,this.holdTimer.start(this.holdTime,(()=>{this.held=!0})),this.started||(this.started=!0,et(e,"action",{action:"start_tap"}))},a=t=>{this.holdTimer.stop(),this.started&&(this.started=!1,et(e,"action",{action:"end_tap"}))},i=t=>{const n=e.actionHandlerOptions;n?.allowPropagation||wf(t),["touchend","touchcancel"].includes(t.type)&&!this.held||(a(),n?.hasHold&&this.held?et(e,"action",{action:"hold"}):n?.hasDoubleClick?"click"===t.type&&t.detail<2||!this.doubleClickTimer.isRunning()?this.doubleClickTimer.start(.25,(()=>et(e,"action",{action:"tap"}))):(this.doubleClickTimer.stop(),et(e,"action",{action:"double_tap"})):et(e,"action",{action:"tap"}))};e.addEventListener("touchstart",n,{passive:!0}),e.addEventListener("touchend",i),e.addEventListener("touchcancel",i),e.addEventListener("mousedown",n,{passive:!0}),e.addEventListener("click",i),e.addEventListener("keyup",(e=>{"Enter"===e.key&&i(e)})),e.addEventListener("mouseleave",a)}}customElements.define("action-handler-frigate-card",Cf);const Mf=(e,t)=>{const n=(()=>{const e=document.body;if(e.querySelector("action-handler-frigate-card"))return e.querySelector("action-handler-frigate-card");const t=document.createElement("action-handler-frigate-card");return e.appendChild(t),t})();n&&n.bind(e,t)},kf=ge(class extends fe{update(e,[t]){return Mf(e.element,t),U}render(e){}});var Sf=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)lp(t,gp(e)),e=Pm(e);return t}:hp;function Ef(e){return up(e,Km,Sf)}var $f=Object.prototype.hasOwnProperty;var Af=/\w*$/;var zf=nh?nh.prototype:void 0,If=zf?zf.valueOf:void 0;var Tf="[object Boolean]",jf="[object Date]",Of="[object Map]",Df="[object Number]",Rf="[object RegExp]",Pf="[object Set]",Lf="[object String]",Nf="[object Symbol]",Ff="[object ArrayBuffer]",Vf="[object DataView]",Hf="[object Float32Array]",Bf="[object Float64Array]",qf="[object Int8Array]",Uf="[object Int16Array]",Wf="[object Int32Array]",Zf="[object Uint8Array]",Qf="[object Uint8ClampedArray]",Gf="[object Uint16Array]",Yf="[object Uint32Array]";function Kf(e,t,n){var a,i,r,o=e.constructor;switch(t){case Ff:return Tm(e);case Tf:case jf:return new o(+e);case Vf:return function(e,t){var n=t?Tm(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case Hf:case Bf:case qf:case Uf:case Wf:case Zf:case Qf:case Gf:case Yf:return jm(e,n);case Of:return new o;case Df:case Lf:return new o(e);case Rf:return(r=new(i=e).constructor(i.source,Af.exec(i))).lastIndex=i.lastIndex,r;case Pf:return new o;case Nf:return a=e,If?Object(If.call(a)):{}}}var Xf=Pp&&Pp.isMap,Jf=Xf?Tp(Xf):function(e){return fp(e)&&"[object Map]"==pm(e)};var e_=Pp&&Pp.isSet,t_=e_?Tp(e_):function(e){return fp(e)&&"[object Set]"==pm(e)},n_=1,a_=2,i_=4,r_="[object Arguments]",o_="[object Function]",s_="[object GeneratorFunction]",c_="[object Object]",l_={};function d_(e,t,n,a,i,r){var o,s=t&n_,c=t&a_,l=t&i_;if(n&&(o=i?n(e,a,i,r):n(e)),void 0!==o)return o;if(!hh(e))return e;var d=dp(e);if(d){if(o=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&$f.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!s)return Om(e,o)}else{var u=pm(e),h=u==o_||u==s_;if(kp(e))return Im(e,s);if(u==c_||u==r_||h&&!i){if(o=c||h?{}:Lm(e),!s)return c?function(e,t){return Qm(e,Sf(e),t)}(e,function(e,t){return e&&Qm(t,Km(t),e)}(o,e)):function(e,t){return Qm(e,gp(e),t)}(e,function(e,t){return e&&Qm(t,Qp(t),e)}(o,e))}else{if(!l_[u])return i?e:{};o=Kf(e,u,s)}}r||(r=new Lh);var p=r.get(e);if(p)return p;r.set(e,o),t_(e)?e.forEach((function(a){o.add(d_(a,t,n,a,e,r))})):Jf(e)&&e.forEach((function(a,i){o.set(i,d_(a,t,n,i,e,r))}));var m=d?void 0:(l?c?Ef:Gp:c?Km:Qp)(e);return function(e,t){for(var n=-1,a=null==e?0:e.length;++nvoid 0===globalThis.DOMException?new __(e):new DOMException(e),y_=e=>{const t=void 0===e.reason?v_("This operation was aborted."):e.reason;return t instanceof Error?t:v_(t)};class b_{#e=[];enqueue(e,t){const n={priority:(t={priority:0,...t}).priority,run:e};if(this.size&&this.#e[this.size-1].priority>=t.priority)return void this.#e.push(n);const a=function(e,t,n){let a=0,i=e.length;for(;i>0;){const r=Math.trunc(i/2);let o=a+r;n(e[o],t)<=0?(a=++o,i-=r+1):i=r}return a}(this.#e,n,((e,t)=>t.priority-e.priority));this.#e.splice(a,0,n)}dequeue(){const e=this.#e.shift();return e?.run}filter(e){return this.#e.filter((t=>t.priority===e.priority)).map((e=>e.run))}get size(){return this.#e.length}}class w_ extends g_{#t;#n;#a=0;#i;#r;#o=0;#s;#c;#e;#l;#d=0;#u;#h;#p;timeout;constructor(e){if(super(),!("number"==typeof(e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:b_,...e}).intervalCap&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(void 0===e.interval||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#t=e.carryoverConcurrencyCount,this.#n=e.intervalCap===Number.POSITIVE_INFINITY||0===e.interval,this.#i=e.intervalCap,this.#r=e.interval,this.#e=new e.queueClass,this.#l=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#p=!0===e.throwOnTimeout,this.#h=!1===e.autoStart}get#m(){return this.#n||this.#a{this.#v()}),t)),!0;this.#a=this.#t?this.#d:0}return!1}#_(){if(0===this.#e.size)return this.#s&&clearInterval(this.#s),this.#s=void 0,this.emit("empty"),0===this.#d&&this.emit("idle"),!1;if(!this.#h){const e=!this.#w;if(this.#m&&this.#g){const t=this.#e.dequeue();return!!t&&(this.emit("active"),t(),e&&this.#b(),!0)}}return!1}#b(){this.#n||void 0!==this.#s||(this.#s=setInterval((()=>{this.#y()}),this.#r),this.#o=Date.now()+this.#r)}#y(){0===this.#a&&0===this.#d&&this.#s&&(clearInterval(this.#s),this.#s=void 0),this.#a=this.#t?this.#d:0,this.#x()}#x(){for(;this.#_(););}get concurrency(){return this.#u}set concurrency(e){if(!("number"==typeof e&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#u=e,this.#x()}async#C(e){return new Promise(((t,n)=>{e.addEventListener("abort",(()=>{n(e.reason)}),{once:!0})}))}async add(e,t={}){return t={timeout:this.timeout,throwOnTimeout:this.#p,...t},new Promise(((n,a)=>{this.#e.enqueue((async()=>{this.#d++,this.#a++;try{t.signal?.throwIfAborted();let a=e({signal:t.signal});t.timeout&&(a=function(e,t){const{milliseconds:n,fallback:a,message:i,customTimers:r={setTimeout:setTimeout,clearTimeout:clearTimeout}}=t;let o;const s=new Promise(((s,c)=>{if("number"!=typeof n||1!==Math.sign(n))throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${n}\``);if(t.signal){const{signal:e}=t;e.aborted&&c(y_(e)),e.addEventListener("abort",(()=>{c(y_(e))}))}if(n===Number.POSITIVE_INFINITY)return void e.then(s,c);const l=new f_;o=r.setTimeout.call(void 0,(()=>{if(a)try{s(a())}catch(e){c(e)}else"function"==typeof e.cancel&&e.cancel(),!1===i?s():i instanceof Error?c(i):(l.message=i??`Promise timed out after ${n} milliseconds`,c(l))}),n),(async()=>{try{s(await e)}catch(e){c(e)}})()})),c=s.finally((()=>{c.clear()}));return c.clear=()=>{r.clearTimeout.call(void 0,o),o=void 0},c}(Promise.resolve(a),{milliseconds:t.timeout})),t.signal&&(a=Promise.race([a,this.#C(t.signal)]));const i=await a;n(i),this.emit("completed",i)}catch(e){if(e instanceof f_&&!t.throwOnTimeout)return void n();a(e),this.emit("error",e)}finally{this.#f()}}),t),this.emit("add"),this.#_()}))}async addAll(e,t){return Promise.all(e.map((async e=>this.add(e,t))))}start(){return this.#h?(this.#h=!1,this.#x(),this):this}pause(){this.#h=!0}clear(){this.#e=new this.#l}async onEmpty(){0!==this.#e.size&&await this.#M("empty")}async onSizeLessThan(e){this.#e.sizethis.#e.size{const a=()=>{t&&!t()||(this.off(e,a),n())};this.on(e,a)}))}get size(){return this.#e.size}sizeBy(e){return this.#e.filter(e).length}get pending(){return this.#d}get isPaused(){return this.#h}}var x_={frigate_card:"Frigate card",frigate_card_description:"A Lovelace card for use with Frigate",live:"Live",no_media:"No media to display",recordings:"Recordings",version:"Version"},C_={cameras:{camera_entity:"Camera Entity",capabilities:{capabilities:{clips:"Clips","favorite-events":"Favorite Events","favorite-recordings":"Favorite Recordings",live:"Live",menu:"Menu",ptz:"PTZ",recordings:"Recordings",seek:"Seeking",snapshots:"Snapshots",substream:"Substream"},disable:"Disable",disable_except:"Disable except",editor_label:"Camera capabilities"},cast:{dashboard:{dashboard_path:"Dashboard path",view_path:"View path"},editor_label:"Cast options",method:"Cast method",methods:{dashboard:"Dashboard",standard:"Standard"}},dependencies:{all_cameras:"Show events for all cameras with this camera",cameras:"Show events for specific cameras with this camera",editor_label:"Dependency options"},dimensions:{aspect_ratio:"Static aspect ratio",editor_label:"Camera dimensions",layout:{editor_label:"Camera Layout",fit:"Layout fit",fits:{contain:"Media is contained/letterboxed",cover:"Media expands proportionally to cover the card",fill:"Media is stretched to fill the card"},pan:{x:"Pan horizontal percentage",y:"Pan vertical percentage"},position:{editor_label:"Layout Cover Position",x:"Horizontal placement percentage",y:"Vertical placement percentage"},view_box:{bottom:"Bottom inset percentage",editor_label:"Layout View Box",left:"Left inset percentage",right:"Right inset percentage",top:"Top inset percentage"},zoom:"Zoom factor"}},engines:{editor_label:"Camera engine options"},frigate:{camera_name:"Frigate camera name (Autodetected from entity)",client_id:"Frigate client id (For >1 Frigate server)",editor_label:"Frigate options",labels:"Frigate labels/object filters",url:"Frigate server URL",zones:"Frigate zones"},go2rtc:{editor_label:"go2rtc Options",modes:{editor_label:"go2rtc Modes",mjpeg:"Motion JPEG (MJPEG)",mp4:"MPEG-4 (MP4)",mse:"Media Source Extensions (MSE)",webrtc:"Web Real-Time Communication (WebRTC)"},stream:"go2rtc stream name"},icon:"Icon for this camera (Autodetected from entity)",id:"Unique id for this camera in this card",image:{editor_label:"Image Options",refresh_seconds:"Number of seconds after which to refresh live image (0=never)",url:"Image URL to use instead of camera entity snapshot"},live_provider:"Live view provider for this camera",live_provider_options:{editor_label:"Live provider options"},live_providers:{auto:"Automatic",go2rtc:"go2rtc",ha:"Home Assistant video stream (i.e. HLS, LL-HLS, WebRTC via HA)",image:"Home Assistant images",jsmpeg:"JSMpeg","webrtc-card":"WebRTC Card (i.e. AlexxIT's WebRTC Card)"},motioneye:{editor_label:"MotionEye options",images:{directory_pattern:"Images directory pattern",file_pattern:"Images file pattern"},movies:{directory_pattern:"Movies directory pattern",file_pattern:"Movies file pattern"},url:"MotionEye UI URL"},proxy:{dynamic:"Dynamic proxying",editor_label:"Camera proxying",media:{auto:"Media proxying automatically configured",editor_label:"Media proxying",false:"Media proxying disabled",true:"Media proxying enabled"},ssl_ciphers:{auto:"SSL ciphers automatically configured",default:"Default SSL ciphers",editor_label:"SSL ciphers",insecure:"Insecure SSL ciphers",intermediate:"Intermediate SSL ciphers",modern:"Modern SSL ciphers"},ssl_verification:{auto:"SSL verification automatically configured",editor_label:"SSL verification",false:"SSL verification disabled",true:"SSL verification enabled"}},reolink:{editor_label:"Reolink options",media_resolution:{editor_label:"Media Resolution",high:"High Resolution",low:"Low Resolution"},url:"Reolink UI URL"},title:"Title for this camera (Autodetected from entity)",triggers:{editor_label:"Trigger options",entities:"Trigger from other entities",events:{clips:"Events with new clips",editor_label:"Trigger Events",events:"All events",snapshots:"Events with new snapshots"},motion:"Trigger by auto-detecting the motion sensor",occupancy:"Trigger by auto-detecting the occupancy sensor"},webrtc_card:{editor_label:"WebRTC Card Options",entity:"WebRTC Card Camera Entity (Not a Frigate camera)",url:"WebRTC Card Camera URL"}},common:{controls:{builtin:"Built-in video controls",filter:{editor_label:"Media Filter",mode:"Filter mode",modes:{left:"Media filter in a drawer to the left",none:"No media filter",right:"Media filter in a drawer to the right"}},next_previous:{editor_label:"Next & Previous",size:"Next & previous control size in pixels",style:"Next & previous control style",styles:{chevrons:"Chevrons",icons:"Icons",none:"None",thumbnails:"Thumbnails"}},thumbnails:{editor_label:"Thumbnails",events_media_type:"Whether to show event thumbnails of clips or snapshots",events_media_types:{clips:"Clip thumbnails",snapshots:"Snapshot thumbnails"},media_type:"Whether to show thumnails of events or recordings",media_types:{events:"Events",recordings:"Recordings"},mode:"Thumbnails mode",modes:{above:"Thumbnails above",below:"Thumbnails below",left:"Thumbnails in a drawer to the left",none:"No thumbnails",right:"Thumbnails in a drawer to the right"},show_details:"Show details with thumbnails",show_download_control:"Show download control on thumbnails",show_favorite_control:"Show favorite control on thumbnails",show_timeline_control:"Show timeline control on thumbnails",size:"Thumbnails size in pixels"},timeline:{editor_label:"Mini Timeline",mode:"Mode",modes:{above:"Above",below:"Below",none:"None"},pan_mode:"Default pan mode",pan_modes:{pan:"Pan",seek:"Pan seeks across all media","seek-in-camera":"Pan seeks within selected camera only","seek-in-media":"Pan seeks within selected media item only"}}},display:{editor_label:"Display",grid_columns:"Exact number of grid columns",grid_max_columns:"Maximum number of grid columns",grid_selected_width_factor:"Increase selected media width by this factor",mode:"Mode"},image:{entity:"Entity for use with entity mode",entity_parameters:"Query parameters added to the entity-based picture URLs (e.g. width=1920&height=1080)",mode:"Image mode",modes:{camera:"Home Assistant camera snapshot of camera entity",entity:"Entity with entity_picture attribute",screensaver:"Embedded Frigate logo",url:"Arbitrary image specified by URL"},refresh_seconds:"Number of seconds after which to refresh (0=never)",url:"Static image URL"},media_action_conditions:{all:"All opportunities",hidden:"On browser/tab hiding",microphone_mute:"On microphone mute",microphone_unmute:"On microphone unmute",never:"Never",selected:"On selection",unselected:"On unselection",visible:"On browser/tab visibility"},timeline:{clustering_threshold:"The count of events at which they are clustered (0=no clustering)",events_media_type:"The events media the timeline displays",events_media_types:{all:"All event media types",clips:"Clips",snapshots:"Snapshots"},show_recordings:"Show recordings",style:"Timeline style",styles:{ribbon:"Events on a single ribbon",stack:"Stacked & clustered events"},window_seconds:"The default length of the timeline view in seconds"}},dimensions:{aspect_ratio:"Default aspect ratio (e.g. '16:9')",aspect_ratio_mode:"Aspect ratio mode",aspect_ratio_modes:{dynamic:"Aspect ratio adjusts to media",static:"Static aspect ratio",unconstrained:"Unconstrained aspect ratio"},height:"Card height in CSS units (e.g. '500px')"},live:{auto_mute:"Automatically mute live cameras",auto_pause:"Automatically pause live cameras",auto_play:"Automatically play live cameras",auto_unmute:"Automatically unmute live cameras",controls:{editor_label:"Live Controls",ptz:{editor_label:"PTZ",hide_home:"Hide home control",hide_pan_tilt:"Hide pan & tilt control",hide_zoom:"Hide zoom control",mode:"Mode",modes:{off:"Off",on:"On"},orientation:"Orientation",orientations:{horizontal:"Horizontal",vertical:"Vertical"},position:"Position",positions:{"bottom-left":"Bottom left","bottom-right":"Bottom right","top-left":"Top left","top-right":"Top right"}}},draggable:"Live cameras view can be dragged/swiped",lazy_load:"Live cameras are lazily loaded",lazy_unload:"Live cameras are lazily unloaded",microphone:{always_connected:"Always keep the microphone connected",disconnect_seconds:"Seconds after which to disconnect microphone (0=never)",editor_label:"Microphone",enabled:"Microphone enabled",mute_after_microphone_mute_seconds:"Seconds after microphone mute to mute inbound audio"},preload:"Preload live view in the background",show_image_during_load:"Show still image while the live stream is loading",transition_effect:"Live camera transition effect",zoomable:"Live cameras can be zoomed/panned"},media_viewer:{auto_mute:"Automatically mute media",auto_pause:"Automatically pause media",auto_play:"Automatically play media",auto_unmute:"Automatically unmute media",controls:{editor_label:"Media Viewer Controls"},draggable:"Media Viewer can be dragged/swiped",lazy_load:"Media Viewer media is lazily loaded in carousel",snapshot_click_plays_clip:"Clicking on a snapshot plays a related clip",transition_effect:"Media Viewer transition effect",transition_effects:{none:"No transition",slide:"Slide transition"},zoomable:"Media Viewer can be zoomed/panned"},menu:{alignment:"Menu alignment",alignments:{bottom:"Aligned to the bottom",left:"Aligned to the left",right:"Aligned to the right",top:"Aligned to the top"},button_size:"Menu button size in pixels",buttons:{alignment:"Button alignment",alignments:{matching:"Matching the menu alignment",opposing:"Opposing the menu alignment"},camera_ui:"Camera user interface",cameras:"Cameras",clips:"Clips",display_mode:"Display mode",download:"Download",enabled:"Button enabled",expand:"Expand",frigate:"Frigate menu / Default view",fullscreen:"Fullscreen",icon:"Icon",image:"Image",live:"Live",media_player:"Send to media player",microphone:"Microphone",mute:"Mute / Unmute",permanent:"Show when the menu is hidden",play:"Play / Pause",priority:"Priority",ptz_controls:"Show PTZ controls",ptz_home:"PTZ Home",recordings:"Recordings",screenshot:"Screenshot",snapshots:"Snapshots",substreams:"Substream(s)",timeline:"Timeline",type:"Button type",types:{momentary:"Momentary",toggle:"Toggle"}},position:"Menu position",positions:{bottom:"Positioned on the bottom",left:"Positioned on the left",right:"Positioned on the right",top:"Positioned on the top"},style:"Menu style",styles:{hidden:"Hidden menu",hover:"Hover menu","hover-card":"Hover menu (card-wide)",none:"No menu",outside:"Outside menu",overlay:"Overlay menu"}},overrides:{info:"This card configuration has manually specified overrides configured which may override values shown in the visual editor, please consult the code editor to view/modify these overrides"},performance:{features:{animated_progress_indicator:"Animated Progress Indicator",editor_label:"Feature Options",max_simultaneous_engine_requests:"Max simultaneous camera engine requests",media_chunk_size:"Media chunk size"},style:{border_radius:"Curves",box_shadow:"Shadows",editor_label:"Style Options"},warning:"This card is in low profile mode so defaults have changed to optimize performance"},profiles:{casting:"Casting",editor_label:"Configuration profiles","low-performance":"Low performance",scrubbing:"Video scrubbing"},status_bar:{height:"Status bar height in pixels",items:{enabled:"Item enabled",engine:"Camera engine",live_provider:"Live provider",priority:"Item priority",resolution:"Resolution",technology:"Technology",title:"Title"},popup_seconds:"Status bar popup seconds",position:"Status bar position",positions:{bottom:"Positioned on the bottom",top:"Positioned on the top"},style:"Status bar style",styles:{hover:"Hover status bar","hover-card":"Hover status bar (card-wide)",none:"No status bar",outside:"Outside status bar",overlay:"Overlay status bar",popup:"Popup status bar"}},view:{camera_select:"View for newly selected cameras",dark_mode:"Dark mode",dark_modes:{auto:"Auto",off:"Off",on:"On"},default:"Default view",default_cycle_camera:"Cycle through cameras when default view updates",default_reset:{after_interaction:"Reset to the default view after user interaction ends",editor_label:"Default view reset behavior",entities:"Reset to the default view on entity state change",every_seconds:"Reset to default view every X seconds (0=never)",interaction_mode:"How default reset behaves when the card has human interaction",interaction_modes:{active:"Only allow reset when card has active human interaction",all:"Reset regardless of human interaction",inactive:"Only reset when card has no human interaction"}},interaction_seconds:"Seconds after user action to remain interacted with (0=never)",keyboard_shortcuts:{editor_label:"Keyboard shortcuts",enabled:"Keyboard shortcuts enabled",ptz_down:"PTZ Down",ptz_home:"PTZ Home",ptz_left:"PTZ Left",ptz_right:"PTZ Right",ptz_up:"PTZ Up",ptz_zoom_in:"PTZ Zoom In",ptz_zoom_out:"PTZ Zoom Out"},triggers:{actions:{editor_label:"Trigger actions",interaction_mode:"How to handle actions when the card has human interaction",interaction_modes:{active:"Only trigger actions when card has human interaction",all:"Trigger actions regardless of human interaction",inactive:"Only trigger actions when card has no human interaction"},trigger:"Trigger action",triggers:{default:"Change to or update default view",live:"Change to or update live view",media:"Change to the relevant media view for new media",none:"No action"},untrigger:"Untrigger action",untriggers:{default:"Change to default view/camera",none:"No action"}},editor_label:"Trigger behavior",filter_selected_camera:"Only trigger on selected camera",show_trigger_status:"Show pulsing border when triggered",untrigger_seconds:"Seconds after inactive state change to untrigger"},views:{clip:"Most recent clip",clips:"Clips gallery",current:"Current view",image:"Static image",live:"Live view",recording:"Most recent recording",recordings:"Recordings gallery",snapshot:"Most recent snapshot",snapshots:"Snapshots gallery",timeline:"Timeline view"}}},M_={grid:"Show media viewer for each camera in a grid",single:"Show single media viewer"},k_={add_new_camera:"Add new camera",button:"Button",camera:"Camera",cameras:"Cameras",cameras_secondary:"What cameras to render on this card",delete:"Delete",dimensions:"Card dimensions",dimensions_secondary:"Card dimensions & shape options",image:"Image",image_secondary:"Static image view options",live:"Live",live_secondary:"Live camera view options",media_gallery:"Media gallery",media_gallery_secondary:"Media gallery options",media_viewer:"Media viewer",media_viewer_secondary:"Viewer for static media (clips, snapshots or recordings)",menu:"Menu",menu_secondary:"Menu look & feel options",move_down:"Move down",move_up:"Move up",overrides:"Overrides are active",overrides_secondary:"Dynamic configuration overrides detected",performance:"Performance",performance_secondary:"Card performance options",profiles:"Configuration profiles",profiles_secondary:"Choose pre-configured sets of defaults",status_bar:"Status bar",status_bar_secondary:"Status bar look & feel options",timeline:"Timeline",timeline_secondary:"Event timeline options",upgrade:"Upgrade",upgrade_available:"An automatic card configuration upgrade is available",view:"View",view_secondary:"What the card should show and how to show it"},S_={ptz:{down:"Down",home:"Home",left:"Left",right:"Right",up:"Up",zoom_in:"Zoom In",zoom_out:"Zoom Out"}},E_={awaiting_live:"Waiting for live stream to load ...",awaiting_media:"Waiting for media to load",camera_initialization:"Camera initialization failed",camera_initialization_reolink:"Could not initialize Reolink camera",could_not_render_elements:"Could not render picture elements",could_not_resolve:"Could not resolve media URL",diagnostics:"Card diagnostics. Please review for confidential information prior to sharing",download_no_media:"No media to download",download_sign_failed:"Could not sign media URL for download",duplicate_camera_id:"Duplicate Frigate camera id for the following camera, use the 'id' parameter to uniquely identify cameras",empty_response:"Received empty response from Home Assistant for request",failed_response:"Failed to receive response from Home Assistant for request",failed_retain:"Could not retain event",failed_sign:"Could not sign Home Assistant URL",image_load_error:"The image could not be loaded",invalid_configuration:"Invalid configuration",invalid_configuration_no_hint:"No location hint available (bad or missing type?)",invalid_configuration_override:"Invalid override configuration",invalid_elements_config:"Invalid picture elements configuration",invalid_response:"Received invalid response from Home Assistant for request",jsmpeg_no_player:"Could not start JSMPEG player",live_camera_no_endpoint:"Could not get camera endpoint for this live provider (incomplete configuration?)",live_camera_not_found:"The configured camera_entity was not found",live_camera_unavailable:"Camera unavailable",no_camera_engine:"Could not determine suitable engine for camera",no_camera_entity:"Could not find camera entity",no_camera_entity_for_triggers:"A camera entity is required in order to autodetect triggers",no_camera_id:"Could not determine camera id for the following camera, may need to set 'id' parameter manually",no_camera_name:"Could not determine a Frigate camera name for camera (or one of its dependents), please specify either 'camera_entity' or 'camera_name'",no_dashboard_or_view:"Both 'dashboard_path' and 'view_path' parameters are required for the 'dashboard' cast method",no_live_camera:"The camera_entity parameter must be set and valid for this live provider",no_supported_camera:"The selected camera does not support this view",no_supported_cameras:"No cameras support this view",reconnecting:"Reconnecting",too_many_automations:"Too many nested automation calls, please check your configuration for loops",troubleshooting:"Check troubleshooting",unknown:"Unknown error",upgrade_available:"An automated card configuration upgrade is available, please visit the visual card editor",webrtc_card_reported_error:"WebRTC Card reported an error",webrtc_card_waiting:"Waiting for WebRTC Card to load ..."},$_={camera:"Camera",duration:"Duration",in_progress:"In Progress",score:"Score",seek:"Seek",start:"Start",tag:"Tag",what:"What",where:"Where"},A_={assign:"Assign",assigning:"Assigning",modifiers:{alt:"Alt",ctrl:"Ctrl",meta:"Meta",shift:"Shift"},unassign:"Unassign"},z_={all:"All",camera:"Camera",favorite:"Favorite",media_type:"Media Type",media_types:{clips:"Clips",recordings:"Recordings",snapshots:"Snapshots"},not_favorite:"Not Favorite",select_camera:"Select camera...",select_favorite:"Select favorite...",select_media_type:"Select media type...",select_tag:"Select tag...",select_what:"Select what...",select_when:"Select when...",select_where:"Select where...",tag:"Tag",what:"What",when:"When",whens:{custom:"Custom",past_month:"Past Month",past_week:"Past Week",today:"Today",yesterday:"Yesterday"},where:"Where"},I_={unseekable:"Seek time not found in media"},T_={camera:"Camera",duration:"Duration",events:"Events",in_progress:"In Progress",seek:"Seek",start:"Start"},j_={download:"Download media",no_thumbnail:"No thumbnail available",retain_indefinitely:"Media will be indefinitely retained",timeline:"See media in timeline"},O_={select_date:"Choose date"},D_={common:x_,config:C_,display_modes:M_,editor:k_,elements:S_,error:E_,event:$_,key_assigner:A_,media_filter:z_,media_viewer:I_,recording:T_,thumbnail:j_,timeline:O_},R_=Object.freeze({__proto__:null,common:x_,config:C_,default:D_,display_modes:M_,editor:k_,elements:S_,error:E_,event:$_,key_assigner:A_,media_filter:z_,media_viewer:I_,recording:T_,thumbnail:j_,timeline:O_});const P_="en",L_={[P_]:R_};let N_;function F_(e){const t=e=>e.replace("-","_"),n=e?.language??e?.selectedLanguage;if(n)return t(n);const a=localStorage.getItem("selectedLanguage");if(a){const e=JSON.parse(a);if(e)return t(e)}for(const e of navigator.languages){const n=t(e);if(n&&n in L_)return n}return P_}function V_(e,t="",n=""){let a="";try{a=e.split(".").reduce(((e,t)=>e[t]),L_[N_??P_])}catch(e){}return a||(a=e.split(".").reduce(((e,t)=>e[t]),L_[P_])),""!==t&&""!==n&&(a=a.replace(t,n)),a}function H_(e){return"string"==typeof e?.id&&e.id||"string"==typeof e?.camera_entity&&e.camera_entity||"object"==typeof e?.webrtc_card&&e.webrtc_card&&("string"==typeof e.webrtc_card.entity&&e.webrtc_card.entity||"string"==typeof e.webrtc_card.url&&e.webrtc_card.url)||"object"==typeof e?.go2rtc&&e.go2rtc&&"string"==typeof e.go2rtc.url&&"string"==typeof e.go2rtc.stream&&`${e.go2rtc.url}#${e.go2rtc.stream}`||"object"==typeof e?.frigate&&e.frigate&&"string"==typeof e?.frigate.camera_name&&e.frigate.camera_name||""}const B_=(e,...t)=>{e?.debug?.logging&&console.debug(...t)},q_=(e,t,n)=>"preset"===t?(n?.preset?e.ptz.presets?.[n.preset]:null)??null:n?.phase?e.ptz[`actions_${t}_${n.phase}`]??null:e.ptz[`actions_${t}`]??null,U_=(e,t,n)=>!!q_(e,t,n),W_=(e,t)=>{const n=U_(e,t,{phase:"start"})&&U_(e,t,{phase:"stop"}),a=U_(e,t);return n||a?[...n?["continuous"]:[],...a?["relative"]:[]]:null},Z_=e=>{const t=W_(e,"left"),n=W_(e,"right"),a=W_(e,"up"),i=W_(e,"down"),r=W_(e,"zoom_in"),o=W_(e,"zoom_out"),s=e.ptz.presets?Object.keys(e.ptz.presets):void 0;return t?.length||n?.length||a?.length||i?.length||r?.length||o?.length||s?.length?{...t?{left:t}:{},...n?{right:n}:{},...a?{up:a}:{},...i?{down:i}:{},...r?{zoomIn:r}:{},...o?{zoomOut:o}:{},...s?{presets:s}:{}}:null};class Q_{constructor(e,t){this._capabilities=e;for(const e of t?.disable??[])this._disable(e);for(const e of Ts)t?.disableExcept?.length&&!t.disableExcept.includes(e)&&this._disable(e)}_disable(e){delete this._capabilities[e]}matches(e){let t=!0;return"string"==typeof e&&(t&&=this.has(e)),"object"==typeof e&&e.allCapabilities&&(t&&=e.allCapabilities.every((e=>this.has(e)))),"object"==typeof e&&e.anyCapabilities&&(t&&=e.anyCapabilities.some((e=>this.has(e)))),t}has(e){return!!this._capabilities[e]}getPTZCapabilities(){return this._capabilities.ptz??null}hasPTZCapability(){return!!(this._capabilities.ptz?.down?.length||this._capabilities.ptz?.up?.length||this._capabilities.ptz?.left?.length||this._capabilities.ptz?.right?.length||this._capabilities.ptz?.zoomIn?.length||this._capabilities.ptz?.zoomOut?.length||this._capabilities.ptz?.presets?.length)}getRawCapabilities(){return this._capabilities}}function G_(e,t,n){var a=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(n=n>i?i:n)<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var r=Array(i);++at||r&&o&&c&&!s&&!l||a&&o&&c||!n&&c||!i)return 1;if(!a&&!r&&!l&&e=s?c:c*("desc"==n[a]?-1:1)}return e.index-t.index}(e,t,n)}))}function Ev(e,t,n,a){return null==e?[]:(dp(t)||(t=null==t?[]:[t]),dp(n=a?void 0:n)||(n=null==n?[]:[n]),Sv(e,t,n))}async function $v(e,t,n,a=!1){let i;try{i=await e.callWS(n)}catch(e){if(!(e instanceof Error))throw new zs(V_("error.failed_response"),{request:n,response:e});throw e}if(!i)throw new zs(V_("error.empty_response"),{request:n});const r=a?t.safeParse(JSON.parse(i)):t.safeParse(i);if(!r.success)throw new zs(V_("error.invalid_response"),{request:n,response:i,invalid_keys:Rs(r.error)});return r.data}const Av=ba.lazy((()=>ba.object({title:ba.string(),media_class:ba.string(),media_content_type:ba.string(),media_content_id:ba.string(),can_play:ba.boolean(),can_expand:ba.boolean(),children_media_class:ba.string().nullable().optional(),thumbnail:ba.string().nullable(),children:ba.array(Av).nullable().optional()}))),zv="video",Iv="image",Tv=60,jv=e=>Ev(e,(e=>e._metadata?.startDate),"desc");class Ov{async walkBrowseMedias(e,t,n){return t&&t.length?(await tf(t,(async t=>await this._walkBrowseMedia(e,t,n)))).flat():[]}async _walkBrowseMedia(e,t,n){let a=[];for(const i of function(e,t,n){t=(n?dg(e,t,n):void 0===t)?1:K_(Sg(t),0);var a=null==e?0:e.length;if(!a||t<1)return[];for(var i=0,r=0,o=Array(Y_(a/t));iawait this._browseMedia(e,a,{cache:n?.cache,matcher:t.matcher,metadataGenerator:t.metadataGenerator})));for(const e of r)for(const n of e.children??[])t.matcher(n)&&a.push(n);if(t.sorter&&(a=t.sorter(a)),t.earlyExit&&t.earlyExit(a))break}const i=t.advance?t.advance(a):null;return i?.length?await this.walkBrowseMedias(e,i,n):a}async _browseMedia(e,t,n){const a="object"==typeof t?t.media_content_id:t,i=n?.cache?n.cache.get(a):null;if(i)return i;const r={type:"media_source/browse_media",media_content_id:a},o=await $v(e,Av,r);if(n?.metadataGenerator)for(const e of o.children??[])e._metadata=n.metadataGenerator(e,"object"==typeof t?t:void 0)??void 0;return n?.cache&&n.cache.set(a,o,Ud(new Date,{seconds:60})),o}}function Dv(e,t){return bm(e,t)}function Rv(e,t){return e&&e.length?function(e,t){for(var n=-1,a=e.length,i=0,r=[];++nNv(t,e)))}add(e){this._ranges.push(e),this._ranges=Vv(this._ranges)}clear(){this._ranges=[]}}class Lv{constructor(e){this._ranges=e??[]}hasCoverage(e){const t=new Date;return this._ranges.some((n=>tet.start>=e.start&&t.end<=e.end,Fv=(e,t)=>e.start>=t.start&&e.start<=t.end||e.end>=t.start&&e.end<=t.end||e.start<=t.start&&e.end>=t.end,Vv=(e,t=0)=>{const n=[];e=Ev(e,(e=>e.start),"asc");let a=null;for(const i of e){const e=i.start instanceof Date?i.start.getTime():i.start;if(!a){a={...i};continue}(a.end instanceof Date?a.end.getTime():a.end)+1e3*t>=e?i.end>a.end&&(a.end=i.end):(n.push(a),a={...i})}return a&&n.push(a),n};class Hv{constructor(){this._data=[]}get(e){const t=new Date;for(const n of this._data)if((!n.expires||t<=n.expires)&&this._contains(e,n.request))return n.response;return null}clear(){this._data=[]}has(e){return!!this.get(e)}set(e,t,n){this._data.push({request:e,response:t,expires:n}),this._expireOldRequests()}_contains(e,t){return Dv(e,t)}_expireOldRequests(){const e=new Date;this._data=this._data.filter((t=>!t.expires||e=e.start.getTime()){if(a>e.end.getTime())break;t.push(n)}}return t}getSize(){return this._data.length}expireMatches(e){this._data=this._data.filter((t=>!e(t)))}}class Uv{constructor(){this._segments=new Map}add(e,t,n){let a=this._segments.get(e);a||(a=new qv((e=>1e3*e.start_time),(e=>e.id)),this._segments.set(e,a)),a.add(t,n)}clear(){this._segments.clear()}hasCoverage(e,t){return!!this._segments.get(e)?.hasCoverage(t)}get(e,t){return this._segments.get(e)?.get(t)??null}getSize(e){return this._segments.get(e)?.getSize()??null}getCameraIDs(){return[...this._segments.keys()]}expireMatches(e,t){this._segments.get(e)?.expireMatches(t)}}class Wv extends zs{}class Zv extends zs{}var Qv,Gv,Yv;!function(e){e.Event="event-query",e.Recording="recording-query",e.RecordingSegments="recording-segments-query",e.MediaMetadata="media-metadata"}(Qv||(Qv={})),function(e){e.Event="event-results",e.Recording="recording-results",e.RecordingSegments="recording-segments-results",e.MediaMetadata="media-metadata-results"}(Gv||(Gv={})),function(e){e.Frigate="frigate",e.Generic="generic",e.MotionEye="motioneye",e.Reolink="reolink"}(Yv||(Yv={}));const Kv=e=>e.camera_entity??e.webrtc_card?.entity??null;class Xv{constructor(e){this._entityRegistryManager=e}async createEngine(e,t){let n;switch(e){case Yv.Generic:const{GenericCameraManagerEngine:e}=await import("./engine-generic-bb62ddef.js").then((function(e){return e.e}));n=new e(t.stateWatcher,t.eventCallback);break;case Yv.Frigate:const{FrigateCameraManagerEngine:a}=await import("./engine-frigate-1cc4bb56.js");n=new a(this._entityRegistryManager,t.stateWatcher,new Uv,new Bv,t.eventCallback);break;case Yv.MotionEye:const{MotionEyeCameraManagerEngine:i}=await import("./engine-motioneye-381004ee.js");n=new i(this._entityRegistryManager,t.stateWatcher,new Ov,t.resolvedMediaCache,new Bv,t.eventCallback);break;case Yv.Reolink:const{ReolinkCameraManagerEngine:r}=await import("./engine-reolink-72a91bc6.js");n=new r(this._entityRegistryManager,t.stateWatcher,new Ov,t.resolvedMediaCache,new Bv,t.eventCallback)}return n}async getEngineForCamera(e,t){let n=null;if("frigate"===t.engine)n=Yv.Frigate;else if("motioneye"===t.engine)n=Yv.MotionEye;else if("generic"===t.engine)n=Yv.Generic;else if("reolink"===t.engine)n=Yv.Reolink;else{const a=Kv(t);if(a){const i=await this._entityRegistryManager.getEntity(e,a);if(!i){if(e.states[a])return Yv.Generic;throw new Wv(V_("error.no_camera_entity"),t)}switch(i?.platform){case"frigate":n=Yv.Frigate;break;case"motioneye":n=Yv.MotionEye;break;case"reolink":n=Yv.Reolink;break;default:n=Yv.Generic}}else t.frigate.camera_name?n=Yv.Frigate:(t.webrtc_card?.url||t.go2rtc?.url&&t.go2rtc?.stream)&&(n=Yv.Generic)}return n}}class Jv{constructor(){this._cameras=new Map,this._enginesByType=new Map}addCamera(e){this._cameras.set(e.getID(),e),this._enginesByType.set(e.getEngine().getEngineType(),e.getEngine())}async setCameras(e){for(const t of e){const e=this._cameras.get(t.getID());e!==t&&(this.addCamera(t),await(e?.destroy()))}for(const t of this._cameras.values())e.includes(t)||(await t.destroy(),this._cameras.delete(t.getID()))}async reset(){await tf(this._cameras.values(),(e=>e.destroy())),this._cameras.clear(),this._enginesByType.clear()}getCamera(e){return this._cameras.get(e)??null}getCameras(){return this._cameras}getCameraConfig(e){return this._cameras.get(e)?.getConfig()??null}hasCameraID(e){return this._cameras.has(e)}getCameraCount(){return this._cameras.size}getDefaultCameraID(){return this._cameras.keys().next().value??null}*getCameraConfigs(e){for(const[t,n]of this.getCameraConfigEntries(e))yield n}*getCameraConfigEntries(e){for(const t of e??this._cameras.keys()){const e=this.getCameraConfig(t);e&&(yield[t,e])}}getCameraIDs(){return new Set(this._cameras.keys())}getCameraIDsWithCapability(e){const t=new Set;for(const n of this._cameras.values())n.getCapabilities()?.matches(e)&&t.add(n.getID());return t}getCameraConfigForMedia(e){return this.getCameraConfig(e.getCameraID())}getEngineOfType(e){return this._enginesByType.get(e)??null}getEngineForCameraID(e){return this._cameras.get(e)?.getEngine()??null}getEnginesForCameraIDs(e){const t=new Map;for(const n of e){const e=this.getEngineForCameraID(n);e&&(t.has(e)||t.set(e,new Set),t.get(e)?.add(n))}return t.size?t:null}getEngineForMedia(e){return this.getEngineForCameraID(e.getCameraID())}getAllDependentCameras(e,t){const n=new Set,a=new Set,i=e=>{n.add(e);const r=this.getCamera(e),o=r?.getConfig();if(r&&o){t&&!r.getCapabilities()?.matches(t)||a.add(e);const s=new Set;o.dependencies.cameras.forEach((e=>s.add(e))),o.dependencies.all_cameras&&this.getCameraIDs().forEach((e=>s.add(e)));for(const e of s)n.has(e)||i(e)}};return i(e),a}}const ey=e=>{return Ev((n=e=>e.getID()??e,(t=e)&&t.length?Hg(t,xv(n)):[]),(e=>e.getStartTime()??e.getID()),"asc");var t,n};class ty{static isEventQuery(e){return e.type===Qv.Event}static isRecordingQuery(e){return e.type===Qv.Recording}static isRecordingSegmentsQuery(e){return e.type===Qv.RecordingSegments}static isMediaMetadataQuery(e){return e.type===Qv.MediaMetadata}}class ny{static isEventQueryResult(e){return e.type===Gv.Event}static isRecordingQueryResult(e){return e.type===Gv.Recording}static isRecordingSegmentsQueryResult(e){return e.type===Gv.RecordingSegments}static isMediaMetadataQueryResult(e){return e.type===Gv.MediaMetadata}}class ay{constructor(e,t){this._requestLimit=new w_,this._api=e,this._engineFactory=t?.factory??new Xv(this._api.getEntityRegistryManager()),this._store=t?.store??new Jv}async initializeCamerasFromConfig(){const e=this._api.getConfigManager().getConfig(),t=this._api.getHASSManager().getHASS();if(!e||!t)return!1;this._requestLimit.concurrency=e.performance.features.max_simultaneous_engine_requests??1/0;const n=e.cameras.map((t=>{return n={},a=u_(e?.cameras_global),hg(n,a,t,((e,t)=>Array.isArray(t)?t:void 0));var n,a}));try{await this._initializeCameras(n)}catch(e){return this._api.getMessageManager().setErrorIfHigherPriority(e,V_("error.camera_initialization")),!1}return!0}async reset(){await this._store.reset()}async _getEnginesForCameras(e){const t=new Map,n=new Map,a=this._api.getHASSManager().getHASS(); -/* istanbul ignore if: the if path cannot be reached -- @preserve */ -if(!a)return t;const i=await(async e=>await tf(e,(e=>this._engineFactory.getEngineForCamera(a,e))))(e);for(const[a,r]of e.entries()){const e=i[a],o=e?n.get(e)??await this._engineFactory.createEngine(e,{eventCallback:e=>this._api.getTriggersManager().handleCameraEvent(e),stateWatcher:this._api.getHASSManager().getStateWatcher(),resolvedMediaCache:this._api.getResolvedMediaCache()}):null;if(!o||!e)throw new Wv(V_("error.no_camera_engine"),u_(r));n.set(e,o),t.set(r,o)}return t}async _initializeCameras(e){const t=new Date,n=this._api.getHASSManager().getHASS(); -/* istanbul ignore if: the if path cannot be reached -- @preserve */ -if(!n)return;e.some((e=>(e=>e.triggers.motion||e.triggers.occupancy)(e)))&&await this._api.getEntityRegistryManager().fetchEntityList(n);const a=await this._getEnginesForCameras(e),i=await tf(a.entries(),(async([e,t])=>await t.createCamera(n,e))),r=async()=>{i.forEach((e=>e.destroy()))},o=new Set;for(const e of i){const t=H_(e.getConfig());if(!t)throw await r(),new Wv(V_("error.no_camera_id"),e.getConfig());if(o.has(t))throw await r(),new Wv(V_("error.duplicate_camera_id"),e.getConfig());e.setID(t),o.add(t)}await this._store.setCameras(i),B_(this._api.getConfigManager().getCardWideConfig(),"Frigate Card CameraManager initialized (Cameras: ",this._store.getCameras(),`, Duration: ${((new Date).getTime()-t.getTime())/1e3}s,`,")")}isInitialized(){return this._store.getCameraCount()>0}getStore(){return this._store}generateDefaultEventQueries(e,t){return this._generateDefaultQueries(e,{type:Qv.Event,...t})}generateDefaultRecordingQueries(e,t){return this._generateDefaultQueries(e,{type:Qv.Recording,...t})}generateDefaultRecordingSegmentsQueries(e,t){return this._generateDefaultQueries(e,{type:Qv.RecordingSegments,...t})}_generateDefaultQueries(e,t){const n=[],a=Zg(e),i=this._store.getEnginesForCameraIDs(a);if(!i)return null;for(const[e,a]of i){let i=null; -/* istanbul ignore else: the else path cannot be reached -- @preserve */ty.isEventQuery(t)?i=e.generateDefaultEventQuery(this._store,a,t):ty.isRecordingQuery(t)?i=e.generateDefaultRecordingQuery(this._store,a,t):ty.isRecordingSegmentsQuery(t)&&(i=e.generateDefaultRecordingSegmentsQuery(this._store,a,t));for(const e of i??[])n.push(e)}return n.length?n:null}async getMediaMetadata(){const e=new Set,t=new Set,n=new Set,a=new Set,i={type:Qv.MediaMetadata,cameraIDs:this._store.getCameraIDs()},r=await this._handleQuery(i);for(const i of r.values())i.metadata.tags&&i.metadata.tags.forEach(e.add,e),i.metadata.what&&i.metadata.what.forEach(t.add,t),i.metadata.where&&i.metadata.where.forEach(n.add,n),i.metadata.days&&i.metadata.days.forEach(a.add,a);return t.size||n.size||a.size||e.size?{...e.size&&{tags:e},...t.size&&{what:t},...n.size&&{where:n},...a.size&&{days:a}}:null}async getEvents(e,t){return await this._handleQuery(e,t)}async getRecordings(e,t){return await this._handleQuery(e,t)}async getRecordingSegments(e,t){return await this._handleQuery(e,t)}async executeMediaQueries(e,t){return this._convertQueryResultsToMedia(await this._handleQuery(e,t))}async extendMediaQueries(e,t,n,a){if(!this._api.getHASSManager().getHASS())return null;const i=e=>{let n=null;for(const a of t){const t=a.getStartTime();t&&(!n||"earliest"===e&&tn)&&(n=t)}return n},r=this._api.getConfigManager().getCardWideConfig()?.performance?.features.media_chunk_size??50,o=[],s=[];for(const t of e){const e={...t}; -/* istanbul ignore else: the else path cannot be reached -- @preserve */if("later"===n){const t=i("latest");t&&(e.start=t,delete e.end)}else if("earlier"===n){const t=i("earliest");t&&(e.end=t,delete e.start)}e.limit=r,s.push({...t,limit:(t.limit??0)+r}),o.push(e)}const c=this._convertQueryResultsToMedia(await this._handleQuery(o,a));if(!c.length)return null;const l=ey(t.concat(c));return l.length===t.length?null:{queries:s,results:l}}async getMediaDownloadPath(e){const t=this._store.getCameraConfigForMedia(e),n=this._store.getEngineForMedia(e),a=this._api.getHASSManager().getHASS();return t&&n&&a?await n.getMediaDownloadPath(a,t,e):null}getMediaCapabilities(e){const t=this._store.getEngineForMedia(e);return t?t.getMediaCapabilities(e):null}async favoriteMedia(e,t){const n=this._store.getCameraConfigForMedia(e),a=this._store.getEngineForMedia(e),i=this._api.getHASSManager().getHASS();if(!n||!a||!i)return;const r=new Date;await this._requestLimit.add((()=>a.favoriteMedia(i,n,e,t))),B_(this._api.getConfigManager().getCardWideConfig(),"Frigate Card CameraManager favorite request (",`Duration: ${((new Date).getTime()-r.getTime())/1e3}s,`,"Media:",e.getID(),", Favorite:",t,")")}areMediaQueriesResultsFresh(e,t){const n=new Date;for(const a of e){const e=this._store.getEnginesForCameraIDs(a.cameraIDs);for(const[i,r]of e??[]){const e=i.getQueryResultMaxAge({...a,cameraIDs:r});if(null!==e&&Ud(t,{seconds:e})a?null:await this._requestLimit.add((()=>i.getMediaSeekTime(r,this._store,e,t)))??null}async _handleQuery(e,t){const n=Wg(e),a=new Map,i=new Date,r=this._api.getHASSManager().getHASS();if(!r)return a;const o=async(e,n)=>{let i=null; -/* istanbul ignore else: the else path cannot be reached -- @preserve */ty.isEventQuery(n)?i=await e.getEvents(r,this._store,n,t):ty.isRecordingQuery(n)?i=await e.getRecordings(r,this._store,n,t):ty.isRecordingSegmentsQuery(n)?i=await e.getRecordingSegments(r,this._store,n,t):ty.isMediaMetadataQuery(n)&&(i=await e.getMediaMetadata(r,this._store,n,t)),i?.forEach(((e,t)=>a.set(t,e)))},s=async e=>{const t=this._store.getEnginesForCameraIDs(e.cameraIDs);t&&await Promise.all(Array.from(t.keys()).map((n=>this._requestLimit.add((()=>o(n,{...e,cameraIDs:t.get(n)}))))))};await Promise.all(n.map((e=>s(e))));const c=(l=Array.from(a.values()).map((e=>Number(e.cached??0))))&&l.length?function(e,t){for(var n,a=-1,i=e.length;++athis._store.getCamera(e))).filter(sf);return new Q_({live:t.some((e=>e.getCapabilities()?.has("live"))),clips:t.some((e=>e.getCapabilities()?.has("clips"))),recordings:t.some((e=>e.getCapabilities()?.has("recordings"))),snapshots:t.some((e=>e.getCapabilities()?.has("snapshots"))),"favorite-events":t.some((e=>e.getCapabilities()?.has("favorite-events"))),"favorite-recordings":t.some((e=>e.getCapabilities()?.has("favorite-recordings"))),seek:t.some((e=>e.getCapabilities()?.has("seek"))),menu:t.some((e=>e.getCapabilities()?.has("menu")))})}async executePTZAction(e,t,n){const a=this._store.getCameraConfig(e);if(!a)return;const i=q_(a,t,n);if(i)return await this._api.getActionsManager().executeActions(i);const r=this._api.getHASSManager().getHASS(),o=this._store.getEngineForCameraID(e);return o&&r?await this._requestLimit.add((()=>o.executePTZAction(r,a,t,n))):void 0}}class iy{constructor(e){this._cache=new Map,this._keyCallback=e}has(e){return this._cache.has(e)}getMatches(e){return[...this._cache.values()].filter(e)}get(e){return this._cache.get(e)??null}add(e){const t=e=>this._cache.set(this._keyCallback(e),e);Array.isArray(e)?e.forEach(t):t(e)}}const ry=ba.object({id:ba.string(),model:ba.string().nullable(),config_entries:ba.string().array(),manufacturer:ba.string().nullable()}).array();class oy{constructor(e){this._fetchedDeviceList=!1,this._cache=e}async getDevice(e,t){return this._cache.has(t)?this._cache.get(t):(await this._fetchDeviceList(e),this._cache.get(t)??null)}async getMatchingDevices(e,t){return await this._fetchDeviceList(e),this._cache.getMatches(t)}async _fetchDeviceList(e){if(this._fetchedDeviceList)return;let t=null;try{t=await $v(e,ry,{type:"config/device_registry/list"})}catch(e){return void Gg(e)}this._cache.add(t),this._fetchedDeviceList=!0}}const sy=ba.object({config_entry_id:ba.string().nullable(),device_id:ba.string().nullable(),disabled_by:ba.string().nullable(),entity_id:ba.string(),hidden_by:ba.string().nullable(),platform:ba.string(),translation_key:ba.string().nullable(),unique_id:ba.string().or(ba.number()).optional()}),cy=sy.array();class ly{constructor(e){this._fetchedEntityList=!1,this._cache=e}async getEntity(e,t){const n=this._cache.get(t);if(n)return n;let a=null;try{a=await $v(e,sy,{type:"config/entity_registry/get",entity_id:t})}catch(e){return Gg(e),null}return this._cache.add(a),a}async getMatchingEntities(e,t){return await this.fetchEntityList(e),this._cache.getMatches(t)}async getEntities(e,t){const n=new Map;return await Promise.all(t.map((async t=>{const a=await this.getEntity(e,t);a&&n.set(t,a)}))),n}async fetchEntityList(e){if(this._fetchedEntityList)return;let t=null;try{t=await $v(e,cy,{type:"config/entity_registry/list"})}catch(e){return void Gg(e)}this._cache.add(t),this._fetchedEntityList=!0}}class dy extends Map{constructor(e={}){if(super(),!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");if("number"==typeof e.maxAge&&0===e.maxAge)throw new TypeError("`maxAge` must be a number greater than 0");this.maxSize=e.maxSize,this.maxAge=e.maxAge||Number.POSITIVE_INFINITY,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_emitEvictions(e){if("function"==typeof this.onEviction)for(const[t,n]of e)this.onEviction(t,n.value)}_deleteIfExpired(e,t){return"number"==typeof t.expiry&&t.expiry<=Date.now()&&("function"==typeof this.onEviction&&this.onEviction(e,t.value),this.delete(e))}_getOrDeleteIfExpired(e,t){if(!1===this._deleteIfExpired(e,t))return t.value}_getItemValue(e,t){return t.expiry?this._getOrDeleteIfExpired(e,t):t.value}_peek(e,t){const n=t.get(e);return this._getItemValue(e,n)}_set(e,t){this.cache.set(e,t),this._size++,this._size>=this.maxSize&&(this._size=0,this._emitEvictions(this.oldCache),this.oldCache=this.cache,this.cache=new Map)}_moveToRecent(e,t){this.oldCache.delete(e),this._set(e,t)}*_entriesAscending(){for(const e of this.oldCache){const[t,n]=e;if(!this.cache.has(t)){!1===this._deleteIfExpired(t,n)&&(yield e)}}for(const e of this.cache){const[t,n]=e;!1===this._deleteIfExpired(t,n)&&(yield e)}}get(e){if(this.cache.has(e)){const t=this.cache.get(e);return this._getItemValue(e,t)}if(this.oldCache.has(e)){const t=this.oldCache.get(e);if(!1===this._deleteIfExpired(e,t))return this._moveToRecent(e,t),t.value}}set(e,t,{maxAge:n=this.maxAge}={}){const a="number"==typeof n&&n!==Number.POSITIVE_INFINITY?Date.now()+n:void 0;return this.cache.has(e)?this.cache.set(e,{value:t,expiry:a}):this._set(e,{value:t,expiry:a}),this}has(e){return this.cache.has(e)?!this._deleteIfExpired(e,this.cache.get(e)):!!this.oldCache.has(e)&&!this._deleteIfExpired(e,this.oldCache.get(e))}peek(e){return this.cache.has(e)?this._peek(e,this.cache):this.oldCache.has(e)?this._peek(e,this.oldCache):void 0}delete(e){const t=this.cache.delete(e);return t&&this._size--,this.oldCache.delete(e)||t}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}resize(e){if(!(e&&e>0))throw new TypeError("`maxSize` must be a number greater than 0");const t=[...this._entriesAscending()],n=t.length-e;n<0?(this.cache=new Map(t),this.oldCache=new Map,this._size=t.length):(n>0&&this._emitEvictions(t.slice(0,n)),this.oldCache=new Map(t.slice(n)),this.cache=new Map,this._size=0),this.maxSize=e}*keys(){for(const[e]of this)yield e}*values(){for(const[,e]of this)yield e}*[Symbol.iterator](){for(const e of this.cache){const[t,n]=e;!1===this._deleteIfExpired(t,n)&&(yield[t,n.value])}for(const e of this.oldCache){const[t,n]=e;if(!this.cache.has(t)){!1===this._deleteIfExpired(t,n)&&(yield[t,n.value])}}}*entriesDescending(){let e=[...this.cache];for(let t=e.length-1;t>=0;--t){const n=e[t],[a,i]=n;!1===this._deleteIfExpired(a,i)&&(yield[a,i.value])}e=[...this.oldCache];for(let t=e.length-1;t>=0;--t){const n=e[t],[a,i]=n;if(!this.cache.has(a)){!1===this._deleteIfExpired(a,i)&&(yield[a,i.value])}}}*entriesAscending(){for(const[e,t]of this._entriesAscending())yield[e,t.value]}get size(){if(!this._size)return this.oldCache.size;let e=0;for(const t of this.oldCache.keys())this.cache.has(t)||e++;return Math.min(this._size+e,this.maxSize)}entries(){return this.entriesAscending()}forEach(e,t=this){for(const[n,a]of this.entriesAscending())e.call(t,a,n,this)}get[Symbol.toStringTag](){return JSON.stringify([...this.entriesAscending()])}}class uy{constructor(){this._cache=new dy({maxSize:1e3})}has(e){return this._cache.has(e)}get(e){return this._cache.get(e)}set(e,t){this._cache.set(e,t)}}const hy=async(e,t,n)=>{const a=n?n.get(t):void 0;if(a)return a;const i={type:"media_source/resolve_media",media_content_id:t};let r=null;try{r=await $v(e,js,i)}catch(e){Gg(e)}return n&&r&&n.set(t,r),r};class py{constructor(e,t,n){this._context=e,this._action=t,this._config=n}async execute(e){}async stop(){}}class my extends py{}class gy extends my{async execute(e){const t=this._action.camera??(this._action.triggered?e.getTriggersManager().getMostRecentlyTriggeredCameraID():null),n=e.getViewManager().getView(),a=e.getConfigManager().getConfig();if(t&&n){const i=a?.view.camera_select??"current",r="current"===i?n.view:i;await e.getViewManager().setViewByParametersWithNewQuery({params:{view:r,camera:t},failSafe:!0})}}}class fy extends my{async execute(e){e.getCameraURLManager().openURL()}}class _y extends my{async execute(e){e.getViewManager().setViewDefault()}}class vy extends my{async execute(e){await e.getViewManager().setViewByParametersWithNewQuery({params:{displayMode:this._action.display_mode}})}}class yy extends my{async execute(e){await e.getDownloadManager().downloadViewerMedia()}}class by extends my{async execute(e){e.getExpandManager().toggleExpanded()}}class wy extends my{async execute(e){e.getFullscreenManager().toggleFullscreen()}}class xy extends py{async execute(e){const t=e.getHASSManager().getHASS();t&&at(e.getCardElementManager().getElement(),t,this._config??{},this._action)}}class Cy extends my{async execute(e){console[this._action.level](this._action.message)}}const My=(e,t)=>e.context?.live?.overrides?.get(t??e.camera)??t??e.camera,ky=e=>My(e)!==e.camera,Sy=(e,t)=>{const n=e.context?.live?.overrides??new Map;n.set(e.camera,t),e.mergeInContext({live:{overrides:n}})};class Ey extends my{async execute(e){const t=this._action.media_player,n=e.getMediaPlayerManager(),a=e.getViewManager().getView(),i=a?.queryResults?.getSelectedResult()??null;"stop"===this._action.media_player_action?await n.stop(t):a?.is("live")?await n.playLive(t,My(a)):a?.isViewerView()&&i&&await n.playMedia(t,i)}}class $y extends my{async execute(e){e.getCardElementManager().toggleMenu()}}class Ay extends my{async execute(e){await e.getMicrophoneManager().connect()}}class zy extends my{async execute(e){e.getMicrophoneManager().disconnect()}}class Iy extends my{async execute(e){e.getMicrophoneManager().mute()}}class Ty extends my{async execute(e){await e.getMicrophoneManager().unmute()}}class jy extends my{async execute(e){await(e.getMediaLoadedInfoManager().get()?.player?.mute())}}class Oy extends my{async execute(e){await(e.getMediaLoadedInfoManager().get()?.player?.pause())}}class Dy extends my{async execute(e){await(e.getMediaLoadedInfoManager().get()?.player?.play())}}const Ry=(e,t)=>{if(e.isViewerView()){const n=e.queryResults?.getSelectedResult()?.getID()??null;return"ptz"!==t?.type&&n?{targetID:n,type:"digital"}:null}if(e.is("live")){const n=My(e);let a="digital";return"digital"!==t?.type&&t?.cameraManager&&(Py(t.cameraManager,n)&&(a="ptz"),"ptz"!==a&&"ptz"===t?.type)?null:{targetID:n,type:a}}return null},Py=(e,t)=>!!e.getStore().getCamera(t)?.getCapabilities()?.hasPTZCapability();var Ly=ug((function(e,t,n){Jm(e,t,n)}));const Ny=(e,t)=>{t?.[e]?.inProgressAction?.stop()},Fy=(e,t,n,a)=>{Ly(t,{[n]:{[e]:{inProgressAction:a}}})};class Vy extends my{constructor(){super(...arguments),this._timer=new xf}async stop(){this._timer.stop()}async execute(e){const t=e.getViewManager().getView();if(!t)return;const n=this._action.camera??Ry(t,{type:"ptz",cameraManager:e.getCameraManager()})?.targetID??null,a=n?e.getCameraManager().getCameraCapabilities(n)?.getPTZCapabilities():null,i=n?e.getCameraManager().getStore().getCameraConfig(n)?.ptz:null;if(!n||!a||!i)return;if(!this._action.ptz_action)return void(a.presets&&a.presets.length>=1&&await e.getCameraManager().executePTZAction(n,"preset",{phase:this._action.ptz_phase,preset:a.presets[0]}));const r=(e=>{switch(e){case"left":case"right":case"up":case"down":return e;case"zoom_in":return"zoomIn";case"zoom_out":return"zoomOut"}return null})(this._action.ptz_action);if(r&&a[r]?.includes(this._action.ptz_phase?"continuous":"relative")||"preset"===this._action.ptz_action)return await e.getCameraManager().executePTZAction(n,this._action.ptz_action,{phase:this._action.ptz_phase,preset:this._action.ptz_preset});if("start"===this._action.ptz_phase){Ny(n,this._context.ptz),Fy(n,this._context,"ptz",this);const t=async()=>{this._action.ptz_action&&await e.getCameraManager().executePTZAction(n,this._action.ptz_action,{preset:this._action.ptz_preset}),this._timer.start(i.r2c_delay_between_calls_seconds,t)};await t()}else"stop"===this._action.ptz_phase?Ny(n,this._context.ptz):(await e.getCameraManager().executePTZAction(n,this._action.ptz_action,{preset:this._action.ptz_preset,phase:"start"}),this._timer.start(i.c2r_delay_between_calls_seconds,(async()=>{this._action.ptz_action&&await e.getCameraManager().executePTZAction(n,this._action.ptz_action,{preset:this._action.ptz_preset,phase:"stop"})})))}}class Hy extends my{async execute(e){e.getViewManager().setViewWithMergedContext({ptzControls:{enabled:this._action.enabled}})}}function By(e,t,n){return void 0===n&&(n=t,t=void 0),void 0!==n&&(n=(n=Cg(n))==n?n:0),void 0!==t&&(t=(t=Cg(t))==t?t:0),function(e,t,n){return e==e&&(void 0!==n&&(e=e<=n?e:n),void 0!==t&&(e=e>=t?e:t)),e}(Cg(e),t,n)}const qy=50,Uy=50,Wy=1,Zy=4,Qy=e=>void 0===e?.pan?.x&&void 0===e?.pan?.y&&void 0===e?.zoom;class Gy{constructor(e){this._context=e}modify(e){e.mergeInContext(this._context)}}const Yy=(e,t)=>({zoom:{[e]:{observed:t?.observed??void 0,requested:t?.requested??null}}}),Ky=(e,t,n)=>{t&&n&&t.setViewByParameters({modifiers:[new Gy(Yy(n,{observed:e.detail}))]})};class Xy extends my{constructor(){super(...arguments),this._timer=new xf}async _stepChange(e,t){e.getViewManager().setViewWithMergedContext(Yy(t,{requested:this._convertActionToZoomSettings(e.getViewManager().getView()?.context?.zoom?.[t]?.observed)}))}async stop(){this._timer.stop()}async execute(e){const t=e.getViewManager().getView();if(!t)return;const n=this._action.target_id??Ry(t,{type:"digital",cameraManager:e.getCameraManager()})?.targetID;return n?this._action.absolute||!this._action.ptz_phase?await this._stepChange(e,n): -/* istanbul ignore else: the else path cannot be reached -- @preserve */ -void("start"===this._action.ptz_phase?(Ny(n,this._context.ptzDigital),Fy(n,this._context,"ptzDigital",this),await this._stepChange(e,n),this._timer.startRepeated(.1,(()=>this._stepChange(e,n)))):"stop"===this._action.ptz_phase&&(Ny(n,this._context.ptzDigital),delete this._context.ptzDigital?.[n])):void 0}_convertActionToZoomSettings(e){if(!this._action.absolute&&!this._action.ptz_action)return{};if(this._action.absolute)return this._action.absolute;const t=e?.zoom??1,n=e?.pan?.x??50,a=e?.pan?.y??50,i="zoom_in"===this._action.ptz_action?.1:"zoom_out"===this._action.ptz_action?-.1:0,r="left"===this._action.ptz_action?-5:"right"===this._action.ptz_action?5:0,o="up"===this._action.ptz_action?-5:"down"===this._action.ptz_action?5:0;return{zoom:By(t+i,1,10),pan:{x:By(n+r,0,100),y:By(a+o,0,100)}}}}class Jy extends my{async execute(e){const t=e.getViewManager().getView();let n=null,a=null;if(this._action.target_id)n=this._action.target_id,a=Py(e.getCameraManager(),n)?"ptz":"digital";else if(t){const i=Ry(t,{cameraManager:e.getCameraManager()});n=i?.targetID??null,a=i?.type??null}n&&null!==a&&("ptz"===a?this._toPTZAction(n):this._toPTZDigitalAction(n)).execute(e)}_toPTZAction(e){return new Vy(this._context,(t={cardID:this._action.card_id,cameraID:e,ptzAction:this._action.ptz_action,ptzPhase:this._action.ptz_phase,ptzPreset:this._action.ptz_preset},{action:"fire-dom-event",frigate_card_action:"ptz",...t?.cardID&&{card_id:t.cardID},...t?.ptzAction&&{ptz_action:t.ptzAction},...t?.ptzPhase&&{ptz_phase:t.ptzPhase},...t?.ptzPreset&&{ptz_preset:t.ptzPreset},...t?.cameraID&&{camera:t.cameraID}}),this._config);var t}_toPTZDigitalAction(e){return new Xy(this._context,(t={cardID:this._action.card_id,ptzPhase:this._action.ptz_phase,ptzAction:this._action.ptz_action,targetID:e},{action:"fire-dom-event",frigate_card_action:"ptz_digital",...t?.cardID&&{card_id:t.cardID},...t?.ptzAction&&{ptz_action:t.ptzAction},...t?.ptzPhase&&{ptz_phase:t.ptzPhase},...t?.absolute&&{absolute:t.absolute},...t?.targetID&&{target_id:t.targetID}}),this._config);var t}}class eb extends my{async execute(e){await e.getDownloadManager().downloadScreenshot()}}class tb extends my{async execute(e){var t;await af((t=this._action.duration,3600*(t.h??0)+60*(t.m??0)+(t.s??0)+(t.ms??0)/1e3))}}class nb extends my{async execute(e){switch(this._action.status_bar_action){case"reset":e.getStatusBarItemManager().removeAllDynamicStatusBarItems();break;case"add":this._action.items?.forEach((t=>e.getStatusBarItemManager().addDynamicStatusBarItem(t)));break;case"remove":this._action.items?.forEach((t=>e.getStatusBarItemManager().removeDynamicStatusBarItem(t)))}}}class ab{modify(e){(e=>{const t=e.context?.live?.overrides;t&&t.has(e.camera)&&e.context?.live?.overrides?.delete(e.camera)})(e)}}class ib extends my{async execute(e){e.getViewManager().setViewByParameters({modifiers:[new ab]})}}class rb{constructor(e){this._api=e}modify(e){const t=[...this._api.getCameraManager().getStore().getAllDependentCameras(e.camera,"substream")];if(t.length<=1)return;const n=My(e),a=t.indexOf(n),i=a<0?0:(a+1)%t.length;Sy(e,t[i])}}class ob extends my{async execute(e){e.getViewManager().setViewByParameters({modifiers:[new rb(e)]})}}class sb{constructor(e){this._substreamID=e}modify(e){Sy(e,this._substreamID)}}class cb extends my{async execute(e){e.getViewManager().setViewByParameters({modifiers:[new sb(this._action.camera)]})}}class lb extends my{async execute(e){await(e.getMediaLoadedInfoManager().get()?.player?.unmute())}}class db extends my{async execute(e){e.getViewManager().setViewByParametersWithNewQuery({params:{view:this._action.frigate_card_action}})}}class ub{createAction(e,t,n){const a=mf(t);if("fire-dom-event"!==t.action||!a)return new xy(e,t,n?.config);if(a.card_id&&a.card_id!==n?.cardID)return null;switch(a.frigate_card_action){case"default":return new _y(e,a,n?.config);case"clip":case"clips":case"image":case"live":case"recording":case"recordings":case"snapshot":case"snapshots":case"timeline":case"diagnostics":return new db(e,a,n?.config);case"sleep":return new tb(e,a,n?.config);case"download":return new yy(e,a,n?.config);case"camera_ui":return new fy(e,a,n?.config);case"expand":return new by(e,a,n?.config);case"fullscreen":return new wy(e,a,n?.config);case"menu_toggle":return new $y(e,a,n?.config);case"camera_select":return new gy(e,a,n?.config);case"live_substream_select":return new cb(e,a,n?.config);case"live_substream_off":return new ib(e,a,n?.config);case"live_substream_on":return new ob(e,a,n?.config);case"media_player":return new Ey(e,a,n?.config);case"microphone_connect":return new Ay(e,a,n?.config);case"microphone_disconnect":return new zy(e,a,n?.config);case"microphone_mute":return new Iy(e,a,n?.config);case"microphone_unmute":return new Ty(e,a,n?.config);case"mute":return new jy(e,a,n?.config);case"unmute":return new lb(e,a,n?.config);case"play":return new Dy(e,a,n?.config);case"pause":return new Oy(e,a,n?.config);case"screenshot":return new eb(e,a,n?.config);case"display_mode_select":return new vy(e,a,n?.config);case"ptz":return new Vy(e,a,n?.config);case"ptz_digital":return new Xy(e,a,n?.config);case"ptz_multi":return new Jy(e,a,n?.config);case"ptz_controls":return new Hy(e,a,n?.config);case"log":return new Cy(e,a,n?.config);case"status_bar":return new nb(e,a,n?.config)} -/* istanbul ignore next: this path cannot be reached -- @preserve */ -/* istanbul ignore next: this path cannot be reached -- @preserve */ -return console.warn(`Frigate card received unknown card action: ${a.frigate_card_action}`),null}}class hb{constructor(e,t,n){this._actions=[],this._factory=new ub,this._stopped=!1,this._context=e;for(const a of Wg(t)){const t=this._factory.createAction(e,a,n);t&&this._actions.push(t)}}async execute(e){for(const t of this._actions){if(this._stopped)break;await t.execute(e)}}async stop(){this._stopped=!0}}const pb=ba.object({action:ba.enum(["tap","double_tap","hold","start_tap","end_tap"])}),mb=ba.object({detail:pb});class gb{constructor(e){this._actionsInFlight=[],this._actionContext={},this.handleInteractionEvent=e=>{const t=mb.safeParse(e);if(!t.success)return;const n=t.data.detail.action,a=this.getMergedActions(),i=yf(n,a);a&&n&&i&&this.executeActions(i,a)},this.handleCustomActionEvent=e=>{"detail"in e&&this.executeActions(e.detail)},this.handleActionExecutionRequestEvent=async e=>{await this.executeActions(e.detail.action,e.detail.config)},this._api=e}getMergedActions(){const e=this._api.getViewManager().getView();if(this._api.getMessageManager().hasMessage())return{};const t=this._api.getConfigManager().getConfig();let n;if(e?.is("live"))n=t?.live.actions;else if(e?.isGalleryView())n=t?.media_gallery?.actions;else if(e?.isViewerView())n=t?.media_viewer.actions;else{if(!e?.is("image"))return{};n=t?.image?.actions}return{...t?.view.actions,...n}}uninitialize(){this._actionsInFlight.forEach((e=>e.stop()))}async executeActions(e,t){const n=new hb(this._actionContext,e,{config:t,cardID:this._api.getConfigManager().getConfig()?.card_id});this._actionsInFlight.push(n),await n.execute(this._api),this._actionsInFlight=this._actionsInFlight.filter((e=>e!==n))}}class fb{constructor(e){this._automations=[],this._priorEvaluations=new Map,this._nestedAutomationExecutions=0,this._api=e}deleteAutomations(e){this._automations=this._automations.filter((t=>t.tag!==e))}addAutomations(e){this._automations.push(...e)}execute(){if(!this._api.getHASSManager().hasHASS()||!this._api.getInitializationManager().isInitializedMandatory()||this._api.getMessageManager().hasErrorMessage())return;const e=[];for(const t of this._automations){const n=this._api.getConditionsManager().evaluateConditions(t.conditions),a=n?t.actions:t.actions_not,i=this._priorEvaluations.get(t);this._priorEvaluations.set(t,n),n!==i&&a&&e.push(...a)}if(!e.length)return;(async e=>{++this._nestedAutomationExecutions,this._nestedAutomationExecutions>10?this._api.getMessageManager().setMessageIfHigherPriority({type:"error",message:V_("error.too_many_automations")}):(await this._api.getActionsManager().executeActions(e),--this._nestedAutomationExecutions)})(e)}}class _b{constructor(e){this._api=e}openURL(){const e=this.getCameraURL();e&&window.open(e)}hasCameraURL(){return!!this.getCameraURL()}getCameraURL(){const e=this._api.getViewManager().getView(),t=e?.queryResults?.getSelectedResult()??null,n=e?.camera?this._api.getCameraManager().getCameraEndpoints(e.camera,{view:e.view,...t&&{media:t}})??null:null;return n?.ui?.endpoint??null}}const vb=(e,t)=>!!((e.attributes.supported_features??0)&t),yb=e=>(e=>vb(e,4)&&"number"==typeof e.attributes.in_progress)(e)||!!e.attributes.in_progress,bb=e=>{switch(e){case"armed_away":return"mdi:shield-lock";case"armed_vacation":return"mdi:shield-airplane";case"armed_home":return"mdi:shield-home";case"armed_night":return"mdi:shield-moon";case"armed_custom_bypass":return"mdi:security";case"pending":case"arming":return"mdi:shield-sync";case"triggered":return"mdi:bell-ring";case"disarmed":return"mdi:shield-off";default:return"mdi:shield"}},wb=(e,t)=>{const n="off"===e;switch(t?.attributes.device_class){case"battery":return n?"mdi:battery":"mdi:battery-outline";case"battery_charging":return n?"mdi:battery":"mdi:battery-charging";case"cold":return n?"mdi:thermometer":"mdi:snowflake";case"connectivity":return n?"mdi:close-network-outline":"mdi:check-network-outline";case"door":return n?"mdi:door-closed":"mdi:door-open";case"garage_door":return n?"mdi:garage":"mdi:garage-open";case"power":case"plug":return n?"mdi:power-plug-off":"mdi:power-plug";case"gas":case"problem":case"safety":case"tamper":return n?"mdi:check-circle":"mdi:alert-circle";case"smoke":return n?"mdi:check-circle":"mdi:smoke";case"heat":return n?"mdi:thermometer":"mdi:fire";case"light":return n?"mdi:brightness5":"mdi:brightness-7";case"lock":return n?"mdi:lock":"mdi:lock-open";case"moisture":return n?"mdi:water-off":"mdi:water";case"motion":return n?"mdi:motion-sensor-off":"mdi:motion-sensor";case"occupancy":case"presence":return n?"mdi:home-outline":"mdi:home";case"opening":return n?"mdi:square":"mdi:square-outline";case"running":return n?"mdi:stop":"mdi:play";case"sound":return n?"mdi:music-note-off":"mdi:music-note";case"update":return n?"mdi:package":"mdi:package-up";case"vibration":return n?"mdi:crop-portrait":"mdi:vibrate";case"window":return n?"mdi:window-closed":"mdi:window-open";default:return n?"mdi:radiobox-blank":"mdi:checkbox-marked-circle"}},xb=(e,t)=>{const n="closed"!==e;switch(t?.attributes.device_class){case"garage":switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:garage";default:return"mdi:garage-open"}case"gate":switch(e){case"opening":case"closing":return"mdi:gate-arrow-right";case"closed":return"mdi:gate";default:return"mdi:gate-open"}case"door":return n?"mdi:door-open":"mdi:door-closed";case"damper":return n?"md:circle":"mdi:circle-slice-8";case"shutter":switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:window-shutter";default:return"mdi:window-shutter-open"}case"curtain":switch(e){case"opening":return"mdi:arrow-split-vertical";case"closing":return"mdi:arrow-collapse-horizontal";case"closed":return"mdi:curtains-closed";default:return"mdi:curtains"}case"blind":case"shade":switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:blinds";default:return"mdi:blinds-open"}case"window":switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:window-closed";default:return"mdi:window-open"}}switch(e){case"opening":return"mdi:arrow-up-box";case"closing":return"mdi:arrow-down-box";case"closed":return"mdi:window-closed";default:return"mdi:window-open"}},Cb={apparent_power:"mdi:flash",aqi:"mdi:air-filter",carbon_dioxide:"mdi:molecule-co2",carbon_monoxide:"mdi:molecule-co",current:"mdi:current-ac",date:"mdi:calendar",energy:"mdi:lightning-bolt",frequency:"mdi:sine-wave",gas:"mdi:gas-cylinder",humidity:"mdi:water-percent",illuminance:"mdi:brightness-5",monetary:"mdi:cash",nitrogen_dioxide:"mdi:molecule",nitrogen_monoxide:"mdi:molecule",nitrous_oxide:"mdi:molecule",ozone:"mdi:molecule",pm1:"mdi:molecule",pm10:"mdi:molecule",pm25:"mdi:molecule",power:"mdi:flash",power_factor:"mdi:angle-acute",pressure:"mdi:gauge",reactive_power:"mdi:flash",signal_strength:"mdi:wifi",sulphur_dioxide:"mdi:molecule",temperature:"mdi:thermometer",timestamp:"mdi:clock",volatile_organic_compounds:"mdi:molecule",voltage:"mdi:sine-wave"},Mb={10:"mdi:battery-10",20:"mdi:battery-20",30:"mdi:battery-30",40:"mdi:battery-40",50:"mdi:battery-50",60:"mdi:battery-60",70:"mdi:battery-70",80:"mdi:battery-80",90:"mdi:battery-90",100:"mdi:battery"},kb={10:"mdi:battery-charging-10",20:"mdi:battery-charging-20",30:"mdi:battery-charging-30",40:"mdi:battery-charging-40",50:"mdi:battery-charging-50",60:"mdi:battery-charging-60",70:"mdi:battery-charging-70",80:"mdi:battery-charging-80",90:"mdi:battery-charging-90",100:"mdi:battery-charging"},Sb=(e,t)=>{const n=Number(e);if(isNaN(n))return"off"===e?"mdi:battery":"on"===e?"mdi:battery-alert":"mdi:battery-unknown";const a=10*Math.round(n/10);return t&&n>=10?kb[a]:t?"mdi:battery-charging-outline":n<=5?"mdi:battery-alert-variant-outline":Mb[a]},Eb=e=>{const t=e?.attributes.device_class;if(t&&t in Cb)return Cb[t];if("battery"===t)return e?((e,t)=>{const n=e.state;return Sb(n,"on"===t?.state)})(e):"mdi:battery";const n=e?.attributes.unit_of_measurement;return"°C"===n||"°F"===n?"mdi:thermometer":void 0},$b="mdi:bookmark",Ab={alert:"mdi:alert",air_quality:"mdi:air-filter",automation:"mdi:robot",calendar:"mdi:calendar",camera:"mdi:video",climate:"mdi:thermostat",configurator:"mdi:cog",conversation:"mdi:text-to-speech",counter:"mdi:counter",fan:"mdi:fan",google_assistant:"mdi:google-assistant",group:"mdi:google-circles-communities",homeassistant:"mdi:home-assistant",homekit:"mdi:home-automation",image_processing:"mdi:image-filter-frames",input_button:"mdi:gesture-tap-button",input_datetime:"mdi:calendar-clock",input_number:"mdi:ray-vertex",input_select:"mdi:format-list-bulleted",input_text:"mdi:form-textbox",light:"mdi:lightbulb",mailbox:"mdi:mailbox",notify:"mdi:comment-alert",number:"mdi:ray-vertex",persistent_notification:"mdi:bell",person:"mdi:account",plant:"mdi:flower",proximity:"mdi:apple-safari",remote:"mdi:remote",scene:"mdi:palette",script:"mdi:script-text",select:"mdi:format-list-bulleted",sensor:"mdi:eye",siren:"mdi:bullhorn",simple_alarm:"mdi:bell",sun:"mdi:white-balance-sunny",timer:"mdi:timer-outline",updater:"mdi:cloud-upload",vacuum:"mdi:robot-vacuum",water_heater:"mdi:thermometer",weather:"mdi:weather-cloudy",zone:"mdi:map-marker-radius"};function zb(e,t,n,a){switch(e){case"alarm_control_panel":return bb(n);case"binary_sensor":return wb(n,t);case"button":switch(t?.attributes.device_class){case"restart":return"mdi:restart";case"update":return"mdi:package-up";default:return"mdi:gesture-tap-button"}case"cover":return xb(n,t);case"device_tracker":return"router"===t?.attributes.source_type?"home"===n?"mdi:lan-connect":"mdi:lan-disconnect":["bluetooth","bluetooth_le"].includes(t?.attributes.source_type)?"home"===n?"mdi:bluetooth-connect":"mdi:bluetooth":"not_home"===n?"mdi:account-arrow-right":"mdi:account";case"humidifier":return n&&"off"===n?"mdi:air-humidifier-off":"mdi:air-humidifier";case"input_boolean":return"on"===n?"mdi:check-circle-outline":"mdi:close-circle-outline";case"lock":switch(n){case"unlocked":return"mdi:lock-open";case"jammed":return"mdi:lock-alert";case"locking":case"unlocking":return"mdi:lock-clock";default:return"mdi:lock"}case"media_player":switch(t?.attributes.device_class){case"speaker":switch(n){case"playing":return"mdi:speaker-play";case"paused":return"mdi:speaker-pause";case"off":return"mdi:speaker-off";default:return"mdi:speaker"}case"tv":switch(n){case"playing":return"mdi:television-play";case"paused":return"mdi:television-pause";case"off":return"mdi:television-off";default:return"mdi:television"}default:switch(n){case"playing":case"paused":return"mdi:cast-connected";case"off":return"mdi:cast-off";default:return"mdi:cast"}}case"switch":switch(t?.attributes.device_class){case"outlet":return"on"===n?"mdi:power-plug":"mdi:power-plug-off";case"switch":return"on"===n?"mdi:toggle-switch":"mdi:toggle-switch-off";default:return"mdi:flash"}case"zwave":switch(n){case"dead":return"mdi:emoticon-dead";case"sleeping":return"mdi:sleep";case"initializing":return"mdi:timer-sand";default:return"mdi:z-wave"}case"sensor":{const e=Eb(t);if(e)return e;break}case"input_datetime":if(!t?.attributes.has_date)return"mdi:clock";if(!t.attributes.has_time)return"mdi:calendar";break;case"sun":return"above_horizon"===t?.state?Ab[e]:"mdi:weather-night";case"update":return"on"===t?.state?yb(t)?"mdi:package-down":"mdi:package-up":"mdi:package"}return e in Ab?Ab[e]:a??$b}async function Ib(e,t,n){const a={type:"auth/sign_path",path:t,expires:n},i=await $v(e,Os,a);return i?e.hassUrl(i.path):null}function Tb(e,t,n,a){if(!e||!n||!n.length)return[];const i=[];for(const r of n){const n=t?.states[r],o=e.states[r];if((a?.stateOnly&&n?.state!==o?.state||!a?.stateOnly&&n!==o)&&(i.push({entityID:r,oldState:n,newState:o}),a?.firstOnly))break}return i}function jb(e,t,n,a){return!!Tb(e,t,n,{...a,firstOnly:!0}).length}function Ob(e){if("off"===e.state||!e.attributes.brightness)return"";return`brightness(${(e.attributes.brightness+245)/5}%)`}function Db(e){return"off"===e.state?"":e.attributes.rgb_color?`rgb(${e.attributes.rgb_color.join(",")})`:""}function Rb(e){return{color:Db(e),filter:Ob(e)}}function Pb(e,t){if(!t.entity)return t;const n=e.states[t.entity];n&&t.state_color&&(t.style={...Rb(n),...t.style}),t.title=t.title??(n?.attributes?.friendly_name||t.entity),t.icon=t.icon??Nb(e,t.entity);const a=n?function(e){return Ye(e.entity_id)}(n):void 0;return t.data_domain=t.state_color||"light"===a&&!1!==t.state_color?a:void 0,n&&(t.data_state=(e=>{const t=e.entity_id.split(".")[0];let n=e.state;return"climate"===t&&(n=e.attributes.hvac_action),n})(n)),t}function Lb(e,t){return t?e?.states[t]?.attributes?.friendly_name:void 0}function Nb(e,t,n){const a=e.states[t];return a&&a.attributes.icon?a.attributes.icon:zb(Ye(t),a,a?.state,n)}const Fb=async()=>{if(["ha-button-menu","ha-button","ha-camera-stream","ha-card","ha-circular-progress","ha-hls-player","ha-icon-button","ha-icon","ha-menu-button","ha-selector","ha-web-rtc-player"].every((e=>customElements.get(e))))return!0;const e=await window.loadCardHelpers();await e.createCardElement({type:"picture-glance",entities:[],camera_image:"dummy-to-load-editor-components"}),await customElements.whenDefined("hui-picture-glance-card");const t=customElements.get("hui-picture-glance-card");if(!t)return!1;const n=new t;return await n.constructor.getConfigElement(),!0},Vb=e=>!!e&&["on","open"].includes(e),Hb=(e,t)=>{if(!e)return[];const n=Object.keys(e.states).filter((e=>!t||e.substr(0,e.indexOf("."))===t));return n.sort(),n};function Bb(e){return!!e?.startsWith("/")}function qb(e,t){return Bb(t)?e.hassUrl(t):t??null}class Ub{constructor(){this._initialized=new Set}async initializeMultipleIfNecessary(e){return(await tf(Object.entries(e),(async([e,t])=>await this.initializeIfNecessary(e,t)))).every(Boolean)}async initializeIfNecessary(e,t){return!!this._initialized.has(e)||(t?!!await t()&&(this._initialized.add(e),!0):(this._initialized.add(e),!0))}uninitialize(e){this._initialized.delete(e)}isInitialized(e){return this._initialized.has(e)}isInitializedMultiple(e){return e.every((e=>this.isInitialized(e)))}}var Wb;!function(e){e.LANGUAGES="languages",e.SIDE_LOAD_ELEMENTS="side-load-elements",e.CAMERAS="cameras",e.MICROPHONE_CONNECT="microphone-connect",e.VIEW="view"}(Wb||(Wb={}));class Zb{constructor(e,t){this._initializationQueue=new w_({concurrency:1}),this._everInitialized=!1,this._api=e,this._initializer=t??new Ub}wasEverInitialized(){return this._everInitialized}isInitializedMandatory(){return!!this._api.getConfigManager().getConfig()&&this._initializer.isInitializedMultiple([Wb.LANGUAGES,Wb.SIDE_LOAD_ELEMENTS,Wb.CAMERAS,...this._api.getMicrophoneManager().shouldConnectOnInitialization()?[Wb.MICROPHONE_CONNECT]:[],Wb.VIEW])}async initializeMandatory(){await this._initializationQueue.add((()=>this._initializeMandatory()))}async _initializeMandatory(){const e=this._api.getHASSManager().getHASS();if(!e||this.isInitializedMandatory())return;if(!await this._initializer.initializeMultipleIfNecessary({[Wb.LANGUAGES]:async()=>await(async e=>{const t=F_(e);return"ca"===t?L_[t]=await import("./lang-ca-449daa4a.js"):"it"===t?L_[t]=await import("./lang-it-2a20a319.js"):"pt"===t?L_[t]=await import("./lang-pt-PT-c4863423.js"):"pt_BR"===t?L_[t]=await import("./lang-pt-BR-83a703b9.js"):"fr"===t&&(L_[t]=await import("./lang-fr-674e5de5.js")),t&&(N_=t),!0})(e),[Wb.SIDE_LOAD_ELEMENTS]:async()=>await Fb()}))return;this._api.getConfigManager().getConfig()&&await this._initializer.initializeMultipleIfNecessary({[Wb.CAMERAS]:async()=>await this._api.getCameraManager().initializeCamerasFromConfig(),...this._api.getMicrophoneManager().shouldConnectOnInitialization()&&{[Wb.MICROPHONE_CONNECT]:async()=>await this._api.getMicrophoneManager().connect()}})&&!this._api.getMessageManager().hasMessage()&&await this._initializer.initializeIfNecessary(Wb.VIEW,this._api.getViewManager().initialize)&&(this._everInitialized=!0,this._api.getCardElementManager().update())}uninitialize(e){this._initializer.uninitialize(e)}}class Qb{constructor(e,t,n,a){this.update=()=>{this._element.requestUpdate()},this._api=e,this._element=t,this._scrollCallback=n,this._menuToggleCallback=a}getElement(){return this._element}scrollReset(){this._scrollCallback()}toggleMenu(){this._menuToggleCallback()}hasUpdated(){return this._element.hasUpdated}elementConnected(){this._api.getInteractionManager().initialize(),this._api.getFullscreenManager().initialize(),this._api.getExpandManager().initialize(),this._api.getMediaLoadedInfoManager().initialize(),this._api.getMicrophoneManager().initialize(),this._api.getKeyboardStateManager().initialize(),this._api.getDefaultManager().initialize(),this._api.getMediaPlayerManager().initialize(),this._api.getHASSManager().getStateWatcher()?.subscribe(this.update,[...this._api.getConfigManager().getConfig()?.view.render_entities??[],...this._api.getMediaPlayerManager().getMediaPlayers()??[]]),of(this._element,(e=>{const t=e.getRootNode();return!!(t&&t instanceof ShadowRoot&&"HUI-PANEL-VIEW"===t.host.tagName)})(this._element),"panel"),of(this._element,!0,"tabindex","0"),this._api.getFullscreenManager().connect(),this._element.addEventListener("mousemove",this._api.getInteractionManager().reportInteraction),this._element.addEventListener("wheel",this._api.getInteractionManager().reportInteraction),this._element.addEventListener("ll-custom",this._api.getActionsManager().handleCustomActionEvent),this._element.addEventListener("action",this._api.getActionsManager().handleInteractionEvent),this._element.addEventListener("action",this._api.getInteractionManager().reportInteraction),this._element.addEventListener("frigate-card:action:execution-request",this._api.getActionsManager().handleActionExecutionRequestEvent),window.addEventListener("location-changed",this._api.getQueryStringManager().requestExecution),window.addEventListener("popstate",this._api.getQueryStringManager().requestExecution),this._api.getQueryStringManager().requestExecution(),this._element.requestUpdate()}elementDisconnected(){of(this._element,!1,"panel"),of(this._element,!1,"tabindex"),this._api.getMediaLoadedInfoManager().clear(),this._api.getFullscreenManager().disconnect(),this._api.getKeyboardStateManager().uninitialize(),this._api.getActionsManager().uninitialize(),this._api.getDefaultManager().uninitialize(),this._api.getHASSManager().getStateWatcher()?.unsubscribe(this.update),this._api.getInitializationManager().uninitialize(Wb.CAMERAS),this._api.getCameraManager().reset(),this._element.removeEventListener("mousemove",this._api.getInteractionManager().reportInteraction),this._element.removeEventListener("wheel",this._api.getInteractionManager().reportInteraction),this._element.removeEventListener("ll-custom",this._api.getActionsManager().handleCustomActionEvent),this._element.removeEventListener("action",this._api.getActionsManager().handleInteractionEvent),this._element.removeEventListener("action",this._api.getInteractionManager().reportInteraction),this._element.removeEventListener("frigate-card:action:execution-request",this._api.getActionsManager().handleActionExecutionRequestEvent),window.removeEventListener("location-changed",this._api.getQueryStringManager().requestExecution),window.removeEventListener("popstate",this._api.getQueryStringManager().requestExecution)}}function Gb(e,t,n){return null==e?e:function(e,t,n,a){if(!hh(e))return e;for(var i=-1,r=(t=sv(t,e)).length,o=r-1,s=e;null!=s&&++i{Gb(e,t,n)},Xb=(e,t,n)=>fv(e,t,n),Jb=(e,t)=>{!function(e,t){null==e||Yb(e,t)}(e,t)},ew=e=>u_(e),tw=(e,t)=>e.replace("#",`[${t.toString()}]`),nw=function(e){let t=!1;for(let n=0;n{const i=Xb(e,t);if(void 0===i)return!1;const r=a?.transform?a.transform(i):i;return!(t===n&&Dv(i,r)||(null===r?a?.keepOriginal||(Jb(e,t),0):void 0===r||(a?.keepOriginal||Jb(e,t),Kb(e,n,r),0)))})(a,e,t,n)}},rw=function(e,t,n){return function(a){let i=iw(e,t,n)(a);return i=cw(bs,iw(e,t,n),(e=>e.overrides))(a)||i,i}},ow=function(e,t){return rw(e,e,{transform:t})},sw=function(e){return rw(e,e,{transform:e=>null})},cw=function(e,t,n){return function(a){let i=!1;const r=Xb(a,e);return Array.isArray(r)&&r.forEach((e=>{const a=n?n(e):e;a&&"object"==typeof a&&(i=t(a)||i)})),i}},lw=(e,t)=>{const n=a=>{let i=!1;if(a&&"object"==typeof a){const r=t?t(a):a;r&&(i=e(r)||i),Array.isArray(a)?a.forEach((e=>{i=n(e)||i})):Object.keys(a).forEach((e=>{i=n(a[e])||i}))}return i};return n},dw=e=>!("object"!=typeof e||!e||void 0===e.mediaLoaded)&&(e.media_loaded=e.mediaLoaded,delete e.mediaLoaded,!0),uw=e=>{if("object"!=typeof e||!e||"object"!=typeof e.conditions||!e.conditions)return!1;const t=e.conditions,n=[];if(void 0!==t.view&&n.push({condition:"view",views:t.view}),void 0!==t.fullscreen&&n.push({condition:"fullscreen",fullscreen:t.fullscreen}),void 0!==t.expand&&n.push({condition:"expand",expand:t.expand}),void 0!==t.camera&&n.push({condition:"camera",cameras:t.camera}),void 0!==t.media_loaded&&n.push({condition:"media_loaded",media_loaded:t.media_loaded}),void 0!==t.state&&Array.isArray(t.state))for(const e of t.state)"object"!=typeof e||!e||void 0===e.state&&void 0===e.state_not&&void 0===e.entity||n.push({condition:"state",...e.state&&{state:e.state},...e.state_not&&{state_not:e.state_not},...e.entity&&{entity:e.entity}});return void 0!==t.media_query&&n.push({condition:"screen",media_query:t.media_query}),!!n.length&&(e.conditions=n,!0)},hw=e=>!("object"!=typeof e||!e||"call-service"!==e.action||"string"!=typeof e.service)&&(e.action="perform-action",e.perform_action=e.service,delete e.service,!0),pw=e=>!("object"!=typeof e||!e||"call-service"!==e.action||void 0===e.service||void 0===e.service_data||void 0!==e.data)&&(e.data=e.service_data,delete e.service_data,!0),mw=e=>!("object"!=typeof e||!e||"custom:frigate-card-action"!==e.action||"frigate_ui"!==e.frigate_card_action)&&(e.frigate_card_action="camera_ui",!0),gw=[cw(bs,dw,(e=>e.conditions)),e=>lw(dw,(e=>e.conditions))("object"==typeof e&&e?e[Ii]:{}),rw("event_gallery",or),rw("menu.buttons.frigate_ui",is),e=>lw(mw)("object"==typeof e&&e?e:{}),cw(Ca,ow("live_provider",(e=>"frigate-jsmpeg"===e?"jsmpeg":e))),rw("live.jsmpeg",ki),rw("live.image",Ci),rw("live.webrtc_card",Si),cw(Ca,rw("frigate.zone","frigate.zones",{transform:e=>Wg(e)})),cw(Ca,rw("frigate.label","frigate.labels",{transform:e=>Wg(e)})),e=>lw(pw)("object"==typeof e&&e?e:{}),function(e){if("object"!=typeof e||!e||!(Ii in e)||!Array.isArray(e[Ii]))return!1;let t=!1;const n=n=>{if(!t){if(!fv(e,"live.controls.ptz")){const{type:t,...a}=n;Gb(e,"live.controls.ptz",a)}t=!0}},a=e=>{const t=[];for(const i of e)if("custom:frigate-card-ptz"===i.type)n(i);else if("conditional"!==i.type&&"custom:frigate-card-conditional"!==i.type||!Array.isArray(i.elements))t.push(i);else{const e=a(i.elements);e.length&&(i.elements=e,t.push(i))}return t},i=a(e[Ii]);return t&&(i.length?e[Ii]=i:delete e[Ii]),t},rw("view.timeout_seconds",Ri),ow("live.lazy_unload",(e=>"all"===e?["unselected","hidden"]:"never"===e?null:Wg(e))),ow("live.auto_play",(e=>"all"===e?null:"never"===e?[]:Wg(e))),ow("live.auto_pause",(e=>"all"===e?["unselected","hidden"]:"never"===e?null:Wg(e))),ow("live.auto_mute",(e=>"all"===e?null:"never"===e?[]:Wg(e))),ow("live.auto_unmute",(e=>"all"===e?["selected","visible","microphone"]:"never"===e?null:Wg(e))),ow("media_viewer.auto_play",(e=>"all"===e?null:"never"===e?[]:Wg(e))),ow("media_viewer.auto_pause",(e=>"all"===e?null:"never"===e?[]:Wg(e))),ow("media_viewer.auto_mute",(e=>"all"===e?null:"never"===e?[]:Wg(e))),ow("media_viewer.auto_unmute",(e=>"all"===e?["selected","visible"]:"never"===e?null:Wg(e))),rw("live.controls.thumbnails.media",io),rw("timeline.media",Ho),rw("live.controls.timeline.media",po),rw("media_viewer.controls.timeline.media",Rr),rw("view.scan",Xi),rw("view.triggers.enabled",ar,{transform:e=>!0===e?"live":null,keepOriginal:!0}),rw("view.triggers.enabled",er,{transform:e=>!0!==e&&null}),rw("view.triggers.untrigger_reset",ir,{transform:e=>e?"default":null}),rw("live.layout",Ai),sw("media_viewer.layout"),sw("image.layout"),cw(bs,uw),e=>lw(uw)("object"==typeof e&&e?e[Ii]:{}),e=>lw(uw)("object"==typeof e&&e?e.automations:{}),cw(Ca,rw("hide","capabilities",{transform:e=>!0===e?{disable_except:["substream"]}:null})),rw("performance.profile",$s,{transform:e=>"low"===e?["low-performance"]:null}),cw(bs,iw("overrides","merge")),rw("live.controls.ptz",zi,{transform:e=>{if("object"!=typeof e||!e)return;const t=["data_left","data_right","data_up","data_down","data_zoom_in","data_zoom_out","service"],n=["actions_left","actions_right","actions_up","actions_down","actions_zoom_in","actions_zoom_out"],a=[...t,...n,"data_home","actions_home"];if(!Object.keys(e).some((e=>a.includes(e))))return;const i={};t.filter((t=>t in e)).reduce(((t,n)=>(t[n]=e[n],t)),i),n.filter((t=>t in e)).reduce(((t,n)=>("object"==typeof e[n]&&"tap_action"in e[n]&&(t[n]=e[n].tap_action),t)),i);const r=()=>{i.presets="presets"in e&&"object"==typeof e.presets&&e.presets?e.presets:{}};return"actions_home"in e&&"object"==typeof e.actions_home&&e.actions_home&&"tap_action"in e.actions_home?(r(),i.presets.home=e.actions_home.tap_action):"data_home"in e&&"object"==typeof e.data_home&&e.data_home&&"string"==typeof e.service&&(r(),i.presets.service=e.service,i.presets.data_home=e.data_home),i},keepOriginal:!0}),ow("live.controls.ptz",(e=>{if("object"!=typeof e||!e)return e;const t=["mode","position","orientation","hide_pan_tilt","hide_zoom","hide_home","style"],n=Object.keys(e);return n.some((e=>!t.includes(e)))?n.filter((e=>t.includes(e))).reduce(((t,n)=>(t[n]=e[n],t)),{}):void 0})),rw("view.update_cycle_camera",Wi),rw("view.update_force",Qi,{transform:e=>!0===e?"all":null}),rw("view.update_seconds",Gi),rw("view.update_entities",Yi),iw("live.controls.title",ds,{transform:e=>"object"==typeof e&&e&&"string"==typeof e.mode?"none"===e.mode?{style:"none"}:e.mode.includes("bottom")?{position:"bottom"}:e.mode.includes("top")?{position:"top"}:null:null}),sw("live.controls.title"),sw("media_viewer.controls.title"),e=>lw(hw)("object"==typeof e&&e?e:{}),rw("dimensions.max_height",ys),sw("dimensions.min_height")];class fw extends zs{}class _w extends Event{constructor(e,t){super("frigate-card:conditions:evaluate",t),this.conditions=e}}function vw(e,t,n){let a=ew(t),i=!1;if(n?.configOverrides)for(const t of n.configOverrides)e.evaluateConditions(t.conditions,n?.stateOverrides)&&(t.delete?.forEach((e=>{Jb(a,e)})),Object.keys(t.set??{}).forEach((e=>{Kb(a,e,t.set?.[e])})),Object.keys(t.merge??{}).forEach((e=>{Kb(a,e,Ly({},Xb(a,e),t.merge?.[e]))})),i=!0);if(!i)return t;if(n?.configOverrides?.some((e=>e.delete?.length))&&(a=hf(a)),n?.schema){const e=n.schema.safeParse(a);if(!e.success)throw new fw(V_("error.invalid_configuration_override"),[e.error.errors,a]);return e.data}return a}class yw{constructor(e,t){this._state={},this._epoch=this._createEpoch(),this._hasHAStateConditions=!1,this._mediaQueries=[],this._mediaQueryTrigger=()=>this._triggerChange(),this._api=e,this._listeners=[()=>this._api.getConfigManager().computeOverrideConfig(),()=>this._api.getAutomationsManager().execute(),...t?[t]:[]]}removeConditions(){this._mediaQueries.forEach((e=>e.removeEventListener("change",this._mediaQueryTrigger))),this._mediaQueries=[]}setConditionsFromConfig(){this.removeConditions();const e=(()=>{const e=this._api.getConfigManager().getConfig(),t=[];e?.overrides?.forEach((e=>t.push(...e.conditions))),e?.automations?.forEach((e=>t.push(...e.conditions)));const n=e=>{const a=vl.safeParse(e);a.success?(t.push(...a.data.conditions),a.data.elements?.forEach(n)):e&&"object"==typeof e&&Object.keys(e).forEach((t=>n(e[t])))};return e?.elements?.forEach(n),t})();this._hasHAStateConditions=e.some((e=>!e.condition||["state","numeric_state","user"].includes(e.condition))),e.forEach((e=>{if("screen"===e.condition){const t=window.matchMedia(e.media_query);t.addEventListener("change",this._mediaQueryTrigger),this._mediaQueries.push(t)}}))}setState(e){Object.keys(e).every((t=>Dv(e[t],this._state[t])))||(this._state={...this._state,...e},this._triggerChange())}getState(){return this._state}hasHAStateConditions(){return this._hasHAStateConditions}getEpoch(){return this._epoch}evaluateConditions(e,t){return e.every((e=>this._evaluateCondition(e,t)))}_evaluateCondition(e,t){const n={...this._state,...t};switch(e.condition){case void 0:case"state":return!!n.state&&(!e.state&&!e.state_not||e.entity in n.state&&(!e.state||(Array.isArray(e.state)?e.state.includes(n.state[e.entity].state):e.state===n.state[e.entity].state))&&(!e.state_not||(Array.isArray(e.state_not)?!e.state_not.includes(n.state[e.entity].state):e.state_not!==n.state[e.entity].state)));case"view":return!!n?.view&&e.views.includes(n.view);case"fullscreen":return void 0!==n.fullscreen&&e.fullscreen===n.fullscreen;case"expand":return void 0!==n.expand&&e.expand===n.expand;case"camera":return!!n.camera&&e.cameras.includes(n.camera);case"numeric_state":return!!n.state&&e.entity in n.state&&void 0!==n.state[e.entity].state&&(void 0===e.above||Number(n.state[e.entity].state)>e.above)&&(void 0===e.below||Number(n.state[e.entity].state)n.triggered?.has(e)));case"interaction":return void 0!==n.interaction&&e.interaction===n.interaction;case"microphone":return!(void 0!==e.connected&&n.microphone?.connected!==e.connected||void 0!==e.muted&&n.microphone?.muted!==e.muted);case"key":return!(!n.keys||!(e.key in n.keys)||(e.state??"down")!==n.keys[e.key].state||void 0!==e.ctrl&&e.ctrl!==!!n.keys[e.key].ctrl||void 0!==e.alt&&e.alt!==!!n.keys[e.key].alt||void 0!==e.meta&&e.meta!==!!n.keys[e.key].meta||void 0!==e.shift&&e.shift!==!!n.keys[e.key].shift)}}_createEpoch(){return{manager:this}}_triggerChange(){this._epoch=this._createEpoch(),this._listeners.forEach((e=>e()))}}const bw={casting:{[Qr]:!1,[Sr]:!1,[es]:"none",[`${os}.enabled`]:!0,[`${ss}.enabled`]:!0,[`${rs}.enabled`]:!1,[`${cs}.enabled`]:!1,[Zr]:["selected","visible"],[vs]:"static",[_s]:"16:9",[$i]:1,[$o]:!0},"low-performance":{[ro]:"none",[Ar]:"none",[Uo]:"none",[fo]:!1,[Nr]:!1,[Bo]:!1,[Wr]:[],[mr]:[],[gr]:[],[fr]:[],[ko]:["unselected","hidden"],[Co]:!1,[xr]:!1,[Eo]:"none",[kr]:"none",[$o]:!1,[Er]:"chevrons",[hs]:"none",[es]:"outside",[`${as}.enabled`]:!1,[`${ls}.enabled`]:!1,[`${ls}.enabled`]:!1,[`${cs}.enabled`]:!1,[lr]:!1,[dr]:!1,[ur]:!1,[cr]:!1,[co]:!1,[lo]:!1,[uo]:!1,[so]:!1,[Ir]:!1,[Tr]:!1,[jr]:!1,[zr]:!1,[Qo]:!1,[Go]:!1,[Yo]:!1,[Zo]:!1,[xs]:!1,[Cs]:10,[Es]:!1,[Ss]:!1,[Mr]:!1,[Ei]:!1,[Mi]:"image",[$i]:10,[ar]:"none",[Ms]:1},scrubbing:{[mo]:"below",[_o]:"ribbon",[go]:"seek",[Pr]:"below",[Fr]:"ribbon",[Lr]:"seek"}},ww=(e,t,n)=>{const a=Ds(Nd).safeParse(e);if(!a.success)return t;const i=a.data;for(const e of n??[])e in bw&&Object.entries(bw[e]).forEach((([e,n])=>{return r=n,void(void 0===Xb(i,a=e)&&Kb(t,a,r));var a,r}));return t},xw=e=>{switch(e){case"ptz_left":return"left";case"ptz_right":return"right";case"ptz_up":return"up";case"ptz_down":return"down";case"ptz_zoom_in":return"zoom_in";case"ptz_zoom_out":return"zoom_out"} -/* istanbul ignore next: No (current) way to reach this code -- @preserve */return null},Cw=(e,t)=>{if(!t.enabled)return[];const n=[];for(const a of["ptz_down","ptz_left","ptz_right","ptz_up","ptz_zoom_in","ptz_zoom_out"]){const i=t[a],r=xw(a);i&&r&&(n.push({conditions:[{condition:"key",key:i.key,state:"down",shift:i.shift,ctrl:i.ctrl,alt:i.alt,meta:i.meta}],actions:[vf({ptzAction:r,ptzPhase:"start"})],tag:e}),n.push({conditions:[{condition:"key",key:i.key,state:"up"}],actions:[vf({ptzAction:r,ptzPhase:"stop"})],tag:e}))}const a=t.ptz_home;return a&&n.push({conditions:[{condition:"key",key:a.key,state:"down",shift:a.shift,ctrl:a.ctrl,alt:a.alt,meta:a.meta}],actions:[vf()],tag:e}),n};class Mw{constructor(e){this._config=null,this._overriddenConfig=null,this._rawConfig=null,this._cardWideConfig=null,this._api=e}hasConfig(){return!!this.getConfig()}getConfig(){return this._overriddenConfig??this._config}getCardWideConfig(){return this._cardWideConfig}getNonOverriddenConfig(){return this._config}getRawConfig(){return this._rawConfig}setConfig(e){if(!e)throw new Error(V_("error.invalid_configuration"));const t=Nd.safeParse(e);if(!t.success){const n=aw(e),a=Ps(t.error);let i="";throw n&&(i=`${V_("error.upgrade_available")}. `),new Error(i+`${V_("error.invalid_configuration")}: `+(a&&a.size?JSON.stringify([...a],null," "):V_("error.invalid_configuration_no_hint")))}const n=ww(e,t.data,t.data.profiles);var a;(this._rawConfig=e,Dv(this._config,n))||(this._config=n,this._cardWideConfig={performance:n.performance,debug:n.debug},this._api.getConditionsManager().setConditionsFromConfig(),this._api.getConditionsManager().setState({view:void 0,displayMode:void 0,camera:void 0}),this._api.getMediaLoadedInfoManager().clear(),this._api.getInitializationManager().uninitialize(Wb.VIEW),this._api.getViewManager().reset(),this._api.getMessageManager().reset(),this._api.getStyleManager().setPerformance(),this._api.getStatusBarItemManager().removeAllDynamicStatusBarItems(),((e,t)=>{e.getAutomationsManager().deleteAutomations(t);const n=e.getConfigManager().getConfig()?.view.keyboard_shortcuts;if(!n)return;const a=Cw(t,n);a.length&&e.getAutomationsManager().addAutomations(a)})(this._api,this),(a=this._api).getAutomationsManager().deleteAutomations(),a.getAutomationsManager().addAutomations(a.getConfigManager().getNonOverriddenConfig()?.automations??[]),this.computeOverrideConfig(),this._api.getCardElementManager().update())}computeOverrideConfig(){const e=this._api.getConditionsManager();if(!this._config)return;let t=null;try{t=vw(e,this._config,{configOverrides:this._config.overrides,schema:Nd})}catch(e){return void this._api.getMessageManager().setErrorIfHigherPriority(e)}if(Dv(t,this._overriddenConfig))return;const n=this._overriddenConfig;this._overriddenConfig=t,this._api.getStyleManager().setMinMaxHeight(),!n||Dv(n?.cameras,this._overriddenConfig?.cameras)&&Dv(n?.cameras_global,this._overriddenConfig?.cameras_global)||this._api.getInitializationManager().uninitialize(Wb.CAMERAS),n&&n?.live.microphone.always_connected!==this._overriddenConfig?.live.microphone.always_connected&&this._api.getInitializationManager().uninitialize(Wb.MICROPHONE_CONNECT),this._initializeBackground(n)}async _initializeBackground(e){await this._api.getDefaultManager().initializeIfNecessary(e),await this._api.getMediaPlayerManager().initializeIfNecessary(e),this._api.getCardElementManager().update()}}class kw{constructor(e){this._timer=new xf,this._stateChangeHandler=()=>{this._setToDefaultIfAllowed()},this._api=e}async initializeIfNecessary(e){Dv(e?.view.default_reset,this._api.getConfigManager().getConfig()?.view.default_reset)||await this.initialize()}async initialize(){this.uninitialize();const e=this._api.getConfigManager().getConfig()?.view.default_reset;e?.entities.length&&this._api.getHASSManager().getStateWatcher().subscribe(this._stateChangeHandler,e.entities);const t=this._api.getConfigManager().getConfig()?.view.default_reset.every_seconds;return t&&this._timer.startRepeated(t,(()=>this._setToDefaultIfAllowed())),this._api.getConfigManager().getConfig()?.view.default_reset.after_interaction&&this._api.getAutomationsManager().addAutomations([{actions:[gf("default")],conditions:[{condition:"interaction",interaction:!1}],tag:this}]),!0}uninitialize(){this._timer.stop(),this._api.getHASSManager().getStateWatcher().unsubscribe(this._stateChangeHandler),this._api.getAutomationsManager().deleteAutomations(this)}_setToDefaultIfAllowed(){this._isAutomatedUpdateAllowed()&&this._api.getViewManager().setViewDefault()}_isAutomatedUpdateAllowed(){const e=this._api.getConfigManager().getConfig()?.view.default_reset.interaction_mode;return!!e&&((e,t)=>{switch(e){case"all":return!0;case"active":return t;case"inactive":return!t}})(e,this._api.getInteractionManager().hasInteraction())}}const Sw=(e,t="download")=>{const n=new URL(e).origin===window.location.origin,a=e.startsWith("data:");if(navigator.userAgent.startsWith("Home Assistant/")||navigator.userAgent.startsWith("HomeAssistant/")||!n&&!a)window.open(e,"_blank");else{const n=document.createElement("a");n.setAttribute("download",t),n.href=e,n.click(),n.remove()}},Ew=async(e,t,n)=>{const a=await t.getMediaDownloadPath(n);if(!a)throw new zs(V_("error.download_no_media"));let i=a.endpoint;if(a.sign){let t;try{t=await Ib(e,a.endpoint)}catch(e){Gg(e)}if(!t)throw new zs(V_("error.download_sign_failed"));i=t}Sw(i)},$w=e=>{const t=document.createElement("canvas");t.width=e.videoWidth,t.height=e.videoHeight;const n=t.getContext("2d");return n?(n.drawImage(e,0,0,t.width,t.height),t.toDataURL("image/jpeg")):null};class Aw{constructor(e){this._api=e}async downloadViewerMedia(){const e=this._api.getViewManager().getView()?.queryResults?.getSelectedResult(),t=this._api.getHASSManager().getHASS();if(!e||!t)return!1;try{await Ew(t,this._api.getCameraManager(),e)}catch(e){return this._api.getMessageManager().setErrorIfHigherPriority(e),!1}return!0}async downloadScreenshot(){const e=await(this._api.getMediaLoadedInfoManager().get()?.player?.getScreenshotURL());e&&Sw(e,(e=>{if(e?.is("live")||e?.is("image"))return`${e.view}-${e.camera}-${Wu(new Date,"yyyy-MM-dd-HH-mm-ss")}.jpg`;if(e?.isViewerView()){const t=e.queryResults?.getSelectedResult(),n=t?.getID()??null;return`${e.view}-${e.camera}${n?`-${n}`:""}.jpg`}return"screenshot.jpg"})(this._api.getViewManager().getView()))}}class zw{constructor(e){this._expanded=!1,this._api=e}initialize(){this._setConditionState()}isExpanded(){return this._expanded}toggleExpanded(){this.setExpanded(!this._expanded)}setExpanded(e){e&&this._api.getFullscreenManager().isInFullscreen()&&this._api.getFullscreenManager().stopFullscreen(),this._expanded=e,this._setConditionState(),this._api.getCardElementManager().update()}_setConditionState(){this._api.getConditionsManager()?.setState({expand:this._expanded})}}const Iw=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],Tw=(()=>{if("undefined"==typeof document)return!1;const e=Iw[0],t={};for(const n of Iw){const a=n?.[1];if(a in document){for(const[a,i]of n.entries())t[e[a]]=i;return t}}return!1})(),jw={change:Tw.fullscreenchange,error:Tw.fullscreenerror};let Ow={request:(e=document.documentElement,t)=>new Promise(((n,a)=>{const i=()=>{Ow.off("change",i),n()};Ow.on("change",i);const r=e[Tw.requestFullscreen](t);r instanceof Promise&&r.then(i).catch(a)})),exit:()=>new Promise(((e,t)=>{if(!Ow.isFullscreen)return void e();const n=()=>{Ow.off("change",n),e()};Ow.on("change",n);const a=document[Tw.exitFullscreen]();a instanceof Promise&&a.then(n).catch(t)})),toggle:(e,t)=>Ow.isFullscreen?Ow.exit():Ow.request(e,t),onchange(e){Ow.on("change",e)},onerror(e){Ow.on("error",e)},on(e,t){const n=jw[e];n&&document.addEventListener(n,t,!1)},off(e,t){const n=jw[e];n&&document.removeEventListener(n,t,!1)},raw:Tw};Object.defineProperties(Ow,{isFullscreen:{get:()=>Boolean(document[Tw.fullscreenElement])},element:{enumerable:!0,get:()=>document[Tw.fullscreenElement]??void 0},isEnabled:{enumerable:!0,get:()=>Boolean(document[Tw.fullscreenEnabled])}}),Tw||(Ow={isEnabled:!1});var Dw=Ow;class Rw{constructor(e){this._fullscreenHandler=()=>{this._api.getExpandManager().setExpanded(!1),this._setConditionState(),this._api.getCardElementManager().update()},this._api=e}initialize(){this._setConditionState()}connect(){Dw.isEnabled&&Dw.on("change",this._fullscreenHandler)}disconnect(){Dw.isEnabled&&Dw.off("change",this._fullscreenHandler)}isInFullscreen(){return Dw.isEnabled&&Dw.isFullscreen}toggleFullscreen(){Dw.toggle(this._api.getCardElementManager().getElement())}stopFullscreen(){Dw.exit()}_setConditionState(){this._api.getConditionsManager()?.setState({fullscreen:this.isInFullscreen()})}}class Pw{constructor(){this._watcherCallbacks=new Map}setHASS(e,t){if(e)for(const[n,a]of this._watcherCallbacks.entries()){const i=Tb(t,e,a,{stateOnly:!0,firstOnly:!0});i.length&&n(i[0])}}subscribe(e,t){return!!t.length&&(this._watcherCallbacks.has(e)?this._watcherCallbacks.get(e)?.push(...t):this._watcherCallbacks.set(e,t),!0)}unsubscribe(e){this._watcherCallbacks.delete(e)}}class Lw{constructor(e){this._hass=null,this._stateWatcher=new Pw,this._api=e}getHASS(){return this._hass}hasHASS(){return!!this._hass}getStateWatcher(){return this._stateWatcher}setHASS(e){if(((e,t)=>e?.connected!==t?.connected)(this._hass,e)&&(e?.connected?this._api.getMessageManager().resetType("connection"):this._api.getMessageManager().setMessageIfHigherPriority({message:V_("error.reconnecting"),icon:"mdi:lan-disconnect",type:"connection",dotdotdot:!0})),!e)return;const t=this._hass;this._hass=e,this._api.getConditionsManager().hasHAStateConditions()&&this._api.getConditionsManager().setState({state:this._hass.states,user:this._hass.user}),this._api.getStyleManager().setLightOrDarkMode(),this._stateWatcher.setHASS(t,e)}}var Nw=function(){return th.Date.now()},Fw="Expected a function",Vw=Math.max,Hw=Math.min;function Bw(e,t,n){var a,i,r,o,s,c,l=0,d=!1,u=!1,h=!0;if("function"!=typeof e)throw new TypeError(Fw);function p(t){var n=a,r=i;return a=i=void 0,l=t,o=e.apply(r,n)}function m(e){var n=e-c;return void 0===c||n>=t||n<0||u&&e-l>=r}function g(){var e=Nw();if(m(e))return f(e);s=setTimeout(g,function(e){var n=t-(e-c);return u?Hw(n,r-(e-l)):n}(e))}function f(e){return s=void 0,h&&a?p(e):(a=i=void 0,o)}function _(){var e=Nw(),n=m(e);if(a=arguments,i=this,c=e,n){if(void 0===s)return function(e){return l=e,s=setTimeout(g,t),d?p(e):o}(c);if(u)return clearTimeout(s),s=setTimeout(g,t),p(c)}return void 0===s&&(s=setTimeout(g,t)),o}return t=Cg(t)||0,hh(n)&&(d=!!n.leading,r=(u="maxWait"in n)?Vw(Cg(n.maxWait)||0,t):r,h="trailing"in n?!!n.trailing:h),_.cancel=function(){void 0!==s&&clearTimeout(s),l=0,a=c=i=s=void 0},_.flush=function(){return void 0===s?o:f(Nw())},_}function qw(e,t,n){var a=!0,i=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return hh(n)&&(a="leading"in n?!!n.leading:a,i="trailing"in n?!!n.trailing:i),Bw(e,t,{leading:a,maxWait:t,trailing:i})}class Uw{constructor(e){this._timer=new xf,this.reportInteraction=qw((()=>{this._reportInteraction()}),1e3),this._api=e}initialize(){this._api.getConditionsManager().setState({interaction:!1})}hasInteraction(){return this._timer.isRunning()}_reportInteraction(){this._timer.stop();const e=this._api.getConfigManager().getConfig()?.view.interaction_seconds;e&&(this._api.getConditionsManager().setState({interaction:!0}),this._timer.start(e,(()=>{this._api.getConditionsManager().setState({interaction:!1}),this._api.getStyleManager().setLightOrDarkMode()})))}}class Ww{constructor(e){this._state={},this._handleKeydown=e=>{const t={state:"down",ctrl:e.ctrlKey,alt:e.altKey,meta:e.metaKey,shift:e.shiftKey};Dv(this._state[e.key],t)||(this._state[e.key]=t,this._processStateChange())},this._handleKeyup=e=>{e.key in this._state&&"down"===this._state[e.key].state&&(this._state[e.key].state="up",this._processStateChange())},this._handleBlur=()=>{Object.keys(this._state).length&&(this._state={},this._processStateChange())},this._api=e}initialize(){const e=this._api.getCardElementManager().getElement();e.addEventListener("keydown",this._handleKeydown),e.addEventListener("keyup",this._handleKeyup),e.addEventListener("blur",this._handleBlur)}uninitialize(){const e=this._api.getCardElementManager().getElement();e.removeEventListener("keydown",this._handleKeydown),e.removeEventListener("keyup",this._handleKeyup),e.removeEventListener("blur",this._handleBlur)}_processStateChange(){this._api.getConditionsManager().setState({keys:this._state})}}function Zw(e,t){let n;return n=e instanceof Event?e.composedPath()[0]:e,n instanceof HTMLImageElement?{width:n.naturalWidth,height:n.naturalHeight,...t}:n instanceof HTMLVideoElement?{width:n.videoWidth,height:n.videoHeight,...t}:n instanceof HTMLCanvasElement?{width:n.width,height:n.height,player:t?.player,...t}:null}function Qw(e,t,n){const a=Zw(t,n);a&&Gw(e,a)}function Gw(e,t){Bg(e,"media:loaded",t)}function Yw(e){Bg(e,"media:unloaded")}function Kw(e){Bg(e,"media:volumechange")}function Xw(e){Bg(e,"media:play")}function Jw(e){Bg(e,"media:pause")}class ex{constructor(e){this._current=null,this._lastKnown=null,this._api=e}initialize(){this.clear()}set(e){var t;(t=e).height>=50&&t.width>=50&&(B_(this._api.getConfigManager().getCardWideConfig(),"Frigate Card media load: ",e),this._current=e,this._lastKnown=e,this._api.getConditionsManager().setState({media_loaded:!0}),this._api.getStyleManager().setExpandedMode(),this._api.getCardElementManager().update())}get(){return this._current}getLastKnown(){return this._lastKnown}clear(){this._current=null,this._api.getConditionsManager().setState({media_loaded:!1})}has(){return!!this._current}}class tx{static isEvent(e){return this.isClip(e)||this.isSnapshot(e)}static isRecording(e){return"recording"===e.getMediaType()}static isClip(e){return"clip"===e.getMediaType()}static isSnapshot(e){return"snapshot"===e.getMediaType()}static isVideo(e){return this.isClip(e)||this.isRecording(e)}}class nx{constructor(e){this._mediaPlayers=[],this._api=e}getMediaPlayers(){return this._mediaPlayers}hasMediaPlayers(){return this._mediaPlayers.length>0}async initializeIfNecessary(e){e?.menu.buttons.media_player.enabled!==this._api.getConfigManager().getConfig()?.menu.buttons.media_player.enabled&&await this.initialize()}async initialize(){const e=this._api.getHASSManager().getHASS();if(!e||!this._api.getConfigManager().getConfig()?.menu.buttons.media_player.enabled)return!1;const t=Object.keys(e.states).filter((t=>{if(t.startsWith("media_player.")){const n=e.states[t];if(n&&"unavailable"!==n.state&&vb(n,131072))return!0}return!1}));let n=null;try{n=await this._api.getEntityRegistryManager().getEntities(e,t)}catch(e){Gg(e)}return this._mediaPlayers=t.filter((e=>{const t=n?.get(e);return!t||!t.hidden_by})),!0}async stop(e){const t=this._api.getHASSManager().getHASS(),n=t?.states[e];if(!n)return;let a;if(vb(n,4096))a="media_stop";else{if(!vb(n,256))return;a="turn_off"}await t.callService("media_player",a,{entity_id:e})}async playLive(e,t){const n=this._api.getCameraManager().getStore().getCameraConfig(t);n&&("dashboard"===n.cast?.method?await this._playLiveDashboard(e,n):await this._playLiveStandard(e,t,n))}async _playLiveStandard(e,t,n){const a=this._api.getHASSManager().getHASS(),i=n?.camera_entity??null;if(!a||!i)return;const r=this._api.getCameraManager().getCameraMetadata(t)?.title??null,o=a.states[i]?.attributes?.entity_picture??null;await a.callService("media_player","play_media",{entity_id:e,media_content_id:`media-source://camera/${i}`,media_content_type:"application/vnd.apple.mpegurl",extra:{...r&&{title:r},...o&&{thumb:o}}})}async _playLiveDashboard(e,t){const n=this._api.getHASSManager().getHASS();if(!n)return;const a=t.cast?.dashboard;a?.dashboard_path&&a?.view_path?await n.callService("cast","show_lovelace_view",{entity_id:e,dashboard_path:a.dashboard_path,view_path:a.view_path}):this._api.getMessageManager().setMessageIfHigherPriority({type:"error",icon:"mdi:cast",message:V_("error.no_dashboard_or_view")})}async playMedia(e,t){const n=this._api.getHASSManager().getHASS();if(!n||!t)return;const a=t.getTitle(),i=t.getThumbnail();await n.callService("media_player","play_media",{entity_id:e,media_content_id:t.getContentID(),media_content_type:tx.isVideo(t)?"video":"image",extra:{...a&&{title:a},...i&&{thumb:i}}})}}class ax{constructor(e){this._message=null,this._api=e}getMessage(){return this._message}hasMessage(){return!!this._message}hasErrorMessage(){return"error"===this._message?.type}reset(){const e=this.hasMessage();this._message=null,e&&this._api.getCardElementManager().update()}resetType(e){this._message?.type===e&&this.reset()}setErrorIfHigherPriority(e,t){e&&"object"==typeof e&&"message"in e&&(Gg(e),this.setMessageIfHigherPriority({message:t?`${t}: ${e.message}`:e.message,type:"error",...e instanceof zs&&{context:e.context}}))}setMessageIfHigherPriority(e){const t=this._message?Is[this._message.type]:0,n=Is[e.type];return!(this._message&&ne.stop())),this._stream=void 0,this._setConditionState(),this._api.getCardElementManager().update()}getStream(){return this._stream??void 0}mute(){const e=this.isMuted();this._mute=!0,this._setMute(),this._setConditionState(),e||this._callListeners("muted")}async unmute(){if(!this.isSupported())return;const e=!this.isMuted(),t=()=>{this._mute=!1,this._setMute()};this.isConnected()||this.isForbidden()?this.isConnected()&&t():(t(),await this.connect()),this._setConditionState(),e||this._callListeners("unmuted")}isConnected(){return!!this._stream}isForbidden(){return null===this._stream}isMuted(){return!this._stream||this._stream.getTracks().every((e=>!e.enabled))}addListener(e){this._listeners.push(e)}removeListener(e){this._listeners=this._listeners.filter((t=>t!==e))}_callListeners(e){this._listeners.forEach((t=>t(e)))}_setMute(){this._stream?.getTracks().forEach((e=>{e.enabled=!this._mute})),this._startTimer(),this._api.getCardElementManager().update()}_startTimer(){const e=this._api.getConfigManager().getConfig()?.live.microphone;if(e?.always_connected)return;const t=e?.disconnect_seconds??0;t&&this._timer.start(t,(()=>{this.disconnect()}))}_setConditionState(){this._api.getConditionsManager().setState({microphone:{muted:this.isMuted(),connected:this.isConnected()}})}}class rx{constructor(e){this._shouldRun=!0,this.requestExecution=()=>{this._shouldRun=!0,this._api.getCardElementManager().update()},this.executeIfNecessary=async()=>{this._shouldRun&&(this._shouldRun=!1,await this._executeViewRelated(this._calculateIntent()),await this._executeNonViewRelated(this._calculateIntent()))},this._isViewAction=e=>{switch(e.frigate_card_action){case"clip":case"clips":case"diagnostics":case"image":case"live":case"recording":case"recordings":case"snapshot":case"snapshots":case"timeline":return!0}return!1},this._api=e}hasViewRelatedActionsToRun(){return!!this._calculateIntent().view&&this._shouldRun}async _executeViewRelated(e){e.view&&(e.view.default?await this._api.getViewManager().setViewDefaultWithNewQuery({params:{camera:e.view.camera},...e.view.substream&&{modifiers:[new sb(e.view.substream)]}}):await this._api.getViewManager().setViewByParametersWithNewQuery({params:{...e.view.view&&{view:e.view.view},...e.view.camera&&{camera:e.view.camera}},...e.view.substream&&{modifiers:[new sb(e.view.substream)]}}))}async _executeNonViewRelated(e){e.other&&await this._api.getActionsManager().executeActions(e.other)}_calculateIntent(){const e={};for(const t of this._getActions())this._isViewAction(t)?((e.view??={}).view=t.frigate_card_action,(e.view??={}).default=void 0):"default"===t.frigate_card_action?((e.view??={}).default=!0,(e.view??={}).view=void 0):"camera_select"===t.frigate_card_action?(e.view??={}).camera=t.camera:"live_substream_select"===t.frigate_card_action?(e.view??={}).substream=t.camera:(e.other??=[]).push(t);return e}_getActions(){const e=new URLSearchParams(window.location.search),t=[],n=new RegExp(/^frigate-card-action([.:](?\w+))?[.:](?\w+)/);for(const[a,i]of e.entries()){const e=a.match(n);if(!e||!e.groups)continue;const r=e.groups.cardID,o=e.groups.action;let s=null;switch(o){case"camera_select":case"live_substream_select":i&&(s=ff(o,i,{cardID:r}));break;case"camera_ui":case"clip":case"clips":case"default":case"diagnostics":case"download":case"expand":case"image":case"live":case"menu_toggle":case"recording":case"recordings":case"snapshot":case"snapshots":case"timeline":s=gf(o,{cardID:r});break;default:console.warn(`Frigate card received unknown card action in query string: ${o}`)}s&&t.push(s)}return t}}class ox{constructor(e){this._items=[],this._dynamicItems=[],this._api=e}addDynamicStatusBarItem(e){this._dynamicItems.includes(e)||this._dynamicItems.push(e),this._api.getCardElementManager().update()}removeDynamicStatusBarItem(e){this._dynamicItems=this._dynamicItems.filter((t=>!Dv(t,e))),this._api.getCardElementManager().update()}removeAllDynamicStatusBarItems(){this._dynamicItems=[],this._api.getCardElementManager().update()}calculateItems(e){const t=e?.view?e?.cameraManager?.getCameraMetadata(e?.view?.camera):null,n=t?.engineLogo??null,a=e?.view?.is("live")?t?.title??null:e?.view?.isViewerView()?e?.view.queryResults?.getSelectedResult()?.getTitle()??null:null,i=e?.mediaLoadedInfo?this._calculateResolution(e?.mediaLoadedInfo):null,r=e?.mediaLoadedInfo?.technology?.length?e?.mediaLoadedInfo.technology[0]:null;return[...a?[{type:"custom:frigate-card-status-bar-string",string:a,expand:!0,sufficient:!0,...e?.statusConfig?.items.title}]:[],...i?[{type:"custom:frigate-card-status-bar-string",string:i,...e?.statusConfig?.items.resolution}]:[],...r&&"webrtc"===r?[{type:"custom:frigate-card-status-bar-icon",icon:"mdi:webrtc",...e?.statusConfig?.items.technology}]:r?[{type:"custom:frigate-card-status-bar-string",string:r.toUpperCase(),...e?.statusConfig?.items.technology}]:[],...n?[{type:"custom:frigate-card-status-bar-image",image:n,...e?.statusConfig?.items.engine}]:[],...this._dynamicItems]}_matchesWidthHeight(e,t,n){const a=.99*t,i=1.01*t,r=.99*n,o=1.01*n,s=(e,t,n)=>e>=t&&e<=n;return!!e&&(s(e.width,a,i)&&s(e.height,r,o)||s(e.height,a,i)&&s(e.width,r,o))}_calculateResolution(e){return this._matchesWidthHeight(e,1920,1080)?"1080p":this._matchesWidthHeight(e,1280,720)?"720p":this._matchesWidthHeight(e,640,480)?"VGA":this._matchesWidthHeight(e,3840,2160)?"4K":this._matchesWidthHeight(e,720,480)?"480p":this._matchesWidthHeight(e,720,576)?"576p":this._matchesWidthHeight(e,7680,4320)?"8K":`${e.width}x${e.height}`}}class sx{constructor(e){this.setLightOrDarkMode=()=>{const e=this._api.getConfigManager().getConfig(),t="on"===e?.view.dark_mode||"auto"===e?.view.dark_mode&&(!this._api.getInteractionManager().hasInteraction()||!!this._api.getHASSManager().getHASS()?.themes.darkMode);of(this._api.getCardElementManager().getElement(),t,"dark")},this._api=e}setExpandedMode(){const e=this._api.getCardElementManager().getElement(),t=this._api.getViewManager().getView(),n=this._api.getMediaLoadedInfoManager().getLastKnown();e.style.setProperty("--frigate-card-expand-aspect-ratio",t?.isAnyMediaView()&&n?`${n.width} / ${n.height}`:"unset");const a=t?.isGrid();e.style.setProperty("--frigate-card-expand-width",!a&&t?.isAnyMediaView()?"none":"var(--frigate-card-expand-max-width)"),e.style.setProperty("--frigate-card-expand-height",!a&&t?.isAnyMediaView()?"none":"var(--frigate-card-expand-max-height)")}setMinMaxHeight(){const e=this._api.getConfigManager().getConfig();if(e){this._api.getCardElementManager().getElement().style.setProperty("--frigate-card-height",e.dimensions.height)}}setPerformance(){const e={box_shadow:"none",border_radius:"0px"},t=this._api.getCardElementManager().getElement(),n=this._api.getConfigManager().getCardWideConfig()?.performance,a=n?.style??{};for(const n of Object.keys(a)){const i=`--frigate-card-css-${n.replaceAll("_","-")}`;!1===a[n]?t.style.setProperty(i,e[n]):t.style.removeProperty(i)}}_isAspectRatioEnforced(e,t){const n=e.dimensions.aspect_ratio_mode;return!(this._api.getFullscreenManager().isInFullscreen()||this._api.getExpandManager().isExpanded()||"unconstrained"===n||"dynamic"===n&&(!t||t?.isAnyMediaView()||t?.is("timeline")||t?.is("diagnostics")))}getAspectRatioStyle(){const e=this._api.getConfigManager().getConfig(),t=this._api.getViewManager().getView();if(e){if(!this._isAspectRatioEnforced(e,t))return uf();const n=e.dimensions.aspect_ratio_mode,a=this._api.getMediaLoadedInfoManager().getLastKnown();return uf(a&&"dynamic"===n?{ratio:[a.width,a.height]}:{ratio:e.dimensions.aspect_ratio})}return uf({defaultStatic:!0})}}class cx{constructor(e){this._triggeredCameras=new Map,this._triggeredCameraTimers=new Map,this._throttledTriggerAction=qw(this._triggerAction.bind(this),1e3,{trailing:!0}),this._api=e}getTriggeredCameraIDs(){return new Set(this._triggeredCameras.keys())}isTriggered(){return!!this._triggeredCameras.size}getMostRecentlyTriggeredCameraID(){const e=Ev([...this._triggeredCameras.entries()],(e=>e[1].getTime()),"desc");return e.length?e[0][0]:null}async handleCameraEvent(e){const t=this._api.getConfigManager().getConfig()?.view.triggers,n=this._api.getViewManager().getView()?.camera;if(!t||!n)return;const a=this._api.getCameraManager().getStore().getAllDependentCameras(n);t.filter_selected_camera&&!a.has(e.cameraID)||("end"!==e.type?(this._triggeredCameras.set(e.cameraID,new Date),this._setConditionStateIfNecessary(),await this._throttledTriggerAction(e)):this._startUntriggerTimer(e.cameraID))}_hasAllowableInteractionStateForAction(){const e=this._api.getConfigManager().getConfig()?.view.triggers,t=this._api.getInteractionManager().hasInteraction();return!!e&&("all"===e.actions.interaction_mode||"active"===e.actions.interaction_mode&&t||"inactive"===e.actions.interaction_mode&&!t)}async _triggerAction(e){const t=this._api.getConfigManager().getConfig()?.view.triggers.actions.trigger,n=this._api.getConfigManager().getConfig()?.view.default;("high"!==e.fidelity||e.snapshot||e.clip||"live"===t||"default"===t&&"live"===n)&&(this._hasAllowableInteractionStateForAction()&&("update"===t?await this._api.getViewManager().setViewByParametersWithNewQuery({queryExecutorOptions:{useCache:!1}}):"live"===t?await this._api.getViewManager().setViewByParametersWithNewQuery({params:{view:"live",camera:e.cameraID}}):"default"===t?await this._api.getViewManager().setViewDefaultWithNewQuery({params:{camera:e.cameraID}}):"high"===e.fidelity&&"media"===t&&await this._api.getViewManager().setViewByParametersWithNewQuery({params:{view:e.clip?"clip":"snapshot",camera:e.cameraID}})),this._api.getCardElementManager().update())}_setConditionStateIfNecessary(){const e=new Set(this._triggeredCameras.keys()),t=e.size?e:void 0;Dv(t,this._api.getConditionsManager().getState().triggered)||this._api.getConditionsManager().setState({triggered:t})}async _untriggerAction(e){const t=this._api.getConfigManager().getConfig()?.view.triggers.actions.untrigger;"default"===t&&this._hasAllowableInteractionStateForAction()&&await this._api.getViewManager().setViewDefaultWithNewQuery(),this._triggeredCameras.delete(e),this._deleteTimer(e),this._setConditionStateIfNecessary(),this._api.getCardElementManager().update()}_startUntriggerTimer(e){this._deleteTimer(e);const t=new xf;this._triggeredCameraTimers.set(e,t),t.start( -/* istanbul ignore next: the case of config being null here cannot be - reached, as there's no way to have the untrigger call happen without - a config. -- @preserve */ -this._api.getConfigManager().getConfig()?.view.triggers.untrigger_seconds??0,(async()=>{await this._untriggerAction(e)}))}_deleteTimer(e){this._triggeredCameraTimers.get(e)?.stop(),this._triggeredCameraTimers.delete(e)}}function lx(e,t){return t="function"==typeof t?t:void 0,e&&e.length?Hg(e,void 0,t):[]}class dx{constructor(e){this._queries=null,e&&(this._queries=e)}clone(){return u_(this)}getQueries(){return this._queries}setQueries(e){return this._queries=e,this}getQueryCameraIDs(){if(!this._queries)return null;const e=new Set;return this._queries.forEach((t=>[...t.cameraIDs].forEach((t=>e.add(t))))),e}setQueryCameraIDs(e){if(!this._queries)return this;const t=[];return this._queries.forEach((n=>t.push({...n,cameraIDs:Zg(e)}))),this._queries=lx(t,Dv),this}hasQueriesForCameraIDs(e){for(const t of e)if(!this._queries?.some((e=>e.cameraIDs.has(t))))return!1;return!0}}class ux extends dx{convertToClipsQueries(){for(const e of this._queries??[])delete e.hasSnapshot,e.hasClip=!0;return this}}class hx extends dx{}class px{static areEventQueries(e){return e instanceof ux}static areRecordingQueries(e){return e instanceof hx}static areClipsQueries(e){return this.areEventQueries(e)&&!!e?.getQueries()?.every((e=>e.hasClip))}static areSnapshotQueries(e){return this.areEventQueries(e)&&!!e?.getQueries()?.every((e=>e.hasSnapshot))}static getQueriesType(e){return this.areEventQueries(e)?"event":this.areRecordingQueries(e)?"recording":null}static getMediaType(e){return this.areClipsQueries(e)?"clips":this.areSnapshotQueries(e)?"snapshots":this.areRecordingQueries(e)?"recordings":null}}const mx=(e,t,n)=>{const a={anyCapabilities:["clips","snapshots","recordings"]};switch(t){case"image":case"diagnostics":return e.getStore().getCameraIDs();case"live":case"clip":case"clips":case"snapshot":case"snapshots":case"recording":case"recordings":const i="clip"===t?"clips":"snapshot"===t?"snapshots":"recording"===t?"recordings":t;return n?e.getStore().getAllDependentCameras(n,i):e.getStore().getCameraIDsWithCapability(i);case"timeline":return e.getStore().getCameraIDsWithCapability(a);case"media":return n?e.getStore().getAllDependentCameras(n,a):e.getStore().getCameraIDsWithCapability(a)}},gx=(e,t)=>Ly({},e,t);class fx{constructor(e){this.view=e.view,this.camera=e.camera,this.query=e.query??null,this.queryResults=e.queryResults??null,this.context=e.context??null,this.displayMode=e.displayMode??null}clone(){return new fx({view:this.view,camera:this.camera,query:this.query?.clone()??null,queryResults:this.queryResults?.clone()??null,context:this.context,displayMode:this.displayMode})}evolve(e){return new fx({view:void 0!==e.view?e.view:this.view,camera:void 0!==e.camera?e.camera:this.camera,query:void 0!==e.query?e.query:this.query?.clone()??null,queryResults:void 0!==e.queryResults?e.queryResults:this.queryResults?.clone()??null,context:void 0!==e.context?e.context:this.context,displayMode:void 0!==e.displayMode?e.displayMode:this.displayMode})}mergeInContext(e){return this.context=gx(this.context,e),this}removeContext(e){return this.context&&delete this.context[e],this}removeContextProperty(e,t){const n=this.context?.[e];return n&&delete n[t],this}is(e){return this.view==e}isGalleryView(){return["clips","snapshots","recordings"].includes(this.view)}isAnyMediaView(){return this.isViewerView()||this.is("live")||this.is("image")}isViewerView(){return["media","clip","snapshot","recording"].includes(this.view)}supportsMultipleDisplayModes(){return this.isViewerView()||this.is("live")}getDefaultMediaType(){return["clip","clips"].includes(this.view)?"clips":["snapshot","snapshots"].includes(this.view)?"snapshots":["recording","recordings"].includes(this.view)?"recordings":null}isGrid(){return"grid"===this.displayMode}}const _x=(e,t)=>{t?.forEach((t=>t.modify(e)))};class vx extends zs{}class yx extends zs{}class bx{constructor(e){this._api=e}getViewDefault(e){const t=this._api.getConfigManager().getConfig();if(!t)return null;let n=null;const a=e?.params?.view??t.view.default;if(e?.params?.camera)n=e.params.camera;else{const i=[...mx(this._api.getCameraManager(),a)];if(!i.length)return null;if(e?.baseView?.camera&&t.view.default_cycle_camera){const t=i.indexOf(e.baseView.camera);n=i[t+1>=i.length?0:t+1]}else n=i[0]}return this.getViewByParameters({params:{...e?.params,view:a,camera:n},baseView:e?.baseView})}getViewByParameters(e){const t=this._api.getConfigManager().getConfig();if(!t)return null;let n=e?.params?.camera??e?.baseView?.camera??null,a=e?.params?.view??e?.baseView?.view??t.view.default;const i=this._api.getCameraManager().getStore().getCameraIDs();if(!n||!i.has(n)){n=mx(this._api.getCameraManager(),a).keys().next().value??null}if(!n){const e=[...this._api.getCameraManager().getStore().getCameras()].reduce(((e,[t,n])=>{const a=n.getCapabilities()?.getRawCapabilities();return a&&(e[t]=a),e}),{});throw new vx(V_("error.no_supported_cameras"),{view:a,cameras_capabilities:e})}if(!this.isViewSupportedByCamera(n,a)){if(!e?.failSafe||!this.isViewSupportedByCamera(n,Qs)){const e=this._api.getCameraManager().getStore().getCamera(n)?.getCapabilities()?.getRawCapabilities();throw new yx(V_("error.no_supported_camera"),{view:a,camera:n,...e&&{camera_capabilities:e}})}a=Qs}const r=e?.params?.displayMode??e?.baseView?.displayMode??this._getDefaultDisplayModeForView(a,t),o={...e?.params,view:a,camera:n,displayMode:r},s=e?.baseView?e.baseView.evolve(o):new fx(o);return _x(s,e?.modifiers),s}isViewSupportedByCamera(e,t){return!!mx(this._api.getCameraManager(),t,e).size}_getDefaultDisplayModeForView(e,t){let n=null;switch(e){case"media":case"clip":case"recording":case"snapshot":n=t.media_viewer.display?.mode??null;break;case"live":n=t.live.display?.mode??null}return n??"single"}}class wx{constructor(e,t){this._key=e,this._property=t}modify(e){e.removeContextProperty(this._key,this._property)}}class xx{constructor(e){this._query=e?.query,this._queryResults=e?.queryResults}modify(e){void 0!==this._query&&(e.query=this._query),void 0!==this._queryResults&&(e.queryResults=this._queryResults)}}const Cx=(e,t,n)=>{let a;for(const[i,r]of e.entries()){const e=r.getStartTime(),o=r.getUsableEndTime();if(r.includesTime(t)&&e&&o){const t=o.getTime()-e.getTime();(!a||n&&a.cameraID!==n&&r.getCameraID()===n||t>a.duration&&(!n||a.cameraID!==n||r.getCameraID()===n))&&(a={index:i,duration:t,cameraID:r.getCameraID()})}}return a?a.index:null};class Mx{constructor(e){this._results=e?.results??[],this._selectedIndex=this._getInitialSelectedIndex(e)}_getInitialSelectedIndex(e){return null!=e?.selectedIndex?e.selectedIndex:e?.results&&e.results.length?e?.selectApproach&&"last"!==e?.selectApproach?0:e.results.length-1:null}clone(){return new Mx({results:this._results,selectedIndex:this._selectedIndex})}getResults(){return this._results}getSelectedIndex(){return this._selectedIndex}getResultsCount(){return this.getResults().length}hasResults(){return 0!==this.getResultsCount()}getResult(e){return void 0===e?null:this._results[e]}getSelectedResult(){const e=this.getSelectedIndex();return null!==e?this.getResult(e):null}hasSelectedResult(){return null!==this.getSelectedResult()}resetSelectedResult(){this._selectedIndex=null}selectIndex(e){(null===e||e>=0&&ee.getID()))),n=new Set(e._main.getResults()?.map((e=>e.getID())));return!(!t.size||!n.size||t.has(null)||n.has(null))&&((e,t)=>{for(const n of t)if(!e.has(n))return!1;return!0})(t,n)}getCameraIDs(){return new Set(this._cameras.keys())}getSlice(e){return e?this._cameras.get(e)??null:this._main}getResults(e){return this.getSlice(e)?.getResults()??null}getResultsCount(e){return this.getSlice(e)?.getResultsCount()??0}hasResults(e){return 0!==this.getSlice(e)?.getResultsCount()}getResult(e,t){return this.getSlice(t)?.getResult(e)??null}getSelectedIndex(e){return this.getSlice(e)?.getSelectedIndex()??null}getSelectedResult(e){return this.getSlice(e)?.getSelectedResult()??null}getMultipleSelectedResults(e){const t=[];if(!e||e.main){const e=this.getSelectedResult();e&&t.push(e)}const n=this._getCameraIDsFromCriteria(e);for(const e of n??[]){const n=this.getSelectedResult(e);n&&t.push(n)}return t}hasSelectedResult(e){return this.getSlice(e)?.hasSelectedResult()??!1}resetSelectedResult(e){return this.getSlice(e)?.resetSelectedResult(),this}getResultsTimestamp(){return this._resultsTimestamp}selectIndex(e,t){return this.getSlice(t)?.selectIndex(e),t||this.demoteMainSelectionToCameraSelection(),this}demoteMainSelectionToCameraSelection(){const e=this.getSelectedResult();if(e){const t=e.getCameraID();this.resetSelectedResult(t),this.selectResultIfFound((t=>t===e),{cameraID:t})}return this}promoteCameraSelectionToMainSelection(e){const t=this.getSelectedResult(e);return this.resetSelectedResult(),this.selectResultIfFound((e=>e===t)),this}_getCameraIDsFromCriteria(e){return e?.allCameras?this.getCameraIDs():e?.cameraID?new Set([e.cameraID]):null}selectResultIfFound(e,t){t&&!t?.main||(this._main.selectResultIfFound(e),this.demoteMainSelectionToCameraSelection());const n=this._getCameraIDsFromCriteria(t);for(const t of n??[])this.getSlice(t)?.selectResultIfFound(e);return this}selectBestResult(e,t){t&&!t.main||(this._main.selectBestResult(e),this.demoteMainSelectionToCameraSelection());const n=this._getCameraIDsFromCriteria(t);for(const t of n??[])this.getSlice(t)?.selectBestResult(e);return this}}class Sx{constructor(e){this._api=e}async executeDefaultEventQuery(e){const t=e?.eventsMediaType&&"all"!==e?.eventsMediaType?e.eventsMediaType:{anyCapabilities:["clips","snapshots"]},n=this._api.getCameraManager(),a=e?.cameraID?n.getStore().getAllDependentCameras(e.cameraID,t):n.getStore().getCameraIDsWithCapability(t);if(!a.size)return null;const i=n.generateDefaultEventQueries(a,{limit:this._getChunkLimit(),..."clips"===e?.eventsMediaType&&{hasClip:!0},..."snapshots"===e?.eventsMediaType&&{hasSnapshot:!0}});if(!i)return null;const r=new ux(i),o=await this.execute(r,e?.executorOptions);return o?{query:r,queryResults:o}:null}async executeDefaultRecordingQuery(e){const t=this._api.getCameraManager(),n=e?.cameraID?t.getStore().getAllDependentCameras(e.cameraID,"recordings"):t.getStore().getCameraIDsWithCapability("recordings");if(!n.size)return null;const a=t.generateDefaultRecordingQueries(n,{limit:this._getChunkLimit()});if(!a)return null;const i=new hx(a),r=await this.execute(i,e?.executorOptions);return r?{query:i,queryResults:r}:null}async execute(e,t){const n=e.getQueries();if(!n)return null;const a=await this._api.getCameraManager().executeMediaQueries(n,{useCache:t?.useCache});if(!a)return null;const i=new kx({results:a});return t?.rejectResults?.(i)?null:(t?.selectResult?.id?i.selectBestResult((e=>e.findIndex((e=>e.getID()===t.selectResult?.id)))):t?.selectResult?.func?i.selectResultIfFound(t.selectResult.func):t?.selectResult?.time&&i.selectBestResult((e=>Cx(e,t.selectResult?.time?.time,t.selectResult?.time?.favorCameraID))),i)}_getChunkLimit(){const e=this._api.getConfigManager().getCardWideConfig();return e?.performance?.features.media_chunk_size??50}}class Ex{constructor(e,t){this._api=e,this._executor=t??new Sx(e)}async getExistingQueryModifiers(e,t){return e.query?[new xx({queryResults:await this._executor.execute(e.query,t)})]:[]}async getNewQueryModifiers(e,t){return await this._executeNewQuery(e,{useCache:!1,...t})}async _executeNewQuery(e,t){const n=this._api.getConfigManager().getConfig();if(!n)return null;const a=e?.getDefaultMediaType(),i=[],r=async n=>{ -/* istanbul ignore if: this path cannot be reached -- @preserve */ -if(!n)return[];const a="recordings"===n?await this._executor.executeDefaultRecordingQuery({...!e.isGrid()&&{cameraID:e.camera},executorOptions:t}):"clips"===n||"snapshots"===n||"all"===n?await this._executor.executeDefaultEventQuery({...!e.isGrid()&&{cameraID:e.camera},eventsMediaType:n,executorOptions:t}):/* istanbul ignore next -- @preserve */ -null;return a?[new xx(a)]:[]};switch(e.view){case"live":"none"!==n.live.controls.thumbnails.mode&&i.push(...await r("recordings"===n.live.controls.thumbnails.media_type?"recordings":n.live.controls.thumbnails.events_media_type));break;case"media":i.push(...await r("clips"));break;case"clips":case"snapshots":case"recordings":i.push(...await r(a));break;case"clip":case"snapshot":case"recording":"none"!==n.media_viewer.controls.thumbnails.mode&&i.push(...await r(a))}return i.push(...this._getTimelineWindowViewModifier(e)),i.push(...this._getSeekTimeModifier(t?.selectResult?.time?.time)),i}_getTimelineWindowViewModifier(e){if(e.is("live")){const e=new Date,t=this._api.getConfigManager().getConfig()?.live; -/* istanbul ignore if: this if branch cannot be reached as if the config is - empty this function is never called -- @preserve */ -return t?[new Gy({timeline:{window:{start:Qu(e,{seconds:t.controls.timeline.window_seconds}),end:e}}})]:[]}return[new wx("timeline","window")]}_getSeekTimeModifier(e){return e?[new Gy({mediaViewer:{seek:e}})]:[new wx("mediaViewer","seek")]}}class $x{constructor(e,t){this._view=null,this._epoch=this._createEpoch(),this._loadingIndex=1,this.setViewDefault=e=>this._setViewGeneric(this._viewFactory.getViewDefault.bind(this._viewFactory),e),this.setViewByParameters=e=>this._setViewGeneric(this._viewFactory.getViewByParameters.bind(this._viewFactory),e),this.setViewDefaultWithNewQuery=async e=>await this._setViewThenModifyAsync(this._viewFactory.getViewDefault.bind(this._viewFactory),this._viewQueryExecutor.getNewQueryModifiers.bind(this._viewQueryExecutor),e),this.setViewByParametersWithNewQuery=async e=>await this._setViewThenModifyAsync(this._viewFactory.getViewByParameters.bind(this._viewFactory),this._viewQueryExecutor.getNewQueryModifiers.bind(this._viewQueryExecutor),e),this.setViewByParametersWithExistingQuery=async e=>await this._setViewThenModifyAsync(this._viewFactory.getViewByParameters.bind(this._viewFactory),this._viewQueryExecutor.getExistingQueryModifiers.bind(this._viewQueryExecutor),e),this.initialize=async()=>(this._api.getQueryStringManager().hasViewRelatedActionsToRun()||this.setViewDefaultWithNewQuery({failSafe:!0}),!0),this._api=e,this._viewFactory=t?.viewFactory??new bx(e),this._viewQueryExecutor=t?.viewQueryExecutor??new Ex(e)}getEpoch(){return this._epoch}_createEpoch(e){return{manager:this,...e&&{oldView:e}}}getView(){return this._view}hasView(){return!!this.getView()}reset(){this._view&&this._setView(null)}_setViewGeneric(e,t){let n=null;try{n=e({baseView:this._view,...t})}catch(e){this._api.getMessageManager().setErrorIfHigherPriority(e)}n&&this._setView(n)}_markViewLoadingQuery(e,t){return e.mergeInContext({loading:{query:t}})}_markViewAsNotLoadingQuery(e){return e.removeContextProperty("loading","query")}async _setViewThenModifyAsync(e,t,n){let a=null;try{a=e({baseView:this._view,...n,params:{query:null,queryResults:null,...n?.params}})}catch(e){this._api.getMessageManager().setErrorIfHigherPriority(e)}if(!a)return;if(this._view&&this._shouldAdoptQueryAndResults(a))return a.query=this._view.query,a.queryResults=this._view.queryResults,this._markViewAsNotLoadingQuery(a),void this._setView(a);const i=this._loadingIndex++;this._markViewLoadingQuery(a,i),this._setView(a);let r=null,o=null;try{r=await t(a,n?.queryExecutorOptions)}catch(e){o=e}if(this._view&&this.hasMajorMediaChange(this._view,a))return void(this._view.context?.loading?.query===i&&this._setView(this._markViewAsNotLoadingQuery(this._view.clone())));if(o)return void this._api.getMessageManager().setErrorIfHigherPriority(o); -/* istanbul ignore if: the if path cannot be reached as the view is set - above -- @preserve */if(!this._view)return;const s=this._view.clone();this._view.context?.loading?.query===i&&this._markViewAsNotLoadingQuery(s),_x(s,r),this._setView(s)}_shouldAdoptQueryAndResults(e){const t=this._view?.isViewerView()&&e?.isGalleryView(),n=e?.getDefaultMediaType(),a=px.getMediaType(this._view?.query)===n;return!!t&&a}setViewWithMergedContext(e){if(this._view)return this._setView(this._view?.clone().mergeInContext(e))}isViewSupportedByCamera(e,t){return!!mx(this._api.getCameraManager(),t,e).size}hasMajorMediaChange(e,t){const n=t??this._view;return!!e!=!!n||e?.view!==n?.view||e?.camera!==n?.camera||"live"===n?.view&&e&&My(e)!==My(n)||"live"!==n?.view&&e?.queryResults!==n?.queryResults}_setView(e){const t=this._view;B_(this._api.getConfigManager().getCardWideConfig(),"Frigate Card view change: ",e),this._view=e,this._epoch=this._createEpoch(t),this.hasMajorMediaChange(t)&&this._api.getMediaLoadedInfoManager().clear(),t?.view!==e?.view&&this._api.getCardElementManager().scrollReset(),this._api.getMessageManager().reset(),this._api.getStyleManager().setExpandedMode(),this._api.getConditionsManager()?.setState({view:e?.view,camera:e?.camera,displayMode:e?.displayMode??void 0}),this._api.getCardElementManager().update()}}class Ax{constructor(e,t,n,a){this._deviceRegistryManager=new oy(new iy((e=>e.id))),this._entityRegistryManager=new ly(new iy((e=>e.entity_id))),this._resolvedMediaCache=new uy,this._actionsManager=new gb(this),this._automationsManager=new fb(this),this._cameraManager=new ay(this),this._cameraURLManager=new _b(this),this._configManager=new Mw(this),this._defaultManager=new kw(this),this._downloadManager=new Aw(this),this._expandManager=new zw(this),this._fullscreenManager=new Rw(this),this._hassManager=new Lw(this),this._initializationManager=new Zb(this),this._interactionManager=new Uw(this),this._keyboardStateManager=new Ww(this),this._mediaLoadedInfoManager=new ex(this),this._mediaPlayerManager=new nx(this),this._messageManager=new ax(this),this._microphoneManager=new ix(this),this._queryStringManager=new rx(this),this._statusBarItemManager=new ox(this),this._styleManager=new sx(this),this._triggersManager=new cx(this),this._viewManager=new $x(this),e.addController(this),this._conditionsManager=new yw(this,a),this._cardElementManager=new Qb(this,e,t,n)}getActionsManager(){return this._actionsManager}getAutomationsManager(){return this._automationsManager}getCameraManager(){return this._cameraManager}getCameraURLManager(){return this._cameraURLManager}getCardElementManager(){return this._cardElementManager}getConditionsManager(){return this._conditionsManager}static async getConfigElement(){return await import("./editor-c3e576d8.js"),document.createElement("frigate-card-editor")}getConfigManager(){return this._configManager}getDefaultManager(){return this._defaultManager}getDeviceRegistryManager(){return this._deviceRegistryManager}getDownloadManager(){return this._downloadManager}getEntityRegistryManager(){return this._entityRegistryManager}getExpandManager(){return this._expandManager}getFullscreenManager(){return this._fullscreenManager}getHASSManager(){return this._hassManager}getInitializationManager(){return this._initializationManager}getInteractionManager(){return this._interactionManager}getKeyboardStateManager(){return this._keyboardStateManager}getMediaLoadedInfoManager(){return this._mediaLoadedInfoManager}getMediaPlayerManager(){return this._mediaPlayerManager}getMessageManager(){return this._messageManager}getMicrophoneManager(){return this._microphoneManager}getQueryStringManager(){return this._queryStringManager}getResolvedMediaCache(){return this._resolvedMediaCache}getStatusBarItemManager(){return this._statusBarItemManager}static getStubConfig(e){return{cameras:[{camera_entity:e.find((e=>e.startsWith("camera.")))??"camera.demo"}]}}getStyleManager(){return this._styleManager}getTriggersManager(){return this._triggersManager}getViewManager(){return this._viewManager}hostConnected(){this.getCardElementManager().elementConnected()}hostDisconnected(){this.getCardElementManager().elementDisconnected()}}class zx{constructor(){this._dynamicMenuButtons=[]}addDynamicMenuButton(e){this._dynamicMenuButtons.includes(e)||this._dynamicMenuButtons.push(e)}removeDynamicMenuButton(e){this._dynamicMenuButtons=this._dynamicMenuButtons.filter((t=>t!=e))}calculateButtons(e,t,n,a){return[this._getDefaultButton(t),this._getCamerasButton(t,n,a?.view),this._getSubstreamsButton(t,n,a?.view),this._getLiveButton(t,a?.view,a?.viewManager),this._getClipsButton(t,a?.view,a?.viewManager),this._getSnapshotsButton(t,a?.view,a?.viewManager),this._getRecordingsButton(t,a?.view,a?.viewManager),this._getImageButton(t,a?.view,a?.viewManager),this._getTimelineButton(t,a?.view,a?.viewManager),this._getDownloadButton(t,n,a?.view),this._getCameraUIButton(t,a?.showCameraUIButton),this._getMicrophoneButton(t,a?.microphoneManager,a?.currentMediaLoadedInfo),this._getExpandButton(t,a?.inExpandedMode),this._getFullscreenButton(t,a?.inFullscreenMode),this._getCastButton(e,t,n,a?.view,a?.mediaPlayerController),this._getPlayPauseButton(t,a?.currentMediaLoadedInfo),this._getMuteUnmuteButton(t,a?.currentMediaLoadedInfo),this._getScreenshotButton(t,a?.currentMediaLoadedInfo),this._getDisplayModeButton(t,n,a?.view),this._getPTZControlsButton(t,n,a?.view),this._getPTZHomeButton(t,n,a?.view),...this._dynamicMenuButtons.map((e=>({style:this._getStyleFromActions(t,e,a),...e})))].filter(sf)}_getDefaultButton(e){return{icon:"frigate",...e.menu.buttons.frigate,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.frigate"),permanent:!0,tap_action:"hidden"===e.menu?.style?gf("menu_toggle"):gf("default"),hold_action:gf("diagnostics")}}_getCamerasButton(e,t,n){const a=t.getStore().getCameraIDsWithCapability("menu");if(a.size>1){const i=Array.from(t.getStore().getCameraConfigEntries(a),(([e,a])=>{const i=ff("camera_select",e),r=t.getCameraMetadata(e);return{enabled:!0,icon:r?.icon,entity:a.camera_entity,state_color:!0,title:r?.title,selected:n?.camera===e,...i&&{tap_action:i}}}));return{icon:"mdi:video-switch",...e.menu.buttons.cameras,type:"custom:frigate-card-menu-submenu",title:V_("config.menu.buttons.cameras"),items:i}}return null}_getSubstreamsButton(e,t,n){if(!n)return null;const a=t.getStore().getAllDependentCameras(n.camera,"substream");if(a.size&&n.is("live")){const i=[...a].filter((e=>e!==n.camera)),r=[n.camera,...i],o=My(n);if(2===r.length)return{icon:"mdi:video-input-component",style:o!==n.camera?this._getEmphasizedStyle():{},title:V_("config.menu.buttons.substreams"),...e.menu.buttons.substreams,type:"custom:frigate-card-menu-icon",tap_action:gf(ky(n)?"live_substream_off":"live_substream_on")};if(r.length>2){const a=Array.from(r,(e=>{const n=ff("live_substream_select",e),a=t.getCameraMetadata(e)??void 0,i=t.getStore().getCameraConfig(e);return{enabled:!0,icon:a?.icon,entity:i?.camera_entity,state_color:!0,title:a?.title,selected:o===e,...n&&{tap_action:n}}}));return{icon:"mdi:video-input-component",title:V_("config.menu.buttons.substreams"),style:o!==n.camera?this._getEmphasizedStyle():{},...e.menu.buttons.substreams,type:"custom:frigate-card-menu-submenu",items:a}}}return null}_getLiveButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"live")?{icon:"mdi:cctv",...e.menu.buttons.live,type:"custom:frigate-card-menu-icon",title:V_("config.view.views.live"),style:t.is("live")?this._getEmphasizedStyle():{},tap_action:gf("live")}:null}_getClipsButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"clips")?{icon:"mdi:filmstrip",...e.menu.buttons.clips,type:"custom:frigate-card-menu-icon",title:V_("config.view.views.clips"),style:t?.is("clips")?this._getEmphasizedStyle():{},tap_action:gf("clips"),hold_action:gf("clip")}:null}_getSnapshotsButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"snapshots")?{icon:"mdi:camera",...e.menu.buttons.snapshots,type:"custom:frigate-card-menu-icon",title:V_("config.view.views.snapshots"),style:t?.is("snapshots")?this._getEmphasizedStyle():{},tap_action:gf("snapshots"),hold_action:gf("snapshot")}:null}_getRecordingsButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"recordings")?{icon:"mdi:album",...e.menu.buttons.recordings,type:"custom:frigate-card-menu-icon",title:V_("config.view.views.recordings"),style:t.is("recordings")?this._getEmphasizedStyle():{},tap_action:gf("recordings"),hold_action:gf("recording")}:null}_getImageButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"image")?{icon:"mdi:image",...e.menu.buttons.image,type:"custom:frigate-card-menu-icon",title:V_("config.view.views.image"),style:t?.is("image")?this._getEmphasizedStyle():{},tap_action:gf("image")}:null}_getTimelineButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"timeline")?{icon:"mdi:chart-gantt",...e.menu.buttons.timeline,type:"custom:frigate-card-menu-icon",title:V_("config.view.views.timeline"),style:t.is("timeline")?this._getEmphasizedStyle():{},tap_action:gf("timeline")}:null}_getDownloadButton(e,t,n){const a=n?.queryResults?.getSelectedResult(),i=a?t?.getMediaCapabilities(a):null;return n?.isViewerView()&&i?.canDownload&&!this._isBeingCasted()?{icon:"mdi:download",...e.menu.buttons.download,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.download"),tap_action:gf("download")}:null}_getCameraUIButton(e,t){return t?{icon:"mdi:web",...e.menu.buttons.camera_ui,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.camera_ui"),tap_action:gf("camera_ui")}:null}_getMicrophoneButton(e,t,n){if(t&&n?.capabilities?.supports2WayAudio){const n=t.isForbidden()||!t.isSupported(),a=t.isMuted(),i=e.menu.buttons.microphone.type;return{icon:n?"mdi:microphone-message-off":a?"mdi:microphone-off":"mdi:microphone",...e.menu.buttons.microphone,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.microphone"),style:n||a?{}:this._getEmphasizedStyle(!0),...!n&&"momentary"===i&&{start_tap_action:gf("microphone_unmute"),end_tap_action:gf("microphone_mute")},...!n&&"toggle"===i&&{tap_action:gf(a?"microphone_unmute":"microphone_mute")}}}return null}_getExpandButton(e,t){return{icon:t?"mdi:arrow-collapse-all":"mdi:arrow-expand-all",...e.menu.buttons.expand,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.expand"),tap_action:gf("expand"),style:t?this._getEmphasizedStyle():{}}}_getFullscreenButton(e,t){return this._isBeingCasted()?null:{icon:t?"mdi:fullscreen-exit":"mdi:fullscreen",...e.menu.buttons.fullscreen,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.fullscreen"),tap_action:gf("fullscreen"),style:t?this._getEmphasizedStyle():{}}}_getCastButton(e,t,n,a,i){if(!a)return null;const r=n.getStore().getCameraConfig(a.camera);if(i?.hasMediaPlayers()&&(a.isViewerView()||a.is("live")&&r?.camera_entity)){const n=i.getMediaPlayers().map((t=>{const n=Lb(e,t)||t,a=e.states[t],i=_f(t,"play"),r=_f(t,"stop"),o=!a||"unavailable"===a.state;return{enabled:!0,selected:!1,icon:Nb(e,t),entity:t,state_color:!1,title:n,disabled:o,...!o&&i&&{tap_action:i},...!o&&r&&{hold_action:r}}}));return{icon:"mdi:cast",...t.menu.buttons.media_player,type:"custom:frigate-card-menu-submenu",title:V_("config.menu.buttons.media_player"),items:n}}return null}_getPlayPauseButton(e,t){if(t&&t.player&&t.capabilities?.supportsPause){const n=t.player.isPaused();return{icon:n?"mdi:play":"mdi:pause",...e.menu.buttons.play,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.play"),tap_action:gf(n?"play":"pause")}}return null}_getMuteUnmuteButton(e,t){if(t&&t.player&&t?.capabilities?.hasAudio){const n=t.player.isMuted();return{icon:n?"mdi:volume-off":"mdi:volume-high",...e.menu.buttons.mute,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.mute"),tap_action:gf(n?"unmute":"mute")}}return null}_getScreenshotButton(e,t){return t&&t.player?{icon:"mdi:monitor-screenshot",...e.menu.buttons.screenshot,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.screenshot"),tap_action:gf("screenshot")}:null}_getDisplayModeButton(e,t,n){const a=n?mx(t,n.view):null;if(n?.supportsMultipleDisplayModes()&&a&&a.size>1){const t=n.isGrid();return{icon:t?"mdi:grid-off":"mdi:grid",...e.menu.buttons.display_mode,style:t?this._getEmphasizedStyle():{},type:"custom:frigate-card-menu-icon",title:V_(t?"display_modes.single":"display_modes.grid"),tap_action:(i=t?"single":"grid",{action:"fire-dom-event",frigate_card_action:"display_mode_select",display_mode:i,...r?.cardID&&{card_id:r.cardID}})}}var i,r;return null}_getPTZControlsButton(e,t,n){const a=n?.is("live")?e.live.controls.ptz:n?.isViewerView()?e.media_viewer.controls.ptz:null;if(!n||!a||"off"===a.mode)return null;const i=Ry(n,{cameraManager:t,..."auto"===a.mode&&{type:"ptz"}});if(i){const t=!1!==n.context?.ptzControls?.enabled&&("on"===a.mode||"auto"===a.mode&&"ptz"===i.type);return{icon:"mdi:pan",...e.menu.buttons.ptz_controls,style:t?this._getEmphasizedStyle():{},type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.ptz_controls"),tap_action:(r=!t,{action:"fire-dom-event",frigate_card_action:"ptz_controls",enabled:r,...o?.cardID&&{card_id:o.cardID}})}}var r,o;return null}_getPTZHomeButton(e,t,n){const a=n?Ry(n,{cameraManager:t}):null;return!a||(("digital"===a.type&&n?.context?.zoom?.[a.targetID]?.observed?.isDefault)??1)?null:{icon:"mdi:home",...e.menu.buttons.ptz_home,type:"custom:frigate-card-menu-icon",title:V_("config.menu.buttons.ptz_home"),tap_action:vf({targetID:a.targetID})}}_getEmphasizedStyle(e){return e?{animation:"pulse 3s infinite",color:"var(--error-color, white)"}:{color:"var(--primary-color, white)"}}_getStyleFromActions(e,t,n){for(const a of[t.tap_action,t.double_tap_action,t.hold_action,t.start_tap_action,t.end_tap_action]){const t=Array.isArray(a)?a:[a];for(const a of t){if(!a||"fire-dom-event"!==a.action||!("frigate_card_action"in a))continue;const t=a;if(Zs.some((e=>e===t.frigate_card_action&&n?.view?.is(t.frigate_card_action)))||"default"===t.frigate_card_action&&n?.view?.is(e.view.default)||"fullscreen"===t.frigate_card_action&&n?.inFullscreenMode||"camera_select"===t.frigate_card_action&&n?.view?.camera===t.camera)return this._getEmphasizedStyle()}}return{}}_isBeingCasted(){return!!navigator.userAgent.match(/CrKey\//)}} -/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */ -function Ix(e){return null==e}var Tx=function(e,t){var n,a="";for(n=0;ns&&(t=a-s+(r=" ... ").length),n-a>s&&(n=a+s-(o=" ...").length),{str:r+e.slice(t,n).replace(/\t/g,"→")+o,pos:a-t+r.length}}function Lx(e,t){return jx.repeat(" ",t-e.length)+e}var Nx=function(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),"number"!=typeof t.indent&&(t.indent=1),"number"!=typeof t.linesBefore&&(t.linesBefore=3),"number"!=typeof t.linesAfter&&(t.linesAfter=2);for(var n,a=/\r?\n|\r|\0/g,i=[0],r=[],o=-1;n=a.exec(e.buffer);)r.push(n.index),i.push(n.index+n[0].length),e.position<=n.index&&o<0&&(o=i.length-2);o<0&&(o=i.length-1);var s,c,l="",d=Math.min(e.line+t.linesAfter,r.length).toString().length,u=t.maxLength-(t.indent+d+3);for(s=1;s<=t.linesBefore&&!(o-s<0);s++)c=Px(e.buffer,i[o-s],r[o-s],e.position-(i[o]-i[o-s]),u),l=jx.repeat(" ",t.indent)+Lx((e.line-s+1).toString(),d)+" | "+c.str+"\n"+l;for(c=Px(e.buffer,i[o],r[o],e.position,u),l+=jx.repeat(" ",t.indent)+Lx((e.line+1).toString(),d)+" | "+c.str+"\n",l+=jx.repeat("-",t.indent+d+3+c.pos)+"^\n",s=1;s<=t.linesAfter&&!(o+s>=r.length);s++)c=Px(e.buffer,i[o+s],r[o+s],e.position-(i[o]-i[o+s]),u),l+=jx.repeat(" ",t.indent)+Lx((e.line+s+1).toString(),d)+" | "+c.str+"\n";return l.replace(/\n$/,"")},Fx=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],Vx=["scalar","sequence","mapping"];var Hx=function(e,t){if(t=t||{},Object.keys(t).forEach((function(t){if(-1===Fx.indexOf(t))throw new Rx('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')})),this.options=t,this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.representName=t.representName||null,this.defaultStyle=t.defaultStyle||null,this.multi=t.multi||!1,this.styleAliases=function(e){var t={};return null!==e&&Object.keys(e).forEach((function(n){e[n].forEach((function(e){t[String(e)]=n}))})),t}(t.styleAliases||null),-1===Vx.indexOf(this.kind))throw new Rx('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')};function Bx(e,t){var n=[];return e[t].forEach((function(e){var t=n.length;n.forEach((function(n,a){n.tag===e.tag&&n.kind===e.kind&&n.multi===e.multi&&(t=a)})),n[t]=e})),n}function qx(e){return this.extend(e)}qx.prototype.extend=function(e){var t=[],n=[];if(e instanceof Hx)n.push(e);else if(Array.isArray(e))n=n.concat(e);else{if(!e||!Array.isArray(e.implicit)&&!Array.isArray(e.explicit))throw new Rx("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");e.implicit&&(t=t.concat(e.implicit)),e.explicit&&(n=n.concat(e.explicit))}t.forEach((function(e){if(!(e instanceof Hx))throw new Rx("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(e.loadKind&&"scalar"!==e.loadKind)throw new Rx("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(e.multi)throw new Rx("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")})),n.forEach((function(e){if(!(e instanceof Hx))throw new Rx("Specified list of YAML types (or a single Type object) contains a non-Type object.")}));var a=Object.create(qx.prototype);return a.implicit=(this.implicit||[]).concat(t),a.explicit=(this.explicit||[]).concat(n),a.compiledImplicit=Bx(a,"implicit"),a.compiledExplicit=Bx(a,"explicit"),a.compiledTypeMap=function(){var e,t,n={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function a(e){e.multi?(n.multi[e.kind].push(e),n.multi.fallback.push(e)):n[e.kind][e.tag]=n.fallback[e.tag]=e}for(e=0,t=arguments.length;e=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),nC=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var aC=/^[-+]?[0-9]+e/;var iC=new Hx("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!(!nC.test(e)||"_"===e[e.length-1])},construct:function(e){var t,n;return n="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(t[0])>=0&&(t=t.slice(1)),".inf"===t?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:n*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||jx.isNegativeZero(e))},represent:function(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(jx.isNegativeZero(e))return"-0.0";return n=e.toString(10),aC.test(n)?n.replace("e",".e"):n},defaultStyle:"lowercase"}),rC=Gx.extend({implicit:[Yx,Kx,tC,iC]}),oC=rC,sC=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),cC=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");var lC=new Hx("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(e){return null!==e&&(null!==sC.exec(e)||null!==cC.exec(e))},construct:function(e){var t,n,a,i,r,o,s,c,l=0,d=null;if(null===(t=sC.exec(e))&&(t=cC.exec(e)),null===t)throw new Error("Date resolve error");if(n=+t[1],a=+t[2]-1,i=+t[3],!t[4])return new Date(Date.UTC(n,a,i));if(r=+t[4],o=+t[5],s=+t[6],t[7]){for(l=t[7].slice(0,3);l.length<3;)l+="0";l=+l}return t[9]&&(d=6e4*(60*+t[10]+ +(t[11]||0)),"-"===t[9]&&(d=-d)),c=new Date(Date.UTC(n,a,i,r,o,s,l)),d&&c.setTime(c.getTime()-d),c},instanceOf:Date,represent:function(e){return e.toISOString()}});var dC=new Hx("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}}),uC="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";var hC=new Hx("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,a=0,i=e.length,r=uC;for(n=0;n64)){if(t<0)return!1;a+=6}return a%8==0},construct:function(e){var t,n,a=e.replace(/[\r\n=]/g,""),i=a.length,r=uC,o=0,s=[];for(t=0;t>16&255),s.push(o>>8&255),s.push(255&o)),o=o<<6|r.indexOf(a.charAt(t));return 0===(n=i%4*6)?(s.push(o>>16&255),s.push(o>>8&255),s.push(255&o)):18===n?(s.push(o>>10&255),s.push(o>>2&255)):12===n&&s.push(o>>4&255),new Uint8Array(s)},predicate:function(e){return"[object Uint8Array]"===Object.prototype.toString.call(e)},represent:function(e){var t,n,a="",i=0,r=e.length,o=uC;for(t=0;t>18&63],a+=o[i>>12&63],a+=o[i>>6&63],a+=o[63&i]),i=(i<<8)+e[t];return 0===(n=r%3)?(a+=o[i>>18&63],a+=o[i>>12&63],a+=o[i>>6&63],a+=o[63&i]):2===n?(a+=o[i>>10&63],a+=o[i>>4&63],a+=o[i<<2&63],a+=o[64]):1===n&&(a+=o[i>>2&63],a+=o[i<<4&63],a+=o[64],a+=o[64]),a}}),pC=Object.prototype.hasOwnProperty,mC=Object.prototype.toString;var gC=new Hx("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,n,a,i,r,o=[],s=e;for(t=0,n=s.length;t>10),56320+(e-65536&1023))}for(var qC=new Array(256),UC=new Array(256),WC=0;WC<256;WC++)qC[WC]=HC(WC)?1:0,UC[WC]=HC(WC);function ZC(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||bC,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function QC(e,t){var n={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return n.snippet=Nx(n),new Rx(t,n)}function GC(e,t){throw QC(e,t)}function YC(e,t){e.onWarning&&e.onWarning.call(null,QC(e,t))}var KC={YAML:function(e,t,n){var a,i,r;null!==e.version&&GC(e,"duplication of %YAML directive"),1!==n.length&&GC(e,"YAML directive accepts exactly one argument"),null===(a=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&GC(e,"ill-formed argument of the YAML directive"),i=parseInt(a[1],10),r=parseInt(a[2],10),1!==i&&GC(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=r<2,1!==r&&2!==r&&YC(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var a,i;2!==n.length&&GC(e,"TAG directive accepts exactly two arguments"),a=n[0],i=n[1],TC.test(a)||GC(e,"ill-formed tag handle (first argument) of the TAG directive"),wC.call(e.tagMap,a)&&GC(e,'there is a previously declared suffix for "'+a+'" tag handle'),jC.test(i)||GC(e,"ill-formed tag prefix (second argument) of the TAG directive");try{i=decodeURIComponent(i)}catch(t){GC(e,"tag prefix is malformed: "+i)}e.tagMap[a]=i}};function XC(e,t,n,a){var i,r,o,s;if(t1&&(e.result+=jx.repeat("\n",t-1))}function rM(e,t){var n,a,i=e.tag,r=e.anchor,o=[],s=!1;if(-1!==e.firstTabInLine)return!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=o),a=e.input.charCodeAt(e.position);0!==a&&(-1!==e.firstTabInLine&&(e.position=e.firstTabInLine,GC(e,"tab characters must not be used in indentation")),45===a)&&PC(e.input.charCodeAt(e.position+1));)if(s=!0,e.position++,nM(e,!0,-1)&&e.lineIndent<=t)o.push(null),a=e.input.charCodeAt(e.position);else if(n=e.line,cM(e,t,MC,!1,!0),o.push(e.result),nM(e,!0,-1),a=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==a)GC(e,"bad indentation of a sequence entry");else if(e.lineIndentt?m=1:e.lineIndent===t?m=0:e.lineIndentt?m=1:e.lineIndent===t?m=0:e.lineIndentt)&&(_&&(o=e.line,s=e.lineStart,c=e.position),cM(e,t,kC,!0,i)&&(_?g=e.result:f=e.result),_||(eM(e,h,p,m,g,f,o,s,c),m=g=f=null),nM(e,!0,-1),l=e.input.charCodeAt(e.position)),(e.line===r||e.lineIndent>t)&&0!==l)GC(e,"bad indentation of a mapping entry");else if(e.lineIndent=0))break;0===i?GC(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):c?GC(e,"repeat of an indentation width identifier"):(l=t+i-1,c=!0)}if(RC(r)){do{r=e.input.charCodeAt(++e.position)}while(RC(r));if(35===r)do{r=e.input.charCodeAt(++e.position)}while(!DC(r)&&0!==r)}for(;0!==r;){for(tM(e),e.lineIndent=0,r=e.input.charCodeAt(e.position);(!c||e.lineIndentl&&(l=e.lineIndent),DC(r))d++;else{if(e.lineIndent0){for(i=o,r=0;i>0;i--)(o=NC(s=e.input.charCodeAt(++e.position)))>=0?r=(r<<4)+o:GC(e,"expected hexadecimal character");e.result+=BC(r),e.position++}else GC(e,"unknown escape sequence");n=a=e.position}else DC(s)?(XC(e,n,a,!0),iM(e,nM(e,!1,t)),n=a=e.position):e.position===e.lineStart&&aM(e)?GC(e,"unexpected end of the document within a double quoted scalar"):(e.position++,a=e.position)}GC(e,"unexpected end of the stream within a double quoted scalar")}(e,h)?f=!0:!function(e){var t,n,a;if(42!==(a=e.input.charCodeAt(e.position)))return!1;for(a=e.input.charCodeAt(++e.position),t=e.position;0!==a&&!PC(a)&&!LC(a);)a=e.input.charCodeAt(++e.position);return e.position===t&&GC(e,"name of an alias node must contain at least one character"),n=e.input.slice(t,e.position),wC.call(e.anchorMap,n)||GC(e,'unidentified alias "'+n+'"'),e.result=e.anchorMap[n],nM(e,!0,-1),!0}(e)?function(e,t,n){var a,i,r,o,s,c,l,d,u=e.kind,h=e.result;if(PC(d=e.input.charCodeAt(e.position))||LC(d)||35===d||38===d||42===d||33===d||124===d||62===d||39===d||34===d||37===d||64===d||96===d)return!1;if((63===d||45===d)&&(PC(a=e.input.charCodeAt(e.position+1))||n&&LC(a)))return!1;for(e.kind="scalar",e.result="",i=r=e.position,o=!1;0!==d;){if(58===d){if(PC(a=e.input.charCodeAt(e.position+1))||n&&LC(a))break}else if(35===d){if(PC(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&aM(e)||n&&LC(d))break;if(DC(d)){if(s=e.line,c=e.lineStart,l=e.lineIndent,nM(e,!1,-1),e.lineIndent>=t){o=!0,d=e.input.charCodeAt(e.position);continue}e.position=r,e.line=s,e.lineStart=c,e.lineIndent=l;break}}o&&(XC(e,i,r,!1),iM(e,e.line-s),i=r=e.position,o=!1),RC(d)||(r=e.position+1),d=e.input.charCodeAt(++e.position)}return XC(e,i,r,!1),!!e.result||(e.kind=u,e.result=h,!1)}(e,h,xC===n)&&(f=!0,null===e.tag&&(e.tag="?")):(f=!0,null===e.tag&&null===e.anchor||GC(e,"alias node should not have any properties")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===m&&(f=s&&rM(e,p))),null===e.tag)null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);else if("?"===e.tag){for(null!==e.result&&"scalar"!==e.kind&&GC(e,'unacceptable node kind for ! tag; it should be "scalar", not "'+e.kind+'"'),c=0,l=e.implicitTypes.length;c"),null!==e.result&&u.kind!==e.kind&&GC(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+u.kind+'", not "'+e.kind+'"'),u.resolve(e.result,e.tag)?(e.result=u.construct(e.result,e.tag),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):GC(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||f}function lM(e){var t,n,a,i,r=e.position,o=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);0!==(i=e.input.charCodeAt(e.position))&&(nM(e,!0,-1),i=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==i));){for(o=!0,i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!PC(i);)i=e.input.charCodeAt(++e.position);for(a=[],(n=e.input.slice(t,e.position)).length<1&&GC(e,"directive name must not be less than one character in length");0!==i;){for(;RC(i);)i=e.input.charCodeAt(++e.position);if(35===i){do{i=e.input.charCodeAt(++e.position)}while(0!==i&&!DC(i));break}if(DC(i))break;for(t=e.position;0!==i&&!PC(i);)i=e.input.charCodeAt(++e.position);a.push(e.input.slice(t,e.position))}0!==i&&tM(e),wC.call(KC,n)?KC[n](e,n,a):YC(e,'unknown document directive "'+n+'"')}nM(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,nM(e,!0,-1)):o&&GC(e,"directives end mark is expected"),cM(e,e.lineIndent-1,kC,!1,!0),nM(e,!0,-1),e.checkLineBreaks&&zC.test(e.input.slice(r,e.position))&&YC(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&aM(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,nM(e,!0,-1)):e.position=55296&&a<=56319&&t+1=56320&&n<=57343?1024*(a-55296)+n-56320+65536:a}function JM(e){return/^\n* /.test(e)}var ek=1,tk=2,nk=3,ak=4,ik=5;function rk(e,t,n,a,i,r,o,s){var c,l=0,d=null,u=!1,h=!1,p=-1!==a,m=-1,g=function(e){return GM(e)&&e!==mM&&!QM(e)&&e!==EM&&e!==IM&&e!==$M&&e!==SM&&e!==jM&&e!==OM&&e!==RM&&e!==LM&&e!==wM&&e!==CM&&e!==kM&&e!==yM&&e!==PM&&e!==AM&&e!==zM&&e!==MM&&e!==bM&&e!==xM&&e!==TM&&e!==DM}(XM(e,0))&&function(e){return!QM(e)&&e!==$M}(XM(e,e.length-1));if(t||o)for(c=0;c=65536?c+=2:c++){if(!GM(l=XM(e,c)))return ik;g=g&&KM(l,d,s),d=l}else{for(c=0;c=65536?c+=2:c++){if((l=XM(e,c))===fM)u=!0,p&&(h=h||c-m-1>a&&" "!==e[m+1],m=c);else if(!GM(l))return ik;g=g&&KM(l,d,s),d=l}h=h||p&&c-m-1>a&&" "!==e[m+1]}return u||h?n>9&&JM(e)?ik:o?r===qM?ik:tk:h?ak:nk:!g||o||i(e)?r===qM?ik:tk:ek}function ok(e,t,n,a,i){e.dump=function(){if(0===t.length)return e.quotingType===qM?'""':"''";if(!e.noCompatMode&&(-1!==FM.indexOf(t)||VM.test(t)))return e.quotingType===qM?'"'+t+'"':"'"+t+"'";var r=e.indent*Math.max(1,n),o=-1===e.lineWidth?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-r),s=a||e.flowLevel>-1&&n>=e.flowLevel;switch(rk(t,s,e.indent,o,(function(t){return function(e,t){var n,a;for(n=0,a=e.implicitTypes.length;n"+sk(t,e.indent)+ck(WM(function(e,t){var n,a,i=/(\n+)([^\n]*)/g,r=(s=e.indexOf("\n"),s=-1!==s?s:e.length,i.lastIndex=s,lk(e.slice(0,s),t)),o="\n"===e[0]||" "===e[0];var s;for(;a=i.exec(e);){var c=a[1],l=a[2];n=" "===l[0],r+=c+(o||n||""===l?"":"\n")+lk(l,t),o=n}return r}(t,o),r));case ik:return'"'+function(e){for(var t,n="",a=0,i=0;i=65536?i+=2:i++)a=XM(e,i),!(t=NM[a])&&GM(a)?(n+=e[i],a>=65536&&(n+=e[i+1])):n+=t||HM(a);return n}(t)+'"';default:throw new Rx("impossible error: invalid scalar style")}}()}function sk(e,t){var n=JM(e)?String(t):"",a="\n"===e[e.length-1];return n+(a&&("\n"===e[e.length-2]||"\n"===e)?"+":a?"":"-")+"\n"}function ck(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function lk(e,t){if(""===e||" "===e[0])return e;for(var n,a,i=/ [^ ]/g,r=0,o=0,s=0,c="";n=i.exec(e);)(s=n.index)-r>t&&(a=o>r?o:s,c+="\n"+e.slice(r,a),r=a+1),o=s;return c+="\n",e.length-r>t&&o>r?c+=e.slice(r,o)+"\n"+e.slice(o+1):c+=e.slice(r),c.slice(1)}function dk(e,t,n,a){var i,r,o,s="",c=e.tag;for(i=0,r=n.length;i tag resolver accepts not "'+c+'" style');a=s.represent[c](t,c)}e.dump=a}return!0}return!1}function hk(e,t,n,a,i,r,o){e.tag=null,e.dump=n,uk(e,n,!1)||uk(e,n,!0);var s,c=hM.call(e.dump),l=a;a&&(a=e.flowLevel<0||e.flowLevel>t);var d,u,h="[object Object]"===c||"[object Array]"===c;if(h&&(u=-1!==(d=e.duplicates.indexOf(n))),(null!==e.tag&&"?"!==e.tag||u||2!==e.indent&&t>0)&&(i=!1),u&&e.usedDuplicates[d])e.dump="*ref_"+d;else{if(h&&u&&!e.usedDuplicates[d]&&(e.usedDuplicates[d]=!0),"[object Object]"===c)a&&0!==Object.keys(e.dump).length?(!function(e,t,n,a){var i,r,o,s,c,l,d="",u=e.tag,h=Object.keys(n);if(!0===e.sortKeys)h.sort();else if("function"==typeof e.sortKeys)h.sort(e.sortKeys);else if(e.sortKeys)throw new Rx("sortKeys must be a boolean or a function");for(i=0,r=h.length;i1024)&&(e.dump&&fM===e.dump.charCodeAt(0)?l+="?":l+="? "),l+=e.dump,c&&(l+=ZM(e,t)),hk(e,t+1,s,!0,c)&&(e.dump&&fM===e.dump.charCodeAt(0)?l+=":":l+=": ",d+=l+=e.dump));e.tag=u,e.dump=d||"{}"}(e,t,e.dump,i),u&&(e.dump="&ref_"+d+e.dump)):(!function(e,t,n){var a,i,r,o,s,c="",l=e.tag,d=Object.keys(n);for(a=0,i=d.length;a1024&&(s+="? "),s+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),hk(e,t,o,!1,!1)&&(c+=s+=e.dump));e.tag=l,e.dump="{"+c+"}"}(e,t,e.dump),u&&(e.dump="&ref_"+d+" "+e.dump));else if("[object Array]"===c)a&&0!==e.dump.length?(e.noArrayIndent&&!o&&t>0?dk(e,t-1,e.dump,i):dk(e,t,e.dump,i),u&&(e.dump="&ref_"+d+e.dump)):(!function(e,t,n){var a,i,r,o="",s=e.tag;for(a=0,i=n.length;a",e.dump=s+" "+e.dump)}return!0}function pk(e,t){var n,a,i=[],r=[];for(mk(e,i,r),n=0,a=r.length;nq`
${fk.dump(e)}
`;return q`
-
-
- -
-
- - ${this.message?q`${this.message}${this.context&&"string"==typeof this.context?": "+this.context:""}`:""} - - ${this.context&&Array.isArray(this.context)?this.context.map((e=>n(e))):"object"==typeof this.context?n(this.context):""} -
-
-
`}static get styles(){return o(_k)}};e([he({attribute:!1})],vk.prototype,"message",void 0),e([he({attribute:!1})],vk.prototype,"context",void 0),e([he({attribute:!1})],vk.prototype,"icon",void 0),e([he({attribute:!0,type:Boolean})],vk.prototype,"dotdotdot",void 0),vk=e([le("frigate-card-message")],vk);let yk=class extends se{render(){if(this.message)return q` ${V_("error.troubleshooting")}.`} - .icon=${this.message.icon??"mdi:alert-circle"} - .context=${this.message.context} - .dotdotdot=${this.message.dotdotdot} - > - `}static get styles(){return o(_k)}};e([he({attribute:!1})],yk.prototype,"message",void 0),yk=e([le("frigate-card-error-message")],yk);let bk=class extends se{constructor(){super(...arguments),this.message="",this.animated=!1,this.size="large"}render(){return q`
- ${this.animated?q` - `:q``} - ${this.message?q`${this.message}`:q``} -
`}static get styles(){return o(_k)}};function wk(e){return"error"===e?.type?q` `:e?q` `:q``}function xk(e){return q` - - - `}function Ck(e,t,n,a){Bg(e,"message",{message:t,type:n,icon:a?.icon,context:a?.context})}function Mk(e,t,n){Ck(e,t,"error",{context:n?.context})}function kk(e,t){t instanceof Error&&Mk(e,t.message,{...t instanceof zs&&{context:t.context}})}e([he({attribute:!1})],bk.prototype,"message",void 0),e([he({attribute:!1})],bk.prototype,"animated",void 0),e([he({attribute:!1})],bk.prototype,"size",void 0),bk=e([le("frigate-card-progress-indicator")],bk);let Sk=class extends se{constructor(){super(...arguments),this._root=null}createRenderRoot(){return this}_createRoot(){const e=customElements.get("hui-conditional-element");if(!e||!this.hass)throw new Error(V_("error.could_not_render_elements"));const t=new e;t.hass=this.hass;const n={type:"conditional",conditions:[],elements:this.elements};try{t.setConfig(n)}catch(e){throw Gg(e,console.error),new zs(V_("error.invalid_elements_config"))}return t}willUpdate(e){try{!this.elements||this._root&&!e.has("elements")||(this._root=this._createRoot())}catch(e){return kk(this,e)}}render(){return q`${this._root||""}`}updated(){this.hass&&this._root&&(this._root.hass=this.hass)}};e([he({attribute:!1})],Sk.prototype,"elements",void 0),e([he({attribute:!1})],Sk.prototype,"conditionsManagerEpoch",void 0),e([he({attribute:!1})],Sk.prototype,"hass",void 0),Sk=e([le("frigate-card-elements-core")],Sk);let Ek=class extends se{constructor(){super(...arguments),this._menuRemoveHandler=e=>{Bg(this,"menu:remove",e.detail)},this._statusBarRemoveHandler=e=>{Bg(this,"status-bar:remove",e.detail)},this._menuAddHandler=e=>{const t=e.composedPath();t.length&&this._addHandler(t[0],"frigate-card:menu:remove",this._menuRemoveHandler)},this._statusBarAddHandler=e=>{const t=e.composedPath();t.length&&this._addHandler(t[0],"frigate-card:status-bar:add",this._statusBarRemoveHandler)}}_addHandler(e,t,n){e.removeEventListener(t,n),e.addEventListener(t,n)}connectedCallback(){super.connectedCallback(),this.addEventListener("frigate-card:menu:add",this._menuAddHandler),this.addEventListener("frigate-card:status-bar:add",this._statusBarAddHandler)}disconnectedCallback(){this.removeEventListener("frigate-card:menu:add",this._menuAddHandler),this.addEventListener("frigate-card:status-bar:add",this._statusBarAddHandler),super.disconnectedCallback()}render(){return q` - `}static get styles(){return o(":host {\n position: absolute;\n inset: 0;\n overflow: hidden;\n pointer-events: none;\n}\n\n.element {\n position: absolute;\n transform: translate(-50%, -50%);\n pointer-events: auto;\n}\n\nhui-error-card.element {\n inset: 0px;\n transform: unset;\n}")}};e([he({attribute:!1})],Ek.prototype,"hass",void 0),e([he({attribute:!1})],Ek.prototype,"conditionsManagerEpoch",void 0),e([he({attribute:!1})],Ek.prototype,"elements",void 0),Ek=e([le("frigate-card-elements")],Ek);let $k=class extends se{setConfig(e){this._config=e}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this.className=""}render(){if(function(e,t){if(!t)return!0;const n=new _w(t,{bubbles:!0,composed:!0});return e.dispatchEvent(n),n.evaluation??!1}(this,this._config?.conditions))return q` - `}};e([he({attribute:!1,hasChanged:()=>!0})],$k.prototype,"hass",void 0),$k=e([le("frigate-card-conditional")],$k);class Ak extends se{constructor(e){super(),this._config=null,this._eventCategory=e}setConfig(e){this._config=e}connectedCallback(){super.connectedCallback(),this._config&&Bg(this,`${this._eventCategory}:add`,this._config)}disconnectedCallback(){this._config&&Bg(this,`${this._eventCategory}:remove`,this._config),super.disconnectedCallback()}}e([pe()],Ak.prototype,"_config",void 0);class zk extends Ak{constructor(){super("menu")}}let Ik=class extends zk{};Ik=e([le("frigate-card-menu-icon")],Ik);let Tk=class extends zk{};Tk=e([le("frigate-card-menu-state-icon")],Tk);let jk=class extends zk{};jk=e([le("frigate-card-menu-submenu")],jk);let Ok=class extends zk{};Ok=e([le("frigate-card-menu-submenu-select")],Ok);class Dk extends Ak{constructor(){super("status-bar")}}let Rk=class extends Dk{};Rk=e([le("frigate-card-status-bar-icon")],Rk);let Pk=class extends Dk{};Pk=e([le("frigate-card-status-bar-image")],Pk);let Lk=class extends Dk{};Lk=e([le("frigate-card-status-bar-string")],Lk);let Nk=class extends se{render(){return q` `}static get styles(){return o(":host {\n width: intrinsic;\n height: intrinsic;\n display: flex;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n}\n\nimg {\n width: 10%;\n animation: rotate 8s linear infinite;\n}\n\n@keyframes rotate {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}")}};Nk=e([le("frigate-card-loading")],Nk);const Fk=(e,t)=>{Bg(e,"action:execution-request",t)};class Vk{constructor(e){this._config=null,this._buttons=[],this._expanded=!1,this._host=e}setMenuConfig(e){this._config=e,this._host.style.setProperty("--frigate-card-menu-button-size",`${e.button_size}px`),this._host.setAttribute("data-style",e.style),this._host.setAttribute("data-position",e.position),this._host.setAttribute("data-alignment",e.alignment),this._sortButtons(),this._host.requestUpdate()}getMenuConfig(){return this._config}isExpanded(){return this._expanded}setButtons(e){this._buttons=e,this._sortButtons(),this._host.requestUpdate()}getButtons(e){const t=e=>!this._isHidingMenu()||this._expanded||!!e.permanent;return this._buttons.filter((n=>(e=>!1!==e.enabled)(n)&&(t=>t.alignment===e||"matching"===e&&!t.alignment)(n)&&t(n)))}setExpanded(e){this._expanded=e,of(this._host,e,"expanded"),this._host.requestUpdate()}toggleExpanded(){this.setExpanded(!this._expanded)}actionHandler(e,t){if(e.stopPropagation(),e.detail.config&&(t=e.detail.config),!t)return;const n=e.detail.action,a=yf(n,t);if(!a)return;const i=Wg(a);let r=!1;const o=i.filter((e=>sf(e)&&!this._isUnknownActionMenuToggleAction(e)));if(o.length!=i.length&&(r=!0),o.length&&Fk(this._host,{action:i,config:t}),this._isHidingMenu())if(r)this.setExpanded(!this._expanded);else{const e=yf("hold",t),a=yf("double_tap",t),i=yf("tap",t),r=yf("end_tap",t);"end_tap"!==n&&("start_tap"!==n||e||a||i||r)&&("end_tap"===n||r)||this.setExpanded(!1)}}getFreshButtonState(e,t){const n={...t};return e&&"custom:frigate-card-menu-state-icon"===t.type?Pb(e,n):n}_sortButtons(){this._buttons=Ev(this._buttons,(e=>(e.priority??0)+(this._isHidingMenu()&&e.permanent?Us:0)),["desc"])}_isHidingMenu(){return"hidden"===this._config?.style}_isUnknownActionMenuToggleAction(e){const t=mf(e);return!!t&&"menu_toggle"==t.frigate_card_action}}var Hk="data:image/svg+xml,%3c%3fxml version='1.0' encoding='UTF-8' standalone='no'%3f%3e%3csvg width='24' height='24' viewBox='0 0 24 24' fill='none' version='1.1' id='svg54' sodipodi:docname='frigate.svg' inkscape:version='1.2.2 (b0a8486541%2c 2022-12-01)' xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape' xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd' xmlns='http://www.w3.org/2000/svg' xmlns:svg='http://www.w3.org/2000/svg'%3e %3cdefs id='defs58' /%3e %3csodipodi:namedview id='namedview56' pagecolor='%23da4040' bordercolor='%23666666' borderopacity='1.0' inkscape:pageshadow='2' inkscape:pageopacity='0' inkscape:pagecheckerboard='0' showgrid='false' width='24px' inkscape:zoom='45.254834' inkscape:cx='-0.03314563' inkscape:cy='9.9768347' inkscape:window-width='3840' inkscape:window-height='1527' inkscape:window-x='1080' inkscape:window-y='227' inkscape:window-maximized='1' inkscape:current-layer='svg54' showguides='true' inkscape:showpageshadow='2' inkscape:deskcolor='%23d1d1d1' /%3e %3cpath d='m 4.8759466%2c22.743573 c 0.0866%2c0.69274 0.811811%2c1.16359 0.37885%2c1.27183 -0.43297%2c0.10824 -2.32718%2c-3.43665 -2.7601492%2c-4.95202 -0.4329602%2c-1.51538 -0.6764993%2c-3.22017 -0.5682593%2c-4.19434 0.1082301%2c-0.97417 5.7097085%2c-2.48955 5.7097085%2c-2.89545 0%2c-0.4059 -1.81304%2c-0.0271 -1.89422%2c-0.35178 -0.0812%2c-0.32472 1.36925%2c-0.12989 1.75892%2c-0.64945 0.60885%2c-0.81181 1.3800713%2c-0.6765 1.8671505%2c-1.1094696 0.4870902%2c-0.4329599 1.0824089%2c-2.0836399 1.1906589%2c-2.7871996 0.108241%2c-0.70357 -1.0824084%2c-1.51538 -1.4071389%2c-2.05658 -0.3247195%2c-0.54121 0.7035702%2c-0.92005 3.1931099%2c-1.94834 2.48954%2c-1.02829 10.39114%2c-3.30134994 10.49938%2c-3.03074994 0.10824%2c0.27061 -2.59779%2c1.40713994 -4.492%2c2.11069994 -1.89422%2c0.70357 -4.97909%2c2.05658 -4.97909%2c2.43542 0%2c0.37885 0.16236%2c0.67651 0.0541%2c1.54244 -0.10824%2c0.86593 -0.12123%2c1.2702597 -0.32472%2c1.8400997 -0.1353%2c0.37884 -0.2706%2c1.27183 0%2c2.0836295 0.21648%2c0.64945 0.92005%2c1.13653 1.24477%2c1.24478 0.2706%2c0.018 1.01746%2c0.0433 1.8401%2c0 1.02829%2c-0.0541 2.48954%2c0.0541 2.48954%2c0.32472 0%2c0.2706 -2.21894%2c0.10824 -2.21894%2c0.48708 0%2c0.37885 2.27306%2c-0.0541 2.21894%2c0.32473 -0.0541%2c0.37884 -1.89422%2c0.21648 -2.86839%2c0.21648 -0.77933%2c0 -1.93031%2c-0.0361 -2.43542%2c-0.21648 l -0.10824%2c0.37884 c -0.18038%2c0 -0.55744%2c0.10824 -0.94711%2c0.10824 -0.48708%2c0 -0.51414%2c0.16236 -1.40713%2c0.16236 -0.892989%2c0 -0.622391%2c-0.0541 -1.4341894%2c-0.10824 -0.81181%2c-0.0541 -3.842561%2c2.27306 -4.383761%2c3.03075 -0.54121%2c0.75768 -0.21649%2c2.59778 -0.21649%2c3.43665 0%2c0.75379 -0.10824%2c2.43542 0%2c3.30135 z' fill='black' id='path330' style='fill:white%3bfill-opacity:1%3bstroke:none%3bstroke-width:0.1%3bstroke-miterlimit:4%3bstroke-dasharray:none%3bstroke-opacity:1' sodipodi:nodetypes='csccscccccsscscccccsscsccssccscc' /%3e%3c/svg%3e",Bk="data:image/svg+xml,%3c%3fxml version='1.0' encoding='UTF-8' standalone='no'%3f%3e%3c!-- Created with Inkscape (http://www.inkscape.org/) --%3e%3csvg id='svg2' version='1.1' inkscape:version='1.2.2 (b0a8486541%2c 2022-12-01)' width='24' height='24' xml:space='preserve' sodipodi:docname='motioneye.svg' inkscape:export-filename='/home/ccrisan/projects/motioneye/static/img/motioneye-logo.png' inkscape:export-xdpi='960' inkscape:export-ydpi='960' xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape' xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns='http://www.w3.org/2000/svg' xmlns:svg='http://www.w3.org/2000/svg' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns%23' xmlns:cc='http://creativecommons.org/ns%23' xmlns:dc='http://purl.org/dc/elements/1.1/'%3e%3cmetadata id='metadata8'%3e%3crdf:RDF%3e%3ccc:Work rdf:about=''%3e%3cdc:format%3eimage/svg%2bxml%3c/dc:format%3e%3cdc:type rdf:resource='http://purl.org/dc/dcmitype/StillImage' /%3e%3c/cc:Work%3e%3c/rdf:RDF%3e%3c/metadata%3e%3cdefs id='defs6'%3e%3clinearGradient inkscape:collect='always' id='linearGradient2058'%3e%3cstop style='stop-color:white%3bstop-opacity:1%3b' offset='0' id='stop2054' /%3e%3cstop style='stop-color:%23585858%3bstop-opacity:1' offset='1' id='stop2056' /%3e%3c/linearGradient%3e%3clinearGradient inkscape:collect='always' id='linearGradient2005'%3e%3cstop style='stop-color:white%3bstop-opacity:1%3b' offset='0' id='stop2001' /%3e%3cstop style='stop-color:grey%3bstop-opacity:1%3b' offset='1' id='stop2003' /%3e%3c/linearGradient%3e%3clinearGradient inkscape:collect='always' id='linearGradient4205'%3e%3cstop style='stop-color:%234aa3e0%3bstop-opacity:1' offset='0' id='stop4207' /%3e%3cstop style='stop-color:%233096db%3bstop-opacity:1' offset='1' id='stop4209' /%3e%3c/linearGradient%3e%3clinearGradient inkscape:collect='always' id='linearGradient4197'%3e%3cstop style='stop-color:white%3bstop-opacity:1%3b' offset='0' id='stop4199' /%3e%3cstop style='stop-color:%23585858%3bstop-opacity:1' offset='1' id='stop4201' /%3e%3c/linearGradient%3e%3clinearGradient inkscape:collect='always' xlink:href='%23linearGradient4205' id='linearGradient4211' x1='26.602072' y1='43.034946' x2='26.602072' y2='29.466328' gradientUnits='userSpaceOnUse' gradientTransform='matrix(0.96428571%2c0%2c0%2c0.96428571%2c0.91428571%2c0.91428571)' /%3e%3cfilter style='color-interpolation-filters:sRGB' inkscape:label='Drop Shadow' id='filter4285'%3e%3cfeFlood flood-opacity='0.588235' flood-color='rgb(0%2c0%2c0)' result='flood' id='feFlood4287' /%3e%3cfeComposite in='flood' in2='SourceGraphic' operator='in' result='composite1' id='feComposite4289' /%3e%3cfeGaussianBlur in='composite1' stdDeviation='0.6' result='blur' id='feGaussianBlur4291' /%3e%3cfeOffset dx='0' dy='-1' result='offset' id='feOffset4293' /%3e%3cfeComposite in='SourceGraphic' in2='offset' operator='over' result='composite2' id='feComposite4295' /%3e%3c/filter%3e%3clinearGradient inkscape:collect='always' xlink:href='%23linearGradient2005' id='linearGradient4309' gradientUnits='userSpaceOnUse' x1='26.445793' y1='47.517574' x2='26.445793' y2='3.8183768' /%3e%3clinearGradient inkscape:collect='always' xlink:href='%23linearGradient4197' id='linearGradient4311' gradientUnits='userSpaceOnUse' x1='26.445793' y1='47.517574' x2='26.445793' y2='3.8183768' /%3e%3clinearGradient inkscape:collect='always' xlink:href='%23linearGradient2058' id='linearGradient4313' gradientUnits='userSpaceOnUse' x1='26.445793' y1='47.517574' x2='26.445793' y2='3.8183768' /%3e%3cfilter style='color-interpolation-filters:sRGB' inkscape:label='Drop Shadow' id='filter4315' x='-0.03618178' y='-0.20783284' width='1.0723636' height='1.3304883'%3e%3cfeFlood flood-opacity='0.588235' flood-color='rgb(0%2c0%2c0)' result='flood' id='feFlood4317' /%3e%3cfeComposite in='flood' in2='SourceGraphic' operator='in' result='composite1' id='feComposite4319' /%3e%3cfeGaussianBlur in='composite1' stdDeviation='0.6' result='blur' id='feGaussianBlur4321' /%3e%3cfeOffset dx='0' dy='-1' result='offset' id='feOffset4323' /%3e%3cfeComposite in='SourceGraphic' in2='offset' operator='over' result='composite2' id='feComposite4325' /%3e%3c/filter%3e%3cfilter style='color-interpolation-filters:sRGB' inkscape:label='Drop Shadow' id='filter4327' x='-0.27857143' y='-0.4720238' width='1.5571429' height='1.7505952'%3e%3cfeFlood flood-opacity='0.588235' flood-color='rgb(0%2c0%2c0)' result='flood' id='feFlood4329' /%3e%3cfeComposite in='flood' in2='SourceGraphic' operator='in' result='composite1' id='feComposite4331' /%3e%3cfeGaussianBlur in='composite1' stdDeviation='0.6' result='blur' id='feGaussianBlur4333' /%3e%3cfeOffset dx='0' dy='-1' result='offset' id='feOffset4335' /%3e%3cfeComposite in='SourceGraphic' in2='offset' operator='over' result='composite2' id='feComposite4337' /%3e%3c/filter%3e%3cfilter style='color-interpolation-filters:sRGB' inkscape:label='Drop Shadow' id='filter4339' x='-0.0202507' y='-0.13980794' width='1.0405014' height='1.2082853'%3e%3cfeFlood flood-opacity='0.588235' flood-color='rgb(0%2c0%2c0)' result='flood' id='feFlood4341' /%3e%3cfeComposite in='flood' in2='SourceGraphic' operator='in' result='composite1' id='feComposite4343' /%3e%3cfeGaussianBlur in='composite1' stdDeviation='0.2' result='blur' id='feGaussianBlur4345' /%3e%3cfeOffset dx='0' dy='-0.5' result='offset' id='feOffset4347' /%3e%3cfeComposite in='SourceGraphic' in2='offset' operator='over' result='composite2' id='feComposite4349' /%3e%3c/filter%3e%3c/defs%3e%3csodipodi:namedview pagecolor='%23ff0d0d' bordercolor='%23666666' borderopacity='1' objecttolerance='10' gridtolerance='10' guidetolerance='10' inkscape:pageopacity='0' inkscape:pageshadow='2' inkscape:window-width='3840' inkscape:window-height='1527' id='namedview4' showgrid='false' inkscape:zoom='29.890116' inkscape:cx='19.973158' inkscape:cy='16.577386' inkscape:window-x='1080' inkscape:window-y='227' inkscape:window-maximized='1' inkscape:current-layer='g10' showguides='true' inkscape:guide-bbox='true' inkscape:showpageshadow='true' inkscape:pagecheckerboard='false' inkscape:deskcolor='%23d1d1d1' /%3e%3cg id='g10' inkscape:groupmode='layer' inkscape:label='ink_ext_XXXXXX' transform='matrix(1.25%2c0%2c0%2c-1.25%2c0%2c64)'%3e%3cg id='g4823' transform='matrix(1.0344694%2c0%2c0%2c1.0344694%2c-3.551886%2c-0.86695248)'%3e%3cpath id='path4244' d='M 8.9346154%2c40.515385 C 5.3647588%2c36.547307 3.2%2c31.357779 3.2%2c25.6 3.2%2c13.228821 13.228821%2c3.2 25.6%2c3.2 37.971179%2c3.2 48%2c13.228821 48%2c25.6 c 0%2c5.736682 -2.161128%2c10.952493 -5.707692%2c14.915385 -1.695935%2c-0.623286 -3.387833%2c-1.349065 -5.061539%2c-2.288462 3.2394%2c-0.937363 5.6%2c-3.937988 5.6%2c-7.457692 0%2c-4.260339 -3.469626%2c-7.753846 -7.753846%2c-7.753846 -3.633936%2c0 -6.690552%2c2.51055 -7.538461%2c5.869231 h -3.876924 c -0.840685%2c-3.360193 -3.903443%2c-5.869231 -7.538461%2c-5.869231 -4.284219%2c0 -7.7807693%2c3.493507 -7.7807693%2c7.753846 0%2c3.56112 2.4570323%2c6.5856 5.7615383%2c7.484616 -1.676267%2c0.912203 -3.404813%2c1.620556 -5.1692306%2c2.261538 z M 25.6%2c26.461538 c 0.532632%2c-1.981435 1.101793%2c-3.947553 3.446154%2c-5.16923 L 25.6%2c16.123077 22.153846%2c21.292308 c 2.053593%2c1.454966 3.000771%2c3.237758 3.446154%2c5.16923 z' style='fill:url(%23linearGradient4309)%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4327)' inkscape:connector-curvature='0' transform='matrix(0.38078533%2c0%2c0%2c0.38078533%2c2.9655495%2c31.335499)' /%3e%3cpath id='path4242' d='m 16.123077%2c33.353847 c -1.427443%2c0 -2.584616%2c-1.157173 -2.584616%2c-2.584616 0%2c-1.427444 1.157173%2c-2.584615 2.584616%2c-2.584615 1.427444%2c0 2.584615%2c1.157171 2.584615%2c2.584615 0%2c1.427443 -1.157171%2c2.584616 -2.584615%2c2.584616 z' style='fill:url(%23linearGradient4311)%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4327)' inkscape:connector-curvature='0' transform='matrix(0.38078533%2c0%2c0%2c0.38078533%2c2.9655495%2c31.335499)' /%3e%3cpath id='path4240' d='m 35.076923%2c33.353847 c -1.427443%2c0 -2.584615%2c-1.157173 -2.584615%2c-2.584616 0%2c-1.427444 1.157172%2c-2.584615 2.584615%2c-2.584615 1.427443%2c0 2.584616%2c1.157171 2.584616%2c2.584615 0%2c1.427443 -1.157173%2c2.584616 -2.584616%2c2.584616 z' style='fill:url(%23linearGradient4313)%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4327)' inkscape:connector-curvature='0' transform='matrix(0.38078533%2c0%2c0%2c0.38078533%2c2.9655495%2c31.335499)' /%3e%3cpath inkscape:connector-curvature='0' style='fill:%23d9d9d9%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4339)' d='m 25.6%2c47.2 c -4.373944%2c0 -8.437159%2c-1.399808 -11.838461%2c-3.634616 3.677605%2c-0.394237 7.305921%2c-1.342945 11.423077%2c-3.375 4.166157%2c2.122533 8.434154%2c3.008875 12.279808%2c3.452886 C 34.057131%2c45.890032 29.986674%2c47.2 25.6%2c47.2 Z' id='path4248' transform='matrix(0.39488848%2c0%2c0%2c0.39488848%2c2.6045087%2c30.974457)' /%3e%3cpath inkscape:connector-curvature='0' style='fill:url(%23linearGradient4211)%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4315)' d='M 39.723077%2c42.552884 C 35.394064%2c42.5242 29.479588%2c40.397223 25.184616%2c38.432418 20.668821%2c40.064102 16.035448%2c42.649343 10.801923%2c42.526924 10.453022%2c42.51873 10.118061%2c42.50105 9.7634616%2c42.475 L 5.6615384%2c42.1375 9.5557693%2c40.839424 c 5.3417977%2c-1.74056 10.0398397%2c-2.851302 14.1749997%2c-10.025963 0.959101%2c0 2.845924%2c-4.15e-4 3.738462%2c-4.15e-4 4.11884%2c7.134039 9.059296%2c8.324614 14.149039%2c10.026378 L 45.460577%2c42.085577 41.4625%2c42.475 c -0.544847%2c0.05181 -1.120992%2c0.08198 -1.739423%2c0.07788 z' id='path4246' sodipodi:nodetypes='cccccccccccc' transform='matrix(0.39488848%2c0%2c0%2c0.39488848%2c2.6045087%2c30.974457)' /%3e%3c/g%3e%3c/g%3e%3c/svg%3e",qk="data:image/svg+xml,%3c%3fxml version='1.0' encoding='UTF-8' standalone='no'%3f%3e%3c!-- Created with Inkscape (http://www.inkscape.org/) --%3e%3csvg version='1.1' id='svg62' width='24' height='24' viewBox='0 0 24 24' sodipodi:docname='reolink.svg' inkscape:version='1.2.2 (b0a8486541%2c 2022-12-01)' xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape' xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd' xmlns='http://www.w3.org/2000/svg' xmlns:svg='http://www.w3.org/2000/svg'%3e %3cdefs id='defs66' /%3e %3csodipodi:namedview id='namedview64' pagecolor='%23505050' bordercolor='%23eeeeee' borderopacity='1' inkscape:showpageshadow='0' inkscape:pageopacity='0' inkscape:pagecheckerboard='0' inkscape:deskcolor='%23505050' showgrid='true' inkscape:zoom='36.417984' inkscape:cx='18.191562' inkscape:cy='8.6633022' inkscape:window-width='3840' inkscape:window-height='1527' inkscape:window-x='1080' inkscape:window-y='227' inkscape:window-maximized='1' inkscape:current-layer='g68'%3e %3cinkscape:grid type='xygrid' id='grid1175' dotted='false' snapvisiblegridlinesonly='true' /%3e %3c/sodipodi:namedview%3e %3cg inkscape:groupmode='layer' inkscape:label='Reolink Logo' id='g68'%3e %3cpath style='fill:white%3bstroke-width:0.0393282%3bfill-opacity:1' d='M 17.037254%2c23.964909 C 16.764634%2c23.917573 16.561708%2c23.83617 16.325735%2c23.67954 16.196719%2c23.593913 14.543544%2c21.952905 12.217956%2c19.602014 10.077426%2c17.438191 8.2198993%2c15.582673 8.0901166%2c15.478642 7.6038998%2c15.088895 7.0877741%2c14.869424 6.4986827%2c14.801908 6.3140805%2c14.780765 5.079061%2c14.763305 3.7541964%2c14.763126 l -2.408845%2c-4.78e-4 0.00713%2c-7.3937713 v -7.3935985 l 6.2040046%2c3.536e-5 c 3.9799342%2c1.969e-5 6.3590882%2c0.01465833 6.6366112%2c0.0408227 2.331195%2c0.21982024 4.364771%2c1.49885914 5.578726%2c3.50085534 0.686043%2c1.1313823 1.020901%2c2.2783695 1.067186%2c3.6554196 0.06335%2c1.8844953 -0.57426%2c3.6597378 -1.831469%2c5.0992438 -0.756457%2c0.866146 -1.861127%2c1.62991 -2.928729%2c2.024919 l -0.319718%2c0.118287 -1.951287%2c-1.979284 -1.951286%2c-1.979278 1.046741%2c-0.02346 c 0.575706%2c-0.01291 1.099833%2c-0.03689 1.164724%2c-0.0533 0.596068%2c-0.150649 0.949703%2c-0.313968 1.322206%2c-0.6106282 0.643573%2c-0.5125401 1.046169%2c-1.2439257 1.137985%2c-2.0673522 0.167852%2c-1.505317 -0.771478%2c-2.8704888 -2.263547%2c-3.2897068 L 13.950001%2c4.3234481 9.7981831%2c4.3106846 5.6392389%2c4.29801 v 3.0692702 3.0692648 l 1.4185165%2c7.9e-4 c 1.6275801%2c8.87e-4 1.7789152%2c0.01912 2.3105245%2c0.27984 0.3095679%2c0.15183 0.389559%2c0.219499 1.0817441%2c0.915083 3.027399%2c3.042274 12.19404%2c12.30837 12.204589%2c12.337002 0.0161%2c0.04373 -5.364393%2c0.03953 -5.617359%2c-0.0045 z' id='path1173' inkscape:label='R' /%3e %3c/g%3e%3c/svg%3e";const Uk=e=>{switch(e){case"frigate":return Hk;case"motioneye":return Bk;case"reolink":return qk;default:return null}};const Wk=(e,t,n)=>{const a=e.states[t],i=n?.state?n.state:a?a.state:null;if(!i)return null;const r=Ye(t),o=a?a.attributes:null;return n?.entity?.translation_key&&e.localize(`component.${n.entity.platform}.entity.${r}.${n.entity.translation_key}.state.${i}`)||o?.device_class&&e.localize(`component.${r}.state.${o.device_class}.${i}`)||e.localize(`component.${r}.state._.${i}`)||i};let Zk=class extends se{_renderItem(e){if(!this.hass)return;const t=Pb(this.hass,{...e});return q` - {t.detail.config=e}} - .actionHandler=${kf({hasHold:bf(e.hold_action),hasDoubleClick:bf(e.double_tap_action)})} - > - ${t.title||""} - ${e.subtitle?q`${e.subtitle}`:""} - ${(e=>{if(e.icon){const t=Uk(e.icon);return t?q``:q` - `}return q``})(t)} - - `}render(){if(!this.submenu)return q``;const e=this.submenu.items;return q` - e.stopPropagation()} - @click=${e=>wf(e)} - > - - - - ${e.map(this._renderItem.bind(this))} - - `}static get styles(){return o("ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n pointer-events: auto;\n}\n\nmwc-list-item {\n z-index: 20;\n}")}};e([he({attribute:!1})],Zk.prototype,"hass",void 0),e([he({attribute:!1})],Zk.prototype,"submenu",void 0),Zk=e([le("frigate-card-submenu")],Zk);let Qk=class extends se{shouldUpdate(e){const t=e.get("hass");return!e.has("hass")||!t||!this.submenuSelect||jb(this.hass,t,[this.submenuSelect.entity])}async _refreshOptionTitles(){if(!this.hass||!this.submenuSelect)return;const e=this.submenuSelect.entity,t=this.hass.states[e],n=t?.attributes?.options,a=await(this.entityRegistryManager?.getEntity(this.hass,e))??null,i={};for(const t of n){const n=Wk(this.hass,e,{...a&&{entity:a},state:t});n&&(i[t]=n)}this._optionTitles=i}willUpdate(){if(!this.submenuSelect||!this.hass)return;this._optionTitles||this._refreshOptionTitles();const e=this.submenuSelect.entity,t=this.hass.states[e],n=t?.attributes?.options;if(!t||!n)return;const a={icon:zb("select"),...Pb(this.hass,this.submenuSelect),...this.submenuSelect,type:"custom:frigate-card-menu-submenu",items:[]};delete a.options;const i=a.items;for(const a of n){const n=this._optionTitles?.[a]??a;i.push({state_color:!0,selected:t.state===a,enabled:!0,title:n||a,...(e.startsWith("select.")||e.startsWith("input_select."))&&{tap_action:{action:"perform-action",perform_action:e.startsWith("select.")?"select.select_option":"input_select.select_option",target:{entity_id:e},data:{option:a}}},...this.submenuSelect.options&&this.submenuSelect.options[a]})}this._generatedSubmenu=a}render(){return q` `}};e([he({attribute:!1})],Qk.prototype,"hass",void 0),e([he({attribute:!1})],Qk.prototype,"submenuSelect",void 0),e([he({attribute:!1})],Qk.prototype,"entityRegistryManager",void 0),e([pe()],Qk.prototype,"_optionTitles",void 0),Qk=e([le("frigate-card-submenu-select")],Qk);let Gk=class extends se{constructor(){super(...arguments),this._controller=new Vk(this)}set menuConfig(e){this._controller.setMenuConfig(e)}set buttons(e){this._controller.setButtons(e)}set expanded(e){this._controller.setExpanded(e)}toggleMenu(){this._controller.toggleExpanded()}_renderButton(e){if(!this.hass)return;if("custom:frigate-card-menu-submenu"===e.type)return q` this._controller.actionHandler(e)} - > - `;if("custom:frigate-card-menu-submenu-select"===e.type)return q` this._controller.actionHandler(e)} - > - `;const t=this._controller.getFreshButtonState(this.hass,e),n=Uk(t.icon);return q` this._controller.actionHandler(t,e)} - > - ${n?q``:q``} - `}render(){const e=this._controller.getMenuConfig(),t=e?.style;if(!e||"none"===t)return;const n=this._controller.getButtons("matching"),a=this._controller.getButtons("opposing");return q`
- ${n.map((e=>this._renderButton(e)))} -
-
- ${a.map((e=>this._renderButton(e)))} -
`}static get styles(){return o('ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n --frigate-card-menu-button-size: 40px;\n --mdc-icon-button-size: var(--frigate-card-menu-button-size);\n --mdc-icon-size: calc(var(--mdc-icon-button-size) / 2);\n pointer-events: auto;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n}\n\n/*******************************************************\n * Non-hover styles should not interact with the pointer\n *******************************************************/\n:host(:not([data-style*=hover])) {\n pointer-events: none;\n}\n\n/***********************************\n * Aligned divs: matching & opposing\n ***********************************/\ndiv.matching,\ndiv.opposing {\n display: flex;\n flex-wrap: wrap;\n flex-direction: row;\n align-items: flex-start;\n min-width: 0px;\n min-height: 0px;\n}\n\ndiv.matching {\n justify-content: flex-start;\n}\n\ndiv.opposing {\n justify-content: flex-end;\n}\n\n/********************\n * Outside menu style\n ********************/\n:host([data-style=outside]) {\n width: 100%;\n background: var(--secondary-background-color);\n}\n\n/********************************************************\n * Hack: Ensure host & div expand for column flex layouts\n ********************************************************/\n:host(:not([data-style=outside])[data-position=left]) {\n writing-mode: vertical-lr;\n}\n\n:host(:not([data-style=outside])[data-position=right]) {\n writing-mode: vertical-rl;\n}\n\n:host(:not([data-style=outside])[data-style=overlay][data-position=left]) div > *,\n:host(:not([data-style=outside])[data-style=overlay][data-position=right]) div > *,\n:host(:not([data-style=outside])[data-style*=hover][data-position=left]) div > *,\n:host(:not([data-style=outside])[data-style*=hover][data-position=right]) div > *,\n:host(:not([data-style=outside])[data-style=hidden][data-position=left]) div > *,\n:host(:not([data-style=outside])[data-style=hidden][data-position=right]) div > * {\n writing-mode: horizontal-tb;\n}\n\n/**********************\n * "Reverse" alignments\n **********************/\n:host(:not([data-style=outside])[data-position=left][data-alignment=bottom]),\n:host(:not([data-style=outside])[data-position=right][data-alignment=bottom]),\n:host([data-position=top][data-alignment=right]),\n:host([data-position=bottom][data-alignment=right]),\n:host(:not([data-style=outside])[data-position=left][data-alignment=bottom]) div,\n:host(:not([data-style=outside])[data-position=right][data-alignment=bottom]) div,\n:host([data-position=top][data-alignment=right]) div,\n:host([data-position=bottom][data-alignment=right]) div {\n flex-direction: row-reverse;\n}\n\n/****************************\n * Wrap upwards on the bottom\n ****************************/\n:host(:not([data-style=outside])[data-position=bottom]) div {\n flex-wrap: wrap-reverse;\n}\n\n/********************************************\n * Positioning for absolute based menu styles\n ********************************************/\n:host([data-style=overlay]),\n:host([data-style*=hover]),\n:host([data-style=hidden]) {\n overflow: hidden;\n width: calc(var(--frigate-card-menu-button-size) + 6px);\n height: calc(var(--frigate-card-menu-button-size) + 6px);\n}\n\n:host([data-style=overlay]),\n:host([data-style*=hover]),\n:host([data-style=hidden][expanded]) {\n overflow: visible;\n}\n\n:host([data-style=overlay][data-position=top]),\n:host([data-style=overlay][data-position=bottom]),\n:host([data-style*=hover][data-position=top]),\n:host([data-style*=hover][data-position=bottom]),\n:host([data-style=hidden][data-position=top]),\n:host([data-style=hidden][data-position=bottom]) {\n width: 100%;\n height: auto;\n}\n\n:host([data-style=overlay][data-position=top][data-alignment=left]),\n:host([data-style=overlay][data-position=bottom][data-alignment=left]),\n:host([data-style*=hover][data-position=top][data-alignment=left]),\n:host([data-style*=hover][data-position=bottom][data-alignment=left]),\n:host([data-style=hidden][data-position=top][data-alignment=left][expanded]),\n:host([data-style=hidden][data-position=bottom][data-alignment=left][expanded]) {\n background: linear-gradient(90deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}\n\n:host([data-style=overlay][data-position=top][data-alignment=right]),\n:host([data-style=overlay][data-position=bottom][data-alignment=right]),\n:host([data-style*=hover][data-position=top][data-alignment=right]),\n:host([data-style*=hover][data-position=bottom][data-alignment=right]),\n:host([data-style=hidden][data-position=top][data-alignment=right][expanded]),\n:host([data-style=hidden][data-position=bottom][data-alignment=right][expanded]) {\n background: linear-gradient(270deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}\n\n:host([data-style=overlay][data-position=left]),\n:host([data-style=overlay][data-position=right]),\n:host([data-style*=hover][data-position=left]),\n:host([data-style*=hover][data-position=right]),\n:host([data-style=hidden][data-position=left]),\n:host([data-style=hidden][data-position=right]) {\n width: auto;\n height: 100%;\n}\n\n:host([data-style=overlay][data-position=left][data-alignment=top]),\n:host([data-style=overlay][data-position=right][data-alignment=top]),\n:host([data-style*=hover][data-position=left][data-alignment=top]),\n:host([data-style*=hover][data-position=right][data-alignment=top]),\n:host([data-style=hidden][data-position=left][data-alignment=top][expanded]),\n:host([data-style=hidden][data-position=right][data-alignment=top][expanded]) {\n background: linear-gradient(180deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}\n\n:host([data-style=overlay][data-position=left][data-alignment=bottom]),\n:host([data-style=overlay][data-position=right][data-alignment=bottom]),\n:host([data-style*=hover][data-position=left][data-alignment=bottom]),\n:host([data-style*=hover][data-position=right][data-alignment=bottom]),\n:host([data-style=hidden][data-position=left][data-alignment=bottom][expanded]),\n:host([data-style=hidden][data-position=right][data-alignment=bottom][expanded]) {\n background: linear-gradient(0deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}')}};e([he({attribute:!1})],Gk.prototype,"entityRegistryManager",void 0),e([he({attribute:!1})],Gk.prototype,"hass",void 0),Gk=e([le("frigate-card-menu")],Gk);let Yk=class extends se{render(){return q` - - - - - `}static get styles(){return o("ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n position: absolute;\n width: 100%;\n height: 100%;\n pointer-events: none;\n}\n\nslot {\n position: absolute;\n display: flex;\n}\n\n/***************\n * Slot position\n ***************/\nslot[name=top] {\n top: 0px;\n}\n\nslot[name=bottom] {\n bottom: 0px;\n}\n\nslot[name=left] {\n left: 0px;\n}\n\nslot[name=right] {\n right: 0px;\n}\n\n/***********\n * Slot size\n ***********/\nslot[name=top],\nslot[name=bottom] {\n width: 100%;\n flex-direction: column;\n}\n\nslot[name=left],\nslot[name=right] {\n height: 100%;\n flex-direction: row;\n}\n\nslot[name=top],\nslot[name=left] {\n justify-content: flex-start;\n}\n\nslot[name=bottom],\nslot[name=right] {\n justify-content: flex-end;\n}\n\n/*******************************\n * Match rounded corners to card\n *******************************/\n::slotted([slot=top]:first-child),\n::slotted([slot=left]:first-child) {\n border-top-left-radius: var(--ha-card-border-radius, 4px);\n}\n\n::slotted([slot=top]:first-child),\n::slotted([slot=right]:first-child) {\n border-top-right-radius: var(--ha-card-border-radius, 4px);\n}\n\n::slotted([slot=bottom]:last-child),\n::slotted([slot=left]:last-child) {\n border-bottom-left-radius: var(--ha-card-border-radius, 4px);\n}\n\n::slotted([slot=bottom]:last-child),\n::slotted([slot=right]:last-child) {\n border-bottom-right-radius: var(--ha-card-border-radius, 4px);\n}")}};Yk=e([le("frigate-card-overlay")],Yk);class Kk{constructor(e){this._config=null,this._popupTimer=new xf,this._items=[],this._host=e}getRenderItems(){return this._items}setItems(e){const t=e.filter((e=>!!e.exclusive)),n=Ev(t.length?t:e,(e=>e.priority??50),"desc"),a=this._getSufficientValues(this._items),i=this._getSufficientValues(n);this._items=n,"popup"!==this._config?.style||Dv(a,i)||(this._show(),this._popupTimer.start(this._config.popup_seconds,(()=>this._hide()))),this._host.requestUpdate()}setConfig(e){this._config=e,this._host.style.setProperty("--frigate-card-status-bar-height",`${e.height}px`),this._host.setAttribute("data-style",e.style),this._host.setAttribute("data-position",e.position),"popup"!==this._config?.style&&this._show(),this._host.requestUpdate()}shouldRender(){return this._items.some((e=>!1!==e.enabled&&e.sufficient))}actionHandler(e,t){e.stopPropagation();const n=yf(e.detail.action,t);n&&Fk(this._host,{action:Wg(n),config:t})}_getSufficientValue(e){ -/* istanbul ignore else: cannot happen -- @preserve */ -return"custom:frigate-card-status-bar-icon"===e.type?e.icon:"custom:frigate-card-status-bar-string"===e.type?e.string:"custom:frigate-card-status-bar-image"===e.type?e.image:null}_getSufficientValues(e){return e.filter((e=>!1!==e.enabled&&e.sufficient)).map((e=>this._getSufficientValue(e)))}_show(){of(this._host,!1,"hide")}_hide(){of(this._host,!0,"hide")}}let Xk=class extends se{constructor(){super(...arguments),this._controller=new Kk(this)}willUpdate(e){e.has("config")&&this.config&&this._controller.setConfig(this.config),e.has("items")&&this._controller.setItems(this.items??[])}render(){if(this._controller.shouldRender())return q` -
- ${this._controller.getRenderItems().map((e=>{if(!1===e.enabled)return;const t=_e({item:!0,expand:!!e.expand,action:!!Object.keys(e.actions??{}).length}),n=kf({hasHold:bf(e.actions?.hold_action),hasDoubleClick:bf(e.actions?.double_tap_action)});if("custom:frigate-card-status-bar-string"===e.type)return q`
this._controller.actionHandler(t,e.actions)} - > - ${e.string} -
`;if("custom:frigate-card-status-bar-icon"===e.type){const a=Uk(e.icon);return a?q`this._controller.actionHandler(t,e.actions)} - />`:q`this._controller.actionHandler(t,e.actions)} - >`}return"custom:frigate-card-status-bar-image"===e.type?q`this._controller.actionHandler(t,e.actions)} - />`:void 0}))} -
- `}static get styles(){return o("ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n --mdc-icon-button-size: calc(var(--frigate-card-status-bar-height) - 6px);\n --mdc-icon-size: calc(var(--mdc-icon-button-size) / 2);\n display: block;\n width: 100%;\n pointer-events: auto;\n opacity: 1;\n transition: opacity 1s;\n}\n\n/*******************************************************\n * Non-hover styles should not interact with the pointer\n *******************************************************/\n:host(:not([data-style*=hover])) {\n pointer-events: none;\n}\n\n/***************\n * Outside style\n ***************/\n:host([data-style=outside]) {\n color: var(--primary-text-color);\n background: var(--secondary-background-color);\n}\n\n/*******************\n * Non-outside style\n *******************/\n:host(:not([data-style=outside])) {\n color: white;\n background: linear-gradient(90deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}\n\n:host([data-style=popup][hide]) {\n opacity: 0;\n}\n\n/*********************\n * Status bar contents\n *********************/\n.status {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n overflow: hidden;\n width: 100%;\n height: var(--frigate-card-status-bar-height);\n}\n\n.item {\n display: inline-block;\n margin: 3px;\n padding: 3px;\n align-content: center;\n opacity: 0.7;\n}\n\n.item:first-child {\n margin-left: 10px;\n}\n\n.item:last-child {\n margin-right: 10px;\n}\n\n.item.expand {\n flex: 1;\n}\n\n.item.action {\n cursor: pointer;\n}\n\nimg.item {\n width: var(--mdc-icon-size, 24px);\n height: var(--mdc-icon-size, 24px);\n}")}};e([he({attribute:!1})],Xk.prototype,"items",void 0),e([he({attribute:!1})],Xk.prototype,"config",void 0),Xk=e([le("frigate-card-status-bar")],Xk);function Jk(e){return"number"==typeof e}function eS(e){return"string"==typeof e}function tS(e){return"boolean"==typeof e}function nS(e){return"[object Object]"===Object.prototype.toString.call(e)}function aS(e){return Math.abs(e)}function iS(e){return Math.sign(e)}function rS(e,t){return aS(e-t)}function oS(e){return uS(e).map(Number)}function sS(e){return e[cS(e)]}function cS(e){return Math.max(0,e.length-1)}function lS(e,t){return t===cS(e)}function dS(e,t=0){return Array.from(Array(e),((e,n)=>t+n))}function uS(e){return Object.keys(e)}function hS(e,t){return[e,t].reduce(((e,t)=>(uS(t).forEach((n=>{const a=e[n],i=t[n],r=nS(a)&&nS(i);e[n]=r?hS(a,i):i})),e)),{})}function pS(e,t){return void 0!==t.MouseEvent&&e instanceof t.MouseEvent}function mS(){let e=[];const t={add:function(n,a,i,r={passive:!0}){let o;if("addEventListener"in n)n.addEventListener(a,i,r),o=()=>n.removeEventListener(a,i,r);else{const e=n;e.addListener(i),o=()=>e.removeListener(i)}return e.push(o),t},clear:function(){e=e.filter((e=>e()))}};return t}function gS(e,t,n,a){const i=mS(),r=1e3/60;let o=null,s=0,c=0;function l(e){if(!c)return;o||(o=e);const i=e-o;for(o=e,s+=i;s>=r;)n(r),s-=r;a(s/r),c&&t.requestAnimationFrame(l)}function d(){t.cancelAnimationFrame(c),o=null,s=0,c=0}return{init:function(){i.add(e,"visibilitychange",(()=>{e.hidden&&(o=null,s=0)}))},destroy:function(){d(),i.clear()},start:function(){c||(c=t.requestAnimationFrame(l))},stop:d,update:()=>n(r),render:a}}function fS(e=0,t=0){const n=aS(e-t);function a(t){return tt}function r(e){return a(e)||i(e)}const o={length:n,max:t,min:e,constrain:function(n){return r(n)?a(n)?e:t:n},reachedAny:r,reachedMax:i,reachedMin:a,removeOffset:function(e){return n?e-n*Math.ceil((e-t)/n):e}};return o}function _S(e,t,n){const{constrain:a}=fS(0,e),i=e+1;let r=o(t);function o(e){return n?aS((i+e)%i):a(e)}function s(){return r}function c(){return _S(e,s(),n)}const l={get:s,set:function(e){return r=o(e),l},add:function(e){return c().set(s()+e)},clone:c};return l}function vS(e,t,n,a,i,r,o,s,c,l,d,u,h,p,m,g,f,_,v){const{cross:y,direction:b}=e,w=["INPUT","SELECT","TEXTAREA"],x={passive:!1},C=mS(),M=mS(),k=fS(50,225).constrain(p.measure(20)),S={mouse:300,touch:400},E={mouse:500,touch:600},$=m?43:25;let A=!1,z=0,I=0,T=!1,j=!1,O=!1,D=!1;function R(e){if(!pS(e,a)&&e.touches.length>=2)return P(e);const t=r.readPoint(e),n=r.readPoint(e,y),o=rS(t,z),c=rS(n,I);if(!j&&!D){if(!e.cancelable)return P(e);if(j=o>c,!j)return P(e)}const d=r.pointerMove(e);o>g&&(O=!0),l.useFriction(.3).useDuration(.75),s.start(),i.add(b(d)),e.preventDefault()}function P(e){const t=d.byDistance(0,!1).index!==u.get(),n=r.pointerUp(e)*(m?E:S)[D?"mouse":"touch"],a=function(e,t){const n=u.add(-1*iS(e)),a=d.byDistance(e,!m).distance;return m||aS(e)=2,s&&0!==e.button)return;if(function(e){const t=e.nodeName||"";return w.includes(t)}(e.target))return;T=!0,r.pointerDown(e),l.useFriction(0).useDuration(0),i.set(o),function(){const e=D?n:t;M.add(e,"touchmove",R,x).add(e,"touchend",P).add(e,"mousemove",R,x).add(e,"mouseup",P)}(),z=r.readPoint(e),I=r.readPoint(e,y),h.emit("pointerDown")}(s)}const c=t;C.add(c,"dragstart",(e=>e.preventDefault()),x).add(c,"touchmove",(()=>{}),x).add(c,"touchend",(()=>{})).add(c,"touchstart",s).add(c,"mousedown",s).add(c,"touchcancel",P).add(c,"contextmenu",P).add(c,"click",L,!0)},destroy:function(){C.clear(),M.clear()},pointerDown:function(){return T}}}function yS(e,t){let n,a;function i(e){return e.timeStamp}function r(n,a){const i="client"+("x"===(a||e.scroll)?"X":"Y");return(pS(n,t)?n:n.touches[0])[i]}return{pointerDown:function(e){return n=e,a=e,r(e)},pointerMove:function(e){const t=r(e)-r(a),o=i(e)-i(n)>170;return a=e,o&&(n=e),t},pointerUp:function(e){if(!n||!a)return 0;const t=r(a)-r(n),o=i(e)-i(n),s=i(e)-i(a)>170,c=t/o;return o&&!s&&aS(c)>.1?c:0},readPoint:r}}function bS(e,t,n,a,i,r,o){const s=[e].concat(a);let c,l,d=[],u=!1;function h(e){return i.measureSize(o.measure(e))}return{init:function(i){r&&(l=h(e),d=a.map(h),c=new ResizeObserver((n=>{(tS(r)||r(i,n))&&function(n){for(const r of n){if(u)return;const n=r.target===e,o=a.indexOf(r.target),s=n?l:d[o];if(aS(h(n?e:a[o])-s)>=.5){i.reInit(),t.emit("resize");break}}}(n)})),n.requestAnimationFrame((()=>{s.forEach((e=>c.observe(e)))})))},destroy:function(){u=!0,c&&c.disconnect()}}}function wS(e,t,n,a,i){const r=i.measure(10),o=i.measure(50),s=fS(.1,.99);let c=!1;function l(){return!c&&(!!e.reachedAny(n.get())&&!!e.reachedAny(t.get()))}return{shouldConstrain:l,constrain:function(i){if(!l())return;const c=e.reachedMin(t.get())?"min":"max",d=aS(e[c]-t.get()),u=n.get()-t.get(),h=s.constrain(d/o);n.subtract(u*h),!i&&aS(u)e.add(i)))}};return c}function CS(e,t,n,a,i){const{reachedAny:r,removeOffset:o,constrain:s}=a;function c(e){return e.concat().sort(((e,t)=>aS(e)-aS(t)))[0]}function l(t,a){const i=[t,t+n,t-n];if(!e)return t;if(!a)return c(i);const r=i.filter((e=>iS(e)===a));return r.length?c(r):sS(i)-n}return{byDistance:function(n,a){const c=i.get()+n,{index:d,distance:u}=function(n){const a=e?o(n):s(n),i=t.map(((e,t)=>({diff:l(e-a,0),index:t}))).sort(((e,t)=>aS(e.diff)-aS(t.diff))),{index:r}=i[0];return{index:r,distance:a}}(c),h=!e&&r(c);return!a||h?{index:d,distance:n}:{index:d,distance:n+l(t[d]-u,0)}},byIndex:function(e,n){return{index:e,distance:l(t[e]-i.get(),n)}},shortcut:l}}function MS(e,t,n,a,i,r,o,s){const c={passive:!0,capture:!0};let l=0;function d(e){"Tab"===e.code&&(l=(new Date).getTime())}return{init:function(u){s&&(r.add(document,"keydown",d,!1),t.forEach(((t,d)=>{r.add(t,"focus",(t=>{(tS(s)||s(u,t))&&function(t){if((new Date).getTime()-l>10)return;o.emit("slideFocusStart"),e.scrollLeft=0;const r=n.findIndex((e=>e.includes(t)));Jk(r)&&(i.useDuration(0),a.index(r,0),o.emit("slideFocus"))}(d)}),c)})))}}}function kS(e){let t=e;function n(e){return Jk(e)?e:e.get()}const a={get:function(){return t},set:function(e){t=n(e)},add:function(e){t+=n(e)},subtract:function(e){t-=n(e)}};return a}function SS(e,t){const n="x"===e.scroll?function(e){return`translate3d(${e}px,0px,0px)`}:function(e){return`translate3d(0px,${e}px,0px)`},a=t.style;let i=!1;return{clear:function(){i||(a.transform="",t.getAttribute("style")||t.removeAttribute("style"))},to:function(t){i||(a.transform=n(e.direction(t)))},toggleActive:function(e){i=!e}}}function ES(e,t,n,a,i,r,o,s,c){const l=.5,d=oS(i),u=oS(i).reverse(),h=function(){const e=o[0];return g(m(u,e),n,!1)}().concat(function(){const e=t-o[0]-1;return g(m(d,e),-n,!0)}());function p(e,t){return e.reduce(((e,t)=>e-i[t]),t)}function m(e,t){return e.reduce(((e,n)=>p(e,t)>0?e.concat([n]):e),[])}function g(i,o,d){const u=function(e){return r.map(((n,i)=>({start:n-a[i]+l+e,end:n+t-l+e})))}(o);return i.map((t=>{const a=d?0:-n,i=d?n:0,r=d?"end":"start",o=u[t][r];return{index:t,loopPoint:o,slideLocation:kS(-1),translate:SS(e,c[t]),target:()=>s.get()>o?a:i}}))}const f={canLoop:function(){return h.every((({index:e})=>{const n=d.filter((t=>t!==e));return p(n,t)<=.1}))},clear:function(){h.forEach((e=>e.translate.clear()))},loop:function(){h.forEach((e=>{const{target:t,translate:n,slideLocation:a}=e,i=t();i!==a.get()&&(n.to(i),a.set(i))}))},loopPoints:h};return f}function $S(e,t,n){let a,i=!1;return{init:function(r){n&&(a=new MutationObserver((e=>{i||(tS(n)||n(r,e))&&function(e){for(const n of e)if("childList"===n.type){r.reInit(),t.emit("slidesChanged");break}}(e)})),a.observe(e,{childList:!0}))},destroy:function(){a&&a.disconnect(),i=!0}}}function AS(e,t,n,a){const i={};let r,o=null,s=null,c=!1;return{init:function(){r=new IntersectionObserver((e=>{c||(e.forEach((e=>{const n=t.indexOf(e.target);i[n]=e})),o=null,s=null,n.emit("slidesInView"))}),{root:e.parentElement,threshold:a}),t.forEach((e=>r.observe(e)))},destroy:function(){r&&r.disconnect(),c=!0},get:function(e=!0){if(e&&o)return o;if(!e&&s)return s;const t=function(e){return uS(i).reduce(((t,n)=>{const a=parseInt(n),{isIntersecting:r}=i[a];return(e&&r||!e&&!r)&&t.push(a),t}),[])}(e);return e&&(o=t),e||(s=t),t}}}function zS(e,t,n,a,i,r,o,s,c){const{startEdge:l,endEdge:d,direction:u}=e,h=Jk(n);const p={groupSlides:function(e){return h?function(e,t){return oS(e).filter((e=>e%t==0)).map((n=>e.slice(n,n+t)))}(e,n):function(e){return e.length?oS(e).reduce(((n,h,p)=>{const m=sS(n)||0,g=0===m,f=h===cS(e),_=i[l]-r[m][l],v=i[l]-r[h][d],y=!a&&g?u(o):0,b=aS(v-(!a&&f?u(s):0)-(_+y));return p&&b>t+c&&n.push(h),f&&n.push(e.length),n}),[]).map(((t,n,a)=>{const i=Math.max(a[n-1]||0);return e.slice(i,t)})):[]}(e)}};return p}function IS(e,t,n,a,i,r,o){const{align:s,axis:c,direction:l,startIndex:d,loop:u,duration:h,dragFree:p,dragThreshold:m,inViewThreshold:g,slidesToScroll:f,skipSnaps:_,containScroll:v,watchResize:y,watchSlides:b,watchDrag:w,watchFocus:x}=r,C={measure:function(e){const{offsetTop:t,offsetLeft:n,offsetWidth:a,offsetHeight:i}=e;return{top:t,right:n+a,bottom:t+i,left:n,width:a,height:i}}},M=C.measure(t),k=n.map(C.measure),S=function(e,t){const n="rtl"===t,a="y"===e,i=!a&&n?-1:1,r={scroll:a?"y":"x",cross:a?"x":"y",startEdge:a?"top":n?"right":"left",endEdge:a?"bottom":n?"left":"right",measureSize:function(e){const{height:t,width:n}=e;return a?t:n},direction:function(e){return e*i}};return r}(c,l),E=S.measureSize(M),$=function(e){const t={measure:function(t){return e*(t/100)}};return t}(E),A=function(e,t){const n={start:function(){return 0},center:function(e){return a(e)/2},end:a};function a(e){return t-e}const i={measure:function(a,i){return eS(e)?n[e](a):e(t,a,i)}};return i}(s,E),z=!u&&!!v,I=u||!!v,{slideSizes:T,slideSizesWithGaps:j,startGap:O,endGap:D}=function(e,t,n,a,i,r){const{measureSize:o,startEdge:s,endEdge:c}=e,l=n[0]&&i,d=function(){if(!l)return 0;const e=n[0];return aS(t[s]-e[s])}(),u=function(){if(!l)return 0;const e=r.getComputedStyle(sS(a));return parseFloat(e.getPropertyValue(`margin-${c}`))}(),h=n.map(o),p=n.map(((e,t,n)=>{const a=!t,i=lS(n,t);return a?h[t]+d:i?h[t]+u:n[t+1][s]-e[s]})).map(aS);return{slideSizes:h,slideSizesWithGaps:p,startGap:d,endGap:u}}(S,M,k,n,I,i),R=zS(S,E,f,u,M,k,O,D,2),{snaps:P,snapsAligned:L}=function(e,t,n,a,i){const{startEdge:r,endEdge:o}=e,{groupSlides:s}=i,c=s(a).map((e=>sS(e)[o]-e[0][r])).map(aS).map(t.measure),l=a.map((e=>n[r]-e[r])).map((e=>-aS(e))),d=s(l).map((e=>e[0])).map(((e,t)=>e+c[t]));return{snaps:l,snapsAligned:d}}(S,A,M,k,R),N=-sS(P)+sS(j),{snapsContained:F,scrollContainLimit:V}=function(e,t,n,a,i){const r=fS(-t+e,0),o=n.map(((e,t)=>{const{min:a,max:i}=r,o=r.constrain(e),s=!t,l=lS(n,t);return s?i:l||c(a,o)?a:c(i,o)?i:o})).map((e=>parseFloat(e.toFixed(3)))),s=function(){const e=o[0],t=sS(o);return fS(o.lastIndexOf(e),o.indexOf(t)+1)}();function c(e,t){return rS(e,t)<1}return{snapsContained:function(){if(t<=e+i)return[r.max];if("keepSnaps"===a)return o;const{min:n,max:c}=s;return o.slice(n,c)}(),scrollContainLimit:s}}(E,N,L,v,2),H=z?F:L,{limit:B}=function(e,t,n){const a=t[0];return{limit:fS(n?a-e:sS(t),a)}}(N,H,u),q=_S(cS(H),d,u),U=q.clone(),W=oS(n),Z=gS(a,i,(e=>(({dragHandler:e,scrollBody:t,scrollBounds:n,options:{loop:a}},i)=>{a||n.constrain(e.pointerDown()),t.seek(i)})(se,e)),(e=>(({scrollBody:e,translate:t,location:n,offsetLocation:a,scrollLooper:i,slideLooper:r,dragHandler:o,animation:s,eventHandler:c,scrollBounds:l,options:{loop:d}},u)=>{const h=e.settled(),p=!l.shouldConstrain(),m=d?h:h&&p;m&&!o.pointerDown()&&(s.stop(),c.emit("settle")),m||c.emit("scroll");const g=n.get()*u+Y.get()*(1-u);a.set(g),d&&(i.loop(e.direction()),r.loop()),t.to(a.get())})(se,e))),Q=H[q.get()],G=kS(Q),Y=kS(Q),K=kS(Q),X=kS(Q),J=function(e,t,n,a,i,r){let o=0,s=0,c=i,l=r,d=e.get(),u=0;function h(e){return c=e,m}function p(e){return l=e,m}const m={direction:function(){return s},duration:function(){return c},velocity:function(){return o},seek:function(t){const i=t/1e3,r=c*i,h=a.get()-e.get();let p=0;return c?(n.set(e),o+=h/r,o*=l,d+=o,e.add(o*i),p=d-u):(o=0,n.set(a),e.set(a),p=h),s=iS(p),u=d,m},settled:function(){return aS(a.get()-t.get())<.001},useBaseFriction:function(){return p(r)},useBaseDuration:function(){return h(i)},useFriction:p,useDuration:h};return m}(G,K,Y,X,h,.68),ee=CS(u,H,N,B,X),te=function(e,t,n,a,i,r,o){function s(i){const s=i.distance,c=i.index!==t.get();r.add(s),s&&(a.duration()?e.start():(e.update(),e.render(1),e.update())),c&&(n.set(t.get()),t.set(i.index),o.emit("select"))}const c={distance:function(e,t){s(i.byDistance(e,t))},index:function(e,n){const a=t.clone().set(e);s(i.byIndex(a.get(),n))}};return c}(Z,q,U,J,ee,X,o),ne=function(e){const{max:t,length:n}=e,a={get:function(e){return n?(e-t)/-n:0}};return a}(B),ae=mS(),ie=AS(t,n,o,g),{slideRegistry:re}=function(e,t,n,a,i,r){const{groupSlides:o}=i,{min:s,max:c}=a;return{slideRegistry:function(){const a=o(r),i=!e||"keepSnaps"===t;return 1===n.length?[r]:i?a:a.slice(s,c).map(((e,t,n)=>{const a=!t,i=lS(n,t);return a?dS(sS(n[0])+1):i?dS(cS(r)-sS(n)[0]+1,sS(n)[0]):e}))}()}}(z,v,H,V,R,W),oe=MS(e,n,re,te,J,ae,o,x),se={ownerDocument:a,ownerWindow:i,eventHandler:o,containerRect:M,slideRects:k,animation:Z,axis:S,dragHandler:vS(S,e,a,i,X,yS(S,i),G,Z,te,J,ee,q,o,$,p,m,_,.68,w),eventStore:ae,percentOfView:$,index:q,indexPrevious:U,limit:B,location:G,offsetLocation:K,previousLocation:Y,options:r,resizeHandler:bS(t,o,i,n,S,y,C),scrollBody:J,scrollBounds:wS(B,K,X,J,$),scrollLooper:xS(N,B,K,[G,K,Y,X]),scrollProgress:ne,scrollSnapList:H.map(ne.get),scrollSnaps:H,scrollTarget:ee,scrollTo:te,slideLooper:ES(S,E,N,T,j,P,H,K,n),slideFocus:oe,slidesHandler:$S(t,o,b),slidesInView:ie,slideIndexes:W,slideRegistry:re,slidesToScroll:R,target:X,translate:SS(S,t)};return se}const TS={align:"center",axis:"x",container:null,slides:null,containScroll:"trimSnaps",direction:"ltr",slidesToScroll:1,inViewThreshold:0,breakpoints:{},dragFree:!1,dragThreshold:10,loop:!1,skipSnaps:!1,duration:25,startIndex:0,active:!0,watchDrag:!0,watchResize:!0,watchSlides:!0,watchFocus:!0};function jS(e){function t(e,t){return hS(e,t||{})}const n={mergeOptions:t,optionsAtMedia:function(n){const a=n.breakpoints||{},i=uS(a).filter((t=>e.matchMedia(t).matches)).map((e=>a[e])).reduce(((e,n)=>t(e,n)),{});return t(n,i)},optionsMediaQueries:function(t){return t.map((e=>uS(e.breakpoints||{}))).reduce(((e,t)=>e.concat(t)),[]).map(e.matchMedia)}};return n}function OS(e,t,n){const a=e.ownerDocument,i=a.defaultView,r=jS(i),o=function(e){let t=[];const n={init:function(n,a){return t=a.filter((({options:t})=>!1!==e.optionsAtMedia(t).active)),t.forEach((t=>t.init(n,e))),a.reduce(((e,t)=>Object.assign(e,{[t.name]:t})),{})},destroy:function(){t=t.filter((e=>e.destroy()))}};return n}(r),s=mS(),c=function(){let e,t={};function n(e){return t[e]||[]}const a={init:function(t){e=t},emit:function(t){return n(t).forEach((n=>n(e,t))),a},off:function(e,i){return t[e]=n(e).filter((e=>e!==i)),a},on:function(e,i){return t[e]=n(e).concat([i]),a},clear:function(){t={}}};return a}(),{mergeOptions:l,optionsAtMedia:d,optionsMediaQueries:u}=r,{on:h,off:p,emit:m}=c,g=S;let f,_,v,y,b=!1,w=l(TS,OS.globalOptions),x=l(w),C=[];function M(t){const n=IS(e,v,y,a,i,t,c);if(t.loop&&!n.slideLooper.canLoop()){return M(Object.assign({},t,{loop:!1}))}return n}function k(t,n){b||(w=l(w,t),x=d(w),C=n||C,function(){const{container:t,slides:n}=x,a=eS(t)?e.querySelector(t):t;v=a||e.children[0];const i=eS(n)?v.querySelectorAll(n):n;y=[].slice.call(i||v.children)}(),f=M(x),u([w,...C.map((({options:e})=>e))]).forEach((e=>s.add(e,"change",S))),x.active&&(f.translate.to(f.location.get()),f.animation.init(),f.slidesInView.init(),f.slideFocus.init(z),f.eventHandler.init(z),f.resizeHandler.init(z),f.slidesHandler.init(z),f.options.loop&&f.slideLooper.loop(),v.offsetParent&&y.length&&f.dragHandler.init(z),_=o.init(z,C)))}function S(e,t){const n=A();E(),k(l({startIndex:n},e),t),c.emit("reInit")}function E(){f.dragHandler.destroy(),f.eventStore.clear(),f.translate.clear(),f.slideLooper.clear(),f.resizeHandler.destroy(),f.slidesHandler.destroy(),f.slidesInView.destroy(),f.animation.destroy(),o.destroy(),s.clear()}function $(e,t,n){x.active&&!b&&(f.scrollBody.useBaseFriction().useDuration(!0===t?0:x.duration),f.scrollTo.index(e,n||0))}function A(){return f.index.get()}const z={canScrollNext:function(){return f.index.add(1).get()!==A()},canScrollPrev:function(){return f.index.add(-1).get()!==A()},containerNode:function(){return v},internalEngine:function(){return f},destroy:function(){b||(b=!0,s.clear(),E(),c.emit("destroy"),c.clear())},off:p,on:h,emit:m,plugins:function(){return _},previousScrollSnap:function(){return f.indexPrevious.get()},reInit:g,rootNode:function(){return e},scrollNext:function(e){$(f.index.add(1).get(),e,-1)},scrollPrev:function(e){$(f.index.add(-1).get(),e,1)},scrollProgress:function(){return f.scrollProgress.get(f.location.get())},scrollSnapList:function(){return f.scrollSnapList},scrollTo:$,selectedScrollSnap:A,slideNodes:function(){return y},slidesInView:function(){return f.slidesInView.get()},slidesNotInView:function(){return f.slidesInView.get(!1)}};return k(t,n),setTimeout((()=>c.emit("init")),0),z}function DS(){return DS=Object.assign||function(e){for(var t=1;t=e;case"y":return Math.abs(i)>=e;case"z":return Math.abs(r)>=e;default:return!1}}(r,a)&&e.preventDefault(),l.isStarted?l.isMomentum&&r>Math.max(2,2*l.lastAbsDelta)&&(M(!0),x()):x(),0===r&&Object.is&&Object.is(e.deltaX,-0)?d=!0:(t=e,l.axisMovement=PS(l.axisMovement,a),l.lastAbsDelta=r,l.scrollPointsToMerge.push({axisDelta:a,timeStamp:i}),g(),p({axisDelta:a,isStart:!l.isStartPublished}),l.isStartPublished=!0,C())},g=function(){var e;l.scrollPointsToMerge.length===US?(l.scrollPoints.unshift({axisDeltaSum:l.scrollPointsToMerge.map((function(e){return e.axisDelta})).reduce(PS),timeStamp:(e=l.scrollPointsToMerge.map((function(e){return e.timeStamp})),e.reduce((function(e,t){return e+t}))/e.length)}),_(),l.scrollPointsToMerge.length=0,l.scrollPoints.length=1,l.isMomentum||b()):l.isStartPublished||f()},f=function(){var e;l.axisVelocity=(e=l.scrollPointsToMerge,e[e.length-1]).axisDelta.map((function(e){return e/l.willEndTimeout}))},_=function(){var e=l.scrollPoints,t=e[0],n=e[1];if(n&&t){var a=t.timeStamp-n.timeStamp;if(!(a<=0)){var i=t.axisDeltaSum.map((function(e){return e/a})),r=i.map((function(e,t){return e/(l.axisVelocity[t]||1)}));l.axisVelocity=i,l.accelerationFactors.push(r),v(a)}}},v=function(e){var t=10*Math.ceil(e/10)*1.2;l.isMomentum||(t=Math.max(100,2*t)),l.willEndTimeout=Math.min(1e3,Math.round(t))},y=function(e){return 0===e||e<=qS&&e>=BS},b=function(){if(l.accelerationFactors.length>=WS){if(d&&(d=!1,LS(l.axisVelocity)>=.2))return void w();var e=l.accelerationFactors.slice(-1*WS);e.every((function(e){var t=!!e.reduce((function(e,t){return e&&e<1&&e===t?1:0})),n=e.filter(y).length===e.length;return t||n}))&&w(),l.accelerationFactors=e}},w=function(){l.isMomentum=!0},x=function(){(l=GS()).isStarted=!0,l.startTime=Date.now(),n=void 0,d=!1},C=function(){clearTimeout(a),a=setTimeout(M,l.willEndTimeout)},M=function(e){void 0===e&&(e=!1),l.isStarted&&(l.isMomentum&&e?p({isEnding:!0,isMomentumCancel:!0}):p({isEnding:!0}),l.isMomentum=!1,l.isStarted=!1)},k=function(e){var t=[],n=function(n){n.removeEventListener("wheel",e),t=t.filter((function(e){return e!==n}))};return NS({observe:function(a){return a.addEventListener("wheel",e,{passive:!1}),t.push(a),function(){return n(a)}},unobserve:n,disconnect:function(){t.forEach(n)}})}(u),S=k.observe,E=k.unobserve,$=k.disconnect;return h(e),NS({on:r,off:o,observe:S,unobserve:E,disconnect:$,feedWheel:u,updateOptions:h})}var KS={active:!0,breakpoints:{},wheelDraggingClass:"is-wheel-dragging",forceWheelAxis:void 0,target:void 0};function XS(e){var t;void 0===e&&(e={});var n=function(){};var a={name:"wheelGestures",options:e,init:function(a,i){var r,o,s=i.mergeOptions,c=i.optionsAtMedia,l=s(KS,XS.globalOptions),d=s(l,e);t=c(d);var u,h=a.internalEngine(),p=null!=(r=t.target)?r:a.containerNode().parentNode,m=null!=(o=t.forceWheelAxis)?o:h.options.axis,g=YS({preventWheelAction:m,reverseSign:[!0,!0,!1]}),f=g.observe(p),_=g.on("wheel",(function(e){var a=e.axisDelta,i=a[0],r=a[1],o="x"===m?i:r,s="x"===m?r:i,c=e.isMomentum&&e.previous&&!e.previous.isMomentum,l=e.isEnding&&!e.isMomentum||c;Math.abs(o)>Math.abs(s)&&!v&&!e.isMomentum&&function(e){try{x(u=new MouseEvent("mousedown",e.event))}catch(e){return n()}v=!0,document.documentElement.addEventListener("mousemove",b,!0),document.documentElement.addEventListener("mouseup",b,!0),void document.documentElement.addEventListener("mousedown",b,!0),t.wheelDraggingClass&&p.classList.add(t.wheelDraggingClass)}(e);if(!v)return;l?function(e){v=!1,x(w("mouseup",e)),y(),t.wheelDraggingClass&&p.classList.remove(t.wheelDraggingClass)}(e):x(w("mousemove",e))})),v=!1;function y(){document.documentElement.removeEventListener("mousemove",b,!0),document.documentElement.removeEventListener("mouseup",b,!0),document.documentElement.removeEventListener("mousedown",b,!0)}function b(e){v&&e.isTrusted&&e.stopImmediatePropagation()}function w(e,t){var n,a;if(m===h.options.axis){var i=t.axisMovement;n=i[0],a=i[1]}else{var r=t.axisMovement;a=r[0],n=r[1]}if(!h.options.skipSnaps&&!h.options.dragFree){var o=h.containerRect.width,s=h.containerRect.height;n=n<0?Math.max(n,-o):Math.min(n,o),a=a<0?Math.max(a,-s):Math.min(a,s)}return new MouseEvent(e,{clientX:u.clientX+n,clientY:u.clientY+a,screenX:u.screenX+n,screenY:u.screenY+a,movementX:n,movementY:a,button:0,bubbles:!0,cancelable:!0,composed:!0})}function x(e){a.containerNode().dispatchEvent(e)}n=function(){f(),_(),y()}},destroy:function(){return n()}};return a}XS.globalOptions=void 0;class JS{constructor(e,t,n){this._mutationObserver=new MutationObserver(((e,t)=>this._refreshCarouselContents())),this._refreshCarouselContents=()=>{const e=lf(this._parent);!Dv(this._carousel.slideNodes(),e)&&(this._carousel.destroy(),this._carousel=this._createCarousel(e))},this._root=e,this._parent=t,this._direction=n?.direction??"horizontal",this._transitionEffect=n?.transitionEffect??"slide",this._startIndex=n?.startIndex??0,this._dragFree=n?.dragFree??!1,this._loop=n?.loop??!1,this._draggable=n?.dragEnabled??!0,this._plugins=n?.plugins??[],this._carousel=this._createCarousel(lf(this._parent)),t instanceof HTMLSlotElement&&t.addEventListener("slotchange",this._refreshCarouselContents),this._mutationObserver.observe(this._parent,{childList:!0})}destroy(){this._parent instanceof HTMLSlotElement&&this._parent.removeEventListener("slotchange",this._refreshCarouselContents),this._mutationObserver.disconnect(),this._carousel.destroy()}getSlide(e){return this._carousel.slideNodes()[e]??null}getSelectedSlide(){return this.getSlide(this.getSelectedIndex())}getSelectedIndex(){return this._carousel.selectedScrollSnap()}selectSlide(e){this._carousel.scrollTo(e,"none"===this._transitionEffect);const t=this.getSlide(e);t&&Bg(this._parent,"carousel:force-select",{index:e,element:t})}_createCarousel(e){const t=OS(this._root,{slides:e,axis:"horizontal"===this._direction?"x":"y",duration:20,startIndex:this._startIndex,dragFree:this._dragFree,loop:this._loop,containScroll:"trimSnaps",watchSlides:!1,watchResize:!0,watchDrag:this._draggable},[...this._plugins,...e.length>1?[XS({forceWheelAxis:"y"})]:[]]),n=()=>{const e=(()=>{const e=t.selectedScrollSnap(),n=t.slideNodes()[e]??null;return n?{index:e,element:n}:null})();e&&Bg(this._parent,"carousel:select",e)};return t.on("select",(()=>n())),t}}let eE=class extends se{constructor(){super(...arguments),this.direction="horizontal",this.dragEnabled=!0,this.selected=0,this._refParent=ze(),this._refRoot=ze(),this._carousel=null}connectedCallback(){super.connectedCallback(),this.requestUpdate()}disconnectedCallback(){this._carousel?.destroy(),this._carousel=null,super.disconnectedCallback()}willUpdate(e){e.has("direction")&&this.setAttribute("direction",this.direction);["direction","dragEnabled","dragFree","loop","plugins","transitionEffect"].some((t=>e.has(t)))&&(this._carousel?.destroy(),this._carousel=null)}render(){return q`
- -
-
- -
-
- -
`}updated(e){!this._carousel&&this._refRoot.value&&this._refParent.value?this._carousel=new JS(this._refRoot.value,this._refParent.value,{direction:this.direction,dragEnabled:this.dragEnabled,dragFree:this.dragFree,startIndex:this.selected,transitionEffect:this.transitionEffect,loop:this.loop,plugins:this.plugins}):e.has("selected")&&this._carousel?.selectSlide(this.selected)}static get styles(){return o(":host {\n display: block;\n height: 100%;\n width: 100%;\n position: relative;\n}\n\n.embla {\n width: 100%;\n height: 100%;\n margin-left: auto;\n margin-right: auto;\n}\n\n.embla__container {\n display: flex;\n width: 100%;\n height: 100%;\n user-select: none;\n -webkit-touch-callout: none;\n -khtml-user-select: none;\n -webkit-tap-highlight-color: transparent;\n}\n\n:host([direction=vertical]) .embla__container {\n flex-direction: column;\n}\n\n:host([direction=horizontal]) .embla__container {\n flex-direction: row;\n}\n\n.embla__viewport {\n width: 100%;\n height: 100%;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.embla__viewport.is-draggable {\n cursor: move;\n cursor: grab;\n}\n\n.embla__viewport.is-dragging {\n cursor: grabbing;\n}\n\n:host([direction=vertical]) ::slotted(.embla__slide) {\n margin-bottom: 5px;\n}\n\n:host([direction=horizontal]) ::slotted(.embla__slide) {\n margin-right: 5px;\n}")}};e([he({attribute:!0,reflect:!0})],eE.prototype,"direction",void 0),e([he({attribute:!0})],eE.prototype,"transitionEffect",void 0),e([he({attribute:!1})],eE.prototype,"loop",void 0),e([he({attribute:!1})],eE.prototype,"dragFree",void 0),e([he({attribute:!1})],eE.prototype,"dragEnabled",void 0),e([he({attribute:!1})],eE.prototype,"plugins",void 0),e([he({attribute:!1})],eE.prototype,"selected",void 0),eE=e([le("frigate-card-carousel")],eE); -/** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const tE=window,nE=tE.ShadowRoot&&(void 0===tE.ShadyCSS||tE.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,aE=Symbol(),iE=new WeakMap;let rE=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==aE)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(nE&&void 0===e){const n=void 0!==t&&1===t.length;n&&(e=iE.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&iE.set(t,e))}return e}toString(){return this.cssText}};const oE=(e,t)=>{nE?e.adoptedStyleSheets=t.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet)):t.forEach((t=>{const n=document.createElement("style"),a=tE.litNonce;void 0!==a&&n.setAttribute("nonce",a),n.textContent=t.cssText,e.appendChild(n)}))},sE=nE?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const n of e.cssRules)t+=n.cssText;return(e=>new rE("string"==typeof e?e:e+"",void 0,aE))(t)})(e):e -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */;var cE;const lE=window,dE=lE.trustedTypes,uE=dE?dE.emptyScript:"",hE=lE.reactiveElementPolyfillSupport,pE={toAttribute(e,t){switch(t){case Boolean:e=e?uE:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=null!==e;break;case Number:n=null===e?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch(e){n=null}}return n}},mE=(e,t)=>t!==e&&(t==t||e==e),gE={attribute:!0,type:String,converter:pE,reflect:!1,hasChanged:mE},fE="finalized";class _E extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(e){var t;this.finalize(),(null!==(t=this.h)&&void 0!==t?t:this.h=[]).push(e)}static get observedAttributes(){this.finalize();const e=[];return this.elementProperties.forEach(((t,n)=>{const a=this._$Ep(n,t);void 0!==a&&(this._$Ev.set(a,n),e.push(a))})),e}static createProperty(e,t=gE){if(t.state&&(t.attribute=!1),this.finalize(),this.elementProperties.set(e,t),!t.noAccessor&&!this.prototype.hasOwnProperty(e)){const n="symbol"==typeof e?Symbol():"__"+e,a=this.getPropertyDescriptor(e,n,t);void 0!==a&&Object.defineProperty(this.prototype,e,a)}}static getPropertyDescriptor(e,t,n){return{get(){return this[t]},set(a){const i=this[e];this[t]=a,this.requestUpdate(e,i,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)||gE}static finalize(){if(this.hasOwnProperty(fE))return!1;this[fE]=!0;const e=Object.getPrototypeOf(this);if(e.finalize(),void 0!==e.h&&(this.h=[...e.h]),this.elementProperties=new Map(e.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const e=this.properties,t=[...Object.getOwnPropertyNames(e),...Object.getOwnPropertySymbols(e)];for(const n of t)this.createProperty(n,e[n])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const n=new Set(e.flat(1/0).reverse());for(const e of n)t.unshift(sE(e))}else void 0!==e&&t.push(sE(e));return t}static _$Ep(e,t){const n=t.attribute;return!1===n?void 0:"string"==typeof n?n:"string"==typeof e?e.toLowerCase():void 0}_$Eu(){var e;this._$E_=new Promise((e=>this.enableUpdating=e)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(e=this.constructor.h)||void 0===e||e.forEach((e=>e(this)))}addController(e){var t,n;(null!==(t=this._$ES)&&void 0!==t?t:this._$ES=[]).push(e),void 0!==this.renderRoot&&this.isConnected&&(null===(n=e.hostConnected)||void 0===n||n.call(e))}removeController(e){var t;null===(t=this._$ES)||void 0===t||t.splice(this._$ES.indexOf(e)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((e,t)=>{this.hasOwnProperty(t)&&(this._$Ei.set(t,this[t]),delete this[t])}))}createRenderRoot(){var e;const t=null!==(e=this.shadowRoot)&&void 0!==e?e:this.attachShadow(this.constructor.shadowRootOptions);return oE(t,this.constructor.elementStyles),t}connectedCallback(){var e;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostConnected)||void 0===t?void 0:t.call(e)}))}enableUpdating(e){}disconnectedCallback(){var e;null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostDisconnected)||void 0===t?void 0:t.call(e)}))}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$EO(e,t,n=gE){var a;const i=this.constructor._$Ep(e,n);if(void 0!==i&&!0===n.reflect){const r=(void 0!==(null===(a=n.converter)||void 0===a?void 0:a.toAttribute)?n.converter:pE).toAttribute(t,n.type);this._$El=e,null==r?this.removeAttribute(i):this.setAttribute(i,r),this._$El=null}}_$AK(e,t){var n;const a=this.constructor,i=a._$Ev.get(e);if(void 0!==i&&this._$El!==i){const e=a.getPropertyOptions(i),r="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==(null===(n=e.converter)||void 0===n?void 0:n.fromAttribute)?e.converter:pE;this._$El=i,this[i]=r.fromAttribute(t,e.type),this._$El=null}}requestUpdate(e,t,n){let a=!0;void 0!==e&&(((n=n||this.constructor.getPropertyOptions(e)).hasChanged||mE)(this[e],t)?(this._$AL.has(e)||this._$AL.set(e,t),!0===n.reflect&&this._$El!==e&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(e,n))):a=!1),!this.isUpdatePending&&a&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var e;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((e,t)=>this[t]=e)),this._$Ei=void 0);let t=!1;const n=this._$AL;try{t=this.shouldUpdate(n),t?(this.willUpdate(n),null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostUpdate)||void 0===t?void 0:t.call(e)})),this.update(n)):this._$Ek()}catch(e){throw t=!1,this._$Ek(),e}t&&this._$AE(n)}willUpdate(e){}_$AE(e){var t;null===(t=this._$ES)||void 0===t||t.forEach((e=>{var t;return null===(t=e.hostUpdated)||void 0===t?void 0:t.call(e)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(e){return!0}update(e){void 0!==this._$EC&&(this._$EC.forEach(((e,t)=>this._$EO(t,this[t],e))),this._$EC=void 0),this._$Ek()}updated(e){}firstUpdated(e){}}_E[fE]=!0,_E.elementProperties=new Map,_E.elementStyles=[],_E.shadowRootOptions={mode:"open"},null==hE||hE({ReactiveElement:_E}),(null!==(cE=lE.reactiveElementVersions)&&void 0!==cE?cE:lE.reactiveElementVersions=[]).push("1.6.3"); -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const vE=0,yE=Symbol();class bE{constructor(e,t,n){this.o=0,this.status=0,this.autoRun=!0,this.i=e,this.i.addController(this);const a="object"==typeof t?t:{task:t,args:n};this.t=a.task,this.h=a.args,void 0!==a.autoRun&&(this.autoRun=a.autoRun),this.taskComplete=new Promise(((e,t)=>{this.l=e,this.u=t}))}hostUpdated(){this.performTask()}async performTask(){var e;const t=null===(e=this.h)||void 0===e?void 0:e.call(this);this.shouldRun(t)&&this.run(t)}shouldRun(e){return this.autoRun&&this.v(e)}async run(e){var t;let n,a;null!=e||(e=null===(t=this.h)||void 0===t?void 0:t.call(this)),2!==this.status&&3!==this.status||(this.taskComplete=new Promise(((e,t)=>{this.l=e,this.u=t}))),this.status=1,this._=void 0,this.m=void 0,this.i.requestUpdate();const i=++this.o;try{n=await this.t(e)}catch(e){a=e}this.o===i&&(n===yE?this.status=0:(void 0===a?(this.status=2,this.l(n)):(this.status=3,this.u(a)),this.m=n,this._=a),this.i.requestUpdate())}get value(){return this.m}get error(){return this._}render(e){var t,n,a,i;switch(this.status){case 0:return null===(t=e.initial)||void 0===t?void 0:t.call(e);case 1:return null===(n=e.pending)||void 0===n?void 0:n.call(e);case 2:return null===(a=e.complete)||void 0===a?void 0:a.call(e,this.value);case 3:return null===(i=e.error)||void 0===i?void 0:i.call(e,this.error);default:this.status}}v(e){const t=this.T;return this.T=e,Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.some(((e,n)=>mE(e,t[n]))):e!==t}}class wE{constructor(e){this._keys=e}modify(e){this._keys.forEach((t=>e.removeContext(t)))}}var xE=":host {\n display: flex;\n flex-direction: column;\n width: 100%;\n margin-left: 5px;\n padding: 5px;\n color: var(--primary-text-color);\n overflow: hidden;\n column-gap: 5%;\n}\n\ndiv.title {\n font-size: 1.2rem;\n font-weight: bold;\n}\n\ndiv.details {\n flex: 1;\n justify-content: center;\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n --mdc-icon-size: 16px;\n min-height: 0px;\n}";const CE=(e,t,n,a)=>{const i={...a?.cardWideConfig&&{cardWideConfig:a.cardWideConfig}};return q` ${t.render({initial:()=>a?.inProgressFunc?.()??xk(i),pending:()=>a?.inProgressFunc?.()??xk(i),error:t=>{Gg(t),kk(e,t)},complete:n})}`},ME=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,kE=(e,t,n,a=!0)=>new bE(e,{args:()=>[!!t(),n()],task:async([e,n])=>{const a=t();return e&&a&&n?(async(e,t)=>e&&t?t.startsWith("data:")||t.match(ME)?t:new Promise(((n,a)=>{e?e.fetchWithAuth(t).then((e=>e.blob())).then((e=>{const t=new FileReader;t.onload=()=>{const e=t.result;n("string"==typeof e?e:null)},t.onerror=e=>a(e),t.readAsDataURL(e)})):a()})):null)(a,n):null},autoRun:a}),SE=300;let EE=class extends se{constructor(){super(),this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this))}connectedCallback(){this._intersectionObserver.observe(this),super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback(),this._intersectionObserver.disconnect()}willUpdate(e){e.has("thumbnail")&&(this._embedThumbnailTask=kE(this,(()=>this.hass),(()=>this.thumbnail),!1),this._intersectionObserver.unobserve(this),this._intersectionObserver.observe(this))}_intersectionHandler(e){this._embedThumbnailTask?.status===vE&&e.some((e=>e.isIntersecting))&&this._embedThumbnailTask?.run()}render(){const e=q` `;return this._embedThumbnailTask?q`${this.thumbnail?CE(this,this._embedThumbnailTask,(e=>e?q``:q``),{inProgressFunc:()=>e}):e} `:e}static get styles(){return o(":host {\n display: block;\n overflow: hidden;\n aspect-ratio: 1/1;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\nimg {\n display: block;\n}\n\nimg,\nha-icon {\n display: inline-block;\n vertical-align: top;\n margin: 0;\n border-radius: var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px));\n width: var(--frigate-card-thumbnail-size);\n max-height: 100%;\n aspect-ratio: 1/1;\n object-fit: cover;\n}\n\nha-icon {\n --mdc-icon-size: 50%;\n color: var(--primary-text-color);\n display: flex;\n justify-content: center;\n align-items: center;\n border: 1px solid rgba(255, 255, 255, 0.3);\n box-sizing: border-box;\n opacity: 0.2;\n}")}};e([he({attribute:!1})],EE.prototype,"thumbnail",void 0),e([he({attribute:!1})],EE.prototype,"hass",void 0),EE=e([le("frigate-card-thumbnail-feature-thumbnail")],EE);let $E=class extends se{render(){if(this.date)return q` - ${this.cameraMetadata?.engineLogo?q``:""} -
-
${Wu(this.date,"HH:mm")}
-
${Wu(this.date,"MMM do")}
- ${this.showCameraTitle&&this.cameraMetadata?.title?q`
${this.cameraMetadata.title}
`:q``} -
- `}static get styles(){return o(":host {\n display: block;\n max-width: var(--frigate-card-thumbnail-size);\n max-height: var(--frigate-card-thumbnail-size);\n aspect-ratio: 1/1;\n border: 1px solid var(--secondary-color);\n background-color: var(--secondary-background-color);\n border-radius: var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px));\n overflow: hidden;\n padding: 10px;\n box-sizing: border-box;\n position: relative;\n}\n\nimg.background {\n display: block;\n width: 100%;\n height: 100%;\n position: absolute;\n inset: 0;\n padding: 10%;\n box-sizing: border-box;\n pointer-events: none;\n opacity: 0.1;\n}\n\ndiv.content {\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n color: var(--primary-text-color);\n}\n\ndiv {\n text-align: center;\n}\n\ndiv.title {\n font-size: 1.5rem;\n}\n\ndiv.camera {\n font-size: 0.7em;\n}")}};e([he({attribute:!1})],$E.prototype,"date",void 0),e([he({attribute:!1})],$E.prototype,"cameraMetadata",void 0),e([he({attribute:!1})],$E.prototype,"showCameraTitle",void 0),$E=e([le("frigate-card-thumbnail-feature-text")],$E);let AE=class extends se{render(){if(!this.media)return;const e=this.media.getScore(),t=e?(100*e).toFixed(2)+"%":null,n=this.media.getStartTime(),a=n?Kg(n):null,i=this.media.getEndTime(),r=n&&i?ef(n,i):null,o=this.media.inProgress()?V_("event.in_progress"):null,s=qg(this.media.getWhat()?.join(", "))??null,c=qg(this.media.getWhere()?.join(", "))??null,l=qg(this.media.getTags()?.join(", "))??null,d=s||l?(s??"")+(s&&l?": ":"")+(l??""):null,u=this.seek?Wu(this.seek,"HH:mm:ss"):null;return q` - ${d?q`
- ${d} - ${t?q`${t}`:""} -
`:""} -
- ${a?q`
- - ${a} -
- ${r||o?q`
- - ${r?q`${r}`:""} - ${o?q`${o}`:""} -
`:""}`:""} - ${this.cameraTitle?q`
- - ${this.cameraTitle} -
`:""} - ${c?q`
- - ${c} -
`:q``} - ${l?q`
- - ${l} -
`:q``} - ${u?q`
- - ${u} -
`:q``} -
- `}static get styles(){return o(xE)}};e([he({attribute:!1})],AE.prototype,"media",void 0),e([he({attribute:!1})],AE.prototype,"seek",void 0),e([he({attribute:!1})],AE.prototype,"cameraTitle",void 0),AE=e([le("frigate-card-thumbnail-details-event")],AE);let zE=class extends se{render(){if(!this.media)return;const e=this.media.getStartTime(),t=e?Kg(e):null,n=this.media.getEndTime(),a=e&&n?ef(e,n):null,i=this.media.inProgress()?V_("recording.in_progress"):null,r=this.seek?Wu(this.seek,"HH:mm:ss"):null,o=this.media.getEventCount();return q` - ${this.cameraTitle?q`
- ${this.cameraTitle} -
`:""} -
- ${t?q`
- - ${t} -
- ${a||i?q`
- - ${a?q`${a}`:""} - ${i?q`${i}`:""} -
`:""}`:""} - ${r?q`
- - ${r} -
`:q``} - ${null!==o?q`
- - ${o} -
`:""} -
- `}static get styles(){return o(xE)}};e([he({attribute:!1})],zE.prototype,"media",void 0),e([he({attribute:!1})],zE.prototype,"seek",void 0),e([he({attribute:!1})],zE.prototype,"cameraTitle",void 0),zE=e([le("frigate-card-thumbnail-details-recording")],zE);let IE=class extends se{constructor(){super(...arguments),this.details=!1,this.show_favorite_control=!1,this.show_timeline_control=!1,this.show_download_control=!1}render(){if(!this.media||!this.cameraManager||!this.hass)return;const e=this.media.getThumbnail(),t=this.media.getTitle()??"",n={star:!0,starred:!!this.media?.isFavorite()},a=this.show_timeline_control&&(!tx.isRecording(this.media)||this.media.getStartTime()&&this.media.getEndTime()),i=this.cameraManager?.getMediaCapabilities(this.media),r=this.show_favorite_control&&this.media&&this.hass&&i?.canFavorite,o=this.show_download_control&&this.hass&&this.media.getID()&&i?.canDownload,s=this.cameraManager.getCameraMetadata(this.media.getCameraID());return q` - ${tx.isEvent(this.media)&&e?q``:tx.isEvent(this.media)||tx.isRecording(this.media)?q``:q``} - ${r?q` {if(wf(e),this.hass&&this.media){try{await(this.cameraManager?.favoriteMedia(this.media,!this.media?.isFavorite()))}catch(e){return void Gg(e)}this.requestUpdate()}}} - />`:""} - ${this.details&&tx.isEvent(this.media)?q``:this.details&&tx.isRecording(this.media)?q``:q``} - ${a?q`{wf(e),this.viewManagerEpoch&&this.media&&this.viewManagerEpoch.manager.setViewByParameters({params:{view:"timeline",queryResults:this.viewManagerEpoch?.manager.getView()?.queryResults?.clone().selectResultIfFound((e=>e===this.media))},modifiers:[new wE(["timeline"])]})}} - >`:""} - ${o?q` {if(wf(e),this.hass&&this.cameraManager&&this.media)try{await Ew(this.hass,this.cameraManager,this.media)}catch(e){kk(this,e)}}} - >`:""} - `}static get styles(){return o(":host {\n display: flex;\n flex-direction: row;\n box-sizing: border-box;\n position: relative;\n overflow: hidden;\n transition: transform 0.2s linear;\n}\n\n:host(:not([details])) {\n aspect-ratio: 1/1;\n}\n\n:host([details]) {\n border: 1px solid var(--primary-color);\n border-radius: var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px));\n padding: 2px;\n background-color: var(--primary-background-color, black);\n}\n\n:host(:hover) {\n transform: scale(1.04);\n}\n\nha-icon {\n position: absolute;\n border-radius: 50%;\n opacity: 0.5;\n color: var(--primary-color);\n cursor: pointer;\n transition: opacity 0.2s ease-in-out, color 0.2s ease-in-out;\n}\n\nha-icon:hover {\n opacity: 1;\n}\n\nha-icon.star {\n top: 3px;\n left: 3px;\n}\n\nha-icon.star.starred {\n color: gold;\n}\n\nha-icon.timeline {\n top: 3px;\n right: 3px;\n}\n\nha-icon.download {\n right: 3px;\n bottom: 3px;\n}\n\nfrigate-card-thumbnail-details-event,\nfrigate-card-thumbnail-details-recording {\n flex: 1;\n}")}};e([he({attribute:!1})],IE.prototype,"cameraManager",void 0),e([he({attribute:!1})],IE.prototype,"media",void 0),e([he({attribute:!0,type:Boolean})],IE.prototype,"details",void 0),e([he({attribute:!0,type:Boolean})],IE.prototype,"show_favorite_control",void 0),e([he({attribute:!0,type:Boolean})],IE.prototype,"show_timeline_control",void 0),e([he({attribute:!0,type:Boolean})],IE.prototype,"show_download_control",void 0),e([he({attribute:!1})],IE.prototype,"seek",void 0),IE=e([le("frigate-card-thumbnail")],IE);let TE=class extends se{constructor(){super(...arguments),this.fadeThumbnails=!1,this._thumbnailSlides=[]}willUpdate(e){if(e.has("config")){this.config?.size&&this.style.setProperty("--frigate-card-thumbnail-size",`${this.config.size}px`);const e=this._getDirection();e?this.setAttribute("direction",e):this.removeAttribute("direction")}["cameraManager","config","transitionEffect","viewManagerEpoch"].some((t=>e.has(t)))&&(this._thumbnailSlides=this._renderSlides()),e.has("viewManagerEpoch")&&this.style.setProperty("--frigate-card-carousel-thumbnail-opacity",this.fadeThumbnails&&null!==this._getSelectedSlide()?"0.4":"1.0")}_getSelectedSlide(){return this.viewManagerEpoch?.manager.getView()?.queryResults?.getSelectedIndex()??null}_renderSlides(){const e=[],t=this.viewManagerEpoch?.manager.getView(),n=t?.context?.mediaViewer?.seek,a=this._getSelectedSlide();for(const i of t?.queryResults?.getResults()??[]){const t=e.length,r={embla__slide:!0,"slide-selected":a===t};e.push(q` {const n=this.viewManagerEpoch?.manager.getView();n&&n.queryResults&&Bg(this,"thumbnail-carousel:tap",{queryResults:n.queryResults.clone().selectIndex(t)}),wf(e)}} - > - `)}return e}_getDirection(){return"left"===this.config?.mode||"right"===this.config?.mode?"vertical":"above"===this.config?.mode||"below"===this.config?.mode?"horizontal":null}render(){const e=this._getDirection();if(this._thumbnailSlides.length&&this.config&&e)return q` - ${this._thumbnailSlides} - `}static get styles(){return o(":host {\n --frigate-card-thumbnail-size-max: 300px;\n --frigate-card-thumbnail-details-width: calc(\n var(--frigate-card-thumbnail-size) + 200px\n );\n}\n\n:host {\n display: block;\n width: 100%;\n height: 100%;\n --frigate-card-carousel-thumbnail-opacity: 1;\n}\n\n:host([direction=vertical]) {\n height: 100%;\n}\n\n:host([direction=horizontal]) {\n height: auto;\n}\n\n.embla__slide {\n flex: 0 0 auto;\n opacity: var(--frigate-card-carousel-thumbnail-opacity);\n}\n\n.embla__slide.slide-selected {\n opacity: 1;\n}\n\nfrigate-card-thumbnail {\n width: var(--frigate-card-thumbnail-size);\n height: var(--frigate-card-thumbnail-size);\n max-width: 100%;\n}\n\nfrigate-card-thumbnail[details] {\n width: var(--frigate-card-thumbnail-details-width);\n}")}};e([he({attribute:!1})],TE.prototype,"hass",void 0),e([he({attribute:!1})],TE.prototype,"viewManagerEpoch",void 0),e([he({attribute:!1})],TE.prototype,"cameraManager",void 0),e([he({attribute:!1})],TE.prototype,"config",void 0),e([he({attribute:!1})],TE.prototype,"fadeThumbnails",void 0),TE=e([le("frigate-card-thumbnail-carousel")],TE);var jE=":host {\n width: 100%;\n height: 100%;\n display: block;\n}";const OE=document.createElement("template");OE.innerHTML='\n
\n
\n';class DE extends HTMLElement{constructor(){super();const e=this.attachShadow({mode:"open"});e.appendChild(OE.content.cloneNode(!0)),this._freeSpaceDiv=e.getElementById("fs")}connectedCallback(){this._freeSpaceDiv&&this._freeSpaceDiv.addEventListener("click",this.handleFreeSpaceDivClick),this.upgradeProperty("open")}disconnectedCallback(){document.removeEventListener("keyup",this.handleKeyUp)}upgradeProperty(e){if(this.hasOwnProperty(e)){let t=this[e];delete this[e],this[e]=t}}handleKeyUp=e=>{if(!e.altKey&&"Escape"===e.key)e.preventDefault(),this.open=!1};get open(){return this.hasAttribute("open")}set open(e){e?this.hasAttribute("open")||this.setAttribute("open",""):this.hasAttribute("open")&&this.removeAttribute("open")}static get observedAttributes(){return["open"]}attributeChangedCallback(e,t,n){"open"===e&&(this.open?(this.setAttribute("tabindex","0"),this.setAttribute("aria-disabled","false"),this.focus({preventScroll:!0}),document.addEventListener("keyup",this.handleKeyUp),this.dispatchEvent(new CustomEvent("open",{bubbles:!0}))):(this.setAttribute("tabindex","-1"),this.setAttribute("aria-disabled","true"),document.removeEventListener("keyup",this.handleKeyUp),this.dispatchEvent(new CustomEvent("close",{bubbles:!0}))))}handleFreeSpaceDivClick=()=>{this.open=!1}}customElements.define("side-drawer",DE);let RE=class extends se{constructor(){super(...arguments),this.location="left",this.control=!0,this.open=!1,this.empty=!0,this._refDrawer=ze(),this._refSlot=ze(),this._resizeObserver=new ResizeObserver((()=>this._hideDrawerIfNecessary())),this._isHoverableDevice=Yg()}firstUpdated(e){super.firstUpdated(e);const t=document.createElement("style");t.innerHTML=":host {\n width: unset;\n}\n\n#fs {\n display: none;\n width: 100%;\n inset: 0;\n}\n\n#d,\n#fs {\n height: 100%;\n position: absolute;\n}\n\n#d {\n overflow: visible;\n max-width: 90%;\n z-index: 10;\n}\n\n:host([location=right]) #d {\n left: unset;\n right: 0;\n transform: translateX(100%);\n}\n\n:host([location=right][open]) #d {\n transform: none;\n box-shadow: var(--frigate-card-css-box-shadow, 0px 0px 25px 0px black);\n}\n\n#ifs {\n height: 100%;\n}",this._refDrawer.value?.shadowRoot?.appendChild(t)}_slotChanged(){const e=this._refSlot.value?lf(this._refSlot.value):[];this._resizeObserver.disconnect();for(const t of e)this._resizeObserver.observe(t);this._hideDrawerIfNecessary()}_hideDrawerIfNecessary(){if(!this._refDrawer.value)return;const e=this._refSlot.value?lf(this._refSlot.value):null;this.empty=!e||!e.length||e.every((e=>{const t=e.getBoundingClientRect();return!t.width||!t.height}))}render(){return q` - {this.open&&(this.open=!1)}} - > - ${this.control?q` -
{wf(e),this.open=!this.open}} - > - {this._isHoverableDevice&&!this.open&&(this.open=!0)}} - > - -
- `:""} - this._slotChanged()}> -
- `}static get styles(){return o("side-drawer {\n background-color: var(--card-background-color);\n}\n\ndiv.control-surround {\n position: absolute;\n bottom: 50%;\n transform: translateY(50%);\n z-index: 0;\n padding-top: 20px;\n padding-bottom: 20px;\n}\n\n:host([location=left]) div.control-surround {\n padding-right: 12px;\n left: 100%;\n}\n\n:host([location=right]) div.control-surround {\n padding-left: 12px;\n right: 100%;\n}\n\n:host([empty]),\n:host([empty]) > * {\n visibility: hidden;\n}\n\n:host(:not([empty])),\n:host(:not([empty])) > * {\n visibility: visible;\n}\n\nha-icon.control {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.7);\n opacity: 0.5;\n pointer-events: all;\n --mdc-icon-size: 20px;\n padding-top: 20px;\n padding-bottom: 20px;\n transition: opacity 0.5s ease;\n}\n\n:host([open]) ha-icon.control,\nha-icon.control:hover {\n opacity: 1;\n background-color: black;\n}\n\n:host([location=left]) ha-icon.control {\n border-top-right-radius: 20px;\n border-bottom-right-radius: 20px;\n}\n\n:host([location=right]) ha-icon.control {\n border-top-left-radius: 20px;\n border-bottom-left-radius: 20px;\n}")}};e([he({attribute:!0,reflect:!0})],RE.prototype,"location",void 0),e([he({attribute:!0,reflect:!0,type:Boolean})],RE.prototype,"control",void 0),e([he({type:Boolean,reflect:!0,attribute:!0})],RE.prototype,"open",void 0),e([he({attribute:!1})],RE.prototype,"icons",void 0),e([he({type:Boolean,reflect:!0,attribute:!0})],RE.prototype,"empty",void 0),RE=e([le("frigate-card-drawer")],RE);let PE=class extends se{constructor(){super(...arguments),this._refDrawerLeft=ze(),this._refDrawerRight=ze(),this._boundDrawerHandler=this._drawerHandler.bind(this)}connectedCallback(){super.connectedCallback(),this.addEventListener("frigate-card:drawer:open",this._boundDrawerHandler),this.addEventListener("frigate-card:drawer:close",this._boundDrawerHandler)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("frigate-card:drawer:open",this._boundDrawerHandler),this.removeEventListener("frigate-card:drawer:close",this._boundDrawerHandler)}_drawerHandler(e){const t=e.detail.drawer,n=e.type.endsWith(":open");"left"===t&&this._refDrawerLeft.value?this._refDrawerLeft.value.open=n:"right"===t&&this._refDrawerRight.value&&(this._refDrawerRight.value.open=n)}render(){return q` - - - - - - - - `}static get styles(){return o(":host {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n position: relative;\n overflow: hidden;\n}\n\n::slotted(:not([slot])) {\n flex: 1;\n min-height: 0px;\n}")}};e([he({attribute:!1})],PE.prototype,"drawerIcons",void 0),PE=e([le("frigate-card-surround-basic")],PE);let LE=class extends se{_hasDrawer(){return!!this.thumbnailConfig&&["left","right"].includes(this.thumbnailConfig.mode)}willUpdate(e){this.timelineConfig?.mode&&"none"!==this.timelineConfig.mode&&import("./timeline-core-fabd0153.js");const t=this.viewManagerEpoch?.manager.getView();e.has("viewManagerEpoch")&&(this.viewManagerEpoch?.manager.hasMajorMediaChange(this.viewManagerEpoch?.oldView)||this.viewManagerEpoch?.oldView?.displayMode!==t?.displayMode)&&(this._cameraIDsForTimeline=this._getCameraIDsForTimeline()??void 0)}_getCameraIDsForTimeline(){const e=this.viewManagerEpoch?.manager.getView();if(!e||!this.cameraManager)return null;if(e.is("live")){const t={anyCapabilities:["clips","snapshots","recordings"]};return e.supportsMultipleDisplayModes()&&e.isGrid()?this.cameraManager.getStore().getCameraIDsWithCapability(t):this.cameraManager.getStore().getAllDependentCameras(e.camera,t)}return e.isViewerView()?e.query?.getQueryCameraIDs()??null:null}render(){const e=this.viewManagerEpoch?.manager.getView();if(!this.hass||!e)return;const t=(e,t)=>{this.thumbnailConfig&&this._hasDrawer()&&Bg(e.composedPath()[0],"drawer:"+t,{drawer:this.thumbnailConfig.mode})};return q` t(e,"open")} - @frigate-card:thumbnails:close=${e=>t(e,"close")} - > - ${this.thumbnailConfig&&"none"!==this.thumbnailConfig.mode?q` {const n=e.detail.queryResults.getSelectedResult();n&&(this.viewManagerEpoch?.manager.setViewByParameters({params:{view:"media",queryResults:e.detail.queryResults,...n.getCameraID()&&{camera:n.getCameraID()}},modifiers:[new wE(["timeline","mediaViewer"])]}),t(e,"close"))}} - > - `:""} - ${this.timelineConfig&&"none"!==this.timelineConfig.mode?q` - `:""} - - `}static get styles(){return o(jE)}};e([he({attribute:!1})],LE.prototype,"hass",void 0),e([he({attribute:!1})],LE.prototype,"viewManagerEpoch",void 0),e([he({attribute:!1,hasChanged:Qg})],LE.prototype,"thumbnailConfig",void 0),e([he({attribute:!1,hasChanged:Qg})],LE.prototype,"timelineConfig",void 0),e([he({attribute:!1})],LE.prototype,"cameraManager",void 0),e([he({attribute:!1})],LE.prototype,"cardWideConfig",void 0),LE=e([le("frigate-card-surround")],LE);var NE="Wed, 11 Dec 2024 03:36:17 GMT",FE="47fdfbc",VE="Tue, 10 Dec 2024 19:35:09 -0800";const HE=ba.object({domain:ba.string(),version:ba.string().optional()}).passthrough(),BE="hass_web_proxy",qE=(e,t)=>`/api/${BE}/v${t??0}/?url=${encodeURIComponent(e)}`,UE=(e,t,n="media")=>(e=>e.config.components.includes(BE))(e)&&!!t[n];async function WE(e,t,n){await e.callService(BE,"create_proxied_url",{url_pattern:t,...n&&{url_id:n.urlID,ssl_verification:n.sslVerification,ssl_ciphers:n.sslCiphers,open_limit:n.openLimit,ttl:n.ttl,allow_unauthenticated:n.allowUnauthenticated}})}const ZE=async(e,t)=>{let n=null;if(t)try{n=await(async(e,t)=>await $v(e,HE,{type:"manifest/get",integration:t}))(t,e)}catch(e){}return{detected:!!n,...n?.version&&{version:n.version}}};let QE=class extends se{constructor(){super(...arguments),this._diagnostics=null}async _fetchDiagnostics(){this._diagnostics=await(async(e,t,n)=>{const a=e&&t?await t.getMatchingDevices(e,(e=>"Frigate"===e.manufacturer)):[],i=new Map;return a?.forEach((e=>{e.config_entries.forEach((t=>{e.model&&i.set(t,e.model)}))})),{card_version:"6.0.3",browser:navigator.userAgent,date:new Date,lang:F_(),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,git:{hash:FE,build_date:NE,commit_date:VE},...e&&{ha_version:e.config.version},integrations:{reolink:await ZE("reolink",e),frigate:{...await ZE("frigate",e),...i.size&&{devices:Object.fromEntries(i)}},hass_web_proxy:await ZE(BE,e),motioneye:await ZE("motioneye",e)},...n&&{config:n}}})(this.hass,this.deviceRegistryManager,this.rawConfig)}shouldUpdate(){return!!this._diagnostics||(this._fetchDiagnostics().then((()=>this.requestUpdate())),!1)}render(){return wk({message:V_("error.diagnostics"),type:"diagnostics",icon:"mdi:information",context:this._diagnostics})}static get styles(){return o(jE)}};e([he({attribute:!1})],QE.prototype,"hass",void 0),e([he({attribute:!1})],QE.prototype,"deviceRegistryManager",void 0),e([he({attribute:!1})],QE.prototype,"rawConfig",void 0),e([pe()],QE.prototype,"_diagnostics",void 0),QE=e([le("frigate-card-diagnostics")],QE);let GE=class extends se{willUpdate(e){if(e.has("viewManagerEpoch")||e.has("config")){const e=this.viewManagerEpoch?.manager.getView();(e?.is("live")||this._shouldLivePreload())&&import("./index-0a012f43.js").then((function(e){return e.i})),e?.isGalleryView()?import("./gallery-c718155d.js"):e?.isViewerView()?import("./index-0197eb89.js"):e?.is("image")?import("./image-cbfd7ccb.js"):e?.is("timeline")&&import("./timeline-62b72e11.js")}e.has("hide")&&(this.hide?this.setAttribute("hidden",""):this.removeAttribute("hidden"))}shouldUpdate(e){return!0}_shouldLivePreload(){const e=this.viewManagerEpoch?.manager.getView();return!!this.overriddenConfig?.live.preload&&!e?.is("diagnostics")}render(){if(!(this.hass&&this.overriddenConfig&&this.nonOverriddenConfig&&this.cardWideConfig))return q``;const e=this.viewManagerEpoch?.manager.getView(),t={hidden:this._shouldLivePreload()&&!e?.is("live")},n={hidden:!!this.hide},a=e?.is("live")?this.overriddenConfig.live.controls.thumbnails:e?.isViewerView()?this.overriddenConfig.media_viewer.controls.thumbnails:e?.is("timeline")?this.overriddenConfig.timeline.controls.thumbnails:void 0,i=e?.is("live")?this.overriddenConfig.live.controls.timeline:e?.isViewerView()?this.overriddenConfig.media_viewer.controls.timeline:void 0,r=e?this.cameraManager?.getStore().getCameraConfig(e.camera)??null:null;return q` - ${!this.hide&&e?.is("image")&&r?q` - `:""} - ${!this.hide&&e?.isGalleryView()?q` - `:""} - ${!this.hide&&e?.isViewerView()?q` - - - `:""} - ${!this.hide&&e?.is("timeline")?q` - `:""} - ${!this.hide&&e?.is("diagnostics")?q` - `:""} - ${this._shouldLivePreload()||!this.hide&&e?.is("live")?q` - - - `:""} - `}static get styles(){return o(":host {\n width: 100%;\n height: 100%;\n display: block;\n}\n\n:host([hidden]),\n.hidden {\n display: none;\n}")}};e([he({attribute:!1})],GE.prototype,"hass",void 0),e([he({attribute:!1})],GE.prototype,"viewManagerEpoch",void 0),e([he({attribute:!1})],GE.prototype,"cameraManager",void 0),e([he({attribute:!1})],GE.prototype,"nonOverriddenConfig",void 0),e([he({attribute:!1})],GE.prototype,"overriddenConfig",void 0),e([he({attribute:!1})],GE.prototype,"cardWideConfig",void 0),e([he({attribute:!1})],GE.prototype,"rawConfig",void 0),e([he({attribute:!1})],GE.prototype,"resolvedMediaCache",void 0),e([he({attribute:!1})],GE.prototype,"conditionsManagerEpoch",void 0),e([he({attribute:!1})],GE.prototype,"hide",void 0),e([he({attribute:!1})],GE.prototype,"microphoneManager",void 0),e([he({attribute:!1})],GE.prototype,"triggeredCameraIDs",void 0),e([he({attribute:!1})],GE.prototype,"deviceRegistryManager",void 0),GE=e([le("frigate-card-views")],GE);console.info(`%c FRIGATE-HASS-CARD \n%c ${V_("common.version")} 6.0.3`,"color: pink; font-weight: bold; background: black","color: white; font-weight: bold; background: dimgray"),window.customCards=window.customCards||[],window.customCards.push({type:"frigate-card",name:V_("common.frigate_card"),description:V_("common.frigate_card_description"),preview:!0,documentationURL:wa});let YE=class extends se{constructor(){super(...arguments),this._controller=new Ax(this,(()=>this._refMain.value?.scroll({top:0})),(()=>this._refMenu.value?.toggleMenu()),this._requestUpdateForComponentsThatUseConditions.bind(this)),this._menuButtonController=new zx,this._refMenu=ze(),this._refOverlay=ze(),this._refMain=ze(),this._refElements=ze(),this._refViews=ze()}get _config(){return this._controller.getConfigManager().getConfig()}get _hass(){return this._controller.getHASSManager().getHASS()}set hass(e){this._controller.getHASSManager().setHASS(e),this._refMenu.value&&(this._refMenu.value.hass=e),this._refElements.value&&(this._refElements.value.hass=e),this._refViews.value&&(this._refViews.value.hass=e)}static async getConfigElement(){return await Ax.getConfigElement()}static getStubConfig(e,t){return Ax.getStubConfig(t)}_requestUpdateForComponentsThatUseConditions(){this._refViews.value&&(this._refViews.value.conditionsManagerEpoch=this._controller.getConditionsManager().getEpoch()??void 0),this._refElements.value&&(this._refElements.value.conditionsManagerEpoch=this._controller.getConditionsManager().getEpoch()??void 0)}setConfig(e){this._controller.getConfigManager().setConfig(e)}shouldUpdate(){return!!this.isConnected&&(this._controller.getMessageManager().hasMessage()||this._controller.getInitializationManager().isInitializedMandatory()||this._controller.getInitializationManager().initializeMandatory(),!0)}_renderMenuStatusContainer(e){if(!this._config)return;const t=this._config.menu.style,n=this._config.menu.position,a=this._config.status_bar.style,i=this._config.status_bar.position;if("none"===t&&"none"===a||"overlay"===e&&"outside"===t&&"outside"===a||"overlay"!==e&&("outside"!==t||n!==e)&&("outside"!==a||i!==e))return;const r=e=>{const r="none"!==t&&("outside"===t&&"outerlay"===e||"outside"!==t&&"overlay"===e),o="none"!==a&&("outside"===a&&"outerlay"===e||"outside"!==a&&"overlay"===e),s="left"===n||"right"===n||"bottom"===n&&"hidden"===t&&"popup"!==a||"top"===n&&("hidden"!==t||"popup"===a);return q` - ${r&&s?this._renderMenu(n):""} - ${o?this._renderStatusBar(i):""} - ${r&&!s?this._renderMenu(n):""} - `};return q` - ${"overlay"===e?q`${r("overlay")}`:q`
- ${r("outerlay")} -
`} - `}_renderMenu(e){const t=this._controller.getViewManager().getView();if(this._hass&&this._config)return q` - - `}_renderStatusBar(e){if(this._config)return q` - - `}updated(){this._controller.getInitializationManager().isInitializedMandatory()&&this._controller.getQueryStringManager().executeIfNecessary()}_renderInDialogIfNecessary(e){return this._controller.getExpandManager().isExpanded()?q` {this._controller.getExpandManager().setExpanded(!1)}} - > - ${e} - `:e}render(){if(!this._hass)return;const e={main:!0,"curve-top":"outside"!==this._config?.menu.style||"top"!==this._config?.menu.position,"curve-bottom":"outside"!==this._config?.menu.style||"top"===this._config?.menu.position},t=this._controller.getActionsManager().getMergedActions(),n=this._controller.getCameraManager(),a=!1!==this._config?.performance?.features.animated_progress_indicator&&!this._controller.getInitializationManager().wasEverInitialized()&&!this._controller.getMessageManager().hasMessage();return this._renderInDialogIfNecessary(q` this._controller.getMessageManager().setMessageIfHigherPriority(e.detail)} - @frigate-card:media:loaded=${e=>this._controller.getMediaLoadedInfoManager().set(e.detail)} - @frigate-card:media:unloaded=${()=>this._controller.getMediaLoadedInfoManager().clear()} - @frigate-card:media:volumechange=${()=>this.requestUpdate()} - @frigate-card:media:play=${()=>this.requestUpdate()} - @frigate-card:media:pause=${()=>this.requestUpdate()} - @frigate-card:focus=${()=>this.focus()} - > - ${a?q``:""} - ${this._renderMenuStatusContainer("top")} - ${this._renderMenuStatusContainer("overlay")} -
- - ${wk(this._controller.getMessageManager().getMessage())} -
- ${this._renderMenuStatusContainer("bottom")} - ${this._config?.elements?q` {this._menuButtonController.addDynamicMenuButton(e.detail),this.requestUpdate()}} - @frigate-card:menu:remove=${e=>{this._menuButtonController.removeDynamicMenuButton(e.detail),this.requestUpdate()}} - @frigate-card:status-bar:add=${e=>{this._controller.getStatusBarItemManager().addDynamicStatusBarItem(e.detail)}} - @frigate-card:status-bar:remove=${e=>{this._controller.getStatusBarItemManager().removeDynamicStatusBarItem(e.detail)}} - @frigate-card:conditions:evaluate=${e=>{e.evaluation=this._controller.getConditionsManager()?.evaluateConditions(e.conditions)}} - > - `:""} -
`)}static get styles(){return o(':host {\n display: block;\n position: relative;\n background-color: var(--card-background-color);\n border-radius: var(--ha-card-border-radius, 4px);\n height: var(--frigate-card-height);\n min-height: 100px;\n pointer-events: all;\n --frigate-card-expand-max-height: calc((100vh - (2 * 56px)) * 0.85);\n --frigate-card-expand-max-width: 85vw;\n --frigate-card-expand-width: none;\n --frigate-card-expand-height: none;\n --frigate-card-expand-aspect-ratio: unset;\n --frigate-card-height: auto;\n}\n\nfrigate-card-loading {\n position: absolute;\n inset: 0;\n z-index: 1;\n}\n\n:host([dark]) {\n filter: brightness(75%);\n}\n\n:host([panel]) {\n height: 100%;\n}\n\ndiv.main {\n position: relative;\n overflow: auto;\n width: 100%;\n height: 100%;\n margin: auto;\n display: block;\n transform: translateZ(0);\n scrollbar-width: none;\n -ms-overflow-style: none;\n}\n\n/* Hide scrollbar for Chrome, Safari and Opera */\ndiv.main::-webkit-scrollbar {\n display: none;\n}\n\ndiv.main.curve-top {\n border-top-left-radius: var(--ha-card-border-radius, 4px);\n border-top-right-radius: var(--ha-card-border-radius, 4px);\n}\n\ndiv.main.curve-bottom {\n border-bottom-left-radius: var(--ha-card-border-radius, 4px);\n border-bottom-right-radius: var(--ha-card-border-radius, 4px);\n}\n\nha-card {\n display: flex;\n flex-direction: column;\n margin: auto;\n border: 0px;\n overflow: visible;\n width: 100%;\n height: 100%;\n position: static;\n color: var(--secondary-text-color, white);\n}\n\n/************\n * Fullscreen\n *************/\n:host(:fullscreen) #ha-card {\n border-radius: 0px;\n box-shadow: none;\n margin: 0;\n}\n\n:host(:-webkit-full-screen) #ha-card {\n border-radius: 0px;\n box-shadow: none;\n margin: 0;\n}\n\n:host(:fullscreen) div.main,\n:host(:fullscreen) frigate-card-menu {\n border-radius: 0px;\n}\n\n:host(:-webkit-full-screen) div.main,\n:host(:-webkit-full-screen) frigate-card-menu {\n border-radius: 0px;\n}\n\n/***************\n * Expanded mode\n ***************/\nweb-dialog {\n --dialog-padding: 0px;\n --dialog-container-padding: 0px;\n --dialog-max-height: var(--frigate-card-expand-max-height);\n --dialog-max-width: var(--frigate-card-expand-max-width);\n --dialog-width: var(--frigate-card-expand-width);\n --dialog-height: var(--frigate-card-expand-height);\n --dialog-overflow-x: visible;\n --dialog-overflow-y: visible;\n max-height: 100vh;\n}\n\nweb-dialog::part(dialog) {\n aspect-ratio: var(--frigate-card-expand-aspect-ratio);\n border-radius: 0px;\n background: transparent;\n}\n\n/*************************************\n * "Outside" style for menu/status bar\n *************************************/\n.outerlay[data-position=top] > *:first-child {\n border-top-left-radius: var(--ha-card-border-radius, 4px);\n border-top-right-radius: var(--ha-card-border-radius, 4px);\n}\n\n.outerlay[data-position=bottom] > *:last-child {\n border-bottom-left-radius: var(--ha-card-border-radius, 4px);\n border-bottom-right-radius: var(--ha-card-border-radius, 4px);\n}\n\n/*******************\n * Menu hover styles\n *******************/\nfrigate-card-menu {\n z-index: 2;\n}\n\nfrigate-card-menu[data-style*=hover] {\n transition: opacity 0.5s ease;\n opacity: 0;\n}\n\nfrigate-card-menu[data-style*=hover]:hover,\nha-card:hover > frigate-card-overlay > frigate-card-menu[data-style=hover-card] {\n opacity: 1;\n}\n\n/*************************\n * Status bar hover styles\n *************************/\nfrigate-card-status-bar {\n z-index: 1;\n}\n\nfrigate-card-status-bar[data-style*=hover] {\n transition: opacity 0.5s ease;\n opacity: 0;\n}\n\nfrigate-card-status-bar[data-style*=hover]:hover,\nha-card:hover > frigate-card-overlay > frigate-card-status-bar[data-style=hover-card] {\n opacity: 1;\n}')}getCardSize(){return 6}};YE=e([le("frigate-card")],YE);export{Il as $,tr as A,nr as B,Zi as C,ar as D,ir as E,rr as F,Pi as G,Li as H,Ni as I,Fi as J,Vi as K,Hi as L,Bi as M,qi as N,Ui as O,gs as P,Ws as Q,ns as R,Us as S,qo as T,Fo as U,Vo as V,Ho as W,Bo as X,Bs as Y,zl as Z,e as _,se as a,dr as a$,H_ as a0,tw as a1,et as a2,nw as a3,$s as a4,Di as a5,ji as a6,Oi as a7,Ri as a8,Wi as a9,Yr as aA,oo as aB,so as aC,lo as aD,uo as aE,co as aF,ao as aG,io as aH,ro as aI,mo as aJ,_o as aK,vo as aL,ho as aM,po as aN,fo as aO,go as aP,eo as aQ,no as aR,to as aS,Xr as aT,Jr as aU,Kr as aV,Ao as aW,Io as aX,zo as aY,hr as aZ,cr as a_,es as aa,Jo as ab,Xo as ac,ts as ad,hs as ae,us as af,ms as ag,qs as ah,ps as ai,So as aj,Co as ak,To as al,Mo as am,ko as an,qr as ao,Ur as ap,Wr as aq,Zr as ar,Eo as as,$o as at,yo as au,xo as av,bo as aw,wo as ax,Qr as ay,Gr as az,pe as b,ja as b$,ur as b0,lr as b1,sr as b2,mr as b3,gr as b4,fr as b5,_r as b6,xr as b7,Hr as b8,Cr as b9,Po as bA,Wo as bB,Zo as bC,Go as bD,Yo as bE,Qo as bF,Uo as bG,vs as bH,_s as bI,ys as bJ,xs as bK,Cs as bL,As as bM,Ms as bN,Es as bO,Ss as bP,Jb as bQ,Kb as bR,Uk as bS,Ug as bT,Ma as bU,Ja as bV,Ya as bW,La as bX,Na as bY,ka as bZ,Oa as b_,kr as ba,Mr as bb,vr as bc,wr as bd,yr as be,br as bf,Sr as bg,Er as bh,$r as bi,Or as bj,zr as bk,Tr as bl,jr as bm,Ir as bn,Ar as bo,Pr as bp,Fr as bq,Vr as br,Dr as bs,Rr as bt,Nr as bu,Lr as bv,Ro as bw,Lo as bx,Oo as by,Do as bz,ew as c,wf as c$,Da as c0,Ta as c1,Ga as c2,Ua as c3,Wa as c4,Za as c5,Qa as c6,_i as c7,fi as c8,Ra as c9,ai as cA,ii as cB,Sa as cC,Ea as cD,pi as cE,hi as cF,gi as cG,mi as cH,Fd as cI,Ca as cJ,ks as cK,ge as cL,fe as cM,W as cN,xe as cO,Gw as cP,Mk as cQ,ze as cR,Yw as cS,df as cT,wk as cU,je as cV,Qg as cW,vw as cX,td as cY,kk as cZ,Ky as c_,Pa as ca,Ha as cb,qa as cc,Fa as cd,Va as ce,Ba as cf,Ka as cg,Xa as ch,ti as ci,ei as cj,yi as ck,vi as cl,bi as cm,wi as cn,$a as co,Aa as cp,za as cq,Ia as cr,ni as cs,ri as ct,oi as cu,si as cv,ci as cw,li as cx,di as cy,ui as cz,aw as d,ba as d$,My as d0,ve as d1,jE as d2,Vd as d3,nu as d4,c as d5,ux as d6,Qv as d7,hx as d8,lx as d9,wx as dA,Ck as dB,U as dC,xf as dD,Bw as dE,kE as dF,CE as dG,yf as dH,Fk as dI,vf as dJ,kf as dK,bf as dL,p_ as dM,h_ as dN,Pv as dO,Lv as dP,Ud as dQ,Vv as dR,Yg as dS,Kg as dT,Cx as dU,Gy as dV,gx as dW,su as dX,sf as dY,Fv as dZ,Hg as d_,px as da,Gg as db,Ev as dc,Wu as dd,Xg as de,Qu as df,Bg as dg,qw as dh,af as di,SE as dj,kx as dk,xk as dl,$w as dm,tx as dn,hy as dp,Bb as dq,qb as dr,UE as ds,WE as dt,Ib as du,qE as dv,Qw as dw,Kw as dx,Xw as dy,Jw as dz,_e as e,nf as e0,$v as e1,zs as e2,Kv as e3,Wv as e4,Z_ as e5,Q_ as e6,Yv as e7,Jg as e8,tf as e9,Lu as eA,Vb as eB,Zv as eC,Nb as eD,lf as eE,qy as eF,Uy as eG,Wy as eH,pf as eI,Qy as eJ,Rg as eK,Zy as eL,s as eM,Ae as eN,ye as eO,Zw as eP,bE as eQ,me as eR,be as eS,jb as eT,Gv as ea,Hk as eb,Hv as ec,rf as ed,Tv as ee,Bk as ef,Iv as eg,zv as eh,jv as ei,qk as ej,Xd as ek,Hd as el,Gd as em,Qd as en,Yd as eo,vu as ep,Jd as eq,eu as er,yu as es,_u as et,Bd as eu,au as ev,gu as ew,Ou as ex,Nu as ey,Fu as ez,ww as f,Fb as g,Xb as h,Dv as i,Lb as j,qg as k,V_ as l,Ki as m,he as n,Gi as o,Ld as p,Qi as q,o as r,of as s,le as t,Yi as u,Hb as v,Xi as w,q as x,er as y,Ji as z}; diff --git a/config/www/community/frigate-hass-card/card-c642ee74.js.gz b/config/www/community/frigate-hass-card/card-c642ee74.js.gz deleted file mode 100644 index 050ed8d90e2b6626f5e546369636860c112a5932..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142679 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

tdIO@){Ou^brQFjTC&jJQ8 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[o])&&(s=(r<3?a(s):r>3?a(t,n,s):a(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s}"function"==typeof SuppressedError&&SuppressedError; -/** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const t=globalThis,n=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,i=Symbol(),a=new WeakMap;let r=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==i)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(n&&void 0===e){const n=void 0!==t&&1===t.length;n&&(e=a.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&a.set(t,e))}return e}toString(){return this.cssText}};const s=e=>new r("string"==typeof e?e:e+"",void 0,i),o=(e,...t)=>{const n=1===e.length?e[0]:t.reduce(((t,n,i)=>t+(e=>{if(!0===e._$cssResult$)return e.cssText;if("number"==typeof e)return e;throw Error("Value passed to 'css' function must be a 'css' function result: "+e+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(n)+e[i+1]),e[0]);return new r(n,e,i)},c=(e,i)=>{if(n)e.adoptedStyleSheets=i.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet));else for(const n of i){const i=document.createElement("style"),a=t.litNonce;void 0!==a&&i.setAttribute("nonce",a),i.textContent=n.cssText,e.appendChild(i)}},l=n?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const n of e.cssRules)t+=n.cssText;return s(t)})(e):e -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */,{is:d,defineProperty:u,getOwnPropertyDescriptor:h,getOwnPropertyNames:p,getOwnPropertySymbols:g,getPrototypeOf:m}=Object,f=globalThis,_=f.trustedTypes,y=_?_.emptyScript:"",v=f.reactiveElementPolyfillSupport,b=(e,t)=>e,w={toAttribute(e,t){switch(t){case Boolean:e=e?y:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=null!==e;break;case Number:n=null===e?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch(e){n=null}}return n}},x=(e,t)=>!d(e,t),C={attribute:!0,type:String,converter:w,reflect:!1,hasChanged:x};Symbol.metadata??=Symbol("metadata"),f.litPropertyMetadata??=new WeakMap;class M extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=C){if(t.state&&(t.attribute=!1),this._$Ei(),this.elementProperties.set(e,t),!t.noAccessor){const n=Symbol(),i=this.getPropertyDescriptor(e,n,t);void 0!==i&&u(this.prototype,e,i)}}static getPropertyDescriptor(e,t,n){const{get:i,set:a}=h(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get(){return i?.call(this)},set(t){const r=i?.call(this);a.call(this,t),this.requestUpdate(e,r,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??C}static _$Ei(){if(this.hasOwnProperty(b("elementProperties")))return;const e=m(this);e.finalize(),void 0!==e.l&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(b("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(b("properties"))){const e=this.properties,t=[...p(e),...g(e)];for(const n of t)this.createProperty(n,e[n])}const e=this[Symbol.metadata];if(null!==e){const t=litPropertyMetadata.get(e);if(void 0!==t)for(const[e,n]of t)this.elementProperties.set(e,n)}this._$Eh=new Map;for(const[e,t]of this.elementProperties){const n=this._$Eu(e,t);void 0!==n&&this._$Eh.set(n,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const n=new Set(e.flat(1/0).reverse());for(const e of n)t.unshift(l(e))}else void 0!==e&&t.push(l(e));return t}static _$Eu(e,t){const n=t.attribute;return!1===n?void 0:"string"==typeof n?n:"string"==typeof e?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((e=>this.enableUpdating=e)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((e=>e(this)))}addController(e){(this._$EO??=new Set).add(e),void 0!==this.renderRoot&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){const e=new Map,t=this.constructor.elementProperties;for(const n of t.keys())this.hasOwnProperty(n)&&(e.set(n,this[n]),delete this[n]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return c(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((e=>e.hostConnected?.()))}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach((e=>e.hostDisconnected?.()))}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$EC(e,t){const n=this.constructor.elementProperties.get(e),i=this.constructor._$Eu(e,n);if(void 0!==i&&!0===n.reflect){const a=(void 0!==n.converter?.toAttribute?n.converter:w).toAttribute(t,n.type);this._$Em=e,null==a?this.removeAttribute(i):this.setAttribute(i,a),this._$Em=null}}_$AK(e,t){const n=this.constructor,i=n._$Eh.get(e);if(void 0!==i&&this._$Em!==i){const e=n.getPropertyOptions(i),a="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==e.converter?.fromAttribute?e.converter:w;this._$Em=i,this[i]=a.fromAttribute(t,e.type),this._$Em=null}}requestUpdate(e,t,n){if(void 0!==e){if(n??=this.constructor.getPropertyOptions(e),!(n.hasChanged??x)(this[e],t))return;this.P(e,t,n)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(e,t,n){this._$AL.has(e)||this._$AL.set(e,t),!0===n.reflect&&this._$Em!==e&&(this._$Ej??=new Set).add(e)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}const e=this.constructor.elementProperties;if(e.size>0)for(const[t,n]of e)!0!==n.wrapped||this._$AL.has(t)||void 0===this[t]||this.P(t,this[t],n)}let e=!1;const t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach((e=>e.hostUpdate?.())),this.update(t)):this._$EU()}catch(t){throw e=!1,this._$EU(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach((e=>e.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Ej&&=this._$Ej.forEach((e=>this._$EC(e,this[e]))),this._$EU()}updated(e){}firstUpdated(e){}}M.elementStyles=[],M.shadowRootOptions={mode:"open"},M[b("elementProperties")]=new Map,M[b("finalized")]=new Map,v?.({ReactiveElement:M}),(f.reactiveElementVersions??=[]).push("2.0.4"); -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const S=globalThis,k=S.trustedTypes,E=k?k.createPolicy("lit-html",{createHTML:e=>e}):void 0,$="$lit$",A=`lit$${(Math.random()+"").slice(9)}$`,I="?"+A,z=`<${I}>`,T=document,j=()=>T.createComment(""),O=e=>null===e||"object"!=typeof e&&"function"!=typeof e,D=Array.isArray,R="[ \t\n\f\r]",P=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,L=/-->/g,N=/>/g,F=RegExp(`>|${R}(?:([^\\s"'>=/]+)(${R}*=${R}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),V=/'/g,H=/"/g,B=/^(?:script|style|textarea|title)$/i,q=(e=>(t,...n)=>({_$litType$:e,strings:t,values:n}))(1),U=Symbol.for("lit-noChange"),W=Symbol.for("lit-nothing"),Z=new WeakMap,Q=T.createTreeWalker(T,129);function G(e,t){if(!Array.isArray(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==E?E.createHTML(t):t}const Y=(e,t)=>{const n=e.length-1,i=[];let a,r=2===t?"":"",s=P;for(let t=0;t"===c[0]?(s=a??P,l=-1):void 0===c[1]?l=-2:(l=s.lastIndex-c[2].length,o=c[1],s=void 0===c[3]?F:'"'===c[3]?H:V):s===H||s===V?s=F:s===L||s===N?s=P:(s=F,a=void 0);const u=s===F&&e[t+1].startsWith("/>")?" ":"";r+=s===P?n+z:l>=0?(i.push(o),n.slice(0,l)+$+n.slice(l)+A+u):n+A+(-2===l?t:u)}return[G(e,r+(e[n]||"")+(2===t?"":"")),i]};class K{constructor({strings:e,_$litType$:t},n){let i;this.parts=[];let a=0,r=0;const s=e.length-1,o=this.parts,[c,l]=Y(e,t);if(this.el=K.createElement(c,n),Q.currentNode=this.el.content,2===t){const e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;null!==(i=Q.nextNode())&&o.length0){i.textContent=k?k.emptyScript:"";for(let n=0;nD(e)||"function"==typeof e?.[Symbol.iterator])(e)?this.k(e):this._(e)}S(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.S(e))}_(e){this._$AH!==W&&O(this._$AH)?this._$AA.nextSibling.data=e:this.T(T.createTextNode(e)),this._$AH=e}$(e){const{values:t,_$litType$:n}=e,i="number"==typeof n?this._$AC(e):(void 0===n.el&&(n.el=K.createElement(G(n.h,n.h[0]),this.options)),n);if(this._$AH?._$AD===i)this._$AH.p(t);else{const e=new J(i,this),n=e.u(this.options);e.p(t),this.T(n),this._$AH=e}}_$AC(e){let t=Z.get(e.strings);return void 0===t&&Z.set(e.strings,t=new K(e)),t}k(e){D(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let n,i=0;for(const a of e)i===t.length?t.push(n=new ee(this.S(j()),this.S(j()),this,this.options)):n=t[i],n._$AI(a),i++;i2||""!==n[0]||""!==n[1]?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=W}_$AI(e,t=this,n,i){const a=this.strings;let r=!1;if(void 0===a)e=X(this,e,t,0),r=!O(e)||e!==this._$AH&&e!==U,r&&(this._$AH=e);else{const i=e;let s,o;for(e=a[0],s=0;s{const i=n?.renderBefore??t;let a=i._$litPart$;if(void 0===a){const e=n?.renderBefore??null;i._$litPart$=a=new ee(t.insertBefore(j(),e),e,void 0,n??{})}return a._$AI(e),a})(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return U}};oe._$litElement$=!0,oe.finalized=!0,globalThis.litElementHydrateSupport?.({LitElement:oe});const ce=globalThis.litElementPolyfillSupport;ce?.({LitElement:oe}),(globalThis.litElementVersions??=[]).push("4.0.4"); -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const le=e=>(t,n)=>{void 0!==n?n.addInitializer((()=>{customElements.define(e,t)})):customElements.define(e,t)} -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */,de={attribute:!0,type:String,converter:w,reflect:!1,hasChanged:x},ue=(e=de,t,n)=>{const{kind:i,metadata:a}=n;let r=globalThis.litPropertyMetadata.get(a);if(void 0===r&&globalThis.litPropertyMetadata.set(a,r=new Map),r.set(n.name,e),"accessor"===i){const{name:i}=n;return{set(n){const a=t.get.call(this);t.set.call(this,n),this.requestUpdate(i,a,e)},init(t){return void 0!==t&&this.P(i,void 0,e),t}}}if("setter"===i){const{name:i}=n;return function(n){const a=this[i];t.call(this,n),this.requestUpdate(i,a,e)}}throw Error("Unsupported decorator location: "+i)};function he(e){return(t,n)=>"object"==typeof n?ue(e,t,n):((e,t,n)=>{const i=t.hasOwnProperty(n);return t.constructor.createProperty(n,i?{...e,wrapped:!0}:e),i?Object.getOwnPropertyDescriptor(t,n):void 0})(e,t,n) -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */}function pe(e){return he({...e,state:!0,attribute:!1})} -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const ge={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},me=e=>(...t)=>({_$litDirective$:e,values:t});let fe=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,n){this._$Ct=e,this._$AM=t,this._$Ci=n}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}}; -/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const _e=me(class extends fe{constructor(e){if(super(e),e.type!==ge.ATTRIBUTE||"class"!==e.name||e.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(e){return" "+Object.keys(e).filter((t=>e[t])).join(" ")+" "}update(e,[t]){if(void 0===this.st){this.st=new Set,void 0!==e.strings&&(this.nt=new Set(e.strings.join(" ").split(/\s/).filter((e=>""!==e))));for(const e in t)t[e]&&!this.nt?.has(e)&&this.st.add(e);return this.render(t)}const n=e.element.classList;for(const e of this.st)e in t||(n.remove(e),this.st.delete(e));for(const e in t){const i=!!t[e];i===this.st.has(e)||this.nt?.has(e)||(i?(n.add(e),this.st.add(e)):(n.remove(e),this.st.delete(e)))}return U}}),ye=e=>e??W -/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */,ve=e=>null===e||"object"!=typeof e&&"function"!=typeof e,be=e=>void 0===e.strings,we={},xe=(e,t=we)=>e._$AH=t -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */,Ce=(e,t)=>{const n=e._$AN;if(void 0===n)return!1;for(const e of n)e._$AO?.(t,!1),Ce(e,t);return!0},Me=e=>{let t,n;do{if(void 0===(t=e._$AM))break;n=t._$AN,n.delete(e),e=t}while(0===n?.size)},Se=e=>{for(let t;t=e._$AM;e=t){let n=t._$AN;if(void 0===n)t._$AN=n=new Set;else if(n.has(e))break;n.add(e),$e(t)}}; -/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */function ke(e){void 0!==this._$AN?(Me(this),this._$AM=e,Se(this)):this._$AM=e}function Ee(e,t=!1,n=0){const i=this._$AH,a=this._$AN;if(void 0!==a&&0!==a.size)if(t)if(Array.isArray(i))for(let e=n;e{e.type==ge.CHILD&&(e._$AP??=Ee,e._$AQ??=ke)};class Ae extends fe{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,t,n){super._$AT(e,t,n),Se(this),this.isConnected=e._$AU}_$AO(e,t=!0){e!==this.isConnected&&(this.isConnected=e,e?this.reconnected?.():this.disconnected?.()),t&&(Ce(this,e),Me(this))}setValue(e){if(be(this._$Ct))this._$Ct._$AI(e,this);else{const t=[...this._$Ct._$AH];t[this._$Ci]=e,this._$Ct._$AI(t,this,0)}}disconnected(){}reconnected(){}} -/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const Ie=()=>new ze;let ze=class{};const Te=new WeakMap,je=me(class extends Ae{render(e){return W}update(e,[t]){const n=t!==this.Y;return n&&void 0!==this.Y&&this.rt(void 0),(n||this.lt!==this.ct)&&(this.Y=t,this.ht=e.options?.host,this.rt(this.ct=e.element)),W}rt(e){if("function"==typeof this.Y){const t=this.ht??globalThis;let n=Te.get(t);void 0===n&&(n=new WeakMap,Te.set(t,n)),void 0!==n.get(this.Y)&&this.Y.call(this.ht,void 0),n.set(this.Y,e),void 0!==e&&this.Y.call(this.ht,e)}else this.Y.value=e}get lt(){return"function"==typeof this.Y?Te.get(this.ht??globalThis)?.get(this.Y):this.Y?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}}),Oe="important",De=" !"+Oe,Re=me(class extends fe{constructor(e){if(super(e),e.type!==ge.ATTRIBUTE||"style"!==e.name||e.strings?.length>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(e){return Object.keys(e).reduce(((t,n)=>{const i=e[n];return null==i?t:t+`${n=n.includes("-")?n:n.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${i};`}),"")}update(e,[t]){const{style:n}=e.element;if(void 0===this.ft)return this.ft=new Set(Object.keys(t)),this.render(t);for(const e of this.ft)null==t[e]&&(this.ft.delete(e),e.includes("-")?n.removeProperty(e):n[e]=null);for(const e in t){const i=t[e];if(null!=i){this.ft.add(e);const t="string"==typeof i&&i.endsWith(De);e.includes("-")||t?n.setProperty(e,t?i.slice(0,-11):i,t?Oe:""):n[e]=i}}return U}}); -/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */function Pe(e,t,n,i=20,a=0){let r=[];if(a>=i)return r;const s=e=>{const r=e.assignedNodes().filter((e=>1===e.nodeType));return r.length>0?Pe(r[0].parentElement,t,n,i,a+1):[]},o=Array.from(e.children||[]);for(const e of o)t(e)||(n(e)&&r.push(e),null!=e.shadowRoot?r.push(...Pe(e.shadowRoot,t,n,i,a+1)):"SLOT"===e.tagName?r.push(...s(e)):r.push(...Pe(e,t,n,i,a+1)));return r}function Le(e){return e.hasAttribute("hidden")||e.hasAttribute("aria-hidden")&&"false"!==e.getAttribute("aria-hidden")||"none"===e.style.display||"0"===e.style.opacity||"hidden"===e.style.visibility||"collapse"===e.style.visibility}function Ne(e){return"-1"!==e.getAttribute("tabindex")&&!Le(e)&&!function(e){return e.hasAttribute("disabled")||e.hasAttribute("aria-disabled")&&"false"!==e.getAttribute("aria-disabled")}(e)&&(e.hasAttribute("tabindex")||(e instanceof HTMLAnchorElement||e instanceof HTMLAreaElement)&&e.hasAttribute("href")||e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLIFrameElement)}const Fe=new Map;const Ve=document.createElement("template");Ve.innerHTML='\n\t

\n\t
\n\t\n\t
\n';class He extends HTMLElement{constructor(){super(),this.debounceId=Math.random().toString(),this._focused=!1;const e=this.attachShadow({mode:"open"});e.appendChild(Ve.content.cloneNode(!0)),this.$backup=e.querySelector("#backup"),this.$start=e.querySelector("#start"),this.$end=e.querySelector("#end"),this.focusLastElement=this.focusLastElement.bind(this),this.focusFirstElement=this.focusFirstElement.bind(this),this.onFocusIn=this.onFocusIn.bind(this),this.onFocusOut=this.onFocusOut.bind(this)}static get observedAttributes(){return["inactive"]}get inactive(){return this.hasAttribute("inactive")}set inactive(e){e?this.setAttribute("inactive",""):this.removeAttribute("inactive")}get focused(){return this._focused}connectedCallback(){this.$start.addEventListener("focus",this.focusLastElement),this.$end.addEventListener("focus",this.focusFirstElement),this.addEventListener("focusin",this.onFocusIn),this.addEventListener("focusout",this.onFocusOut),this.render()}disconnectedCallback(){this.$start.removeEventListener("focus",this.focusLastElement),this.$end.removeEventListener("focus",this.focusFirstElement),this.removeEventListener("focusin",this.onFocusIn),this.removeEventListener("focusout",this.onFocusOut)}attributeChangedCallback(){this.render()}focusFirstElement(){this.trapFocus()}focusLastElement(){this.trapFocus(!0)}getFocusableElements(){return Pe(this,Le,Ne)}trapFocus(e){if(this.inactive)return;let t=this.getFocusableElements();t.length>0?(e?t[t.length-1].focus():t[0].focus(),this.$backup.setAttribute("tabindex","-1")):(this.$backup.setAttribute("tabindex","0"),this.$backup.focus())}onFocusIn(){this.updateFocused(!0)}onFocusOut(){this.updateFocused(!1)}updateFocused(e){!function(e,t,n){const i=Fe.get(n);null!=i&&window.clearTimeout(i),Fe.set(n,window.setTimeout((()=>{e(),Fe.delete(n)}),t))}((()=>{this.focused!==e&&(this._focused=e,this.render())}),0,this.debounceId)}render(){this.$start.setAttribute("tabindex",!this.focused||this.inactive?"-1":"0"),this.$end.setAttribute("tabindex",!this.focused||this.inactive?"-1":"0"),this.focused?this.setAttribute("focused",""):this.removeAttribute("focused")}}function Be(e){return Number(e.getAttribute("data-dialog-count"))||0}function qe(e,t){e.setAttribute("data-dialog-count",t.toString())}function Ue(e=document.activeElement){return null!=e&&null!=e.shadowRoot&&null!=e.shadowRoot.activeElement?Ue(e.shadowRoot.activeElement):e}window.customElements.define("focus-trap",He);const We=document.createElement("template");We.innerHTML='\n \n
\n \n \n \n';class Ze extends HTMLElement{constructor(){super(),this.$scrollContainer=document.documentElement,this.$previousActiveElement=null;const e=this.attachShadow({mode:"open"});e.appendChild(We.content.cloneNode(!0)),this.$dialog=e.querySelector("#dialog"),this.$backdrop=e.querySelector("#backdrop"),this.onBackdropClick=this.onBackdropClick.bind(this),this.onKeyDown=this.onKeyDown.bind(this),this.setAttribute("aria-modal","true"),this.$dialog.setAttribute("role","alertdialog")}static get observedAttributes(){return["open","center"]}get open(){return this.hasAttribute("open")}set open(e){e?this.setAttribute("open",""):this.removeAttribute("open")}get center(){return this.hasAttribute("center")}set center(e){e?this.setAttribute("center",""):this.removeAttribute("center")}connectedCallback(){this.$backdrop.addEventListener("click",this.onBackdropClick)}disconnectedCallback(){this.$backdrop.removeEventListener("click",this.onBackdropClick),this.open&&this.didClose()}show(){this.open=!0}close(e){this.result=e,this.open=!1}onBackdropClick(){this.assertClosing()&&this.close()}onKeyDown(e){if("Escape"===e.code)this.assertClosing()&&(this.close(),e.stopImmediatePropagation())}assertClosing(){return this.dispatchEvent(new CustomEvent("closing",{cancelable:!0}))}didOpen(){this.$previousActiveElement=Ue(document.activeElement),requestAnimationFrame((()=>{this.$dialog.focusFirstElement()})),this.tabIndex=0,this.$scrollContainer.style.overflow="hidden",this.addEventListener("keydown",this.onKeyDown,{capture:!0,passive:!0}),qe(this.$scrollContainer,Be(this.$scrollContainer)+1),this.dispatchEvent(new CustomEvent("open"))}didClose(){this.removeEventListener("keydown",this.onKeyDown,{capture:!0}),qe(this.$scrollContainer,Math.max(0,Be(this.$scrollContainer)-1)),Be(this.$scrollContainer)<=0&&(this.$scrollContainer.style.overflow=""),this.tabIndex=-1,null!=this.$previousActiveElement&&(this.$previousActiveElement.focus(),this.$previousActiveElement=null),this.dispatchEvent(new CustomEvent("close",{detail:this.result}))}attributeChangedCallback(e,t,n){if("open"===e)this.open?this.didOpen():this.didClose()}}var Qe,Ge;function Ye(e){return e.substr(0,e.indexOf("."))}customElements.define("web-dialog",Ze),function(e){e.language="language",e.system="system",e.comma_decimal="comma_decimal",e.decimal_comma="decimal_comma",e.space_comma="space_comma",e.none="none"}(Qe||(Qe={})),function(e){e.language="language",e.system="system",e.am_pm="12",e.twenty_four="24"}(Ge||(Ge={}));var Ke,Xe,Je=["closed","locked","off"],et=function(e,t,n,i){i=i||{},n=null==n?{}:n;var a=new Event(t,{bubbles:void 0===i.bubbles||i.bubbles,cancelable:Boolean(i.cancelable),composed:void 0===i.composed||i.composed});return a.detail=n,e.dispatchEvent(a),a},tt=function(e){et(window,"haptic",e)},nt=function(e,t){return function(e,t,n){void 0===n&&(n=!0);var i,a=Ye(t),r="group"===a?"homeassistant":a;switch(a){case"lock":i=n?"unlock":"lock";break;case"cover":i=n?"open_cover":"close_cover";break;default:i=n?"turn_on":"turn_off"}return e.callService(r,i,{entity_id:t})}(e,t,Je.includes(e.states[t].state))},it=function(e,t,n,i){if(i||(i={action:"more-info"}),!i.confirmation||i.confirmation.exemptions&&i.confirmation.exemptions.some((function(e){return e.user===t.user.id}))||(tt("warning"),confirm(i.confirmation.text||"Are you sure you want to "+i.action+"?")))switch(i.action){case"more-info":(n.entity||n.camera_image)&&et(e,"hass-more-info",{entityId:n.entity?n.entity:n.camera_image});break;case"navigate":i.navigation_path&&function(e,t,n){void 0===n&&(n=!1),n?history.replaceState(null,"",t):history.pushState(null,"",t),et(window,"location-changed",{replace:n})}(0,i.navigation_path);break;case"url":i.url_path&&window.open(i.url_path);break;case"toggle":n.entity&&(nt(t,n.entity),tt("success"));break;case"perform-action":if(!i.perform_action)return void tt("failure");var a=i.perform_action.split(".",2);t.callService(a[0],a[1],i.data,i.target),tt("success");break;case"call-service":if(!i.service)return void tt("failure");var r=i.service.split(".",2);t.callService(r[0],r[1],i.data,i.target),tt("success");break;case"fire-dom-event":et(e,"ll-custom",i)}};!function(e){e.assertEqual=e=>e,e.assertIs=function(e){},e.assertNever=function(e){throw new Error},e.arrayToEnum=e=>{const t={};for(const n of e)t[n]=n;return t},e.getValidEnumValues=t=>{const n=e.objectKeys(t).filter((e=>"number"!=typeof t[t[e]])),i={};for(const e of n)i[e]=t[e];return e.objectValues(i)},e.objectValues=t=>e.objectKeys(t).map((function(e){return t[e]})),e.objectKeys="function"==typeof Object.keys?e=>Object.keys(e):e=>{const t=[];for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},e.find=(e,t)=>{for(const n of e)if(t(n))return n},e.isInteger="function"==typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"==typeof e&&isFinite(e)&&Math.floor(e)===e,e.joinValues=function(e,t=" | "){return e.map((e=>"string"==typeof e?`'${e}'`:e)).join(t)},e.jsonStringifyReplacer=(e,t)=>"bigint"==typeof t?t.toString():t}(Ke||(Ke={})),function(e){e.mergeShapes=(e,t)=>({...e,...t})}(Xe||(Xe={}));const at=Ke.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),rt=e=>{switch(typeof e){case"undefined":return at.undefined;case"string":return at.string;case"number":return isNaN(e)?at.nan:at.number;case"boolean":return at.boolean;case"function":return at.function;case"bigint":return at.bigint;case"symbol":return at.symbol;case"object":return Array.isArray(e)?at.array:null===e?at.null:e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch?at.promise:"undefined"!=typeof Map&&e instanceof Map?at.map:"undefined"!=typeof Set&&e instanceof Set?at.set:"undefined"!=typeof Date&&e instanceof Date?at.date:at.object;default:return at.unknown}},st=Ke.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class ot extends Error{constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const t=e||function(e){return e.message},n={_errors:[]},i=e=>{for(const a of e.issues)if("invalid_union"===a.code)a.unionErrors.map(i);else if("invalid_return_type"===a.code)i(a.returnTypeError);else if("invalid_arguments"===a.code)i(a.argumentsError);else if(0===a.path.length)n._errors.push(t(a));else{let e=n,i=0;for(;ie.message)){const t={},n=[];for(const i of this.issues)i.path.length>0?(t[i.path[0]]=t[i.path[0]]||[],t[i.path[0]].push(e(i))):n.push(e(i));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}}ot.create=e=>new ot(e);const ct=(e,t)=>{let n;switch(e.code){case st.invalid_type:n=e.received===at.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case st.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,Ke.jsonStringifyReplacer)}`;break;case st.unrecognized_keys:n=`Unrecognized key(s) in object: ${Ke.joinValues(e.keys,", ")}`;break;case st.invalid_union:n="Invalid input";break;case st.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Ke.joinValues(e.options)}`;break;case st.invalid_enum_value:n=`Invalid enum value. Expected ${Ke.joinValues(e.options)}, received '${e.received}'`;break;case st.invalid_arguments:n="Invalid function arguments";break;case st.invalid_return_type:n="Invalid function return type";break;case st.invalid_date:n="Invalid date";break;case st.invalid_string:"object"==typeof e.validation?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,"number"==typeof e.validation.position&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:Ke.assertNever(e.validation):n="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case st.too_small:n="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:"date"===e.type?`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:"Invalid input";break;case st.too_big:n="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"bigint"===e.type?`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"date"===e.type?`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:"Invalid input";break;case st.custom:n="Invalid input";break;case st.invalid_intersection_types:n="Intersection results could not be merged";break;case st.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case st.not_finite:n="Number must be finite";break;default:n=t.defaultError,Ke.assertNever(e)}return{message:n}};let lt=ct;function dt(){return lt}const ut=e=>{const{data:t,path:n,errorMaps:i,issueData:a}=e,r=[...n,...a.path||[]],s={...a,path:r};if(void 0!==a.message)return{...a,path:r,message:a.message};let o="";const c=i.filter((e=>!!e)).slice().reverse();for(const e of c)o=e(s,{data:t,defaultError:o}).message;return{...a,path:r,message:o}};function ht(e,t){const n=dt(),i=ut({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===ct?void 0:ct].filter((e=>!!e))});e.common.issues.push(i)}class pt{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(e,t){const n=[];for(const i of t){if("aborted"===i.status)return gt;"dirty"===i.status&&e.dirty(),n.push(i.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,t){const n=[];for(const e of t){const t=await e.key,i=await e.value;n.push({key:t,value:i})}return pt.mergeObjectSync(e,n)}static mergeObjectSync(e,t){const n={};for(const i of t){const{key:t,value:a}=i;if("aborted"===t.status)return gt;if("aborted"===a.status)return gt;"dirty"===t.status&&e.dirty(),"dirty"===a.status&&e.dirty(),"__proto__"===t.value||void 0===a.value&&!i.alwaysSet||(n[t.value]=a.value)}return{status:e.value,value:n}}}const gt=Object.freeze({status:"aborted"}),mt=e=>({status:"dirty",value:e}),ft=e=>({status:"valid",value:e}),_t=e=>"aborted"===e.status,yt=e=>"dirty"===e.status,vt=e=>"valid"===e.status,bt=e=>"undefined"!=typeof Promise&&e instanceof Promise;function wt(e,t,n,i){if("a"===n&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?i:"a"===n?i.call(e):i?i.value:t.get(e)}function xt(e,t,n,i,a){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!a)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?a.call(e,n):a?a.value=n:t.set(e,n),n}var Ct,Mt,St;"function"==typeof SuppressedError&&SuppressedError,function(e){e.errToObj=e=>"string"==typeof e?{message:e}:e||{},e.toString=e=>"string"==typeof e?e:null==e?void 0:e.message}(Ct||(Ct={}));class kt{constructor(e,t,n,i){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=i}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const Et=(e,t)=>{if(vt(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new ot(e.common.issues);return this._error=t,this._error}}};function $t(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:i,description:a}=e;if(t&&(n||i))throw new Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');if(t)return{errorMap:t,description:a};return{errorMap:(t,a)=>{var r,s;const{message:o}=e;return"invalid_enum_value"===t.code?{message:null!=o?o:a.defaultError}:void 0===a.data?{message:null!==(r=null!=o?o:i)&&void 0!==r?r:a.defaultError}:"invalid_type"!==t.code?{message:a.defaultError}:{message:null!==(s=null!=o?o:n)&&void 0!==s?s:a.defaultError}},description:a}}class At{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return rt(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:rt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new pt,ctx:{common:e.parent.common,data:e.data,parsedType:rt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(bt(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){var n;const i={common:{issues:[],async:null!==(n=null==t?void 0:t.async)&&void 0!==n&&n,contextualErrorMap:null==t?void 0:t.errorMap},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:rt(e)},a=this._parseSync({data:e,path:i.path,parent:i});return Et(i,a)}async parseAsync(e,t){const n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){const n={common:{issues:[],contextualErrorMap:null==t?void 0:t.errorMap,async:!0},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:rt(e)},i=this._parse({data:e,path:n.path,parent:n}),a=await(bt(i)?i:Promise.resolve(i));return Et(n,a)}refine(e,t){const n=e=>"string"==typeof t||void 0===t?{message:t}:"function"==typeof t?t(e):t;return this._refinement(((t,i)=>{const a=e(t),r=()=>i.addIssue({code:st.custom,...n(t)});return"undefined"!=typeof Promise&&a instanceof Promise?a.then((e=>!!e||(r(),!1))):!!a||(r(),!1)}))}refinement(e,t){return this._refinement(((n,i)=>!!e(n)||(i.addIssue("function"==typeof t?t(n,i):t),!1)))}_refinement(e){return new Sn({schema:this,typeName:Pn.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return kn.create(this,this._def)}nullable(){return En.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return sn.create(this,this._def)}promise(){return Mn.create(this,this._def)}or(e){return ln.create([this,e],this._def)}and(e){return pn.create(this,e,this._def)}transform(e){return new Sn({...$t(this._def),schema:this,typeName:Pn.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t="function"==typeof e?e:()=>e;return new $n({...$t(this._def),innerType:this,defaultValue:t,typeName:Pn.ZodDefault})}brand(){return new Tn({typeName:Pn.ZodBranded,type:this,...$t(this._def)})}catch(e){const t="function"==typeof e?e:()=>e;return new An({...$t(this._def),innerType:this,catchValue:t,typeName:Pn.ZodCatch})}describe(e){return new(0,this.constructor)({...this._def,description:e})}pipe(e){return jn.create(this,e)}readonly(){return On.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const It=/^c[^\s-]{8,}$/i,zt=/^[0-9a-z]+$/,Tt=/^[0-9A-HJKMNP-TV-Z]{26}$/,jt=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Ot=/^[a-z0-9_-]{21}$/i,Dt=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Rt=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i;let Pt;const Lt=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Nt=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,Ft=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Vt="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Ht=new RegExp(`^${Vt}$`);function Bt(e){let t="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return e.precision?t=`${t}\\.\\d{${e.precision}}`:null==e.precision&&(t=`${t}(\\.\\d+)?`),t}function qt(e){let t=`${Vt}T${Bt(e)}`;const n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function Ut(e,t){return!("v4"!==t&&t||!Lt.test(e))||!("v6"!==t&&t||!Nt.test(e))}class Wt extends At{_parse(e){this._def.coerce&&(e.data=String(e.data));if(this._getType(e)!==at.string){const t=this._getOrReturnCtx(e);return ht(t,{code:st.invalid_type,expected:at.string,received:t.parsedType}),gt}const t=new pt;let n;for(const i of this._def.checks)if("min"===i.kind)e.data.lengthi.value&&(n=this._getOrReturnCtx(e,n),ht(n,{code:st.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),t.dirty());else if("length"===i.kind){const a=e.data.length>i.value,r=e.data.lengthe.test(t)),{validation:t,code:st.invalid_string,...Ct.errToObj(n)})}_addCheck(e){return new Wt({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...Ct.errToObj(e)})}url(e){return this._addCheck({kind:"url",...Ct.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...Ct.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...Ct.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...Ct.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...Ct.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...Ct.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...Ct.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...Ct.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...Ct.errToObj(e)})}datetime(e){var t,n;return"string"==typeof e?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision,offset:null!==(t=null==e?void 0:e.offset)&&void 0!==t&&t,local:null!==(n=null==e?void 0:e.local)&&void 0!==n&&n,...Ct.errToObj(null==e?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return"string"==typeof e?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision,...Ct.errToObj(null==e?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...Ct.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...Ct.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:null==t?void 0:t.position,...Ct.errToObj(null==t?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...Ct.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...Ct.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...Ct.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...Ct.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...Ct.errToObj(t)})}nonempty(e){return this.min(1,Ct.errToObj(e))}trim(){return new Wt({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Wt({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Wt({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((e=>"datetime"===e.kind))}get isDate(){return!!this._def.checks.find((e=>"date"===e.kind))}get isTime(){return!!this._def.checks.find((e=>"time"===e.kind))}get isDuration(){return!!this._def.checks.find((e=>"duration"===e.kind))}get isEmail(){return!!this._def.checks.find((e=>"email"===e.kind))}get isURL(){return!!this._def.checks.find((e=>"url"===e.kind))}get isEmoji(){return!!this._def.checks.find((e=>"emoji"===e.kind))}get isUUID(){return!!this._def.checks.find((e=>"uuid"===e.kind))}get isNANOID(){return!!this._def.checks.find((e=>"nanoid"===e.kind))}get isCUID(){return!!this._def.checks.find((e=>"cuid"===e.kind))}get isCUID2(){return!!this._def.checks.find((e=>"cuid2"===e.kind))}get isULID(){return!!this._def.checks.find((e=>"ulid"===e.kind))}get isIP(){return!!this._def.checks.find((e=>"ip"===e.kind))}get isBase64(){return!!this._def.checks.find((e=>"base64"===e.kind))}get minLength(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.valuei?n:i;return parseInt(e.toFixed(a).replace(".",""))%parseInt(t.toFixed(a).replace(".",""))/Math.pow(10,a)}Wt.create=e=>{var t;return new Wt({checks:[],typeName:Pn.ZodString,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t,...$t(e)})};class Qt extends At{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){this._def.coerce&&(e.data=Number(e.data));if(this._getType(e)!==at.number){const t=this._getOrReturnCtx(e);return ht(t,{code:st.invalid_type,expected:at.number,received:t.parsedType}),gt}let t;const n=new pt;for(const i of this._def.checks)if("int"===i.kind)Ke.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),ht(t,{code:st.invalid_type,expected:"integer",received:"float",message:i.message}),n.dirty());else if("min"===i.kind){(i.inclusive?e.datai.value:e.data>=i.value)&&(t=this._getOrReturnCtx(e,t),ht(t,{code:st.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),n.dirty())}else"multipleOf"===i.kind?0!==Zt(e.data,i.value)&&(t=this._getOrReturnCtx(e,t),ht(t,{code:st.not_multiple_of,multipleOf:i.value,message:i.message}),n.dirty()):"finite"===i.kind?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),ht(t,{code:st.not_finite,message:i.message}),n.dirty()):Ke.assertNever(i);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,Ct.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Ct.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Ct.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Ct.toString(t))}setLimit(e,t,n,i){return new Qt({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:Ct.toString(i)}]})}_addCheck(e){return new Qt({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:Ct.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:Ct.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:Ct.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:Ct.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:Ct.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Ct.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:Ct.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:Ct.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:Ct.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value"int"===e.kind||"multipleOf"===e.kind&&Ke.isInteger(e.value)))}get isFinite(){let e=null,t=null;for(const n of this._def.checks){if("finite"===n.kind||"int"===n.kind||"multipleOf"===n.kind)return!0;"min"===n.kind?(null===t||n.value>t)&&(t=n.value):"max"===n.kind&&(null===e||n.valuenew Qt({checks:[],typeName:Pn.ZodNumber,coerce:(null==e?void 0:e.coerce)||!1,...$t(e)});class Gt extends At{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){this._def.coerce&&(e.data=BigInt(e.data));if(this._getType(e)!==at.bigint){const t=this._getOrReturnCtx(e);return ht(t,{code:st.invalid_type,expected:at.bigint,received:t.parsedType}),gt}let t;const n=new pt;for(const i of this._def.checks)if("min"===i.kind){(i.inclusive?e.datai.value:e.data>=i.value)&&(t=this._getOrReturnCtx(e,t),ht(t,{code:st.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),n.dirty())}else"multipleOf"===i.kind?e.data%i.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),ht(t,{code:st.not_multiple_of,multipleOf:i.value,message:i.message}),n.dirty()):Ke.assertNever(i);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,Ct.toString(t))}gt(e,t){return this.setLimit("min",e,!1,Ct.toString(t))}lte(e,t){return this.setLimit("max",e,!0,Ct.toString(t))}lt(e,t){return this.setLimit("max",e,!1,Ct.toString(t))}setLimit(e,t,n,i){return new Gt({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:Ct.toString(i)}]})}_addCheck(e){return new Gt({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:Ct.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:Ct.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:Ct.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:Ct.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:Ct.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value{var t;return new Gt({checks:[],typeName:Pn.ZodBigInt,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t,...$t(e)})};class Yt extends At{_parse(e){this._def.coerce&&(e.data=Boolean(e.data));if(this._getType(e)!==at.boolean){const t=this._getOrReturnCtx(e);return ht(t,{code:st.invalid_type,expected:at.boolean,received:t.parsedType}),gt}return ft(e.data)}}Yt.create=e=>new Yt({typeName:Pn.ZodBoolean,coerce:(null==e?void 0:e.coerce)||!1,...$t(e)});class Kt extends At{_parse(e){this._def.coerce&&(e.data=new Date(e.data));if(this._getType(e)!==at.date){const t=this._getOrReturnCtx(e);return ht(t,{code:st.invalid_type,expected:at.date,received:t.parsedType}),gt}if(isNaN(e.data.getTime())){return ht(this._getOrReturnCtx(e),{code:st.invalid_date}),gt}const t=new pt;let n;for(const i of this._def.checks)"min"===i.kind?e.data.getTime()i.value&&(n=this._getOrReturnCtx(e,n),ht(n,{code:st.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),t.dirty()):Ke.assertNever(i);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(e){return new Kt({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:Ct.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:Ct.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return null!=e?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.valuenew Kt({checks:[],coerce:(null==e?void 0:e.coerce)||!1,typeName:Pn.ZodDate,...$t(e)});class Xt extends At{_parse(e){if(this._getType(e)!==at.symbol){const t=this._getOrReturnCtx(e);return ht(t,{code:st.invalid_type,expected:at.symbol,received:t.parsedType}),gt}return ft(e.data)}}Xt.create=e=>new Xt({typeName:Pn.ZodSymbol,...$t(e)});class Jt extends At{_parse(e){if(this._getType(e)!==at.undefined){const t=this._getOrReturnCtx(e);return ht(t,{code:st.invalid_type,expected:at.undefined,received:t.parsedType}),gt}return ft(e.data)}}Jt.create=e=>new Jt({typeName:Pn.ZodUndefined,...$t(e)});class en extends At{_parse(e){if(this._getType(e)!==at.null){const t=this._getOrReturnCtx(e);return ht(t,{code:st.invalid_type,expected:at.null,received:t.parsedType}),gt}return ft(e.data)}}en.create=e=>new en({typeName:Pn.ZodNull,...$t(e)});class tn extends At{constructor(){super(...arguments),this._any=!0}_parse(e){return ft(e.data)}}tn.create=e=>new tn({typeName:Pn.ZodAny,...$t(e)});class nn extends At{constructor(){super(...arguments),this._unknown=!0}_parse(e){return ft(e.data)}}nn.create=e=>new nn({typeName:Pn.ZodUnknown,...$t(e)});class an extends At{_parse(e){const t=this._getOrReturnCtx(e);return ht(t,{code:st.invalid_type,expected:at.never,received:t.parsedType}),gt}}an.create=e=>new an({typeName:Pn.ZodNever,...$t(e)});class rn extends At{_parse(e){if(this._getType(e)!==at.undefined){const t=this._getOrReturnCtx(e);return ht(t,{code:st.invalid_type,expected:at.void,received:t.parsedType}),gt}return ft(e.data)}}rn.create=e=>new rn({typeName:Pn.ZodVoid,...$t(e)});class sn extends At{_parse(e){const{ctx:t,status:n}=this._processInputParams(e),i=this._def;if(t.parsedType!==at.array)return ht(t,{code:st.invalid_type,expected:at.array,received:t.parsedType}),gt;if(null!==i.exactLength){const e=t.data.length>i.exactLength.value,a=t.data.lengthi.maxLength.value&&(ht(t,{code:st.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map(((e,n)=>i.type._parseAsync(new kt(t,e,t.path,n))))).then((e=>pt.mergeArray(n,e)));const a=[...t.data].map(((e,n)=>i.type._parseSync(new kt(t,e,t.path,n))));return pt.mergeArray(n,a)}get element(){return this._def.type}min(e,t){return new sn({...this._def,minLength:{value:e,message:Ct.toString(t)}})}max(e,t){return new sn({...this._def,maxLength:{value:e,message:Ct.toString(t)}})}length(e,t){return new sn({...this._def,exactLength:{value:e,message:Ct.toString(t)}})}nonempty(e){return this.min(1,e)}}function on(e){if(e instanceof cn){const t={};for(const n in e.shape){const i=e.shape[n];t[n]=kn.create(on(i))}return new cn({...e._def,shape:()=>t})}return e instanceof sn?new sn({...e._def,type:on(e.element)}):e instanceof kn?kn.create(on(e.unwrap())):e instanceof En?En.create(on(e.unwrap())):e instanceof gn?gn.create(e.items.map((e=>on(e)))):e}sn.create=(e,t)=>new sn({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Pn.ZodArray,...$t(t)});class cn extends At{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;const e=this._def.shape(),t=Ke.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==at.object){const t=this._getOrReturnCtx(e);return ht(t,{code:st.invalid_type,expected:at.object,received:t.parsedType}),gt}const{status:t,ctx:n}=this._processInputParams(e),{shape:i,keys:a}=this._getCached(),r=[];if(!(this._def.catchall instanceof an&&"strip"===this._def.unknownKeys))for(const e in n.data)a.includes(e)||r.push(e);const s=[];for(const e of a){const t=i[e],a=n.data[e];s.push({key:{status:"valid",value:e},value:t._parse(new kt(n,a,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof an){const e=this._def.unknownKeys;if("passthrough"===e)for(const e of r)s.push({key:{status:"valid",value:e},value:{status:"valid",value:n.data[e]}});else if("strict"===e)r.length>0&&(ht(n,{code:st.unrecognized_keys,keys:r}),t.dirty());else if("strip"!==e)throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const e=this._def.catchall;for(const t of r){const i=n.data[t];s.push({key:{status:"valid",value:t},value:e._parse(new kt(n,i,n.path,t)),alwaysSet:t in n.data})}}return n.common.async?Promise.resolve().then((async()=>{const e=[];for(const t of s){const n=await t.key,i=await t.value;e.push({key:n,value:i,alwaysSet:t.alwaysSet})}return e})).then((e=>pt.mergeObjectSync(t,e))):pt.mergeObjectSync(t,s)}get shape(){return this._def.shape()}strict(e){return Ct.errToObj,new cn({...this._def,unknownKeys:"strict",...void 0!==e?{errorMap:(t,n)=>{var i,a,r,s;const o=null!==(r=null===(a=(i=this._def).errorMap)||void 0===a?void 0:a.call(i,t,n).message)&&void 0!==r?r:n.defaultError;return"unrecognized_keys"===t.code?{message:null!==(s=Ct.errToObj(e).message)&&void 0!==s?s:o}:{message:o}}}:{}})}strip(){return new cn({...this._def,unknownKeys:"strip"})}passthrough(){return new cn({...this._def,unknownKeys:"passthrough"})}extend(e){return new cn({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new cn({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:Pn.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new cn({...this._def,catchall:e})}pick(e){const t={};return Ke.objectKeys(e).forEach((n=>{e[n]&&this.shape[n]&&(t[n]=this.shape[n])})),new cn({...this._def,shape:()=>t})}omit(e){const t={};return Ke.objectKeys(this.shape).forEach((n=>{e[n]||(t[n]=this.shape[n])})),new cn({...this._def,shape:()=>t})}deepPartial(){return on(this)}partial(e){const t={};return Ke.objectKeys(this.shape).forEach((n=>{const i=this.shape[n];e&&!e[n]?t[n]=i:t[n]=i.optional()})),new cn({...this._def,shape:()=>t})}required(e){const t={};return Ke.objectKeys(this.shape).forEach((n=>{if(e&&!e[n])t[n]=this.shape[n];else{let e=this.shape[n];for(;e instanceof kn;)e=e._def.innerType;t[n]=e}})),new cn({...this._def,shape:()=>t})}keyof(){return wn(Ke.objectKeys(this.shape))}}cn.create=(e,t)=>new cn({shape:()=>e,unknownKeys:"strip",catchall:an.create(),typeName:Pn.ZodObject,...$t(t)}),cn.strictCreate=(e,t)=>new cn({shape:()=>e,unknownKeys:"strict",catchall:an.create(),typeName:Pn.ZodObject,...$t(t)}),cn.lazycreate=(e,t)=>new cn({shape:e,unknownKeys:"strip",catchall:an.create(),typeName:Pn.ZodObject,...$t(t)});class ln extends At{_parse(e){const{ctx:t}=this._processInputParams(e),n=this._def.options;if(t.common.async)return Promise.all(n.map((async e=>{const n={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}}))).then((function(e){for(const t of e)if("valid"===t.result.status)return t.result;for(const n of e)if("dirty"===n.result.status)return t.common.issues.push(...n.ctx.common.issues),n.result;const n=e.map((e=>new ot(e.ctx.common.issues)));return ht(t,{code:st.invalid_union,unionErrors:n}),gt}));{let e;const i=[];for(const a of n){const n={...t,common:{...t.common,issues:[]},parent:null},r=a._parseSync({data:t.data,path:t.path,parent:n});if("valid"===r.status)return r;"dirty"!==r.status||e||(e={result:r,ctx:n}),n.common.issues.length&&i.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;const a=i.map((e=>new ot(e)));return ht(t,{code:st.invalid_union,unionErrors:a}),gt}}get options(){return this._def.options}}ln.create=(e,t)=>new ln({options:e,typeName:Pn.ZodUnion,...$t(t)});const dn=e=>e instanceof vn?dn(e.schema):e instanceof Sn?dn(e.innerType()):e instanceof bn?[e.value]:e instanceof xn?e.options:e instanceof Cn?Ke.objectValues(e.enum):e instanceof $n?dn(e._def.innerType):e instanceof Jt?[void 0]:e instanceof en?[null]:e instanceof kn?[void 0,...dn(e.unwrap())]:e instanceof En?[null,...dn(e.unwrap())]:e instanceof Tn||e instanceof On?dn(e.unwrap()):e instanceof An?dn(e._def.innerType):[];class un extends At{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==at.object)return ht(t,{code:st.invalid_type,expected:at.object,received:t.parsedType}),gt;const n=this.discriminator,i=t.data[n],a=this.optionsMap.get(i);return a?t.common.async?a._parseAsync({data:t.data,path:t.path,parent:t}):a._parseSync({data:t.data,path:t.path,parent:t}):(ht(t,{code:st.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),gt)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,n){const i=new Map;for(const n of t){const t=dn(n.shape[e]);if(!t.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const a of t){if(i.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);i.set(a,n)}}return new un({typeName:Pn.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:i,...$t(n)})}}function hn(e,t){const n=rt(e),i=rt(t);if(e===t)return{valid:!0,data:e};if(n===at.object&&i===at.object){const n=Ke.objectKeys(t),i=Ke.objectKeys(e).filter((e=>-1!==n.indexOf(e))),a={...e,...t};for(const n of i){const i=hn(e[n],t[n]);if(!i.valid)return{valid:!1};a[n]=i.data}return{valid:!0,data:a}}if(n===at.array&&i===at.array){if(e.length!==t.length)return{valid:!1};const n=[];for(let i=0;i{if(_t(e)||_t(i))return gt;const a=hn(e.value,i.value);return a.valid?((yt(e)||yt(i))&&t.dirty(),{status:t.value,value:a.data}):(ht(n,{code:st.invalid_intersection_types}),gt)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then((([e,t])=>i(e,t))):i(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}}pn.create=(e,t,n)=>new pn({left:e,right:t,typeName:Pn.ZodIntersection,...$t(n)});class gn extends At{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==at.array)return ht(n,{code:st.invalid_type,expected:at.array,received:n.parsedType}),gt;if(n.data.lengththis._def.items.length&&(ht(n,{code:st.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const i=[...n.data].map(((e,t)=>{const i=this._def.items[t]||this._def.rest;return i?i._parse(new kt(n,e,n.path,t)):null})).filter((e=>!!e));return n.common.async?Promise.all(i).then((e=>pt.mergeArray(t,e))):pt.mergeArray(t,i)}get items(){return this._def.items}rest(e){return new gn({...this._def,rest:e})}}gn.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new gn({items:e,typeName:Pn.ZodTuple,rest:null,...$t(t)})};class mn extends At{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==at.object)return ht(n,{code:st.invalid_type,expected:at.object,received:n.parsedType}),gt;const i=[],a=this._def.keyType,r=this._def.valueType;for(const e in n.data)i.push({key:a._parse(new kt(n,e,n.path,e)),value:r._parse(new kt(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?pt.mergeObjectAsync(t,i):pt.mergeObjectSync(t,i)}get element(){return this._def.valueType}static create(e,t,n){return new mn(t instanceof At?{keyType:e,valueType:t,typeName:Pn.ZodRecord,...$t(n)}:{keyType:Wt.create(),valueType:e,typeName:Pn.ZodRecord,...$t(t)})}}class fn extends At{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==at.map)return ht(n,{code:st.invalid_type,expected:at.map,received:n.parsedType}),gt;const i=this._def.keyType,a=this._def.valueType,r=[...n.data.entries()].map((([e,t],r)=>({key:i._parse(new kt(n,e,n.path,[r,"key"])),value:a._parse(new kt(n,t,n.path,[r,"value"]))})));if(n.common.async){const e=new Map;return Promise.resolve().then((async()=>{for(const n of r){const i=await n.key,a=await n.value;if("aborted"===i.status||"aborted"===a.status)return gt;"dirty"!==i.status&&"dirty"!==a.status||t.dirty(),e.set(i.value,a.value)}return{status:t.value,value:e}}))}{const e=new Map;for(const n of r){const i=n.key,a=n.value;if("aborted"===i.status||"aborted"===a.status)return gt;"dirty"!==i.status&&"dirty"!==a.status||t.dirty(),e.set(i.value,a.value)}return{status:t.value,value:e}}}}fn.create=(e,t,n)=>new fn({valueType:t,keyType:e,typeName:Pn.ZodMap,...$t(n)});class _n extends At{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==at.set)return ht(n,{code:st.invalid_type,expected:at.set,received:n.parsedType}),gt;const i=this._def;null!==i.minSize&&n.data.sizei.maxSize.value&&(ht(n,{code:st.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),t.dirty());const a=this._def.valueType;function r(e){const n=new Set;for(const i of e){if("aborted"===i.status)return gt;"dirty"===i.status&&t.dirty(),n.add(i.value)}return{status:t.value,value:n}}const s=[...n.data.values()].map(((e,t)=>a._parse(new kt(n,e,n.path,t))));return n.common.async?Promise.all(s).then((e=>r(e))):r(s)}min(e,t){return new _n({...this._def,minSize:{value:e,message:Ct.toString(t)}})}max(e,t){return new _n({...this._def,maxSize:{value:e,message:Ct.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}_n.create=(e,t)=>new _n({valueType:e,minSize:null,maxSize:null,typeName:Pn.ZodSet,...$t(t)});class yn extends At{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==at.function)return ht(t,{code:st.invalid_type,expected:at.function,received:t.parsedType}),gt;function n(e,n){return ut({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,dt(),ct].filter((e=>!!e)),issueData:{code:st.invalid_arguments,argumentsError:n}})}function i(e,n){return ut({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,dt(),ct].filter((e=>!!e)),issueData:{code:st.invalid_return_type,returnTypeError:n}})}const a={errorMap:t.common.contextualErrorMap},r=t.data;if(this._def.returns instanceof Mn){const e=this;return ft((async function(...t){const s=new ot([]),o=await e._def.args.parseAsync(t,a).catch((e=>{throw s.addIssue(n(t,e)),s})),c=await Reflect.apply(r,this,o),l=await e._def.returns._def.type.parseAsync(c,a).catch((e=>{throw s.addIssue(i(c,e)),s}));return l}))}{const e=this;return ft((function(...t){const s=e._def.args.safeParse(t,a);if(!s.success)throw new ot([n(t,s.error)]);const o=Reflect.apply(r,this,s.data),c=e._def.returns.safeParse(o,a);if(!c.success)throw new ot([i(o,c.error)]);return c.data}))}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new yn({...this._def,args:gn.create(e).rest(nn.create())})}returns(e){return new yn({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,n){return new yn({args:e||gn.create([]).rest(nn.create()),returns:t||nn.create(),typeName:Pn.ZodFunction,...$t(n)})}}class vn extends At{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}vn.create=(e,t)=>new vn({getter:e,typeName:Pn.ZodLazy,...$t(t)});class bn extends At{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return ht(t,{received:t.data,code:st.invalid_literal,expected:this._def.value}),gt}return{status:"valid",value:e.data}}get value(){return this._def.value}}function wn(e,t){return new xn({values:e,typeName:Pn.ZodEnum,...$t(t)})}bn.create=(e,t)=>new bn({value:e,typeName:Pn.ZodLiteral,...$t(t)});class xn extends At{constructor(){super(...arguments),Mt.set(this,void 0)}_parse(e){if("string"!=typeof e.data){const t=this._getOrReturnCtx(e),n=this._def.values;return ht(t,{expected:Ke.joinValues(n),received:t.parsedType,code:st.invalid_type}),gt}if(wt(this,Mt,"f")||xt(this,Mt,new Set(this._def.values),"f"),!wt(this,Mt,"f").has(e.data)){const t=this._getOrReturnCtx(e),n=this._def.values;return ht(t,{received:t.data,code:st.invalid_enum_value,options:n}),gt}return ft(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return xn.create(e,{...this._def,...t})}exclude(e,t=this._def){return xn.create(this.options.filter((t=>!e.includes(t))),{...this._def,...t})}}Mt=new WeakMap,xn.create=wn;class Cn extends At{constructor(){super(...arguments),St.set(this,void 0)}_parse(e){const t=Ke.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==at.string&&n.parsedType!==at.number){const e=Ke.objectValues(t);return ht(n,{expected:Ke.joinValues(e),received:n.parsedType,code:st.invalid_type}),gt}if(wt(this,St,"f")||xt(this,St,new Set(Ke.getValidEnumValues(this._def.values)),"f"),!wt(this,St,"f").has(e.data)){const e=Ke.objectValues(t);return ht(n,{received:n.data,code:st.invalid_enum_value,options:e}),gt}return ft(e.data)}get enum(){return this._def.values}}St=new WeakMap,Cn.create=(e,t)=>new Cn({values:e,typeName:Pn.ZodNativeEnum,...$t(t)});class Mn extends At{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==at.promise&&!1===t.common.async)return ht(t,{code:st.invalid_type,expected:at.promise,received:t.parsedType}),gt;const n=t.parsedType===at.promise?t.data:Promise.resolve(t.data);return ft(n.then((e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap}))))}}Mn.create=(e,t)=>new Mn({type:e,typeName:Pn.ZodPromise,...$t(t)});class Sn extends At{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Pn.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:n}=this._processInputParams(e),i=this._def.effect||null,a={addIssue:e=>{ht(n,e),e.fatal?t.abort():t.dirty()},get path(){return n.path}};if(a.addIssue=a.addIssue.bind(a),"preprocess"===i.type){const e=i.transform(n.data,a);if(n.common.async)return Promise.resolve(e).then((async e=>{if("aborted"===t.value)return gt;const i=await this._def.schema._parseAsync({data:e,path:n.path,parent:n});return"aborted"===i.status?gt:"dirty"===i.status||"dirty"===t.value?mt(i.value):i}));{if("aborted"===t.value)return gt;const i=this._def.schema._parseSync({data:e,path:n.path,parent:n});return"aborted"===i.status?gt:"dirty"===i.status||"dirty"===t.value?mt(i.value):i}}if("refinement"===i.type){const e=e=>{const t=i.refinement(e,a);if(n.common.async)return Promise.resolve(t);if(t instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1===n.common.async){const i=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return"aborted"===i.status?gt:("dirty"===i.status&&t.dirty(),e(i.value),{status:t.value,value:i.value})}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then((n=>"aborted"===n.status?gt:("dirty"===n.status&&t.dirty(),e(n.value).then((()=>({status:t.value,value:n.value}))))))}if("transform"===i.type){if(!1===n.common.async){const e=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!vt(e))return e;const r=i.transform(e.value,a);if(r instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:r}}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then((e=>vt(e)?Promise.resolve(i.transform(e.value,a)).then((e=>({status:t.value,value:e}))):e))}Ke.assertNever(i)}}Sn.create=(e,t,n)=>new Sn({schema:e,typeName:Pn.ZodEffects,effect:t,...$t(n)}),Sn.createWithPreprocess=(e,t,n)=>new Sn({schema:t,effect:{type:"preprocess",transform:e},typeName:Pn.ZodEffects,...$t(n)});class kn extends At{_parse(e){return this._getType(e)===at.undefined?ft(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}kn.create=(e,t)=>new kn({innerType:e,typeName:Pn.ZodOptional,...$t(t)});class En extends At{_parse(e){return this._getType(e)===at.null?ft(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}En.create=(e,t)=>new En({innerType:e,typeName:Pn.ZodNullable,...$t(t)});class $n extends At{_parse(e){const{ctx:t}=this._processInputParams(e);let n=t.data;return t.parsedType===at.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}$n.create=(e,t)=>new $n({innerType:e,typeName:Pn.ZodDefault,defaultValue:"function"==typeof t.default?t.default:()=>t.default,...$t(t)});class An extends At{_parse(e){const{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},i=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return bt(i)?i.then((e=>({status:"valid",value:"valid"===e.status?e.value:this._def.catchValue({get error(){return new ot(n.common.issues)},input:n.data})}))):{status:"valid",value:"valid"===i.status?i.value:this._def.catchValue({get error(){return new ot(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}An.create=(e,t)=>new An({innerType:e,typeName:Pn.ZodCatch,catchValue:"function"==typeof t.catch?t.catch:()=>t.catch,...$t(t)});class In extends At{_parse(e){if(this._getType(e)!==at.nan){const t=this._getOrReturnCtx(e);return ht(t,{code:st.invalid_type,expected:at.nan,received:t.parsedType}),gt}return{status:"valid",value:e.data}}}In.create=e=>new In({typeName:Pn.ZodNaN,...$t(e)});const zn=Symbol("zod_brand");class Tn extends At{_parse(e){const{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}}class jn extends At{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.common.async){return(async()=>{const e=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return"aborted"===e.status?gt:"dirty"===e.status?(t.dirty(),mt(e.value)):this._def.out._parseAsync({data:e.value,path:n.path,parent:n})})()}{const e=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return"aborted"===e.status?gt:"dirty"===e.status?(t.dirty(),{status:"dirty",value:e.value}):this._def.out._parseSync({data:e.value,path:n.path,parent:n})}}static create(e,t){return new jn({in:e,out:t,typeName:Pn.ZodPipeline})}}class On extends At{_parse(e){const t=this._def.innerType._parse(e),n=e=>(vt(e)&&(e.value=Object.freeze(e.value)),e);return bt(t)?t.then((e=>n(e))):n(t)}unwrap(){return this._def.innerType}}function Dn(e,t={},n){return e?tn.create().superRefine(((i,a)=>{var r,s;if(!e(i)){const e="function"==typeof t?t(i):"string"==typeof t?{message:t}:t,o=null===(s=null!==(r=e.fatal)&&void 0!==r?r:n)||void 0===s||s,c="string"==typeof e?{message:e}:e;a.addIssue({code:"custom",...c,fatal:o})}})):tn.create()}On.create=(e,t)=>new On({innerType:e,typeName:Pn.ZodReadonly,...$t(t)});const Rn={object:cn.lazycreate};var Pn;!function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"}(Pn||(Pn={}));const Ln=Wt.create,Nn=Qt.create,Fn=In.create,Vn=Gt.create,Hn=Yt.create,Bn=Kt.create,qn=Xt.create,Un=Jt.create,Wn=en.create,Zn=tn.create,Qn=nn.create,Gn=an.create,Yn=rn.create,Kn=sn.create,Xn=cn.create,Jn=cn.strictCreate,ei=ln.create,ti=un.create,ni=pn.create,ii=gn.create,ai=mn.create,ri=fn.create,si=_n.create,oi=yn.create,ci=vn.create,li=bn.create,di=xn.create,ui=Cn.create,hi=Mn.create,pi=Sn.create,gi=kn.create,mi=En.create,fi=Sn.createWithPreprocess,_i=jn.create,yi={string:e=>Wt.create({...e,coerce:!0}),number:e=>Qt.create({...e,coerce:!0}),boolean:e=>Yt.create({...e,coerce:!0}),bigint:e=>Gt.create({...e,coerce:!0}),date:e=>Kt.create({...e,coerce:!0})},vi=gt;var bi=Object.freeze({__proto__:null,defaultErrorMap:ct,setErrorMap:function(e){lt=e},getErrorMap:dt,makeIssue:ut,EMPTY_PATH:[],addIssueToContext:ht,ParseStatus:pt,INVALID:gt,DIRTY:mt,OK:ft,isAborted:_t,isDirty:yt,isValid:vt,isAsync:bt,get util(){return Ke},get objectUtil(){return Xe},ZodParsedType:at,getParsedType:rt,ZodType:At,datetimeRegex:qt,ZodString:Wt,ZodNumber:Qt,ZodBigInt:Gt,ZodBoolean:Yt,ZodDate:Kt,ZodSymbol:Xt,ZodUndefined:Jt,ZodNull:en,ZodAny:tn,ZodUnknown:nn,ZodNever:an,ZodVoid:rn,ZodArray:sn,ZodObject:cn,ZodUnion:ln,ZodDiscriminatedUnion:un,ZodIntersection:pn,ZodTuple:gn,ZodRecord:mn,ZodMap:fn,ZodSet:_n,ZodFunction:yn,ZodLazy:vn,ZodLiteral:bn,ZodEnum:xn,ZodNativeEnum:Cn,ZodPromise:Mn,ZodEffects:Sn,ZodTransformer:Sn,ZodOptional:kn,ZodNullable:En,ZodDefault:$n,ZodCatch:An,ZodNaN:In,BRAND:zn,ZodBranded:Tn,ZodPipeline:jn,ZodReadonly:On,custom:Dn,Schema:At,ZodSchema:At,late:Rn,get ZodFirstPartyTypeKind(){return Pn},coerce:yi,any:Zn,array:Kn,bigint:Vn,boolean:Hn,date:Bn,discriminatedUnion:ti,effect:pi,enum:di,function:oi,instanceof:(e,t={message:`Input not instance of ${e.name}`})=>Dn((t=>t instanceof e),t),intersection:ni,lazy:ci,literal:li,map:ri,nan:Fn,nativeEnum:ui,never:Gn,null:Wn,nullable:mi,number:Nn,object:Xn,oboolean:()=>Hn().optional(),onumber:()=>Nn().optional(),optional:gi,ostring:()=>Ln().optional(),pipeline:_i,preprocess:fi,promise:hi,record:ai,set:si,strictObject:Jn,string:Ln,symbol:qn,transformer:pi,tuple:ii,undefined:Un,union:ei,unknown:Qn,void:Yn,NEVER:vi,ZodIssueCode:st,quotelessJson:e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),ZodError:ot});const wi="cameras",xi=`${wi}.#.camera_entity`,Ci=`${wi}.#.frigate.camera_name`,Mi=`${wi}.#.capabilities.disable`,Si=`${wi}.#.capabilities.disable_except`,ki=`${wi}.#.cast.method`,Ei=`${wi}.#.cast.dashboard.dashboard_path`,$i=`${wi}.#.cast.dashboard.view_path`,Ai=`${wi}.#.dimensions.aspect_ratio`,Ii=`${wi}.#.frigate.client_id`,zi=`${wi}.#.frigate.labels`,Ti=`${wi}.#.frigate.url`,ji=`${wi}.#.frigate.zones`,Oi=`${wi}.#.go2rtc.modes`,Di=`${wi}.#.go2rtc.stream`,Ri=`${wi}.#.icon`,Pi=`${wi}.#.id`,Li=`${wi}.#.image.entity`,Ni=`${wi}.#.image.entity_parameters`,Fi=`${wi}.#.image.mode`,Vi=`${wi}.#.image.refresh_seconds`,Hi=`${wi}.#.image.url`,Bi=`${wi}.#.motioneye.images.directory_pattern`,qi=`${wi}.#.motioneye.images.file_pattern`,Ui=`${wi}.#.motioneye.movies.directory_pattern`,Wi=`${wi}.#.motioneye.movies.file_pattern`,Zi=`${wi}.#.motioneye.url`,Qi=`${wi}.#.title`,Gi=`${wi}.#.webrtc_card.entity`,Yi=`${wi}.#.webrtc_card.url`,Ki=`${wi}.#.live_provider`,Xi=`${wi}.#.dependencies.cameras`,Ji=`${wi}.#.dependencies.all_cameras`,ea=`${wi}.#.dimensions.layout.fit`,ta=`${wi}.#.dimensions.layout.pan.x`,na=`${wi}.#.dimensions.layout.pan.y`,ia=`${wi}.#.dimensions.layout.position.x`,aa=`${wi}.#.dimensions.layout.position.y`,ra=`${wi}.#.dimensions.layout.view_box.top`,sa=`${wi}.#.dimensions.layout.view_box.bottom`,oa=`${wi}.#.dimensions.layout.view_box.left`,ca=`${wi}.#.dimensions.layout.view_box.right`,la=`${wi}.#.dimensions.layout.zoom`,da=`${wi}.#.proxy.dynamic`,ua=`${wi}.#.proxy.media`,ha=`${wi}.#.proxy.ssl_ciphers`,pa=`${wi}.#.proxy.ssl_verification`,ga=`${wi}.#.reolink.media_resolution`,ma=`${wi}.#.reolink.url`,fa=`${wi}.#.triggers.motion`,_a=`${wi}.#.triggers.occupancy`,ya=`${wi}.#.triggers.entities`,va=`${wi}.#.triggers.events`,ba="cameras_global",wa=`${ba}.image`,xa=`${ba}.live_provider`,Ca=`${ba}.jsmpeg`,Ma=`${ba}.webrtc_card`,Sa=`${ba}.triggers.occupancy`,ka=`${ba}.image.refresh_seconds`,Ea=`${ba}.dimensions.layout`,$a=`${ba}.ptz`,Aa="elements",Ia="view",za=`${Ia}.camera_select`,Ta=`${Ia}.dark_mode`,ja=`${Ia}.default`,Oa=`${Ia}.interaction_seconds`,Da=`${Ia}.keyboard_shortcuts`,Ra=`${Ia}.keyboard_shortcuts.enabled`,Pa=`${Da}.ptz_left`,La=`${Da}.ptz_right`,Na=`${Da}.ptz_up`,Fa=`${Da}.ptz_down`,Va=`${Da}.ptz_zoom_in`,Ha=`${Da}.ptz_zoom_out`,Ba=`${Da}.ptz_home`,qa=`${Ia}.default_cycle_camera`,Ua=`${Ia}.default_reset`,Wa=`${Ua}.interaction_mode`,Za=`${Ua}.every_seconds`,Qa=`${Ua}.entities`,Ga=`${Ua}.after_interaction`,Ya=`${Ia}.triggers`,Ka=`${Ya}.show_trigger_status`,Xa=`${Ya}.filter_selected_camera`,Ja=`${Ya}.untrigger_seconds`,er=`${Ya}.actions`,tr=`${er}.trigger`,nr=`${er}.untrigger`,ir=`${er}.interaction_mode`,ar="media_gallery",rr=`${ar}.controls.filter.mode`,sr=`${ar}.controls.thumbnails.show_details`,or=`${ar}.controls.thumbnails.show_download_control`,cr=`${ar}.controls.thumbnails.show_favorite_control`,lr=`${ar}.controls.thumbnails.show_timeline_control`,dr=`${ar}.controls.thumbnails.size`,ur="media_viewer",hr=`${ur}.auto_play`,pr=`${ur}.auto_pause`,gr=`${ur}.auto_mute`,mr=`${ur}.auto_unmute`,fr=`${ur}.display.mode`,_r=`${ur}.display.grid_columns`,yr=`${ur}.display.grid_max_columns`,vr=`${ur}.display.grid_selected_width_factor`,br=`${ur}.draggable`,wr=`${ur}.lazy_load`,xr=`${ur}.snapshot_click_plays_clip`,Cr=`${ur}.transition_effect`,Mr=`${ur}.controls.builtin`,Sr=`${ur}.controls.next_previous.style`,kr=`${ur}.controls.next_previous.size`,Er=`${ur}.controls.thumbnails.mode`,$r=`${ur}.controls.thumbnails.show_details`,Ar=`${ur}.controls.thumbnails.show_download_control`,Ir=`${ur}.controls.thumbnails.show_favorite_control`,zr=`${ur}.controls.thumbnails.show_timeline_control`,Tr=`${ur}.controls.thumbnails.size`,jr=`${ur}.controls.timeline.clustering_threshold`,Or=`${ur}.controls.timeline.events_media_type`,Dr=`${ur}.controls.timeline.mode`,Rr=`${ur}.controls.timeline.pan_mode`,Pr=`${ur}.controls.timeline.show_recordings`,Lr=`${ur}.controls.timeline.style`,Nr=`${ur}.controls.timeline.window_seconds`,Fr=`${ur}.zoomable`,Vr="live",Hr=`${Vr}.auto_play`,Br=`${Vr}.auto_pause`,qr=`${Vr}.auto_mute`,Ur=`${Vr}.auto_unmute`,Wr=`${Vr}.controls.builtin`,Zr=`${Vr}.controls.next_previous.style`,Qr=`${Vr}.controls.next_previous.size`,Gr=`${Vr}.controls.ptz.hide_home`,Yr=`${Vr}.controls.ptz.hide_pan_tilt`,Kr=`${Vr}.controls.ptz.hide_zoom`,Xr=`${Vr}.controls.ptz.mode`,Jr=`${Vr}.controls.ptz.orientation`,es=`${Vr}.controls.ptz.position`,ts=`${Vr}.controls.thumbnails.media_type`,ns=`${Vr}.controls.thumbnails.events_media_type`,is=`${Vr}.controls.thumbnails.mode`,as=`${Vr}.controls.thumbnails.size`,rs=`${Vr}.controls.thumbnails.show_details`,ss=`${Vr}.controls.thumbnails.show_download_control`,os=`${Vr}.controls.thumbnails.show_favorite_control`,cs=`${Vr}.controls.thumbnails.show_timeline_control`,ls=`${Vr}.controls.timeline.clustering_threshold`,ds=`${Vr}.controls.timeline.events_media_type`,us=`${Vr}.controls.timeline.mode`,hs=`${Vr}.controls.timeline.pan_mode`,ps=`${Vr}.controls.timeline.show_recordings`,gs=`${Vr}.controls.timeline.style`,ms=`${Vr}.controls.timeline.window_seconds`,fs=`${Vr}.display.mode`,_s=`${Vr}.display.grid_columns`,ys=`${Vr}.display.grid_max_columns`,vs=`${Vr}.display.grid_selected_width_factor`,bs=`${Vr}.draggable`,ws=`${Vr}.lazy_load`,xs=`${Vr}.lazy_unload`,Cs=`${Vr}.preload`,Ms=`${Vr}.transition_effect`,Ss=`${Vr}.show_image_during_load`,ks=`${Vr}.microphone.disconnect_seconds`,Es=`${Vr}.microphone.mute_after_microphone_mute_seconds`,$s=`${Vr}.microphone.always_connected`,As=`${Vr}.zoomable`,Is="image",zs=`${Is}.entity`,Ts=`${Is}.entity_parameters`,js=`${Is}.mode`,Os=`${Is}.refresh_seconds`,Ds=`${Is}.url`,Rs="timeline",Ps=`${Rs}.window_seconds`,Ls=`${Rs}.clustering_threshold`,Ns=`${Rs}.events_media_type`,Fs=`${Rs}.show_recordings`,Vs=`${Rs}.style`,Hs=`${Rs}.controls.thumbnails.mode`,Bs=`${Rs}.controls.thumbnails.size`,qs=`${Rs}.controls.thumbnails.show_details`,Us=`${Rs}.controls.thumbnails.show_download_control`,Ws=`${Rs}.controls.thumbnails.show_favorite_control`,Zs=`${Rs}.controls.thumbnails.show_timeline_control`,Qs="menu",Gs=`${Qs}.alignment`,Ys=`${Qs}.position`,Ks=`${Qs}.style`,Xs=`${Qs}.button_size`,Js=`${Qs}.buttons`,eo=`${Js}.frigate`,to=`${Js}.camera_ui`,no=`${Js}.fullscreen`,io=`${Js}.play`,ao=`${Js}.mute`,ro=`${Js}.media_player`,so=`${Js}.timeline`,oo="status_bar",co=`${oo}.position`,lo=`${oo}.style`,uo=`${oo}.popup_seconds`,ho=`${oo}.height`,po=`${oo}.items`,go="dimensions",mo=`${go}.aspect_ratio`,fo=`${go}.aspect_ratio_mode`,_o=`${go}.height`,yo="overrides",vo="performance",bo=`${vo}.features.animated_progress_indicator`,wo=`${vo}.features.media_chunk_size`,xo=`${vo}.features.max_simultaneous_engine_requests`,Co=`${vo}.profile`,Mo=`${vo}.style.box_shadow`,So=`${vo}.style.border_radius`,ko="profiles",Eo=1e3;class $o extends Error{constructor(e,t){super(e),this.context=t}}const Ao={info:10,error:20,connection:30,diagnostics:40},Io=["clips","favorite-events","favorite-recordings","live","menu","ptz","recordings","seek","snapshots","substream"],zo=bi.object({url:bi.string(),mime_type:bi.string()}),To=bi.object({path:bi.string()});function jo(e){if(e instanceof bi.ZodDefault)return jo(e.removeDefault());if(e instanceof bi.ZodObject){const t={};for(const n in e.shape){const i=e.shape[n];t[n]=bi.ZodOptional.create(jo(i))}return new bi.ZodObject({...e._def,shape:()=>t})}return e instanceof bi.ZodArray?bi.ZodArray.create(jo(e.element)).min(e._def.minLength?.value,e._def.minLength?.message).max(e._def.maxLength?.value,e._def.maxLength?.message).length(e._def.exactLength?.value,e._def.exactLength?.message):e instanceof bi.ZodOptional?bi.ZodOptional.create(jo(e.unwrap())):e instanceof bi.ZodNullable?bi.ZodNullable.create(jo(e.unwrap())):e instanceof bi.ZodTuple?bi.ZodTuple.create(e.items.map((e=>jo(e)))):e}function Oo(e){const t=e.format();return Object.keys(t).filter((e=>!e.startsWith("_")))}const Do=e=>{const t=new Set;if(e.issues.length)for(const n of e.issues)if("invalid_union"===n.code){const e=n.unionErrors;for(const n of e)Do(n).forEach(t.add,t)}else t.add(Ro(n.path));return t},Ro=e=>{let t="";for(let n=0;n"fire-dom-event")).or(bi.literal("fire-dom-event")),card_id:bi.string().regex(Jo,"card_id parameter can only contain [a-z][A-Z][0-9_]-").optional()}),mc=gc.extend({frigate_card_action:bi.enum(Uo)}),fc=gc.extend({frigate_card_action:bi.enum(["camera_ui","default","download","expand","fullscreen","live_substream_off","live_substream_on","menu_toggle","microphone_connect","microphone_disconnect","microphone_mute","microphone_unmute","mute","pause","play","screenshot","unmute"])}),_c=gc.extend({frigate_card_action:bi.literal("camera_select"),camera:bi.string().optional(),triggered:bi.boolean().optional()}),yc=gc.extend({frigate_card_action:bi.literal("live_substream_select"),camera:bi.string()}),vc=gc.extend({frigate_card_action:bi.literal("media_player"),media_player:bi.string(),media_player_action:bi.enum(["play","stop"])}),bc=gc.extend({frigate_card_action:bi.literal("display_mode_select"),display_mode:nc}),wc=gc.extend({frigate_card_action:bi.literal("ptz"),camera:bi.string().optional(),ptz_action:bi.enum(Fo).optional(),ptz_phase:bi.enum(Ko).optional(),ptz_preset:bi.string().optional()}),xc=gc.extend({frigate_card_action:bi.literal("ptz_digital"),target_id:bi.string().optional(),absolute:bi.object({zoom:tc.optional(),pan:ec.optional()}).optional(),ptz_action:bi.enum(Fo).optional(),ptz_phase:bi.enum(Ko).optional()}),Cc=gc.extend({frigate_card_action:bi.literal("ptz_multi"),target_id:bi.string().optional(),ptz_action:bi.enum(Fo).optional(),ptz_phase:bi.enum(Ko).optional(),ptz_preset:bi.string().optional()}),Mc=gc.extend({frigate_card_action:bi.literal("ptz_controls"),enabled:bi.boolean()}),Sc=bi.object({ms:bi.number().optional(),s:bi.number().optional(),m:bi.number().optional(),h:bi.number().optional()}),kc=gc.extend({frigate_card_action:bi.literal("sleep"),duration:Sc.optional().default({s:1})}),Ec=gc.extend({frigate_card_action:bi.literal("status_bar"),status_bar_action:bi.enum(["add","remove","reset"]),items:bi.lazy((()=>al)).array().optional()}),$c=gc.extend({frigate_card_action:bi.literal("log"),message:bi.string(),level:bi.enum(["debug","info","warn","error"]).default("info")}),Ac=bi.union([_c,fc,yc,$c,vc,wc,xc,Cc,Mc,mc,bc,kc,Ec]),Ic=bi.union([rc,cc,oc,lc,dc,uc,pc,hc,Ac]),zc=bi.object({tap_action:Ic.or(Ic.array()).optional(),hold_action:Ic.or(Ic.array()).optional(),double_tap_action:Ic.or(Ic.array()).optional(),start_tap_action:Ic.or(Ic.array()).optional(),end_tap_action:Ic.or(Ic.array()).optional()}).passthrough(),Tc=bi.object({actions:zc.optional()}),jc=zc.extend({style:bi.record(bi.string().nullable().or(bi.undefined()).or(bi.number())).optional(),title:bi.string().nullable().optional()}),Oc=jc.extend({type:bi.literal("state-badge"),entity:bi.string()}),Dc=jc.extend({type:bi.literal("state-icon"),entity:bi.string(),icon:bi.string().optional(),state_color:bi.boolean().default(!0)}),Rc=jc.extend({type:bi.literal("state-label"),entity:bi.string(),attribute:bi.string().optional(),prefix:bi.string().optional(),suffix:bi.string().optional()}),Pc=jc.extend({type:bi.literal("service-button"),title:bi.string(),service:bi.string(),service_data:bi.object({}).passthrough().optional()}),Lc=jc.extend({type:bi.literal("icon"),icon:bi.string(),entity:bi.string().optional()}),Nc=jc.extend({type:bi.literal("image"),entity:bi.string().optional(),image:bi.string().optional(),camera_image:bi.string().optional(),camera_view:bi.string().optional(),state_image:bi.object({}).passthrough().optional(),filter:bi.string().optional(),state_filter:bi.object({}).passthrough().optional(),aspect_ratio:bi.string().optional()}),Fc=bi.object({condition:bi.literal("state").optional(),entity:bi.string(),state:bi.string().or(bi.string().array()).optional(),state_not:bi.string().or(bi.string().array()).optional()}),Vc=bi.object({condition:bi.literal("numeric_state"),entity:bi.string(),above:bi.number().optional(),below:bi.number().optional()}),Hc=bi.object({condition:bi.literal("screen"),media_query:bi.string()}),Bc=bi.object({condition:bi.literal("user"),users:bi.string().array().min(1)}),qc=bi.discriminatedUnion("condition",[Fc,Vc,Hc,Bc]),Uc=bi.object({type:bi.literal("conditional"),conditions:qc.array(),elements:bi.lazy((()=>_l))}),Wc=bi.object({type:bi.string().superRefine(((e,t)=>{e.match(/^custom:(?!frigate-card).+/)||t.addIssue({code:bi.ZodIssueCode.custom,message:"Frigate-card custom elements must match specific schemas",fatal:!0})}))}).passthrough(),Zc=bi.object({enabled:bi.boolean().default(!0).optional(),priority:bi.number().min(0).max(Bo).default(50).optional(),alignment:bi.enum(["matching","opposing"]).default("matching").optional(),icon:bi.string().optional(),permanent:bi.boolean().default(!1).optional()}),Qc=Zc.merge(Lc).extend({type:bi.literal("custom:frigate-card-menu-icon")}),Gc=Zc.merge(Dc).extend({type:bi.literal("custom:frigate-card-menu-state-icon")}).merge(Zc),Yc=jc.extend({entity:bi.string().optional(),icon:bi.string().optional(),state_color:bi.boolean().default(!0),selected:bi.boolean().default(!1),subtitle:bi.string().optional(),enabled:bi.boolean().default(!0)}),Kc=Zc.merge(Lc).extend({type:bi.literal("custom:frigate-card-menu-submenu"),items:Yc.array()}),Xc=Zc.merge(Dc).extend({type:bi.literal("custom:frigate-card-menu-submenu-select"),options:bi.record(Yc.deepPartial()).optional()}),Jc=bi.object({enabled:bi.boolean().default(!0).optional(),priority:bi.number().min(0).max(100).default(50).optional()}),el=Jc.extend({sufficient:bi.boolean().default(!1).optional(),exclusive:bi.boolean().default(!1).optional(),expand:bi.boolean().default(!1).optional(),actions:zc.optional()}),tl=el.extend({type:bi.literal("custom:frigate-card-status-bar-icon"),icon:bi.string()}),nl=el.extend({type:bi.literal("custom:frigate-card-status-bar-image"),image:bi.string()}),il=el.extend({type:bi.literal("custom:frigate-card-status-bar-string"),string:bi.string()}),al=bi.union([tl,nl,il]),rl=bi.object({condition:bi.literal("view"),views:bi.string().array()}),sl=bi.object({condition:bi.literal("fullscreen"),fullscreen:bi.boolean()}),ol=bi.object({condition:bi.literal("expand"),expand:bi.boolean()}),cl=bi.object({condition:bi.literal("camera"),cameras:bi.string().array()}),ll=bi.object({condition:bi.literal("media_loaded"),media_loaded:bi.boolean()}),dl=bi.object({condition:bi.literal("display_mode"),display_mode:nc}),ul=bi.object({condition:bi.literal("triggered"),triggered:bi.string().array()}),hl=bi.object({condition:bi.literal("interaction"),interaction:bi.boolean()}),pl=bi.object({condition:bi.literal("microphone"),connected:bi.boolean().optional(),muted:bi.boolean().optional()}),gl=bi.object({condition:bi.literal("key"),key:bi.string(),state:bi.enum(["down","up"]).optional(),ctrl:bi.boolean().optional(),shift:bi.boolean().optional(),alt:bi.boolean().optional(),meta:bi.boolean().optional()}),ml=bi.discriminatedUnion("condition",[Fc,Vc,Hc,Bc,rl,sl,ol,cl,ll,dl,ul,hl,pl,gl]),fl=bi.object({type:bi.literal("custom:frigate-card-conditional"),conditions:ml.array(),elements:bi.lazy((()=>_l))}),_l=bi.union([Uc,Wc,fl,Lc,Nc,Qc,Gc,Kc,Xc,Pc,Oc,Dc,Rc,tl,nl,il]).array().optional(),yl=bi.object({fit:bi.enum(["contain","cover","fill"]).optional(),position:bi.object({x:bi.number().min(0).max(100).optional(),y:bi.number().min(0).max(100).optional()}).optional(),view_box:bi.object({bottom:bi.number().min(0).max(100).optional().default(0),left:bi.number().min(0).max(100).optional().default(0),right:bi.number().min(0).max(100).optional().default(0),top:bi.number().min(0).max(100).optional().default(0)}).optional(),pan:ec.optional(),zoom:tc.optional()}),vl=bi.number().array().length(2).or(bi.string().regex(/^\s*\d+\.?\d*\s*[:/]\s*\d+\.?\d*\s*$/).transform((e=>e.split(/[:\/]/).map((e=>Number(e)))))),bl={r2c_delay_between_calls_seconds:.5,c2r_delay_between_calls_seconds:.2},wl=function(e){return t=>{if(!t||"object"!=typeof t||!t.service)return t;const n={...t};return Object.keys(t).forEach((i=>{const a=i.match(/^data_(.+)$/),r=a?.[1];r&&!(`${e}${r}`in t)&&(n[`${e}${r}`]={action:"perform-action",perform_action:t.service,data:t[i]},delete n[i],delete n.service)})),n}},xl=bi.preprocess(wl("actions_"),bi.object({actions_left:oc.optional(),actions_left_start:oc.optional(),actions_left_stop:oc.optional(),actions_right:oc.optional(),actions_right_start:oc.optional(),actions_right_stop:oc.optional(),actions_up:oc.optional(),actions_up_start:oc.optional(),actions_up_stop:oc.optional(),actions_down:oc.optional(),actions_down_start:oc.optional(),actions_down_stop:oc.optional(),actions_zoom_in:oc.optional(),actions_zoom_in_start:oc.optional(),actions_zoom_in_stop:oc.optional(),actions_zoom_out:oc.optional(),actions_zoom_out_start:oc.optional(),actions_zoom_out_stop:oc.optional(),r2c_delay_between_calls_seconds:bi.number().default(bl.r2c_delay_between_calls_seconds),c2r_delay_between_calls_seconds:bi.number().default(bl.c2r_delay_between_calls_seconds),presets:bi.preprocess(wl(""),bi.union([bi.record(oc),bi.object({service:bi.string().optional()})])).optional(),service:bi.string().optional()}).passthrough()),Cl={orientation:"horizontal",mode:"auto",hide_pan_tilt:!1,hide_zoom:!1,hide_home:!1,position:"bottom-right"},Ml=bi.object({mode:bi.enum(["off","auto","on"]).default(Cl.mode),position:bi.enum(["top-left","top-right","bottom-left","bottom-right"]).default(Cl.position),orientation:bi.enum(["vertical","horizontal"]).default(Cl.orientation),hide_pan_tilt:bi.boolean().default(Cl.hide_pan_tilt),hide_zoom:bi.boolean().default(Cl.hide_zoom),hide_home:bi.boolean().default(Cl.hide_home),style:bi.object({}).passthrough().optional()}),Sl={mode:"auto",refresh_seconds:1},kl=bi.object({mode:bi.enum(["auto","camera","entity","screensaver","url"]).default(Sl.mode),refresh_seconds:bi.number().min(0).default(Sl.refresh_seconds),url:bi.string().optional(),entity:bi.string().optional(),entity_parameters:bi.string().optional()}),El=kl.merge(Tc).default(Sl),$l=75,Al=300,Il={size:100,show_details:!0,show_favorite_control:!0,show_timeline_control:!0,show_download_control:!0},zl=bi.object({size:bi.number().min(75).max(300).default(Il.size),show_details:bi.boolean().default(Il.show_details),show_favorite_control:bi.boolean().default(Il.show_favorite_control),show_timeline_control:bi.boolean().default(Il.show_timeline_control),show_download_control:bi.boolean().default(Il.show_download_control)}),Tl={...Il,mode:"right"},jl=zl.extend({mode:bi.enum(["none","above","below","left","right"]).default(Tl.mode)}),Ol=bi.enum(["all","clips","snapshots"]),Dl={clustering_threshold:3,events_media_type:"all",window_seconds:3600,show_recordings:!0,style:"stack",pan_mode:"pan"},Rl=bi.enum(["pan","seek","seek-in-media","seek-in-camera"]),Pl=bi.object({clustering_threshold:bi.number().optional().default(Dl.clustering_threshold),events_media_type:Ol.optional().default(Dl.events_media_type),window_seconds:bi.number().min(60).max(86400).optional().default(Dl.window_seconds),show_recordings:bi.boolean().optional().default(Dl.show_recordings),style:bi.enum(["stack","ribbon"]).optional().default(Dl.style),pan_mode:Rl.optional().default(Dl.pan_mode)}),Ll={...Dl,mode:"none",style:"ribbon"},Nl=Pl.extend({mode:bi.enum(["none","above","below"]).default(Ll.mode),style:Pl.shape.style.default(Ll.style)}),Fl={...Dl,controls:{thumbnails:Tl}},Vl=Pl.extend({controls:bi.object({thumbnails:jl.default(Fl.controls.thumbnails)}).default(Fl.controls)}).default(Fl),Hl=bi.object({style:bi.enum(["none","chevrons","icons","thumbnails"]),size:bi.number().min(20)}),Bl=bi.enum(["none","slide"]),ql={always_connected:!1,disconnect_seconds:90,mute_after_microphone_mute_seconds:60},Ul=bi.object({always_connected:bi.boolean().default(ql.always_connected),disconnect_seconds:bi.number().min(0).default(ql.disconnect_seconds),mute_after_microphone_mute_seconds:bi.number().min(0).default(ql.mute_after_microphone_mute_seconds)}).default(ql),Wl=bi.object({url:bi.string().transform((e=>e.replace(/\/+$/,""))).optional(),host:bi.string().optional(),modes:bi.enum(["webrtc","mse","mp4","mjpeg"]).array().optional(),stream:bi.string().optional()}),Zl=bi.object({entity:bi.string().optional(),url:bi.string().optional()}).passthrough(),Ql=bi.object({options:bi.object({audio:bi.boolean().optional(),video:bi.boolean().optional(),pauseWhenHidden:bi.boolean().optional(),disableGl:bi.boolean().optional(),disableWebAssembly:bi.boolean().optional(),preserveDrawingBuffer:bi.boolean().optional(),progressive:bi.boolean().optional(),throttled:bi.boolean().optional(),chunkSize:bi.number().optional(),maxAudioLag:bi.number().optional(),videoBufferSize:bi.number().optional(),audioBufferSize:bi.number().optional()}).optional()}),Gl={...Tl,media_type:"events",events_media_type:"all"},Yl={auto_play:[...Qo],auto_pause:[],auto_mute:[...Yo],auto_unmute:["microphone"],preload:!1,lazy_load:!0,lazy_unload:[],draggable:!0,zoomable:!0,transition_effect:"slide",show_image_during_load:!0,mode:"single",controls:{builtin:!0,next_previous:{size:48,style:"chevrons"},ptz:Cl,thumbnails:Gl,timeline:Ll},microphone:{...ql}},Kl=jl.extend({media_type:bi.enum(["events","recordings"]).default(Yl.controls.thumbnails.media_type),events_media_type:Ol.default(Yl.controls.thumbnails.events_media_type)}),Xl=bi.object({auto_pause:bi.enum(Zo).array().default(Yl.auto_pause),auto_play:bi.enum(Qo).array().default(Yl.auto_play),auto_mute:bi.enum(Yo).array().default(Yl.auto_mute),auto_unmute:bi.enum(Go).array().default(Yl.auto_unmute),controls:bi.object({builtin:bi.boolean().default(Yl.controls.builtin),next_previous:Hl.extend({style:bi.enum(["none","chevrons","icons"]).default(Yl.controls.next_previous.style),size:Hl.shape.size.default(Yl.controls.next_previous.size)}).default(Yl.controls.next_previous),ptz:Ml.default(Yl.controls.ptz),thumbnails:Kl.default(Yl.controls.thumbnails),timeline:Nl.default(Yl.controls.timeline)}).default(Yl.controls),display:ic,draggable:bi.boolean().default(Yl.draggable),lazy_load:bi.boolean().default(Yl.lazy_load),lazy_unload:bi.enum(Zo).array().default(Yl.lazy_unload),microphone:Ul.default(Yl.microphone),preload:bi.boolean().default(Yl.preload),show_image_during_load:bi.boolean().default(Yl.show_image_during_load),transition_effect:Bl.default(Yl.transition_effect),zoomable:bi.boolean().default(Yl.zoomable)}).merge(Tc).default(Yl),Jl=bi.object({live:Xl}),ed=bi.object({method:bi.enum(["standard","dashboard"]).default("standard").optional(),dashboard:bi.object({dashboard_path:bi.string().optional(),view_path:bi.string().optional()}).optional()}),td={dependencies:{all_cameras:!1,cameras:[]},engine:"auto",frigate:{client_id:"frigate"},live_provider:"auto",motioneye:{images:{directory_pattern:"%Y-%m-%d",file_pattern:"%H-%M-%S"},movies:{directory_pattern:"%Y-%m-%d",file_pattern:"%H-%M-%S"}},reolink:{media_resolution:"low"},ptz:bl,triggers:{motion:!1,occupancy:!1,events:[...Xo],entities:[]},proxy:{media:"auto",dynamic:!0,ssl_verification:"auto",ssl_ciphers:"auto"},always_error_if_entity_unavailable:!1},nd=bi.object({media:bi.boolean().or(bi.literal("auto")).default(td.proxy.media),dynamic:bi.boolean().default(td.proxy.dynamic),ssl_verification:bi.boolean().or(bi.literal("auto")).default(td.proxy.ssl_verification),ssl_ciphers:bi.enum(["default","insecure","intermediate","modern"]).or(bi.literal("auto")).default(td.proxy.ssl_ciphers)}),id=bi.object({camera_entity:bi.string().optional(),icon:bi.string().optional(),title:bi.string().optional(),capabilities:bi.object({disable:bi.enum(Io).array().optional(),disable_except:bi.enum(Io).array().optional()}).optional(),id:bi.string().optional(),dependencies:bi.object({all_cameras:bi.boolean().default(td.dependencies.all_cameras),cameras:bi.string().array().default(td.dependencies.cameras)}).default(td.dependencies),triggers:bi.object({motion:bi.boolean().default(td.triggers.motion),occupancy:bi.boolean().default(td.triggers.occupancy),entities:bi.string().array().default(td.triggers.entities),events:bi.enum(Xo).array().default(td.triggers.events)}).default(td.triggers),engine:bi.enum(["auto","frigate","generic","motioneye","reolink"]).default("auto"),frigate:bi.object({url:bi.string().optional(),client_id:bi.string().default(td.frigate.client_id),camera_name:bi.string().optional(),labels:bi.string().array().optional(),zones:bi.string().array().optional()}).default(td.frigate),motioneye:bi.object({url:bi.string().optional(),images:bi.object({directory_pattern:bi.string().includes("%").default(td.motioneye.images.directory_pattern),file_pattern:bi.string().includes("%").default(td.motioneye.images.file_pattern)}).default(td.motioneye.images),movies:bi.object({directory_pattern:bi.string().includes("%").default(td.motioneye.movies.directory_pattern),file_pattern:bi.string().includes("%").default(td.motioneye.movies.file_pattern)}).default(td.motioneye.movies)}).default(td.motioneye),reolink:bi.object({url:bi.string().optional(),media_resolution:bi.enum(["high","low"]).default(td.reolink.media_resolution)}).default(td.reolink),live_provider:bi.enum(["auto","image","ha","jsmpeg","go2rtc","webrtc-card"]).default(td.live_provider),go2rtc:Wl.optional(),image:kl.optional().default(Sl),jsmpeg:Ql.optional(),webrtc_card:Zl.optional(),cast:ed.optional(),ptz:xl.default(td.ptz),dimensions:bi.object({aspect_ratio:vl.optional(),layout:yl.optional()}).optional(),proxy:nd.default(td.proxy),always_error_if_entity_unavailable:bi.boolean().default(td.always_error_if_entity_unavailable)}).default(td),ad=id.array().min(1),rd={default:Wo,camera_select:"current",interaction_seconds:300,default_reset:{every_seconds:0,after_interaction:!1,entities:[],interaction_mode:"inactive"},default_cycle_camera:!1,dark_mode:"off",triggers:{show_trigger_status:!1,filter_selected_camera:!0,actions:{trigger:"update",untrigger:"none"},untrigger_seconds:0},keyboard_shortcuts:Lo},sd=bi.enum(["all","inactive","active"]).default("inactive"),od=bi.object({actions:bi.object({interaction_mode:sd,trigger:bi.enum(["default","live","media","none","update"]).default(rd.triggers.actions.trigger),untrigger:bi.enum(["default","none"]).default(rd.triggers.actions.untrigger)}).default(rd.triggers.actions),filter_selected_camera:bi.boolean().default(rd.triggers.filter_selected_camera),show_trigger_status:bi.boolean().default(rd.triggers.show_trigger_status),untrigger_seconds:bi.number().default(rd.triggers.untrigger_seconds)}),cd=bi.object({default:bi.enum(Uo).default(rd.default),camera_select:bi.enum([...Uo,"current"]).default(rd.camera_select),interaction_seconds:bi.number().default(rd.interaction_seconds),default_cycle_camera:bi.boolean().default(rd.default_cycle_camera),default_reset:bi.object({after_interaction:bi.boolean().default(rd.default_reset.after_interaction),every_seconds:bi.number().default(rd.default_reset.every_seconds),entities:bi.string().array().default(rd.default_reset.entities),interaction_mode:sd.default(rd.default_reset.interaction_mode)}).default(rd.default_reset),render_entities:bi.string().array().optional(),dark_mode:bi.enum(["on","off","auto"]).optional(),triggers:od.default(rd.triggers),keyboard_shortcuts:No.default(rd.keyboard_shortcuts)}).merge(Tc).default(rd),ld=["left","right","top","bottom"],dd=ld,ud={priority:50,enabled:!0},hd={priority:50,enabled:!1},pd={alignment:"left",button_size:40,buttons:{camera_ui:ud,cameras:ud,clips:ud,ptz_home:hd,display_mode:ud,download:ud,expand:hd,frigate:ud,fullscreen:ud,image:hd,live:ud,media_player:ud,microphone:{...hd,type:"momentary"},mute:hd,play:hd,ptz_controls:hd,recordings:hd,screenshot:hd,snapshots:ud,substreams:ud,timeline:ud},position:"top",style:"hidden"},gd=Zc.extend({enabled:Zc.shape.enabled.default(ud.enabled),priority:Zc.shape.priority.default(ud.priority)}),md=Zc.extend({enabled:Zc.shape.enabled.default(hd.enabled),priority:Zc.shape.priority.default(hd.priority)}),fd=bi.object({style:bi.enum(["none","hidden","overlay","hover","hover-card","outside"]).default(pd.style),position:bi.enum(ld).default(pd.position),alignment:bi.enum(dd).default(pd.alignment),buttons:bi.object({camera_ui:gd.default(pd.buttons.camera_ui),cameras:gd.default(pd.buttons.cameras),clips:gd.default(pd.buttons.clips),ptz_home:md.default(pd.buttons.ptz_home),display_mode:gd.default(pd.buttons.display_mode),download:gd.default(pd.buttons.download),expand:md.default(pd.buttons.expand),frigate:gd.default(pd.buttons.frigate),fullscreen:gd.default(pd.buttons.fullscreen),image:md.default(pd.buttons.image),live:gd.default(pd.buttons.live),media_player:gd.default(pd.buttons.media_player),microphone:md.extend({type:bi.enum(["momentary","toggle"]).default(pd.buttons.microphone.type)}).default(pd.buttons.microphone),mute:md.default(pd.buttons.mute),play:md.default(pd.buttons.play),ptz_controls:md.default(pd.buttons.ptz_controls),recordings:md.default(pd.buttons.recordings),screenshot:md.default(pd.buttons.screenshot),snapshots:gd.default(pd.buttons.snapshots),substreams:gd.default(pd.buttons.substreams),timeline:gd.default(pd.buttons.timeline)}).default(pd.buttons),button_size:bi.number().min(20).default(pd.button_size)}).default(pd),_d={priority:50,enabled:!0},yd={height:30,items:{engine:_d,resolution:_d,technology:_d,title:_d},position:"bottom",style:"popup",popup_seconds:3},vd=bi.object({position:bi.enum(["top","bottom"]).default(yd.position),style:bi.enum(["none","overlay","hover","hover-card","outside","popup"]).default(yd.style),popup_seconds:bi.number().min(0).max(60).default(yd.popup_seconds),height:bi.number().min(20).default(yd.height),items:bi.object({engine:Jc.default(yd.items.engine),technology:Jc.default(yd.items.technology),resolution:Jc.default(yd.items.resolution),title:Jc.default(yd.items.title)}).default(yd.items)}).default(yd),bd={auto_play:[...Qo],auto_pause:[...Zo],auto_mute:[...Zo],auto_unmute:[],lazy_load:!0,draggable:!0,zoomable:!0,transition_effect:"slide",snapshot_click_plays_clip:!0,display_mode:"single",controls:{builtin:!0,next_previous:{size:48,style:"thumbnails"},thumbnails:Tl,timeline:Ll,ptz:{...Cl,mode:"off"}}},wd=Hl.extend({style:bi.enum(["none","thumbnails","chevrons"]).default(bd.controls.next_previous.style),size:Hl.shape.size.default(bd.controls.next_previous.size)}),xd=bi.object({auto_play:bi.enum(Qo).array().default(bd.auto_play),auto_pause:bi.enum(Zo).array().default(bd.auto_pause),auto_mute:bi.enum(Zo).array().default(bd.auto_mute),auto_unmute:bi.enum(Qo).array().default(bd.auto_unmute),lazy_load:bi.boolean().default(bd.lazy_load),draggable:bi.boolean().default(bd.draggable),zoomable:bi.boolean().default(bd.zoomable),transition_effect:Bl.default(bd.transition_effect),snapshot_click_plays_clip:bi.boolean().default(bd.snapshot_click_plays_clip),display:ic,controls:bi.object({builtin:bi.boolean().default(bd.controls.builtin),next_previous:wd.default(bd.controls.next_previous),ptz:Ml.extend({mode:bi.enum(["off","on"]).default(bd.controls.ptz.mode)}).default(bd.controls.ptz),thumbnails:jl.default(bd.controls.thumbnails),timeline:Nl.default(bd.controls.timeline)}).default(bd.controls)}).merge(Tc).default(bd),Cd={...Tl,show_details:!1},Md={controls:{thumbnails:Cd,filter:{mode:"right"}}},Sd=jl.extend({show_details:bi.boolean().default(Cd.show_details)}),kd=bi.object({controls:bi.object({thumbnails:Sd.default(Md.controls.thumbnails),filter:bi.object({mode:bi.enum(["none","left","right"]).default(Md.controls.filter.mode)}).default(Md.controls.filter)}).default(Md.controls)}).merge(Tc).default(Md),Ed={aspect_ratio_mode:"dynamic",aspect_ratio:[16,9],height:"auto"},$d=bi.object({aspect_ratio_mode:bi.enum(["dynamic","static","unconstrained"]).default(Ed.aspect_ratio_mode),aspect_ratio:vl.default(Ed.aspect_ratio),height:bi.string().default(Ed.height)}).default(Ed),Ad=bi.object({conditions:ml.array(),merge:bi.object({}).passthrough().optional(),set:bi.object({}).passthrough().optional(),delete:bi.string().array().optional()}).array().optional(),Id=Ic.array(),zd=bi.object({conditions:ml.array(),actions:Id.optional(),actions_not:Id.optional()}).refine((e=>e.actions?.length||e.actions_not?.length),"Automations must include at least one action").array(),Td={features:{animated_progress_indicator:!0,media_chunk_size:50},style:{border_radius:!0,box_shadow:!0}},jd=bi.object({features:bi.object({animated_progress_indicator:bi.boolean().default(Td.features.animated_progress_indicator),media_chunk_size:bi.number().min(0).max(1e3).default(Td.features.media_chunk_size),max_simultaneous_engine_requests:bi.number().min(1).optional()}).default(Td.features),style:bi.object({border_radius:bi.boolean().default(Td.style.border_radius),box_shadow:bi.boolean().default(Td.style.box_shadow)}).default(Td.style)}).default(Td),Od={logging:!1},Dd=bi.object({logging:bi.boolean().default(Od.logging)}).default(Od),Rd=bi.enum(["casting","low-performance","scrubbing"]).array().optional(),Pd=bi.object({cameras:jo(ad),cameras_global:id,view:cd,menu:fd,status_bar:vd,live:Xl,media_gallery:kd,media_viewer:xd,image:El,elements:_l,dimensions:$d,timeline:Vl,performance:jd,debug:Dd,automations:zd.optional(),profiles:Rd,overrides:Ad,card_mod:bi.unknown(),card_id:bi.string().regex(Jo).optional(),type:bi.string()}),Ld={cameras:td,view:rd,menu:pd,status_bar:yd,live:Yl,media_gallery:Md,media_viewer:bd,image:Sl,timeline:Fl,performance:Td,debug:Od};function Nd(e){const t=Object.prototype.toString.call(e);return e instanceof Date||"object"==typeof e&&"[object Date]"===t?new e.constructor(+e):"number"==typeof e||"[object Number]"===t||"string"==typeof e||"[object String]"===t?new Date(e):new Date(NaN)}function Fd(e,t){return e instanceof Date?new e.constructor(t):new Date(t)}function Vd(e,t){const n=Nd(e);return isNaN(t)?Fd(e,NaN):t?(n.setDate(n.getDate()+t),n):n}function Hd(e,t){const n=Nd(e);if(isNaN(t))return Fd(e,NaN);if(!t)return n;const i=n.getDate(),a=Fd(e,n.getTime());a.setMonth(n.getMonth()+t+1,0);return i>=a.getDate()?a:(n.setFullYear(a.getFullYear(),a.getMonth(),i),n)}function Bd(e,t){const{years:n=0,months:i=0,weeks:a=0,days:r=0,hours:s=0,minutes:o=0,seconds:c=0}=t,l=Nd(e),d=i||n?Hd(l,i+12*n):l,u=1e3*(c+60*(o+60*s));return Fd(e,(r||a?Vd(d,r+7*a):d).getTime()+u)}const qd=6048e5,Ud=864e5,Wd=6e4,Zd=36e5,Qd=1e3;let Gd={};function Yd(){return Gd}function Kd(e,t){const n=Yd(),i=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=Nd(e),r=a.getDay(),s=(r=a.getTime()?n+1:t.getTime()>=s.getTime()?n:n-1}function eu(e){const t=Nd(e);return t.setHours(0,0,0,0),t}function tu(e){const t=Nd(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function nu(e){if(!(t=e,t instanceof Date||"object"==typeof t&&"[object Date]"===Object.prototype.toString.call(t)||"number"==typeof e))return!1;var t;const n=Nd(e);return!isNaN(Number(n))}function iu(e){return t=>{const n=(e?Math[e]:Math.trunc)(t);return 0===n?0:n}}function au(e,t){return+Nd(e)-+Nd(t)}function ru(e,t,n){const i=au(e,t)/1e3;return iu(n?.roundingMethod)(i)}const su={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function ou(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const cu={date:ou({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:ou({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:ou({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},lu={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function du(e){return(t,n)=>{let i;if("formatting"===(n?.context?String(n.context):"standalone")&&e.formattingValues){const t=e.defaultFormattingWidth||e.defaultWidth,a=n?.width?String(n.width):t;i=e.formattingValues[a]||e.formattingValues[t]}else{const t=e.defaultWidth,a=n?.width?String(n.width):e.defaultWidth;i=e.values[a]||e.values[t]}return i[e.argumentCallback?e.argumentCallback(t):t]}}function uu(e){return(t,n={})=>{const i=n.width,a=i&&e.matchPatterns[i]||e.matchPatterns[e.defaultMatchWidth],r=t.match(a);if(!r)return null;const s=r[0],o=i&&e.parsePatterns[i]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(o)?function(e,t){for(let n=0;ne.test(s))):function(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n;return}(o,(e=>e.test(s)));let l;l=e.valueCallback?e.valueCallback(c):c,l=n.valueCallback?n.valueCallback(l):l;return{value:l,rest:t.slice(s.length)}}}var hu;const pu={code:"en-US",formatDistance:(e,t,n)=>{let i;const a=su[e];return i="string"==typeof a?a:1===t?a.one:a.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+i:i+" ago":i},formatLong:cu,formatRelative:(e,t,n,i)=>lu[e],localize:{ordinalNumber:(e,t)=>{const n=Number(e),i=n%100;if(i>20||i<10)switch(i%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:du({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:du({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:e=>e-1}),month:du({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:du({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:du({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})},match:{ordinalNumber:(hu={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)},(e,t={})=>{const n=e.match(hu.matchPattern);if(!n)return null;const i=n[0],a=e.match(hu.parsePattern);if(!a)return null;let r=hu.valueCallback?hu.valueCallback(a[0]):a[0];return r=t.valueCallback?t.valueCallback(r):r,{value:r,rest:e.slice(i.length)}}),era:uu({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:uu({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:e=>e+1}),month:uu({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:uu({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:uu({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function gu(e){const t=Nd(e),n=function(e,t){const n=eu(e),i=eu(t),a=+n-tu(n),r=+i-tu(i);return Math.round((a-r)/Ud)}(t,function(e){const t=Nd(e),n=Fd(e,0);return n.setFullYear(t.getFullYear(),0,1),n.setHours(0,0,0,0),n}(t));return n+1}function mu(e){const t=Nd(e),n=+Xd(t)-+function(e){const t=Jd(e),n=Fd(e,0);return n.setFullYear(t,0,4),n.setHours(0,0,0,0),Xd(n)}(t);return Math.round(n/qd)+1}function fu(e,t){const n=Nd(e),i=n.getFullYear(),a=Yd(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,s=Fd(e,0);s.setFullYear(i+1,0,r),s.setHours(0,0,0,0);const o=Kd(s,t),c=Fd(e,0);c.setFullYear(i,0,r),c.setHours(0,0,0,0);const l=Kd(c,t);return n.getTime()>=o.getTime()?i+1:n.getTime()>=l.getTime()?i:i-1}function _u(e,t){const n=Nd(e),i=+Kd(n,t)-+function(e,t){const n=Yd(),i=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,a=fu(e,t),r=Fd(e,0);return r.setFullYear(a,0,i),r.setHours(0,0,0,0),Kd(r,t)}(n,t);return Math.round(i/qd)+1}function yu(e,t){return(e<0?"-":"")+Math.abs(e).toString().padStart(t,"0")}const vu={y(e,t){const n=e.getFullYear(),i=n>0?n:1-n;return yu("yy"===t?i%100:i,t.length)},M(e,t){const n=e.getMonth();return"M"===t?String(n+1):yu(n+1,2)},d:(e,t)=>yu(e.getDate(),t.length),a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];default:return"am"===n?"a.m.":"p.m."}},h:(e,t)=>yu(e.getHours()%12||12,t.length),H:(e,t)=>yu(e.getHours(),t.length),m:(e,t)=>yu(e.getMinutes(),t.length),s:(e,t)=>yu(e.getSeconds(),t.length),S(e,t){const n=t.length,i=e.getMilliseconds();return yu(Math.trunc(i*Math.pow(10,n-3)),t.length)}},bu="midnight",wu="noon",xu="morning",Cu="afternoon",Mu="evening",Su="night",ku={G:function(e,t,n){const i=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(i,{width:"abbreviated"});case"GGGGG":return n.era(i,{width:"narrow"});default:return n.era(i,{width:"wide"})}},y:function(e,t,n){if("yo"===t){const t=e.getFullYear(),i=t>0?t:1-t;return n.ordinalNumber(i,{unit:"year"})}return vu.y(e,t)},Y:function(e,t,n,i){const a=fu(e,i),r=a>0?a:1-a;if("YY"===t){return yu(r%100,2)}return"Yo"===t?n.ordinalNumber(r,{unit:"year"}):yu(r,t.length)},R:function(e,t){return yu(Jd(e),t.length)},u:function(e,t){return yu(e.getFullYear(),t.length)},Q:function(e,t,n){const i=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(i);case"QQ":return yu(i,2);case"Qo":return n.ordinalNumber(i,{unit:"quarter"});case"QQQ":return n.quarter(i,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(i,{width:"narrow",context:"formatting"});default:return n.quarter(i,{width:"wide",context:"formatting"})}},q:function(e,t,n){const i=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(i);case"qq":return yu(i,2);case"qo":return n.ordinalNumber(i,{unit:"quarter"});case"qqq":return n.quarter(i,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(i,{width:"narrow",context:"standalone"});default:return n.quarter(i,{width:"wide",context:"standalone"})}},M:function(e,t,n){const i=e.getMonth();switch(t){case"M":case"MM":return vu.M(e,t);case"Mo":return n.ordinalNumber(i+1,{unit:"month"});case"MMM":return n.month(i,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(i,{width:"narrow",context:"formatting"});default:return n.month(i,{width:"wide",context:"formatting"})}},L:function(e,t,n){const i=e.getMonth();switch(t){case"L":return String(i+1);case"LL":return yu(i+1,2);case"Lo":return n.ordinalNumber(i+1,{unit:"month"});case"LLL":return n.month(i,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(i,{width:"narrow",context:"standalone"});default:return n.month(i,{width:"wide",context:"standalone"})}},w:function(e,t,n,i){const a=_u(e,i);return"wo"===t?n.ordinalNumber(a,{unit:"week"}):yu(a,t.length)},I:function(e,t,n){const i=mu(e);return"Io"===t?n.ordinalNumber(i,{unit:"week"}):yu(i,t.length)},d:function(e,t,n){return"do"===t?n.ordinalNumber(e.getDate(),{unit:"date"}):vu.d(e,t)},D:function(e,t,n){const i=gu(e);return"Do"===t?n.ordinalNumber(i,{unit:"dayOfYear"}):yu(i,t.length)},E:function(e,t,n){const i=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(i,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(i,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(i,{width:"short",context:"formatting"});default:return n.day(i,{width:"wide",context:"formatting"})}},e:function(e,t,n,i){const a=e.getDay(),r=(a-i.weekStartsOn+8)%7||7;switch(t){case"e":return String(r);case"ee":return yu(r,2);case"eo":return n.ordinalNumber(r,{unit:"day"});case"eee":return n.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},c:function(e,t,n,i){const a=e.getDay(),r=(a-i.weekStartsOn+8)%7||7;switch(t){case"c":return String(r);case"cc":return yu(r,t.length);case"co":return n.ordinalNumber(r,{unit:"day"});case"ccc":return n.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(a,{width:"narrow",context:"standalone"});case"cccccc":return n.day(a,{width:"short",context:"standalone"});default:return n.day(a,{width:"wide",context:"standalone"})}},i:function(e,t,n){const i=e.getDay(),a=0===i?7:i;switch(t){case"i":return String(a);case"ii":return yu(a,t.length);case"io":return n.ordinalNumber(a,{unit:"day"});case"iii":return n.day(i,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(i,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(i,{width:"short",context:"formatting"});default:return n.day(i,{width:"wide",context:"formatting"})}},a:function(e,t,n){const i=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(i,{width:"narrow",context:"formatting"});default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},b:function(e,t,n){const i=e.getHours();let a;switch(a=12===i?wu:0===i?bu:i/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},B:function(e,t,n){const i=e.getHours();let a;switch(a=i>=17?Mu:i>=12?Cu:i>=4?xu:Su,t){case"B":case"BB":case"BBB":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},h:function(e,t,n){if("ho"===t){let t=e.getHours()%12;return 0===t&&(t=12),n.ordinalNumber(t,{unit:"hour"})}return vu.h(e,t)},H:function(e,t,n){return"Ho"===t?n.ordinalNumber(e.getHours(),{unit:"hour"}):vu.H(e,t)},K:function(e,t,n){const i=e.getHours()%12;return"Ko"===t?n.ordinalNumber(i,{unit:"hour"}):yu(i,t.length)},k:function(e,t,n){let i=e.getHours();return 0===i&&(i=24),"ko"===t?n.ordinalNumber(i,{unit:"hour"}):yu(i,t.length)},m:function(e,t,n){return"mo"===t?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):vu.m(e,t)},s:function(e,t,n){return"so"===t?n.ordinalNumber(e.getSeconds(),{unit:"second"}):vu.s(e,t)},S:function(e,t){return vu.S(e,t)},X:function(e,t,n){const i=e.getTimezoneOffset();if(0===i)return"Z";switch(t){case"X":return $u(i);case"XXXX":case"XX":return Au(i);default:return Au(i,":")}},x:function(e,t,n){const i=e.getTimezoneOffset();switch(t){case"x":return $u(i);case"xxxx":case"xx":return Au(i);default:return Au(i,":")}},O:function(e,t,n){const i=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+Eu(i,":");default:return"GMT"+Au(i,":")}},z:function(e,t,n){const i=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+Eu(i,":");default:return"GMT"+Au(i,":")}},t:function(e,t,n){return yu(Math.trunc(e.getTime()/1e3),t.length)},T:function(e,t,n){return yu(e.getTime(),t.length)}};function Eu(e,t=""){const n=e>0?"-":"+",i=Math.abs(e),a=Math.trunc(i/60),r=i%60;return 0===r?n+String(a):n+String(a)+t+yu(r,2)}function $u(e,t){if(e%60==0){return(e>0?"-":"+")+yu(Math.abs(e)/60,2)}return Au(e,t)}function Au(e,t=""){const n=e>0?"-":"+",i=Math.abs(e);return n+yu(Math.trunc(i/60),2)+t+yu(i%60,2)}const Iu=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},zu=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},Tu={p:zu,P:(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],i=n[1],a=n[2];if(!a)return Iu(e,t);let r;switch(i){case"P":r=t.dateTime({width:"short"});break;case"PP":r=t.dateTime({width:"medium"});break;case"PPP":r=t.dateTime({width:"long"});break;default:r=t.dateTime({width:"full"})}return r.replace("{{date}}",Iu(i,t)).replace("{{time}}",zu(a,t))}},ju=/^D+$/,Ou=/^Y+$/,Du=["D","DD","YY","YYYY"];function Ru(e){return ju.test(e)}function Pu(e){return Ou.test(e)}function Lu(e,t,n){const i=function(e,t,n){const i="Y"===e[0]?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${i} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}(e,t,n);if(console.warn(i),Du.includes(e))throw new RangeError(i)}const Nu=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Fu=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Vu=/^'([^]*?)'?$/,Hu=/''/g,Bu=/[a-zA-Z]/;function qu(e,t,n){const i=Yd(),a=n?.locale??i.locale??pu,r=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,s=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??i.weekStartsOn??i.locale?.options?.weekStartsOn??0,o=Nd(e);if(!nu(o))throw new RangeError("Invalid time value");let c=t.match(Fu).map((e=>{const t=e[0];if("p"===t||"P"===t){return(0,Tu[t])(e,a.formatLong)}return e})).join("").match(Nu).map((e=>{if("''"===e)return{isToken:!1,value:"'"};const t=e[0];if("'"===t)return{isToken:!1,value:Uu(e)};if(ku[t])return{isToken:!0,value:e};if(t.match(Bu))throw new RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}}));a.localize.preprocessor&&(c=a.localize.preprocessor(o,c));const l={firstWeekContainsDate:r,weekStartsOn:s,locale:a};return c.map((i=>{if(!i.isToken)return i.value;const r=i.value;(!n?.useAdditionalWeekYearTokens&&Pu(r)||!n?.useAdditionalDayOfYearTokens&&Ru(r))&&Lu(r,t,String(e));return(0,ku[r[0]])(o,r,a.localize,l)})).join("")}function Uu(e){const t=e.match(Vu);return t?t[1].replace(Hu,"'"):e}function Wu(e,t){const{years:n=0,months:i=0,weeks:a=0,days:r=0,hours:s=0,minutes:o=0,seconds:c=0}=t,l=function(e,t){return Hd(e,-t)}(e,i+12*n),d=function(e,t){return Vd(e,-t)}(l,r+7*a),u=1e3*(c+60*(o+60*s));return Fd(e,d.getTime()-u)}function Zu(e,t){return e===t||e!=e&&t!=t}function Qu(e,t){for(var n=e.length;n--;)if(Zu(e[n][0],t))return n;return-1}var Gu=Array.prototype.splice;function Yu(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1},Yu.prototype.set=function(e,t){var n=this.__data__,i=Qu(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this};var Ku="object"==typeof global&&global&&global.Object===Object&&global,Xu="object"==typeof self&&self&&self.Object===Object&&self,Ju=Ku||Xu||Function("return this")(),eh=Ju.Symbol,th=Object.prototype,nh=th.hasOwnProperty,ih=th.toString,ah=eh?eh.toStringTag:void 0;var rh=Object.prototype.toString;var sh="[object Null]",oh="[object Undefined]",ch=eh?eh.toStringTag:void 0;function lh(e){return null==e?void 0===e?oh:sh:ch&&ch in Object(e)?function(e){var t=nh.call(e,ah),n=e[ah];try{e[ah]=void 0;var i=!0}catch(e){}var a=ih.call(e);return i&&(t?e[ah]=n:delete e[ah]),a}(e):function(e){return rh.call(e)}(e)}function dh(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}var uh="[object AsyncFunction]",hh="[object Function]",ph="[object GeneratorFunction]",gh="[object Proxy]";function mh(e){if(!dh(e))return!1;var t=lh(e);return t==hh||t==ph||t==uh||t==gh}var fh,_h=Ju["__core-js_shared__"],yh=(fh=/[^.]+$/.exec(_h&&_h.keys&&_h.keys.IE_PROTO||""))?"Symbol(src)_1."+fh:"";var vh=Function.prototype.toString;function bh(e){if(null!=e){try{return vh.call(e)}catch(e){}try{return e+""}catch(e){}}return""}var wh=/^\[object .+?Constructor\]$/,xh=Function.prototype,Ch=Object.prototype,Mh=xh.toString,Sh=Ch.hasOwnProperty,kh=RegExp("^"+Mh.call(Sh).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Eh(e){return!(!dh(e)||(t=e,yh&&yh in t))&&(mh(e)?kh:wh).test(bh(e));var t}function $h(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return Eh(n)?n:void 0}var Ah=$h(Ju,"Map"),Ih=$h(Object,"create");var zh=Object.prototype.hasOwnProperty;var Th=Object.prototype.hasOwnProperty;function jh(e){var t=-1,n=null==e?0:e.length;for(this.clear();++to))return!1;var l=r.get(e),d=r.get(t);if(l&&d)return l==t&&d==e;var u=-1,h=!0,p=n&Vh?new Ph:void 0;for(r.set(e,t),r.set(t,e);++u-1&&e%1==0&&e-1&&e%1==0&&e<=Ep}var Ap={};function Ip(e){return function(t){return e(t)}}Ap["[object Float32Array]"]=Ap["[object Float64Array]"]=Ap["[object Int8Array]"]=Ap["[object Int16Array]"]=Ap["[object Int32Array]"]=Ap["[object Uint8Array]"]=Ap["[object Uint8ClampedArray]"]=Ap["[object Uint16Array]"]=Ap["[object Uint32Array]"]=!0,Ap["[object Arguments]"]=Ap["[object Array]"]=Ap["[object ArrayBuffer]"]=Ap["[object Boolean]"]=Ap["[object DataView]"]=Ap["[object Date]"]=Ap["[object Error]"]=Ap["[object Function]"]=Ap["[object Map]"]=Ap["[object Number]"]=Ap["[object Object]"]=Ap["[object RegExp]"]=Ap["[object Set]"]=Ap["[object String]"]=Ap["[object WeakMap]"]=!1;var zp="object"==typeof exports&&exports&&!exports.nodeType&&exports,Tp=zp&&"object"==typeof module&&module&&!module.nodeType&&module,jp=Tp&&Tp.exports===zp&&Ku.process,Op=function(){try{var e=Tp&&Tp.require&&Tp.require("util").types;return e||jp&&jp.binding&&jp.binding("util")}catch(e){}}(),Dp=Op,Rp=Dp&&Dp.isTypedArray,Pp=Rp?Ip(Rp):function(e){return gp(e)&&$p(e.length)&&!!Ap[lh(e)]},Lp=Object.prototype.hasOwnProperty;function Np(e,t){var n=cp(e),i=!n&&vp(e),a=!n&&!i&&Cp(e),r=!n&&!i&&!a&&Pp(e),s=n||i||a||r,o=s?function(e,t){for(var n=-1,i=Array(e);++n0){if(++am>=800)return arguments[0]}else am=0;return im.apply(void 0,arguments)});function om(e,t){return sm(function(e,t,n){return t=Jg(void 0===t?e.length-1:t,0),function(){for(var i=arguments,a=-1,r=Jg(i.length-t,0),s=Array(r);++a1?n[a-1]:void 0,s=a>2?n[2]:void 0;for(r=e.length>3&&"function"==typeof r?(a--,r):void 0,s&&cm(n[0],n[1],s)&&(r=a<3?void 0:r,a=1),t=Object(t);++i-1}function Pm(e,t,n){for(var i=-1,a=null==e?0:e.length;++i=Nm){var l=t?null:Lm(e);if(l)return Uh(l);s=!1,a=Nh,c=new Ph}else c=t?[]:o;e:for(;++ie[0].toUpperCase()+e.substring(1))).join(" ")}function Bm(e,t,n){const i=e[t];return e.splice(t,1),e.splice(n,0,i),e}const qm=e=>Array.isArray(e)?e:[e],Um=e=>e instanceof Set?e:new Set(qm(e));function Wm(e,t,n){return!function(e,t,n){var i=(n="function"==typeof n?n:void 0)?n(e,t):void 0;return void 0===i?yg(e,t,void 0,n):!!i}(e,t,n)}function Zm(e,t=console.warn){e instanceof $o&&e.context?t(e,e.context):t("object"==typeof e&&"message"in e?e.message:e)}const Qm=()=>window.matchMedia("(hover: hover) and (pointer: fine)").matches,Gm=(e,t)=>qu(e,"yyyy-MM-dd HH:mm"+(t?":ss":"")),Ym=e=>qu(e,"yyyy-MM-dd"),Km=(e,t)=>{window.requestIdleCallback?window.requestIdleCallback(e,{...t&&{timeout:t}}):e()};function Xm(e,t){const n=function(e,t,n){const i=au(e,t)/Zd;return iu(n?.roundingMethod)(i)}(t,e),i=function(e,t,n){const i=au(e,t)/Wd;return iu(n?.roundingMethod)(i)}(t,e)-60*n;let a="";return n&&(a+=`${n}h `),i&&(a+=`${i}m `),a+=`${ru(t,e)-60*n*60-60*i}s`,a}const Jm=async(e,t)=>await Promise.all(Array.from(e).map((e=>t(e)))),ef=e=>new Date(`${e}T00:00:00`),tf=async e=>{await new Promise((t=>setTimeout(t,1e3*e)))},nf=e=>!isNaN(e.getTime()),af=(e,t,n,i)=>{t?e.setAttribute(n,i??""):e.removeAttribute(n)},rf=e=>!!e,sf=e=>e instanceof HTMLElement,of=e=>(e instanceof HTMLSlotElement?e.assignedElements({flatten:!0}):[...e.children]).filter(sf),cf=e=>e?.ratio&&2===e.ratio.length?`${e.ratio[0]} / ${e.ratio[1]}`:e?.defaultStatic?"16 / 9":"auto",lf=e=>({"aspect-ratio":cf(e)}),df=e=>{if(Array.isArray(e))return e.filter((e=>void 0!==e)).map((e=>df(e)));if("object"==typeof e&&null!==e){const t={};for(const n in e)t[n]=df(e[n]);return t}return e},uf=(e,t,n)=>Om(e,n)===Om(t,n);function hf(e){if(!e)return null;const t=Ac.safeParse(e);return t.success?t.data:null}function pf(e,t){return{action:"fire-dom-event",frigate_card_action:e,...t?.cardID&&{card_id:t.cardID}}}function gf(e,t,n){return{action:"fire-dom-event",frigate_card_action:e,camera:t,...n?.cardID&&{card_id:n.cardID}}}function mf(e,t,n){return{action:"fire-dom-event",frigate_card_action:"media_player",media_player:e,media_player_action:t,...n?.cardID&&{card_id:n.cardID}}}function ff(e){return{action:"fire-dom-event",frigate_card_action:"ptz_multi",...e?.cardID&&{card_id:e.cardID},...e?.ptzAction&&{ptz_action:e.ptzAction},...e?.ptzPhase&&{ptz_phase:e.ptzPhase},...e?.ptzPreset&&{ptz_preset:e.ptzPreset},...e?.targetID&&{target_id:e.targetID}}}function _f(e,t){return e&&t?"tap"===e&&t.tap_action?t.tap_action:"hold"===e&&t.hold_action?t.hold_action:"double_tap"===e&&t.double_tap_action?t.double_tap_action:"end_tap"===e&&t.end_tap_action?t.end_tap_action:"start_tap"===e&&t.start_tap_action?t.start_tap_action:null:null}const yf=e=>qm(e).some((e=>function(e){return void 0!==e&&"none"!==e.action}(e))),vf=e=>{e.stopPropagation()};class bf{constructor(){this._timer=null,this._repeated=!1}stop(){this._timer&&(this._repeated?window.clearInterval(this._timer):window.clearTimeout(this._timer),this._timer=null)}isRunning(){return null!==this._timer}start(e,t){this.stop(),this._timer=window.setTimeout((()=>{this._timer=null,t()}),1e3*e),this._repeated=!1}startRepeated(e,t){this.stop(),this._timer=window.setInterval((()=>{t()}),1e3*e),this._repeated=!0}}class wf extends HTMLElement{constructor(){super(...arguments),this.holdTime=.4,this.holdTimer=new bf,this.doubleClickTimer=new bf,this.held=!1,this.started=!1}connectedCallback(){["touchcancel","mouseout","mouseup","touchmove","mousewheel","wheel","scroll"].forEach((e=>{document.addEventListener(e,(()=>{this.holdTimer.stop()}),{passive:!0})}))}bind(e,t){if(e.actionHandlerOptions)return void(e.actionHandlerOptions=t);e.actionHandlerOptions=t,e.addEventListener("contextmenu",(e=>{const t=e||window.event;return t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.cancelBubble=!0,t.returnValue=!1,!1}));const n=()=>{this.held=!1,this.holdTimer.start(this.holdTime,(()=>{this.held=!0})),this.started||(this.started=!0,et(e,"action",{action:"start_tap"}))},i=t=>{this.holdTimer.stop(),this.started&&(this.started=!1,et(e,"action",{action:"end_tap"}))},a=t=>{const n=e.actionHandlerOptions;n?.allowPropagation||vf(t),["touchend","touchcancel"].includes(t.type)&&!this.held||(i(),n?.hasHold&&this.held?et(e,"action",{action:"hold"}):n?.hasDoubleClick?"click"===t.type&&t.detail<2||!this.doubleClickTimer.isRunning()?this.doubleClickTimer.start(.25,(()=>et(e,"action",{action:"tap"}))):(this.doubleClickTimer.stop(),et(e,"action",{action:"double_tap"})):et(e,"action",{action:"tap"}))};e.addEventListener("touchstart",n,{passive:!0}),e.addEventListener("touchend",a),e.addEventListener("touchcancel",a),e.addEventListener("mousedown",n,{passive:!0}),e.addEventListener("click",a),e.addEventListener("keyup",(e=>{"Enter"===e.key&&a(e)})),e.addEventListener("mouseleave",i)}}customElements.define("action-handler-frigate-card",wf);const xf=(e,t)=>{const n=(()=>{const e=document.body;if(e.querySelector("action-handler-frigate-card"))return e.querySelector("action-handler-frigate-card");const t=document.createElement("action-handler-frigate-card");return e.appendChild(t),t})();n&&n.bind(e,t)},Cf=me(class extends fe{update(e,[t]){return xf(e.element,t),U}render(e){}});var Mf=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)op(t,pp(e)),e=Dg(e);return t}:dp;function Sf(e){return lp(e,Gg,Mf)}var kf=Object.prototype.hasOwnProperty;var Ef=/\w*$/;var $f=eh?eh.prototype:void 0,Af=$f?$f.valueOf:void 0;var If="[object Boolean]",zf="[object Date]",Tf="[object Map]",jf="[object Number]",Of="[object RegExp]",Df="[object Set]",Rf="[object String]",Pf="[object Symbol]",Lf="[object ArrayBuffer]",Nf="[object DataView]",Ff="[object Float32Array]",Vf="[object Float64Array]",Hf="[object Int8Array]",Bf="[object Int16Array]",qf="[object Int32Array]",Uf="[object Uint8Array]",Wf="[object Uint8ClampedArray]",Zf="[object Uint16Array]",Qf="[object Uint32Array]";function Gf(e,t,n){var i,a,r,s=e.constructor;switch(t){case Lf:return Ig(e);case If:case zf:return new s(+e);case Nf:return function(e,t){var n=t?Ig(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case Ff:case Vf:case Hf:case Bf:case qf:case Uf:case Wf:case Zf:case Qf:return zg(e,n);case Tf:return new s;case jf:case Rf:return new s(e);case Of:return(r=new(a=e).constructor(a.source,Ef.exec(a))).lastIndex=a.lastIndex,r;case Df:return new s;case Pf:return i=e,Af?Object(Af.call(i)):{}}}var Yf=Dp&&Dp.isMap,Kf=Yf?Ip(Yf):function(e){return gp(e)&&"[object Map]"==ug(e)};var Xf=Dp&&Dp.isSet,Jf=Xf?Ip(Xf):function(e){return gp(e)&&"[object Set]"==ug(e)},e_=1,t_=2,n_=4,i_="[object Arguments]",a_="[object Function]",r_="[object GeneratorFunction]",s_="[object Object]",o_={};function c_(e,t,n,i,a,r){var s,o=t&e_,c=t&t_,l=t&n_;if(n&&(s=a?n(e,i,a,r):n(e)),void 0!==s)return s;if(!dh(e))return e;var d=cp(e);if(d){if(s=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&kf.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!o)return Tg(e,s)}else{var u=ug(e),h=u==a_||u==r_;if(Cp(e))return Ag(e,o);if(u==s_||u==i_||h&&!a){if(s=c||h?{}:Rg(e),!o)return c?function(e,t){return Wg(e,Mf(e),t)}(e,function(e,t){return e&&Wg(t,Gg(t),e)}(s,e)):function(e,t){return Wg(e,pp(e),t)}(e,function(e,t){return e&&Wg(t,Wp(t),e)}(s,e))}else{if(!o_[u])return a?e:{};s=Gf(e,u,o)}}r||(r=new Rh);var p=r.get(e);if(p)return p;r.set(e,s),Jf(e)?e.forEach((function(i){s.add(c_(i,t,n,i,e,r))})):Kf(e)&&e.forEach((function(i,a){s.set(a,c_(i,t,n,a,e,r))}));var g=d?void 0:(l?c?Sf:Zp:c?Gg:Wp)(e);return function(e,t){for(var n=-1,i=null==e?0:e.length;++nvoid 0===globalThis.DOMException?new m_(e):new DOMException(e),__=e=>{const t=void 0===e.reason?f_("This operation was aborted."):e.reason;return t instanceof Error?t:f_(t)};class y_{#e=[];enqueue(e,t){const n={priority:(t={priority:0,...t}).priority,run:e};if(this.size&&this.#e[this.size-1].priority>=t.priority)return void this.#e.push(n);const i=function(e,t,n){let i=0,a=e.length;for(;a>0;){const r=Math.trunc(a/2);let s=i+r;n(e[s],t)<=0?(i=++s,a-=r+1):a=r}return i}(this.#e,n,((e,t)=>t.priority-e.priority));this.#e.splice(i,0,n)}dequeue(){const e=this.#e.shift();return e?.run}filter(e){return this.#e.filter((t=>t.priority===e.priority)).map((e=>e.run))}get size(){return this.#e.length}}class v_ extends p_{#t;#n;#i=0;#a;#r;#s=0;#o;#c;#e;#l;#d=0;#u;#h;#p;timeout;constructor(e){if(super(),!("number"==typeof(e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:y_,...e}).intervalCap&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(void 0===e.interval||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#t=e.carryoverConcurrencyCount,this.#n=e.intervalCap===Number.POSITIVE_INFINITY||0===e.interval,this.#a=e.intervalCap,this.#r=e.interval,this.#e=new e.queueClass,this.#l=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#p=!0===e.throwOnTimeout,this.#h=!1===e.autoStart}get#g(){return this.#n||this.#i{this.#y()}),t)),!0;this.#i=this.#t?this.#d:0}return!1}#_(){if(0===this.#e.size)return this.#o&&clearInterval(this.#o),this.#o=void 0,this.emit("empty"),0===this.#d&&this.emit("idle"),!1;if(!this.#h){const e=!this.#w;if(this.#g&&this.#m){const t=this.#e.dequeue();return!!t&&(this.emit("active"),t(),e&&this.#b(),!0)}}return!1}#b(){this.#n||void 0!==this.#o||(this.#o=setInterval((()=>{this.#v()}),this.#r),this.#s=Date.now()+this.#r)}#v(){0===this.#i&&0===this.#d&&this.#o&&(clearInterval(this.#o),this.#o=void 0),this.#i=this.#t?this.#d:0,this.#x()}#x(){for(;this.#_(););}get concurrency(){return this.#u}set concurrency(e){if(!("number"==typeof e&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#u=e,this.#x()}async#C(e){return new Promise(((t,n)=>{e.addEventListener("abort",(()=>{n(e.reason)}),{once:!0})}))}async add(e,t={}){return t={timeout:this.timeout,throwOnTimeout:this.#p,...t},new Promise(((n,i)=>{this.#e.enqueue((async()=>{this.#d++,this.#i++;try{t.signal?.throwIfAborted();let i=e({signal:t.signal});t.timeout&&(i=function(e,t){const{milliseconds:n,fallback:i,message:a,customTimers:r={setTimeout:setTimeout,clearTimeout:clearTimeout}}=t;let s;const o=new Promise(((o,c)=>{if("number"!=typeof n||1!==Math.sign(n))throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${n}\``);if(t.signal){const{signal:e}=t;e.aborted&&c(__(e)),e.addEventListener("abort",(()=>{c(__(e))}))}if(n===Number.POSITIVE_INFINITY)return void e.then(o,c);const l=new g_;s=r.setTimeout.call(void 0,(()=>{if(i)try{o(i())}catch(e){c(e)}else"function"==typeof e.cancel&&e.cancel(),!1===a?o():a instanceof Error?c(a):(l.message=a??`Promise timed out after ${n} milliseconds`,c(l))}),n),(async()=>{try{o(await e)}catch(e){c(e)}})()})),c=o.finally((()=>{c.clear()}));return c.clear=()=>{r.clearTimeout.call(void 0,s),s=void 0},c}(Promise.resolve(i),{milliseconds:t.timeout})),t.signal&&(i=Promise.race([i,this.#C(t.signal)]));const a=await i;n(a),this.emit("completed",a)}catch(e){if(e instanceof g_&&!t.throwOnTimeout)return void n();i(e),this.emit("error",e)}finally{this.#f()}}),t),this.emit("add"),this.#_()}))}async addAll(e,t){return Promise.all(e.map((async e=>this.add(e,t))))}start(){return this.#h?(this.#h=!1,this.#x(),this):this}pause(){this.#h=!0}clear(){this.#e=new this.#l}async onEmpty(){0!==this.#e.size&&await this.#M("empty")}async onSizeLessThan(e){this.#e.sizethis.#e.size{const i=()=>{t&&!t()||(this.off(e,i),n())};this.on(e,i)}))}get size(){return this.#e.size}sizeBy(e){return this.#e.filter(e).length}get pending(){return this.#d}get isPaused(){return this.#h}}var b_={frigate_card:"Frigate card",frigate_card_description:"A Lovelace card for use with Frigate",live:"Live",no_media:"No media to display",recordings:"Recordings",version:"Version"},w_={cameras:{camera_entity:"Camera Entity",capabilities:{capabilities:{clips:"Clips","favorite-events":"Favorite Events","favorite-recordings":"Favorite Recordings",live:"Live",menu:"Menu",ptz:"PTZ",recordings:"Recordings",seek:"Seeking",snapshots:"Snapshots",substream:"Substream"},disable:"Disable",disable_except:"Disable except",editor_label:"Camera capabilities"},cast:{dashboard:{dashboard_path:"Dashboard path",view_path:"View path"},editor_label:"Cast options",method:"Cast method",methods:{dashboard:"Dashboard",standard:"Standard"}},dependencies:{all_cameras:"Show events for all cameras with this camera",cameras:"Show events for specific cameras with this camera",editor_label:"Dependency options"},dimensions:{aspect_ratio:"Static aspect ratio",editor_label:"Camera dimensions",layout:{editor_label:"Camera Layout",fit:"Layout fit",fits:{contain:"Media is contained/letterboxed",cover:"Media expands proportionally to cover the card",fill:"Media is stretched to fill the card"},pan:{x:"Pan horizontal percentage",y:"Pan vertical percentage"},position:{editor_label:"Layout Cover Position",x:"Horizontal placement percentage",y:"Vertical placement percentage"},view_box:{bottom:"Bottom inset percentage",editor_label:"Layout View Box",left:"Left inset percentage",right:"Right inset percentage",top:"Top inset percentage"},zoom:"Zoom factor"}},engines:{editor_label:"Camera engine options"},frigate:{camera_name:"Frigate camera name (Autodetected from entity)",client_id:"Frigate client id (For >1 Frigate server)",editor_label:"Frigate options",labels:"Frigate labels/object filters",url:"Frigate server URL",zones:"Frigate zones"},go2rtc:{editor_label:"go2rtc Options",modes:{editor_label:"go2rtc Modes",mjpeg:"Motion JPEG (MJPEG)",mp4:"MPEG-4 (MP4)",mse:"Media Source Extensions (MSE)",webrtc:"Web Real-Time Communication (WebRTC)"},stream:"go2rtc stream name"},icon:"Icon for this camera (Autodetected from entity)",id:"Unique id for this camera in this card",image:{editor_label:"Image Options",refresh_seconds:"Number of seconds after which to refresh live image (0=never)",url:"Image URL to use instead of camera entity snapshot"},live_provider:"Live view provider for this camera",live_provider_options:{editor_label:"Live provider options"},live_providers:{auto:"Automatic",go2rtc:"go2rtc",ha:"Home Assistant video stream (i.e. HLS, LL-HLS, WebRTC via HA)",image:"Home Assistant images",jsmpeg:"JSMpeg","webrtc-card":"WebRTC Card (i.e. AlexxIT's WebRTC Card)"},motioneye:{editor_label:"MotionEye options",images:{directory_pattern:"Images directory pattern",file_pattern:"Images file pattern"},movies:{directory_pattern:"Movies directory pattern",file_pattern:"Movies file pattern"},url:"MotionEye UI URL"},proxy:{dynamic:"Dynamic proxying",editor_label:"Camera proxying",media:{auto:"Media proxying automatically configured",editor_label:"Media proxying",false:"Media proxying disabled",true:"Media proxying enabled"},ssl_ciphers:{auto:"SSL ciphers automatically configured",default:"Default SSL ciphers",editor_label:"SSL ciphers",insecure:"Insecure SSL ciphers",intermediate:"Intermediate SSL ciphers",modern:"Modern SSL ciphers"},ssl_verification:{auto:"SSL verification automatically configured",editor_label:"SSL verification",false:"SSL verification disabled",true:"SSL verification enabled"}},reolink:{editor_label:"Reolink options",media_resolution:{editor_label:"Media Resolution",high:"High Resolution",low:"Low Resolution"},url:"Reolink UI URL"},title:"Title for this camera (Autodetected from entity)",triggers:{editor_label:"Trigger options",entities:"Trigger from other entities",events:{clips:"Events with new clips",editor_label:"Trigger Events",events:"All events",snapshots:"Events with new snapshots"},motion:"Trigger by auto-detecting the motion sensor",occupancy:"Trigger by auto-detecting the occupancy sensor"},webrtc_card:{editor_label:"WebRTC Card Options",entity:"WebRTC Card Camera Entity (Not a Frigate camera)",url:"WebRTC Card Camera URL"}},common:{controls:{builtin:"Built-in video controls",filter:{editor_label:"Media Filter",mode:"Filter mode",modes:{left:"Media filter in a drawer to the left",none:"No media filter",right:"Media filter in a drawer to the right"}},next_previous:{editor_label:"Next & Previous",size:"Next & previous control size in pixels",style:"Next & previous control style",styles:{chevrons:"Chevrons",icons:"Icons",none:"None",thumbnails:"Thumbnails"}},thumbnails:{editor_label:"Thumbnails",events_media_type:"Whether to show event thumbnails of clips or snapshots",events_media_types:{clips:"Clip thumbnails",snapshots:"Snapshot thumbnails"},media_type:"Whether to show thumnails of events or recordings",media_types:{events:"Events",recordings:"Recordings"},mode:"Thumbnails mode",modes:{above:"Thumbnails above",below:"Thumbnails below",left:"Thumbnails in a drawer to the left",none:"No thumbnails",right:"Thumbnails in a drawer to the right"},show_details:"Show details with thumbnails",show_download_control:"Show download control on thumbnails",show_favorite_control:"Show favorite control on thumbnails",show_timeline_control:"Show timeline control on thumbnails",size:"Thumbnails size in pixels"},timeline:{editor_label:"Mini Timeline",mode:"Mode",modes:{above:"Above",below:"Below",none:"None"},pan_mode:"Default pan mode",pan_modes:{pan:"Pan",seek:"Pan seeks across all media","seek-in-camera":"Pan seeks within selected camera only","seek-in-media":"Pan seeks within selected media item only"}}},display:{editor_label:"Display",grid_columns:"Exact number of grid columns",grid_max_columns:"Maximum number of grid columns",grid_selected_width_factor:"Increase selected media width by this factor",mode:"Mode"},image:{entity:"Entity for use with entity mode",entity_parameters:"Query parameters added to the entity-based picture URLs (e.g. width=1920&height=1080)",mode:"Image mode",modes:{camera:"Home Assistant camera snapshot of camera entity",entity:"Entity with entity_picture attribute",screensaver:"Embedded Frigate logo",url:"Arbitrary image specified by URL"},refresh_seconds:"Number of seconds after which to refresh (0=never)",url:"Static image URL"},media_action_conditions:{all:"All opportunities",hidden:"On browser/tab hiding",microphone_mute:"On microphone mute",microphone_unmute:"On microphone unmute",never:"Never",selected:"On selection",unselected:"On unselection",visible:"On browser/tab visibility"},timeline:{clustering_threshold:"The count of events at which they are clustered (0=no clustering)",events_media_type:"The events media the timeline displays",events_media_types:{all:"All event media types",clips:"Clips",snapshots:"Snapshots"},show_recordings:"Show recordings",style:"Timeline style",styles:{ribbon:"Events on a single ribbon",stack:"Stacked & clustered events"},window_seconds:"The default length of the timeline view in seconds"}},dimensions:{aspect_ratio:"Default aspect ratio (e.g. '16:9')",aspect_ratio_mode:"Aspect ratio mode",aspect_ratio_modes:{dynamic:"Aspect ratio adjusts to media",static:"Static aspect ratio",unconstrained:"Unconstrained aspect ratio"},height:"Card height in CSS units (e.g. '500px')"},live:{auto_mute:"Automatically mute live cameras",auto_pause:"Automatically pause live cameras",auto_play:"Automatically play live cameras",auto_unmute:"Automatically unmute live cameras",controls:{editor_label:"Live Controls",ptz:{editor_label:"PTZ",hide_home:"Hide home control",hide_pan_tilt:"Hide pan & tilt control",hide_zoom:"Hide zoom control",mode:"Mode",modes:{off:"Off",on:"On"},orientation:"Orientation",orientations:{horizontal:"Horizontal",vertical:"Vertical"},position:"Position",positions:{"bottom-left":"Bottom left","bottom-right":"Bottom right","top-left":"Top left","top-right":"Top right"}}},draggable:"Live cameras view can be dragged/swiped",lazy_load:"Live cameras are lazily loaded",lazy_unload:"Live cameras are lazily unloaded",microphone:{always_connected:"Always keep the microphone connected",disconnect_seconds:"Seconds after which to disconnect microphone (0=never)",editor_label:"Microphone",enabled:"Microphone enabled",mute_after_microphone_mute_seconds:"Seconds after microphone mute to mute inbound audio"},preload:"Preload live view in the background",show_image_during_load:"Show still image while the live stream is loading",transition_effect:"Live camera transition effect",zoomable:"Live cameras can be zoomed/panned"},media_viewer:{auto_mute:"Automatically mute media",auto_pause:"Automatically pause media",auto_play:"Automatically play media",auto_unmute:"Automatically unmute media",controls:{editor_label:"Media Viewer Controls"},draggable:"Media Viewer can be dragged/swiped",lazy_load:"Media Viewer media is lazily loaded in carousel",snapshot_click_plays_clip:"Clicking on a snapshot plays a related clip",transition_effect:"Media Viewer transition effect",transition_effects:{none:"No transition",slide:"Slide transition"},zoomable:"Media Viewer can be zoomed/panned"},menu:{alignment:"Menu alignment",alignments:{bottom:"Aligned to the bottom",left:"Aligned to the left",right:"Aligned to the right",top:"Aligned to the top"},button_size:"Menu button size in pixels",buttons:{alignment:"Button alignment",alignments:{matching:"Matching the menu alignment",opposing:"Opposing the menu alignment"},camera_ui:"Camera user interface",cameras:"Cameras",clips:"Clips",display_mode:"Display mode",download:"Download",enabled:"Button enabled",expand:"Expand",frigate:"Frigate menu / Default view",fullscreen:"Fullscreen",icon:"Icon",image:"Image",live:"Live",media_player:"Send to media player",microphone:"Microphone",mute:"Mute / Unmute",permanent:"Show when the menu is hidden",play:"Play / Pause",priority:"Priority",ptz_controls:"Show PTZ controls",ptz_home:"PTZ Home",recordings:"Recordings",screenshot:"Screenshot",snapshots:"Snapshots",substreams:"Substream(s)",timeline:"Timeline",type:"Button type",types:{momentary:"Momentary",toggle:"Toggle"}},position:"Menu position",positions:{bottom:"Positioned on the bottom",left:"Positioned on the left",right:"Positioned on the right",top:"Positioned on the top"},style:"Menu style",styles:{hidden:"Hidden menu",hover:"Hover menu","hover-card":"Hover menu (card-wide)",none:"No menu",outside:"Outside menu",overlay:"Overlay menu"}},overrides:{info:"This card configuration has manually specified overrides configured which may override values shown in the visual editor, please consult the code editor to view/modify these overrides"},performance:{features:{animated_progress_indicator:"Animated Progress Indicator",editor_label:"Feature Options",max_simultaneous_engine_requests:"Max simultaneous camera engine requests",media_chunk_size:"Media chunk size"},style:{border_radius:"Curves",box_shadow:"Shadows",editor_label:"Style Options"},warning:"This card is in low profile mode so defaults have changed to optimize performance"},profiles:{casting:"Casting",editor_label:"Configuration profiles","low-performance":"Low performance",scrubbing:"Video scrubbing"},status_bar:{height:"Status bar height in pixels",items:{enabled:"Item enabled",engine:"Camera engine",live_provider:"Live provider",priority:"Item priority",resolution:"Resolution",technology:"Technology",title:"Title"},popup_seconds:"Status bar popup seconds",position:"Status bar position",positions:{bottom:"Positioned on the bottom",top:"Positioned on the top"},style:"Status bar style",styles:{hover:"Hover status bar","hover-card":"Hover status bar (card-wide)",none:"No status bar",outside:"Outside status bar",overlay:"Overlay status bar",popup:"Popup status bar"}},view:{camera_select:"View for newly selected cameras",dark_mode:"Dark mode",dark_modes:{auto:"Auto",off:"Off",on:"On"},default:"Default view",default_cycle_camera:"Cycle through cameras when default view updates",default_reset:{after_interaction:"Reset to the default view after user interaction ends",editor_label:"Default view reset behavior",entities:"Reset to the default view on entity state change",every_seconds:"Reset to default view every X seconds (0=never)",interaction_mode:"How default reset behaves when the card has human interaction",interaction_modes:{active:"Only allow reset when card has active human interaction",all:"Reset regardless of human interaction",inactive:"Only reset when card has no human interaction"}},interaction_seconds:"Seconds after user action to remain interacted with (0=never)",keyboard_shortcuts:{editor_label:"Keyboard shortcuts",enabled:"Keyboard shortcuts enabled",ptz_down:"PTZ Down",ptz_home:"PTZ Home",ptz_left:"PTZ Left",ptz_right:"PTZ Right",ptz_up:"PTZ Up",ptz_zoom_in:"PTZ Zoom In",ptz_zoom_out:"PTZ Zoom Out"},triggers:{actions:{editor_label:"Trigger actions",interaction_mode:"How to handle actions when the card has human interaction",interaction_modes:{active:"Only trigger actions when card has human interaction",all:"Trigger actions regardless of human interaction",inactive:"Only trigger actions when card has no human interaction"},trigger:"Trigger action",triggers:{default:"Change to or update default view",live:"Change to or update live view",media:"Change to the relevant media view for new media",none:"No action"},untrigger:"Untrigger action",untriggers:{default:"Change to default view/camera",none:"No action"}},editor_label:"Trigger behavior",filter_selected_camera:"Only trigger on selected camera",show_trigger_status:"Show pulsing border when triggered",untrigger_seconds:"Seconds after inactive state change to untrigger"},views:{clip:"Most recent clip",clips:"Clips gallery",current:"Current view",image:"Static image",live:"Live view",recording:"Most recent recording",recordings:"Recordings gallery",snapshot:"Most recent snapshot",snapshots:"Snapshots gallery",timeline:"Timeline view"}}},x_={grid:"Show media viewer for each camera in a grid",single:"Show single media viewer"},C_={add_new_camera:"Add new camera",button:"Button",camera:"Camera",cameras:"Cameras",cameras_secondary:"What cameras to render on this card",delete:"Delete",dimensions:"Card dimensions",dimensions_secondary:"Card dimensions & shape options",image:"Image",image_secondary:"Static image view options",live:"Live",live_secondary:"Live camera view options",media_gallery:"Media gallery",media_gallery_secondary:"Media gallery options",media_viewer:"Media viewer",media_viewer_secondary:"Viewer for static media (clips, snapshots or recordings)",menu:"Menu",menu_secondary:"Menu look & feel options",move_down:"Move down",move_up:"Move up",overrides:"Overrides are active",overrides_secondary:"Dynamic configuration overrides detected",performance:"Performance",performance_secondary:"Card performance options",profiles:"Configuration profiles",profiles_secondary:"Choose pre-configured sets of defaults",status_bar:"Status bar",status_bar_secondary:"Status bar look & feel options",timeline:"Timeline",timeline_secondary:"Event timeline options",upgrade:"Upgrade",upgrade_available:"An automatic card configuration upgrade is available",view:"View",view_secondary:"What the card should show and how to show it"},M_={ptz:{down:"Down",home:"Home",left:"Left",right:"Right",up:"Up",zoom_in:"Zoom In",zoom_out:"Zoom Out"}},S_={awaiting_live:"Waiting for live stream to load ...",awaiting_media:"Waiting for media to load",camera_initialization:"Camera initialization failed",camera_initialization_reolink:"Could not initialize Reolink camera",could_not_render_elements:"Could not render picture elements",could_not_resolve:"Could not resolve media URL",diagnostics:"Card diagnostics. Please review for confidential information prior to sharing",download_no_media:"No media to download",download_sign_failed:"Could not sign media URL for download",duplicate_camera_id:"Duplicate Frigate camera id for the following camera, use the 'id' parameter to uniquely identify cameras",empty_response:"Received empty response from Home Assistant for request",failed_response:"Failed to receive response from Home Assistant for request",failed_retain:"Could not retain event",failed_sign:"Could not sign Home Assistant URL",image_load_error:"The image could not be loaded",invalid_configuration:"Invalid configuration",invalid_configuration_no_hint:"No location hint available (bad or missing type?)",invalid_configuration_override:"Invalid override configuration",invalid_elements_config:"Invalid picture elements configuration",invalid_response:"Received invalid response from Home Assistant for request",jsmpeg_no_player:"Could not start JSMPEG player",live_camera_no_endpoint:"Could not get camera endpoint for this live provider (incomplete configuration?)",live_camera_not_found:"The configured camera_entity was not found",live_camera_unavailable:"Camera unavailable",no_camera_engine:"Could not determine suitable engine for camera",no_camera_entity:"Could not find camera entity",no_camera_entity_for_triggers:"A camera entity is required in order to autodetect triggers",no_camera_id:"Could not determine camera id for the following camera, may need to set 'id' parameter manually",no_camera_name:"Could not determine a Frigate camera name for camera (or one of its dependents), please specify either 'camera_entity' or 'camera_name'",no_dashboard_or_view:"Both 'dashboard_path' and 'view_path' parameters are required for the 'dashboard' cast method",no_live_camera:"The camera_entity parameter must be set and valid for this live provider",no_supported_camera:"The selected camera does not support this view",no_supported_cameras:"No cameras support this view",reconnecting:"Reconnecting",too_many_automations:"Too many nested automation calls, please check your configuration for loops",troubleshooting:"Check troubleshooting",unknown:"Unknown error",upgrade_available:"An automated card configuration upgrade is available, please visit the visual card editor",webrtc_card_reported_error:"WebRTC Card reported an error",webrtc_card_waiting:"Waiting for WebRTC Card to load ..."},k_={camera:"Camera",duration:"Duration",in_progress:"In Progress",score:"Score",seek:"Seek",start:"Start",tag:"Tag",what:"What",where:"Where"},E_={assign:"Assign",modifiers:{alt:"Alt",ctrl:"Ctrl",meta:"Meta",shift:"Shift"},unassign:"Unassign"},$_={all:"All",camera:"Camera",favorite:"Favorite",media_type:"Media Type",media_types:{clips:"Clips",recordings:"Recordings",snapshots:"Snapshots"},not_favorite:"Not Favorite",select_camera:"Select camera...",select_favorite:"Select favorite...",select_media_type:"Select media type...",select_tag:"Select tag...",select_what:"Select what...",select_when:"Select when...",select_where:"Select where...",tag:"Tag",what:"What",when:"When",whens:{custom:"Custom",past_month:"Past Month",past_week:"Past Week",today:"Today",yesterday:"Yesterday"},where:"Where"},A_={unseekable:"Seek time not found in media"},I_={camera:"Camera",duration:"Duration",events:"Events",in_progress:"In Progress",seek:"Seek",start:"Start"},z_={download:"Download media",no_thumbnail:"No thumbnail available",retain_indefinitely:"Media will be indefinitely retained",timeline:"See media in timeline"},T_={select_date:"Choose date"},j_={common:b_,config:w_,display_modes:x_,editor:C_,elements:M_,error:S_,event:k_,key_assigner:E_,media_filter:$_,media_viewer:A_,recording:I_,thumbnail:z_,timeline:T_},O_=Object.freeze({__proto__:null,common:b_,config:w_,default:j_,display_modes:x_,editor:C_,elements:M_,error:S_,event:k_,key_assigner:E_,media_filter:$_,media_viewer:A_,recording:I_,thumbnail:z_,timeline:T_});const D_="en",R_={[D_]:O_};let P_;function L_(e){const t=e=>e.replace("-","_"),n=e?.language??e?.selectedLanguage;if(n)return t(n);const i=localStorage.getItem("selectedLanguage");if(i){const e=JSON.parse(i);if(e)return t(e)}for(const e of navigator.languages){const n=t(e);if(n&&n in R_)return n}return D_}function N_(e,t="",n=""){let i="";try{i=e.split(".").reduce(((e,t)=>e[t]),R_[P_??D_])}catch(e){}return i||(i=e.split(".").reduce(((e,t)=>e[t]),R_[D_])),""!==t&&""!==n&&(i=i.replace(t,n)),i}function F_(e){return"string"==typeof e?.id&&e.id||"string"==typeof e?.camera_entity&&e.camera_entity||"object"==typeof e?.webrtc_card&&e.webrtc_card&&("string"==typeof e.webrtc_card.entity&&e.webrtc_card.entity||"string"==typeof e.webrtc_card.url&&e.webrtc_card.url)||"object"==typeof e?.go2rtc&&e.go2rtc&&"string"==typeof e.go2rtc.url&&"string"==typeof e.go2rtc.stream&&`${e.go2rtc.url}#${e.go2rtc.stream}`||"object"==typeof e?.frigate&&e.frigate&&"string"==typeof e?.frigate.camera_name&&e.frigate.camera_name||""}const V_=(e,...t)=>{e?.debug?.logging&&console.debug(...t)},H_=(e,t,n)=>"preset"===t?(n?.preset?e.ptz.presets?.[n.preset]:null)??null:n?.phase?e.ptz[`actions_${t}_${n.phase}`]??null:e.ptz[`actions_${t}`]??null,B_=(e,t,n)=>!!H_(e,t,n),q_=(e,t)=>{const n=B_(e,t,{phase:"start"})&&B_(e,t,{phase:"stop"}),i=B_(e,t);return n||i?[...n?["continuous"]:[],...i?["relative"]:[]]:null},U_=e=>{const t=q_(e,"left"),n=q_(e,"right"),i=q_(e,"up"),a=q_(e,"down"),r=q_(e,"zoom_in"),s=q_(e,"zoom_out"),o=e.ptz.presets?Object.keys(e.ptz.presets):void 0;return t?.length||n?.length||i?.length||a?.length||r?.length||s?.length||o?.length?{...t?{left:t}:{},...n?{right:n}:{},...i?{up:i}:{},...a?{down:a}:{},...r?{zoomIn:r}:{},...s?{zoomOut:s}:{},...o?{presets:o}:{}}:null};class W_{constructor(e,t){this._capabilities=e;for(const e of t?.disable??[])this._disable(e);for(const e of Io)t?.disableExcept?.length&&!t.disableExcept.includes(e)&&this._disable(e)}_disable(e){delete this._capabilities[e]}matches(e){let t=!0;return"string"==typeof e&&(t&&=this.has(e)),"object"==typeof e&&e.allCapabilities&&(t&&=e.allCapabilities.every((e=>this.has(e)))),"object"==typeof e&&e.anyCapabilities&&(t&&=e.anyCapabilities.some((e=>this.has(e)))),t}has(e){return!!this._capabilities[e]}getPTZCapabilities(){return this._capabilities.ptz??null}hasPTZCapability(){return!!(this._capabilities.ptz?.down?.length||this._capabilities.ptz?.up?.length||this._capabilities.ptz?.left?.length||this._capabilities.ptz?.right?.length||this._capabilities.ptz?.zoomIn?.length||this._capabilities.ptz?.zoomOut?.length||this._capabilities.ptz?.presets?.length)}getRawCapabilities(){return this._capabilities}}function Z_(e,t,n){var i=-1,a=e.length;t<0&&(t=-t>a?0:a+t),(n=n>a?a:n)<0&&(n+=a),a=t>n?0:n-t>>>0,t>>>=0;for(var r=Array(a);++it||r&&s&&c&&!o&&!l||i&&s&&c||!n&&c||!a)return 1;if(!i&&!r&&!l&&e=o?c:c*("desc"==n[i]?-1:1)}return e.index-t.index}(e,t,n)}))}function Sy(e,t,n,i){return null==e?[]:(cp(t)||(t=null==t?[]:[t]),cp(n=i?void 0:n)||(n=null==n?[]:[n]),My(e,t,n))}async function ky(e,t,n,i=!1){let a;try{a=await e.callWS(n)}catch(e){if(!(e instanceof Error))throw new $o(N_("error.failed_response"),{request:n,response:e});throw e}if(!a)throw new $o(N_("error.empty_response"),{request:n});const r=i?t.safeParse(JSON.parse(a)):t.safeParse(a);if(!r.success)throw new $o(N_("error.invalid_response"),{request:n,response:a,invalid_keys:Oo(r.error)});return r.data}const Ey=bi.lazy((()=>bi.object({title:bi.string(),media_class:bi.string(),media_content_type:bi.string(),media_content_id:bi.string(),can_play:bi.boolean(),can_expand:bi.boolean(),children_media_class:bi.string().nullable().optional(),thumbnail:bi.string().nullable(),children:bi.array(Ey).nullable().optional()}))),$y="video",Ay="image",Iy=60,zy=e=>Sy(e,(e=>e._metadata?.startDate),"desc");class Ty{async walkBrowseMedias(e,t,n){return t&&t.length?(await Jm(t,(async t=>await this._walkBrowseMedia(e,t,n)))).flat():[]}async _walkBrowseMedia(e,t,n){let i=[];for(const a of function(e,t,n){t=(n?cm(e,t,n):void 0===t)?1:G_(Mm(t),0);var i=null==e?0:e.length;if(!i||t<1)return[];for(var a=0,r=0,s=Array(Q_(i/t));aawait this._browseMedia(e,i,{cache:n?.cache,metadataGenerator:t.metadataGenerator})));for(const e of r)for(const n of e.children??[])t.matcher(n)&&i.push(n);if(t.sorter&&(i=t.sorter(i)),t.earlyExit&&t.earlyExit(i))break}const a=t.advance?t.advance(i):null;return a?.length?await this.walkBrowseMedias(e,a,n):i}async _browseMedia(e,t,n){const i="object"==typeof t?t.media_content_id:t,a=n?.cache?n.cache.get(i):null;if(a)return a;const r={type:"media_source/browse_media",media_content_id:i},s=await ky(e,Ey,r);if(n?.metadataGenerator)for(const e of s.children??[])e._metadata=n.metadataGenerator(e,"object"==typeof t?t:void 0)??void 0;return n?.cache&&n.cache.set(i,s,Bd(new Date,{seconds:60})),s}}function jy(e,t){return yg(e,t)}function Oy(e,t){return e&&e.length?function(e,t){for(var n=-1,i=e.length,a=0,r=[];++nPy(t,e)))}add(e){this._ranges.push(e),this._ranges=Ny(this._ranges)}clear(){this._ranges=[]}}class Ry{constructor(e){this._ranges=e??[]}hasCoverage(e){const t=new Date;return this._ranges.some((n=>tet.start>=e.start&&t.end<=e.end,Ly=(e,t)=>e.start>=t.start&&e.start<=t.end||e.end>=t.start&&e.end<=t.end||e.start<=t.start&&e.end>=t.end,Ny=(e,t=0)=>{const n=[];e=Sy(e,(e=>e.start),"asc");let i=null;for(const a of e){const e=a.start instanceof Date?a.start.getTime():a.start;if(!i){i={...a};continue}(i.end instanceof Date?i.end.getTime():i.end)+1e3*t>=e?a.end>i.end&&(i.end=a.end):(n.push(i),i={...a})}return i&&n.push(i),n};class Fy{constructor(){this._data=[]}get(e){const t=new Date;for(const n of this._data)if((!n.expires||t<=n.expires)&&this._contains(e,n.request))return n.response;return null}clear(){this._data=[]}has(e){return!!this.get(e)}set(e,t,n){this._data.push({request:e,response:t,expires:n}),this._expireOldRequests()}_contains(e,t){return jy(e,t)}_expireOldRequests(){const e=new Date;this._data=this._data.filter((t=>!t.expires||e=e.start.getTime()){if(i>e.end.getTime())break;t.push(n)}}return t}getSize(){return this._data.length}expireMatches(e){this._data=this._data.filter((t=>!e(t)))}}class By{constructor(){this._segments=new Map}add(e,t,n){let i=this._segments.get(e);i||(i=new Hy((e=>1e3*e.start_time),(e=>e.id)),this._segments.set(e,i)),i.add(t,n)}clear(){this._segments.clear()}hasCoverage(e,t){return!!this._segments.get(e)?.hasCoverage(t)}get(e,t){return this._segments.get(e)?.get(t)??null}getSize(e){return this._segments.get(e)?.getSize()??null}getCameraIDs(){return[...this._segments.keys()]}expireMatches(e,t){this._segments.get(e)?.expireMatches(t)}}class qy extends $o{}class Uy extends $o{}var Wy,Zy,Qy;!function(e){e.Event="event-query",e.Recording="recording-query",e.RecordingSegments="recording-segments-query",e.MediaMetadata="media-metadata"}(Wy||(Wy={})),function(e){e.Event="event-results",e.Recording="recording-results",e.RecordingSegments="recording-segments-results",e.MediaMetadata="media-metadata-results"}(Zy||(Zy={})),function(e){e.Frigate="frigate",e.Generic="generic",e.MotionEye="motioneye",e.Reolink="reolink"}(Qy||(Qy={}));const Gy=e=>e.camera_entity??e.webrtc_card?.entity??null;class Yy{constructor(e){this._entityRegistryManager=e}async createEngine(e,t){let n;switch(e){case Qy.Generic:const{GenericCameraManagerEngine:e}=await import("./engine-generic-93cdbee6.js").then((function(e){return e.e}));n=new e(t.stateWatcher,t.eventCallback);break;case Qy.Frigate:const{FrigateCameraManagerEngine:i}=await import("./engine-frigate-be325e58.js");n=new i(this._entityRegistryManager,t.stateWatcher,new By,new Vy,t.eventCallback);break;case Qy.MotionEye:const{MotionEyeCameraManagerEngine:a}=await import("./engine-motioneye-aba6e54b.js");n=new a(this._entityRegistryManager,t.stateWatcher,new Ty,t.resolvedMediaCache,new Vy,t.eventCallback);break;case Qy.Reolink:const{ReolinkCameraManagerEngine:r}=await import("./engine-reolink-a43e6d37.js");n=new r(this._entityRegistryManager,t.stateWatcher,new Ty,t.resolvedMediaCache,new Vy,t.eventCallback)}return n}async getEngineForCamera(e,t){let n=null;if("frigate"===t.engine)n=Qy.Frigate;else if("motioneye"===t.engine)n=Qy.MotionEye;else if("generic"===t.engine)n=Qy.Generic;else if("reolink"===t.engine)n=Qy.Reolink;else{const i=Gy(t);if(i){const a=await this._entityRegistryManager.getEntity(e,i);if(!a){if(e.states[i])return Qy.Generic;throw new qy(N_("error.no_camera_entity"),t)}switch(a?.platform){case"frigate":n=Qy.Frigate;break;case"motioneye":n=Qy.MotionEye;break;case"reolink":n=Qy.Reolink;break;default:n=Qy.Generic}}else t.frigate.camera_name?n=Qy.Frigate:(t.webrtc_card?.url||t.go2rtc?.url&&t.go2rtc?.stream)&&(n=Qy.Generic)}return n}}class Ky{constructor(){this._cameras=new Map,this._enginesByType=new Map}addCamera(e){this._cameras.set(e.getID(),e),this._enginesByType.set(e.getEngine().getEngineType(),e.getEngine())}async setCameras(e){for(const t of e){const e=this._cameras.get(t.getID());e!==t&&(this.addCamera(t),await(e?.destroy()))}for(const t of this._cameras.values())e.includes(t)||(await t.destroy(),this._cameras.delete(t.getID()))}async reset(){await Jm(this._cameras.values(),(e=>e.destroy())),this._cameras.clear(),this._enginesByType.clear()}getCamera(e){return this._cameras.get(e)??null}getCameras(){return this._cameras}getCameraConfig(e){return this._cameras.get(e)?.getConfig()??null}hasCameraID(e){return this._cameras.has(e)}getCameraCount(){return this._cameras.size}getDefaultCameraID(){return this._cameras.keys().next().value??null}*getCameraConfigs(e){for(const[t,n]of this.getCameraConfigEntries(e))yield n}*getCameraConfigEntries(e){for(const t of e??this._cameras.keys()){const e=this.getCameraConfig(t);e&&(yield[t,e])}}getCameraIDs(){return new Set(this._cameras.keys())}getCameraIDsWithCapability(e){const t=new Set;for(const n of this._cameras.values())n.getCapabilities()?.matches(e)&&t.add(n.getID());return t}getCameraConfigForMedia(e){return this.getCameraConfig(e.getCameraID())}getEngineOfType(e){return this._enginesByType.get(e)??null}getEngineForCameraID(e){return this._cameras.get(e)?.getEngine()??null}getEnginesForCameraIDs(e){const t=new Map;for(const n of e){const e=this.getEngineForCameraID(n);e&&(t.has(e)||t.set(e,new Set),t.get(e)?.add(n))}return t.size?t:null}getEngineForMedia(e){return this.getEngineForCameraID(e.getCameraID())}getAllDependentCameras(e,t){const n=new Set,i=new Set,a=e=>{n.add(e);const r=this.getCamera(e),s=r?.getConfig();if(r&&s){t&&!r.getCapabilities()?.matches(t)||i.add(e);const o=new Set;s.dependencies.cameras.forEach((e=>o.add(e))),s.dependencies.all_cameras&&this.getCameraIDs().forEach((e=>o.add(e)));for(const e of o)n.has(e)||a(e)}};return a(e),i}}const Xy=e=>{return Sy((n=e=>e.getID()??e,(t=e)&&t.length?Fm(t,by(n)):[]),(e=>e.getStartTime()??e.getID()),"asc");var t,n};class Jy{static isEventQuery(e){return e.type===Wy.Event}static isRecordingQuery(e){return e.type===Wy.Recording}static isRecordingSegmentsQuery(e){return e.type===Wy.RecordingSegments}static isMediaMetadataQuery(e){return e.type===Wy.MediaMetadata}}class ev{static isEventQueryResult(e){return e.type===Zy.Event}static isRecordingQueryResult(e){return e.type===Zy.Recording}static isRecordingSegmentsQueryResult(e){return e.type===Zy.RecordingSegments}static isMediaMetadataQueryResult(e){return e.type===Zy.MediaMetadata}}class tv{constructor(e,t){this._requestLimit=new v_,this._api=e,this._engineFactory=t?.factory??new Yy(this._api.getEntityRegistryManager()),this._store=t?.store??new Ky}async initializeCamerasFromConfig(){const e=this._api.getConfigManager().getConfig(),t=this._api.getHASSManager().getHASS();if(!e||!t)return!1;this._requestLimit.concurrency=e.performance.features.max_simultaneous_engine_requests??1/0;const n=e.cameras.map((t=>{return n={},i=l_(e?.cameras_global),dm(n,i,t,((e,t)=>Array.isArray(t)?t:void 0));var n,i}));try{await this._initializeCameras(n)}catch(e){return this._api.getMessageManager().setErrorIfHigherPriority(e,N_("error.camera_initialization")),!1}return!0}async reset(){await this._store.reset()}async _getEnginesForCameras(e){const t=new Map,n=new Map,i=this._api.getHASSManager().getHASS(); -/* istanbul ignore if: the if path cannot be reached -- @preserve */ -if(!i)return t;const a=await(async e=>await Jm(e,(e=>this._engineFactory.getEngineForCamera(i,e))))(e);for(const[i,r]of e.entries()){const e=a[i],s=e?n.get(e)??await this._engineFactory.createEngine(e,{eventCallback:e=>this._api.getTriggersManager().handleCameraEvent(e),stateWatcher:this._api.getHASSManager().getStateWatcher(),resolvedMediaCache:this._api.getResolvedMediaCache()}):null;if(!s||!e)throw new qy(N_("error.no_camera_engine"),l_(r));n.set(e,s),t.set(r,s)}return t}async _initializeCameras(e){const t=new Date,n=this._api.getHASSManager().getHASS(); -/* istanbul ignore if: the if path cannot be reached -- @preserve */ -if(!n)return;e.some((e=>(e=>e.triggers.motion||e.triggers.occupancy)(e)))&&await this._api.getEntityRegistryManager().fetchEntityList(n);const i=await this._getEnginesForCameras(e),a=await Jm(i.entries(),(async([e,t])=>await t.createCamera(n,e))),r=async()=>{a.forEach((e=>e.destroy()))},s=new Set;for(const e of a){const t=F_(e.getConfig());if(!t)throw await r(),new qy(N_("error.no_camera_id"),e.getConfig());if(s.has(t))throw await r(),new qy(N_("error.duplicate_camera_id"),e.getConfig());e.setID(t),s.add(t)}await this._store.setCameras(a),V_(this._api.getConfigManager().getCardWideConfig(),"Frigate Card CameraManager initialized (Cameras: ",this._store.getCameras(),`, Duration: ${((new Date).getTime()-t.getTime())/1e3}s,`,")")}isInitialized(){return this._store.getCameraCount()>0}getStore(){return this._store}generateDefaultEventQueries(e,t){return this._generateDefaultQueries(e,{type:Wy.Event,...t})}generateDefaultRecordingQueries(e,t){return this._generateDefaultQueries(e,{type:Wy.Recording,...t})}generateDefaultRecordingSegmentsQueries(e,t){return this._generateDefaultQueries(e,{type:Wy.RecordingSegments,...t})}_generateDefaultQueries(e,t){const n=[],i=Um(e),a=this._store.getEnginesForCameraIDs(i);if(!a)return null;for(const[e,i]of a){let a=null; -/* istanbul ignore else: the else path cannot be reached -- @preserve */Jy.isEventQuery(t)?a=e.generateDefaultEventQuery(this._store,i,t):Jy.isRecordingQuery(t)?a=e.generateDefaultRecordingQuery(this._store,i,t):Jy.isRecordingSegmentsQuery(t)&&(a=e.generateDefaultRecordingSegmentsQuery(this._store,i,t));for(const e of a??[])n.push(e)}return n.length?n:null}async getMediaMetadata(){const e=new Set,t=new Set,n=new Set,i=new Set,a={type:Wy.MediaMetadata,cameraIDs:this._store.getCameraIDs()},r=await this._handleQuery(a);for(const a of r.values())a.metadata.tags&&a.metadata.tags.forEach(e.add,e),a.metadata.what&&a.metadata.what.forEach(t.add,t),a.metadata.where&&a.metadata.where.forEach(n.add,n),a.metadata.days&&a.metadata.days.forEach(i.add,i);return t.size||n.size||i.size||e.size?{...e.size&&{tags:e},...t.size&&{what:t},...n.size&&{where:n},...i.size&&{days:i}}:null}async getEvents(e,t){return await this._handleQuery(e,t)}async getRecordings(e,t){return await this._handleQuery(e,t)}async getRecordingSegments(e,t){return await this._handleQuery(e,t)}async executeMediaQueries(e,t){return this._convertQueryResultsToMedia(await this._handleQuery(e,t))}async extendMediaQueries(e,t,n,i){if(!this._api.getHASSManager().getHASS())return null;const a=e=>{let n=null;for(const i of t){const t=i.getStartTime();t&&(!n||"earliest"===e&&tn)&&(n=t)}return n},r=this._api.getConfigManager().getCardWideConfig()?.performance?.features.media_chunk_size??50,s=[],o=[];for(const t of e){const e={...t}; -/* istanbul ignore else: the else path cannot be reached -- @preserve */if("later"===n){const t=a("latest");t&&(e.start=t,delete e.end)}else if("earlier"===n){const t=a("earliest");t&&(e.end=t,delete e.start)}e.limit=r,o.push({...t,limit:(t.limit??0)+r}),s.push(e)}const c=this._convertQueryResultsToMedia(await this._handleQuery(s,i));if(!c.length)return null;const l=Xy(t.concat(c));return l.length===t.length?null:{queries:o,results:l}}async getMediaDownloadPath(e){const t=this._store.getCameraConfigForMedia(e),n=this._store.getEngineForMedia(e),i=this._api.getHASSManager().getHASS();return t&&n&&i?await n.getMediaDownloadPath(i,t,e):null}getMediaCapabilities(e){const t=this._store.getEngineForMedia(e);return t?t.getMediaCapabilities(e):null}async favoriteMedia(e,t){const n=this._store.getCameraConfigForMedia(e),i=this._store.getEngineForMedia(e),a=this._api.getHASSManager().getHASS();if(!n||!i||!a)return;const r=new Date;await this._requestLimit.add((()=>i.favoriteMedia(a,n,e,t))),V_(this._api.getConfigManager().getCardWideConfig(),"Frigate Card CameraManager favorite request (",`Duration: ${((new Date).getTime()-r.getTime())/1e3}s,`,"Media:",e.getID(),", Favorite:",t,")")}areMediaQueriesResultsFresh(e,t){const n=new Date;for(const i of e){const e=this._store.getEnginesForCameraIDs(i.cameraIDs);for(const[a,r]of e??[]){const e=a.getQueryResultMaxAge({...i,cameraIDs:r});if(null!==e&&Bd(t,{seconds:e})i?null:await this._requestLimit.add((()=>a.getMediaSeekTime(r,this._store,e,t)))??null}async _handleQuery(e,t){const n=qm(e),i=new Map,a=new Date,r=this._api.getHASSManager().getHASS();if(!r)return i;const s=async(e,n)=>{let a=null; -/* istanbul ignore else: the else path cannot be reached -- @preserve */Jy.isEventQuery(n)?a=await e.getEvents(r,this._store,n,t):Jy.isRecordingQuery(n)?a=await e.getRecordings(r,this._store,n,t):Jy.isRecordingSegmentsQuery(n)?a=await e.getRecordingSegments(r,this._store,n,t):Jy.isMediaMetadataQuery(n)&&(a=await e.getMediaMetadata(r,this._store,n,t)),a?.forEach(((e,t)=>i.set(t,e)))},o=async e=>{const t=this._store.getEnginesForCameraIDs(e.cameraIDs);t&&await Promise.all(Array.from(t.keys()).map((n=>this._requestLimit.add((()=>s(n,{...e,cameraIDs:t.get(n)}))))))};await Promise.all(n.map((e=>o(e))));const c=(l=Array.from(i.values()).map((e=>Number(e.cached??0))))&&l.length?function(e,t){for(var n,i=-1,a=e.length;++ithis._store.getCamera(e))).filter(rf);return new W_({live:t.some((e=>e.getCapabilities()?.has("live"))),clips:t.some((e=>e.getCapabilities()?.has("clips"))),recordings:t.some((e=>e.getCapabilities()?.has("recordings"))),snapshots:t.some((e=>e.getCapabilities()?.has("snapshots"))),"favorite-events":t.some((e=>e.getCapabilities()?.has("favorite-events"))),"favorite-recordings":t.some((e=>e.getCapabilities()?.has("favorite-recordings"))),seek:t.some((e=>e.getCapabilities()?.has("seek"))),menu:t.some((e=>e.getCapabilities()?.has("menu")))})}async executePTZAction(e,t,n){const i=this._store.getCameraConfig(e);if(!i)return;const a=H_(i,t,n);if(a)return await this._api.getActionsManager().executeActions(a);const r=this._api.getHASSManager().getHASS(),s=this._store.getEngineForCameraID(e);return s&&r?await this._requestLimit.add((()=>s.executePTZAction(r,i,t,n))):void 0}}class nv{constructor(e){this._cache=new Map,this._keyCallback=e}has(e){return this._cache.has(e)}getMatches(e){return[...this._cache.values()].filter(e)}get(e){return this._cache.get(e)??null}add(e){const t=e=>this._cache.set(this._keyCallback(e),e);Array.isArray(e)?e.forEach(t):t(e)}}const iv=bi.object({id:bi.string(),model:bi.string().nullable(),config_entries:bi.string().array(),manufacturer:bi.string().nullable()}).array();class av{constructor(e){this._fetchedDeviceList=!1,this._cache=e}async getDevice(e,t){return this._cache.has(t)?this._cache.get(t):(await this._fetchDeviceList(e),this._cache.get(t)??null)}async getMatchingDevices(e,t){return await this._fetchDeviceList(e),this._cache.getMatches(t)}async _fetchDeviceList(e){if(this._fetchedDeviceList)return;let t=null;try{t=await ky(e,iv,{type:"config/device_registry/list"})}catch(e){return void Zm(e)}this._cache.add(t),this._fetchedDeviceList=!0}}const rv=bi.object({config_entry_id:bi.string().nullable(),device_id:bi.string().nullable(),disabled_by:bi.string().nullable(),entity_id:bi.string(),hidden_by:bi.string().nullable(),platform:bi.string(),translation_key:bi.string().nullable(),unique_id:bi.string().or(bi.number()).optional()}),sv=rv.array();class ov{constructor(e){this._fetchedEntityList=!1,this._cache=e}async getEntity(e,t){const n=this._cache.get(t);if(n)return n;let i=null;try{i=await ky(e,rv,{type:"config/entity_registry/get",entity_id:t})}catch(e){return Zm(e),null}return this._cache.add(i),i}async getMatchingEntities(e,t){return await this.fetchEntityList(e),this._cache.getMatches(t)}async getEntities(e,t){const n=new Map;return await Promise.all(t.map((async t=>{const i=await this.getEntity(e,t);i&&n.set(t,i)}))),n}async fetchEntityList(e){if(this._fetchedEntityList)return;let t=null;try{t=await ky(e,sv,{type:"config/entity_registry/list"})}catch(e){return void Zm(e)}this._cache.add(t),this._fetchedEntityList=!0}}class cv extends Map{constructor(e={}){if(super(),!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");if("number"==typeof e.maxAge&&0===e.maxAge)throw new TypeError("`maxAge` must be a number greater than 0");this.maxSize=e.maxSize,this.maxAge=e.maxAge||Number.POSITIVE_INFINITY,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_emitEvictions(e){if("function"==typeof this.onEviction)for(const[t,n]of e)this.onEviction(t,n.value)}_deleteIfExpired(e,t){return"number"==typeof t.expiry&&t.expiry<=Date.now()&&("function"==typeof this.onEviction&&this.onEviction(e,t.value),this.delete(e))}_getOrDeleteIfExpired(e,t){if(!1===this._deleteIfExpired(e,t))return t.value}_getItemValue(e,t){return t.expiry?this._getOrDeleteIfExpired(e,t):t.value}_peek(e,t){const n=t.get(e);return this._getItemValue(e,n)}_set(e,t){this.cache.set(e,t),this._size++,this._size>=this.maxSize&&(this._size=0,this._emitEvictions(this.oldCache),this.oldCache=this.cache,this.cache=new Map)}_moveToRecent(e,t){this.oldCache.delete(e),this._set(e,t)}*_entriesAscending(){for(const e of this.oldCache){const[t,n]=e;if(!this.cache.has(t)){!1===this._deleteIfExpired(t,n)&&(yield e)}}for(const e of this.cache){const[t,n]=e;!1===this._deleteIfExpired(t,n)&&(yield e)}}get(e){if(this.cache.has(e)){const t=this.cache.get(e);return this._getItemValue(e,t)}if(this.oldCache.has(e)){const t=this.oldCache.get(e);if(!1===this._deleteIfExpired(e,t))return this._moveToRecent(e,t),t.value}}set(e,t,{maxAge:n=this.maxAge}={}){const i="number"==typeof n&&n!==Number.POSITIVE_INFINITY?Date.now()+n:void 0;return this.cache.has(e)?this.cache.set(e,{value:t,expiry:i}):this._set(e,{value:t,expiry:i}),this}has(e){return this.cache.has(e)?!this._deleteIfExpired(e,this.cache.get(e)):!!this.oldCache.has(e)&&!this._deleteIfExpired(e,this.oldCache.get(e))}peek(e){return this.cache.has(e)?this._peek(e,this.cache):this.oldCache.has(e)?this._peek(e,this.oldCache):void 0}delete(e){const t=this.cache.delete(e);return t&&this._size--,this.oldCache.delete(e)||t}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}resize(e){if(!(e&&e>0))throw new TypeError("`maxSize` must be a number greater than 0");const t=[...this._entriesAscending()],n=t.length-e;n<0?(this.cache=new Map(t),this.oldCache=new Map,this._size=t.length):(n>0&&this._emitEvictions(t.slice(0,n)),this.oldCache=new Map(t.slice(n)),this.cache=new Map,this._size=0),this.maxSize=e}*keys(){for(const[e]of this)yield e}*values(){for(const[,e]of this)yield e}*[Symbol.iterator](){for(const e of this.cache){const[t,n]=e;!1===this._deleteIfExpired(t,n)&&(yield[t,n.value])}for(const e of this.oldCache){const[t,n]=e;if(!this.cache.has(t)){!1===this._deleteIfExpired(t,n)&&(yield[t,n.value])}}}*entriesDescending(){let e=[...this.cache];for(let t=e.length-1;t>=0;--t){const n=e[t],[i,a]=n;!1===this._deleteIfExpired(i,a)&&(yield[i,a.value])}e=[...this.oldCache];for(let t=e.length-1;t>=0;--t){const n=e[t],[i,a]=n;if(!this.cache.has(i)){!1===this._deleteIfExpired(i,a)&&(yield[i,a.value])}}}*entriesAscending(){for(const[e,t]of this._entriesAscending())yield[e,t.value]}get size(){if(!this._size)return this.oldCache.size;let e=0;for(const t of this.oldCache.keys())this.cache.has(t)||e++;return Math.min(this._size+e,this.maxSize)}entries(){return this.entriesAscending()}forEach(e,t=this){for(const[n,i]of this.entriesAscending())e.call(t,i,n,this)}get[Symbol.toStringTag](){return JSON.stringify([...this.entriesAscending()])}}class lv{constructor(){this._cache=new cv({maxSize:1e3})}has(e){return this._cache.has(e)}get(e){return this._cache.get(e)}set(e,t){this._cache.set(e,t)}}const dv=async(e,t,n)=>{const i=n?n.get(t):void 0;if(i)return i;const a={type:"media_source/resolve_media",media_content_id:t};let r=null;try{r=await ky(e,zo,a)}catch(e){Zm(e)}return n&&r&&n.set(t,r),r};class uv{constructor(e,t,n){this._context=e,this._action=t,this._config=n}async execute(e){}async stop(){}}class hv extends uv{}class pv extends hv{async execute(e){const t=this._action.camera??(this._action.triggered?e.getTriggersManager().getMostRecentlyTriggeredCameraID():null),n=e.getViewManager().getView(),i=e.getConfigManager().getConfig();if(t&&n){const a=i?.view.camera_select??"current",r="current"===a?n.view:a;await e.getViewManager().setViewByParametersWithNewQuery({params:{view:r,camera:t},failSafe:!0})}}}class gv extends hv{async execute(e){e.getCameraURLManager().openURL()}}class mv extends hv{async execute(e){await e.getViewManager().setViewDefaultWithNewQuery()}}class fv extends hv{async execute(e){await e.getViewManager().setViewByParametersWithNewQuery({params:{displayMode:this._action.display_mode}})}}class _v extends hv{async execute(e){await e.getDownloadManager().downloadViewerMedia()}}class yv extends hv{async execute(e){e.getExpandManager().toggleExpanded()}}class vv extends hv{async execute(e){e.getFullscreenManager().toggleFullscreen()}}class bv extends uv{async execute(e){const t=e.getHASSManager().getHASS();t&&it(e.getCardElementManager().getElement(),t,this._config??{},this._action)}}class wv extends hv{async execute(e){console[this._action.level](this._action.message)}}const xv=(e,t)=>e.context?.live?.overrides?.get(t??e.camera)??t??e.camera,Cv=e=>xv(e)!==e.camera,Mv=(e,t)=>{const n=e.context?.live?.overrides??new Map;n.set(e.camera,t),e.mergeInContext({live:{overrides:n}})};class Sv extends hv{async execute(e){const t=this._action.media_player,n=e.getMediaPlayerManager(),i=e.getViewManager().getView(),a=i?.queryResults?.getSelectedResult()??null;"stop"===this._action.media_player_action?await n.stop(t):i?.is("live")?await n.playLive(t,xv(i)):i?.isViewerView()&&a&&await n.playMedia(t,a)}}class kv extends hv{async execute(e){e.getCardElementManager().toggleMenu()}}class Ev extends hv{async execute(e){await e.getMicrophoneManager().connect()}}class $v extends hv{async execute(e){e.getMicrophoneManager().disconnect()}}class Av extends hv{async execute(e){e.getMicrophoneManager().mute()}}class Iv extends hv{async execute(e){await e.getMicrophoneManager().unmute()}}class zv extends hv{async execute(e){await(e.getMediaLoadedInfoManager().get()?.player?.mute())}}class Tv extends hv{async execute(e){await(e.getMediaLoadedInfoManager().get()?.player?.pause())}}class jv extends hv{async execute(e){await(e.getMediaLoadedInfoManager().get()?.player?.play())}}const Ov=(e,t)=>{if(e.isViewerView()){const n=e.queryResults?.getSelectedResult()?.getID()??null;return"ptz"!==t?.type&&n?{targetID:n,type:"digital"}:null}if(e.is("live")){const n=xv(e);let i="digital";return"digital"!==t?.type&&t?.cameraManager&&(Dv(t.cameraManager,n)&&(i="ptz"),"ptz"!==i&&"ptz"===t?.type)?null:{targetID:n,type:i}}return null},Dv=(e,t)=>!!e.getStore().getCamera(t)?.getCapabilities()?.hasPTZCapability();var Rv=lm((function(e,t,n){Kg(e,t,n)}));const Pv=(e,t)=>{t?.[e]?.inProgressAction?.stop()},Lv=(e,t,n,i)=>{Rv(t,{[n]:{[e]:{inProgressAction:i}}})};class Nv extends hv{constructor(){super(...arguments),this._timer=new bf}async stop(){this._timer.stop()}async execute(e){const t=e.getViewManager().getView();if(!t)return;const n=this._action.camera??Ov(t,{type:"ptz",cameraManager:e.getCameraManager()})?.targetID??null,i=n?e.getCameraManager().getCameraCapabilities(n)?.getPTZCapabilities():null,a=n?e.getCameraManager().getStore().getCameraConfig(n)?.ptz:null;if(!n||!i||!a)return;if(!this._action.ptz_action)return void(i.presets&&i.presets.length>=1&&await e.getCameraManager().executePTZAction(n,"preset",{phase:this._action.ptz_phase,preset:i.presets[0]}));const r=(e=>{switch(e){case"left":case"right":case"up":case"down":return e;case"zoom_in":return"zoomIn";case"zoom_out":return"zoomOut"}return null})(this._action.ptz_action);if(r&&i[r]?.includes(this._action.ptz_phase?"continuous":"relative")||"preset"===this._action.ptz_action)return await e.getCameraManager().executePTZAction(n,this._action.ptz_action,{phase:this._action.ptz_phase,preset:this._action.ptz_preset});if("start"===this._action.ptz_phase){Pv(n,this._context.ptz),Lv(n,this._context,"ptz",this);const t=async()=>{this._action.ptz_action&&await e.getCameraManager().executePTZAction(n,this._action.ptz_action,{preset:this._action.ptz_preset}),this._timer.start(a.r2c_delay_between_calls_seconds,t)};await t()}else"stop"===this._action.ptz_phase?Pv(n,this._context.ptz):(await e.getCameraManager().executePTZAction(n,this._action.ptz_action,{preset:this._action.ptz_preset,phase:"start"}),this._timer.start(a.c2r_delay_between_calls_seconds,(async()=>{this._action.ptz_action&&await e.getCameraManager().executePTZAction(n,this._action.ptz_action,{preset:this._action.ptz_preset,phase:"stop"})})))}}class Fv extends hv{async execute(e){e.getViewManager().setViewWithMergedContext({ptzControls:{enabled:this._action.enabled}})}}function Vv(e,t,n){return void 0===n&&(n=t,t=void 0),void 0!==n&&(n=(n=wm(n))==n?n:0),void 0!==t&&(t=(t=wm(t))==t?t:0),function(e,t,n){return e==e&&(void 0!==n&&(e=e<=n?e:n),void 0!==t&&(e=e>=t?e:t)),e}(wm(e),t,n)}const Hv=50,Bv=50,qv=1,Uv=4,Wv=e=>void 0===e?.pan?.x&&void 0===e?.pan?.y&&void 0===e?.zoom;class Zv{constructor(e){this._context=e}modify(e){e.mergeInContext(this._context)}}const Qv=(e,t)=>({zoom:{[e]:{observed:t?.observed??void 0,requested:t?.requested??null}}}),Gv=(e,t,n)=>{t&&n&&t.setViewByParameters({modifiers:[new Zv(Qv(n,{observed:e.detail}))]})};class Yv extends hv{constructor(){super(...arguments),this._timer=new bf}async _stepChange(e,t){e.getViewManager().setViewWithMergedContext(Qv(t,{requested:this._convertActionToZoomSettings(e.getViewManager().getView()?.context?.zoom?.[t]?.observed)}))}async stop(){this._timer.stop()}async execute(e){const t=e.getViewManager().getView();if(!t)return;const n=this._action.target_id??Ov(t,{type:"digital",cameraManager:e.getCameraManager()})?.targetID;return n?this._action.absolute||!this._action.ptz_phase?await this._stepChange(e,n): -/* istanbul ignore else: the else path cannot be reached -- @preserve */ -void("start"===this._action.ptz_phase?(Pv(n,this._context.ptzDigital),Lv(n,this._context,"ptzDigital",this),await this._stepChange(e,n),this._timer.startRepeated(.1,(()=>this._stepChange(e,n)))):"stop"===this._action.ptz_phase&&(Pv(n,this._context.ptzDigital),delete this._context.ptzDigital?.[n])):void 0}_convertActionToZoomSettings(e){if(!this._action.absolute&&!this._action.ptz_action)return{};if(this._action.absolute)return this._action.absolute;const t=e?.zoom??1,n=e?.pan?.x??50,i=e?.pan?.y??50,a="zoom_in"===this._action.ptz_action?.1:"zoom_out"===this._action.ptz_action?-.1:0,r="left"===this._action.ptz_action?-5:"right"===this._action.ptz_action?5:0,s="up"===this._action.ptz_action?-5:"down"===this._action.ptz_action?5:0;return{zoom:Vv(t+a,1,10),pan:{x:Vv(n+r,0,100),y:Vv(i+s,0,100)}}}}class Kv extends hv{async execute(e){const t=e.getViewManager().getView();let n=null,i=null;if(this._action.target_id)n=this._action.target_id,i=Dv(e.getCameraManager(),n)?"ptz":"digital";else if(t){const a=Ov(t,{cameraManager:e.getCameraManager()});n=a?.targetID??null,i=a?.type??null}n&&null!==i&&("ptz"===i?this._toPTZAction(n):this._toPTZDigitalAction(n)).execute(e)}_toPTZAction(e){return new Nv(this._context,(t={cardID:this._action.card_id,cameraID:e,ptzAction:this._action.ptz_action,ptzPhase:this._action.ptz_phase,ptzPreset:this._action.ptz_preset},{action:"fire-dom-event",frigate_card_action:"ptz",...t?.cardID&&{card_id:t.cardID},...t?.ptzAction&&{ptz_action:t.ptzAction},...t?.ptzPhase&&{ptz_phase:t.ptzPhase},...t?.ptzPreset&&{ptz_preset:t.ptzPreset},...t?.cameraID&&{camera:t.cameraID}}),this._config);var t}_toPTZDigitalAction(e){return new Yv(this._context,(t={cardID:this._action.card_id,ptzPhase:this._action.ptz_phase,ptzAction:this._action.ptz_action,targetID:e},{action:"fire-dom-event",frigate_card_action:"ptz_digital",...t?.cardID&&{card_id:t.cardID},...t?.ptzAction&&{ptz_action:t.ptzAction},...t?.ptzPhase&&{ptz_phase:t.ptzPhase},...t?.absolute&&{absolute:t.absolute},...t?.targetID&&{target_id:t.targetID}}),this._config);var t}}class Xv extends hv{async execute(e){await e.getDownloadManager().downloadScreenshot()}}class Jv extends hv{async execute(e){var t;await tf((t=this._action.duration,3600*(t.h??0)+60*(t.m??0)+(t.s??0)+(t.ms??0)/1e3))}}class eb extends hv{async execute(e){switch(this._action.status_bar_action){case"reset":e.getStatusBarItemManager().removeAllDynamicStatusBarItems();break;case"add":this._action.items?.forEach((t=>e.getStatusBarItemManager().addDynamicStatusBarItem(t)));break;case"remove":this._action.items?.forEach((t=>e.getStatusBarItemManager().removeDynamicStatusBarItem(t)))}}}class tb{modify(e){(e=>{const t=e.context?.live?.overrides;t&&t.has(e.camera)&&e.context?.live?.overrides?.delete(e.camera)})(e)}}class nb extends hv{async execute(e){e.getViewManager().setViewByParameters({modifiers:[new tb]})}}class ib{constructor(e){this._api=e}modify(e){const t=[...this._api.getCameraManager().getStore().getAllDependentCameras(e.camera,"substream")];if(t.length<=1)return;const n=xv(e),i=t.indexOf(n),a=i<0?0:(i+1)%t.length;Mv(e,t[a])}}class ab extends hv{async execute(e){e.getViewManager().setViewByParameters({modifiers:[new ib(e)]})}}class rb{constructor(e){this._substreamID=e}modify(e){Mv(e,this._substreamID)}}class sb extends hv{async execute(e){e.getViewManager().setViewByParameters({modifiers:[new rb(this._action.camera)]})}}class ob extends hv{async execute(e){await(e.getMediaLoadedInfoManager().get()?.player?.unmute())}}class cb extends hv{async execute(e){await e.getViewManager().setViewByParametersWithNewQuery({params:{view:this._action.frigate_card_action}})}}class lb{createAction(e,t,n){const i=hf(t);if("fire-dom-event"!==t.action||!i)return new bv(e,t,n?.config);if(i.card_id&&i.card_id!==n?.cardID)return null;switch(i.frigate_card_action){case"default":return new mv(e,i,n?.config);case"clip":case"clips":case"image":case"live":case"recording":case"recordings":case"snapshot":case"snapshots":case"timeline":case"diagnostics":return new cb(e,i,n?.config);case"sleep":return new Jv(e,i,n?.config);case"download":return new _v(e,i,n?.config);case"camera_ui":return new gv(e,i,n?.config);case"expand":return new yv(e,i,n?.config);case"fullscreen":return new vv(e,i,n?.config);case"menu_toggle":return new kv(e,i,n?.config);case"camera_select":return new pv(e,i,n?.config);case"live_substream_select":return new sb(e,i,n?.config);case"live_substream_off":return new nb(e,i,n?.config);case"live_substream_on":return new ab(e,i,n?.config);case"media_player":return new Sv(e,i,n?.config);case"microphone_connect":return new Ev(e,i,n?.config);case"microphone_disconnect":return new $v(e,i,n?.config);case"microphone_mute":return new Av(e,i,n?.config);case"microphone_unmute":return new Iv(e,i,n?.config);case"mute":return new zv(e,i,n?.config);case"unmute":return new ob(e,i,n?.config);case"play":return new jv(e,i,n?.config);case"pause":return new Tv(e,i,n?.config);case"screenshot":return new Xv(e,i,n?.config);case"display_mode_select":return new fv(e,i,n?.config);case"ptz":return new Nv(e,i,n?.config);case"ptz_digital":return new Yv(e,i,n?.config);case"ptz_multi":return new Kv(e,i,n?.config);case"ptz_controls":return new Fv(e,i,n?.config);case"log":return new wv(e,i,n?.config);case"status_bar":return new eb(e,i,n?.config)} -/* istanbul ignore next: this path cannot be reached -- @preserve */ -/* istanbul ignore next: this path cannot be reached -- @preserve */ -return console.warn(`Frigate card received unknown card action: ${i.frigate_card_action}`),null}}class db{constructor(e,t,n){this._actions=[],this._factory=new lb,this._stopped=!1,this._context=e;for(const i of qm(t)){const t=this._factory.createAction(e,i,n);t&&this._actions.push(t)}}async execute(e){for(const t of this._actions){if(this._stopped)break;await t.execute(e)}}async stop(){this._stopped=!0}}const ub=bi.object({action:bi.enum(["tap","double_tap","hold","start_tap","end_tap"])}),hb=bi.object({detail:ub});class pb{constructor(e){this._actionsInFlight=[],this._actionContext={},this.handleInteractionEvent=e=>{const t=hb.safeParse(e);if(!t.success)return;const n=t.data.detail.action,i=this.getMergedActions(),a=_f(n,i);i&&n&&a&&this.executeActions(a,i)},this.handleCustomActionEvent=e=>{"detail"in e&&this.executeActions(e.detail)},this.handleActionExecutionRequestEvent=async e=>{await this.executeActions(e.detail.action,e.detail.config)},this._api=e}getMergedActions(){const e=this._api.getViewManager().getView();if(this._api.getMessageManager().hasMessage())return{};const t=this._api.getConfigManager().getConfig();let n;if(e?.is("live"))n=t?.live.actions;else if(e?.isGalleryView())n=t?.media_gallery?.actions;else if(e?.isViewerView())n=t?.media_viewer.actions;else{if(!e?.is("image"))return{};n=t?.image?.actions}return{...t?.view.actions,...n}}uninitialize(){this._actionsInFlight.forEach((e=>e.stop()))}async executeActions(e,t){const n=new db(this._actionContext,e,{config:t,cardID:this._api.getConfigManager().getConfig()?.card_id});this._actionsInFlight.push(n),await n.execute(this._api),this._actionsInFlight=this._actionsInFlight.filter((e=>e!==n))}}class gb{constructor(e){this._automations=[],this._priorEvaluations=new Map,this._nestedAutomationExecutions=0,this._api=e}deleteAutomations(e){this._automations=this._automations.filter((t=>t.tag!==e))}addAutomations(e){this._automations.push(...e)}execute(){if(!this._api.getHASSManager().hasHASS()||!this._api.getInitializationManager().isInitializedMandatory()||this._api.getMessageManager().hasErrorMessage())return;const e=[];for(const t of this._automations){const n=this._api.getConditionsManager().evaluateConditions(t.conditions),i=n?t.actions:t.actions_not,a=this._priorEvaluations.get(t);this._priorEvaluations.set(t,n),n!==a&&i&&e.push(...i)}if(!e.length)return;(async e=>{++this._nestedAutomationExecutions,this._nestedAutomationExecutions>10?this._api.getMessageManager().setMessageIfHigherPriority({type:"error",message:N_("error.too_many_automations")}):(await this._api.getActionsManager().executeActions(e),--this._nestedAutomationExecutions)})(e)}}class mb{constructor(e){this._api=e}openURL(){const e=this.getCameraURL();e&&window.open(e)}hasCameraURL(){return!!this.getCameraURL()}getCameraURL(){const e=this._api.getViewManager().getView(),t=e?.queryResults?.getSelectedResult()??null,n=e?.camera?this._api.getCameraManager().getCameraEndpoints(e.camera,{view:e.view,...t&&{media:t}})??null:null;return n?.ui?.endpoint??null}}const fb=()=>!!navigator.userAgent.match(/CrKey\//);async function _b(e,t,n){const i={type:"auth/sign_path",path:t,expires:n},a=await ky(e,To,i);return a?e.hassUrl(a.path):null}function yb(e,t,n,i){if(!e||!n||!n.length)return[];const a=[];for(const r of n){const n=t?.states[r],s=e.states[r];if((i?.stateOnly&&n?.state!==s?.state||!i?.stateOnly&&n!==s)&&(a.push({entityID:r,oldState:n,newState:s}),i?.firstOnly))break}return a}function vb(e,t,n,i){return!!yb(e,t,n,{...i,firstOnly:!0}).length}function bb(e,t){return t?e?.states[t]?.attributes?.friendly_name??null:null}const wb=async()=>{if(["ha-button-menu","ha-button","ha-camera-stream","ha-card","ha-circular-progress","ha-combo-box","ha-hls-player","ha-icon-button","ha-icon","ha-menu-button","ha-selector","ha-state-icon","ha-web-rtc-player","mwc-button","mwc-list-item","state-badge"].every((e=>customElements.get(e))))return!0;const e=await window.loadCardHelpers();await e.createCardElement({type:"picture-glance",entities:[],camera_image:"dummy-to-load-editor-components"}),await customElements.whenDefined("hui-picture-glance-card");const t=customElements.get("hui-picture-glance-card");if(!t)return!1;const n=new t;return await n.constructor.getConfigElement(),!0},xb=e=>!!e&&["on","open"].includes(e),Cb=(e,t)=>{if(!e)return[];const n=Object.keys(e.states).filter((e=>!t||e.substr(0,e.indexOf("."))===t));return n.sort(),n};function Mb(e){return!!e?.startsWith("/")}function Sb(e,t){return Mb(t)?e.hassUrl(t):t??null}const kb=(e,t)=>!!((e.attributes.supported_features??0)&t);class Eb{constructor(){this._initialized=new Set}async initializeMultipleIfNecessary(e){return(await Jm(Object.entries(e),(async([e,t])=>await this.initializeIfNecessary(e,t)))).every(Boolean)}async initializeIfNecessary(e,t){return!!this._initialized.has(e)||(t?!!await t()&&(this._initialized.add(e),!0):(this._initialized.add(e),!0))}uninitialize(e){this._initialized.delete(e)}isInitialized(e){return this._initialized.has(e)}isInitializedMultiple(e){return e.every((e=>this.isInitialized(e)))}}var $b;!function(e){e.LANGUAGES="languages",e.SIDE_LOAD_ELEMENTS="side-load-elements",e.CAMERAS="cameras",e.MICROPHONE_CONNECT="microphone-connect",e.VIEW="view"}($b||($b={}));class Ab{constructor(e,t){this._initializationQueue=new v_({concurrency:1}),this._everInitialized=!1,this._api=e,this._initializer=t??new Eb}wasEverInitialized(){return this._everInitialized}isInitializedMandatory(){return!!this._api.getConfigManager().getConfig()&&this._initializer.isInitializedMultiple([$b.LANGUAGES,$b.SIDE_LOAD_ELEMENTS,$b.CAMERAS,...this._api.getMicrophoneManager().shouldConnectOnInitialization()?[$b.MICROPHONE_CONNECT]:[],$b.VIEW])}async initializeMandatory(){await this._initializationQueue.add((()=>this._initializeMandatory()))}async _initializeMandatory(){const e=this._api.getHASSManager().getHASS();if(!e||this.isInitializedMandatory())return;if(!await this._initializer.initializeMultipleIfNecessary({[$b.LANGUAGES]:async()=>await(async e=>{const t=L_(e);return"ca"===t?R_[t]=await import("./lang-ca-99b9960f.js"):"it"===t?R_[t]=await import("./lang-it-7713a746.js"):"pt"===t?R_[t]=await import("./lang-pt-PT-16f39312.js"):"pt_BR"===t?R_[t]=await import("./lang-pt-BR-ea76ed6c.js"):"fr"===t&&(R_[t]=await import("./lang-fr-e5e97bbf.js")),t&&(P_=t),!0})(e),[$b.SIDE_LOAD_ELEMENTS]:async()=>await wb()}))return;this._api.getConfigManager().getConfig()&&await this._initializer.initializeMultipleIfNecessary({[$b.CAMERAS]:async()=>await this._api.getCameraManager().initializeCamerasFromConfig(),...this._api.getMicrophoneManager().shouldConnectOnInitialization()&&{[$b.MICROPHONE_CONNECT]:async()=>await this._api.getMicrophoneManager().connect()}})&&!this._api.getMessageManager().hasMessage()&&await this._initializer.initializeIfNecessary($b.VIEW,this._api.getViewManager().initialize)&&(this._everInitialized=!0,this._api.getCardElementManager().update())}uninitialize(e){this._initializer.uninitialize(e)}}class Ib{constructor(e,t,n,i){this.update=()=>{this._element.requestUpdate()},this._api=e,this._element=t,this._scrollCallback=n,this._menuToggleCallback=i}getElement(){return this._element}scrollReset(){this._scrollCallback()}toggleMenu(){this._menuToggleCallback()}hasUpdated(){return this._element.hasUpdated}elementConnected(){this._api.getInteractionManager().initialize(),this._api.getFullscreenManager().initialize(),this._api.getExpandManager().initialize(),this._api.getMediaLoadedInfoManager().initialize(),this._api.getMicrophoneManager().initialize(),this._api.getKeyboardStateManager().initialize(),this._api.getDefaultManager().initialize(),this._api.getMediaPlayerManager().initialize(),this._api.getHASSManager().getStateWatcher()?.subscribe(this.update,[...this._api.getConfigManager().getConfig()?.view.render_entities??[],...this._api.getMediaPlayerManager().getMediaPlayers()??[]]),af(this._element,(e=>{const t=e.getRootNode();return!!(t&&t instanceof ShadowRoot&&"HUI-PANEL-VIEW"===t.host.tagName)})(this._element),"panel"),af(this._element,fb(),"casted"),this._api.getFullscreenManager().connect(),this._element.addEventListener("mousemove",this._api.getInteractionManager().reportInteraction),this._element.addEventListener("wheel",this._api.getInteractionManager().reportInteraction),this._element.addEventListener("ll-custom",this._api.getActionsManager().handleCustomActionEvent),this._element.addEventListener("action",this._api.getActionsManager().handleInteractionEvent),this._element.addEventListener("action",this._api.getInteractionManager().reportInteraction),this._element.addEventListener("frigate-card:action:execution-request",this._api.getActionsManager().handleActionExecutionRequestEvent),window.addEventListener("location-changed",this._api.getQueryStringManager().requestExecution),window.addEventListener("popstate",this._api.getQueryStringManager().requestExecution),this._api.getQueryStringManager().requestExecution(),this._element.requestUpdate()}elementDisconnected(){af(this._element,!1,"panel"),af(this._element,!1,"tabindex"),af(this._element,!1,"casted"),this._api.getMediaLoadedInfoManager().clear(),this._api.getFullscreenManager().disconnect(),this._api.getKeyboardStateManager().uninitialize(),this._api.getActionsManager().uninitialize(),this._api.getDefaultManager().uninitialize(),this._api.getHASSManager().getStateWatcher()?.unsubscribe(this.update),this._api.getInitializationManager().uninitialize($b.CAMERAS),this._api.getCameraManager().reset(),this._element.removeEventListener("mousemove",this._api.getInteractionManager().reportInteraction),this._element.removeEventListener("wheel",this._api.getInteractionManager().reportInteraction),this._element.removeEventListener("ll-custom",this._api.getActionsManager().handleCustomActionEvent),this._element.removeEventListener("action",this._api.getActionsManager().handleInteractionEvent),this._element.removeEventListener("action",this._api.getInteractionManager().reportInteraction),this._element.removeEventListener("frigate-card:action:execution-request",this._api.getActionsManager().handleActionExecutionRequestEvent),window.removeEventListener("location-changed",this._api.getQueryStringManager().requestExecution),window.removeEventListener("popstate",this._api.getQueryStringManager().requestExecution)}}function zb(e,t,n){return null==e?e:function(e,t,n,i){if(!dh(e))return e;for(var a=-1,r=(t=ry(t,e)).length,s=r-1,o=e;null!=o&&++a{zb(e,t,n)},Ob=(e,t,n)=>gy(e,t,n),Db=(e,t)=>{!function(e,t){null==e||Tb(e,t)}(e,t)},Rb=e=>l_(e),Pb=(e,t)=>e.replace("#",`[${t.toString()}]`),Lb=function(e){let t=!1;for(let n=0;n{const a=Ob(e,t);if(void 0===a)return!1;const r=i?.transform?i.transform(a):a;return!(t===n&&jy(a,r)||(null===r?i?.keepOriginal||(Db(e,t),0):void 0===r||(i?.keepOriginal||Db(e,t),jb(e,n,r),0)))})(i,e,t,n)}},Vb=function(e,t,n){return function(i){let a=Fb(e,t,n)(i);return a=qb(yo,Fb(e,t,n),(e=>e.overrides))(i)||a,a}},Hb=function(e,t){return Vb(e,e,{transform:t})},Bb=function(e){return Vb(e,e,{transform:e=>null})},qb=function(e,t,n){return function(i){let a=!1;const r=Ob(i,e);return Array.isArray(r)&&r.forEach((e=>{const i=n?n(e):e;i&&"object"==typeof i&&(a=t(i)||a)})),a}},Ub=(e,t)=>{const n=i=>{let a=!1;if(i&&"object"==typeof i){const r=t?t(i):i;r&&(a=e(r)||a),Array.isArray(i)?i.forEach((e=>{a=n(e)||a})):Object.keys(i).forEach((e=>{a=n(i[e])||a}))}return a};return n},Wb=e=>!("object"!=typeof e||!e||void 0===e.mediaLoaded)&&(e.media_loaded=e.mediaLoaded,delete e.mediaLoaded,!0),Zb=e=>{if("object"!=typeof e||!e||"object"!=typeof e.conditions||!e.conditions)return!1;const t=e.conditions,n=[];if(void 0!==t.view&&n.push({condition:"view",views:t.view}),void 0!==t.fullscreen&&n.push({condition:"fullscreen",fullscreen:t.fullscreen}),void 0!==t.expand&&n.push({condition:"expand",expand:t.expand}),void 0!==t.camera&&n.push({condition:"camera",cameras:t.camera}),void 0!==t.media_loaded&&n.push({condition:"media_loaded",media_loaded:t.media_loaded}),void 0!==t.state&&Array.isArray(t.state))for(const e of t.state)"object"!=typeof e||!e||void 0===e.state&&void 0===e.state_not&&void 0===e.entity||n.push({condition:"state",...e.state&&{state:e.state},...e.state_not&&{state_not:e.state_not},...e.entity&&{entity:e.entity}});return void 0!==t.media_query&&n.push({condition:"screen",media_query:t.media_query}),!!n.length&&(e.conditions=n,!0)},Qb=e=>!("object"!=typeof e||!e||"call-service"!==e.action||"string"!=typeof e.service)&&(e.action="perform-action",e.perform_action=e.service,delete e.service,!0),Gb=e=>!("object"!=typeof e||!e||"call-service"!==e.action||void 0===e.service||void 0===e.service_data||void 0!==e.data)&&(e.data=e.service_data,delete e.service_data,!0),Yb=e=>!("object"!=typeof e||!e||"custom:frigate-card-action"!==e.action||"frigate_ui"!==e.frigate_card_action)&&(e.frigate_card_action="camera_ui",!0),Kb=[qb(yo,Wb,(e=>e.conditions)),e=>Ub(Wb,(e=>e.conditions))("object"==typeof e&&e?e[Aa]:{}),Vb("event_gallery",ar),Vb("menu.buttons.frigate_ui",to),e=>Ub(Yb)("object"==typeof e&&e?e:{}),qb(wi,Hb("live_provider",(e=>"frigate-jsmpeg"===e?"jsmpeg":e))),Vb("live.jsmpeg",Ca),Vb("live.image",wa),Vb("live.webrtc_card",Ma),qb(wi,Vb("frigate.zone","frigate.zones",{transform:e=>qm(e)})),qb(wi,Vb("frigate.label","frigate.labels",{transform:e=>qm(e)})),e=>Ub(Gb)("object"==typeof e&&e?e:{}),function(e){if("object"!=typeof e||!e||!(Aa in e)||!Array.isArray(e[Aa]))return!1;let t=!1;const n=n=>{if(!t){if(!gy(e,"live.controls.ptz")){const{type:t,...i}=n;zb(e,"live.controls.ptz",i)}t=!0}},i=e=>{const t=[];for(const a of e)if("custom:frigate-card-ptz"===a.type)n(a);else if("conditional"!==a.type&&"custom:frigate-card-conditional"!==a.type||!Array.isArray(a.elements))t.push(a);else{const e=i(a.elements);e.length&&(a.elements=e,t.push(a))}return t},a=i(e[Aa]);return t&&(a.length?e[Aa]=a:delete e[Aa]),t},Vb("view.timeout_seconds",Oa),Hb("live.lazy_unload",(e=>"all"===e?["unselected","hidden"]:"never"===e?null:qm(e))),Hb("live.auto_play",(e=>"all"===e?null:"never"===e?[]:qm(e))),Hb("live.auto_pause",(e=>"all"===e?["unselected","hidden"]:"never"===e?null:qm(e))),Hb("live.auto_mute",(e=>"all"===e?null:"never"===e?[]:qm(e))),Hb("live.auto_unmute",(e=>"all"===e?["selected","visible","microphone"]:"never"===e?null:qm(e))),Hb("media_viewer.auto_play",(e=>"all"===e?null:"never"===e?[]:qm(e))),Hb("media_viewer.auto_pause",(e=>"all"===e?null:"never"===e?[]:qm(e))),Hb("media_viewer.auto_mute",(e=>"all"===e?null:"never"===e?[]:qm(e))),Hb("media_viewer.auto_unmute",(e=>"all"===e?["selected","visible"]:"never"===e?null:qm(e))),Vb("live.controls.thumbnails.media",ns),Vb("timeline.media",Ns),Vb("live.controls.timeline.media",ds),Vb("media_viewer.controls.timeline.media",Or),Vb("view.scan",Ya),Vb("view.triggers.enabled",tr,{transform:e=>!0===e?"live":null,keepOriginal:!0}),Vb("view.triggers.enabled",Xa,{transform:e=>!0!==e&&null}),Vb("view.triggers.untrigger_reset",nr,{transform:e=>e?"default":null}),Vb("live.layout",Ea),Bb("media_viewer.layout"),Bb("image.layout"),qb(yo,Zb),e=>Ub(Zb)("object"==typeof e&&e?e[Aa]:{}),e=>Ub(Zb)("object"==typeof e&&e?e.automations:{}),qb(wi,Vb("hide","capabilities",{transform:e=>!0===e?{disable_except:["substream"]}:null})),Vb("performance.profile",ko,{transform:e=>"low"===e?["low-performance"]:null}),qb(yo,Fb("overrides","merge")),Vb("live.controls.ptz",$a,{transform:e=>{if("object"!=typeof e||!e)return;const t=["data_left","data_right","data_up","data_down","data_zoom_in","data_zoom_out","service"],n=["actions_left","actions_right","actions_up","actions_down","actions_zoom_in","actions_zoom_out"],i=[...t,...n,"data_home","actions_home"];if(!Object.keys(e).some((e=>i.includes(e))))return;const a={};t.filter((t=>t in e)).reduce(((t,n)=>(t[n]=e[n],t)),a),n.filter((t=>t in e)).reduce(((t,n)=>("object"==typeof e[n]&&"tap_action"in e[n]&&(t[n]=e[n].tap_action),t)),a);const r=()=>{a.presets="presets"in e&&"object"==typeof e.presets&&e.presets?e.presets:{}};return"actions_home"in e&&"object"==typeof e.actions_home&&e.actions_home&&"tap_action"in e.actions_home?(r(),a.presets.home=e.actions_home.tap_action):"data_home"in e&&"object"==typeof e.data_home&&e.data_home&&"string"==typeof e.service&&(r(),a.presets.service=e.service,a.presets.data_home=e.data_home),a},keepOriginal:!0}),Hb("live.controls.ptz",(e=>{if("object"!=typeof e||!e)return e;const t=["mode","position","orientation","hide_pan_tilt","hide_zoom","hide_home","style"],n=Object.keys(e);return n.some((e=>!t.includes(e)))?n.filter((e=>t.includes(e))).reduce(((t,n)=>(t[n]=e[n],t)),{}):void 0})),Vb("view.update_cycle_camera",qa),Vb("view.update_force",Wa,{transform:e=>!0===e?"all":null}),Vb("view.update_seconds",Za),Vb("view.update_entities",Qa),Fb("live.controls.title",oo,{transform:e=>"object"==typeof e&&e&&"string"==typeof e.mode?"none"===e.mode?{style:"none"}:e.mode.includes("bottom")?{position:"bottom"}:e.mode.includes("top")?{position:"top"}:null:null}),Bb("live.controls.title"),Bb("media_viewer.controls.title"),e=>Ub(Qb)("object"==typeof e&&e?e:{}),Vb("dimensions.max_height",_o),Bb("dimensions.min_height")];class Xb extends $o{}class Jb extends Event{constructor(e,t){super("frigate-card:conditions:evaluate",t),this.conditions=e}}function ew(e,t,n){let i=Rb(t),a=!1;if(n?.configOverrides)for(const t of n.configOverrides)e.evaluateConditions(t.conditions,n?.stateOverrides)&&(t.delete?.forEach((e=>{Db(i,e)})),Object.keys(t.set??{}).forEach((e=>{jb(i,e,t.set?.[e])})),Object.keys(t.merge??{}).forEach((e=>{jb(i,e,Rv({},Ob(i,e),t.merge?.[e]))})),a=!0);if(!a)return t;if(n?.configOverrides?.some((e=>e.delete?.length))&&(i=df(i)),n?.schema){const e=n.schema.safeParse(i);if(!e.success)throw new Xb(N_("error.invalid_configuration_override"),[e.error.errors,i]);return e.data}return i}class tw{constructor(e,t){this._state={},this._epoch=this._createEpoch(),this._hasHAStateConditions=!1,this._mediaQueries=[],this._mediaQueryTrigger=()=>this._triggerChange(),this._api=e,this._listeners=[()=>this._api.getConfigManager().computeOverrideConfig(),()=>this._api.getAutomationsManager().execute(),...t?[t]:[]]}removeConditions(){this._mediaQueries.forEach((e=>e.removeEventListener("change",this._mediaQueryTrigger))),this._mediaQueries=[]}setConditionsFromConfig(){this.removeConditions();const e=(()=>{const e=this._api.getConfigManager().getConfig(),t=[];e?.overrides?.forEach((e=>t.push(...e.conditions))),e?.automations?.forEach((e=>t.push(...e.conditions)));const n=e=>{const i=fl.safeParse(e);i.success?(t.push(...i.data.conditions),i.data.elements?.forEach(n)):e&&"object"==typeof e&&Object.keys(e).forEach((t=>n(e[t])))};return e?.elements?.forEach(n),t})();this._hasHAStateConditions=e.some((e=>!e.condition||["state","numeric_state","user"].includes(e.condition))),e.forEach((e=>{if("screen"===e.condition){const t=window.matchMedia(e.media_query);t.addEventListener("change",this._mediaQueryTrigger),this._mediaQueries.push(t)}}))}setState(e){Object.keys(e).every((t=>jy(e[t],this._state[t])))||(this._state={...this._state,...e},this._triggerChange())}getState(){return this._state}hasHAStateConditions(){return this._hasHAStateConditions}getEpoch(){return this._epoch}evaluateConditions(e,t){return e.every((e=>this._evaluateCondition(e,t)))}_evaluateCondition(e,t){const n={...this._state,...t};switch(e.condition){case void 0:case"state":return!!n.state&&(!e.state&&!e.state_not||e.entity in n.state&&(!e.state||(Array.isArray(e.state)?e.state.includes(n.state[e.entity].state):e.state===n.state[e.entity].state))&&(!e.state_not||(Array.isArray(e.state_not)?!e.state_not.includes(n.state[e.entity].state):e.state_not!==n.state[e.entity].state)));case"view":return!!n?.view&&e.views.includes(n.view);case"fullscreen":return void 0!==n.fullscreen&&e.fullscreen===n.fullscreen;case"expand":return void 0!==n.expand&&e.expand===n.expand;case"camera":return!!n.camera&&e.cameras.includes(n.camera);case"numeric_state":return!!n.state&&e.entity in n.state&&void 0!==n.state[e.entity].state&&(void 0===e.above||Number(n.state[e.entity].state)>e.above)&&(void 0===e.below||Number(n.state[e.entity].state)n.triggered?.has(e)));case"interaction":return void 0!==n.interaction&&e.interaction===n.interaction;case"microphone":return!(void 0!==e.connected&&n.microphone?.connected!==e.connected||void 0!==e.muted&&n.microphone?.muted!==e.muted);case"key":return!(!n.keys||!(e.key in n.keys)||(e.state??"down")!==n.keys[e.key].state||void 0!==e.ctrl&&e.ctrl!==!!n.keys[e.key].ctrl||void 0!==e.alt&&e.alt!==!!n.keys[e.key].alt||void 0!==e.meta&&e.meta!==!!n.keys[e.key].meta||void 0!==e.shift&&e.shift!==!!n.keys[e.key].shift)}}_createEpoch(){return{manager:this}}_triggerChange(){this._epoch=this._createEpoch(),this._listeners.forEach((e=>e()))}}const nw={casting:{[Wr]:!1,[Mr]:!1,[Ks]:"none",[`${io}.enabled`]:!0,[`${ao}.enabled`]:!0,[`${no}.enabled`]:!1,[`${ro}.enabled`]:!1,[Ur]:["selected","visible"],[fo]:"static",[mo]:"16:9",[ka]:1,[Ss]:!0},"low-performance":{[is]:"none",[Er]:"none",[Hs]:"none",[ps]:!1,[Pr]:!1,[Fs]:!1,[qr]:[],[hr]:[],[pr]:[],[gr]:[],[xs]:["unselected","hidden"],[bs]:!1,[br]:!1,[Ms]:"none",[Cr]:"none",[Ss]:!1,[Sr]:"chevrons",[lo]:"none",[Ks]:"outside",[`${eo}.enabled`]:!1,[`${so}.enabled`]:!1,[`${so}.enabled`]:!1,[`${ro}.enabled`]:!1,[or]:!1,[cr]:!1,[lr]:!1,[sr]:!1,[ss]:!1,[os]:!1,[cs]:!1,[rs]:!1,[Ar]:!1,[Ir]:!1,[zr]:!1,[$r]:!1,[Us]:!1,[Ws]:!1,[Zs]:!1,[qs]:!1,[bo]:!1,[wo]:10,[So]:!1,[Mo]:!1,[xr]:!1,[Sa]:!1,[xa]:"image",[ka]:10,[tr]:"none",[xo]:1},scrubbing:{[us]:"below",[gs]:"ribbon",[hs]:"seek",[Dr]:"below",[Lr]:"ribbon",[Rr]:"seek"}},iw=(e,t,n)=>{const i=jo(Pd).safeParse(e);if(!i.success)return t;const a=i.data;for(const e of n??[])e in nw&&Object.entries(nw[e]).forEach((([e,n])=>{return r=n,void(void 0===Ob(a,i=e)&&jb(t,i,r));var i,r}));return t},aw=e=>{switch(e){case"ptz_left":return"left";case"ptz_right":return"right";case"ptz_up":return"up";case"ptz_down":return"down";case"ptz_zoom_in":return"zoom_in";case"ptz_zoom_out":return"zoom_out"} -/* istanbul ignore next: No (current) way to reach this code -- @preserve */return null},rw=(e,t)=>{if(!t.enabled)return[];const n=[];for(const i of["ptz_down","ptz_left","ptz_right","ptz_up","ptz_zoom_in","ptz_zoom_out"]){const a=t[i],r=aw(i);a&&r&&(n.push({conditions:[{condition:"key",key:a.key,state:"down",shift:a.shift,ctrl:a.ctrl,alt:a.alt,meta:a.meta}],actions:[ff({ptzAction:r,ptzPhase:"start"})],tag:e}),n.push({conditions:[{condition:"key",key:a.key,state:"up"}],actions:[ff({ptzAction:r,ptzPhase:"stop"})],tag:e}))}const i=t.ptz_home;return i&&n.push({conditions:[{condition:"key",key:i.key,state:"down",shift:i.shift,ctrl:i.ctrl,alt:i.alt,meta:i.meta}],actions:[ff()],tag:e}),n};class sw{constructor(e){this._config=null,this._overriddenConfig=null,this._rawConfig=null,this._cardWideConfig=null,this._api=e}hasConfig(){return!!this.getConfig()}getConfig(){return this._overriddenConfig??this._config}getCardWideConfig(){return this._cardWideConfig}getNonOverriddenConfig(){return this._config}getRawConfig(){return this._rawConfig}setConfig(e){if(!e)throw new Error(N_("error.invalid_configuration"));const t=Pd.safeParse(e);if(!t.success){const n=Nb(e),i=Do(t.error);let a="";throw n&&(a=`${N_("error.upgrade_available")}. `),new Error(a+`${N_("error.invalid_configuration")}: `+(i&&i.size?JSON.stringify([...i],null," "):N_("error.invalid_configuration_no_hint")))}const n=iw(e,t.data,t.data.profiles);var i;(this._rawConfig=e,jy(this._config,n))||(this._config=n,this._cardWideConfig={performance:n.performance,debug:n.debug},this._api.getConditionsManager().setConditionsFromConfig(),this._api.getConditionsManager().setState({view:void 0,displayMode:void 0,camera:void 0}),this._api.getMediaLoadedInfoManager().clear(),this._api.getInitializationManager().uninitialize($b.VIEW),this._api.getViewManager().reset(),this._api.getMessageManager().reset(),this._api.getStyleManager().setPerformance(),this._api.getStatusBarItemManager().removeAllDynamicStatusBarItems(),((e,t)=>{e.getAutomationsManager().deleteAutomations(t);const n=e.getConfigManager().getConfig()?.view.keyboard_shortcuts;if(!n)return;const i=rw(t,n);i.length&&e.getAutomationsManager().addAutomations(i)})(this._api,this),(i=this._api).getAutomationsManager().deleteAutomations(),i.getAutomationsManager().addAutomations(i.getConfigManager().getNonOverriddenConfig()?.automations??[]),this.computeOverrideConfig(),this._api.getCardElementManager().update())}computeOverrideConfig(){const e=this._api.getConditionsManager();if(!this._config)return;let t=null;try{t=ew(e,this._config,{configOverrides:this._config.overrides,schema:Pd})}catch(e){return void this._api.getMessageManager().setErrorIfHigherPriority(e)}if(jy(t,this._overriddenConfig))return;const n=this._overriddenConfig;this._overriddenConfig=t,this._api.getStyleManager().setMinMaxHeight(),!n||jy(n?.cameras,this._overriddenConfig?.cameras)&&jy(n?.cameras_global,this._overriddenConfig?.cameras_global)||this._api.getInitializationManager().uninitialize($b.CAMERAS),n&&n?.live.microphone.always_connected!==this._overriddenConfig?.live.microphone.always_connected&&this._api.getInitializationManager().uninitialize($b.MICROPHONE_CONNECT),this._initializeBackground(n)}async _initializeBackground(e){await this._api.getDefaultManager().initializeIfNecessary(e),await this._api.getMediaPlayerManager().initializeIfNecessary(e),this._api.getCardElementManager().update()}}class ow{constructor(e){this._timer=new bf,this._stateChangeHandler=()=>{this._setToDefaultIfAllowed()},this._api=e}async initializeIfNecessary(e){jy(e?.view.default_reset,this._api.getConfigManager().getConfig()?.view.default_reset)||await this.initialize()}async initialize(){this.uninitialize();const e=this._api.getConfigManager().getConfig()?.view.default_reset;e?.entities.length&&this._api.getHASSManager().getStateWatcher().subscribe(this._stateChangeHandler,e.entities);const t=this._api.getConfigManager().getConfig()?.view.default_reset.every_seconds;return t&&this._timer.startRepeated(t,(()=>this._setToDefaultIfAllowed())),this._api.getConfigManager().getConfig()?.view.default_reset.after_interaction&&this._api.getAutomationsManager().addAutomations([{actions:[pf("default")],conditions:[{condition:"interaction",interaction:!1}],tag:this}]),!0}uninitialize(){this._timer.stop(),this._api.getHASSManager().getStateWatcher().unsubscribe(this._stateChangeHandler),this._api.getAutomationsManager().deleteAutomations(this)}_setToDefaultIfAllowed(){this._isAutomatedUpdateAllowed()&&this._api.getViewManager().setViewDefault()}_isAutomatedUpdateAllowed(){const e=this._api.getConfigManager().getConfig()?.view.default_reset.interaction_mode;return!!e&&((e,t)=>{switch(e){case"all":return!0;case"active":return t;case"inactive":return!t}})(e,this._api.getInteractionManager().hasInteraction())}}const cw=(e,t="download")=>{const n=new URL(e).origin===window.location.origin,i=e.startsWith("data:");if(navigator.userAgent.startsWith("Home Assistant/")||navigator.userAgent.startsWith("HomeAssistant/")||!n&&!i)window.open(e,"_blank");else{const n=document.createElement("a");n.setAttribute("download",t),n.href=e,n.click(),n.remove()}},lw=async(e,t,n)=>{const i=await t.getMediaDownloadPath(n);if(!i)throw new $o(N_("error.download_no_media"));let a=i.endpoint;if(i.sign){let t;try{t=await _b(e,i.endpoint)}catch(e){Zm(e)}if(!t)throw new $o(N_("error.download_sign_failed"));a=t}cw(a)},dw=e=>{const t=document.createElement("canvas");t.width=e.videoWidth,t.height=e.videoHeight;const n=t.getContext("2d");return n?(n.drawImage(e,0,0,t.width,t.height),t.toDataURL("image/jpeg")):null};class uw{constructor(e){this._api=e}async downloadViewerMedia(){const e=this._api.getViewManager().getView()?.queryResults?.getSelectedResult(),t=this._api.getHASSManager().getHASS();if(!e||!t)return!1;try{await lw(t,this._api.getCameraManager(),e)}catch(e){return this._api.getMessageManager().setErrorIfHigherPriority(e),!1}return!0}async downloadScreenshot(){const e=await(this._api.getMediaLoadedInfoManager().get()?.player?.getScreenshotURL());e&&cw(e,(e=>{if(e?.is("live")||e?.is("image"))return`${e.view}-${e.camera}-${qu(new Date,"yyyy-MM-dd-HH-mm-ss")}.jpg`;if(e?.isViewerView()){const t=e.queryResults?.getSelectedResult(),n=t?.getID()??null;return`${e.view}-${e.camera}${n?`-${n}`:""}.jpg`}return"screenshot.jpg"})(this._api.getViewManager().getView()))}}class hw{constructor(e){this._expanded=!1,this._api=e}initialize(){this._setConditionState()}isExpanded(){return this._expanded}toggleExpanded(){this.setExpanded(!this._expanded)}setExpanded(e){e&&this._api.getFullscreenManager().isInFullscreen()&&this._api.getFullscreenManager().stopFullscreen(),this._expanded=e,this._setConditionState(),this._api.getCardElementManager().update()}_setConditionState(){this._api.getConditionsManager()?.setState({expand:this._expanded})}}const pw=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],gw=(()=>{if("undefined"==typeof document)return!1;const e=pw[0],t={};for(const n of pw){const i=n?.[1];if(i in document){for(const[i,a]of n.entries())t[e[i]]=a;return t}}return!1})(),mw={change:gw.fullscreenchange,error:gw.fullscreenerror};let fw={request:(e=document.documentElement,t)=>new Promise(((n,i)=>{const a=()=>{fw.off("change",a),n()};fw.on("change",a);const r=e[gw.requestFullscreen](t);r instanceof Promise&&r.then(a).catch(i)})),exit:()=>new Promise(((e,t)=>{if(!fw.isFullscreen)return void e();const n=()=>{fw.off("change",n),e()};fw.on("change",n);const i=document[gw.exitFullscreen]();i instanceof Promise&&i.then(n).catch(t)})),toggle:(e,t)=>fw.isFullscreen?fw.exit():fw.request(e,t),onchange(e){fw.on("change",e)},onerror(e){fw.on("error",e)},on(e,t){const n=mw[e];n&&document.addEventListener(n,t,!1)},off(e,t){const n=mw[e];n&&document.removeEventListener(n,t,!1)},raw:gw};Object.defineProperties(fw,{isFullscreen:{get:()=>Boolean(document[gw.fullscreenElement])},element:{enumerable:!0,get:()=>document[gw.fullscreenElement]??void 0},isEnabled:{enumerable:!0,get:()=>Boolean(document[gw.fullscreenEnabled])}}),gw||(fw={isEnabled:!1});var _w=fw;class yw{constructor(e){this._fullscreenHandler=()=>{this._api.getExpandManager().setExpanded(!1),this._setConditionState(),this._api.getCardElementManager().update()},this._api=e}initialize(){this._setConditionState()}connect(){_w.isEnabled&&_w.on("change",this._fullscreenHandler)}disconnect(){_w.isEnabled&&_w.off("change",this._fullscreenHandler)}isInFullscreen(){return _w.isEnabled&&_w.isFullscreen}toggleFullscreen(){_w.toggle(this._api.getCardElementManager().getElement())}stopFullscreen(){_w.exit()}_setConditionState(){this._api.getConditionsManager()?.setState({fullscreen:this.isInFullscreen()})}}class vw{constructor(){this._watcherCallbacks=new Map}setHASS(e,t){if(e)for(const[n,i]of this._watcherCallbacks.entries()){const a=yb(t,e,i,{stateOnly:!0,firstOnly:!0});a.length&&n(a[0])}}subscribe(e,t){return!!t.length&&(this._watcherCallbacks.has(e)?this._watcherCallbacks.get(e)?.push(...t):this._watcherCallbacks.set(e,t),!0)}unsubscribe(e){this._watcherCallbacks.delete(e)}}class bw{constructor(e){this._hass=null,this._stateWatcher=new vw,this._api=e}getHASS(){return this._hass}hasHASS(){return!!this._hass}getStateWatcher(){return this._stateWatcher}setHASS(e){if(((e,t)=>e?.connected!==t?.connected)(this._hass,e)&&(e?.connected?this._api.getMessageManager().resetType("connection"):this._api.getMessageManager().setMessageIfHigherPriority({message:N_("error.reconnecting"),icon:"mdi:lan-disconnect",type:"connection",dotdotdot:!0})),!e)return;const t=this._hass;this._hass=e,this._api.getConditionsManager().hasHAStateConditions()&&this._api.getConditionsManager().setState({state:this._hass.states,user:this._hass.user}),this._api.getStyleManager().setLightOrDarkMode(),this._stateWatcher.setHASS(t,e)}}var ww=function(){return Ju.Date.now()},xw="Expected a function",Cw=Math.max,Mw=Math.min;function Sw(e,t,n){var i,a,r,s,o,c,l=0,d=!1,u=!1,h=!0;if("function"!=typeof e)throw new TypeError(xw);function p(t){var n=i,r=a;return i=a=void 0,l=t,s=e.apply(r,n)}function g(e){var n=e-c;return void 0===c||n>=t||n<0||u&&e-l>=r}function m(){var e=ww();if(g(e))return f(e);o=setTimeout(m,function(e){var n=t-(e-c);return u?Mw(n,r-(e-l)):n}(e))}function f(e){return o=void 0,h&&i?p(e):(i=a=void 0,s)}function _(){var e=ww(),n=g(e);if(i=arguments,a=this,c=e,n){if(void 0===o)return function(e){return l=e,o=setTimeout(m,t),d?p(e):s}(c);if(u)return clearTimeout(o),o=setTimeout(m,t),p(c)}return void 0===o&&(o=setTimeout(m,t)),s}return t=wm(t)||0,dh(n)&&(d=!!n.leading,r=(u="maxWait"in n)?Cw(wm(n.maxWait)||0,t):r,h="trailing"in n?!!n.trailing:h),_.cancel=function(){void 0!==o&&clearTimeout(o),l=0,i=c=a=o=void 0},_.flush=function(){return void 0===o?s:f(ww())},_}function kw(e,t,n){var i=!0,a=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return dh(n)&&(i="leading"in n?!!n.leading:i,a="trailing"in n?!!n.trailing:a),Sw(e,t,{leading:i,maxWait:t,trailing:a})}class Ew{constructor(e){this._timer=new bf,this.reportInteraction=kw((()=>{this._reportInteraction()}),1e3),this._api=e}initialize(){this._api.getConditionsManager().setState({interaction:!1})}hasInteraction(){return this._timer.isRunning()}_reportInteraction(){this._timer.stop();const e=this._api.getConfigManager().getConfig()?.view.interaction_seconds;e&&(this._api.getConditionsManager().setState({interaction:!0}),this._timer.start(e,(()=>{this._api.getConditionsManager().setState({interaction:!1}),this._api.getStyleManager().setLightOrDarkMode()})))}}class $w{constructor(e){this._state={},this._handleKeydown=e=>{const t={state:"down",ctrl:e.ctrlKey,alt:e.altKey,meta:e.metaKey,shift:e.shiftKey};jy(this._state[e.key],t)||(this._state[e.key]=t,this._processStateChange())},this._handleKeyup=e=>{e.key in this._state&&"down"===this._state[e.key].state&&(this._state[e.key].state="up",this._processStateChange())},this._handleBlur=()=>{Object.keys(this._state).length&&(this._state={},this._processStateChange())},this._api=e}initialize(){const e=this._api.getCardElementManager().getElement();e.addEventListener("keydown",this._handleKeydown),e.addEventListener("keyup",this._handleKeyup),e.addEventListener("blur",this._handleBlur)}uninitialize(){const e=this._api.getCardElementManager().getElement();e.removeEventListener("keydown",this._handleKeydown),e.removeEventListener("keyup",this._handleKeyup),e.removeEventListener("blur",this._handleBlur)}_processStateChange(){this._api.getConditionsManager().setState({keys:this._state})}}function Aw(e,t){let n;return n=e instanceof Event?e.composedPath()[0]:e,n instanceof HTMLImageElement?{width:n.naturalWidth,height:n.naturalHeight,...t}:n instanceof HTMLVideoElement?{width:n.videoWidth,height:n.videoHeight,...t}:n instanceof HTMLCanvasElement?{width:n.width,height:n.height,player:t?.player,...t}:null}function Iw(e,t,n){const i=Aw(t,n);i&&zw(e,i)}function zw(e,t){Vm(e,"media:loaded",t)}function Tw(e){Vm(e,"media:unloaded")}function jw(e){Vm(e,"media:volumechange")}function Ow(e){Vm(e,"media:play")}function Dw(e){Vm(e,"media:pause")}class Rw{constructor(e){this._current=null,this._lastKnown=null,this._api=e}initialize(){this.clear()}set(e){var t;(t=e).height>=50&&t.width>=50&&(V_(this._api.getConfigManager().getCardWideConfig(),"Frigate Card media load: ",e),this._current=e,this._lastKnown=e,this._api.getConditionsManager().setState({media_loaded:!0}),this._api.getStyleManager().setExpandedMode(),this._api.getCardElementManager().update())}get(){return this._current}getLastKnown(){return this._lastKnown}clear(){this._current=null,this._api.getConditionsManager().setState({media_loaded:!1})}has(){return!!this._current}}class Pw{static isEvent(e){return this.isClip(e)||this.isSnapshot(e)}static isRecording(e){return"recording"===e.getMediaType()}static isClip(e){return"clip"===e.getMediaType()}static isSnapshot(e){return"snapshot"===e.getMediaType()}static isVideo(e){return this.isClip(e)||this.isRecording(e)}}class Lw{constructor(e){this._mediaPlayers=[],this._api=e}getMediaPlayers(){return this._mediaPlayers}hasMediaPlayers(){return this._mediaPlayers.length>0}async initializeIfNecessary(e){e?.menu.buttons.media_player.enabled!==this._api.getConfigManager().getConfig()?.menu.buttons.media_player.enabled&&await this.initialize()}async initialize(){const e=this._api.getHASSManager().getHASS();if(!e||!this._api.getConfigManager().getConfig()?.menu.buttons.media_player.enabled)return!1;const t=Object.keys(e.states).filter((t=>{if(t.startsWith("media_player.")){const n=e.states[t];if(n&&"unavailable"!==n.state&&kb(n,131072))return!0}return!1}));let n=null;try{n=await this._api.getEntityRegistryManager().getEntities(e,t)}catch(e){Zm(e)}return this._mediaPlayers=t.filter((e=>{const t=n?.get(e);return!t||!t.hidden_by})),!0}async stop(e){const t=this._api.getHASSManager().getHASS(),n=t?.states[e];if(!n)return;let i;if(kb(n,4096))i="media_stop";else{if(!kb(n,256))return;i="turn_off"}await t.callService("media_player",i,{entity_id:e})}async playLive(e,t){const n=this._api.getCameraManager().getStore().getCameraConfig(t);n&&("dashboard"===n.cast?.method?await this._playLiveDashboard(e,n):await this._playLiveStandard(e,t,n))}async _playLiveStandard(e,t,n){const i=this._api.getHASSManager().getHASS(),a=n?.camera_entity??null;if(!i||!a)return;const r=this._api.getCameraManager().getCameraMetadata(t)?.title??null,s=i.states[a]?.attributes?.entity_picture??null;await i.callService("media_player","play_media",{entity_id:e,media_content_id:`media-source://camera/${a}`,media_content_type:"application/vnd.apple.mpegurl",extra:{...r&&{title:r},...s&&{thumb:s}}})}async _playLiveDashboard(e,t){const n=this._api.getHASSManager().getHASS();if(!n)return;const i=t.cast?.dashboard;i?.dashboard_path&&i?.view_path?await n.callService("cast","show_lovelace_view",{entity_id:e,dashboard_path:i.dashboard_path,view_path:i.view_path}):this._api.getMessageManager().setMessageIfHigherPriority({type:"error",icon:"mdi:cast",message:N_("error.no_dashboard_or_view")})}async playMedia(e,t){const n=this._api.getHASSManager().getHASS();if(!n||!t)return;const i=t.getTitle(),a=t.getThumbnail();await n.callService("media_player","play_media",{entity_id:e,media_content_id:t.getContentID(),media_content_type:Pw.isVideo(t)?"video":"image",extra:{...i&&{title:i},...a&&{thumb:a}}})}}class Nw{constructor(e){this._message=null,this._api=e}getMessage(){return this._message}hasMessage(){return!!this._message}hasErrorMessage(){return"error"===this._message?.type}reset(){const e=this.hasMessage();this._message=null,e&&this._api.getCardElementManager().update()}resetType(e){this._message?.type===e&&this.reset()}setErrorIfHigherPriority(e,t){e&&"object"==typeof e&&"message"in e&&(Zm(e),this.setMessageIfHigherPriority({message:t?`${t}: ${e.message}`:e.message,type:"error",...e instanceof $o&&{context:e.context}}))}setMessageIfHigherPriority(e){const t=this._message?Ao[this._message.type]:0,n=Ao[e.type];return!(this._message&&ne.stop())),this._stream=void 0,this._setConditionState(),this._api.getCardElementManager().update()}getStream(){return this._stream??void 0}mute(){const e=this.isMuted();this._mute=!0,this._setMute(),this._setConditionState(),e||this._callListeners("muted")}async unmute(){if(!this.isSupported())return;const e=!this.isMuted(),t=()=>{this._mute=!1,this._setMute()};this.isConnected()||this.isForbidden()?this.isConnected()&&t():(t(),await this.connect()),this._setConditionState(),e||this._callListeners("unmuted")}isConnected(){return!!this._stream}isForbidden(){return null===this._stream}isMuted(){return!this._stream||this._stream.getTracks().every((e=>!e.enabled))}addListener(e){this._listeners.push(e)}removeListener(e){this._listeners=this._listeners.filter((t=>t!==e))}_callListeners(e){this._listeners.forEach((t=>t(e)))}_setMute(){this._stream?.getTracks().forEach((e=>{e.enabled=!this._mute})),this._startTimer(),this._api.getCardElementManager().update()}_startTimer(){const e=this._api.getConfigManager().getConfig()?.live.microphone;if(e?.always_connected)return;const t=e?.disconnect_seconds??0;t&&this._timer.start(t,(()=>{this.disconnect()}))}_setConditionState(){this._api.getConditionsManager().setState({microphone:{muted:this.isMuted(),connected:this.isConnected()}})}}class Vw{constructor(e){this._shouldRun=!0,this.requestExecution=()=>{this._shouldRun=!0,this._api.getCardElementManager().update()},this.executeIfNecessary=async()=>{this._shouldRun&&(this._shouldRun=!1,await this._executeViewRelated(this._calculateIntent()),await this._executeNonViewRelated(this._calculateIntent()))},this._isViewAction=e=>{switch(e.frigate_card_action){case"clip":case"clips":case"diagnostics":case"image":case"live":case"recording":case"recordings":case"snapshot":case"snapshots":case"timeline":return!0}return!1},this._api=e}hasViewRelatedActionsToRun(){return!!this._calculateIntent().view&&this._shouldRun}async _executeViewRelated(e){e.view&&(e.view.default?await this._api.getViewManager().setViewDefaultWithNewQuery({params:{camera:e.view.camera},...e.view.substream&&{modifiers:[new rb(e.view.substream)]}}):await this._api.getViewManager().setViewByParametersWithNewQuery({params:{...e.view.view&&{view:e.view.view},...e.view.camera&&{camera:e.view.camera}},...e.view.substream&&{modifiers:[new rb(e.view.substream)]}}))}async _executeNonViewRelated(e){e.other&&await this._api.getActionsManager().executeActions(e.other)}_calculateIntent(){const e={};for(const t of this._getActions())this._isViewAction(t)?((e.view??={}).view=t.frigate_card_action,(e.view??={}).default=void 0):"default"===t.frigate_card_action?((e.view??={}).default=!0,(e.view??={}).view=void 0):"camera_select"===t.frigate_card_action?(e.view??={}).camera=t.camera:"live_substream_select"===t.frigate_card_action?(e.view??={}).substream=t.camera:(e.other??=[]).push(t);return e}_getActions(){const e=new URLSearchParams(window.location.search),t=[],n=new RegExp(/^frigate-card-action([.:](?\w+))?[.:](?\w+)/);for(const[i,a]of e.entries()){const e=i.match(n);if(!e||!e.groups)continue;const r=e.groups.cardID,s=e.groups.action;let o=null;switch(s){case"camera_select":case"live_substream_select":a&&(o=gf(s,a,{cardID:r}));break;case"camera_ui":case"clip":case"clips":case"default":case"diagnostics":case"download":case"expand":case"image":case"live":case"menu_toggle":case"recording":case"recordings":case"snapshot":case"snapshots":case"timeline":o=pf(s,{cardID:r});break;default:console.warn(`Frigate card received unknown card action in query string: ${s}`)}o&&t.push(o)}return t}}class Hw{constructor(e){this._items=[],this._dynamicItems=[],this._api=e}addDynamicStatusBarItem(e){this._dynamicItems.includes(e)||this._dynamicItems.push(e),this._api.getCardElementManager().update()}removeDynamicStatusBarItem(e){this._dynamicItems=this._dynamicItems.filter((t=>!jy(t,e))),this._api.getCardElementManager().update()}removeAllDynamicStatusBarItems(){this._dynamicItems=[],this._api.getCardElementManager().update()}calculateItems(e){const t=e?.view?e?.cameraManager?.getCameraMetadata(e?.view?.camera):null,n=t?.engineIcon??null,i=e?.view?.is("live")?t?.title??null:e?.view?.isViewerView()?e?.view.queryResults?.getSelectedResult()?.getTitle()??null:null,a=e?.mediaLoadedInfo?this._calculateResolution(e?.mediaLoadedInfo):null,r=e?.mediaLoadedInfo?.technology?.length?e?.mediaLoadedInfo.technology[0]:null;return[...i?[{type:"custom:frigate-card-status-bar-string",string:i,expand:!0,sufficient:!0,...e?.statusConfig?.items.title}]:[],...a?[{type:"custom:frigate-card-status-bar-string",string:a,...e?.statusConfig?.items.resolution}]:[],...r&&"webrtc"===r?[{type:"custom:frigate-card-status-bar-icon",icon:"mdi:webrtc",...e?.statusConfig?.items.technology}]:r?[{type:"custom:frigate-card-status-bar-string",string:r.toUpperCase(),...e?.statusConfig?.items.technology}]:[],...n?[{type:"custom:frigate-card-status-bar-icon",icon:n,...e?.statusConfig?.items.engine}]:[],...this._dynamicItems]}_matchesWidthHeight(e,t,n){const i=.99*t,a=1.01*t,r=.99*n,s=1.01*n,o=(e,t,n)=>e>=t&&e<=n;return!!e&&(o(e.width,i,a)&&o(e.height,r,s)||o(e.height,i,a)&&o(e.width,r,s))}_calculateResolution(e){return this._matchesWidthHeight(e,1920,1080)?"1080p":this._matchesWidthHeight(e,1280,720)?"720p":this._matchesWidthHeight(e,640,480)?"VGA":this._matchesWidthHeight(e,3840,2160)?"4K":this._matchesWidthHeight(e,720,480)?"480p":this._matchesWidthHeight(e,720,576)?"576p":this._matchesWidthHeight(e,7680,4320)?"8K":`${e.width}x${e.height}`}}class Bw{constructor(e){this.setLightOrDarkMode=()=>{const e=this._api.getConfigManager().getConfig(),t="on"===e?.view.dark_mode||"auto"===e?.view.dark_mode&&(!this._api.getInteractionManager().hasInteraction()||!!this._api.getHASSManager().getHASS()?.themes.darkMode);af(this._api.getCardElementManager().getElement(),t,"dark")},this._api=e}setExpandedMode(){const e=this._api.getCardElementManager().getElement(),t=this._api.getViewManager().getView(),n=this._api.getMediaLoadedInfoManager().getLastKnown();e.style.setProperty("--frigate-card-expand-aspect-ratio",t?.isAnyMediaView()&&n?`${n.width} / ${n.height}`:"unset");const i=t?.isGrid();e.style.setProperty("--frigate-card-expand-width",!i&&t?.isAnyMediaView()?"none":"var(--frigate-card-expand-max-width)"),e.style.setProperty("--frigate-card-expand-height",!i&&t?.isAnyMediaView()?"none":"var(--frigate-card-expand-max-height)")}setMinMaxHeight(){const e=this._api.getConfigManager().getConfig();if(e){this._api.getCardElementManager().getElement().style.setProperty("--frigate-card-height",e.dimensions.height)}}setPerformance(){const e={box_shadow:"none",border_radius:"0px"},t=this._api.getCardElementManager().getElement(),n=this._api.getConfigManager().getCardWideConfig()?.performance,i=n?.style??{};for(const n of Object.keys(i)){const a=`--frigate-card-css-${n.replaceAll("_","-")}`;!1===i[n]?t.style.setProperty(a,e[n]):t.style.removeProperty(a)}}_isAspectRatioEnforced(e,t){const n=e.dimensions.aspect_ratio_mode;return!(this._api.getFullscreenManager().isInFullscreen()||this._api.getExpandManager().isExpanded()||"unconstrained"===n||"dynamic"===n&&(!t||t?.isAnyMediaView()||t?.is("timeline")||t?.is("diagnostics")))}getAspectRatioStyle(){const e=this._api.getConfigManager().getConfig(),t=this._api.getViewManager().getView();if(e){if(!this._isAspectRatioEnforced(e,t))return lf();const n=e.dimensions.aspect_ratio_mode,i=this._api.getMediaLoadedInfoManager().getLastKnown();return lf(i&&"dynamic"===n?{ratio:[i.width,i.height]}:{ratio:e.dimensions.aspect_ratio})}return lf({defaultStatic:!0})}}class qw{constructor(e){this._triggeredCameras=new Map,this._triggeredCameraTimers=new Map,this._throttledTriggerAction=kw(this._triggerAction.bind(this),1e3,{trailing:!0}),this._api=e}getTriggeredCameraIDs(){return new Set(this._triggeredCameras.keys())}isTriggered(){return!!this._triggeredCameras.size}getMostRecentlyTriggeredCameraID(){const e=Sy([...this._triggeredCameras.entries()],(e=>e[1].getTime()),"desc");return e.length?e[0][0]:null}async handleCameraEvent(e){const t=this._api.getConfigManager().getConfig()?.view.triggers,n=this._api.getViewManager().getView()?.camera;if(!t||!n)return;const i=this._api.getCameraManager().getStore().getAllDependentCameras(n);t.filter_selected_camera&&!i.has(e.cameraID)||("end"!==e.type?(this._triggeredCameras.set(e.cameraID,new Date),this._setConditionStateIfNecessary(),await this._throttledTriggerAction(e)):this._startUntriggerTimer(e.cameraID))}_hasAllowableInteractionStateForAction(){const e=this._api.getConfigManager().getConfig()?.view.triggers,t=this._api.getInteractionManager().hasInteraction();return!!e&&("all"===e.actions.interaction_mode||"active"===e.actions.interaction_mode&&t||"inactive"===e.actions.interaction_mode&&!t)}async _triggerAction(e){const t=this._api.getConfigManager().getConfig()?.view.triggers.actions.trigger,n=this._api.getConfigManager().getConfig()?.view.default;("high"!==e.fidelity||e.snapshot||e.clip||"live"===t||"default"===t&&"live"===n)&&(this._hasAllowableInteractionStateForAction()&&("update"===t?await this._api.getViewManager().setViewByParametersWithNewQuery({queryExecutorOptions:{useCache:!1}}):"live"===t?await this._api.getViewManager().setViewByParametersWithNewQuery({params:{view:"live",camera:e.cameraID}}):"default"===t?await this._api.getViewManager().setViewDefaultWithNewQuery({params:{camera:e.cameraID}}):"high"===e.fidelity&&"media"===t&&await this._api.getViewManager().setViewByParametersWithNewQuery({params:{view:e.clip?"clip":"snapshot",camera:e.cameraID}})),this._api.getCardElementManager().update())}_setConditionStateIfNecessary(){const e=new Set(this._triggeredCameras.keys()),t=e.size?e:void 0;jy(t,this._api.getConditionsManager().getState().triggered)||this._api.getConditionsManager().setState({triggered:t})}async _untriggerAction(e){const t=this._api.getConfigManager().getConfig()?.view.triggers.actions.untrigger;"default"===t&&this._hasAllowableInteractionStateForAction()&&await this._api.getViewManager().setViewDefaultWithNewQuery(),this._triggeredCameras.delete(e),this._deleteTimer(e),this._setConditionStateIfNecessary(),this._api.getCardElementManager().update()}_startUntriggerTimer(e){this._deleteTimer(e);const t=new bf;this._triggeredCameraTimers.set(e,t),t.start( -/* istanbul ignore next: the case of config being null here cannot be - reached, as there's no way to have the untrigger call happen without - a config. -- @preserve */ -this._api.getConfigManager().getConfig()?.view.triggers.untrigger_seconds??0,(async()=>{await this._untriggerAction(e)}))}_deleteTimer(e){this._triggeredCameraTimers.get(e)?.stop(),this._triggeredCameraTimers.delete(e)}}function Uw(e,t){return t="function"==typeof t?t:void 0,e&&e.length?Fm(e,void 0,t):[]}class Ww{constructor(e){this._queries=null,e&&(this._queries=e)}clone(){return l_(this)}getQueries(){return this._queries}setQueries(e){return this._queries=e,this}getQueryCameraIDs(){if(!this._queries)return null;const e=new Set;return this._queries.forEach((t=>[...t.cameraIDs].forEach((t=>e.add(t))))),e}setQueryCameraIDs(e){if(!this._queries)return this;const t=[];return this._queries.forEach((n=>t.push({...n,cameraIDs:Um(e)}))),this._queries=Uw(t,jy),this}hasQueriesForCameraIDs(e){for(const t of e)if(!this._queries?.some((e=>e.cameraIDs.has(t))))return!1;return!0}}class Zw extends Ww{convertToClipsQueries(){for(const e of this._queries??[])delete e.hasSnapshot,e.hasClip=!0;return this}}class Qw extends Ww{}class Gw{static areEventQueries(e){return e instanceof Zw}static areRecordingQueries(e){return e instanceof Qw}static areClipsQueries(e){return this.areEventQueries(e)&&!!e?.getQueries()?.every((e=>e.hasClip))}static areSnapshotQueries(e){return this.areEventQueries(e)&&!!e?.getQueries()?.every((e=>e.hasSnapshot))}static getQueriesType(e){return this.areEventQueries(e)?"event":this.areRecordingQueries(e)?"recording":null}static getMediaType(e){return this.areClipsQueries(e)?"clips":this.areSnapshotQueries(e)?"snapshots":this.areRecordingQueries(e)?"recordings":null}}const Yw=(e,t,n)=>{const i={anyCapabilities:["clips","snapshots","recordings"]};switch(t){case"image":case"diagnostics":return e.getStore().getCameraIDs();case"live":case"clip":case"clips":case"snapshot":case"snapshots":case"recording":case"recordings":const a="clip"===t?"clips":"snapshot"===t?"snapshots":"recording"===t?"recordings":t;return n?e.getStore().getAllDependentCameras(n,a):e.getStore().getCameraIDsWithCapability(a);case"timeline":return e.getStore().getCameraIDsWithCapability(i);case"media":return n?e.getStore().getAllDependentCameras(n,i):e.getStore().getCameraIDsWithCapability(i)}},Kw=(e,t)=>Rv({},e,t);class Xw{constructor(e){this.view=e.view,this.camera=e.camera,this.query=e.query??null,this.queryResults=e.queryResults??null,this.context=e.context??null,this.displayMode=e.displayMode??null}clone(){return new Xw({view:this.view,camera:this.camera,query:this.query?.clone()??null,queryResults:this.queryResults?.clone()??null,context:this.context,displayMode:this.displayMode})}evolve(e){return new Xw({view:void 0!==e.view?e.view:this.view,camera:void 0!==e.camera?e.camera:this.camera,query:void 0!==e.query?e.query:this.query?.clone()??null,queryResults:void 0!==e.queryResults?e.queryResults:this.queryResults?.clone()??null,context:void 0!==e.context?e.context:this.context,displayMode:void 0!==e.displayMode?e.displayMode:this.displayMode})}mergeInContext(e){return this.context=Kw(this.context,e),this}removeContext(e){return this.context&&delete this.context[e],this}removeContextProperty(e,t){const n=this.context?.[e];return n&&delete n[t],this}is(e){return this.view==e}isGalleryView(){return["clips","snapshots","recordings"].includes(this.view)}isAnyMediaView(){return this.isViewerView()||this.is("live")||this.is("image")}isViewerView(){return["media","clip","snapshot","recording"].includes(this.view)}supportsMultipleDisplayModes(){return this.isViewerView()||this.is("live")}getDefaultMediaType(){return["clip","clips"].includes(this.view)?"clips":["snapshot","snapshots"].includes(this.view)?"snapshots":["recording","recordings"].includes(this.view)?"recordings":null}isGrid(){return"grid"===this.displayMode}}const Jw=(e,t)=>{t?.forEach((t=>t.modify(e)))};class ex extends $o{}class tx extends $o{}class nx{constructor(e){this._api=e}getViewDefault(e){const t=this._api.getConfigManager().getConfig();if(!t)return null;let n=null;const i=e?.params?.view??t.view.default;if(e?.params?.camera)n=e.params.camera;else{const a=[...Yw(this._api.getCameraManager(),i)];if(!a.length)return null;if(e?.baseView?.camera&&t.view.default_cycle_camera){const t=a.indexOf(e.baseView.camera);n=a[t+1>=a.length?0:t+1]}else n=a[0]}return this.getViewByParameters({params:{...e?.params,view:i,camera:n},baseView:e?.baseView})}getViewByParameters(e){const t=this._api.getConfigManager().getConfig();if(!t)return null;let n=e?.params?.camera??e?.baseView?.camera??null,i=e?.params?.view??e?.baseView?.view??t.view.default;const a=this._api.getCameraManager().getStore().getCameraIDs();if(!n||!a.has(n)){n=Yw(this._api.getCameraManager(),i).keys().next().value??null}if(!n){const e=[...this._api.getCameraManager().getStore().getCameras()].reduce(((e,[t,n])=>{const i=n.getCapabilities()?.getRawCapabilities();return i&&(e[t]=i),e}),{});throw new ex(N_("error.no_supported_cameras"),{view:i,cameras_capabilities:e})}if(!this.isViewSupportedByCamera(n,i)){if(!e?.failSafe||!this.isViewSupportedByCamera(n,Wo)){const e=this._api.getCameraManager().getStore().getCamera(n)?.getCapabilities()?.getRawCapabilities();throw new tx(N_("error.no_supported_camera"),{view:i,camera:n,...e&&{camera_capabilities:e}})}i=Wo}const r=e?.params?.displayMode??e?.baseView?.displayMode??this._getDefaultDisplayModeForView(i,t),s={...e?.params,view:i,camera:n,displayMode:r},o=e?.baseView?e.baseView.evolve(s):new Xw(s);return Jw(o,e?.modifiers),o}isViewSupportedByCamera(e,t){return!!Yw(this._api.getCameraManager(),t,e).size}_getDefaultDisplayModeForView(e,t){let n=null;switch(e){case"media":case"clip":case"recording":case"snapshot":n=t.media_viewer.display?.mode??null;break;case"live":n=t.live.display?.mode??null}return n??"single"}}class ix{constructor(e,t){this._key=e,this._property=t}modify(e){e.removeContextProperty(this._key,this._property)}}class ax{constructor(e){this._query=e?.query,this._queryResults=e?.queryResults}modify(e){void 0!==this._query&&(e.query=this._query),void 0!==this._queryResults&&(e.queryResults=this._queryResults)}}const rx=(e,t,n)=>{let i;for(const[a,r]of e.entries()){const e=r.getStartTime(),s=r.getUsableEndTime();if(r.includesTime(t)&&e&&s){const t=s.getTime()-e.getTime();(!i||n&&i.cameraID!==n&&r.getCameraID()===n||t>i.duration&&(!n||i.cameraID!==n||r.getCameraID()===n))&&(i={index:a,duration:t,cameraID:r.getCameraID()})}}return i?i.index:null};class sx{constructor(e){this._results=e?.results??[],this._selectedIndex=this._getInitialSelectedIndex(e)}_getInitialSelectedIndex(e){return null!=e?.selectedIndex?e.selectedIndex:e?.results&&e.results.length?e?.selectApproach&&"last"!==e?.selectApproach?0:e.results.length-1:null}clone(){return new sx({results:this._results,selectedIndex:this._selectedIndex})}getResults(){return this._results}getSelectedIndex(){return this._selectedIndex}getResultsCount(){return this.getResults().length}hasResults(){return 0!==this.getResultsCount()}getResult(e){return void 0===e?null:this._results[e]}getSelectedResult(){const e=this.getSelectedIndex();return null!==e?this.getResult(e):null}hasSelectedResult(){return null!==this.getSelectedResult()}resetSelectedResult(){this._selectedIndex=null}selectIndex(e){(null===e||e>=0&&ee.getID()))),n=new Set(e._main.getResults()?.map((e=>e.getID())));return!(!t.size||!n.size||t.has(null)||n.has(null))&&((e,t)=>{for(const n of t)if(!e.has(n))return!1;return!0})(t,n)}getCameraIDs(){return new Set(this._cameras.keys())}getSlice(e){return e?this._cameras.get(e)??null:this._main}getResults(e){return this.getSlice(e)?.getResults()??null}getResultsCount(e){return this.getSlice(e)?.getResultsCount()??0}hasResults(e){return 0!==this.getSlice(e)?.getResultsCount()}getResult(e,t){return this.getSlice(t)?.getResult(e)??null}getSelectedIndex(e){return this.getSlice(e)?.getSelectedIndex()??null}getSelectedResult(e){return this.getSlice(e)?.getSelectedResult()??null}getMultipleSelectedResults(e){const t=[];if(!e||e.main){const e=this.getSelectedResult();e&&t.push(e)}const n=this._getCameraIDsFromCriteria(e);for(const e of n??[]){const n=this.getSelectedResult(e);n&&t.push(n)}return t}hasSelectedResult(e){return this.getSlice(e)?.hasSelectedResult()??!1}resetSelectedResult(e){return this.getSlice(e)?.resetSelectedResult(),this}getResultsTimestamp(){return this._resultsTimestamp}selectIndex(e,t){return this.getSlice(t)?.selectIndex(e),t||this.demoteMainSelectionToCameraSelection(),this}demoteMainSelectionToCameraSelection(){const e=this.getSelectedResult();if(e){const t=e.getCameraID();this.resetSelectedResult(t),this.selectResultIfFound((t=>t===e),{cameraID:t})}return this}promoteCameraSelectionToMainSelection(e){const t=this.getSelectedResult(e);return this.resetSelectedResult(),this.selectResultIfFound((e=>e===t)),this}_getCameraIDsFromCriteria(e){return e?.allCameras?this.getCameraIDs():e?.cameraID?new Set([e.cameraID]):null}selectResultIfFound(e,t){t&&!t?.main||(this._main.selectResultIfFound(e),this.demoteMainSelectionToCameraSelection());const n=this._getCameraIDsFromCriteria(t);for(const t of n??[])this.getSlice(t)?.selectResultIfFound(e);return this}selectBestResult(e,t){t&&!t.main||(this._main.selectBestResult(e),this.demoteMainSelectionToCameraSelection());const n=this._getCameraIDsFromCriteria(t);for(const t of n??[])this.getSlice(t)?.selectBestResult(e);return this}}class cx{constructor(e){this._api=e}async executeDefaultEventQuery(e){const t=e?.eventsMediaType&&"all"!==e?.eventsMediaType?e.eventsMediaType:{anyCapabilities:["clips","snapshots"]},n=this._api.getCameraManager(),i=e?.cameraID?n.getStore().getAllDependentCameras(e.cameraID,t):n.getStore().getCameraIDsWithCapability(t);if(!i.size)return null;const a=n.generateDefaultEventQueries(i,{limit:this._getChunkLimit(),..."clips"===e?.eventsMediaType&&{hasClip:!0},..."snapshots"===e?.eventsMediaType&&{hasSnapshot:!0}});if(!a)return null;const r=new Zw(a),s=await this.execute(r,e?.executorOptions);return s?{query:r,queryResults:s}:null}async executeDefaultRecordingQuery(e){const t=this._api.getCameraManager(),n=e?.cameraID?t.getStore().getAllDependentCameras(e.cameraID,"recordings"):t.getStore().getCameraIDsWithCapability("recordings");if(!n.size)return null;const i=t.generateDefaultRecordingQueries(n,{limit:this._getChunkLimit()});if(!i)return null;const a=new Qw(i),r=await this.execute(a,e?.executorOptions);return r?{query:a,queryResults:r}:null}async execute(e,t){const n=e.getQueries();if(!n)return null;const i=await this._api.getCameraManager().executeMediaQueries(n,{useCache:t?.useCache});if(!i)return null;const a=new ox({results:i});return t?.rejectResults?.(a)?null:(t?.selectResult?.id?a.selectBestResult((e=>e.findIndex((e=>e.getID()===t.selectResult?.id)))):t?.selectResult?.func?a.selectResultIfFound(t.selectResult.func):t?.selectResult?.time&&a.selectBestResult((e=>rx(e,t.selectResult?.time?.time,t.selectResult?.time?.favorCameraID))),a)}_getChunkLimit(){const e=this._api.getConfigManager().getCardWideConfig();return e?.performance?.features.media_chunk_size??50}}class lx{constructor(e,t){this._api=e,this._executor=t??new cx(e)}async getExistingQueryModifiers(e,t){return e.query?[new ax({queryResults:await this._executor.execute(e.query,t)})]:[]}async getNewQueryModifiers(e,t){return await this._executeNewQuery(e,{useCache:!1,...t})}async _executeNewQuery(e,t){const n=this._api.getConfigManager().getConfig();if(!n)return null;const i=e?.getDefaultMediaType(),a=[],r=async n=>{ -/* istanbul ignore if: this path cannot be reached -- @preserve */ -if(!n)return[];const i="recordings"===n?await this._executor.executeDefaultRecordingQuery({...!e.isGrid()&&{cameraID:e.camera},executorOptions:t}):"clips"===n||"snapshots"===n||"all"===n?await this._executor.executeDefaultEventQuery({...!e.isGrid()&&{cameraID:e.camera},eventsMediaType:n,executorOptions:t}):/* istanbul ignore next -- @preserve */ -null;return i?[new ax(i)]:[]};switch(e.view){case"live":"none"!==n.live.controls.thumbnails.mode&&a.push(...await r("recordings"===n.live.controls.thumbnails.media_type?"recordings":n.live.controls.thumbnails.events_media_type));break;case"media":a.push(...await r("clips"));break;case"clip":case"clips":case"snapshot":case"snapshots":case"recording":case"recordings":a.push(...await r(i))}return a.push(...this._getTimelineWindowViewModifier(e)),a.push(...this._getSeekTimeModifier(t?.selectResult?.time?.time)),a}_getTimelineWindowViewModifier(e){if(e.is("live")){const e=new Date,t=this._api.getConfigManager().getConfig()?.live; -/* istanbul ignore if: this if branch cannot be reached as if the config is - empty this function is never called -- @preserve */ -return t?[new Zv({timeline:{window:{start:Wu(e,{seconds:t.controls.timeline.window_seconds}),end:e}}})]:[]}return[new ix("timeline","window")]}_getSeekTimeModifier(e){return e?[new Zv({mediaViewer:{seek:e}})]:[new ix("mediaViewer","seek")]}}class dx{constructor(e,t){this._view=null,this._epoch=this._createEpoch(),this._loadingIndex=1,this.setViewDefault=e=>this._setViewGeneric(this._viewFactory.getViewDefault.bind(this._viewFactory),e),this.setViewByParameters=e=>this._setViewGeneric(this._viewFactory.getViewByParameters.bind(this._viewFactory),e),this.setViewDefaultWithNewQuery=async e=>await this._setViewThenModifyAsync(this._viewFactory.getViewDefault.bind(this._viewFactory),this._viewQueryExecutor.getNewQueryModifiers.bind(this._viewQueryExecutor),e),this.setViewByParametersWithNewQuery=async e=>await this._setViewThenModifyAsync(this._viewFactory.getViewByParameters.bind(this._viewFactory),this._viewQueryExecutor.getNewQueryModifiers.bind(this._viewQueryExecutor),e),this.setViewByParametersWithExistingQuery=async e=>await this._setViewThenModifyAsync(this._viewFactory.getViewByParameters.bind(this._viewFactory),this._viewQueryExecutor.getExistingQueryModifiers.bind(this._viewQueryExecutor),e),this.initialize=async()=>(this._api.getQueryStringManager().hasViewRelatedActionsToRun()||this.setViewDefaultWithNewQuery({failSafe:!0}),!0),this._api=e,this._viewFactory=t?.viewFactory??new nx(e),this._viewQueryExecutor=t?.viewQueryExecutor??new lx(e)}getEpoch(){return this._epoch}_createEpoch(e){return{manager:this,...e&&{oldView:e}}}getView(){return this._view}hasView(){return!!this.getView()}reset(){this._view&&this._setView(null)}_setViewGeneric(e,t){let n=null;try{n=e({baseView:this._view,...t})}catch(e){this._api.getMessageManager().setErrorIfHigherPriority(e)}n&&this._setView(n)}_markViewLoadingQuery(e,t){return e.mergeInContext({loading:{query:t}})}_markViewAsNotLoadingQuery(e){return e.removeContextProperty("loading","query")}async _setViewThenModifyAsync(e,t,n){let i=null;try{i=e({baseView:this._view,...n,params:{query:null,queryResults:null,...n?.params}})}catch(e){this._api.getMessageManager().setErrorIfHigherPriority(e)}if(!i)return;if(this._view&&this._shouldAdoptQueryAndResults(i))return i.query=this._view.query,i.queryResults=this._view.queryResults,this._markViewAsNotLoadingQuery(i),void this._setView(i);const a=this._loadingIndex++;this._markViewLoadingQuery(i,a),this._setView(i);let r=null,s=null;try{r=await t(i,n?.queryExecutorOptions)}catch(e){s=e}if(this._view&&this.hasMajorMediaChange(this._view,i))return void(this._view.context?.loading?.query===a&&this._setView(this._markViewAsNotLoadingQuery(this._view.clone())));if(s)return void this._api.getMessageManager().setErrorIfHigherPriority(s); -/* istanbul ignore if: the if path cannot be reached as the view is set - above -- @preserve */if(!this._view)return;const o=this._view.clone();this._view.context?.loading?.query===a&&this._markViewAsNotLoadingQuery(o),Jw(o,r),this._setView(o)}_shouldAdoptQueryAndResults(e){const t=this._view?.isViewerView()&&e?.isGalleryView(),n=e?.getDefaultMediaType(),i=Gw.getMediaType(this._view?.query)===n;return!!t&&i}setViewWithMergedContext(e){if(this._view)return this._setView(this._view?.clone().mergeInContext(e))}isViewSupportedByCamera(e,t){return!!Yw(this._api.getCameraManager(),t,e).size}hasMajorMediaChange(e,t){const n=t??this._view;return!!e!=!!n||e?.view!==n?.view||e?.camera!==n?.camera||"live"===n?.view&&e&&xv(e)!==xv(n)||"live"!==n?.view&&e?.queryResults!==n?.queryResults}_setView(e){const t=this._view;V_(this._api.getConfigManager().getCardWideConfig(),"Frigate Card view change: ",e),this._view=e,this._epoch=this._createEpoch(t),this.hasMajorMediaChange(t)&&this._api.getMediaLoadedInfoManager().clear(),t?.view!==e?.view&&this._api.getCardElementManager().scrollReset(),this._api.getMessageManager().reset(),this._api.getStyleManager().setExpandedMode(),this._api.getConditionsManager()?.setState({view:e?.view,camera:e?.camera,displayMode:e?.displayMode??void 0}),this._api.getCardElementManager().update()}}class ux{constructor(e,t,n,i){this._deviceRegistryManager=new av(new nv((e=>e.id))),this._entityRegistryManager=new ov(new nv((e=>e.entity_id))),this._resolvedMediaCache=new lv,this._actionsManager=new pb(this),this._automationsManager=new gb(this),this._cameraManager=new tv(this),this._cameraURLManager=new mb(this),this._configManager=new sw(this),this._defaultManager=new ow(this),this._downloadManager=new uw(this),this._expandManager=new hw(this),this._fullscreenManager=new yw(this),this._hassManager=new bw(this),this._initializationManager=new Ab(this),this._interactionManager=new Ew(this),this._keyboardStateManager=new $w(this),this._mediaLoadedInfoManager=new Rw(this),this._mediaPlayerManager=new Lw(this),this._messageManager=new Nw(this),this._microphoneManager=new Fw(this),this._queryStringManager=new Vw(this),this._statusBarItemManager=new Hw(this),this._styleManager=new Bw(this),this._triggersManager=new qw(this),this._viewManager=new dx(this),e.addController(this),this._conditionsManager=new tw(this,i),this._cardElementManager=new Ib(this,e,t,n)}getActionsManager(){return this._actionsManager}getAutomationsManager(){return this._automationsManager}getCameraManager(){return this._cameraManager}getCameraURLManager(){return this._cameraURLManager}getCardElementManager(){return this._cardElementManager}getConditionsManager(){return this._conditionsManager}static async getConfigElement(){return await import("./editor-238b96c0.js"),document.createElement("frigate-card-editor")}getConfigManager(){return this._configManager}getDefaultManager(){return this._defaultManager}getDeviceRegistryManager(){return this._deviceRegistryManager}getDownloadManager(){return this._downloadManager}getEntityRegistryManager(){return this._entityRegistryManager}getExpandManager(){return this._expandManager}getFullscreenManager(){return this._fullscreenManager}getHASSManager(){return this._hassManager}getInitializationManager(){return this._initializationManager}getInteractionManager(){return this._interactionManager}getKeyboardStateManager(){return this._keyboardStateManager}getMediaLoadedInfoManager(){return this._mediaLoadedInfoManager}getMediaPlayerManager(){return this._mediaPlayerManager}getMessageManager(){return this._messageManager}getMicrophoneManager(){return this._microphoneManager}getQueryStringManager(){return this._queryStringManager}getResolvedMediaCache(){return this._resolvedMediaCache}getStatusBarItemManager(){return this._statusBarItemManager}static getStubConfig(e){return{cameras:[{camera_entity:e.find((e=>e.startsWith("camera.")))??"camera.demo"}]}}getStyleManager(){return this._styleManager}getTriggersManager(){return this._triggersManager}getViewManager(){return this._viewManager}hostConnected(){this.getCardElementManager().elementConnected()}hostDisconnected(){this.getCardElementManager().elementDisconnected()}}class hx{constructor(){this._dynamicMenuButtons=[]}addDynamicMenuButton(e){this._dynamicMenuButtons.includes(e)||this._dynamicMenuButtons.push(e)}removeDynamicMenuButton(e){this._dynamicMenuButtons=this._dynamicMenuButtons.filter((t=>t!=e))}calculateButtons(e,t,n,i){return[this._getDefaultButton(t),this._getCamerasButton(t,n,i?.view),this._getSubstreamsButton(t,n,i?.view),this._getLiveButton(t,i?.view,i?.viewManager),this._getClipsButton(t,i?.view,i?.viewManager),this._getSnapshotsButton(t,i?.view,i?.viewManager),this._getRecordingsButton(t,i?.view,i?.viewManager),this._getImageButton(t,i?.view,i?.viewManager),this._getTimelineButton(t,i?.view,i?.viewManager),this._getDownloadButton(t,n,i?.view),this._getCameraUIButton(t,i?.showCameraUIButton),this._getMicrophoneButton(t,i?.microphoneManager,i?.currentMediaLoadedInfo),this._getExpandButton(t,i?.inExpandedMode),this._getFullscreenButton(t,i?.inFullscreenMode),this._getCastButton(e,t,n,i?.view,i?.mediaPlayerController),this._getPlayPauseButton(t,i?.currentMediaLoadedInfo),this._getMuteUnmuteButton(t,i?.currentMediaLoadedInfo),this._getScreenshotButton(t,i?.currentMediaLoadedInfo),this._getDisplayModeButton(t,n,i?.view),this._getPTZControlsButton(t,n,i?.view),this._getPTZHomeButton(t,n,i?.view),...this._dynamicMenuButtons.map((e=>({style:this._getStyleFromActions(t,e,i),...e})))].filter(rf)}_getDefaultButton(e){return{icon:"frigate",...e.menu.buttons.frigate,type:"custom:frigate-card-menu-icon",title:N_("config.menu.buttons.frigate"),permanent:!0,tap_action:"hidden"===e.menu?.style?pf("menu_toggle"):pf("default"),hold_action:pf("diagnostics")}}_getCamerasButton(e,t,n){const i=t.getStore().getCameraIDsWithCapability("menu");if(i.size>1){const a=Array.from(i,(e=>{const i=gf("camera_select",e),a=t.getCameraMetadata(e);return{enabled:!0,icon:a?.icon.icon,entity:a?.icon.entity,state_color:!0,title:a?.title,selected:n?.camera===e,...i&&{tap_action:i}}}));return{icon:"mdi:video-switch",...e.menu.buttons.cameras,type:"custom:frigate-card-menu-submenu",title:N_("config.menu.buttons.cameras"),items:a}}return null}_getSubstreamsButton(e,t,n){if(!n)return null;const i=t.getStore().getAllDependentCameras(n.camera,"substream");if(i.size&&n.is("live")){const a=[...i].filter((e=>e!==n.camera)),r=[n.camera,...a],s=xv(n);if(2===r.length)return{icon:"mdi:video-input-component",style:s!==n.camera?this._getEmphasizedStyle():{},title:N_("config.menu.buttons.substreams"),...e.menu.buttons.substreams,type:"custom:frigate-card-menu-icon",tap_action:pf(Cv(n)?"live_substream_off":"live_substream_on")};if(r.length>2){const i=Array.from(r,(e=>{const n=gf("live_substream_select",e),i=t.getCameraMetadata(e)??void 0;return{enabled:!0,icon:i?.icon.icon,entity:i?.icon.entity,state_color:!0,title:i?.title,selected:s===e,...n&&{tap_action:n}}}));return{icon:"mdi:video-input-component",title:N_("config.menu.buttons.substreams"),style:s!==n.camera?this._getEmphasizedStyle():{},...e.menu.buttons.substreams,type:"custom:frigate-card-menu-submenu",items:i}}}return null}_getLiveButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"live")?{icon:"mdi:cctv",...e.menu.buttons.live,type:"custom:frigate-card-menu-icon",title:N_("config.view.views.live"),style:t.is("live")?this._getEmphasizedStyle():{},tap_action:pf("live")}:null}_getClipsButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"clips")?{icon:"mdi:filmstrip",...e.menu.buttons.clips,type:"custom:frigate-card-menu-icon",title:N_("config.view.views.clips"),style:t?.is("clips")?this._getEmphasizedStyle():{},tap_action:pf("clips"),hold_action:pf("clip")}:null}_getSnapshotsButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"snapshots")?{icon:"mdi:camera",...e.menu.buttons.snapshots,type:"custom:frigate-card-menu-icon",title:N_("config.view.views.snapshots"),style:t?.is("snapshots")?this._getEmphasizedStyle():{},tap_action:pf("snapshots"),hold_action:pf("snapshot")}:null}_getRecordingsButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"recordings")?{icon:"mdi:album",...e.menu.buttons.recordings,type:"custom:frigate-card-menu-icon",title:N_("config.view.views.recordings"),style:t.is("recordings")?this._getEmphasizedStyle():{},tap_action:pf("recordings"),hold_action:pf("recording")}:null}_getImageButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"image")?{icon:"mdi:image",...e.menu.buttons.image,type:"custom:frigate-card-menu-icon",title:N_("config.view.views.image"),style:t?.is("image")?this._getEmphasizedStyle():{},tap_action:pf("image")}:null}_getTimelineButton(e,t,n){return t&&n?.isViewSupportedByCamera(t.camera,"timeline")?{icon:"mdi:chart-gantt",...e.menu.buttons.timeline,type:"custom:frigate-card-menu-icon",title:N_("config.view.views.timeline"),style:t.is("timeline")?this._getEmphasizedStyle():{},tap_action:pf("timeline")}:null}_getDownloadButton(e,t,n){const i=n?.queryResults?.getSelectedResult(),a=i?t?.getMediaCapabilities(i):null;return n?.isViewerView()&&a?.canDownload&&!fb()?{icon:"mdi:download",...e.menu.buttons.download,type:"custom:frigate-card-menu-icon",title:N_("config.menu.buttons.download"),tap_action:pf("download")}:null}_getCameraUIButton(e,t){return t?{icon:"mdi:web",...e.menu.buttons.camera_ui,type:"custom:frigate-card-menu-icon",title:N_("config.menu.buttons.camera_ui"),tap_action:pf("camera_ui")}:null}_getMicrophoneButton(e,t,n){if(t&&n?.capabilities?.supports2WayAudio){const n=t.isForbidden()||!t.isSupported(),i=t.isMuted(),a=e.menu.buttons.microphone.type;return{icon:n?"mdi:microphone-message-off":i?"mdi:microphone-off":"mdi:microphone",...e.menu.buttons.microphone,type:"custom:frigate-card-menu-icon",title:N_("config.menu.buttons.microphone"),style:n||i?{}:this._getEmphasizedStyle(!0),...!n&&"momentary"===a&&{start_tap_action:pf("microphone_unmute"),end_tap_action:pf("microphone_mute")},...!n&&"toggle"===a&&{tap_action:pf(i?"microphone_unmute":"microphone_mute")}}}return null}_getExpandButton(e,t){return{icon:t?"mdi:arrow-collapse-all":"mdi:arrow-expand-all",...e.menu.buttons.expand,type:"custom:frigate-card-menu-icon",title:N_("config.menu.buttons.expand"),tap_action:pf("expand"),style:t?this._getEmphasizedStyle():{}}}_getFullscreenButton(e,t){return fb()?null:{icon:t?"mdi:fullscreen-exit":"mdi:fullscreen",...e.menu.buttons.fullscreen,type:"custom:frigate-card-menu-icon",title:N_("config.menu.buttons.fullscreen"),tap_action:pf("fullscreen"),style:t?this._getEmphasizedStyle():{}}}_getCastButton(e,t,n,i,a){if(!i)return null;const r=n.getStore().getCameraConfig(i.camera);if(a?.hasMediaPlayers()&&(i.isViewerView()||i.is("live")&&r?.camera_entity)){const n=a.getMediaPlayers().map((t=>{const n=bb(e,t)||t,i=e.states[t],a=mf(t,"play"),r=mf(t,"stop"),s=!i||"unavailable"===i.state;return{enabled:!0,selected:!1,entity:t,state_color:!1,title:n,disabled:s,...!s&&a&&{tap_action:a},...!s&&r&&{hold_action:r}}}));return{icon:"mdi:cast",...t.menu.buttons.media_player,type:"custom:frigate-card-menu-submenu",title:N_("config.menu.buttons.media_player"),items:n}}return null}_getPlayPauseButton(e,t){if(t&&t.player&&t.capabilities?.supportsPause){const n=t.player.isPaused();return{icon:n?"mdi:play":"mdi:pause",...e.menu.buttons.play,type:"custom:frigate-card-menu-icon",title:N_("config.menu.buttons.play"),tap_action:pf(n?"play":"pause")}}return null}_getMuteUnmuteButton(e,t){if(t&&t.player&&t?.capabilities?.hasAudio){const n=t.player.isMuted();return{icon:n?"mdi:volume-off":"mdi:volume-high",...e.menu.buttons.mute,type:"custom:frigate-card-menu-icon",title:N_("config.menu.buttons.mute"),tap_action:pf(n?"unmute":"mute")}}return null}_getScreenshotButton(e,t){return t&&t.player?{icon:"mdi:monitor-screenshot",...e.menu.buttons.screenshot,type:"custom:frigate-card-menu-icon",title:N_("config.menu.buttons.screenshot"),tap_action:pf("screenshot")}:null}_getDisplayModeButton(e,t,n){const i=n?Yw(t,n.view):null;if(n?.supportsMultipleDisplayModes()&&i&&i.size>1){const t=n.isGrid();return{icon:t?"mdi:grid-off":"mdi:grid",...e.menu.buttons.display_mode,style:t?this._getEmphasizedStyle():{},type:"custom:frigate-card-menu-icon",title:N_(t?"display_modes.single":"display_modes.grid"),tap_action:(a=t?"single":"grid",{action:"fire-dom-event",frigate_card_action:"display_mode_select",display_mode:a,...r?.cardID&&{card_id:r.cardID}})}}var a,r;return null}_getPTZControlsButton(e,t,n){const i=n?.is("live")?e.live.controls.ptz:n?.isViewerView()?e.media_viewer.controls.ptz:null;if(!n||!i||"off"===i.mode)return null;const a=Ov(n,{cameraManager:t,..."auto"===i.mode&&{type:"ptz"}});if(a){const t=!1!==n.context?.ptzControls?.enabled&&("on"===i.mode||"auto"===i.mode&&"ptz"===a.type);return{icon:"mdi:pan",...e.menu.buttons.ptz_controls,style:t?this._getEmphasizedStyle():{},type:"custom:frigate-card-menu-icon",title:N_("config.menu.buttons.ptz_controls"),tap_action:(r=!t,{action:"fire-dom-event",frigate_card_action:"ptz_controls",enabled:r,...s?.cardID&&{card_id:s.cardID}})}}var r,s;return null}_getPTZHomeButton(e,t,n){const i=n?Ov(n,{cameraManager:t}):null;return!i||(("digital"===i.type&&n?.context?.zoom?.[i.targetID]?.observed?.isDefault)??1)?null:{icon:"mdi:home",...e.menu.buttons.ptz_home,type:"custom:frigate-card-menu-icon",title:N_("config.menu.buttons.ptz_home"),tap_action:ff({targetID:i.targetID})}}_getEmphasizedStyle(e){return e?{animation:"pulse 3s infinite",color:"var(--error-color, white)"}:{color:"var(--primary-color, white)"}}_getStyleFromActions(e,t,n){for(const i of[t.tap_action,t.double_tap_action,t.hold_action,t.start_tap_action,t.end_tap_action]){const t=Array.isArray(i)?i:[i];for(const i of t){if(!i||"fire-dom-event"!==i.action||!("frigate_card_action"in i))continue;const t=i;if(Uo.some((e=>e===t.frigate_card_action&&n?.view?.is(t.frigate_card_action)))||"default"===t.frigate_card_action&&n?.view?.is(e.view.default)||"fullscreen"===t.frigate_card_action&&n?.inFullscreenMode||"camera_select"===t.frigate_card_action&&n?.view?.camera===t.camera)return this._getEmphasizedStyle()}}return{}}} -/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */ -function px(e){return null==e}var gx=function(e,t){var n,i="";for(n=0;no&&(t=i-o+(r=" ... ").length),n-i>o&&(n=i+o-(s=" ...").length),{str:r+e.slice(t,n).replace(/\t/g,"→")+s,pos:i-t+r.length}}function bx(e,t){return mx.repeat(" ",t-e.length)+e}var wx=function(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),"number"!=typeof t.indent&&(t.indent=1),"number"!=typeof t.linesBefore&&(t.linesBefore=3),"number"!=typeof t.linesAfter&&(t.linesAfter=2);for(var n,i=/\r?\n|\r|\0/g,a=[0],r=[],s=-1;n=i.exec(e.buffer);)r.push(n.index),a.push(n.index+n[0].length),e.position<=n.index&&s<0&&(s=a.length-2);s<0&&(s=a.length-1);var o,c,l="",d=Math.min(e.line+t.linesAfter,r.length).toString().length,u=t.maxLength-(t.indent+d+3);for(o=1;o<=t.linesBefore&&!(s-o<0);o++)c=vx(e.buffer,a[s-o],r[s-o],e.position-(a[s]-a[s-o]),u),l=mx.repeat(" ",t.indent)+bx((e.line-o+1).toString(),d)+" | "+c.str+"\n"+l;for(c=vx(e.buffer,a[s],r[s],e.position,u),l+=mx.repeat(" ",t.indent)+bx((e.line+1).toString(),d)+" | "+c.str+"\n",l+=mx.repeat("-",t.indent+d+3+c.pos)+"^\n",o=1;o<=t.linesAfter&&!(s+o>=r.length);o++)c=vx(e.buffer,a[s+o],r[s+o],e.position-(a[s]-a[s+o]),u),l+=mx.repeat(" ",t.indent)+bx((e.line+o+1).toString(),d)+" | "+c.str+"\n";return l.replace(/\n$/,"")},xx=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],Cx=["scalar","sequence","mapping"];var Mx=function(e,t){if(t=t||{},Object.keys(t).forEach((function(t){if(-1===xx.indexOf(t))throw new yx('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')})),this.options=t,this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.representName=t.representName||null,this.defaultStyle=t.defaultStyle||null,this.multi=t.multi||!1,this.styleAliases=function(e){var t={};return null!==e&&Object.keys(e).forEach((function(n){e[n].forEach((function(e){t[String(e)]=n}))})),t}(t.styleAliases||null),-1===Cx.indexOf(this.kind))throw new yx('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')};function Sx(e,t){var n=[];return e[t].forEach((function(e){var t=n.length;n.forEach((function(n,i){n.tag===e.tag&&n.kind===e.kind&&n.multi===e.multi&&(t=i)})),n[t]=e})),n}function kx(e){return this.extend(e)}kx.prototype.extend=function(e){var t=[],n=[];if(e instanceof Mx)n.push(e);else if(Array.isArray(e))n=n.concat(e);else{if(!e||!Array.isArray(e.implicit)&&!Array.isArray(e.explicit))throw new yx("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");e.implicit&&(t=t.concat(e.implicit)),e.explicit&&(n=n.concat(e.explicit))}t.forEach((function(e){if(!(e instanceof Mx))throw new yx("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(e.loadKind&&"scalar"!==e.loadKind)throw new yx("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(e.multi)throw new yx("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")})),n.forEach((function(e){if(!(e instanceof Mx))throw new yx("Specified list of YAML types (or a single Type object) contains a non-Type object.")}));var i=Object.create(kx.prototype);return i.implicit=(this.implicit||[]).concat(t),i.explicit=(this.explicit||[]).concat(n),i.compiledImplicit=Sx(i,"implicit"),i.compiledExplicit=Sx(i,"explicit"),i.compiledTypeMap=function(){var e,t,n={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function i(e){e.multi?(n.multi[e.kind].push(e),n.multi.fallback.push(e)):n[e.kind][e.tag]=n.fallback[e.tag]=e}for(e=0,t=arguments.length;e=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),Lx=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var Nx=/^[-+]?[0-9]+e/;var Fx=new Mx("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!(!Lx.test(e)||"_"===e[e.length-1])},construct:function(e){var t,n;return n="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(t[0])>=0&&(t=t.slice(1)),".inf"===t?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:n*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||mx.isNegativeZero(e))},represent:function(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(mx.isNegativeZero(e))return"-0.0";return n=e.toString(10),Nx.test(n)?n.replace("e",".e"):n},defaultStyle:"lowercase"}),Vx=zx.extend({implicit:[Tx,jx,Px,Fx]}),Hx=Vx,Bx=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),qx=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");var Ux=new Mx("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(e){return null!==e&&(null!==Bx.exec(e)||null!==qx.exec(e))},construct:function(e){var t,n,i,a,r,s,o,c,l=0,d=null;if(null===(t=Bx.exec(e))&&(t=qx.exec(e)),null===t)throw new Error("Date resolve error");if(n=+t[1],i=+t[2]-1,a=+t[3],!t[4])return new Date(Date.UTC(n,i,a));if(r=+t[4],s=+t[5],o=+t[6],t[7]){for(l=t[7].slice(0,3);l.length<3;)l+="0";l=+l}return t[9]&&(d=6e4*(60*+t[10]+ +(t[11]||0)),"-"===t[9]&&(d=-d)),c=new Date(Date.UTC(n,i,a,r,s,o,l)),d&&c.setTime(c.getTime()-d),c},instanceOf:Date,represent:function(e){return e.toISOString()}});var Wx=new Mx("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}}),Zx="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";var Qx=new Mx("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,i=0,a=e.length,r=Zx;for(n=0;n64)){if(t<0)return!1;i+=6}return i%8==0},construct:function(e){var t,n,i=e.replace(/[\r\n=]/g,""),a=i.length,r=Zx,s=0,o=[];for(t=0;t>16&255),o.push(s>>8&255),o.push(255&s)),s=s<<6|r.indexOf(i.charAt(t));return 0===(n=a%4*6)?(o.push(s>>16&255),o.push(s>>8&255),o.push(255&s)):18===n?(o.push(s>>10&255),o.push(s>>2&255)):12===n&&o.push(s>>4&255),new Uint8Array(o)},predicate:function(e){return"[object Uint8Array]"===Object.prototype.toString.call(e)},represent:function(e){var t,n,i="",a=0,r=e.length,s=Zx;for(t=0;t>18&63],i+=s[a>>12&63],i+=s[a>>6&63],i+=s[63&a]),a=(a<<8)+e[t];return 0===(n=r%3)?(i+=s[a>>18&63],i+=s[a>>12&63],i+=s[a>>6&63],i+=s[63&a]):2===n?(i+=s[a>>10&63],i+=s[a>>4&63],i+=s[a<<2&63],i+=s[64]):1===n&&(i+=s[a>>2&63],i+=s[a<<4&63],i+=s[64],i+=s[64]),i}}),Gx=Object.prototype.hasOwnProperty,Yx=Object.prototype.toString;var Kx=new Mx("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,n,i,a,r,s=[],o=e;for(t=0,n=o.length;t>10),56320+(e-65536&1023))}for(var kC=new Array(256),EC=new Array(256),$C=0;$C<256;$C++)kC[$C]=MC($C)?1:0,EC[$C]=MC($C);function AC(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||nC,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function IC(e,t){var n={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return n.snippet=wx(n),new yx(t,n)}function zC(e,t){throw IC(e,t)}function TC(e,t){e.onWarning&&e.onWarning.call(null,IC(e,t))}var jC={YAML:function(e,t,n){var i,a,r;null!==e.version&&zC(e,"duplication of %YAML directive"),1!==n.length&&zC(e,"YAML directive accepts exactly one argument"),null===(i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&zC(e,"ill-formed argument of the YAML directive"),a=parseInt(i[1],10),r=parseInt(i[2],10),1!==a&&zC(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=r<2,1!==r&&2!==r&&TC(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var i,a;2!==n.length&&zC(e,"TAG directive accepts exactly two arguments"),i=n[0],a=n[1],gC.test(i)||zC(e,"ill-formed tag handle (first argument) of the TAG directive"),iC.call(e.tagMap,i)&&zC(e,'there is a previously declared suffix for "'+i+'" tag handle'),mC.test(a)||zC(e,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch(t){zC(e,"tag prefix is malformed: "+a)}e.tagMap[i]=a}};function OC(e,t,n,i){var a,r,s,o;if(t1&&(e.result+=mx.repeat("\n",t-1))}function VC(e,t){var n,i,a=e.tag,r=e.anchor,s=[],o=!1;if(-1!==e.firstTabInLine)return!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=s),i=e.input.charCodeAt(e.position);0!==i&&(-1!==e.firstTabInLine&&(e.position=e.firstTabInLine,zC(e,"tab characters must not be used in indentation")),45===i)&&vC(e.input.charCodeAt(e.position+1));)if(o=!0,e.position++,LC(e,!0,-1)&&e.lineIndent<=t)s.push(null),i=e.input.charCodeAt(e.position);else if(n=e.line,qC(e,t,sC,!1,!0),s.push(e.result),LC(e,!0,-1),i=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==i)zC(e,"bad indentation of a sequence entry");else if(e.lineIndentt?g=1:e.lineIndent===t?g=0:e.lineIndentt?g=1:e.lineIndent===t?g=0:e.lineIndentt)&&(_&&(s=e.line,o=e.lineStart,c=e.position),qC(e,t,oC,!0,a)&&(_?m=e.result:f=e.result),_||(RC(e,h,p,g,m,f,s,o,c),g=m=f=null),LC(e,!0,-1),l=e.input.charCodeAt(e.position)),(e.line===r||e.lineIndent>t)&&0!==l)zC(e,"bad indentation of a mapping entry");else if(e.lineIndent=0))break;0===a?zC(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):c?zC(e,"repeat of an indentation width identifier"):(l=t+a-1,c=!0)}if(yC(r)){do{r=e.input.charCodeAt(++e.position)}while(yC(r));if(35===r)do{r=e.input.charCodeAt(++e.position)}while(!_C(r)&&0!==r)}for(;0!==r;){for(PC(e),e.lineIndent=0,r=e.input.charCodeAt(e.position);(!c||e.lineIndentl&&(l=e.lineIndent),_C(r))d++;else{if(e.lineIndent0){for(a=s,r=0;a>0;a--)(s=wC(o=e.input.charCodeAt(++e.position)))>=0?r=(r<<4)+s:zC(e,"expected hexadecimal character");e.result+=SC(r),e.position++}else zC(e,"unknown escape sequence");n=i=e.position}else _C(o)?(OC(e,n,i,!0),FC(e,LC(e,!1,t)),n=i=e.position):e.position===e.lineStart&&NC(e)?zC(e,"unexpected end of the document within a double quoted scalar"):(e.position++,i=e.position)}zC(e,"unexpected end of the stream within a double quoted scalar")}(e,h)?f=!0:!function(e){var t,n,i;if(42!==(i=e.input.charCodeAt(e.position)))return!1;for(i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!vC(i)&&!bC(i);)i=e.input.charCodeAt(++e.position);return e.position===t&&zC(e,"name of an alias node must contain at least one character"),n=e.input.slice(t,e.position),iC.call(e.anchorMap,n)||zC(e,'unidentified alias "'+n+'"'),e.result=e.anchorMap[n],LC(e,!0,-1),!0}(e)?function(e,t,n){var i,a,r,s,o,c,l,d,u=e.kind,h=e.result;if(vC(d=e.input.charCodeAt(e.position))||bC(d)||35===d||38===d||42===d||33===d||124===d||62===d||39===d||34===d||37===d||64===d||96===d)return!1;if((63===d||45===d)&&(vC(i=e.input.charCodeAt(e.position+1))||n&&bC(i)))return!1;for(e.kind="scalar",e.result="",a=r=e.position,s=!1;0!==d;){if(58===d){if(vC(i=e.input.charCodeAt(e.position+1))||n&&bC(i))break}else if(35===d){if(vC(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&NC(e)||n&&bC(d))break;if(_C(d)){if(o=e.line,c=e.lineStart,l=e.lineIndent,LC(e,!1,-1),e.lineIndent>=t){s=!0,d=e.input.charCodeAt(e.position);continue}e.position=r,e.line=o,e.lineStart=c,e.lineIndent=l;break}}s&&(OC(e,a,r,!1),FC(e,e.line-o),a=r=e.position,s=!1),yC(d)||(r=e.position+1),d=e.input.charCodeAt(++e.position)}return OC(e,a,r,!1),!!e.result||(e.kind=u,e.result=h,!1)}(e,h,aC===n)&&(f=!0,null===e.tag&&(e.tag="?")):(f=!0,null===e.tag&&null===e.anchor||zC(e,"alias node should not have any properties")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===g&&(f=o&&VC(e,p))),null===e.tag)null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);else if("?"===e.tag){for(null!==e.result&&"scalar"!==e.kind&&zC(e,'unacceptable node kind for ! tag; it should be "scalar", not "'+e.kind+'"'),c=0,l=e.implicitTypes.length;c"),null!==e.result&&u.kind!==e.kind&&zC(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+u.kind+'", not "'+e.kind+'"'),u.resolve(e.result,e.tag)?(e.result=u.construct(e.result,e.tag),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):zC(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||f}function UC(e){var t,n,i,a,r=e.position,s=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);0!==(a=e.input.charCodeAt(e.position))&&(LC(e,!0,-1),a=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==a));){for(s=!0,a=e.input.charCodeAt(++e.position),t=e.position;0!==a&&!vC(a);)a=e.input.charCodeAt(++e.position);for(i=[],(n=e.input.slice(t,e.position)).length<1&&zC(e,"directive name must not be less than one character in length");0!==a;){for(;yC(a);)a=e.input.charCodeAt(++e.position);if(35===a){do{a=e.input.charCodeAt(++e.position)}while(0!==a&&!_C(a));break}if(_C(a))break;for(t=e.position;0!==a&&!vC(a);)a=e.input.charCodeAt(++e.position);i.push(e.input.slice(t,e.position))}0!==a&&PC(e),iC.call(jC,n)?jC[n](e,n,i):TC(e,'unknown document directive "'+n+'"')}LC(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,LC(e,!0,-1)):s&&zC(e,"directives end mark is expected"),qC(e,e.lineIndent-1,oC,!1,!0),LC(e,!0,-1),e.checkLineBreaks&&hC.test(e.input.slice(r,e.position))&&TC(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&NC(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,LC(e,!0,-1)):e.position=55296&&i<=56319&&t+1=56320&&n<=57343?1024*(i-55296)+n-56320+65536:i}function DM(e){return/^\n* /.test(e)}var RM=1,PM=2,LM=3,NM=4,FM=5;function VM(e,t,n,i,a,r,s,o){var c,l=0,d=null,u=!1,h=!1,p=-1!==i,g=-1,m=function(e){return zM(e)&&e!==YC&&!IM(e)&&e!==lM&&e!==pM&&e!==dM&&e!==cM&&e!==mM&&e!==fM&&e!==yM&&e!==bM&&e!==iM&&e!==rM&&e!==oM&&e!==tM&&e!==vM&&e!==uM&&e!==hM&&e!==sM&&e!==nM&&e!==aM&&e!==gM&&e!==_M}(OM(e,0))&&function(e){return!IM(e)&&e!==dM}(OM(e,e.length-1));if(t||s)for(c=0;c=65536?c+=2:c++){if(!zM(l=OM(e,c)))return FM;m=m&&jM(l,d,o),d=l}else{for(c=0;c=65536?c+=2:c++){if((l=OM(e,c))===XC)u=!0,p&&(h=h||c-g-1>i&&" "!==e[g+1],g=c);else if(!zM(l))return FM;m=m&&jM(l,d,o),d=l}h=h||p&&c-g-1>i&&" "!==e[g+1]}return u||h?n>9&&DM(e)?FM:s?r===kM?FM:PM:h?NM:LM:!m||s||a(e)?r===kM?FM:PM:RM}function HM(e,t,n,i,a){e.dump=function(){if(0===t.length)return e.quotingType===kM?'""':"''";if(!e.noCompatMode&&(-1!==xM.indexOf(t)||CM.test(t)))return e.quotingType===kM?'"'+t+'"':"'"+t+"'";var r=e.indent*Math.max(1,n),s=-1===e.lineWidth?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-r),o=i||e.flowLevel>-1&&n>=e.flowLevel;switch(VM(t,o,e.indent,s,(function(t){return function(e,t){var n,i;for(n=0,i=e.implicitTypes.length;n"+BM(t,e.indent)+qM($M(function(e,t){var n,i,a=/(\n+)([^\n]*)/g,r=(o=e.indexOf("\n"),o=-1!==o?o:e.length,a.lastIndex=o,UM(e.slice(0,o),t)),s="\n"===e[0]||" "===e[0];var o;for(;i=a.exec(e);){var c=i[1],l=i[2];n=" "===l[0],r+=c+(s||n||""===l?"":"\n")+UM(l,t),s=n}return r}(t,s),r));case FM:return'"'+function(e){for(var t,n="",i=0,a=0;a=65536?a+=2:a++)i=OM(e,a),!(t=wM[i])&&zM(i)?(n+=e[a],i>=65536&&(n+=e[a+1])):n+=t||MM(i);return n}(t)+'"';default:throw new yx("impossible error: invalid scalar style")}}()}function BM(e,t){var n=DM(e)?String(t):"",i="\n"===e[e.length-1];return n+(i&&("\n"===e[e.length-2]||"\n"===e)?"+":i?"":"-")+"\n"}function qM(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function UM(e,t){if(""===e||" "===e[0])return e;for(var n,i,a=/ [^ ]/g,r=0,s=0,o=0,c="";n=a.exec(e);)(o=n.index)-r>t&&(i=s>r?s:o,c+="\n"+e.slice(r,i),r=i+1),s=o;return c+="\n",e.length-r>t&&s>r?c+=e.slice(r,s)+"\n"+e.slice(s+1):c+=e.slice(r),c.slice(1)}function WM(e,t,n,i){var a,r,s,o="",c=e.tag;for(a=0,r=n.length;a tag resolver accepts not "'+c+'" style');i=o.represent[c](t,c)}e.dump=i}return!0}return!1}function QM(e,t,n,i,a,r,s){e.tag=null,e.dump=n,ZM(e,n,!1)||ZM(e,n,!0);var o,c=QC.call(e.dump),l=i;i&&(i=e.flowLevel<0||e.flowLevel>t);var d,u,h="[object Object]"===c||"[object Array]"===c;if(h&&(u=-1!==(d=e.duplicates.indexOf(n))),(null!==e.tag&&"?"!==e.tag||u||2!==e.indent&&t>0)&&(a=!1),u&&e.usedDuplicates[d])e.dump="*ref_"+d;else{if(h&&u&&!e.usedDuplicates[d]&&(e.usedDuplicates[d]=!0),"[object Object]"===c)i&&0!==Object.keys(e.dump).length?(!function(e,t,n,i){var a,r,s,o,c,l,d="",u=e.tag,h=Object.keys(n);if(!0===e.sortKeys)h.sort();else if("function"==typeof e.sortKeys)h.sort(e.sortKeys);else if(e.sortKeys)throw new yx("sortKeys must be a boolean or a function");for(a=0,r=h.length;a1024)&&(e.dump&&XC===e.dump.charCodeAt(0)?l+="?":l+="? "),l+=e.dump,c&&(l+=AM(e,t)),QM(e,t+1,o,!0,c)&&(e.dump&&XC===e.dump.charCodeAt(0)?l+=":":l+=": ",d+=l+=e.dump));e.tag=u,e.dump=d||"{}"}(e,t,e.dump,a),u&&(e.dump="&ref_"+d+e.dump)):(!function(e,t,n){var i,a,r,s,o,c="",l=e.tag,d=Object.keys(n);for(i=0,a=d.length;i1024&&(o+="? "),o+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),QM(e,t,s,!1,!1)&&(c+=o+=e.dump));e.tag=l,e.dump="{"+c+"}"}(e,t,e.dump),u&&(e.dump="&ref_"+d+" "+e.dump));else if("[object Array]"===c)i&&0!==e.dump.length?(e.noArrayIndent&&!s&&t>0?WM(e,t-1,e.dump,a):WM(e,t,e.dump,a),u&&(e.dump="&ref_"+d+e.dump)):(!function(e,t,n){var i,a,r,s="",o=e.tag;for(i=0,a=n.length;i",e.dump=o+" "+e.dump)}return!0}function GM(e,t){var n,i,a=[],r=[];for(YM(e,a,r),n=0,i=r.length;n`;if(this.icon?.icon)return q``;if(this.hass&&this.icon?.entity){const e=this._controller.createStateObjectForStateBadge(this.hass,this.icon.entity);if(e)return q``}return this.icon?.fallback?q``:q``}static get styles(){return s(":host {\n display: inline-block;\n width: var(--mdc-icon-size, 24px);\n height: var(--mdc-icon-size, 24px);\n --ha-icon-display: block;\n}\n\n* {\n display: block;\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n}")}};e([he({attribute:!1})],tS.prototype,"hass",void 0),e([he({attribute:!1})],tS.prototype,"icon",void 0),tS=e([le("frigate-card-icon")],tS);let nS=class extends oe{constructor(){super(...arguments),this.message=""}render(){const e=this.icon?this.icon:"mdi:information-outline",t={dotdotdot:!!this.dotdotdot},n=e=>q`
${XM.dump(e)}
`;return q`
-
-
- -
-
- - ${this.message?q`${this.message}${this.context&&"string"==typeof this.context?": "+this.context:""}`:""} - - ${this.context&&Array.isArray(this.context)?this.context.map((e=>n(e))):"object"==typeof this.context?n(this.context):""} -
-
-
`}static get styles(){return s(JM)}};e([he({attribute:!1})],nS.prototype,"message",void 0),e([he({attribute:!1})],nS.prototype,"context",void 0),e([he({attribute:!1})],nS.prototype,"icon",void 0),e([he({attribute:!0,type:Boolean})],nS.prototype,"dotdotdot",void 0),nS=e([le("frigate-card-message")],nS);let iS=class extends oe{render(){if(this.message)return q` ${N_("error.troubleshooting")}
.`} - .icon=${this.message.icon??"mdi:alert-circle"} - .context=${this.message.context} - .dotdotdot=${this.message.dotdotdot} - > - `}static get styles(){return s(JM)}};e([he({attribute:!1})],iS.prototype,"message",void 0),iS=e([le("frigate-card-error-message")],iS);let aS=class extends oe{constructor(){super(...arguments),this.message="",this.animated=!1,this.size="large"}render(){return q`
- ${this.animated?q` - `:q``} - ${this.message?q`${this.message}`:q``} -
`}static get styles(){return s(JM)}};function rS(e){return"error"===e?.type?q` `:e?q` `:q``}function sS(e){return q` - - - `}function oS(e,t,n){!function(e,t,n,i){Vm(e,"message",{message:t,type:n,icon:i?.icon,context:i?.context})}(e,t,"error",{context:n?.context})}function cS(e,t){t instanceof Error&&oS(e,t.message,{...t instanceof $o&&{context:t.context}})}e([he({attribute:!1})],aS.prototype,"message",void 0),e([he({attribute:!1})],aS.prototype,"animated",void 0),e([he({attribute:!1})],aS.prototype,"size",void 0),aS=e([le("frigate-card-progress-indicator")],aS);let lS=class extends oe{constructor(){super(...arguments),this._root=null}createRenderRoot(){return this}_createRoot(){const e=customElements.get("hui-conditional-element");if(!e||!this.hass)throw new Error(N_("error.could_not_render_elements"));const t=new e;t.hass=this.hass;const n={type:"conditional",conditions:[],elements:this.elements};try{t.setConfig(n)}catch(e){throw Zm(e,console.error),new $o(N_("error.invalid_elements_config"))}return t}willUpdate(e){try{!this.elements||this._root&&!e.has("elements")||(this._root=this._createRoot())}catch(e){return cS(this,e)}}render(){return q`${this._root||""}`}updated(){this.hass&&this._root&&(this._root.hass=this.hass)}};e([he({attribute:!1})],lS.prototype,"elements",void 0),e([he({attribute:!1})],lS.prototype,"conditionsManagerEpoch",void 0),e([he({attribute:!1})],lS.prototype,"hass",void 0),lS=e([le("frigate-card-elements-core")],lS);let dS=class extends oe{constructor(){super(...arguments),this._menuRemoveHandler=e=>{Vm(this,"menu:remove",e.detail)},this._statusBarRemoveHandler=e=>{Vm(this,"status-bar:remove",e.detail)},this._menuAddHandler=e=>{const t=e.composedPath();t.length&&this._addHandler(t[0],"frigate-card:menu:remove",this._menuRemoveHandler)},this._statusBarAddHandler=e=>{const t=e.composedPath();t.length&&this._addHandler(t[0],"frigate-card:status-bar:add",this._statusBarRemoveHandler)}}_addHandler(e,t,n){e.removeEventListener(t,n),e.addEventListener(t,n)}connectedCallback(){super.connectedCallback(),this.addEventListener("frigate-card:menu:add",this._menuAddHandler),this.addEventListener("frigate-card:status-bar:add",this._statusBarAddHandler)}disconnectedCallback(){this.removeEventListener("frigate-card:menu:add",this._menuAddHandler),this.addEventListener("frigate-card:status-bar:add",this._statusBarAddHandler),super.disconnectedCallback()}render(){return q` - `}static get styles(){return s(":host {\n position: absolute;\n inset: 0;\n overflow: hidden;\n pointer-events: none;\n}\n\n.element {\n position: absolute;\n transform: translate(-50%, -50%);\n pointer-events: auto;\n}\n\nhui-error-card.element {\n inset: 0px;\n transform: unset;\n}")}};e([he({attribute:!1})],dS.prototype,"hass",void 0),e([he({attribute:!1})],dS.prototype,"conditionsManagerEpoch",void 0),e([he({attribute:!1})],dS.prototype,"elements",void 0),dS=e([le("frigate-card-elements")],dS);let uS=class extends oe{setConfig(e){this._config=e}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this.className=""}render(){if(function(e,t){if(!t)return!0;const n=new Jb(t,{bubbles:!0,composed:!0});return e.dispatchEvent(n),n.evaluation??!1}(this,this._config?.conditions))return q` - `}};e([he({attribute:!1,hasChanged:()=>!0})],uS.prototype,"hass",void 0),uS=e([le("frigate-card-conditional")],uS);class hS extends oe{constructor(e){super(),this._config=null,this._eventCategory=e}setConfig(e){this._config=e}connectedCallback(){super.connectedCallback(),this._config&&Vm(this,`${this._eventCategory}:add`,this._config)}disconnectedCallback(){this._config&&Vm(this,`${this._eventCategory}:remove`,this._config),super.disconnectedCallback()}}e([pe()],hS.prototype,"_config",void 0);class pS extends hS{constructor(){super("menu")}}let gS=class extends pS{};gS=e([le("frigate-card-menu-icon")],gS);let mS=class extends pS{};mS=e([le("frigate-card-menu-state-icon")],mS);let fS=class extends pS{};fS=e([le("frigate-card-menu-submenu")],fS);let _S=class extends pS{};_S=e([le("frigate-card-menu-submenu-select")],_S);class yS extends hS{constructor(){super("status-bar")}}let vS=class extends yS{};vS=e([le("frigate-card-status-bar-icon")],vS);let bS=class extends yS{};bS=e([le("frigate-card-status-bar-image")],bS);let wS=class extends yS{};wS=e([le("frigate-card-status-bar-string")],wS);let xS=class extends oe{render(){return q` `}static get styles(){return s(":host {\n width: intrinsic;\n height: intrinsic;\n display: flex;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n}\n\nimg {\n width: 10%;\n animation: rotate 8s linear infinite;\n}\n\n@keyframes rotate {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}")}};xS=e([le("frigate-card-loading")],xS);const CS=(e,t)=>{Vm(e,"action:execution-request",t)};class MS{constructor(e){this._config=null,this._buttons=[],this._expanded=!1,this._host=e}setMenuConfig(e){this._config=e,this._host.style.setProperty("--frigate-card-menu-button-size",`${e.button_size}px`),this._host.setAttribute("data-style",e.style),this._host.setAttribute("data-position",e.position),this._host.setAttribute("data-alignment",e.alignment),this._sortButtons(),this._host.requestUpdate()}getMenuConfig(){return this._config}isExpanded(){return this._expanded}setButtons(e){this._buttons=e,this._sortButtons(),this._host.requestUpdate()}getButtons(e){const t=e=>!this._isHidingMenu()||this._expanded||!!e.permanent;return this._buttons.filter((n=>(e=>!1!==e.enabled)(n)&&(t=>t.alignment===e||"matching"===e&&!t.alignment)(n)&&t(n)))}setExpanded(e){this._expanded=e,af(this._host,e,"expanded"),this._host.requestUpdate()}toggleExpanded(){this.setExpanded(!this._expanded)}actionHandler(e,t){if(e.stopPropagation(),e.detail.config&&(t=e.detail.config),!t)return;const n=e.detail.action,i=_f(n,t);if(!i)return;const a=qm(i);let r=!1;const s=a.filter((e=>rf(e)&&!this._isUnknownActionMenuToggleAction(e)));if(s.length!=a.length&&(r=!0),s.length&&CS(this._host,{action:a,config:t}),this._isHidingMenu())if(r)this.setExpanded(!this._expanded);else{const e=_f("hold",t),i=_f("double_tap",t),a=_f("tap",t),r=_f("end_tap",t);"end_tap"!==n&&("start_tap"!==n||e||i||a||r)&&("end_tap"===n||r)||this.setExpanded(!1)}}_sortButtons(){this._buttons=Sy(this._buttons,(e=>(e.priority??0)+(this._isHidingMenu()&&e.permanent?Bo:0)),["desc"])}_isHidingMenu(){return"hidden"===this._config?.style}_isUnknownActionMenuToggleAction(e){const t=hf(e);return!!t&&"menu_toggle"==t.frigate_card_action}}const SS=(e,t,n)=>{const i=e.states[t],a=n?.state?n.state:i?i.state:null;if(!a)return null;const r=Ye(t),s=i?i.attributes:null;return n?.entity?.translation_key&&e.localize(`component.${n.entity.platform}.entity.${r}.${n.entity.translation_key}.state.${a}`)||s?.device_class&&e.localize(`component.${r}.state.${s.device_class}.${a}`)||e.localize(`component.${r}.state._.${a}`)||a};let kS=class extends oe{_renderItem(e){if(!this.hass)return;const t=e.title??bb(this.hass,e.entity);return q` - {t.detail.config=e}} - .actionHandler=${Cf({hasHold:yf(e.hold_action),hasDoubleClick:yf(e.double_tap_action)})} - > - ${t??""} - ${e.subtitle?q`${e.subtitle}`:""} - - - `}render(){if(!this.submenu)return q``;const e=this.submenu.items;return q` - e.stopPropagation()} - @click=${e=>vf(e)} - > - - - - ${e.map(this._renderItem.bind(this))} - - `}static get styles(){return s("ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n:host {\n pointer-events: auto;\n}\n\nmwc-list-item {\n z-index: 20;\n}")}};e([he({attribute:!1})],kS.prototype,"hass",void 0),e([he({attribute:!1})],kS.prototype,"submenu",void 0),kS=e([le("frigate-card-submenu")],kS);let ES=class extends oe{shouldUpdate(e){const t=e.get("hass");return!e.has("hass")||!t||!this.submenuSelect||vb(this.hass,t,[this.submenuSelect.entity])}async _refreshOptionTitles(){if(!this.hass||!this.submenuSelect)return;const e=this.submenuSelect.entity,t=this.hass.states[e],n=t?.attributes?.options,i=await(this.entityRegistryManager?.getEntity(this.hass,e))??null,a={};for(const t of n){const n=SS(this.hass,e,{...i&&{entity:i},state:t});n&&(a[t]=n)}this._optionTitles=a}willUpdate(){if(!this.submenuSelect||!this.hass)return;this._optionTitles||this._refreshOptionTitles();const e=this.submenuSelect.entity,t=this.hass.states[e],n=t?.attributes?.options;if(!t||!n)return;const i=bb(this.hass,e),a={...i&&{title:i},...this.submenuSelect,icon:{icon:this.submenuSelect.icon,entity:e,fallback:"mdi:format-list-bulleted"},type:"custom:frigate-card-menu-submenu",items:[]};delete a.options;const r=a.items;for(const i of n){const n=this._optionTitles?.[i]??i;r.push({state_color:!0,selected:t.state===i,enabled:!0,title:n||i,...(e.startsWith("select.")||e.startsWith("input_select."))&&{tap_action:{action:"perform-action",perform_action:e.startsWith("select.")?"select.select_option":"input_select.select_option",target:{entity_id:e},data:{option:i}}},...this.submenuSelect.options&&this.submenuSelect.options[i]})}this._generatedSubmenu=a}render(){return q` `}};e([he({attribute:!1})],ES.prototype,"hass",void 0),e([he({attribute:!1})],ES.prototype,"submenuSelect",void 0),e([he({attribute:!1})],ES.prototype,"entityRegistryManager",void 0),e([pe()],ES.prototype,"_optionTitles",void 0),ES=e([le("frigate-card-submenu-select")],ES);let $S=class extends oe{constructor(){super(...arguments),this._controller=new MS(this)}set menuConfig(e){this._controller.setMenuConfig(e)}set buttons(e){this._controller.setButtons(e)}set expanded(e){this._controller.setExpanded(e)}toggleMenu(){this._controller.toggleExpanded()}_renderButton(e){if(!this.hass)return;if("custom:frigate-card-menu-submenu"===e.type)return q` this._controller.actionHandler(e)} - > - `;if("custom:frigate-card-menu-submenu-select"===e.type)return q` this._controller.actionHandler(e)} - > - `;const t=this.hass&&"custom:frigate-card-menu-state-icon"===e.type&&!e.title?bb(this.hass,e.entity):e.title;return q` this._controller.actionHandler(t,e)} - > - - `}render(){const e=this._controller.getMenuConfig(),t=e?.style;if(!e||"none"===t)return;const n=this._controller.getButtons("matching"),i=this._controller.getButtons("opposing");return q`
- ${n.map((e=>this._renderButton(e)))} -
-
- ${i.map((e=>this._renderButton(e)))} -
`}static get styles(){return s('ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n:host {\n --frigate-card-menu-button-size: 40px;\n --mdc-icon-button-size: var(--frigate-card-menu-button-size);\n --mdc-icon-size: calc(var(--mdc-icon-button-size) / 2);\n pointer-events: auto;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n overflow: visible;\n}\n\n/*******************************************************\n * Non-hover styles should not interact with the pointer\n *******************************************************/\n:host(:not([data-style*=hover])) {\n pointer-events: none;\n}\n\n/***********************************\n * Aligned divs: matching & opposing\n ***********************************/\ndiv.matching,\ndiv.opposing {\n display: flex;\n flex-wrap: wrap;\n flex-direction: row;\n align-items: flex-start;\n min-width: 0px;\n min-height: 0px;\n}\n\ndiv.matching {\n justify-content: flex-start;\n}\n\ndiv.opposing {\n justify-content: flex-end;\n}\n\n/********************\n * Outside menu style\n ********************/\n:host([data-style=outside]) {\n width: 100%;\n background: var(--secondary-background-color);\n}\n\n/********************************************************\n * Hack: Ensure host & div expand for column flex layouts\n ********************************************************/\n:host(:not([data-style=outside])[data-position=left]) {\n writing-mode: vertical-lr;\n}\n\n:host(:not([data-style=outside])[data-position=right]) {\n writing-mode: vertical-rl;\n}\n\n:host(:not([data-style=outside])[data-style=overlay][data-position=left]) div > *,\n:host(:not([data-style=outside])[data-style=overlay][data-position=right]) div > *,\n:host(:not([data-style=outside])[data-style*=hover][data-position=left]) div > *,\n:host(:not([data-style=outside])[data-style*=hover][data-position=right]) div > *,\n:host(:not([data-style=outside])[data-style=hidden][data-position=left]) div > *,\n:host(:not([data-style=outside])[data-style=hidden][data-position=right]) div > * {\n writing-mode: horizontal-tb;\n}\n\n/**********************\n * "Reverse" alignments\n **********************/\n:host(:not([data-style=outside])[data-position=left][data-alignment=bottom]),\n:host(:not([data-style=outside])[data-position=right][data-alignment=bottom]),\n:host([data-position=top][data-alignment=right]),\n:host([data-position=bottom][data-alignment=right]),\n:host(:not([data-style=outside])[data-position=left][data-alignment=bottom]) div,\n:host(:not([data-style=outside])[data-position=right][data-alignment=bottom]) div,\n:host([data-position=top][data-alignment=right]) div,\n:host([data-position=bottom][data-alignment=right]) div {\n flex-direction: row-reverse;\n}\n\n/****************************\n * Wrap upwards on the bottom\n ****************************/\n:host(:not([data-style=outside])[data-position=bottom]) div {\n flex-wrap: wrap-reverse;\n}\n\n/********************************************\n * Positioning for absolute based menu styles\n ********************************************/\n:host([data-style=overlay][data-position=top]),\n:host([data-style=overlay][data-position=bottom]),\n:host([data-style*=hover][data-position=top]),\n:host([data-style*=hover][data-position=bottom]),\n:host([data-style=hidden][data-position=top]),\n:host([data-style=hidden][data-position=bottom]) {\n width: 100%;\n height: auto;\n}\n\n:host([data-style=overlay][data-position=top][data-alignment=left]),\n:host([data-style=overlay][data-position=bottom][data-alignment=left]),\n:host([data-style*=hover][data-position=top][data-alignment=left]),\n:host([data-style*=hover][data-position=bottom][data-alignment=left]),\n:host([data-style=hidden][data-position=top][data-alignment=left][expanded]),\n:host([data-style=hidden][data-position=bottom][data-alignment=left][expanded]) {\n background: linear-gradient(90deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}\n\n:host([data-style=overlay][data-position=top][data-alignment=right]),\n:host([data-style=overlay][data-position=bottom][data-alignment=right]),\n:host([data-style*=hover][data-position=top][data-alignment=right]),\n:host([data-style*=hover][data-position=bottom][data-alignment=right]),\n:host([data-style=hidden][data-position=top][data-alignment=right][expanded]),\n:host([data-style=hidden][data-position=bottom][data-alignment=right][expanded]) {\n background: linear-gradient(270deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}\n\n:host([data-style=overlay][data-position=left]),\n:host([data-style=overlay][data-position=right]),\n:host([data-style*=hover][data-position=left]),\n:host([data-style*=hover][data-position=right]),\n:host([data-style=hidden][data-position=left]),\n:host([data-style=hidden][data-position=right]) {\n width: auto;\n height: 100%;\n}\n\n:host([data-style=overlay][data-position=left][data-alignment=top]),\n:host([data-style=overlay][data-position=right][data-alignment=top]),\n:host([data-style*=hover][data-position=left][data-alignment=top]),\n:host([data-style*=hover][data-position=right][data-alignment=top]),\n:host([data-style=hidden][data-position=left][data-alignment=top][expanded]),\n:host([data-style=hidden][data-position=right][data-alignment=top][expanded]) {\n background: linear-gradient(180deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}\n\n:host([data-style=overlay][data-position=left][data-alignment=bottom]),\n:host([data-style=overlay][data-position=right][data-alignment=bottom]),\n:host([data-style*=hover][data-position=left][data-alignment=bottom]),\n:host([data-style*=hover][data-position=right][data-alignment=bottom]),\n:host([data-style=hidden][data-position=left][data-alignment=bottom][expanded]),\n:host([data-style=hidden][data-position=right][data-alignment=bottom][expanded]) {\n background: linear-gradient(0deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}')}};e([he({attribute:!1})],$S.prototype,"entityRegistryManager",void 0),e([he({attribute:!1})],$S.prototype,"hass",void 0),$S=e([le("frigate-card-menu")],$S);let AS=class extends oe{render(){return q` - - - - - `}static get styles(){return s("ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n:host {\n position: absolute;\n width: 100%;\n height: 100%;\n pointer-events: none;\n}\n\nslot {\n position: absolute;\n display: flex;\n}\n\n/***************\n * Slot position\n ***************/\nslot[name=top] {\n top: 0px;\n}\n\nslot[name=bottom] {\n bottom: 0px;\n}\n\nslot[name=left] {\n left: 0px;\n}\n\nslot[name=right] {\n right: 0px;\n}\n\n/***********\n * Slot size\n ***********/\nslot[name=top],\nslot[name=bottom] {\n width: 100%;\n flex-direction: column;\n}\n\nslot[name=left],\nslot[name=right] {\n height: 100%;\n flex-direction: row;\n}\n\nslot[name=top],\nslot[name=left] {\n justify-content: flex-start;\n}\n\nslot[name=bottom],\nslot[name=right] {\n justify-content: flex-end;\n}\n\n/*******************************\n * Match rounded corners to card\n *******************************/\n::slotted([slot=top]:first-child),\n::slotted([slot=left]:first-child) {\n border-top-left-radius: var(--ha-card-border-radius, 4px);\n}\n\n::slotted([slot=top]:first-child),\n::slotted([slot=right]:first-child) {\n border-top-right-radius: var(--ha-card-border-radius, 4px);\n}\n\n::slotted([slot=bottom]:last-child),\n::slotted([slot=left]:last-child) {\n border-bottom-left-radius: var(--ha-card-border-radius, 4px);\n}\n\n::slotted([slot=bottom]:last-child),\n::slotted([slot=right]:last-child) {\n border-bottom-right-radius: var(--ha-card-border-radius, 4px);\n}")}};AS=e([le("frigate-card-overlay")],AS);class IS{constructor(e){this._config=null,this._popupTimer=new bf,this._items=[],this._host=e}getRenderItems(){return this._items}setItems(e){const t=e.filter((e=>!!e.exclusive)),n=Sy(t.length?t:e,(e=>e.priority??50),"desc"),i=this._getSufficientValues(this._items),a=this._getSufficientValues(n);this._items=n,"popup"!==this._config?.style||jy(i,a)||(this._show(),this._popupTimer.start(this._config.popup_seconds,(()=>this._hide()))),this._host.requestUpdate()}setConfig(e){this._config=e,this._host.style.setProperty("--frigate-card-status-bar-height",`${e.height}px`),this._host.setAttribute("data-style",e.style),this._host.setAttribute("data-position",e.position),"popup"!==this._config?.style&&this._show(),this._host.requestUpdate()}shouldRender(){return this._items.some((e=>!1!==e.enabled&&e.sufficient))}actionHandler(e,t){e.stopPropagation();const n=_f(e.detail.action,t);n&&CS(this._host,{action:qm(n),config:t})}_getSufficientValue(e){ -/* istanbul ignore else: cannot happen -- @preserve */ -return"custom:frigate-card-status-bar-icon"===e.type?e.icon:"custom:frigate-card-status-bar-string"===e.type?e.string:"custom:frigate-card-status-bar-image"===e.type?e.image:null}_getSufficientValues(e){return e.filter((e=>!1!==e.enabled&&e.sufficient)).map((e=>this._getSufficientValue(e)))}_show(){af(this._host,!1,"hide")}_hide(){af(this._host,!0,"hide")}}let zS=class extends oe{constructor(){super(...arguments),this._controller=new IS(this)}willUpdate(e){e.has("config")&&this.config&&this._controller.setConfig(this.config),e.has("items")&&this._controller.setItems(this.items??[])}render(){if(this._controller.shouldRender())return q` -
- ${this._controller.getRenderItems().map((e=>{if(!1===e.enabled)return;const t=_e({item:!0,expand:!!e.expand,action:!!Object.keys(e.actions??{}).length}),n=Cf({hasHold:yf(e.actions?.hold_action),hasDoubleClick:yf(e.actions?.double_tap_action)});return"custom:frigate-card-status-bar-string"===e.type?q`
this._controller.actionHandler(t,e.actions)} - > - ${e.string} -
`:"custom:frigate-card-status-bar-icon"===e.type?q`this._controller.actionHandler(t,e.actions)} - >`:"custom:frigate-card-status-bar-image"===e.type?q`this._controller.actionHandler(t,e.actions)} - />`:void 0}))} -
- `}static get styles(){return s("ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n:host {\n --mdc-icon-size: calc(var(--frigate-card-status-bar-height) - 6px);\n display: block;\n width: 100%;\n pointer-events: auto;\n opacity: 1;\n transition: opacity 1s;\n}\n\n/*******************************************************\n * Non-hover styles should not interact with the pointer\n *******************************************************/\n:host(:not([data-style*=hover])) {\n pointer-events: none;\n}\n\n/***************\n * Outside style\n ***************/\n:host([data-style=outside]) {\n color: var(--primary-text-color);\n background: var(--secondary-background-color);\n}\n\n/*******************\n * Non-outside style\n *******************/\n:host(:not([data-style=outside])) {\n color: white;\n background: linear-gradient(90deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));\n}\n\n:host([data-style=popup][hide]) {\n opacity: 0;\n}\n\n/*********************\n * Status bar contents\n *********************/\n.status {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n overflow: hidden;\n width: 100%;\n height: var(--frigate-card-status-bar-height);\n}\n\n.item {\n display: inline-block;\n margin: 3px 5px;\n align-content: center;\n opacity: 0.7;\n}\n\n.item:first-child {\n margin-left: 10px;\n}\n\n.item:last-child {\n margin-right: 10px;\n}\n\n.item.expand {\n flex: 1;\n}\n\n.item.action {\n cursor: pointer;\n}\n\nimg.item {\n display: block;\n height: var(--mdc-icon-size, 24px);\n width: auto;\n}")}};e([he({attribute:!1})],zS.prototype,"items",void 0),e([he({attribute:!1})],zS.prototype,"config",void 0),zS=e([le("frigate-card-status-bar")],zS);function TS(e){return"number"==typeof e}function jS(e){return"string"==typeof e}function OS(e){return"boolean"==typeof e}function DS(e){return"[object Object]"===Object.prototype.toString.call(e)}function RS(e){return Math.abs(e)}function PS(e){return Math.sign(e)}function LS(e,t){return RS(e-t)}function NS(e){return qS(e).map(Number)}function FS(e){return e[VS(e)]}function VS(e){return Math.max(0,e.length-1)}function HS(e,t){return t===VS(e)}function BS(e,t=0){return Array.from(Array(e),((e,n)=>t+n))}function qS(e){return Object.keys(e)}function US(e,t){return[e,t].reduce(((e,t)=>(qS(t).forEach((n=>{const i=e[n],a=t[n],r=DS(i)&&DS(a);e[n]=r?US(i,a):a})),e)),{})}function WS(e,t){return void 0!==t.MouseEvent&&e instanceof t.MouseEvent}function ZS(){let e=[];const t={add:function(n,i,a,r={passive:!0}){let s;if("addEventListener"in n)n.addEventListener(i,a,r),s=()=>n.removeEventListener(i,a,r);else{const e=n;e.addListener(a),s=()=>e.removeListener(a)}return e.push(s),t},clear:function(){e=e.filter((e=>e()))}};return t}function QS(e,t,n,i){const a=ZS(),r=1e3/60;let s=null,o=0,c=0;function l(e){if(!c)return;s||(s=e);const a=e-s;for(s=e,o+=a;o>=r;)n(r),o-=r;i(o/r),c&&t.requestAnimationFrame(l)}function d(){t.cancelAnimationFrame(c),s=null,o=0,c=0}return{init:function(){a.add(e,"visibilitychange",(()=>{e.hidden&&(s=null,o=0)}))},destroy:function(){d(),a.clear()},start:function(){c||(c=t.requestAnimationFrame(l))},stop:d,update:()=>n(r),render:i}}function GS(e=0,t=0){const n=RS(e-t);function i(t){return tt}function r(e){return i(e)||a(e)}const s={length:n,max:t,min:e,constrain:function(n){return r(n)?i(n)?e:t:n},reachedAny:r,reachedMax:a,reachedMin:i,removeOffset:function(e){return n?e-n*Math.ceil((e-t)/n):e}};return s}function YS(e,t,n){const{constrain:i}=GS(0,e),a=e+1;let r=s(t);function s(e){return n?RS((a+e)%a):i(e)}function o(){return r}function c(){return YS(e,o(),n)}const l={get:o,set:function(e){return r=s(e),l},add:function(e){return c().set(o()+e)},clone:c};return l}function KS(e,t,n,i,a,r,s,o,c,l,d,u,h,p,g,m,f,_,y){const{cross:v,direction:b}=e,w=["INPUT","SELECT","TEXTAREA"],x={passive:!1},C=ZS(),M=ZS(),S=GS(50,225).constrain(p.measure(20)),k={mouse:300,touch:400},E={mouse:500,touch:600},$=g?43:25;let A=!1,I=0,z=0,T=!1,j=!1,O=!1,D=!1;function R(e){if(!WS(e,i)&&e.touches.length>=2)return P(e);const t=r.readPoint(e),n=r.readPoint(e,v),s=LS(t,I),c=LS(n,z);if(!j&&!D){if(!e.cancelable)return P(e);if(j=s>c,!j)return P(e)}const d=r.pointerMove(e);s>m&&(O=!0),l.useFriction(.3).useDuration(.75),o.start(),a.add(b(d)),e.preventDefault()}function P(e){const t=d.byDistance(0,!1).index!==u.get(),n=r.pointerUp(e)*(g?E:k)[D?"mouse":"touch"],i=function(e,t){const n=u.add(-1*PS(e)),i=d.byDistance(e,!g).distance;return g||RS(e)=2,o&&0!==e.button)return;if(function(e){const t=e.nodeName||"";return w.includes(t)}(e.target))return;T=!0,r.pointerDown(e),l.useFriction(0).useDuration(0),a.set(s),function(){const e=D?n:t;M.add(e,"touchmove",R,x).add(e,"touchend",P).add(e,"mousemove",R,x).add(e,"mouseup",P)}(),I=r.readPoint(e),z=r.readPoint(e,v),h.emit("pointerDown")}(o)}const c=t;C.add(c,"dragstart",(e=>e.preventDefault()),x).add(c,"touchmove",(()=>{}),x).add(c,"touchend",(()=>{})).add(c,"touchstart",o).add(c,"mousedown",o).add(c,"touchcancel",P).add(c,"contextmenu",P).add(c,"click",L,!0)},destroy:function(){C.clear(),M.clear()},pointerDown:function(){return T}}}function XS(e,t){let n,i;function a(e){return e.timeStamp}function r(n,i){const a="client"+("x"===(i||e.scroll)?"X":"Y");return(WS(n,t)?n:n.touches[0])[a]}return{pointerDown:function(e){return n=e,i=e,r(e)},pointerMove:function(e){const t=r(e)-r(i),s=a(e)-a(n)>170;return i=e,s&&(n=e),t},pointerUp:function(e){if(!n||!i)return 0;const t=r(i)-r(n),s=a(e)-a(n),o=a(e)-a(i)>170,c=t/s;return s&&!o&&RS(c)>.1?c:0},readPoint:r}}function JS(e,t,n,i,a,r,s){const o=[e].concat(i);let c,l,d=[],u=!1;function h(e){return a.measureSize(s.measure(e))}return{init:function(a){r&&(l=h(e),d=i.map(h),c=new ResizeObserver((n=>{(OS(r)||r(a,n))&&function(n){for(const r of n){if(u)return;const n=r.target===e,s=i.indexOf(r.target),o=n?l:d[s];if(RS(h(n?e:i[s])-o)>=.5){a.reInit(),t.emit("resize");break}}}(n)})),n.requestAnimationFrame((()=>{o.forEach((e=>c.observe(e)))})))},destroy:function(){u=!0,c&&c.disconnect()}}}function ek(e,t,n,i,a){const r=a.measure(10),s=a.measure(50),o=GS(.1,.99);let c=!1;function l(){return!c&&(!!e.reachedAny(n.get())&&!!e.reachedAny(t.get()))}return{shouldConstrain:l,constrain:function(a){if(!l())return;const c=e.reachedMin(t.get())?"min":"max",d=RS(e[c]-t.get()),u=n.get()-t.get(),h=o.constrain(d/s);n.subtract(u*h),!a&&RS(u)e.add(a)))}};return c}function nk(e,t,n,i,a){const{reachedAny:r,removeOffset:s,constrain:o}=i;function c(e){return e.concat().sort(((e,t)=>RS(e)-RS(t)))[0]}function l(t,i){const a=[t,t+n,t-n];if(!e)return t;if(!i)return c(a);const r=a.filter((e=>PS(e)===i));return r.length?c(r):FS(a)-n}return{byDistance:function(n,i){const c=a.get()+n,{index:d,distance:u}=function(n){const i=e?s(n):o(n),a=t.map(((e,t)=>({diff:l(e-i,0),index:t}))).sort(((e,t)=>RS(e.diff)-RS(t.diff))),{index:r}=a[0];return{index:r,distance:i}}(c),h=!e&&r(c);return!i||h?{index:d,distance:n}:{index:d,distance:n+l(t[d]-u,0)}},byIndex:function(e,n){return{index:e,distance:l(t[e]-a.get(),n)}},shortcut:l}}function ik(e,t,n,i,a,r,s,o){const c={passive:!0,capture:!0};let l=0;function d(e){"Tab"===e.code&&(l=(new Date).getTime())}return{init:function(u){o&&(r.add(document,"keydown",d,!1),t.forEach(((t,d)=>{r.add(t,"focus",(t=>{(OS(o)||o(u,t))&&function(t){if((new Date).getTime()-l>10)return;s.emit("slideFocusStart"),e.scrollLeft=0;const r=n.findIndex((e=>e.includes(t)));TS(r)&&(a.useDuration(0),i.index(r,0),s.emit("slideFocus"))}(d)}),c)})))}}}function ak(e){let t=e;function n(e){return TS(e)?e:e.get()}const i={get:function(){return t},set:function(e){t=n(e)},add:function(e){t+=n(e)},subtract:function(e){t-=n(e)}};return i}function rk(e,t){const n="x"===e.scroll?function(e){return`translate3d(${e}px,0px,0px)`}:function(e){return`translate3d(0px,${e}px,0px)`},i=t.style;let a=!1;return{clear:function(){a||(i.transform="",t.getAttribute("style")||t.removeAttribute("style"))},to:function(t){a||(i.transform=n(e.direction(t)))},toggleActive:function(e){a=!e}}}function sk(e,t,n,i,a,r,s,o,c){const l=.5,d=NS(a),u=NS(a).reverse(),h=function(){const e=s[0];return m(g(u,e),n,!1)}().concat(function(){const e=t-s[0]-1;return m(g(d,e),-n,!0)}());function p(e,t){return e.reduce(((e,t)=>e-a[t]),t)}function g(e,t){return e.reduce(((e,n)=>p(e,t)>0?e.concat([n]):e),[])}function m(a,s,d){const u=function(e){return r.map(((n,a)=>({start:n-i[a]+l+e,end:n+t-l+e})))}(s);return a.map((t=>{const i=d?0:-n,a=d?n:0,r=d?"end":"start",s=u[t][r];return{index:t,loopPoint:s,slideLocation:ak(-1),translate:rk(e,c[t]),target:()=>o.get()>s?i:a}}))}const f={canLoop:function(){return h.every((({index:e})=>{const n=d.filter((t=>t!==e));return p(n,t)<=.1}))},clear:function(){h.forEach((e=>e.translate.clear()))},loop:function(){h.forEach((e=>{const{target:t,translate:n,slideLocation:i}=e,a=t();a!==i.get()&&(n.to(a),i.set(a))}))},loopPoints:h};return f}function ok(e,t,n){let i,a=!1;return{init:function(r){n&&(i=new MutationObserver((e=>{a||(OS(n)||n(r,e))&&function(e){for(const n of e)if("childList"===n.type){r.reInit(),t.emit("slidesChanged");break}}(e)})),i.observe(e,{childList:!0}))},destroy:function(){i&&i.disconnect(),a=!0}}}function ck(e,t,n,i){const a={};let r,s=null,o=null,c=!1;return{init:function(){r=new IntersectionObserver((e=>{c||(e.forEach((e=>{const n=t.indexOf(e.target);a[n]=e})),s=null,o=null,n.emit("slidesInView"))}),{root:e.parentElement,threshold:i}),t.forEach((e=>r.observe(e)))},destroy:function(){r&&r.disconnect(),c=!0},get:function(e=!0){if(e&&s)return s;if(!e&&o)return o;const t=function(e){return qS(a).reduce(((t,n)=>{const i=parseInt(n),{isIntersecting:r}=a[i];return(e&&r||!e&&!r)&&t.push(i),t}),[])}(e);return e&&(s=t),e||(o=t),t}}}function lk(e,t,n,i,a,r,s,o,c){const{startEdge:l,endEdge:d,direction:u}=e,h=TS(n);const p={groupSlides:function(e){return h?function(e,t){return NS(e).filter((e=>e%t==0)).map((n=>e.slice(n,n+t)))}(e,n):function(e){return e.length?NS(e).reduce(((n,h,p)=>{const g=FS(n)||0,m=0===g,f=h===VS(e),_=a[l]-r[g][l],y=a[l]-r[h][d],v=!i&&m?u(s):0,b=RS(y-(!i&&f?u(o):0)-(_+v));return p&&b>t+c&&n.push(h),f&&n.push(e.length),n}),[]).map(((t,n,i)=>{const a=Math.max(i[n-1]||0);return e.slice(a,t)})):[]}(e)}};return p}function dk(e,t,n,i,a,r,s){const{align:o,axis:c,direction:l,startIndex:d,loop:u,duration:h,dragFree:p,dragThreshold:g,inViewThreshold:m,slidesToScroll:f,skipSnaps:_,containScroll:y,watchResize:v,watchSlides:b,watchDrag:w,watchFocus:x}=r,C={measure:function(e){const{offsetTop:t,offsetLeft:n,offsetWidth:i,offsetHeight:a}=e;return{top:t,right:n+i,bottom:t+a,left:n,width:i,height:a}}},M=C.measure(t),S=n.map(C.measure),k=function(e,t){const n="rtl"===t,i="y"===e,a=!i&&n?-1:1,r={scroll:i?"y":"x",cross:i?"x":"y",startEdge:i?"top":n?"right":"left",endEdge:i?"bottom":n?"left":"right",measureSize:function(e){const{height:t,width:n}=e;return i?t:n},direction:function(e){return e*a}};return r}(c,l),E=k.measureSize(M),$=function(e){const t={measure:function(t){return e*(t/100)}};return t}(E),A=function(e,t){const n={start:function(){return 0},center:function(e){return i(e)/2},end:i};function i(e){return t-e}const a={measure:function(i,a){return jS(e)?n[e](i):e(t,i,a)}};return a}(o,E),I=!u&&!!y,z=u||!!y,{slideSizes:T,slideSizesWithGaps:j,startGap:O,endGap:D}=function(e,t,n,i,a,r){const{measureSize:s,startEdge:o,endEdge:c}=e,l=n[0]&&a,d=function(){if(!l)return 0;const e=n[0];return RS(t[o]-e[o])}(),u=function(){if(!l)return 0;const e=r.getComputedStyle(FS(i));return parseFloat(e.getPropertyValue(`margin-${c}`))}(),h=n.map(s),p=n.map(((e,t,n)=>{const i=!t,a=HS(n,t);return i?h[t]+d:a?h[t]+u:n[t+1][o]-e[o]})).map(RS);return{slideSizes:h,slideSizesWithGaps:p,startGap:d,endGap:u}}(k,M,S,n,z,a),R=lk(k,E,f,u,M,S,O,D,2),{snaps:P,snapsAligned:L}=function(e,t,n,i,a){const{startEdge:r,endEdge:s}=e,{groupSlides:o}=a,c=o(i).map((e=>FS(e)[s]-e[0][r])).map(RS).map(t.measure),l=i.map((e=>n[r]-e[r])).map((e=>-RS(e))),d=o(l).map((e=>e[0])).map(((e,t)=>e+c[t]));return{snaps:l,snapsAligned:d}}(k,A,M,S,R),N=-FS(P)+FS(j),{snapsContained:F,scrollContainLimit:V}=function(e,t,n,i,a){const r=GS(-t+e,0),s=n.map(((e,t)=>{const{min:i,max:a}=r,s=r.constrain(e),o=!t,l=HS(n,t);return o?a:l||c(i,s)?i:c(a,s)?a:s})).map((e=>parseFloat(e.toFixed(3)))),o=function(){const e=s[0],t=FS(s);return GS(s.lastIndexOf(e),s.indexOf(t)+1)}();function c(e,t){return LS(e,t)<1}return{snapsContained:function(){if(t<=e+a)return[r.max];if("keepSnaps"===i)return s;const{min:n,max:c}=o;return s.slice(n,c)}(),scrollContainLimit:o}}(E,N,L,y,2),H=I?F:L,{limit:B}=function(e,t,n){const i=t[0];return{limit:GS(n?i-e:FS(t),i)}}(N,H,u),q=YS(VS(H),d,u),U=q.clone(),W=NS(n),Z=QS(i,a,(e=>(({dragHandler:e,scrollBody:t,scrollBounds:n,options:{loop:i}},a)=>{i||n.constrain(e.pointerDown()),t.seek(a)})(oe,e)),(e=>(({scrollBody:e,translate:t,location:n,offsetLocation:i,scrollLooper:a,slideLooper:r,dragHandler:s,animation:o,eventHandler:c,scrollBounds:l,options:{loop:d}},u)=>{const h=e.settled(),p=!l.shouldConstrain(),g=d?h:h&&p;g&&!s.pointerDown()&&(o.stop(),c.emit("settle")),g||c.emit("scroll");const m=n.get()*u+Y.get()*(1-u);i.set(m),d&&(a.loop(e.direction()),r.loop()),t.to(i.get())})(oe,e))),Q=H[q.get()],G=ak(Q),Y=ak(Q),K=ak(Q),X=ak(Q),J=function(e,t,n,i,a,r){let s=0,o=0,c=a,l=r,d=e.get(),u=0;function h(e){return c=e,g}function p(e){return l=e,g}const g={direction:function(){return o},duration:function(){return c},velocity:function(){return s},seek:function(t){const a=t/1e3,r=c*a,h=i.get()-e.get();let p=0;return c?(n.set(e),s+=h/r,s*=l,d+=s,e.add(s*a),p=d-u):(s=0,n.set(i),e.set(i),p=h),o=PS(p),u=d,g},settled:function(){return RS(i.get()-t.get())<.001},useBaseFriction:function(){return p(r)},useBaseDuration:function(){return h(a)},useFriction:p,useDuration:h};return g}(G,K,Y,X,h,.68),ee=nk(u,H,N,B,X),te=function(e,t,n,i,a,r,s){function o(a){const o=a.distance,c=a.index!==t.get();r.add(o),o&&(i.duration()?e.start():(e.update(),e.render(1),e.update())),c&&(n.set(t.get()),t.set(a.index),s.emit("select"))}const c={distance:function(e,t){o(a.byDistance(e,t))},index:function(e,n){const i=t.clone().set(e);o(a.byIndex(i.get(),n))}};return c}(Z,q,U,J,ee,X,s),ne=function(e){const{max:t,length:n}=e,i={get:function(e){return n?(e-t)/-n:0}};return i}(B),ie=ZS(),ae=ck(t,n,s,m),{slideRegistry:re}=function(e,t,n,i,a,r){const{groupSlides:s}=a,{min:o,max:c}=i;return{slideRegistry:function(){const i=s(r),a=!e||"keepSnaps"===t;return 1===n.length?[r]:a?i:i.slice(o,c).map(((e,t,n)=>{const i=!t,a=HS(n,t);return i?BS(FS(n[0])+1):a?BS(VS(r)-FS(n)[0]+1,FS(n)[0]):e}))}()}}(I,y,H,V,R,W),se=ik(e,n,re,te,J,ie,s,x),oe={ownerDocument:i,ownerWindow:a,eventHandler:s,containerRect:M,slideRects:S,animation:Z,axis:k,dragHandler:KS(k,e,i,a,X,XS(k,a),G,Z,te,J,ee,q,s,$,p,g,_,.68,w),eventStore:ie,percentOfView:$,index:q,indexPrevious:U,limit:B,location:G,offsetLocation:K,previousLocation:Y,options:r,resizeHandler:JS(t,s,a,n,k,v,C),scrollBody:J,scrollBounds:ek(B,K,X,J,$),scrollLooper:tk(N,B,K,[G,K,Y,X]),scrollProgress:ne,scrollSnapList:H.map(ne.get),scrollSnaps:H,scrollTarget:ee,scrollTo:te,slideLooper:sk(k,E,N,T,j,P,H,K,n),slideFocus:se,slidesHandler:ok(t,s,b),slidesInView:ae,slideIndexes:W,slideRegistry:re,slidesToScroll:R,target:X,translate:rk(k,t)};return oe}const uk={align:"center",axis:"x",container:null,slides:null,containScroll:"trimSnaps",direction:"ltr",slidesToScroll:1,inViewThreshold:0,breakpoints:{},dragFree:!1,dragThreshold:10,loop:!1,skipSnaps:!1,duration:25,startIndex:0,active:!0,watchDrag:!0,watchResize:!0,watchSlides:!0,watchFocus:!0};function hk(e){function t(e,t){return US(e,t||{})}const n={mergeOptions:t,optionsAtMedia:function(n){const i=n.breakpoints||{},a=qS(i).filter((t=>e.matchMedia(t).matches)).map((e=>i[e])).reduce(((e,n)=>t(e,n)),{});return t(n,a)},optionsMediaQueries:function(t){return t.map((e=>qS(e.breakpoints||{}))).reduce(((e,t)=>e.concat(t)),[]).map(e.matchMedia)}};return n}function pk(e,t,n){const i=e.ownerDocument,a=i.defaultView,r=hk(a),s=function(e){let t=[];const n={init:function(n,i){return t=i.filter((({options:t})=>!1!==e.optionsAtMedia(t).active)),t.forEach((t=>t.init(n,e))),i.reduce(((e,t)=>Object.assign(e,{[t.name]:t})),{})},destroy:function(){t=t.filter((e=>e.destroy()))}};return n}(r),o=ZS(),c=function(){let e,t={};function n(e){return t[e]||[]}const i={init:function(t){e=t},emit:function(t){return n(t).forEach((n=>n(e,t))),i},off:function(e,a){return t[e]=n(e).filter((e=>e!==a)),i},on:function(e,a){return t[e]=n(e).concat([a]),i},clear:function(){t={}}};return i}(),{mergeOptions:l,optionsAtMedia:d,optionsMediaQueries:u}=r,{on:h,off:p,emit:g}=c,m=k;let f,_,y,v,b=!1,w=l(uk,pk.globalOptions),x=l(w),C=[];function M(t){const n=dk(e,y,v,i,a,t,c);if(t.loop&&!n.slideLooper.canLoop()){return M(Object.assign({},t,{loop:!1}))}return n}function S(t,n){b||(w=l(w,t),x=d(w),C=n||C,function(){const{container:t,slides:n}=x,i=jS(t)?e.querySelector(t):t;y=i||e.children[0];const a=jS(n)?y.querySelectorAll(n):n;v=[].slice.call(a||y.children)}(),f=M(x),u([w,...C.map((({options:e})=>e))]).forEach((e=>o.add(e,"change",k))),x.active&&(f.translate.to(f.location.get()),f.animation.init(),f.slidesInView.init(),f.slideFocus.init(I),f.eventHandler.init(I),f.resizeHandler.init(I),f.slidesHandler.init(I),f.options.loop&&f.slideLooper.loop(),y.offsetParent&&v.length&&f.dragHandler.init(I),_=s.init(I,C)))}function k(e,t){const n=A();E(),S(l({startIndex:n},e),t),c.emit("reInit")}function E(){f.dragHandler.destroy(),f.eventStore.clear(),f.translate.clear(),f.slideLooper.clear(),f.resizeHandler.destroy(),f.slidesHandler.destroy(),f.slidesInView.destroy(),f.animation.destroy(),s.destroy(),o.clear()}function $(e,t,n){x.active&&!b&&(f.scrollBody.useBaseFriction().useDuration(!0===t?0:x.duration),f.scrollTo.index(e,n||0))}function A(){return f.index.get()}const I={canScrollNext:function(){return f.index.add(1).get()!==A()},canScrollPrev:function(){return f.index.add(-1).get()!==A()},containerNode:function(){return y},internalEngine:function(){return f},destroy:function(){b||(b=!0,o.clear(),E(),c.emit("destroy"),c.clear())},off:p,on:h,emit:g,plugins:function(){return _},previousScrollSnap:function(){return f.indexPrevious.get()},reInit:m,rootNode:function(){return e},scrollNext:function(e){$(f.index.add(1).get(),e,-1)},scrollPrev:function(e){$(f.index.add(-1).get(),e,1)},scrollProgress:function(){return f.scrollProgress.get(f.location.get())},scrollSnapList:function(){return f.scrollSnapList},scrollTo:$,selectedScrollSnap:A,slideNodes:function(){return v},slidesInView:function(){return f.slidesInView.get()},slidesNotInView:function(){return f.slidesInView.get(!1)}};return S(t,n),setTimeout((()=>c.emit("init")),0),I}function gk(){return gk=Object.assign||function(e){for(var t=1;t=e;case"y":return Math.abs(a)>=e;case"z":return Math.abs(r)>=e;default:return!1}}(r,i)&&e.preventDefault(),l.isStarted?l.isMomentum&&r>Math.max(2,2*l.lastAbsDelta)&&(M(!0),x()):x(),0===r&&Object.is&&Object.is(e.deltaX,-0)?d=!0:(t=e,l.axisMovement=fk(l.axisMovement,i),l.lastAbsDelta=r,l.scrollPointsToMerge.push({axisDelta:i,timeStamp:a}),m(),p({axisDelta:i,isStart:!l.isStartPublished}),l.isStartPublished=!0,C())},m=function(){var e;l.scrollPointsToMerge.length===Mk?(l.scrollPoints.unshift({axisDeltaSum:l.scrollPointsToMerge.map((function(e){return e.axisDelta})).reduce(fk),timeStamp:(e=l.scrollPointsToMerge.map((function(e){return e.timeStamp})),e.reduce((function(e,t){return e+t}))/e.length)}),_(),l.scrollPointsToMerge.length=0,l.scrollPoints.length=1,l.isMomentum||b()):l.isStartPublished||f()},f=function(){var e;l.axisVelocity=(e=l.scrollPointsToMerge,e[e.length-1]).axisDelta.map((function(e){return e/l.willEndTimeout}))},_=function(){var e=l.scrollPoints,t=e[0],n=e[1];if(n&&t){var i=t.timeStamp-n.timeStamp;if(!(i<=0)){var a=t.axisDeltaSum.map((function(e){return e/i})),r=a.map((function(e,t){return e/(l.axisVelocity[t]||1)}));l.axisVelocity=a,l.accelerationFactors.push(r),y(i)}}},y=function(e){var t=10*Math.ceil(e/10)*1.2;l.isMomentum||(t=Math.max(100,2*t)),l.willEndTimeout=Math.min(1e3,Math.round(t))},v=function(e){return 0===e||e<=Ck&&e>=xk},b=function(){if(l.accelerationFactors.length>=Sk){if(d&&(d=!1,_k(l.axisVelocity)>=.2))return void w();var e=l.accelerationFactors.slice(-1*Sk);e.every((function(e){var t=!!e.reduce((function(e,t){return e&&e<1&&e===t?1:0})),n=e.filter(v).length===e.length;return t||n}))&&w(),l.accelerationFactors=e}},w=function(){l.isMomentum=!0},x=function(){(l=$k()).isStarted=!0,l.startTime=Date.now(),n=void 0,d=!1},C=function(){clearTimeout(i),i=setTimeout(M,l.willEndTimeout)},M=function(e){void 0===e&&(e=!1),l.isStarted&&(l.isMomentum&&e?p({isEnding:!0,isMomentumCancel:!0}):p({isEnding:!0}),l.isMomentum=!1,l.isStarted=!1)},S=function(e){var t=[],n=function(n){n.removeEventListener("wheel",e),t=t.filter((function(e){return e!==n}))};return yk({observe:function(i){return i.addEventListener("wheel",e,{passive:!1}),t.push(i),function(){return n(i)}},unobserve:n,disconnect:function(){t.forEach(n)}})}(u),k=S.observe,E=S.unobserve,$=S.disconnect;return h(e),yk({on:r,off:s,observe:k,unobserve:E,disconnect:$,feedWheel:u,updateOptions:h})}var Ik={active:!0,breakpoints:{},wheelDraggingClass:"is-wheel-dragging",forceWheelAxis:void 0,target:void 0};function zk(e){var t;void 0===e&&(e={});var n=function(){};var i={name:"wheelGestures",options:e,init:function(i,a){var r,s,o=a.mergeOptions,c=a.optionsAtMedia,l=o(Ik,zk.globalOptions),d=o(l,e);t=c(d);var u,h=i.internalEngine(),p=null!=(r=t.target)?r:i.containerNode().parentNode,g=null!=(s=t.forceWheelAxis)?s:h.options.axis,m=Ak({preventWheelAction:g,reverseSign:[!0,!0,!1]}),f=m.observe(p),_=m.on("wheel",(function(e){var i=e.axisDelta,a=i[0],r=i[1],s="x"===g?a:r,o="x"===g?r:a,c=e.isMomentum&&e.previous&&!e.previous.isMomentum,l=e.isEnding&&!e.isMomentum||c;Math.abs(s)>Math.abs(o)&&!y&&!e.isMomentum&&function(e){try{x(u=new MouseEvent("mousedown",e.event))}catch(e){return n()}y=!0,document.documentElement.addEventListener("mousemove",b,!0),document.documentElement.addEventListener("mouseup",b,!0),void document.documentElement.addEventListener("mousedown",b,!0),t.wheelDraggingClass&&p.classList.add(t.wheelDraggingClass)}(e);if(!y)return;l?function(e){y=!1,x(w("mouseup",e)),v(),t.wheelDraggingClass&&p.classList.remove(t.wheelDraggingClass)}(e):x(w("mousemove",e))})),y=!1;function v(){document.documentElement.removeEventListener("mousemove",b,!0),document.documentElement.removeEventListener("mouseup",b,!0),document.documentElement.removeEventListener("mousedown",b,!0)}function b(e){y&&e.isTrusted&&e.stopImmediatePropagation()}function w(e,t){var n,i;if(g===h.options.axis){var a=t.axisMovement;n=a[0],i=a[1]}else{var r=t.axisMovement;i=r[0],n=r[1]}if(!h.options.skipSnaps&&!h.options.dragFree){var s=h.containerRect.width,o=h.containerRect.height;n=n<0?Math.max(n,-s):Math.min(n,s),i=i<0?Math.max(i,-o):Math.min(i,o)}return new MouseEvent(e,{clientX:u.clientX+n,clientY:u.clientY+i,screenX:u.screenX+n,screenY:u.screenY+i,movementX:n,movementY:i,button:0,bubbles:!0,cancelable:!0,composed:!0})}function x(e){i.containerNode().dispatchEvent(e)}n=function(){f(),_(),v()}},destroy:function(){return n()}};return i}zk.globalOptions=void 0;class Tk{constructor(e,t,n){this._mutationObserver=new MutationObserver(((e,t)=>this._refreshCarouselContents())),this._refreshCarouselContents=()=>{const e=of(this._parent);!jy(this._carousel.slideNodes(),e)&&(this._carousel.destroy(),this._carousel=this._createCarousel(e))},this._root=e,this._parent=t,this._direction=n?.direction??"horizontal",this._transitionEffect=n?.transitionEffect??"slide",this._startIndex=n?.startIndex??0,this._dragFree=n?.dragFree??!1,this._loop=n?.loop??!1,this._draggable=n?.dragEnabled??!0,this._plugins=n?.plugins??[],this._textDirection=n?.textDirection??"ltr",this._carousel=this._createCarousel(of(this._parent)),t instanceof HTMLSlotElement&&t.addEventListener("slotchange",this._refreshCarouselContents),this._mutationObserver.observe(this._parent,{childList:!0})}destroy(){this._parent instanceof HTMLSlotElement&&this._parent.removeEventListener("slotchange",this._refreshCarouselContents),this._mutationObserver.disconnect(),this._carousel.destroy()}getSlide(e){return this._carousel.slideNodes()[e]??null}getSelectedSlide(){return this.getSlide(this.getSelectedIndex())}getSelectedIndex(){return this._carousel.selectedScrollSnap()}selectSlide(e){this._carousel.scrollTo(e,"none"===this._transitionEffect);const t=this.getSlide(e);t&&Vm(this._parent,"carousel:force-select",{index:e,element:t})}_createCarousel(e){const t=pk(this._root,{slides:e,axis:"horizontal"===this._direction?"x":"y",duration:20,startIndex:this._startIndex,dragFree:this._dragFree,loop:this._loop,containScroll:"trimSnaps",watchSlides:!1,watchResize:!0,watchDrag:this._draggable,direction:this._textDirection},[...this._plugins,...e.length>1?[zk({forceWheelAxis:"y"})]:[]]),n=()=>{const e=(()=>{const e=t.selectedScrollSnap(),n=t.slideNodes()[e]??null;return n?{index:e,element:n}:null})();e&&Vm(this._parent,"carousel:select",e)};return t.on("select",(()=>n())),t}}const jk=e=>"rtl"===getComputedStyle(e).direction?"rtl":"ltr";let Ok=class extends oe{constructor(){super(...arguments),this.direction="horizontal",this.dragEnabled=!0,this.selected=0,this._refParent=Ie(),this._refRoot=Ie(),this._carousel=null}connectedCallback(){super.connectedCallback(),this.requestUpdate()}disconnectedCallback(){this._carousel?.destroy(),this._carousel=null,super.disconnectedCallback()}willUpdate(e){e.has("direction")&&this.setAttribute("direction",this.direction);["direction","dragEnabled","dragFree","loop","plugins","transitionEffect"].some((t=>e.has(t)))&&(this._carousel?.destroy(),this._carousel=null)}render(){return q`
- -
-
- -
-
- -
`}updated(e){!this._carousel&&this._refRoot.value&&this._refParent.value?this._carousel=new Tk(this._refRoot.value,this._refParent.value,{direction:this.direction,dragEnabled:this.dragEnabled,dragFree:this.dragFree,startIndex:this.selected,transitionEffect:this.transitionEffect,loop:this.loop,plugins:this.plugins,textDirection:jk(this)}):e.has("selected")&&this._carousel?.selectSlide(this.selected)}static get styles(){return s(":host {\n display: block;\n height: 100%;\n width: 100%;\n position: relative;\n}\n\n.embla {\n width: 100%;\n height: 100%;\n margin-left: auto;\n margin-right: auto;\n}\n\n.embla__container {\n display: flex;\n width: 100%;\n height: 100%;\n user-select: none;\n -webkit-touch-callout: none;\n -khtml-user-select: none;\n -webkit-tap-highlight-color: transparent;\n}\n\n:host([direction=vertical]) .embla__container {\n flex-direction: column;\n}\n\n:host([direction=horizontal]) .embla__container {\n flex-direction: row;\n}\n\n.embla__viewport {\n width: 100%;\n height: 100%;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.embla__viewport.is-draggable {\n cursor: move;\n cursor: grab;\n}\n\n.embla__viewport.is-dragging {\n cursor: grabbing;\n}\n\n:host([direction=vertical]) ::slotted(.embla__slide) {\n margin-bottom: 5px;\n}\n\n:host([direction=horizontal]) ::slotted(.embla__slide) {\n margin-right: 5px;\n}")}};e([he({attribute:!0,reflect:!0})],Ok.prototype,"direction",void 0),e([he({attribute:!0})],Ok.prototype,"transitionEffect",void 0),e([he({attribute:!1})],Ok.prototype,"loop",void 0),e([he({attribute:!1})],Ok.prototype,"dragFree",void 0),e([he({attribute:!1})],Ok.prototype,"dragEnabled",void 0),e([he({attribute:!1})],Ok.prototype,"plugins",void 0),e([he({attribute:!1})],Ok.prototype,"selected",void 0),Ok=e([le("frigate-card-carousel")],Ok); -/** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const Dk=window,Rk=Dk.ShadowRoot&&(void 0===Dk.ShadyCSS||Dk.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Pk=Symbol(),Lk=new WeakMap;let Nk=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==Pk)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(Rk&&void 0===e){const n=void 0!==t&&1===t.length;n&&(e=Lk.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&Lk.set(t,e))}return e}toString(){return this.cssText}};const Fk=(e,t)=>{Rk?e.adoptedStyleSheets=t.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet)):t.forEach((t=>{const n=document.createElement("style"),i=Dk.litNonce;void 0!==i&&n.setAttribute("nonce",i),n.textContent=t.cssText,e.appendChild(n)}))},Vk=Rk?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const n of e.cssRules)t+=n.cssText;return(e=>new Nk("string"==typeof e?e:e+"",void 0,Pk))(t)})(e):e -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */;var Hk;const Bk=window,qk=Bk.trustedTypes,Uk=qk?qk.emptyScript:"",Wk=Bk.reactiveElementPolyfillSupport,Zk={toAttribute(e,t){switch(t){case Boolean:e=e?Uk:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=null!==e;break;case Number:n=null===e?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch(e){n=null}}return n}},Qk=(e,t)=>t!==e&&(t==t||e==e),Gk={attribute:!0,type:String,converter:Zk,reflect:!1,hasChanged:Qk},Yk="finalized";class Kk extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(e){var t;this.finalize(),(null!==(t=this.h)&&void 0!==t?t:this.h=[]).push(e)}static get observedAttributes(){this.finalize();const e=[];return this.elementProperties.forEach(((t,n)=>{const i=this._$Ep(n,t);void 0!==i&&(this._$Ev.set(i,n),e.push(i))})),e}static createProperty(e,t=Gk){if(t.state&&(t.attribute=!1),this.finalize(),this.elementProperties.set(e,t),!t.noAccessor&&!this.prototype.hasOwnProperty(e)){const n="symbol"==typeof e?Symbol():"__"+e,i=this.getPropertyDescriptor(e,n,t);void 0!==i&&Object.defineProperty(this.prototype,e,i)}}static getPropertyDescriptor(e,t,n){return{get(){return this[t]},set(i){const a=this[e];this[t]=i,this.requestUpdate(e,a,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)||Gk}static finalize(){if(this.hasOwnProperty(Yk))return!1;this[Yk]=!0;const e=Object.getPrototypeOf(this);if(e.finalize(),void 0!==e.h&&(this.h=[...e.h]),this.elementProperties=new Map(e.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const e=this.properties,t=[...Object.getOwnPropertyNames(e),...Object.getOwnPropertySymbols(e)];for(const n of t)this.createProperty(n,e[n])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const n=new Set(e.flat(1/0).reverse());for(const e of n)t.unshift(Vk(e))}else void 0!==e&&t.push(Vk(e));return t}static _$Ep(e,t){const n=t.attribute;return!1===n?void 0:"string"==typeof n?n:"string"==typeof e?e.toLowerCase():void 0}_$Eu(){var e;this._$E_=new Promise((e=>this.enableUpdating=e)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(e=this.constructor.h)||void 0===e||e.forEach((e=>e(this)))}addController(e){var t,n;(null!==(t=this._$ES)&&void 0!==t?t:this._$ES=[]).push(e),void 0!==this.renderRoot&&this.isConnected&&(null===(n=e.hostConnected)||void 0===n||n.call(e))}removeController(e){var t;null===(t=this._$ES)||void 0===t||t.splice(this._$ES.indexOf(e)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((e,t)=>{this.hasOwnProperty(t)&&(this._$Ei.set(t,this[t]),delete this[t])}))}createRenderRoot(){var e;const t=null!==(e=this.shadowRoot)&&void 0!==e?e:this.attachShadow(this.constructor.shadowRootOptions);return Fk(t,this.constructor.elementStyles),t}connectedCallback(){var e;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostConnected)||void 0===t?void 0:t.call(e)}))}enableUpdating(e){}disconnectedCallback(){var e;null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostDisconnected)||void 0===t?void 0:t.call(e)}))}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$EO(e,t,n=Gk){var i;const a=this.constructor._$Ep(e,n);if(void 0!==a&&!0===n.reflect){const r=(void 0!==(null===(i=n.converter)||void 0===i?void 0:i.toAttribute)?n.converter:Zk).toAttribute(t,n.type);this._$El=e,null==r?this.removeAttribute(a):this.setAttribute(a,r),this._$El=null}}_$AK(e,t){var n;const i=this.constructor,a=i._$Ev.get(e);if(void 0!==a&&this._$El!==a){const e=i.getPropertyOptions(a),r="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==(null===(n=e.converter)||void 0===n?void 0:n.fromAttribute)?e.converter:Zk;this._$El=a,this[a]=r.fromAttribute(t,e.type),this._$El=null}}requestUpdate(e,t,n){let i=!0;void 0!==e&&(((n=n||this.constructor.getPropertyOptions(e)).hasChanged||Qk)(this[e],t)?(this._$AL.has(e)||this._$AL.set(e,t),!0===n.reflect&&this._$El!==e&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(e,n))):i=!1),!this.isUpdatePending&&i&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var e;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((e,t)=>this[t]=e)),this._$Ei=void 0);let t=!1;const n=this._$AL;try{t=this.shouldUpdate(n),t?(this.willUpdate(n),null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostUpdate)||void 0===t?void 0:t.call(e)})),this.update(n)):this._$Ek()}catch(e){throw t=!1,this._$Ek(),e}t&&this._$AE(n)}willUpdate(e){}_$AE(e){var t;null===(t=this._$ES)||void 0===t||t.forEach((e=>{var t;return null===(t=e.hostUpdated)||void 0===t?void 0:t.call(e)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(e){return!0}update(e){void 0!==this._$EC&&(this._$EC.forEach(((e,t)=>this._$EO(t,this[t],e))),this._$EC=void 0),this._$Ek()}updated(e){}firstUpdated(e){}}Kk[Yk]=!0,Kk.elementProperties=new Map,Kk.elementStyles=[],Kk.shadowRootOptions={mode:"open"},null==Wk||Wk({ReactiveElement:Kk}),(null!==(Hk=Bk.reactiveElementVersions)&&void 0!==Hk?Hk:Bk.reactiveElementVersions=[]).push("1.6.3"); -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const Xk=0,Jk=Symbol();class eE{constructor(e,t,n){this.o=0,this.status=0,this.autoRun=!0,this.i=e,this.i.addController(this);const i="object"==typeof t?t:{task:t,args:n};this.t=i.task,this.h=i.args,void 0!==i.autoRun&&(this.autoRun=i.autoRun),this.taskComplete=new Promise(((e,t)=>{this.l=e,this.u=t}))}hostUpdated(){this.performTask()}async performTask(){var e;const t=null===(e=this.h)||void 0===e?void 0:e.call(this);this.shouldRun(t)&&this.run(t)}shouldRun(e){return this.autoRun&&this.v(e)}async run(e){var t;let n,i;null!=e||(e=null===(t=this.h)||void 0===t?void 0:t.call(this)),2!==this.status&&3!==this.status||(this.taskComplete=new Promise(((e,t)=>{this.l=e,this.u=t}))),this.status=1,this._=void 0,this.m=void 0,this.i.requestUpdate();const a=++this.o;try{n=await this.t(e)}catch(e){i=e}this.o===a&&(n===Jk?this.status=0:(void 0===i?(this.status=2,this.l(n)):(this.status=3,this.u(i)),this.m=n,this._=i),this.i.requestUpdate())}get value(){return this.m}get error(){return this._}render(e){var t,n,i,a;switch(this.status){case 0:return null===(t=e.initial)||void 0===t?void 0:t.call(e);case 1:return null===(n=e.pending)||void 0===n?void 0:n.call(e);case 2:return null===(i=e.complete)||void 0===i?void 0:i.call(e,this.value);case 3:return null===(a=e.error)||void 0===a?void 0:a.call(e,this.error);default:this.status}}v(e){const t=this.T;return this.T=e,Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.some(((e,n)=>Qk(e,t[n]))):e!==t}}class tE{constructor(e){this._keys=e}modify(e){this._keys.forEach((t=>e.removeContext(t)))}}var nE=":host {\n display: flex;\n flex-direction: column;\n width: 100%;\n margin-left: 5px;\n padding: 5px;\n color: var(--primary-text-color);\n overflow: hidden;\n column-gap: 5%;\n}\n\ndiv.title {\n font-size: 1.2rem;\n font-weight: bold;\n}\n\ndiv.details {\n flex: 1;\n justify-content: center;\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n --mdc-icon-size: 16px;\n min-height: 0px;\n}\n\ndiv.details div {\n display: flex;\n align-items: center;\n}\n\ndiv.details div * {\n margin: 0px 3px;\n}";const iE=(e,t,n)=>{const i={...n?.cardWideConfig&&{cardWideConfig:n.cardWideConfig}};return q` ${e.render({initial:()=>n?.inProgressFunc?.()??sS(i),pending:()=>n?.inProgressFunc?.()??sS(i),error:e=>{Zm(e),n?.errorFunc&&n.errorFunc(e)},complete:t})}`},aE=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,rE=(e,t,n,i=!0)=>new eE(e,{args:()=>[!!t(),n()],task:async([e,n])=>{const i=t();return e&&i&&n?(async(e,t)=>e&&t?t.startsWith("data:")||t.match(aE)?t:new Promise(((n,i)=>{e?e.fetchWithAuth(t).then((e=>e.blob())).then((e=>{const t=new FileReader;t.onload=()=>{const e=t.result;n("string"==typeof e?e:null)},t.onerror=e=>i(e),t.readAsDataURL(e)})).catch((e=>i(e))):i()})):null)(i,n):null},autoRun:i}),sE=300;let oE=class extends oe{constructor(){super(),this._thumbnailError=!1,this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this))}connectedCallback(){this._intersectionObserver.observe(this),super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback(),this._intersectionObserver.disconnect()}willUpdate(e){e.has("thumbnail")&&(this._embedThumbnailTask=rE(this,(()=>this.hass),(()=>this.thumbnail),!1),this._intersectionObserver.unobserve(this),this._intersectionObserver.observe(this))}_intersectionHandler(e){this._embedThumbnailTask?.status===Xk&&e.some((e=>e.isIntersecting))&&this._embedThumbnailTask?.run()}render(){const e=q` `;return!this._embedThumbnailTask||this._thumbnailError?e:q`${this.thumbnail?iE(this._embedThumbnailTask,(e=>e?q``:q``),{inProgressFunc:()=>e,errorFunc:()=>{this._thumbnailError=!0}}):e} `}static get styles(){return s(":host {\n display: block;\n overflow: hidden;\n aspect-ratio: 1/1;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\nimg {\n display: block;\n}\n\nimg,\nfrigate-card-icon {\n display: inline-block;\n vertical-align: top;\n margin: 0;\n border-radius: var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px));\n width: var(--frigate-card-thumbnail-size);\n max-height: 100%;\n aspect-ratio: 1/1;\n object-fit: cover;\n}\n\nfrigate-card-icon {\n --mdc-icon-size: 50%;\n color: var(--primary-text-color);\n display: flex;\n justify-content: center;\n align-items: center;\n border: 1px solid rgba(255, 255, 255, 0.3);\n box-sizing: border-box;\n opacity: 0.2;\n}")}};e([he({attribute:!1})],oE.prototype,"thumbnail",void 0),e([he({attribute:!1})],oE.prototype,"hass",void 0),e([pe()],oE.prototype,"_thumbnailError",void 0),oE=e([le("frigate-card-thumbnail-feature-thumbnail")],oE);let cE=class extends oe{render(){if(this.date)return q` - ${this.cameraMetadata?.engineIcon?q``:""} -
-
${qu(this.date,"HH:mm")}
-
${qu(this.date,"MMM do")}
- ${this.showCameraTitle&&this.cameraMetadata?.title?q`
${this.cameraMetadata.title}
`:q``} -
- `}static get styles(){return s(":host {\n display: block;\n max-width: var(--frigate-card-thumbnail-size);\n max-height: var(--frigate-card-thumbnail-size);\n aspect-ratio: 1/1;\n border: 1px solid var(--secondary-color);\n background-color: var(--secondary-background-color);\n border-radius: var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px));\n overflow: hidden;\n padding: 10px;\n box-sizing: border-box;\n position: relative;\n}\n\nfrigate-card-icon.background {\n display: block;\n width: 100%;\n height: 100%;\n position: absolute;\n inset: 0;\n padding: 10%;\n box-sizing: border-box;\n pointer-events: none;\n opacity: 0.1;\n}\n\ndiv.content {\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n color: var(--primary-text-color);\n}\n\ndiv {\n text-align: center;\n}\n\ndiv.title {\n font-size: 1.5rem;\n}\n\ndiv.camera {\n font-size: 0.7em;\n}")}};e([he({attribute:!1})],cE.prototype,"date",void 0),e([he({attribute:!1})],cE.prototype,"cameraMetadata",void 0),e([he({attribute:!1})],cE.prototype,"showCameraTitle",void 0),cE=e([le("frigate-card-thumbnail-feature-text")],cE);let lE=class extends oe{render(){if(!this.media)return;const e=this.media.getScore(),t=e?(100*e).toFixed(2)+"%":null,n=this.media.getStartTime(),i=n?Gm(n):null,a=this.media.getEndTime(),r=n&&a?Xm(n,a):null,s=this.media.inProgress()?N_("event.in_progress"):null,o=Hm(this.media.getWhat()?.join(", "))??null,c=Hm(this.media.getWhere()?.join(", "))??null,l=Hm(this.media.getTags()?.join(", "))??null,d=o||l?(o??"")+(o&&l?": ":"")+(l??""):null,u=this.seek?qu(this.seek,"HH:mm:ss"):null;return q` - ${d?q`
- ${d} - ${t?q`${t}`:""} -
`:""} -
- ${i?q`
- - ${i} -
- ${r||s?q`
- - ${r?q`${r}`:""} - ${s?q`${s}`:""} -
`:""}`:""} - ${this.cameraTitle?q`
- - ${this.cameraTitle} -
`:""} - ${c?q`
- - ${c} -
`:q``} - ${l?q`
- - ${l} -
`:q``} - ${u?q`
- - ${u} -
`:q``} -
- `}static get styles(){return s(nE)}};e([he({attribute:!1})],lE.prototype,"media",void 0),e([he({attribute:!1})],lE.prototype,"seek",void 0),e([he({attribute:!1})],lE.prototype,"cameraTitle",void 0),lE=e([le("frigate-card-thumbnail-details-event")],lE);let dE=class extends oe{render(){if(!this.media)return;const e=this.media.getStartTime(),t=e?Gm(e):null,n=this.media.getEndTime(),i=e&&n?Xm(e,n):null,a=this.media.inProgress()?N_("recording.in_progress"):null,r=this.seek?qu(this.seek,"HH:mm:ss"):null,s=this.media.getEventCount();return q` - ${this.cameraTitle?q`
- ${this.cameraTitle} -
`:""} -
- ${t?q`
- - ${t} -
- ${i||a?q`
- - ${i?q`${i}`:""} - ${a?q`${a}`:""} -
`:""}`:""} - ${r?q`
- - ${r} -
`:q``} - ${null!==s?q`
- - ${s} -
`:""} -
- `}static get styles(){return s(nE)}};e([he({attribute:!1})],dE.prototype,"media",void 0),e([he({attribute:!1})],dE.prototype,"seek",void 0),e([he({attribute:!1})],dE.prototype,"cameraTitle",void 0),dE=e([le("frigate-card-thumbnail-details-recording")],dE);let uE=class extends oe{constructor(){super(...arguments),this.details=!1,this.show_favorite_control=!1,this.show_timeline_control=!1,this.show_download_control=!1}render(){if(!this.media||!this.cameraManager||!this.hass)return;const e=this.media.getThumbnail(),t=this.media.getTitle()??"",n={star:!0,starred:!!this.media?.isFavorite()},i=this.show_timeline_control&&(!Pw.isRecording(this.media)||this.media.getStartTime()&&this.media.getEndTime()),a=this.cameraManager?.getMediaCapabilities(this.media),r=this.show_favorite_control&&this.media&&this.hass&&a?.canFavorite,s=this.show_download_control&&this.hass&&this.media.getID()&&a?.canDownload,o=this.cameraManager.getCameraMetadata(this.media.getCameraID());return q` - ${Pw.isEvent(this.media)&&e?q``:Pw.isEvent(this.media)||Pw.isRecording(this.media)?q``:q``} - ${r?q` {if(vf(e),this.hass&&this.media){try{await(this.cameraManager?.favoriteMedia(this.media,!this.media?.isFavorite()))}catch(e){return void Zm(e)}this.requestUpdate()}}} - />`:""} - ${this.details&&Pw.isEvent(this.media)?q``:this.details&&Pw.isRecording(this.media)?q``:q``} - ${i?q`{vf(e),this.viewManagerEpoch&&this.media&&this.viewManagerEpoch.manager.setViewByParameters({params:{view:"timeline",queryResults:this.viewManagerEpoch?.manager.getView()?.queryResults?.clone().selectResultIfFound((e=>e===this.media))},modifiers:[new tE(["timeline"])]})}} - >`:""} - ${s?q` {if(vf(e),this.hass&&this.cameraManager&&this.media)try{await lw(this.hass,this.cameraManager,this.media)}catch(e){cS(this,e)}}} - >`:""} - `}static get styles(){return s(":host {\n display: flex;\n flex-direction: row;\n box-sizing: border-box;\n position: relative;\n overflow: hidden;\n transition: transform 0.2s linear;\n}\n\n:host(:not([details])) {\n aspect-ratio: 1/1;\n}\n\n:host([details]) {\n border: 1px solid var(--primary-color);\n border-radius: var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px));\n padding: 2px;\n background-color: var(--primary-background-color, black);\n}\n\n:host(:hover) {\n transform: scale(1.04);\n}\n\nfrigate-card-icon {\n position: absolute;\n border-radius: 50%;\n opacity: 0.5;\n color: var(--primary-color);\n cursor: pointer;\n transition: opacity 0.2s ease-in-out, color 0.2s ease-in-out;\n}\n\nfrigate-card-icon:hover {\n opacity: 1;\n}\n\nfrigate-card-icon.star {\n top: 3px;\n left: 3px;\n}\n\nfrigate-card-icon.star.starred {\n color: gold;\n}\n\nfrigate-card-icon.timeline {\n top: 3px;\n right: 3px;\n}\n\nfrigate-card-icon.download {\n right: 3px;\n bottom: 3px;\n}\n\nfrigate-card-thumbnail-details-event,\nfrigate-card-thumbnail-details-recording {\n flex: 1;\n}")}};e([he({attribute:!1})],uE.prototype,"cameraManager",void 0),e([he({attribute:!1})],uE.prototype,"media",void 0),e([he({attribute:!0,type:Boolean})],uE.prototype,"details",void 0),e([he({attribute:!0,type:Boolean})],uE.prototype,"show_favorite_control",void 0),e([he({attribute:!0,type:Boolean})],uE.prototype,"show_timeline_control",void 0),e([he({attribute:!0,type:Boolean})],uE.prototype,"show_download_control",void 0),e([he({attribute:!1})],uE.prototype,"seek",void 0),uE=e([le("frigate-card-thumbnail")],uE);let hE=class extends oe{constructor(){super(...arguments),this.fadeThumbnails=!1,this._thumbnailSlides=[]}willUpdate(e){if(e.has("config")){this.config?.size&&this.style.setProperty("--frigate-card-thumbnail-size",`${this.config.size}px`);const e=this._getDirection();e?this.setAttribute("direction",e):this.removeAttribute("direction")}["cameraManager","config","transitionEffect","viewManagerEpoch"].some((t=>e.has(t)))&&(this._thumbnailSlides=this._renderSlides()),e.has("viewManagerEpoch")&&this.style.setProperty("--frigate-card-carousel-thumbnail-opacity",this.fadeThumbnails&&null!==this._getSelectedSlide()?"0.4":"1.0")}_getSelectedSlide(){return this.viewManagerEpoch?.manager.getView()?.queryResults?.getSelectedIndex()??null}_renderSlides(){const e=[],t=this.viewManagerEpoch?.manager.getView(),n=t?.context?.mediaViewer?.seek,i=this._getSelectedSlide();for(const a of t?.queryResults?.getResults()??[]){const t=e.length,r={embla__slide:!0,"slide-selected":i===t};e.push(q` {const n=this.viewManagerEpoch?.manager.getView();n&&n.queryResults&&Vm(this,"thumbnail-carousel:tap",{queryResults:n.queryResults.clone().selectIndex(t)}),vf(e)}} - > - `)}return e}_getDirection(){return"left"===this.config?.mode||"right"===this.config?.mode?"vertical":"above"===this.config?.mode||"below"===this.config?.mode?"horizontal":null}render(){const e=this._getDirection();if(this._thumbnailSlides.length&&this.config&&e)return q` - ${this._thumbnailSlides} - `}static get styles(){return s(":host {\n --frigate-card-thumbnail-size-max: 300px;\n --frigate-card-thumbnail-details-width: calc(\n var(--frigate-card-thumbnail-size) + 200px\n );\n}\n\n:host {\n display: block;\n width: 100%;\n height: 100%;\n --frigate-card-carousel-thumbnail-opacity: 1;\n}\n\n:host([direction=vertical]) {\n height: 100%;\n}\n\n:host([direction=horizontal]) {\n height: auto;\n}\n\n.embla__slide {\n flex: 0 0 auto;\n opacity: var(--frigate-card-carousel-thumbnail-opacity);\n}\n\n.embla__slide.slide-selected {\n opacity: 1;\n}\n\nfrigate-card-thumbnail {\n width: var(--frigate-card-thumbnail-size);\n height: var(--frigate-card-thumbnail-size);\n max-width: 100%;\n}\n\nfrigate-card-thumbnail[details] {\n width: var(--frigate-card-thumbnail-details-width);\n}")}};e([he({attribute:!1})],hE.prototype,"hass",void 0),e([he({attribute:!1})],hE.prototype,"viewManagerEpoch",void 0),e([he({attribute:!1})],hE.prototype,"cameraManager",void 0),e([he({attribute:!1})],hE.prototype,"config",void 0),e([he({attribute:!1})],hE.prototype,"fadeThumbnails",void 0),hE=e([le("frigate-card-thumbnail-carousel")],hE);var pE=":host {\n width: 100%;\n height: 100%;\n display: block;\n}";const gE=document.createElement("template");gE.innerHTML='\n
\n
\n';class mE extends HTMLElement{constructor(){super();const e=this.attachShadow({mode:"open"});e.appendChild(gE.content.cloneNode(!0)),this._freeSpaceDiv=e.getElementById("fs")}connectedCallback(){this._freeSpaceDiv&&this._freeSpaceDiv.addEventListener("click",this.handleFreeSpaceDivClick),this.upgradeProperty("open")}disconnectedCallback(){document.removeEventListener("keyup",this.handleKeyUp)}upgradeProperty(e){if(this.hasOwnProperty(e)){let t=this[e];delete this[e],this[e]=t}}handleKeyUp=e=>{if(!e.altKey&&"Escape"===e.key)e.preventDefault(),this.open=!1};get open(){return this.hasAttribute("open")}set open(e){e?this.hasAttribute("open")||this.setAttribute("open",""):this.hasAttribute("open")&&this.removeAttribute("open")}static get observedAttributes(){return["open"]}attributeChangedCallback(e,t,n){"open"===e&&(this.open?(this.setAttribute("tabindex","0"),this.setAttribute("aria-disabled","false"),this.focus({preventScroll:!0}),document.addEventListener("keyup",this.handleKeyUp),this.dispatchEvent(new CustomEvent("open",{bubbles:!0}))):(this.setAttribute("tabindex","-1"),this.setAttribute("aria-disabled","true"),document.removeEventListener("keyup",this.handleKeyUp),this.dispatchEvent(new CustomEvent("close",{bubbles:!0}))))}handleFreeSpaceDivClick=()=>{this.open=!1}}customElements.define("side-drawer",mE);let fE=class extends oe{constructor(){super(...arguments),this.location="left",this.control=!0,this.open=!1,this.empty=!0,this._refDrawer=Ie(),this._refSlot=Ie(),this._resizeObserver=new ResizeObserver((()=>this._hideDrawerIfNecessary())),this._isHoverableDevice=Qm()}firstUpdated(e){super.firstUpdated(e);const t=document.createElement("style");t.innerHTML=":host {\n width: unset;\n}\n\n#fs {\n display: none;\n width: 100%;\n inset: 0;\n}\n\n#d,\n#fs {\n height: 100%;\n position: absolute;\n}\n\n#d {\n overflow: visible;\n max-width: 90%;\n z-index: 10;\n}\n\n:host([location=right]) #d {\n left: unset;\n right: 0;\n transform: translateX(100%);\n}\n\n:host([location=right][open]) #d {\n transform: none;\n box-shadow: var(--frigate-card-css-box-shadow, 0px 0px 25px 0px black);\n}\n\n#ifs {\n height: 100%;\n}",this._refDrawer.value?.shadowRoot?.appendChild(t)}_slotChanged(){const e=this._refSlot.value?of(this._refSlot.value):[];this._resizeObserver.disconnect();for(const t of e)this._resizeObserver.observe(t);this._hideDrawerIfNecessary()}_hideDrawerIfNecessary(){if(!this._refDrawer.value)return;const e=this._refSlot.value?of(this._refSlot.value):null;this.empty=!e||!e.length||e.every((e=>{const t=e.getBoundingClientRect();return!t.width||!t.height}))}render(){return q` - {this.open&&(this.open=!1)}} - > - ${this.control?q` -
{vf(e),this.open=!this.open}} - > - {this._isHoverableDevice&&!this.open&&(this.open=!0)}} - > - -
- `:""} - this._slotChanged()}> -
- `}static get styles(){return s("side-drawer {\n background-color: var(--card-background-color);\n}\n\ndiv.control-surround {\n position: absolute;\n bottom: 50%;\n transform: translateY(50%);\n z-index: 0;\n padding-top: 20px;\n padding-bottom: 20px;\n}\n\n:host([location=left]) div.control-surround {\n padding-right: 12px;\n left: 100%;\n}\n\n:host([location=right]) div.control-surround {\n padding-left: 12px;\n right: 100%;\n}\n\n:host([empty]),\n:host([empty]) > * {\n visibility: hidden;\n}\n\n:host(:not([empty])),\n:host(:not([empty])) > * {\n visibility: visible;\n}\n\nfrigate-card-icon.control {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.7);\n opacity: 0.5;\n pointer-events: all;\n --mdc-icon-size: 20px;\n padding-top: 20px;\n padding-bottom: 20px;\n transition: opacity 0.5s ease;\n}\n\n:host([open]) frigate-card-icon.control,\nfrigate-card-icon.control:hover {\n opacity: 1;\n background-color: black;\n}\n\n:host([location=left]) frigate-card-icon.control {\n border-top-right-radius: 20px;\n border-bottom-right-radius: 20px;\n}\n\n:host([location=right]) frigate-card-icon.control {\n border-top-left-radius: 20px;\n border-bottom-left-radius: 20px;\n}")}};e([he({attribute:!0,reflect:!0})],fE.prototype,"location",void 0),e([he({attribute:!0,reflect:!0,type:Boolean})],fE.prototype,"control",void 0),e([he({type:Boolean,reflect:!0,attribute:!0})],fE.prototype,"open",void 0),e([he({attribute:!1})],fE.prototype,"icons",void 0),e([he({type:Boolean,reflect:!0,attribute:!0})],fE.prototype,"empty",void 0),fE=e([le("frigate-card-drawer")],fE);let _E=class extends oe{constructor(){super(...arguments),this._refDrawerLeft=Ie(),this._refDrawerRight=Ie(),this._boundDrawerHandler=this._drawerHandler.bind(this)}connectedCallback(){super.connectedCallback(),this.addEventListener("frigate-card:drawer:open",this._boundDrawerHandler),this.addEventListener("frigate-card:drawer:close",this._boundDrawerHandler)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("frigate-card:drawer:open",this._boundDrawerHandler),this.removeEventListener("frigate-card:drawer:close",this._boundDrawerHandler)}_drawerHandler(e){const t=e.detail.drawer,n=e.type.endsWith(":open");"left"===t&&this._refDrawerLeft.value?this._refDrawerLeft.value.open=n:"right"===t&&this._refDrawerRight.value&&(this._refDrawerRight.value.open=n)}render(){return q` - - - - - - - - `}static get styles(){return s(":host {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n position: relative;\n overflow: hidden;\n}\n\n::slotted(:not([slot])) {\n flex: 1;\n min-height: 0px;\n}")}};e([he({attribute:!1})],_E.prototype,"drawerIcons",void 0),_E=e([le("frigate-card-surround-basic")],_E);let yE=class extends oe{_hasDrawer(){return!!this.thumbnailConfig&&["left","right"].includes(this.thumbnailConfig.mode)}willUpdate(e){this.timelineConfig?.mode&&"none"!==this.timelineConfig.mode&&import("./timeline-core-14147786.js");const t=this.viewManagerEpoch?.manager.getView();e.has("viewManagerEpoch")&&(this.viewManagerEpoch?.manager.hasMajorMediaChange(this.viewManagerEpoch?.oldView)||this.viewManagerEpoch?.oldView?.displayMode!==t?.displayMode)&&(this._cameraIDsForTimeline=this._getCameraIDsForTimeline()??void 0)}_getCameraIDsForTimeline(){const e=this.viewManagerEpoch?.manager.getView();if(!e||!this.cameraManager)return null;if(e.is("live")){const t={anyCapabilities:["clips","snapshots","recordings"]};return e.supportsMultipleDisplayModes()&&e.isGrid()?this.cameraManager.getStore().getCameraIDsWithCapability(t):this.cameraManager.getStore().getAllDependentCameras(e.camera,t)}return e.isViewerView()?e.query?.getQueryCameraIDs()??null:null}render(){const e=this.viewManagerEpoch?.manager.getView();if(!this.hass||!e)return;const t=(e,t)=>{this.thumbnailConfig&&this._hasDrawer()&&Vm(e.composedPath()[0],"drawer:"+t,{drawer:this.thumbnailConfig.mode})};return q` t(e,"open")} - @frigate-card:thumbnails:close=${e=>t(e,"close")} - > - ${this.thumbnailConfig&&"none"!==this.thumbnailConfig.mode?q` {const n=e.detail.queryResults.getSelectedResult();n&&(this.viewManagerEpoch?.manager.setViewByParameters({params:{view:"media",queryResults:e.detail.queryResults,...n.getCameraID()&&{camera:n.getCameraID()}},modifiers:[new tE(["timeline","mediaViewer"])]}),t(e,"close"))}} - > - `:""} - ${this.timelineConfig&&"none"!==this.timelineConfig.mode?q` - `:""} - - `}static get styles(){return s(pE)}};e([he({attribute:!1})],yE.prototype,"hass",void 0),e([he({attribute:!1})],yE.prototype,"viewManagerEpoch",void 0),e([he({attribute:!1,hasChanged:Wm})],yE.prototype,"thumbnailConfig",void 0),e([he({attribute:!1,hasChanged:Wm})],yE.prototype,"timelineConfig",void 0),e([he({attribute:!1})],yE.prototype,"cameraManager",void 0),e([he({attribute:!1})],yE.prototype,"cardWideConfig",void 0),yE=e([le("frigate-card-surround")],yE);var vE="Tue, 24 Dec 2024 00:23:18 GMT",bE="bc95f55",wE="Mon, 23 Dec 2024 16:22:10 -0800";const xE=bi.object({domain:bi.string(),version:bi.string().optional()}).passthrough(),CE="hass_web_proxy",ME=(e,t)=>`/api/${CE}/v${t??0}/?url=${encodeURIComponent(e)}`,SE=(e,t,n="media")=>(e=>e.config.components.includes(CE))(e)&&!!t[n];async function kE(e,t,n){await e.callService(CE,"create_proxied_url",{url_pattern:t,...n&&{url_id:n.urlID,ssl_verification:n.sslVerification,ssl_ciphers:n.sslCiphers,open_limit:n.openLimit,ttl:n.ttl,allow_unauthenticated:n.allowUnauthenticated}})}const EE=async(e,t)=>{let n=null;if(t)try{n=await(async(e,t)=>await ky(e,xE,{type:"manifest/get",integration:t}))(t,e)}catch(e){}return{detected:!!n,...n?.version&&{version:n.version}}};let $E=class extends oe{constructor(){super(...arguments),this._diagnostics=null}async _fetchDiagnostics(){this._diagnostics=await(async(e,t,n)=>{const i=e&&t?await t.getMatchingDevices(e,(e=>"Frigate"===e.manufacturer)):[],a=new Map;return i?.forEach((e=>{e.config_entries.forEach((t=>{e.model&&a.set(t,e.model)}))})),{card_version:"6.1.2",browser:navigator.userAgent,date:new Date,lang:L_(),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,git:{hash:bE,build_date:vE,commit_date:wE},...e&&{ha_version:e.config.version},custom_integrations:{frigate:{...await EE("frigate",e),...a.size&&{devices:Object.fromEntries(a)}},hass_web_proxy:await EE(CE,e)},...n&&{config:n}}})(this.hass,this.deviceRegistryManager,this.rawConfig)}shouldUpdate(){return!!this._diagnostics||(this._fetchDiagnostics().then((()=>this.requestUpdate())),!1)}render(){return rS({message:N_("error.diagnostics"),type:"diagnostics",icon:"mdi:information",context:this._diagnostics})}static get styles(){return s(pE)}};e([he({attribute:!1})],$E.prototype,"hass",void 0),e([he({attribute:!1})],$E.prototype,"deviceRegistryManager",void 0),e([he({attribute:!1})],$E.prototype,"rawConfig",void 0),e([pe()],$E.prototype,"_diagnostics",void 0),$E=e([le("frigate-card-diagnostics")],$E);let AE=class extends oe{willUpdate(e){if(e.has("viewManagerEpoch")||e.has("config")){const e=this.viewManagerEpoch?.manager.getView();(e?.is("live")||this._shouldLivePreload())&&import("./index-dd357256.js"),e?.isGalleryView()?import("./gallery-f478918c.js"):e?.isViewerView()?import("./index-befc50c0.js"):e?.is("image")?import("./image-04d4df35.js"):e?.is("timeline")&&import("./timeline-b24153cf.js")}e.has("hide")&&(this.hide?this.setAttribute("hidden",""):this.removeAttribute("hidden"))}shouldUpdate(e){return!0}_shouldLivePreload(){const e=this.viewManagerEpoch?.manager.getView();return!!this.overriddenConfig?.live.preload&&!e?.is("diagnostics")}render(){if(!(this.hass&&this.overriddenConfig&&this.nonOverriddenConfig&&this.cardWideConfig))return q``;const e=this.viewManagerEpoch?.manager.getView(),t={hidden:this._shouldLivePreload()&&!e?.is("live")},n={hidden:!!this.hide},i=e?.is("live")?this.overriddenConfig.live.controls.thumbnails:e?.isViewerView()?this.overriddenConfig.media_viewer.controls.thumbnails:e?.is("timeline")?this.overriddenConfig.timeline.controls.thumbnails:void 0,a=e?.is("live")?this.overriddenConfig.live.controls.timeline:e?.isViewerView()?this.overriddenConfig.media_viewer.controls.timeline:void 0,r=e?this.cameraManager?.getStore().getCameraConfig(e.camera)??null:null;return q` - ${!this.hide&&e?.is("image")&&r?q` - `:""} - ${!this.hide&&e?.isGalleryView()?q` - `:""} - ${!this.hide&&e?.isViewerView()?q` - - - `:""} - ${!this.hide&&e?.is("timeline")?q` - `:""} - ${!this.hide&&e?.is("diagnostics")?q` - `:""} - ${this._shouldLivePreload()||!this.hide&&e?.is("live")?q` - - - `:""} - `}static get styles(){return s(":host {\n width: 100%;\n height: 100%;\n display: block;\n}\n\n:host([hidden]),\n.hidden {\n display: none;\n}")}};e([he({attribute:!1})],AE.prototype,"hass",void 0),e([he({attribute:!1})],AE.prototype,"viewManagerEpoch",void 0),e([he({attribute:!1})],AE.prototype,"cameraManager",void 0),e([he({attribute:!1})],AE.prototype,"nonOverriddenConfig",void 0),e([he({attribute:!1})],AE.prototype,"overriddenConfig",void 0),e([he({attribute:!1})],AE.prototype,"cardWideConfig",void 0),e([he({attribute:!1})],AE.prototype,"rawConfig",void 0),e([he({attribute:!1})],AE.prototype,"resolvedMediaCache",void 0),e([he({attribute:!1})],AE.prototype,"conditionsManagerEpoch",void 0),e([he({attribute:!1})],AE.prototype,"hide",void 0),e([he({attribute:!1})],AE.prototype,"microphoneManager",void 0),e([he({attribute:!1})],AE.prototype,"triggeredCameraIDs",void 0),e([he({attribute:!1})],AE.prototype,"deviceRegistryManager",void 0),AE=e([le("frigate-card-views")],AE);console.info(`%c FRIGATE-HASS-CARD \n%c ${N_("common.version")} 6.1.2`,"color: pink; font-weight: bold; background: black","color: white; font-weight: bold; background: dimgray"),window.customCards=window.customCards||[],window.customCards.push({type:"frigate-card",name:N_("common.frigate_card"),description:N_("common.frigate_card_description"),preview:!0,documentationURL:"https://github.com/dermotduffy/frigate-hass-card"});let IE=class extends oe{constructor(){super(...arguments),this._controller=new ux(this,(()=>this._refMain.value?.scroll({top:0})),(()=>this._refMenu.value?.toggleMenu()),this._requestUpdateForComponentsThatUseConditions.bind(this)),this._menuButtonController=new hx,this._refMenu=Ie(),this._refOverlay=Ie(),this._refMain=Ie(),this._refElements=Ie(),this._refViews=Ie()}get _config(){return this._controller.getConfigManager().getConfig()}get _hass(){return this._controller.getHASSManager().getHASS()}set hass(e){this._controller.getHASSManager().setHASS(e),this._refMenu.value&&(this._refMenu.value.hass=e),this._refElements.value&&(this._refElements.value.hass=e),this._refViews.value&&(this._refViews.value.hass=e)}static async getConfigElement(){return await ux.getConfigElement()}static getStubConfig(e,t){return ux.getStubConfig(t)}_requestUpdateForComponentsThatUseConditions(){this._refViews.value&&(this._refViews.value.conditionsManagerEpoch=this._controller.getConditionsManager().getEpoch()??void 0),this._refElements.value&&(this._refElements.value.conditionsManagerEpoch=this._controller.getConditionsManager().getEpoch()??void 0)}setConfig(e){this._controller.getConfigManager().setConfig(e)}shouldUpdate(){return!!this.isConnected&&(this._controller.getMessageManager().hasMessage()||this._controller.getInitializationManager().isInitializedMandatory()||this._controller.getInitializationManager().initializeMandatory(),!0)}_renderMenuStatusContainer(e){if(!this._config)return;const t=this._config.menu.style,n=this._config.menu.position,i=this._config.status_bar.style,a=this._config.status_bar.position;if("none"===t&&"none"===i||"overlay"===e&&"outside"===t&&"outside"===i||"overlay"!==e&&("outside"!==t||n!==e)&&("outside"!==i||a!==e))return;const r=e=>{const r="none"!==t&&("outside"===t&&"outerlay"===e||"outside"!==t&&"overlay"===e),s="none"!==i&&("outside"===i&&"outerlay"===e||"outside"!==i&&"overlay"===e),o="left"===n||"right"===n||"bottom"===n&&"hidden"===t&&"popup"!==i||"top"===n&&("hidden"!==t||"popup"===i);return q` - ${r&&o?this._renderMenu(n):""} - ${s?this._renderStatusBar(a):""} - ${r&&!o?this._renderMenu(n):""} - `};return q` - ${"overlay"===e?q`${r("overlay")}`:q`
- ${r("outerlay")} -
`} - `}_renderMenu(e){const t=this._controller.getViewManager().getView();if(this._hass&&this._config)return q` - - `}_renderStatusBar(e){if(this._config)return q` - - `}updated(){this._controller.getInitializationManager().isInitializedMandatory()&&this._controller.getQueryStringManager().executeIfNecessary()}_renderInDialogIfNecessary(e){return this._controller.getExpandManager().isExpanded()?q` {this._controller.getExpandManager().setExpanded(!1)}} - > - ${e} - `:e}render(){if(!this._hass)return;const e={main:!0,"curve-top":"outside"!==this._config?.menu.style||"top"!==this._config?.menu.position,"curve-bottom":"outside"!==this._config?.menu.style||"top"===this._config?.menu.position},t=this._controller.getActionsManager().getMergedActions(),n=this._controller.getCameraManager(),i=!1!==this._config?.performance?.features.animated_progress_indicator&&!this._controller.getInitializationManager().wasEverInitialized()&&!this._controller.getMessageManager().hasMessage();return this._renderInDialogIfNecessary(q` this._controller.getMessageManager().setMessageIfHigherPriority(e.detail)} - @frigate-card:media:loaded=${e=>this._controller.getMediaLoadedInfoManager().set(e.detail)} - @frigate-card:media:unloaded=${()=>this._controller.getMediaLoadedInfoManager().clear()} - @frigate-card:media:volumechange=${()=>this.requestUpdate()} - @frigate-card:media:play=${()=>this.requestUpdate()} - @frigate-card:media:pause=${()=>this.requestUpdate()} - @frigate-card:focus=${()=>this.focus()} - > - ${i?q``:""} - ${this._renderMenuStatusContainer("top")} - ${this._renderMenuStatusContainer("overlay")} -
- - ${rS(this._controller.getMessageManager().getMessage())} -
- ${this._renderMenuStatusContainer("bottom")} - ${this._config?.elements?q` {this._menuButtonController.addDynamicMenuButton(e.detail),this.requestUpdate()}} - @frigate-card:menu:remove=${e=>{this._menuButtonController.removeDynamicMenuButton(e.detail),this.requestUpdate()}} - @frigate-card:status-bar:add=${e=>{this._controller.getStatusBarItemManager().addDynamicStatusBarItem(e.detail)}} - @frigate-card:status-bar:remove=${e=>{this._controller.getStatusBarItemManager().removeDynamicStatusBarItem(e.detail)}} - @frigate-card:conditions:evaluate=${e=>{e.evaluation=this._controller.getConditionsManager()?.evaluateConditions(e.conditions)}} - > - `:""} -
`)}static get styles(){return s(':host {\n display: block;\n position: relative;\n background-color: var(--card-background-color);\n border-radius: var(--ha-card-border-radius, 4px);\n height: var(--frigate-card-height);\n min-height: 100px;\n pointer-events: all;\n --frigate-card-expand-max-height: calc((100vh - (2 * 56px)) * 0.85);\n --frigate-card-expand-max-width: 85vw;\n --frigate-card-expand-width: none;\n --frigate-card-expand-height: none;\n --frigate-card-expand-aspect-ratio: unset;\n --frigate-card-height: auto;\n}\n\nfrigate-card-loading {\n position: absolute;\n inset: 0;\n z-index: 1;\n}\n\n:host([dark]) {\n filter: brightness(75%);\n}\n\n:host([panel]:not([casted])) {\n height: calc(100vh - var(--header-height));\n}\n\n:host([panel][casted]) {\n height: 100%;\n}\n\ndiv.main {\n position: relative;\n overflow: auto;\n width: 100%;\n height: 100%;\n margin: auto;\n display: block;\n transform: translateZ(0);\n scrollbar-width: none;\n -ms-overflow-style: none;\n}\n\n/* Hide scrollbar for Chrome, Safari and Opera */\ndiv.main::-webkit-scrollbar {\n display: none;\n}\n\ndiv.main.curve-top {\n border-top-left-radius: var(--ha-card-border-radius, 4px);\n border-top-right-radius: var(--ha-card-border-radius, 4px);\n}\n\ndiv.main.curve-bottom {\n border-bottom-left-radius: var(--ha-card-border-radius, 4px);\n border-bottom-right-radius: var(--ha-card-border-radius, 4px);\n}\n\nha-card {\n display: flex;\n flex-direction: column;\n margin: auto;\n border: 0px;\n overflow: visible;\n width: 100%;\n height: 100%;\n position: static;\n color: var(--secondary-text-color, white);\n}\n\n/************\n * Fullscreen\n *************/\n:host(:fullscreen) #ha-card {\n border-radius: 0px;\n box-shadow: none;\n margin: 0;\n}\n\n:host(:-webkit-full-screen) #ha-card {\n border-radius: 0px;\n box-shadow: none;\n margin: 0;\n}\n\n:host(:fullscreen) div.main,\n:host(:fullscreen) frigate-card-menu {\n border-radius: 0px;\n}\n\n:host(:-webkit-full-screen) div.main,\n:host(:-webkit-full-screen) frigate-card-menu {\n border-radius: 0px;\n}\n\n/***************\n * Expanded mode\n ***************/\nweb-dialog {\n --dialog-padding: 0px;\n --dialog-container-padding: 0px;\n --dialog-max-height: var(--frigate-card-expand-max-height);\n --dialog-max-width: var(--frigate-card-expand-max-width);\n --dialog-width: var(--frigate-card-expand-width);\n --dialog-height: var(--frigate-card-expand-height);\n --dialog-overflow-x: visible;\n --dialog-overflow-y: visible;\n max-height: 100vh;\n}\n\nweb-dialog::part(dialog) {\n aspect-ratio: var(--frigate-card-expand-aspect-ratio);\n border-radius: 0px;\n background: transparent;\n}\n\n/*************************************\n * "Outside" style for menu/status bar\n *************************************/\n.outerlay[data-position=top] > *:first-child {\n border-top-left-radius: var(--ha-card-border-radius, 4px);\n border-top-right-radius: var(--ha-card-border-radius, 4px);\n}\n\n.outerlay[data-position=bottom] > *:last-child {\n border-bottom-left-radius: var(--ha-card-border-radius, 4px);\n border-bottom-right-radius: var(--ha-card-border-radius, 4px);\n}\n\n/*******************\n * Menu hover styles\n *******************/\nfrigate-card-menu {\n z-index: 2;\n}\n\nfrigate-card-menu[data-style*=hover] {\n transition: opacity 0.5s ease;\n opacity: 0;\n}\n\nfrigate-card-menu[data-style*=hover]:hover,\nha-card:hover > frigate-card-overlay > frigate-card-menu[data-style=hover-card] {\n opacity: 1;\n}\n\n/*************************\n * Status bar hover styles\n *************************/\nfrigate-card-status-bar {\n z-index: 1;\n}\n\nfrigate-card-status-bar[data-style*=hover] {\n transition: opacity 0.5s ease;\n opacity: 0;\n}\n\nfrigate-card-status-bar[data-style*=hover]:hover,\nha-card:hover > frigate-card-overlay > frigate-card-status-bar[data-style=hover-card] {\n opacity: 1;\n}')}getCardSize(){return 6}};IE=e([le("frigate-card")],IE);export{Al as $,Ja as A,er as B,Ua as C,tr as D,nr as E,ir as F,Da as G,Ra as H,Pa as I,La as J,Na as K,Fa as L,Va as M,Ha as N,Ba as O,po as P,qo as Q,Js as R,Bo as S,Vs as T,Ps as U,Ls as V,Ns as W,Fs as X,Vo as Y,$l as Z,e as _,oe as a,cr as a$,F_ as a0,Pb as a1,et as a2,Lb as a3,ko as a4,ja as a5,za as a6,Ta as a7,Oa as a8,qa as a9,Qr as aA,as as aB,rs as aC,os as aD,cs as aE,ss as aF,ts as aG,ns as aH,is as aI,us as aJ,gs as aK,ms as aL,ls as aM,ds as aN,ps as aO,hs as aP,Xr as aQ,es as aR,Jr as aS,Yr as aT,Kr as aU,Gr as aV,ks as aW,$s as aX,Es as aY,dr as aZ,sr as a_,Ks as aa,Ys as ab,Gs as ac,Xs as ad,lo as ae,co as af,ho as ag,Ho as ah,uo as ai,Cs as aj,bs as ak,As as al,ws as am,xs as an,Hr as ao,Br as ap,qr as aq,Ur as ar,Ms as as,Ss as at,fs as au,vs as av,_s as aw,ys as ax,Wr as ay,Zr as az,pe as b,ji as b$,lr as b0,or as b1,rr as b2,hr as b3,pr as b4,gr as b5,mr as b6,br as b7,Fr as b8,wr as b9,Os as bA,Bs as bB,qs as bC,Ws as bD,Zs as bE,Us as bF,Hs as bG,fo as bH,mo as bI,_o as bJ,bo as bK,wo as bL,Eo as bM,xo as bN,So as bO,Mo as bP,Db as bQ,jb as bR,Bm as bS,xi as bT,Ki as bU,Qi as bV,Ri as bW,Pi as bX,Ci as bY,Ti as bZ,zi as b_,Cr as ba,xr as bb,fr as bc,vr as bd,_r as be,yr as bf,Mr as bg,Sr as bh,kr as bi,Tr as bj,$r as bk,Ir as bl,zr as bm,Ar as bn,Er as bo,Dr as bp,Lr as bq,Nr as br,jr as bs,Or as bt,Pr as bu,Rr as bv,js as bw,Ds as bx,zs as by,Ts as bz,Rb as c,eu as c$,Ii as c0,Zi as c1,Bi as c2,qi as c3,Ui as c4,Wi as c5,ma as c6,ga as c7,Oi as c8,Di as c9,na as cA,Mi as cB,Si as cC,ua as cD,da as cE,pa as cF,ha as cG,Ld as cH,wi as cI,Co as cJ,zw as cK,Ie as cL,Tw as cM,cf as cN,rS as cO,je as cP,Wm as cQ,ew as cR,Jl as cS,cS as cT,Gv as cU,jk as cV,vf as cW,xv as cX,ye as cY,pE as cZ,Nd as c_,Fi as ca,Hi as cb,Li as cc,Ni as cd,Vi as ce,Gi as cf,Yi as cg,Ji as ch,Xi as ci,_a as cj,fa as ck,ya as cl,va as cm,ki as cn,Ei as co,$i as cp,Ai as cq,ea as cr,ia as cs,aa as ct,ra as cu,sa as cv,oa as cw,ca as cx,la as cy,ta as cz,Nb as d,Gy as d$,c as d0,Zw as d1,Wy as d2,Qw as d3,Uw as d4,Gw as d5,Zm as d6,Sy as d7,qu as d8,Ym as d9,Sw as dA,rE as dB,iE as dC,_f as dD,CS as dE,ff as dF,Cf as dG,yf as dH,u_ as dI,d_ as dJ,Dy as dK,Ry as dL,Bd as dM,Ny as dN,Qm as dO,Gm as dP,rx as dQ,Zv as dR,Kw as dS,ru as dT,rf as dU,Ly as dV,Fm as dW,bi as dX,ef as dY,ky as dZ,$o as d_,Wu as da,Vm as db,kw as dc,tf as dd,sE as de,ox as df,sS as dg,dw as dh,Pw as di,dv as dj,Mb as dk,Sb as dl,SE as dm,kE as dn,_b as dp,ME as dq,Iw as dr,jw as ds,Ow as dt,Dw as du,ix as dv,me as dw,fe as dx,U as dy,bf as dz,_e as e,qy as e0,U_ as e1,W_ as e2,Qy as e3,Km as e4,Jm as e5,Zy as e6,Fy as e7,nf as e8,Iy as e9,uf as eA,Wv as eB,Om as eC,Uv as eD,o as eE,Ae as eF,ve as eG,W as eH,Aw as eI,eE as eJ,ge as eK,be as eL,xe as eM,vb as eN,Ay as ea,$y as eb,zy as ec,Yd as ed,Fd as ee,Zd as ef,Wd as eg,Qd as eh,fu as ei,Kd as ej,Xd as ek,_u as el,mu as em,Vd as en,tu as eo,pu as ep,Tu as eq,Pu as er,Lu as es,Ru as et,xb as eu,Uy as ev,of as ew,Hv as ex,Bv as ey,qv as ez,iw as f,wb as g,Ob as h,jy as i,bb as j,Hm as k,N_ as l,Ga as m,he as n,Za as o,Rd as p,Wa as q,s as r,af as s,le as t,Qa as u,Cb as v,Ya as w,q as x,Xa as y,Ka as z}; diff --git a/config/www/community/frigate-hass-card/card-e5d55e5b.js.gz b/config/www/community/frigate-hass-card/card-e5d55e5b.js.gz deleted file mode 100644 index e4369e876a9dbf2e6dc8520da0258bcaf749214c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138737 zcmV(%K;pk2iwFo$^lE1U|6^ftWG!ViWHmKqHDWGma{%nUdtci~vM~Jr^C^rDhmn@X zfz0ge9yy8+A!L%tbplByLs$@Y1D)8CN0K4L=(|5v)mL3?Op@7ip5OcK&M#Pft?sU_ zTUS?~PLn|)(xk(E&I*<=5zH>)tP`^=inFunm?uTv9r5I>IA?j3-TSd$gvoR?ilRvL zMfCFIBOesqGhV#BOkQQ_glEOoL!J*ZF)7l_hbDti^u(#}rBu|5qT*`8)6>ptema7L zwKeZl0ny0o4*4L>;(`ZxR8KPS_V_60om1!x0Z${Yz}?vDrT3%FUb?Xn_;JJ!(!*eF z&CeqrM-lsZ5N7xB2Q~vA^dktauk)an@nV`K9mro>%h%S_D2M!1BwUYD)nj?tGJw75 zWRmeb=fmABOS84LT0-yt-1*zz{!iy`o&O$*0Z(#{zjxBfRVL2Pi_YE6t^ex$lBQ=P z-g)+H2Q&9xJ^X#+nJm2VWC-gbP6f}x&V#*&8$WLBjN&P^a_9dH(j+fBMRYbwPvX)3 zxyV@(72Un_c$i+kPE(k2{~{H`&L%9POuyRM+q=HDzq?6Xhzl;Oz^r-jcT(`-UU4;o zRL+as6G`V`Iv@<`PO`K}ap+Jq0XhE|`_kFpSqx;1=4E;W?^a_o*vetnHTf;|$C7F&-c;>)kiuEce@irb!d1n&iChQbx z=LcxyhmPL6o$(Z)JmH@KVaHpCQA*7D!C=l0*b=r0NS17jM8UIo)VaW}a@IMS z0w%8!u{dC&Tfh?Tq)7oSMTuTh z27{VRcrx5M7o(vMqb}JfO8PjSaPgoBb#OBlk>~YlgCV4OJst5pDAsLvdY*IGYOoAE z2>Fe)`5#|Po7qg{;gD4sNjPQm_-A-t%X$%yc^*z`sgj!J;TfjC(q#7KX*ezwhi0cP zJ2;9?yFd$p&<*#YV9u_hqyABsk0;O;bsge%hElND1LOp1yKtuYyon`SA zl#`MM5}052UcTr`$|Fv%V3{llW2ad?~*4CzSlB`rj6yBMn)@Dc!qP}NPBoqwb3*$06Z?qQl`>puLs3p$!JJ& z!QeaMz~yC;YI)J`4&u>>8V+QwLXSI(D!IMbe&AdYEE)e3m|*c{GL+(a2B4RS$*1CM znxPnmSk8fcbN$se{Ff8t!Z||hB1m(k&S+Tu{*G=$F07FnVY4_i(?9XOMjKubDB(fL zJv|o zil~KBsa3}ER(=i)AP2C~4lOA2wlg52AtQQKdTt{HHPYII-TJzTDG>;}xk1*pL<&2E zDNr4%)<|Z_qsn^8G`WT(RW)%!6>(#i7qTsgIJP|;a`$u;7yj0rO;i$q zl>mPNq0cTL#|2D+q6?Dkxi~HS5w=s3RA{js1}3RFKCX#*R*e4#Suz6-y?FTvDP}z|x>~p#Nq^ z$c&*$g1Td3*yi)X4@&vR@VPyjT)>O50FY4hlq;MdEu$8(7nmm9$o4ahYNpvEzm-<1 zL}zrsOS`aGyD^9pB-u-<1Sf{0pWrV*VcIVJk1M}(C_*vbdA#sUhUBK*Bt_W7bN+}!5L~|1|Bs=*4SVTvZ5G$ z&_=)#wCQlQ%ZRi9tzi<5j{XMXox}FIzo}_8AqUE5M5&)K|@%Uum>AEL9I>m6XGC-LBuMmM`qu%-@?bs=Xh=m$!)-3~8n zDAZhD-0;=5j%wKu0wuAUrj$^lcga&ppP}WQ8ZEgIa};yXqL^D& zk*1`|IY0~}Gego{3|vG$zBD-KE_Yxl5pO-(uqA&a})b zDp=@bm7yamIrCVl(C6+&pwGnYBnL}c#ZI>3 zCta&)_4}U#+WH6l5Y|A8U)0ts)n7?mu8r+D6ll)~5c{w}%2)M`@C-YJ{;#iXiq%Fc zXj@%T?sW38$pp$cze$jw;im9=lO9JaOUh{-E8zHcS%<>@SPkYLs> zGE$zxkf`X@#gXbR3a+)b>=FSFnLp z3ZkntV6SXdjn~)^;ep|X>2x$yGYvS%`*PMU#b{(x7xD#JOmYNSa;hsT@&`5F_}X$( zAbz3=m%Fmr8(f5v8>HXfMcbVN1#&G)<~Oh@g#a!*7A>x?{f2<3WXV&JnaVz|4rQps zpEtgr2S}{BNSy`K(Sy?`>sXhmX?0HjOie}?<$U_hCKk-WT{GeS)KQz-x zB^+(o=3Ky{&R$o|m*Mj=V1C1@`4-e6?A;-JiUm_tzPN)j{2!YnlBN?Nu$a zyV0lqC#_Pa0K=88c&yi`o)S3}njl5MTx9YL&=oo*j&ivwD|l>`QcfZ*}&hynoF0joF`ljQk+Fzpo$xe3RyX zFJLd}Xh>O1udnqv?~0KV+!J1#${t1)wUxb&yo1h%;zRP`^h0*&u~*TZdwxIkS2i}T zKioO^SG@6Md*hG8;M)Iir+=Wn4*qrjLw@)-nYbDRch1Ke}_c9{8C0w}}3Q%!7X!D7+s&9N)Vi9bWt1^$)>y z5L~YY$ILr}QNNAu`~ZzVj_!Ey=RtJmUr<%r>8?q8zsAFj7-s9b5XFcGt9JzZGs3+D zq_^AcCNQ1;>M0wrQ3MSRp%_-_4euqY8}u0H zj^ey{0usRIXvhW;C|RHR05nggELMY{7Yrk(81x-QulgRKF38K#;9%>ppGVKED6CRm zxG8rJ`~HJ&0ivsqAE?*H8g;#Ucf55>CFBdB{YQaY_s2u>Y=A`U`BC4yFZoN7NF_8)~mct7Zm$KhMq>*MQd{PPyZ^@tLl z$%Ge>@G3;;K#!0O1xn7CMg;EK8Z5>7)*+hdvm$>d3ZTDt?t4Ms>)=xMvh_&LXtMq# z9NmvL`@WE5I)z10RBV%tg7wvP{Rto2>(d}i;E%t7*fHuC;Z&a+9Uz`(>pt2hfoR?9 zLwD=GMxr|!i(szBVW|#8o>qJkW_r7F=Ir94L=hgbN=U(Pfyhp?X^&inqARFg}k_6HY z_rNEpnI8oTIi>&|bwVK$f$Mf`2tDR=yXZvVdz zgTCMWTX0A2U6|EWBG8OZ*?^WH@`o`?pw}?Rou-#JVYu9(*TpTBsnbQd2gQ63nTf}ELPmbNba;k3Up>X}85Tih$ zm{m{UQP8L!0UP?60L~`&ie3WrQ>f#4+B)nbtPpc?fmKFxSB++U9mdmhsur?pS;|QP zi2hl{7(y7d_(SrOptVtK5^F2}8yFbj=*AXeD9!{O7*N@lr~WqM>sv5=)wcfOOgCST zw#_7!@%nmMJzCVeu3~!GuX{vju4nmN0x%>zL*9l)pt3Z~_IIiCM|ku{N+=BWjdout z6v?oLn?4$KcG7wN<_75=D9_GEQ>ts)i))yZRX4q1caX}{Ow%ea6m{Mlw831Yyra1?s}un4`4f7lnu{D-2KvB5N0sCYi8?l^lm^lOjKgpcaA zU>0B6X$|@o3WvN%Ud}@`1x6FqTivA+k0V~LS_-SQ;lh=(fxx04al`pDF}?55G#hr7 zfYb}4OWMTfU(mo0io`iOURE{_0F_t?96{?#<{}-ARa$p~5+#Wu?t$m8zTA2Na`>+D z_t6c5xIHoE(tXq>-O-n70E)Q%A=_!Ik6=o&FrDGO4_euA##AfPlcB}V!Vy69%=)5#U# zv%(&Q+)-jq3lQQeH<0{PpX0jK)ct~$EqfjcOA`k!_h6eSWUag;+T6wiSmq!i?A6M~ z7ZImUa+cCY;ZY2OMv1ML-;1pVmV;Q6>R!b`0)h~9ougPpY{pM*zXv%GrR@3|fl2|W z)CCGMsm?p#ckhU2y+eMx9{C`MdtR^}ALQgz?$(IX5(crN4}w1;8^M2O#54O9B&%zn zX7SYu=yH`~Yg34Efh6AOcGoS^v$Ij#Ot6&|MKIo(k;Zeob~d1d!6rBW{Jk#W0LJfZfp&%Maz&LgEfsa^7X+5IWc=*@v4E+MU0sb}?J zY7W}xyLVCZEvNfEchW0esV^xnkKQ=OiLZ`Za*HIY~%$WjAA3P}$)i^xaSiRY*KdRbCVzcS_e< zCCmlPi`5MnFS4$KGdeX92%5S`LX{jL9HDXVi;%qN+!;w){h&c6LjJ}CpaA*;wHTX} zHZn(vE9zS{Z zFucoNy?*&>_x1k!@JIIG<;!Qg+b@o6v7gxP+uaxY;osTrv)$+T>*o^oH<3VfWm@@# z*z=o^YnPA$_yBJIQ{Hww63mv8ANOmnraMLTu*4XQL5wK%Ax*Wtsd29jO6T{iDL%$U?^*gQXo%FU-AjEJ3yK1W8vhMe&lj znoqLgB7KX$1wbLR2}WhYTMkr&!)*uCqf zCPCXjlES%Pqz_C?f9mY{&WHStg$t0J>_0pRYS)i&z(H}q57*XKRO@}^0IjHeUML6V z78xBKK&^+6Rx4?~QKzh5bkc*B-GVHhXgeM^h9-NNr3Fw!dskKv=AN)KSoPYrqkvxM zj8xsksSXL~`eG1_1PwA~z^;f~fL#9WrcHHs^Q%Rg3;va!eJ51WMy)U==}VxOCHu_D zsVlnVcyU}EFZ_j~*$!`UB13JwA{!-vzMs~-702}fdBO0Ad`Hr{p7Eq*&uPTcSkIE) zFs*DYzmOe14+43E9Ph;;04%X9O!nhTP$s!g;PlDu8-$-d*|u?I>*>~dJTf=ki?#vD z#K_zN>}gkvM4_YxN8{uw`eFa2l-e-zPu!Zv9ed`BzW-d^ZF3kBhe=Qu-a;qUiUqs0 zBIqNYM4NVVT0>ZDd#K!niPzTXkDP2g=Ls73DTQ=YlEed_N&vOQGNyozwXwsE0Y}2SDi>NZCE`gWPtg4~Iw9ysyC8$(@896}C#a|n zptt!vhPS|u;@G1qGJ({FofI?qtZtH!h)5#EOSu3r`Nn2mxlHIc>oTq{LRGGc$rT>f zFOac9PNcR6YBUM(%!NX`DDHm3%>hdh1m>qc;#ar1t;t?qY_61h48s3`k%11aaHN}& z5)#{l&Ef(I(_K2F!O!xqBhV83C!9R9af^SEXAfVrXsCnt?DL8n@W&Q8X`9dL(naT8 zO7Ay}oqkXQTE%hw@Bs;e|ar<0FP)c0Kr$pA2U8!-ucZ|*F zT7)83Ra2C?w{dxUJ?%26@<;`U~psN&j&X~8cy5GWf3G2|99J^EzRH%!>m7nS}q2y^B5GDu{ypf0P zEE4IZK(FIbXxFS$qkU*<(g;%^Fxr*zRDOsj!&R7o0``dpxIt?A!Z@&RY;6UhfTWik zea|JhqI5<7e}`=L$^=)8?rwtUv?-;`OhucB@57|%2#IcdI1?L&ck#sVEaB33+^^_= zG7OyY^R>Yi^&Z{q0|42<=Am+8Ql?yeO1chnbZ}U*RNWuKd%?bPRfpo&*9V6U6iS0a zYG4VelbH@lq;7C<_oBbb1epNm!O3v|2tse~*~@+MDAR5jPDPTf!)ilrZ98Tw!aj2? zTfE{b?|bKB2n&Y@RL_Ys5pU>h)W>3A7?K87eB!GGfmkMK!ab#(!Cppz3#i5wCe&2h*ZRlljd)NhZ@`el|MWIX$h{jh(6VgHsrEPH|*>lM|~;LANbsaN1M}8ql*i*BBAC zrgm{BxGEwQc!a0p&3bNfqhgvo!ZJ^k4~zMnSMcSuh-%+X(Io@U9e5&<_kq1blCAY; z&4gavqoxiiptcTrQT3aFJZyQCslwI>Aa0uoheD^iC0`}aj}{|Wzv)!tQBALXX&szc zrlz}$s_L9tBJpaAySRKhExh_7S4G5NVMrP^`ZhWNq^qX3bFKKx_MQg*Uxgv#PJ4 zG^?m5OlnDw)Rx6bvx_#T%$C-zbPCLuBj-4=9ziR4Bz5^D=o!1>C4iY;0;Aw@wlBsU z@CBpwJksH?R6cy@TSo01n{`g<_{O-K za^6I*xSc9Hk;a%lE?MX-1#Zyq(U222CZ{!}NayarRVA}bsbB(N>K;l3k)RYF}D=u9Y{rUulOR&AyKrm7j$ z`UrWcQM1(-N6y^_(g}|}HX8N2rKHApHL0=Fxkt*z{lCpl($5>Y_yW@ro}?LI-v*?V zAsP{96W}(OaS>4<;s#Us%EHv}wO9?BBEkAMo|^lC$2l~l>P z{ZK+*&Kv(Y{=9L{X{suNvgvGVbMrp~)c~vq{3G#g2-35YdVrGmVPGMyF5L`&oMo`V zhSi>QfsKsjo~z-AFR8T2lEQ?I7d{3 zKYRnw%cA1OR;j1Mc9;+1(Rc4rZJ#V2ifLY(1~&^f0`3*sctj2AWpz5+>_ExR)+YS3 z@pt&AK7+W9mtt6)H7C9=NXnK_Ou3$Bdc+s4k&bhhk6@H*bE^?kSLep1}q)Dd!xv z0HnwqCO>6&`8n{aPeAMb`xC!9MN2~7QTRLC{LdLMge1pcZW5{e?tcXxN<-5B-v5yh zKpCW*s4_6w57L7w@&;@TdN0(fNOcfO600Sa5*Ms?&; z>l*5dN+RQ`SS}#pj;-yOEdIE)$zoM5*pB9Jma*y|#;8igCm9FoKh3vYK2C=6uQg=6 zyTOnlXQIXWpr*)`yK#=^m^^6ujZNTzO4%8S!KbJ#vBi+^lwUneFO9`PeKrc_O&cMM zKOTXM2#dhI>cDEnVKGqg2NcZ;J;0@{6EwlhlPpo0C@^iId4eiQ(*%{BXO>Wn&lPi3 zJJ_cLU}3KcM%k|_Kd)z1c0u2!wfVZf#(@@N!T{IXYekJ43<##tR@Hn_yZSN@*CD`% zVz@I(=};{{hdraZz!K5QW;vidZZvm%Xh!Q-vdmUl>q9qz&)8%IHcsNd>TjSrGkB~I z$9I81PLy$efOqiQ8}Z#%7~1jE$&>Mz1JX*z;rNV12Glodl`Ck0Tni&O%BxfKQjt^z z=-V5}N*KTnjmsk){y)H#8NQUry@)h{0y0OzVai2&TT3@&v37M^y+vE>Bc-NKpi#*Z=C(Y z?X83N)zij&dIF*ZtP(fjlDsY=$s7e9t-)A)=>p8n+_DY*iq z8b_Y|iz$P2JdTfsd;mLj6nT|T%vV2;CtKz?M-xccx{DvhCCtXv(P=u(BJb``(8Dj-!!NRj9?thu&VJ|YR~{Y6MMqoG zC>?yFAL;3-cgT1VRgHZV1S%5O*Rzu8M~IUCtPB%sQr@_em{hRY$@B!MW^P0JiLOez zzBWIZLtoY7N51IV#DKw!O%Oh}9i4^^>EER}w2r$HeWQf&8p6kTua6b(z+jRKUz&rM zcMeoT3_QBjlT?Rqu(56ctvO_2oFtqL!Q$vW1ssMoK<#RR+am6J=joUuCC$mxD2(+R zP_cXiidMl3@q(l`P2`76bDnnsTm-73O5q+mQVDV~)t9OOn>aw;;(66LzuZw!hzmOgjr!ZIhTo2SS~TMy!=APP_z5d6^< zfGreY1W4XxoFy_CscP1*b$}u0uCKlAjCZcmX@}m&!ylKheE4LZw=TMJQ0rbFpQusm zsZ-Um+VP?*y`0$VYrN!+&kG#^yMemDr}rDh z;fOJusf-JV&kx2K=ruJcD^vjLZ{)H84WjzI0k$kMB^LpOUQR5#9Z;}y_{K0DZ*U~J zUMMjd0F}JjqgTXwD^)fpW%b=Zr@(0O<_ObCPx1<_E=|S@d?l!oCp{;L2ch>Q6-5uM z{d6~(jvWWE0@z^V^~In#NDl4A%L1#Pk>|D;VtsPq&ZDAoOGDl`c`E$`E0>5=+$VGE zq&PsgJ&epIs=cc#9D-u;qi3I?S+a52FFrHLs!0e+9Rhk-vxNX+!zf$0<=fuOa2y}; zJeg`)J*{jf|3Ht10hd7& zjhaE`2|2Uy3+5{>;O~i)?BExkCS!se00RLQqsU=Vy?P9!9(684jgBx^2Igk^h8LFk zl#t$s&%@zUAMguF9acfY0Ds4LdWV;+Jq%A&(EiuYZR&@3C2O`FhFXNgcg9qrq-tug zP63&s_^cee&K3EK_yxwpgJLi_A^xEfvb3HKr!keJD5#zbr+`jVEy($E8=w>gtDIC9 zR!Wh%Y7TX7J%~EOOw%2jS4Ii^(I^DP;v6kUt&i=CcG zRAl)h?1*-P{8Y~_qmfkcK$A61B+^&DkI?*=iLprVZoZR?k5L}cB?#IBc&*_q!KfWa zNTZ#C<}#I&CI?Z6P3=hiX*P9{rbjubvm^Bz5X>otdpyhKF%Pwf9VKaTG=}LClMx5a zLZzG%5rs{tP7Bh)oE8wDuHU4n92AH=pUT%bwBhOrrqE`t6wp_s}2B5Xij%1VMqAtwMO*deoY9IM+4NXyjmDbs~ zODP0*P7F>2=K5wU#@V{UkGnDl9qg%zmbw;$t2Iq}ts+GT>Y@&y{IG(gtH!Eg`htdC ziN|fjMfSwKO4XjdOeWJY+=i%ku(8#r7~_$Q(O;QaOls*KWQ}98@lhG*n+jsXStJe*L*H4EQcApb>x>U>zdOd!k9#T*;I9-tB;`8MMDQ&&ERj*yqKJ1XpR7xLPg^iO)LY#g-cG3j&|EzoKZ zjWH-(oP!occ3oO1ucUggigwsLxQnZ00gSmk}?m}&MGltkoryXG^_Ip9dBx;bc8Sg zwP{3wC!#@N9SMdu4h3YX3!&4(o(9Y)Y-Pbv2LPd-RI=ysBo756h2o)#YROqf)`A3W z1X2$~{Q+aAqxCeF4P<3Ce2-CK6tqrBrXe?lX?jF;z?kzw$iIcw?N(x*vK^3#~^1#PeJ8mq9Im|iYYx-NNCKykp)98lbKR1N^5DrH@FE< zY1!JwgazPo1+LcA)f3vNcLA>GFY2bJK$=0GeoQnJHVE^i=sF$m$$pdS>{ap{m?~#$ z!iA~Q8*FINtIcfDoY`85c+uP!Epu;k(-fO0Om1@b?Wl`}%@nTQ>@zV|8<7bp|x zNWz`VIPa*=NvTPvXjD6s;d?29aa)L^J_Q=PzFraGiVnKi-r-K1AUg&IIP6SR=VMM> z5`%|yVr|#xT%M=EQYB>@3dzNX9KJyZ5ruit&l}Sa`yy0>?F)7I8ib;+C_z}rM|+%$ zd7lgS^#>f+*i$bFEtsbgoS+e2;? z0%zS%VM9mlhs#Db;$_ImYmb{_;yG2gI`!k`tr8=g_&Z2@b_#VYO!M-on9YAI?r0DL zLm$2Z8NeLi$cQ=Gg`A$;($RcTR?ttwp_wld>gl)QydGh|HmuCN=CLTK=h6b=vHeCR z9rwm|%*+?GppR=7*RaKPcnw=#)7xEZ&PA~h1Gs5PQ2EZFW3`miRB$uI@RhnuqfRvH z=6&z2F@JQ>zX!I=32c`n?Z|q7uLW5Iy9Qltzgx^4F!}Z#ygZYr1jdp{?wJ^wtg9ea zgWk$2W@+iGbVbTlbBJL?V|D5_)8ZoVYS+pw8vzMDQwD97AV9vAVZYIMi-I~mhlXZ0 zd;q2~XFmV|`0zu4k<&U}vjY#6IxX0cq&gB8UiEvmPj1C!){hXZ!IOP}(zpN4Toi7G=!v_Pb*SBd;A zvXw>PgiXx)S);Y;ara6Ska~qice&GD;&zw!^Lp*FHjPTa-!AG0$nq}FL_e(+pYm5R zC`u&2DujfFH4U0zUSxkZFIMRWYV9=&PE0RR?R$QkPVs75vx*teByMD8#4sc0_naa& z*p2;ec7-SKubn2Hgysb`T90@XRlXX&L#YBD{xgU)}WR;8T&*n-<5ioK; znt*2t6tbvE!3M?W@P7}Z#XCHqSRfpjX-Drw&++;^vQ%G88%m z6<4B#0G=87iywh$ZWX>qMm2MVh_Paf6Ya#PBnHE2gk7ol^mqwc*R4tZDxW z8#VQkm2%DeMgekoCnttwmYtTGobx3b)iEe2O%!sA1T#|>AP^O-5%$K-Zh=qD;EhW( z8o4X#u8Xt*weY%IE|Kh|r3q^UYOd35CR{Bl2G0L?&Ag~!d}Y>?%B&}40Lw&EiJMRa zpyb!Lg>_iLl}T`AGW*Jubzg7M01Ln`Z2=c?#$1q%ulENrOYI8yha z@UE*cu6h0prN+=4dY~>we$Yn6US#`;TWmj|exp08HWPz(hz^A-7}+#jS&8j;8R)4Y zcpERoR0osLV4y)iq1Q6(2Yj2(h=AiuWwhND7C<58Ske=`6v1I4P?aVpwv>EExWt0 zEXZy(er{Xn+Kx*S;%v!$Zlj8U*rLzp7ERqi)+1BwK!)c(bc=#$=9HaOo8)duBkQ%S zA0X|j3Mo#7*{v7UwC*t*H-wf`$%Zb2Y<-oThq$wN&jD?<4KxZ+MdXK|Q_a7XR>3;3 z4`nWZK~k(=8TmdmUn~CrOYxz6V2;|a_YX~xDEl?z*|h>Esg#qeE9tB2 z^o~XuP=BVgiW179A(W<_Mn2Zi2kDEHrR~JMtdt2#D;d|eixoyxAbZUpODlKJtwOiH zO$B9;dQwDp{xvxG*N1%LaQ07DuHF&s3#J`xZv0og@#S!R^$y$D3ELZwe|`G=#jB0| zw;O*P&hGvU<=IDD{B(Qc5j0bNIN5L$e!6|a)?EVSCAAH3K-LjJcz27EA5!wh`eFZ- z-(Oh`{C)`kQNoAe`upJ8`8w#bLrh!^f_}B!^R{x&o8{iMm3!AL_pq(pLsf1cgV@9O z#$gTG$8EJ9-x6A#j6Y>g(BBLCLB9_R^crUi=IKKhx?bu2?L!xTVMKkL)gRVBY<%b* z{w>f60OEh^+(Y&E!^R<03)U$N|LiW|2^~(qDwHt%Om>10-~BtR34@h!~NwY2XQyB)cf0Wl@*ht-EKbO~y)UC3u z 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

Cf(Iuq&c4XDfa}pPFl+6Lo7-wQbYfTl;t$ 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

Fi={lkLtSpaA4(X18%3ESqr#yr?KS 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 e=this._refInput.value?.value;h(this,"date-picker:change",{date:e?new Date(e):null})};return l`e()} - @change=${()=>e()} - /> - {r(e),this._refInput.value?.showPicker()}} - > - `}static get styles(){return c(":host {\n display: inline-block;\n position: relative;\n width: var(--mdc-icon-size, 24px);\n height: var(--mdc-icon-size, 24px);\n}\n\ninput {\n display: block;\n height: 100%;\n width: 100%;\n position: absolute;\n padding: 0px;\n border: 0px;\n}\n\n/**\n * Hack warning: Safari on iOS does not support showPicker with\n * datetime-local:\n * https://caniuse.com/mdn-api_htmlinputelement_showpicker_datetime_local_input\n *\n * The hack is to render the input element in front of the icon, with an\n * opacity of 0. This only works if the underlying input element accepts the\n * click at the exact place the user happens to click. From trial and error,\n * this seems to work better than expected / quite reliably, but had the user\n * manually changed icon sizes with Safari iOS their experience may vary.\n */\n@supports (-webkit-touch-callout: none) {\n input {\n opacity: 0;\n z-index: 1;\n }\n}\n@supports not (-webkit-touch-callout: none) {\n input {\n visibility: hidden;\n }\n}\nha-icon {\n display: block;\n height: 100%;\n width: 100%;\n position: absolute;\n}")}};e([t({attribute:!1})],p.prototype,"icon",void 0),p=e([n("frigate-card-date-picker")],p);export{p as F}; diff --git a/config/www/community/frigate-hass-card/date-picker-3dacab82.js.gz b/config/www/community/frigate-hass-card/date-picker-3dacab82.js.gz deleted file mode 100644 index 2e22753d7775eb2554395c5ee5edd0aa1a01e5f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1020 zcmVdR%7$|72lwWi4=NV{2t{Ei+_cV_{-AGA?R!0KHaAkJ~m7zUNo4 z!Zwf=lkJD8I5@q%Ba?2aiO~eDnG^ zlyjhcMhn2ToR!yYv zO*#EuzFvw3s^3F4(-4`PODzIA+(s}B`q)crLiD|i*5}1O^bUMpRh97Tz5^3O!DFjJ zweYa|$+$kwMP3YRgnAUZ2Q={zdvDm6T2P7j z%a>oVpJ!Qt)}{eUBPGRPo)`0*)5}*PoV5v>XAMSKIwc>#*RmC64H@6lVttXtG1y|5 z9g^3d-Y5cn!45y+l_<4Xf}Uqr`;cc*b)c1jDu4zV7lersXD5rOqK1E}e6_bvYEcYl zq@6<`vLT#OTPgI}^ezQDzuHr6uzzQ}yD{OvZcT0u4{usgDlF&!m1afGFrJhuJ>TAD zU88DD2sHhS7j#4ax)qNbJ zbfRgLS=VgpwrOE$J)W`Sd-6QFzQ&zv_M?ywY$Lo$2JgiR>A|dF>gV^Yv4DfkVikKw zbB~=nfT6@T0es2XI<2)ax=>GWo*C5#sHE*CU1Lh&)S``@PH7{5Xjm->bUeL_Bi15e zEs`1mCeUA7U@b+faOhe#&J7%4z{V;b@bHb{IK>CM8h5ewJjKg|Nl4ZSsp5_lrWN8M zpf!5OHr7Ajcpc4pg4a7N%M*MdCAb(!DWN6yG7*y%Y=y*$t%ZaUC18xLa1Kn0Iw@D| zEzWxu@gU;$U>XMATh9|3QJ)2XE~!&QYzZ-@Ooc&who=r2HerACDgx0{iKX6gw!|1) z(VW~SxK5Z}Xv}S#6HTfHBPNEiB!`YuyU|ej*G-cwNyH} zX;ssJxqvhz84Yui9LY&n^!~e8+VoSHd-3&JR{#3f3&J$(}KG> qnwUIWd9|jyD_#2+w^&Bz#SA+^9~+K75#A277k>iPFVZ!A2mk>3*5pk9 diff --git a/config/www/community/frigate-hass-card/date-picker-40111fdc.js b/config/www/community/frigate-hass-card/date-picker-40111fdc.js deleted file mode 100644 index 304d5917..00000000 --- a/config/www/community/frigate-hass-card/date-picker-40111fdc.js +++ /dev/null @@ -1,15 +0,0 @@ -import{_ as e,n as t,t as n,a as i,cR as a,x as l,l as s,cV as o,c$ as r,r as c,dg as h}from"./card-45855f1f.js";let p=class extends i{constructor(){super(...arguments),this._refInput=a()}get value(){return this._refInput.value?.value?new Date(this._refInput.value.value):null}reset(){this._refInput.value&&(this._refInput.value.value="")}render(){const e=()=>{const e=this._refInput.value?.value;h(this,"date-picker:change",{date:e?new Date(e):null})};return l`e()} - @change=${()=>e()} - /> - {r(e),this._refInput.value?.showPicker()}} - > - `}static get styles(){return c(":host {\n display: inline-block;\n position: relative;\n width: var(--mdc-icon-size, 24px);\n height: var(--mdc-icon-size, 24px);\n}\n\ninput {\n display: block;\n height: 100%;\n width: 100%;\n position: absolute;\n padding: 0px;\n border: 0px;\n}\n\n/**\n * Hack warning: Safari on iOS does not support showPicker with\n * datetime-local:\n * https://caniuse.com/mdn-api_htmlinputelement_showpicker_datetime_local_input\n *\n * The hack is to render the input element in front of the icon, with an\n * opacity of 0. This only works if the underlying input element accepts the\n * click at the exact place the user happens to click. From trial and error,\n * this seems to work better than expected / quite reliably, but had the user\n * manually changed icon sizes with Safari iOS their experience may vary.\n */\n@supports (-webkit-touch-callout: none) {\n input {\n opacity: 0;\n z-index: 1;\n }\n}\n@supports not (-webkit-touch-callout: none) {\n input {\n visibility: hidden;\n }\n}\nha-icon {\n display: block;\n height: 100%;\n width: 100%;\n position: absolute;\n}")}};e([t({attribute:!1})],p.prototype,"icon",void 0),p=e([n("frigate-card-date-picker")],p);export{p as F}; diff --git a/config/www/community/frigate-hass-card/date-picker-40111fdc.js.gz b/config/www/community/frigate-hass-card/date-picker-40111fdc.js.gz deleted file mode 100644 index 009dbb19ab7ad8580f10a90dbedb41e7327ae6c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1023 zcmVI;_K9mcgZ|v&ESrIg*O)8v5UNN7=EP1>FV=^Mg+!@4ox> z@hH_f>*IdTL}0)TiO3@f!vzV&A zzNGm2^%v}CSyrI6X@Js5Nimq^#q9R!|Cbx%&x2-4@mh=Bgvm$30PfC@Z z@9wg$Q8gxnoff_fAiQj|^Bgob4^03Y@3B+-<*tX;ZhlN{#x#%SPiamLdER~;LKIO+ zMuZP>ry-meFY~N!EmCX$U>Ivua9ZqYrVQm&F0k(FDeX8LR8-c~%!5X>M@Y*X)x@^O zW90L)>>8OomO*_2&c1o$wnfrvL9N>OH)_L!c`&K3&tf?Ram2a4y88Ou{nPs?O0fu5 z_i>EUiKbCzRkJI%O$!U_@r)hcljq6hCGK3Z?}c2mjqoNJd=N{d2eXE$_a9he0SBAK zD)x@%9y@gaLy2ty_?)wKT5Dr;p`PG8GpY|zN!v}j#+1UTc^f;O(nkK!u$mL-czWkY zta-wkCp7|0pg*_3T8dWT(6wxw8#uy%ja5A0;TywoiVt=cI-2zauXk9MXZS)&a50clLQCvrA|@-?3W*b23kf4iz!+QM9GDb! zQm)uLocAo^LB#99Gz`4Ao+mV-J_`U{Qm2U60%A;=3WN9#PaQOD!v5%01fr)B3%%oP zfibqCd2*ZJI$?UDF}HC}G^rYlm>9;A96CQel0!$mO&!BvzjAiFE(g$D;~r zp>%T7s-^*R27MR~|M5{9aPkdP$bXIbUPSCC_5kXyu7~0`?keYPv^3axM!qxtXjQ|m t3hriTV)AV1)r#(}bnTzrVi}niQ|ttNY&iNvcsER6{Ru#;Cq;b-007U^_YnX9 diff --git a/config/www/community/frigate-hass-card/date-picker-576d50a8.js b/config/www/community/frigate-hass-card/date-picker-576d50a8.js deleted file mode 100644 index b3acf888..00000000 --- a/config/www/community/frigate-hass-card/date-picker-576d50a8.js +++ /dev/null @@ -1,15 +0,0 @@ -import{_ as e,n as t,t as n,a as i,cM as a,x as l,l as s,cQ as c,cX as o,r,dc as h}from"./card-320adb66.js";let p=class extends i{constructor(){super(...arguments),this._refInput=a()}get value(){return this._refInput.value?.value?new Date(this._refInput.value.value):null}reset(){this._refInput.value&&(this._refInput.value.value="")}render(){const e=()=>{const e=this._refInput.value?.value;h(this,"date-picker:change",{date:e?new Date(e):null})};return l`e()} - @change=${()=>e()} - /> - {o(e),this._refInput.value?.showPicker()}} - > - `}static get styles(){return r(":host {\n display: inline-block;\n position: relative;\n width: var(--mdc-icon-size, 24px);\n height: var(--mdc-icon-size, 24px);\n}\n\ninput {\n display: block;\n height: 100%;\n width: 100%;\n position: absolute;\n padding: 0px;\n border: 0px;\n}\n\n/**\n * Hack warning: Safari on iOS does not support showPicker with\n * datetime-local:\n * https://caniuse.com/mdn-api_htmlinputelement_showpicker_datetime_local_input\n *\n * The hack is to render the input element in front of the icon, with an\n * opacity of 0. This only works if the underlying input element accepts the\n * click at the exact place the user happens to click. From trial and error,\n * this seems to work better than expected / quite reliably, but had the user\n * manually changed icon sizes with Safari iOS their experience may vary.\n */\n@supports (-webkit-touch-callout: none) {\n input {\n opacity: 0;\n z-index: 1;\n }\n}\n@supports not (-webkit-touch-callout: none) {\n input {\n visibility: hidden;\n }\n}\nha-icon {\n display: block;\n height: 100%;\n width: 100%;\n position: absolute;\n}")}};e([t({attribute:!1})],p.prototype,"icon",void 0),p=e([n("frigate-card-date-picker")],p);export{p as F}; diff --git a/config/www/community/frigate-hass-card/date-picker-576d50a8.js.gz b/config/www/community/frigate-hass-card/date-picker-576d50a8.js.gz deleted file mode 100644 index 0099ac91940597c2b29091ce089368671cae8d83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1021 zcmVSs(WcCISO)NJJh<7%oUCF25%!_?Cp`nnd98Cz6uOUr1W+c_Znm9ai3USv8Tu zH|1Bar=nTDc~ku!vYCd+++1oA(APGCX%K!dtqIZhGFqP(`_Mb^c~w=yulo*63O155I2U;_tP$!_=pN9-L+rg_pK4WU_x2zRY}hv+sq)ocKB+}9 zoRM}8fyjn%N^PakXVbeB==^F=wZZLYOW`fIl>l2!|9-NwIB8}7}$Nqv11%Q=W6&a3J4%S-pC_j8nD8LaN( z7^M?Uqs+QyQ@2eEOY8BB9p97Z$@MkvT(fV5d|(^lO)_{dR!9$K4O2h7XN?7%X%?&4 zI~sZH+yM+Fwh7=<&emzIjnRdAg7eI%K0qaHH|ZKv3a1ur>~u;S`9s5ML7?O5T^z9% z32Twm2rz;E+yZMUT7~o0vT<(U2m>}&@qmYK496)x*wwg;wdW~bCQL%IPDmAZq%f@z z7Xhu&JGQa@0mtiT))TzmVOgHw3n{_HKuQTMv6qRMtY9l7PHZhCj3@zPY=v`RQq)Pg zV()O?vxo-~ZwAva@ZNf!(1`jh0CY*6B4SI3F=Z+Y;yXNb(69;nqgN4#o=PnBj z$xW-82FwNYVL1H9M{U5#H_RaaHRgK}v7gujsK0nM6u)s-Id7w-!Ok=Co$*Jj8a6Gs ro1=-zvz1qCy1UY~e{qXtWM0g$6ZD{const e=this._refInput.value?.value;h(this,"date-picker:change",{date:e?new Date(e):null})};return l`e()} - @change=${()=>e()} - /> - {r(e),this._refInput.value?.showPicker()}} - > - `}static get styles(){return c(":host {\n display: inline-block;\n position: relative;\n width: var(--mdc-icon-size, 24px);\n height: var(--mdc-icon-size, 24px);\n}\n\ninput {\n display: block;\n height: 100%;\n width: 100%;\n position: absolute;\n padding: 0px;\n border: 0px;\n}\n\n/**\n * Hack warning: Safari on iOS does not support showPicker with\n * datetime-local:\n * https://caniuse.com/mdn-api_htmlinputelement_showpicker_datetime_local_input\n *\n * The hack is to render the input element in front of the icon, with an\n * opacity of 0. This only works if the underlying input element accepts the\n * click at the exact place the user happens to click. From trial and error,\n * this seems to work better than expected / quite reliably, but had the user\n * manually changed icon sizes with Safari iOS their experience may vary.\n */\n@supports (-webkit-touch-callout: none) {\n input {\n opacity: 0;\n z-index: 1;\n }\n}\n@supports not (-webkit-touch-callout: none) {\n input {\n visibility: hidden;\n }\n}\nha-icon {\n display: block;\n height: 100%;\n width: 100%;\n position: absolute;\n}")}};e([t({attribute:!1})],p.prototype,"icon",void 0),p=e([n("frigate-card-date-picker")],p);export{p as F}; diff --git a/config/www/community/frigate-hass-card/date-picker-8102261e.js.gz b/config/www/community/frigate-hass-card/date-picker-8102261e.js.gz deleted file mode 100644 index aa8f1891eb62a6fa2523f3eb347a5a7c104f5bc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1023 zcmVHmt*5mcgZ|i^Z8DIg*O)8v5UNN7=EP1>FV|^@C3$@4ox> z@hH_f>*IdGL}0)TiO3@f!vzV&TC5zI_d^mang>KSMUt5Sg1xEdn~+MlcQf*h_0d^u3JM=fyts4t!o!mGG;+0~15R zW2-{7@Noa5aebVNyckvp^&oT)XyPIE-ms6gsF&$0roO#_rhN{YceFXq>eFQ15T)+T74H5g^-lw5hVo$Zf{+;Y@$Atg6HMu@KylF+Lu$*5i&5E31JSkOr zzPZV|M%9=Qc3Su{fbg=-&U4V%JTw7pyvI)Q=er(SyZJe_8PhzPKc+c3EUiKbCzRkNwvriG>Tc*c(J$@Ap$5_c}y4??clMtGA9-idpp2eXE$pWd;?0uDBd zRqP$jJ$C8g=blD3<4jVXmwi#B#TrH%ZdVYML8@$@c^ zSc`@K0!#9TG6d&yUxQn&tDPAT_Lb6Us6?ddC ztq>Oht{const e=this._refInput.value?.value;h(this,"date-picker:change",{date:e?new Date(e):null})};return l`e()} - @change=${()=>e()} - /> - {r(e),this._refInput.value?.showPicker()}} - > - `}static get styles(){return c(":host {\n display: inline-block;\n position: relative;\n width: var(--mdc-icon-size, 24px);\n height: var(--mdc-icon-size, 24px);\n}\n\ninput {\n display: block;\n height: 100%;\n width: 100%;\n position: absolute;\n padding: 0px;\n border: 0px;\n}\n\n/**\n * Hack warning: Safari on iOS does not support showPicker with\n * datetime-local:\n * https://caniuse.com/mdn-api_htmlinputelement_showpicker_datetime_local_input\n *\n * The hack is to render the input element in front of the icon, with an\n * opacity of 0. This only works if the underlying input element accepts the\n * click at the exact place the user happens to click. From trial and error,\n * this seems to work better than expected / quite reliably, but had the user\n * manually changed icon sizes with Safari iOS their experience may vary.\n */\n@supports (-webkit-touch-callout: none) {\n input {\n opacity: 0;\n z-index: 1;\n }\n}\n@supports not (-webkit-touch-callout: none) {\n input {\n visibility: hidden;\n }\n}\nha-icon {\n display: block;\n height: 100%;\n width: 100%;\n position: absolute;\n}")}};e([t({attribute:!1})],p.prototype,"icon",void 0),p=e([n("frigate-card-date-picker")],p);export{p as F}; diff --git a/config/www/community/frigate-hass-card/date-picker-86e47001.js.gz b/config/www/community/frigate-hass-card/date-picker-86e47001.js.gz deleted file mode 100644 index 0ee9cf2ad1a464cf8e0b2cc14e8bfdfcc093990b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1022 zcmV@^PE=VXYe(y^Pl9#Xj^7d|p+R@aw(<6GOpc zt3tK#uzF`)ALk-3hBZPx3f%*mc!<3>>{G2O?cN@QfergkM98008vl#h^jZ%d0z?FT zPVwc-&)CnitUzni0Hu+VVldB(`OWF&GZD_(1kJMsqb!}058!Lr3bTfc?`g5V$l@4m zG0YCh>kn@ffxcjepYTeQS}Z}&v#Wi`v#2`I%0LxBgNzHp#E7$#MO0D4KUKck+b6Xs zhBMO6ArRRRPN}UF`fPfa0-ay&sW#ZZv)$d8@L#tkH;0Eettb_i^Z!b-B4-#+N|l~( zZ?mpZH710e7QPH1ylk_}95gl$O#mD3u~Yo{u7}oceoSq~G>_(|G$)5VZ$1nmil`(b z!iTui5YCL3c~-X;skOg1j5R7aEp|0ihH@&GSoen+?Km4$RMynYgGRJRNXr}5#J0v` zs~rVmSwK#CbKHetGHs^nQ*~EQ8g3 z9HVriX_Q&lZ0fdYVQD>{vEzI4Jh{Hcoon{JkPmDlyh#S{#R}=ctYPYh_pGsigUw(Nl?~-f_0X z7+cYt+$OkAm|keiZJZNLss{const e=this._refInput.value?.value;h(this,"date-picker:change",{date:e?new Date(e):null})};return l`e()} - @change=${()=>e()} - /> - {r(e),this._refInput.value?.showPicker()}} - > - `}static get styles(){return c(":host {\n display: inline-block;\n position: relative;\n width: var(--mdc-icon-size, 24px);\n height: var(--mdc-icon-size, 24px);\n}\n\ninput {\n display: block;\n height: 100%;\n width: 100%;\n position: absolute;\n padding: 0px;\n border: 0px;\n}\n\n/**\n * Hack warning: Safari on iOS does not support showPicker with\n * datetime-local:\n * https://caniuse.com/mdn-api_htmlinputelement_showpicker_datetime_local_input\n *\n * The hack is to render the input element in front of the icon, with an\n * opacity of 0. This only works if the underlying input element accepts the\n * click at the exact place the user happens to click. From trial and error,\n * this seems to work better than expected / quite reliably, but had the user\n * manually changed icon sizes with Safari iOS their experience may vary.\n */\n@supports (-webkit-touch-callout: none) {\n input {\n opacity: 0;\n z-index: 1;\n }\n}\n@supports not (-webkit-touch-callout: none) {\n input {\n visibility: hidden;\n }\n}\nha-icon {\n display: block;\n height: 100%;\n width: 100%;\n position: absolute;\n}")}};e([t({attribute:!1})],p.prototype,"icon",void 0),p=e([n("frigate-card-date-picker")],p);export{p as F}; diff --git a/config/www/community/frigate-hass-card/date-picker-cfd85f75.js.gz b/config/www/community/frigate-hass-card/date-picker-cfd85f75.js.gz deleted file mode 100644 index 6a07b4421b098a29d39c8aeea698d8e1a6891d01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1022 zcmVI;=xqn!%;1i^Z8DIg*O)8v5UNN7=EP1>FV=^Mg+!@4ox> z@hH_f>*IdGL}0)TiO3@f!vzV&wb_gB^LA)9H4%*~}10Ud55m$<0H2xR0>9rm_1c(Uw zoZ`!uU$LKOS%KE30ZJn!#bBNn^Xtc#uS7U&6Ex2njIwk}uEE!`6=nq)-_v4!mc=pH zVwfG0*Pq@f0)4>_KjD=qwOE3lXBYdBXHj*am4PaN1{oKGi4kXy7EwhF|5W*6Z=ckn z7*0q#hd^XQIHk5y=#%Mf3Uq$4r`lluPIk9r!hhYGTpu3Zw4zj4&i^aTikx9QDOGyD zxyial)tC@=TKF=6@UqR$bI{m4Gy!b9$4>F*yB=D*`8l;2(>$6#ra3v}dHrb!QA8yf z5kAD7hHzrM%(J?+NUi;yVXRTXX|b!BGL%!f#JaC%wBu}0QCU+n4;s-PAT4iH6Wbb( zk*!qR#?W5@U8d2)G)JD2Q7A=hjpyh#S{#XZu4S;N%3_pGsigUw`B^p0(;U*mWk&3b~@J1ol+d?6*c7)U9hCH68AlND@*#EGqigb^iRjID4EOo}=w zSL`j$dlvB^;`Lw}2HsoG6B<#U1%NK8Q$%bDF{Vs~L41d&4jMLLfAlH>(Nl?~-f_0X z7+cXix=nDMFul;2+c+nhR1HQ<3}Z#Q*>R diff --git a/config/www/community/frigate-hass-card/date-picker-d9927b87.js b/config/www/community/frigate-hass-card/date-picker-d9927b87.js deleted file mode 100644 index b4b37fa3..00000000 --- a/config/www/community/frigate-hass-card/date-picker-d9927b87.js +++ /dev/null @@ -1,15 +0,0 @@ -import{_ as e,n as t,t as n,a as i,cL as a,x as r,l,cP as s,cW as c,r as o,db as p}from"./card-e5d55e5b.js";let u=class extends i{constructor(){super(...arguments),this._refInput=a()}get value(){return this._refInput.value?.value?new Date(this._refInput.value.value):null}reset(){this._refInput.value&&(this._refInput.value.value="")}render(){const e=()=>{const e=this._refInput.value?.value;p(this,"date-picker:change",{date:e?new Date(e):null})};return r`e()} - @change=${()=>e()} - /> - {c(e),this._refInput.value?.showPicker()}} - > - `}static get styles(){return o(":host {\n display: inline-block;\n position: relative;\n width: var(--mdc-icon-size, 24px);\n height: var(--mdc-icon-size, 24px);\n}\n\ninput {\n display: block;\n height: 100%;\n width: 100%;\n position: absolute;\n padding: 0px;\n border: 0px;\n}\n\n/**\n * Hack warning: Safari on iOS does not support showPicker with\n * datetime-local:\n * https://caniuse.com/mdn-api_htmlinputelement_showpicker_datetime_local_input\n *\n * The hack is to render the input element in front of the icon, with an\n * opacity of 0. This only works if the underlying input element accepts the\n * click at the exact place the user happens to click. From trial and error,\n * this seems to work better than expected / quite reliably, but had the user\n * manually changed icon sizes with Safari iOS their experience may vary.\n */\n@supports (-webkit-touch-callout: none) {\n input {\n opacity: 0;\n z-index: 1;\n }\n}\n@supports not (-webkit-touch-callout: none) {\n input {\n visibility: hidden;\n }\n}\nfrigate-card-icon {\n display: block;\n height: 100%;\n width: 100%;\n position: absolute;\n}")}};e([t({attribute:!1})],u.prototype,"icon",void 0),u=e([n("frigate-card-date-picker")],u);export{u as F}; diff --git a/config/www/community/frigate-hass-card/date-picker-d9927b87.js.gz b/config/www/community/frigate-hass-card/date-picker-d9927b87.js.gz deleted file mode 100644 index 46ca4ff6ad6144ad2fd7bcd13b7438767627186a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1024 zcmV+b1poUViwFo$^lE1U|72lwWi4=NV{2t{Eo3=4GB;v4H!f;(0KHb-Z`(EyfA3$x z30WZpl$;LBi(Dst7>W%T&;lK>hh=an@?vqJNR6aoyN3Sv-BEVze4yKaVSeyQcbH+;I7ko&uM@l9b$&a9lMc`|;MhE~{oz zcvZrsy1azTrurjfa|4kL3u#0^Uz-S4A^c7{8=@a%bUrV3Vd%l_KPel(Ap}XG*VIw7J0F_dU*Ltg!4W@^GsosWv}HO_*%BYt{~$(I;>B!I0Rda z^L_IE^IJ`zuh{-0ycVSq4VXoCwljGabq7XUr~(*}aY>jMarR&lbu{o#mCttJNiB-; zh_vkyh-?U_G)@Y0G<}x>U7YQxHrT(T-McB_=U20<{lnW^uUAx|L@tem{l5~f$Qeeq zBUz`^>FN49>y)lBLF~NnWdPx2n~kSQ8SExn0xO1CrFn`E<_AK$M z&tr%pYRPC8Lfje%$6;`JR<{mWx4W^7DIIzvwl&k1k}Ml+$=#f8dKYxmm=W_}5bYk) z@mj0c);M84FUwBJdWQT9S9ZC5qB=r`%0aURF-@SZ%+&d>4Yoc$=|9a{@;lffr(i+o|uGX3Eb zQx0(5IjrK)(>7$sUSKG(O#qMST&J@(#y-?DTy<6t0V?UbS*L6%dcAC8XHwcoDB5F7 z0-XkXdB9pGtYuOozy$hB3#_GRHLhaErj>%*4cJu0Js!R>+_d=MZl_zUJx}p6VH1+; zh179N3KtdPBA~No%ht}{;pUyp27)(REXxyoAtm%NkWxZRJZ2&$E7%Ab88%YFgc2~u zR`fmC6m?Rr*n9jbU=b(NU`&dE_s;W#Mnk{?K$p}hBGy2RDN|t)zsE5I#b)f!K}R5Z zYSEZ2XAQ>K3iaSN!F9q8!eDOG3Q?&VjF=dvlI%N9?M6fGlLxQCVgjAm5{I`HLCtRL zyFCvA%gZ%1cRH5Q4YI}IGsX?bRO>7h6Q570%?=eu2F|C0FQvx%Zjj6AU`(t$;uGoq zt&e*hbfZmj(`u!_ot===this.ot[a])))return n}else if(this.ot===a)return n;return this.ot=Array.isArray(a)?Array.from(a):a,this.render(a,i)}});class I{constructor(){this._options=null,this._viewportIntersecting=null,this._microphoneMuteTimer=new i,this._root=null,this._eventListeners=new Map,this._children=[],this._target=null,this._mutationObserver=new MutationObserver(this._mutationHandler.bind(this)),this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this)),this._mediaLoadedHandler=async t=>{this._target?.index===t&&(await this._unmuteTargetIfConfigured(this._target.selected?"selected":"visible"),await this._playTargetIfConfigured(this._target.selected?"selected":"visible"))},this._visibilityHandler=async()=>{await this._changeVisibility("visible"===document.visibilityState)},this._changeVisibility=async t=>{t?(await this._unmuteTargetIfConfigured("visible"),await this._playTargetIfConfigured("visible")):(await this._pauseAllIfConfigured("hidden"),await this._muteAllIfConfigured("hidden"))},this._microphoneChangeHandler=async t=>{"unmuted"===t?await this._unmuteTargetIfConfigured("microphone"):"muted"===t&&this._options?.autoMuteConditions?.includes("microphone")&&this._microphoneMuteTimer.start(this._options.microphoneMuteSeconds??60,(async()=>{await this._muteTargetIfConfigured("microphone")}))}}setOptions(t){this._options=t,this._options?.microphoneManager&&(this._options.microphoneManager.removeListener(this._microphoneChangeHandler),this._options.microphoneManager.addListener(this._microphoneChangeHandler))}hasRoot(){return!!this._root}destroy(){this._viewportIntersecting=null,this._microphoneMuteTimer.stop(),this._root=null,this._removeChildHandlers(),this._children=[],this._target=null,this._mutationObserver.disconnect(),this._intersectionObserver.disconnect(),this._options?.microphoneManager?.removeListener(this._microphoneChangeHandler),document.removeEventListener("visibilitychange",this._visibilityHandler)}async setTarget(t,a){this._target?.index===t&&this._target?.selected===a||(this._target?.selected&&(await this._pauseTargetIfConfigured("unselected"),await this._muteTargetIfConfigured("unselected"),this._microphoneMuteTimer.stop()),this._target={selected:a,index:t},a?(await this._unmuteTargetIfConfigured("selected"),await this._playTargetIfConfigured("selected")):(await this._unmuteTargetIfConfigured("visible"),await this._playTargetIfConfigured("visible")))}unsetTarget(){this._target=null}async _playTargetIfConfigured(t){null!==this._target&&this._options?.autoPlayConditions?.includes(t)&&await this._play(this._target.index)}async _play(t){await(this._children[t]?.play())}async _unmuteTargetIfConfigured(t){null!==this._target&&this._options?.autoUnmuteConditions?.includes(t)&&await this._unmute(this._target.index)}async _unmute(t){await(this._children[t]?.unmute())}async _pauseAllIfConfigured(t){if(this._options?.autoPauseConditions?.includes(t))for(const t of this._children.keys())await this._pause(t)}async _pauseTargetIfConfigured(t){null!==this._target&&this._options?.autoPauseConditions?.includes(t)&&await this._pause(this._target.index)}async _pause(t){await(this._children[t]?.pause())}async _muteAllIfConfigured(t){if(this._options?.autoMuteConditions?.includes(t))for(const t of this._children.keys())await this._mute(t)}async _muteTargetIfConfigured(t){null!==this._target&&this._options?.autoMuteConditions?.includes(t)&&await this._mute(this._target.index)}async _mute(t){await(this._children[t]?.mute())}_mutationHandler(t,a){this._initializeRoot()}_removeChildHandlers(){for(const[t,a]of this._eventListeners.entries())t.removeEventListener("frigate-card:media:loaded",a);this._eventListeners.clear()}initialize(t){this._root=t,this._initializeRoot(),document.addEventListener("visibilitychange",this._visibilityHandler),this._intersectionObserver.disconnect(),this._intersectionObserver.observe(t),this._mutationObserver.disconnect(),this._mutationObserver.observe(this._root,{childList:!0,subtree:!0})}_initializeRoot(){if(this._options&&this._root){this._removeChildHandlers(),this._children=[...this._root.querySelectorAll(this._options.playerSelector)];for(const[t,a]of this._children.entries()){const n=()=>this._mediaLoadedHandler(t);this._eventListeners.set(a,n),a.addEventListener("frigate-card:media:loaded",n)}}}async _intersectionHandler(t){const a=this._viewportIntersecting;this._viewportIntersecting=t.some((t=>t.isIntersecting)),null!==a&&a!==this._viewportIntersecting&&await this._changeVisibility(this._viewportIntersecting)}}const A={active:!0,breakpoints:{},lazyLoadCount:0};function L(t={}){let a,n,i;const o=new Set,e=["init","select"],r=["select"];function s(){"hidden"===document.visibilityState&&a.lazyUnloadConditions?.includes("hidden")?o.forEach((t=>{a.lazyUnloadCallback&&(a.lazyUnloadCallback(t,i[t]),o.delete(t))})):"visible"===document.visibilityState&&a.lazyLoadCallback&&d()}function l(t){return o.has(t)}function d(){const t=a.lazyLoadCount,e=n.selectedScrollSnap(),r=new Set;for(let a=1;a<=t&&e-a>=0;a++)r.add(e-a);r.add(e);for(let a=1;a<=t&&e+a{!l(t)&&a.lazyLoadCallback&&(o.add(t),a.lazyLoadCallback(t,i[t]))}))}function c(){const t=n.previousScrollSnap();l(t)&&a.lazyUnloadCallback&&(a.lazyUnloadCallback(t,i[t]),o.delete(t))}return{name:"autoLazyLoad",options:t,init:function(o,l){const{mergeOptions:h,optionsAtMedia:m}=l,u=h(A,t);a=m(u),n=o,i=n.slideNodes(),a.lazyLoadCallback&&e.forEach((t=>n.on(t,d))),a.lazyUnloadCallback&&a.lazyUnloadConditions?.includes("unselected")&&r.forEach((t=>n.on(t,c))),document.addEventListener("visibilitychange",s)},destroy:function(){a.lazyLoadCallback&&e.forEach((t=>n.off(t,d))),a.lazyUnloadCallback&&r.forEach((t=>n.off(t,c))),document.removeEventListener("visibilitychange",s)}}}function S(){let t,a=[];const n=[];function i(i){const o=i.composedPath();for(const[e,r]of[...a.entries()].reverse())if(o.includes(r)){n[e]=i.detail,e!==t.selectedScrollSnap()&&i.stopPropagation();break}}function e(i){const o=i.composedPath();for(const[e,r]of a.entries())if(o.includes(r)){delete n[e],e!==t.selectedScrollSnap()&&i.stopPropagation();break}}function r(){const i=t.selectedScrollSnap(),e=n[i];e&&o(a[i],e)}return{name:"autoMediaLoadedInfo",options:{},init:function(n){t=n,a=t.slideNodes();for(const t of a)t.addEventListener("frigate-card:media:loaded",i),t.addEventListener("frigate-card:media:unloaded",e);t.on("init",r),t.containerNode().addEventListener("frigate-card:carousel:force-select",r)},destroy:function(){for(const t of a)t.removeEventListener("frigate-card:media:loaded",i),t.removeEventListener("frigate-card:media:unloaded",e);t.off("init",r),t.containerNode().removeEventListener("frigate-card:carousel:force-select",r)}}}class T{constructor(t){this._scrolling=!1,this._shouldReInitOnScrollStop=!1,this._scrollingStart=()=>{this._scrolling=!0},this._scrollingStop=()=>{this._scrolling=!1,this._shouldReInitOnScrollStop&&(this._shouldReInitOnScrollStop=!1,this._debouncedReInit())},this._debouncedReInit=e((()=>{this._scrolling=!1,this._shouldReInitOnScrollStop=!1,this._emblaApi?.reInit()}),500,{trailing:!0}),this._emblaApi=t,this._emblaApi.on("scroll",this._scrollingStart),this._emblaApi.on("settle",this._scrollingStop),this._emblaApi.on("destroy",this.destroy)}destroy(){this._emblaApi.off("scroll",this._scrollingStart),this._emblaApi.off("settle",this._scrollingStop),this._emblaApi.off("destroy",this.destroy)}reinit(){this._scrolling?this._shouldReInitOnScrollStop=!0:this._debouncedReInit()}}function $(){let t,a=null,n=null;const i=new Map,o=new ResizeObserver((function(t){let a=!1;for(const n of t){const t={height:n.contentRect.height,width:n.contentRect.width},o=i.get(n.target);t.width&&t.height&&(o?.height!==t.height||o?.width!==t.width)&&(i.set(n.target,t),a=!0)}a&&s()})),r=new IntersectionObserver((function(t){const i=t.some((t=>t.isIntersecting));if(i!==n){const t=i&&null!==n;n=i,t&&a?.reinit()}})),s=e((()=>function(){const{slideRegistry:n,options:{axis:i}}=t.internalEngine();if("y"===i)return;t.containerNode().style.removeProperty("max-height");const o=n[t.selectedScrollSnap()],e=t.slideNodes(),r=Math.max(...o.map((t=>e[t].getBoundingClientRect().height)));!isNaN(r)&&r>0&&(t.containerNode().style.maxHeight=`${r}px`);a?.reinit()}()),200,{trailing:!0});return{name:"autoSize",options:{},init:function(n){t=n,a=new T(t),r.observe(t.containerNode()),o.observe(t.containerNode());for(const a of t.slideNodes())o.observe(a);t.containerNode().addEventListener("frigate-card:media:loaded",s),t.on("settle",s)},destroy:function(){r.disconnect(),o.disconnect(),a?.destroy(),t.containerNode().removeEventListener("frigate-card:media:loaded",s),t.off("settle",s)}}}let P=class extends c{constructor(){super(...arguments),this.disabled=!1,this.label="",this._thumbnailError=!1,this._embedThumbnailTask=h(this,(()=>this.hass),(()=>this.thumbnail))}set controlConfig(t){t?.size&&this.style.setProperty("--frigate-card-next-prev-size",`${t.size}px`),this._controlConfig=t}render(){if(this.disabled||!this._controlConfig||"none"==this._controlConfig.style)return m``;const t=!this.thumbnail||["chevrons","icons"].includes(this._controlConfig.style)||this._thumbnailError,a={controls:!0,left:"left"===this.side,right:"right"===this.side,thumbnails:!t,icons:t,button:t};if(t){const t=this.thumbnail&&this.icon&&"chevrons"!==this._controlConfig.style&&!this._thumbnailError?this.icon:"left"===this.side?"mdi:chevron-left":"mdi:chevron-right";return m` - - `}return p(this._embedThumbnailTask,(t=>t?m``:m``),{inProgressFunc:()=>m`

`,errorFunc:t=>{this._thumbnailError=!0}})}static get styles(){return g("ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n --frigate-card-next-prev-size: 48px;\n --frigate-card-next-prev-size-hover: calc(var(--frigate-card-next-prev-size) * 2);\n --frigate-card-left-position: 45px;\n --frigate-card-right-position: 45px;\n --mdc-icon-button-size: var(--frigate-card-next-prev-size);\n --mdc-icon-size: calc(var(--mdc-icon-button-size) / 2);\n}\n\n.controls {\n position: absolute;\n z-index: 1;\n overflow: hidden;\n}\n\n.controls.left {\n left: var(--frigate-card-left-position);\n}\n\n.controls.right {\n right: var(--frigate-card-right-position);\n}\n\n.controls.icons {\n top: calc(50% - var(--frigate-card-next-prev-size) / 2);\n}\n\n.controls.thumbnails {\n border-radius: 50%;\n height: var(--frigate-card-next-prev-size);\n top: calc(50% - var(--frigate-card-next-prev-size) / 2);\n box-shadow: var(--frigate-card-css-box-shadow, 0px 0px 20px 5px black);\n transition: all 0.2s ease-out;\n opacity: 0.8;\n aspect-ratio: 1/1;\n}\n\n.controls.thumbnails:hover {\n opacity: 1 !important;\n height: var(--frigate-card-next-prev-size-hover);\n top: calc(50% - var(--frigate-card-next-prev-size-hover) / 2);\n}\n\n.controls.left.thumbnails:hover {\n left: calc(var(--frigate-card-left-position) - (var(--frigate-card-next-prev-size-hover) - var(--frigate-card-next-prev-size)) / 2);\n}\n\n.controls.right.thumbnails:hover {\n right: calc(var(--frigate-card-right-position) - (var(--frigate-card-next-prev-size-hover) - var(--frigate-card-next-prev-size)) / 2);\n}")}};r([s({attribute:!1})],P.prototype,"side",void 0),r([s({attribute:!1})],P.prototype,"hass",void 0),r([l()],P.prototype,"_controlConfig",void 0),r([s({attribute:!1})],P.prototype,"thumbnail",void 0),r([s({attribute:!1})],P.prototype,"icon",void 0),r([s({attribute:!0,type:Boolean})],P.prototype,"disabled",void 0),r([s()],P.prototype,"label",void 0),r([l()],P.prototype,"_thumbnailError",void 0),P=r([d("frigate-card-next-previous-control")],P);class k{constructor(t){this._config=null,this._hass=null,this._cameraManager=null,this._cameraID=null,this._host=t}setConfig(t){this._config=t??null,this._host.setAttribute("data-orientation",t?.orientation??"horizontal"),this._host.setAttribute("data-position",t?.position??"bottom-right"),this._host.setAttribute("style",Object.entries(t?.style??{}).map((([t,a])=>`${t}:${a}`)).join(";"))}getConfig(){return this._config}setCamera(t,a){this._cameraManager=t??null,this._cameraID=a??null}setForceVisibility(t){this._forceVisibility=t}handleAction(t,a){t.stopPropagation();const n=t.detail.action,i=_(n,a);i&&f(this._host,{action:i,...a&&{config:a}})}hasUsefulAction(){const t={pt:!0,z:!0,home:!0};if(!this._cameraID)return t;const a=this._cameraManager?.getCameraCapabilities(this._cameraID);if(!a||!a.hasPTZCapability())return t;const n=a.getPTZCapabilities();return{pt:!!(n?.up||n?.down||n?.left||n?.right),z:!!n?.zoomIn||!!n?.zoomOut,home:!!n?.presets?.length}}shouldDisplay(){return void 0!==this._forceVisibility?this._forceVisibility:"auto"===this._config?.mode?!!this._cameraID&&!!this._cameraManager?.getCameraCapabilities(this._cameraID)?.hasPTZCapability():"on"===this._config?.mode}getPTZActions(){const t=t=>({start_tap_action:v({ptzAction:t?.ptzAction,ptzPhase:"start",ptzPreset:t?.preset}),end_tap_action:v({ptzAction:t?.ptzAction,ptzPhase:"stop",ptzPreset:t?.preset})}),a={};return a.up=t({ptzAction:"up"}),a.down=t({ptzAction:"down"}),a.left=t({ptzAction:"left"}),a.right=t({ptzAction:"right"}),a.zoom_in=t({ptzAction:"zoom_in"}),a.zoom_out=t({ptzAction:"zoom_out"}),a.home={tap_action:v()},a}}let E=class extends c{constructor(){super(...arguments),this._controller=new k(this),this._actions=this._controller.getPTZActions(),this._actionPresence=null}willUpdate(t){t.has("config")&&this._controller.setConfig(this.config),(t.has("cameraManager")||t.has("cameraID"))&&this._controller.setCamera(this.cameraManager,this.cameraID),t.has("forceVisibility")&&this._controller.setForceVisibility(this.forceVisibility),(t.has("cameraID")||t.has("cameraManager"))&&(this._actionPresence=this._controller.hasUsefulAction())}render(){if(!this._controller.shouldDisplay())return;const t=(t,a,n)=>n?m`this._controller.handleAction(t,n)} - >`:m``,a=this._controller.getConfig();return m`
- ${!a?.hide_pan_tilt&&this._actionPresence?.pt?m`
- ${t("right","mdi:arrow-right",this._actions.right)} - ${t("left","mdi:arrow-left",this._actions.left)} - ${t("up","mdi:arrow-up",this._actions.up)} - ${t("down","mdi:arrow-down",this._actions.down)} -
`:""} - ${!a?.hide_zoom&&this._actionPresence?.z?m`
- ${t("zoom_in","mdi:plus",this._actions.zoom_in)} - ${t("zoom_out","mdi:minus",this._actions.zoom_out)} -
`:m``} - ${!a?.hide_home&&this._actionPresence?.home?m`
- ${t("home","mdi:home",this._actions.home)} -
`:m``} -
`}static get styles(){return g(":host {\n position: absolute;\n width: fit-content;\n height: fit-content;\n --frigate-card-ptz-icon-size: 24px;\n}\n\n:host([data-position$=-left]) {\n left: 5%;\n}\n\n:host([data-position$=-right]) {\n right: 5%;\n}\n\n:host([data-position^=top-]) {\n top: 5%;\n}\n\n:host([data-position^=bottom-]) {\n bottom: 5%;\n}\n\n/*****************\n * Main Containers\n *****************/\n.ptz {\n display: flex;\n gap: 10px;\n color: var(--light-primary-color);\n opacity: 0.4;\n transition: opacity 0.3s ease-in-out;\n}\n\n:host([data-orientation=vertical]) .ptz {\n flex-direction: column;\n}\n\n:host([data-orientation=horizontal]) .ptz {\n flex-direction: row;\n}\n\n.ptz:hover {\n opacity: 1;\n}\n\n:host([data-orientation=vertical]) .ptz div {\n width: calc(var(--frigate-card-ptz-icon-size) * 3);\n}\n\n:host([data-orientation=horizontal]) .ptz div {\n height: calc(var(--frigate-card-ptz-icon-size) * 3);\n}\n\n.ptz-move,\n.ptz-zoom,\n.ptz-home {\n position: relative;\n background-color: rgba(0, 0, 0, 0.3);\n}\n\n.ptz-move {\n height: calc(var(--frigate-card-ptz-icon-size) * 3);\n width: calc(var(--frigate-card-ptz-icon-size) * 3);\n border-radius: 50%;\n}\n\n:host([data-orientation=horizontal]) .ptz .ptz-zoom,\n:host([data-orientation=horizontal]) .ptz .ptz-home {\n width: calc(var(--frigate-card-ptz-icon-size) * 1.5);\n}\n\n:host([data-orientation=vertical]) .ptz .ptz-zoom,\n:host([data-orientation=vertical]) .ptz .ptz-home {\n height: calc(var(--frigate-card-ptz-icon-size) * 1.5);\n}\n\n.ptz-zoom,\n.ptz-home {\n border-radius: var(--ha-card-border-radius, 4px);\n}\n\n/***********\n * PTZ Icons\n ***********/\nha-icon {\n position: absolute;\n --mdc-icon-size: var(--frigate-card-ptz-icon-size);\n}\n\nha-icon:not(.disabled) {\n cursor: pointer;\n}\n\n.disabled {\n color: var(--disabled-text-color);\n}\n\n.up {\n top: 5px;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.down {\n bottom: 5px;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.left {\n left: 5px;\n top: 50%;\n transform: translateY(-50%);\n}\n\n.right {\n right: 5px;\n top: 50%;\n transform: translateY(-50%);\n}\n\n:host([data-orientation=vertical]) .zoom_in {\n right: 5px;\n top: 50%;\n}\n\n:host([data-orientation=vertical]) .zoom_out {\n left: 5px;\n top: 50%;\n}\n\n:host([data-orientation=horizontal]) .zoom_in {\n left: 50%;\n top: 5px;\n}\n\n:host([data-orientation=horizontal]) .zoom_out {\n left: 50%;\n bottom: 5px;\n}\n\n:host([data-orientation=vertical]) .zoom_in,\n:host([data-orientation=vertical]) .zoom_out {\n transform: translateY(-50%);\n}\n\n:host([data-orientation=horizontal]) .zoom_in,\n:host([data-orientation=horizontal]) .zoom_out {\n transform: translateX(-50%);\n}\n\n.home {\n top: 50%;\n left: 50%;\n transform: translateX(-50%) translateY(-50%);\n}")}};r([s({attribute:!1})],E.prototype,"config",void 0),r([s({attribute:!1})],E.prototype,"cameraManager",void 0),r([s({attribute:!1})],E.prototype,"cameraID",void 0),r([s({attribute:!1})],E.prototype,"forceVisibility",void 0),E=r([d("frigate-card-ptz")],E);const M=(t,a)=>{void 0!==a?.fit?t.style.setProperty("--frigate-card-media-layout-fit",a.fit):t.style.removeProperty("--frigate-card-media-layout-fit");for(const n of["x","y"])void 0!==a?.position?.[n]?t.style.setProperty(`--frigate-card-media-layout-position-${n}`,`${a.position[n]}%`):t.style.removeProperty(`--frigate-card-media-layout-position-${n}`);for(const n of["top","bottom","left","right"])void 0!==a?.view_box?.[n]?t.style.setProperty(`--frigate-card-media-layout-view-box-${n}`,`${a.view_box[n]}%`):t.style.removeProperty(`--frigate-card-media-layout-view-box-${n}`)},H=2,O=(t,a)=>{t._controlsHideTimer&&(t._controlsHideTimer.stop(),delete t._controlsHideTimer,delete t._controlsOriginalValue),t.controls=a},R=(t,a=1)=>{const n=t._controlsOriginalValue??t.controls;O(t,!1),t._controlsHideTimer??=new i,t._controlsOriginalValue=n;const o=()=>{O(t,n),t.removeEventListener("loadstart",o)};t.addEventListener("loadstart",o),t._controlsHideTimer.start(a,(()=>{O(t,n)}))},N=async(t,a)=>{if(a?.play)try{await a.play()}catch(n){if("NotAllowedError"===n.name&&!t.isMuted()){await t.mute();try{await a.play()}catch(t){}}}};function D(t){w(t,"live:error")}export{L as A,I as M,S as a,$ as b,H as c,D as d,R as h,x as i,N as p,O as s,M as u}; diff --git a/config/www/community/frigate-hass-card/dispatch-live-error-c649b480.js.gz b/config/www/community/frigate-hass-card/dispatch-live-error-c649b480.js.gz deleted file mode 100644 index c2e598ebdd4b448131176997aecebc82ce126ae4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6281 zcmV;479}DCjEwOT5rLPGP`pe?c!Jj%k(B3z;blp}7kFKe6ff5#e2Ldf68?(UDGC39*BcVP z!t0oXr+B?15njHKaDvy{e3~Y6+dG)hG#os8dPu|Z4?lQ+WcKizgU64*u^wALM|{HK zjN$!Bvban6^-Ne#51;&K{Ub@PBWAsReS(!|?_d0D@LB;6PD2(8KIJU+tzXVw44w^6 zBD$1R4kk&Q3F{Yf9oJmA8P{e1!;t&+JlGW*QB9hc`SJ`sGQpfW=nqDvGKs0lS znDNX@L~xR)fCJTnP^7_*%?@AfWnof1i5nhNX9oBO48l1k`Hqb9&*ru4W_7S(Gsg8Y#F1DrMzR-xPIi z?nbHrI|rV8szlb(f=q6nyF;b8)0V;{h&R*T}Pp~6|m>83nq zA*Zhs8nRFW1vI;hCzc3~R(0V<9^kUiXc7DS4!xyZs2;vt#&guEggTv`B=MAAFH;se zb#yOd5%9vokzL%`zJ0?pK8~2}k~+afMDMqNc>CpRg5G+x6`VU3;fugpWMB6bX)4Kn}SsG?n*cP0G|v!l`I^$ z!znAdPtf~nma-D|AwJm)c?R7c18dGEPiunf?!eKG{Zo1uh4!)@dGtV+PDMExyUVe; zxf+sSeacEz;?U{Bn-zr<#Xx?4@0crFeqZ_;(}-BcrB7aWIa?978Hd~K-&KJMiG&o- z7dfGQy>17iU2eAmZ~5In->*ZW7gv4R>_}GM4WeuwF4d$S^+h7k8qSB=) zC+Sq>o9=$!U6Z=s>x_Jz9^dq}%565e)glXfY|kU=0f5KA2aWg_rs8*Q4yLP8Z|8t~ zQEIL^9rEBI z6+j`Ad2saHG5j0h5_JQ7?~rh;!IV@=(aB2oH;U!&9g=K07Aa$Jn?pag)v-2M3hP8l zr9yjUQl95ksNTPqEWJCE0We8nkhaoPbnPrH>fMWBhbfhVureYw$+zMFbMCHbDQMMf zI1nTqN@9qw1_Rh&h%uz<#TYZpmC^bXUo_~>XNMb7U6`aMbLKcONrEw*)$1UM(SC%2 zGbr7OiA>X3tj$xq5kWk~|8cOQP;!G7L&hnipB4!SocXJqMD)uYs`(^Y#=<|$htp*& zwP3vlzE`=siWq2s#DotOwM4EvoH0RIaBidZ*+l0>_613ytazwsp=T+kmK)~NxB!I= z{T4@(CDW9zn4pdl4-D)joy??yR}D-WMPoYog!!tW82lm!$LW&93xQSXU2*2-_nGq- zJiczU6N2L^rH#;Z^cq;=!ITN(N?8k_+O9-UBZc}0jmBlNeFph&6rIHs=R;|sbUCVI zmjq9S^e0T@*?=AeheP_^cdnewIZ)sZ^{s0{_>TU>^_pKD?K_Fq(CS{K!j(Z}Cy`hJ z$6dR&(6F2jmy%CvlE>a6Wj8!oW_3A-_2#~!FO~9FF`YBt#$fzfGiVd-u6)1))AbAH zoP}`?CV$SiF($W1a^QSq3xbn1Dy3!Q5HGU=9+(vGXDxvbPCZs!1=P z`-XmF4_X!^glwOfh2B0O>T{?4{nSK%g7kNal9`(mJ)N&q?v6EeA30po3oQoL>yVRVEIFJHiYj@=X=sPvdD)4NM41&5;>H(h|hb zr=l^uhOHEzx?;EZ&mrOIhp~(c9PpcJFpv9ZTfrl^@TDa@nxp6JXpn6up?9&iIk4CoM1gdME50(HTqk#!uR{Y7Gw`;y%jMeb%!OnuC2*i(+!^I+mAV z;dG0wNR@|wU>VH(%AG%_bR9xx?qCr$PZ`U_kSYyZ%^2=@`>`C^Fp59G==4+}x#gjl zwW?%UPB13nvSjS3B@6TwvI-`f8XYslk-nEPN8R4vL#YInh4KzUkHh6WuAoOStpt6! zIn0kTwA~^HHg0$}#I8lB?&;SMq9g|n;z}2Me_zkZ;$a+c0uoRhJzVz?u#goav*w{y z&L|_(2X+lkFun8RDw@&HJo9;;2e_;Q9K&B;0aJW%?y-D+NTZVt#0fLpN>bomA{2@lBN>4OAr7E)0Ra%t??U%)&=P}E7p zb4FOW#6n0omNqA-cd0zM+9v5-YfRv`X{E=PO8=Yf8n{{HJS9X}Fdx zoPm+|NfFROKH{9Dwv5td4d)8om9@b_W#8ll|$|M_o$@`#rnq|`WGz;)cVOkxQ(J7*176o?UiN$O=AID$-FVi$h z8!?Q9AB)P5H2Vb8F03L>xl#nvYiOo=E@?q@1qm$F2Mh(ZhAXp+k%ul*uZk%%1;A=- z4F+}f3}O&>fRoihCXEmbSx5@fnu|5FdMkk_j_y>8afJ%*@AnKC_xE;;`^UvPP@_`u zSe&kzUtJ9gkG0p7`2POfp3K-y3e`5TIfB_2wT0(S+V}USj)3vB($E<$9Yt&^d>jAT z#krsih6a&`rhHponl&Xoz=sLS}lKR#SO`QSE zPw*TFP45P>m{_+nE?_EzfVg~donmAhXq@zVOr1kw>HoYRG+>g#=pUpsP&!5=cG=(UeS&Jo} z=#vUL{8n9SI8P*r9REBwRD~vG1mHg{e)soiriw}y(KK# z(04HB- z=WgLXje|Pk;G0-ewJ=&xvxWw-svxf;kdUdTB2%k(cW!pZsOV@Gt2Q-T)$iVHnBH}? z8dhP|)M#0~xlJ0;bY7%?mkS!R$kdnwQ}hOK$HJmfnV$^CG`wbml!d!D)({r*dL+J$ zg96UP1Y|=j{yH{byo4LZ?lyF&?dY<)47w4M2zM-sl3Q1$Kj21Gc=mNx@g%c2Wa%(v zXI~?vfK>dNrQ4NV0&eQ^hw}-cAr?lD(xLt@xAdkpMi@0pp$3F>Ju>mt6;0!XBKBd-JZ;u zv3linM$~Pooe61UhG#z6f}Ft;R+{ZLvtWY2cCkGmcjWk0k(JFzr+mj76O*|+t- zCe7^I`d^T3n&aGGn{@VV^FNb&K7^a~6!alf{==A?kNlwNyb&re*fIu zxZGzj!_C7Pn%T8A#_fq>@(8VHfo25D|7??k=S z>P}ebd^R8)5(M*qQIqa9?BYm4i$WVrrW)HMZ|L&>B4#kn|Sf6s|W-g0q&4;Kj9vAn^^B5$OvxhUZtJbg)$`6)n@5AT*j3yvi) zl%Y4Xk$xp8&(#6e7wQZ`WkJd*lm~EHy*x6Os^fd*i5qQyBX6FBY_!)>`2K#gWH%L$ z44U=rBsMpmD+Mdt$ZEzRf+J@oKNxZ;=;Bga*o^~P|DvFM9NxtPfxGw6F!ODRWXl4n zQ3)sSa+ko2b$5EnqJvzH$75G{aVm*|B?O{Q(q1lX1d_JVs=^{wiT2W}lqaBMrL>_| zt@2^A8tv$kw`uFr8VIC?CKxDIKxl`-s-YS;CsZ9deEHBLhea%p^mmdzsjnXCO4U*p zv_ZX=Q8d71FT@k3KE80vqv$vNB`)-4_?n-s46OPVO^tFbN@10Pbcs`7)(zgq19|oG z(-+{>JBVsGE{WEOkXjLp4x$OR#%C9=YrY*}TDWcQk;@k2r9f`^o%~`avcow zb$sdT>gcMViH&6@WN@%`RD5hAE*B;=>3r*ms-TIAWesF~8q&Azd|jvLPrLN_WwhQe z14JeA-S)cH_iIaGx)SQ1 z>E$pU>lLvz1=J>(!3|5nlxPGxsQ5)T2O&?@TTVXmx17h@NL4e{jl{s`lxsr(WL|IE zm2Dh>tD0$dEhIH;7njVRxx0&1HdYLn2ejrDafRr6bWO!QdV=-Ic0&P8HEcC9%Mv zyCx4PeIHCutW(Twn_jQlSlbwR);5E-irCtB^y5T0<=af!aZi?MhJ!%Adr+#Q05fgQ z>#Bjk#l+@D9%N4SAflbL4qSTkMEYKsk3hJPw=g)_znlS7S7b1YYDJa@(`s*66_gZ< z8wmYRi_rSE)k8`3v2dNQZEJ5gdJxvOsA2~P)8MexFID&NO0dnMrr5NDUA0IaqNA_q zNTZ_2!}QR{#w%~tFvZ@3#VFv04V{J(rHy6d9IbyL0V0ylb^ zuhs^d0^)bmF2~8|2MUPja_77zU_tV01Z>iEbMh*9O5T+gB+9jz>=n$B<;QX5OZe-> z#Rrx3CxA>KhPrpa8INi7PZ}**@m4uj1T-ffBp<;O=ng*{PSxAxx<&k=8F{O} zBCq>{PaUehZR?8kPJc9<>W|DlS%{6qnM?%{1Bj`4sR3)N0*5CpM@-#Nf{mpz{0 zS3^VmB%=Q4pZ>V#u#>KES2_HvK5_K|i*A86JHk)?$#YuZgxP2L10M4CIgW|^xr{gD zO#O<-BlRO1uhb86yih;S@uBv!9GtvWKgaP-{gB5S`6C_q@SFb!SZw~}7i0hc416Y- diff --git a/config/www/community/frigate-hass-card/editor-0c0425c2.js b/config/www/community/frigate-hass-card/editor-0c0425c2.js deleted file mode 100644 index 2c7a83b1..00000000 --- a/config/www/community/frigate-hass-card/editor-0c0425c2.js +++ /dev/null @@ -1,462 +0,0 @@ -import{i as e,s as a,_ as t,n as i,t as n,a as s,x as o,e as r,l,r as c,b as d,c as m,d as u,p as h,f as _,g,h as b,j as p,k as v,C as f,m as $,o as y,q as w,u as S,v as x,w as M,y as I,z as k,A as O,B as C,D as z,E as A,F as N,G as T,H as B,I as E,J as P,K as H,L,M as V,N as K,O as U,P as j,Q as q,R,S as D,T as F,U as G,V as J,W as Q,X as W,Y as X,Z as Y,$ as Z,a0 as ee,a1 as ae,a2 as te,a3 as ie,a4 as ne,a5 as se,a6 as oe,a7 as re,a8 as le,a9 as ce,aa as de,ab as me,ac as ue,ad as he,ae as _e,af as ge,ag as be,ah as pe,ai as ve,aj as fe,ak as $e,al as ye,am as we,an as Se,ao as xe,ap as Me,aq as Ie,ar as ke,as as Oe,at as Ce,au as ze,av as Ae,aw as Ne,ax as Te,ay as Be,az as Ee,aA as Pe,aB as He,aC as Le,aD as Ve,aE as Ke,aF as Ue,aG as je,aH as qe,aI as Re,aJ as De,aK as Fe,aL as Ge,aM as Je,aN as Qe,aO as We,aP as Xe,aQ as Ye,aR as Ze,aS as ea,aT as aa,aU as ta,aV as ia,aW as na,aX as sa,aY as oa,aZ as ra,a_ as la,a$ as ca,b0 as da,b1 as ma,b2 as ua,b3 as ha,b4 as _a,b5 as ga,b6 as ba,b7 as pa,b8 as va,b9 as fa,ba as $a,bb as ya,bc as wa,bd as Sa,be as xa,bf as Ma,bg as Ia,bh as ka,bi as Oa,bj as Ca,bk as za,bl as Aa,bm as Na,bn as Ta,bo as Ba,bp as Ea,bq as Pa,br as Ha,bs as La,bt as Va,bu as Ka,bv as Ua,bw as ja,bx as qa,by as Ra,bz as Da,bA as Fa,bB as Ga,bC as Ja,bD as Qa,bE as Wa,bF as Xa,bG as Ya,bH as Za,bI as et,bJ as at,bK as tt,bL as it,bM as nt,bN as st,bO as ot,bP as rt,bQ as lt,bR as ct,bS as dt,bT as mt,bU as ut,bV as ht,bW as _t,bX as gt,bY as bt,bZ as pt,b_ as vt,b$ as ft,c0 as $t,c1 as yt,c2 as wt,c3 as St,c4 as xt,c5 as Mt,c6 as It,c7 as kt,c8 as Ot,c9 as Ct,ca as zt,cb as At,cc as Nt,cd as Tt,ce as Bt,cf as Et,cg as Pt,ch as Ht,ci as Lt,cj as Vt,ck as Kt,cl as Ut,cm as jt,cn as qt,co as Rt,cp as Dt,cq as Ft,cr as Gt,cs as Jt,ct as Qt,cu as Wt,cv as Xt,cw as Yt,cx as Zt,cy as ei,cz as ai,cA as ti,cB as ii,cC as ni,cD as si,cE as oi,cF as ri,cG as li,cH as ci,cI as di,cJ as mi,cK as ui}from"./card-320adb66.js";class hi{constructor(e){this._assigning=!1,this._value=null,this._blurEventHandler=()=>{this._setAssigning(!1)},this._keydownEventHandler=e=>{e.key&&!["Control","Alt","Shift","Meta"].includes(e.key)&&(this.setValue({key:e.key,ctrl:e.ctrlKey,alt:e.altKey,shift:e.shiftKey,meta:e.metaKey}),this._setAssigning(!1))},this._host=e,this._host.addController(this)}setValue(a){e(a,this._value)||(this._value=a,this._host.requestUpdate(),this._host.dispatchEvent(new CustomEvent("value-changed",{detail:{value:this._value}})))}getValue(){return this._value}hasValue(){return!!this._value}isAssigning(){return this._assigning}toggleAssigning(){this._setAssigning(!this._assigning)}_setAssigning(e){this._assigning=e,a(this._host,this._assigning,"assigning"),this._assigning?this._host.addEventListener("keydown",this._keydownEventHandler):this._host.removeEventListener("keydown",this._keydownEventHandler),this._host.requestUpdate()}hostConnected(){this._host.addEventListener("blur",this._blurEventHandler)}hostDisconnected(){this._host.removeEventListener("blur",this._blurEventHandler)}}let _i=class extends s{constructor(){super(...arguments),this._controller=new hi(this)}willUpdate(e){e.has("value")&&this._controller.setValue(this.value??null)}render(){if(!this.label)return;const e=e=>o`
-
${e}
-
`;return o` -
${this.label}
- {this._controller.toggleAssigning()}} - > - - - ${this._controller.isAssigning()?l("key_assigner.assigning"):l("key_assigner.assign")} - - - ${this._controller.hasValue()?o`{this._controller.setValue(null)}} - > - - ${l("key_assigner.unassign")} - `:""} -
- ${this.value?.ctrl?e(l("key_assigner.modifiers.ctrl")):""} - ${this.value?.shift?e(l("key_assigner.modifiers.shift")):""} - ${this.value?.meta?e(l("key_assigner.modifiers.meta")):""} - ${this.value?.alt?e(l("key_assigner.modifiers.alt")):""} - ${this.value?.key?e(this.value.key):""} -
- `}static get styles(){return c('.dotdotdot:after {\n animation: dots 2s linear infinite;\n content: "";\n display: inline-block;\n width: 3em;\n}\n@keyframes dots {\n 0%, 20% {\n content: ".";\n }\n 40% {\n content: "..";\n }\n 60% {\n content: "...";\n }\n 90%, 100% {\n content: "";\n }\n}\n\n:host {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 10px;\n height: 56px;\n border: 1px solid var(--divider-color);\n}\n\n:host([assigning]) ha-button.assign span,\n:host([assigning]) ha-button.assign ha-icon {\n color: var(--warning-color);\n}\n\nha-icon {\n padding: 10px;\n}\n\ndiv.label {\n width: 100px;\n margin-left: 4px;\n}\n\ndiv.key-row {\n flex: 1;\n display: flex;\n justify-content: center;\n align-items: center;\n padding-left: 10px;\n padding-right: 10px;\n}\n\ndiv.key {\n display: flex;\n align-items: center;\n height: 90%;\n width: min-content;\n margin-left: 5px;\n margin-right: 5px;\n}\n\ndiv.key-inner {\n height: 100%;\n width: 100%;\n padding-top: 2px;\n padding-bottom: 2px;\n padding-left: 4px;\n padding-right: 4px;\n border: 2px;\n border-radius: 4px;\n border-style: outset;\n border-color: var(--divider-color);\n font-family: monospace;\n text-transform: capitalize;\n}\n\ndiv.unassigned {\n font-style: italic;\n}\n\ndiv.key + div.key:before {\n display: flex;\n align-items: center;\n margin-right: 5px;\n content: " + ";\n}')}};t([i({attribute:!1})],_i.prototype,"label",void 0),t([i({attribute:!1})],_i.prototype,"value",void 0),_i=t([n("frigate-card-key-assigner")],_i);const gi="cameras",bi="options",pi={cameras:{icon:"video",name:l("editor.cameras"),secondary:l("editor.cameras_secondary")},view:{icon:"eye",name:l("editor.view"),secondary:l("editor.view_secondary")},menu:{icon:"menu",name:l("editor.menu"),secondary:l("editor.menu_secondary")},status_bar:{icon:"sign-text",name:l("editor.status_bar"),secondary:l("editor.status_bar_secondary")},live:{icon:"cctv",name:l("editor.live"),secondary:l("editor.live_secondary")},media_gallery:{icon:"grid",name:l("editor.media_gallery"),secondary:l("editor.media_gallery_secondary")},media_viewer:{icon:"filmstrip",name:l("editor.media_viewer"),secondary:l("editor.media_viewer_secondary")},image:{icon:"image",name:l("editor.image"),secondary:l("editor.image_secondary")},timeline:{icon:"chart-gantt",name:l("editor.timeline"),secondary:l("editor.timeline_secondary")},dimensions:{icon:"aspect-ratio",name:l("editor.dimensions"),secondary:l("editor.dimensions_secondary")},performance:{icon:"speedometer",name:l("editor.performance"),secondary:l("editor.performance_secondary")},profiles:{icon:"folder-wrench-outline",name:l("editor.profiles"),secondary:l("editor.profiles_secondary")},overrides:{icon:"file-replace",name:l("editor.overrides"),secondary:l("editor.overrides_secondary")}};let vi=class extends s{constructor(){super(...arguments),this._defaults=m(di),this._initialized=!1,this._configUpgradeable=!1,this._expandedMenus={},this._viewModes=[{value:"",label:""},{value:"live",label:l("config.view.views.live")},{value:"clips",label:l("config.view.views.clips")},{value:"snapshots",label:l("config.view.views.snapshots")},{value:"recordings",label:l("config.view.views.recordings")},{value:"clip",label:l("config.view.views.clip")},{value:"snapshot",label:l("config.view.views.snapshot")},{value:"recording",label:l("config.view.views.recording")},{value:"image",label:l("config.view.views.image")},{value:"timeline",label:l("config.view.views.timeline")}],this._cameraSelectViewModes=[...this._viewModes,{value:"current",label:l("config.view.views.current")}],this._filterModes=[{value:"",label:""},{value:"none",label:l("config.common.controls.filter.modes.none")},{value:"left",label:l("config.common.controls.filter.modes.left")},{value:"right",label:l("config.common.controls.filter.modes.right")}],this._menuStyles=[{value:"",label:""},{value:"none",label:l("config.menu.styles.none")},{value:"hidden",label:l("config.menu.styles.hidden")},{value:"overlay",label:l("config.menu.styles.overlay")},{value:"hover",label:l("config.menu.styles.hover")},{value:"hover-card",label:l("config.menu.styles.hover-card")},{value:"outside",label:l("config.menu.styles.outside")}],this._menuPositions=[{value:"",label:""},{value:"left",label:l("config.menu.positions.left")},{value:"right",label:l("config.menu.positions.right")},{value:"top",label:l("config.menu.positions.top")},{value:"bottom",label:l("config.menu.positions.bottom")}],this._menuAlignments=[{value:"",label:""},{value:"left",label:l("config.menu.alignments.left")},{value:"right",label:l("config.menu.alignments.right")},{value:"top",label:l("config.menu.alignments.top")},{value:"bottom",label:l("config.menu.alignments.bottom")}],this._nextPreviousControlStyles=[{value:"",label:""},{value:"chevrons",label:l("config.common.controls.next_previous.styles.chevrons")},{value:"icons",label:l("config.common.controls.next_previous.styles.icons")},{value:"none",label:l("config.common.controls.next_previous.styles.none")},{value:"thumbnails",label:l("config.common.controls.next_previous.styles.thumbnails")}],this._aspectRatioModes=[{value:"",label:""},{value:"dynamic",label:l("config.dimensions.aspect_ratio_modes.dynamic")},{value:"static",label:l("config.dimensions.aspect_ratio_modes.static")},{value:"unconstrained",label:l("config.dimensions.aspect_ratio_modes.unconstrained")}],this._thumbnailModes=[{value:"",label:""},{value:"none",label:l("config.common.controls.thumbnails.modes.none")},{value:"above",label:l("config.common.controls.thumbnails.modes.above")},{value:"below",label:l("config.common.controls.thumbnails.modes.below")},{value:"left",label:l("config.common.controls.thumbnails.modes.left")},{value:"right",label:l("config.common.controls.thumbnails.modes.right")}],this._thumbnailMediaTypes=[{value:"",label:""},{value:"events",label:l("config.common.controls.thumbnails.media_types.events")},{value:"recordings",label:l("config.common.controls.thumbnails.media_types.recordings")}],this._thumbnailEventsMediaTypes=[{value:"",label:""},{value:"clips",label:l("config.common.controls.thumbnails.events_media_types.clips")},{value:"snapshots",label:l("config.common.controls.thumbnails.events_media_types.snapshots")}],this._transitionEffects=[{value:"",label:""},{value:"none",label:l("config.media_viewer.transition_effects.none")},{value:"slide",label:l("config.media_viewer.transition_effects.slide")}],this._imageModes=[{value:"",label:""},{value:"camera",label:l("config.common.image.modes.camera")},{value:"entity",label:l("config.common.image.modes.entity")},{value:"screensaver",label:l("config.common.image.modes.screensaver")},{value:"url",label:l("config.common.image.modes.url")}],this._timelineEventsMediaTypes=[{value:"",label:""},{value:"all",label:l("config.common.timeline.events_media_types.all")},{value:"clips",label:l("config.common.timeline.events_media_types.clips")},{value:"snapshots",label:l("config.common.timeline.events_media_types.snapshots")}],this._timelineStyleTypes=[{value:"",label:""},{value:"ribbon",label:l("config.common.timeline.styles.ribbon")},{value:"stack",label:l("config.common.timeline.styles.stack")}],this._darkModes=[{value:"",label:""},{value:"on",label:l("config.view.dark_modes.on")},{value:"off",label:l("config.view.dark_modes.off")},{value:"auto",label:l("config.view.dark_modes.auto")}],this._mediaActionNegativeConditions=[{value:"",label:""},{value:"unselected",label:l("config.common.media_action_conditions.unselected")},{value:"hidden",label:l("config.common.media_action_conditions.hidden")}],this._mediaActionPositiveConditions=[{value:"",label:""},{value:"selected",label:l("config.common.media_action_conditions.selected")},{value:"visible",label:l("config.common.media_action_conditions.visible")}],this._mediaLiveUnmuteConditions=[...this._mediaActionPositiveConditions,{value:"microphone",label:l("config.common.media_action_conditions.microphone_unmute")}],this._mediaLiveMuteConditions=[...this._mediaActionNegativeConditions,{value:"microphone",label:l("config.common.media_action_conditions.microphone_mute")}],this._layoutFits=[{value:"",label:""},{value:"contain",label:l("config.cameras.dimensions.layout.fits.contain")},{value:"cover",label:l("config.cameras.dimensions.layout.fits.cover")},{value:"fill",label:l("config.cameras.dimensions.layout.fits.fill")}],this._miniTimelineModes=[{value:"",label:""},{value:"none",label:l("config.common.controls.timeline.modes.none")},{value:"above",label:l("config.common.controls.timeline.modes.above")},{value:"below",label:l("config.common.controls.timeline.modes.below")}],this._profiles=[{value:"",label:""},{value:"casting",label:l("config.profiles.casting")},{value:"low-performance",label:l("config.profiles.low-performance")},{value:"scrubbing",label:l("config.profiles.scrubbing")}],this._go2rtcModes=[{value:"",label:""},{value:"mse",label:l("config.cameras.go2rtc.modes.mse")},{value:"webrtc",label:l("config.cameras.go2rtc.modes.webrtc")},{value:"mp4",label:l("config.cameras.go2rtc.modes.mp4")},{value:"mjpeg",label:l("config.cameras.go2rtc.modes.mjpeg")}],this._microphoneButtonTypes=[{value:"",label:""},{value:"momentary",label:l("config.menu.buttons.types.momentary")},{value:"toggle",label:l("config.menu.buttons.types.toggle")}],this._displayModes=[{value:"",label:""},{value:"single",label:l("display_modes.single")},{value:"grid",label:l("display_modes.grid")}],this._castMethods=[{value:"",label:""},{value:"standard",label:l("config.cameras.cast.methods.standard")},{value:"dashboard",label:l("config.cameras.cast.methods.dashboard")}],this._ptzModes=[{value:"",label:""},{value:"on",label:l("config.live.controls.ptz.modes.on")},{value:"off",label:l("config.live.controls.ptz.modes.off")}],this._ptzOrientations=[{value:"",label:""},{value:"vertical",label:l("config.live.controls.ptz.orientations.vertical")},{value:"horizontal",label:l("config.live.controls.ptz.orientations.horizontal")}],this._ptzPositions=[{value:"",label:""},{value:"top-left",label:l("config.live.controls.ptz.positions.top-left")},{value:"top-right",label:l("config.live.controls.ptz.positions.top-right")},{value:"bottom-left",label:l("config.live.controls.ptz.positions.bottom-left")},{value:"bottom-right",label:l("config.live.controls.ptz.positions.bottom-right")}],this._triggersActionsInteractionModes=[{value:"",label:""},{value:"all",label:l("config.view.triggers.actions.interaction_modes.all")},{value:"inactive",label:l("config.view.triggers.actions.interaction_modes.inactive")},{value:"active",label:l("config.view.triggers.actions.interaction_modes.active")}],this._triggersActionsTrigger=[{value:"",label:""},{value:"default",label:l("config.view.triggers.actions.triggers.default")},{value:"live",label:l("config.view.triggers.actions.triggers.live")},{value:"media",label:l("config.view.triggers.actions.triggers.media")},{value:"none",label:l("config.view.triggers.actions.triggers.none")}],this._triggersActionsUntrigger=[{value:"",label:""},{value:"default",label:l("config.view.triggers.actions.untriggers.default")},{value:"none",label:l("config.view.triggers.actions.untriggers.none")}],this._triggersEvents=[{value:"",label:""},{value:"events",label:l("config.cameras.triggers.events.events")},{value:"clips",label:l("config.cameras.triggers.events.clips")},{value:"snapshots",label:l("config.cameras.triggers.events.snapshots")}],this._timelinePanModes=[{value:"",label:""},{value:"pan",label:l("config.common.controls.timeline.pan_modes.pan")},{value:"seek",label:l("config.common.controls.timeline.pan_modes.seek")},{value:"seek-in-media",label:l("config.common.controls.timeline.pan_modes.seek-in-media")},{value:"seek-in-camera",label:l("config.common.controls.timeline.pan_modes.seek-in-camera")}],this._capabilities=[{value:"",label:""},{value:"live",label:l("config.cameras.capabilities.capabilities.live")},{value:"substream",label:l("config.cameras.capabilities.capabilities.substream")},{value:"clips",label:l("config.cameras.capabilities.capabilities.clips")},{value:"recordings",label:l("config.cameras.capabilities.capabilities.recordings")},{value:"snapshots",label:l("config.cameras.capabilities.capabilities.snapshots")},{value:"favorite-events",label:l("config.cameras.capabilities.capabilities.favorite-events")},{value:"favorite-recordings",label:l("config.cameras.capabilities.capabilities.favorite-recordings")},{value:"seek",label:l("config.cameras.capabilities.capabilities.seek")},{value:"ptz",label:l("config.cameras.capabilities.capabilities.ptz")},{value:"menu",label:l("config.cameras.capabilities.capabilities.menu")}],this._defaultResetInteractionModes=[{value:"",label:""},{value:"all",label:l("config.view.default_reset.interaction_modes.all")},{value:"inactive",label:l("config.view.default_reset.interaction_modes.inactive")},{value:"active",label:l("config.view.default_reset.interaction_modes.active")}],this._proxyMedia=[{value:"",label:""},{value:"auto",label:l("config.cameras.proxy.media.auto")},{value:!0,label:l("config.cameras.proxy.media.true")},{value:!1,label:l("config.cameras.proxy.media.false")}],this._proxySSLCiphers=[{value:"",label:""},{value:"auto",label:l("config.cameras.proxy.ssl_ciphers.auto")},{value:"default",label:l("config.cameras.proxy.ssl_ciphers.default")},{value:"insecure",label:l("config.cameras.proxy.ssl_ciphers.insecure")},{value:"intermediate",label:l("config.cameras.proxy.ssl_ciphers.intermediate")},{value:"modern",label:l("config.cameras.proxy.ssl_ciphers.modern")}],this._proxySSLVerification=[{value:"",label:""},{value:"auto",label:l("config.cameras.proxy.ssl_verification.auto")},{value:!0,label:l("config.cameras.proxy.ssl_verification.true")},{value:!1,label:l("config.cameras.proxy.ssl_verification.false")}],this._reolinkMediaResolution=[{value:"",label:""},{value:"high",label:l("config.cameras.reolink.media_resolution.high")},{value:"low",label:l("config.cameras.reolink.media_resolution.low")}],this._statusBarStyles=[{value:"",label:""},{value:"hover",label:l("config.status_bar.styles.hover")},{value:"hover-card",label:l("config.status_bar.styles.hover-card")},{value:"none",label:l("config.status_bar.styles.none")},{value:"outside",label:l("config.status_bar.styles.outside")},{value:"overlay",label:l("config.status_bar.styles.overlay")},{value:"popup",label:l("config.status_bar.styles.popup")}],this._statusBarPositions=[{value:"",label:""},{value:"top",label:l("config.status_bar.positions.top")},{value:"bottom",label:l("config.status_bar.positions.bottom")}]}setConfig(e){this._config=e,this._configUpgradeable=u(e);const a=h.safeParse(this._config.profiles);if(a.success){const e=m(di);_(this._config,e,a.data),this._defaults=e}}willUpdate(){this._initialized||g().then((e=>{e&&(this._initialized=!0)}))}_renderOptionSetHeader(e,a){const t=pi[e];return o` -
-
- -
${t.name}
-
-
${t.secondary}
-
- `}_getLabel(e){const a=e.split(".").filter((e=>!e.match(/^\[[0-9]+\]$/))).join(".");return l(`config.${a}`)}_renderEntitySelector(e,a){if(this._config)return o` - this._valueChangedHandler(e,a)} - > - - `}_renderOptionSelector(e,a=[],t){if(this._config)return o` - this._valueChangedHandler(e,a)} - > - - `}_renderIconSelector(e,a){if(this._config)return o` - this._valueChangedHandler(e,a)} - > - - `}_renderNumberInput(e,a){if(!this._config)return;const t=b(this._config,e),i=void 0===a?.max?"box":"slider";return o` - this._valueChangedHandler(e,a)} - > - - `}_renderInfo(e){return o` ${e}`}_getEditorCameraTitle(e,a){return"string"==typeof a?.title&&a.title||("string"==typeof a?.camera_entity?p(this.hass,a.camera_entity):"")||"object"==typeof a?.webrtc_card&&a.webrtc_card&&"string"==typeof a.webrtc_card.entity&&a.webrtc_card.entity||("object"==typeof a?.frigate&&a.frigate&&"string"==typeof a?.frigate.camera_name&&a.frigate.camera_name?v(a.frigate.camera_name):"")||"string"==typeof a?.id&&a.id||l("editor.camera")+" #"+e}_renderViewDefaultResetMenu(){return this._putInSubmenu("view.default_reset",!0,`config.${f}.editor_label`,"mdi:restart",o` - ${this._renderSwitch($,this._defaults.view.default_reset.after_interaction)} - ${this._renderNumberInput(y)} - ${this._renderOptionSelector(w,this._defaultResetInteractionModes,{label:l("config.view.default_reset.interaction_mode")})}, - ${this._renderOptionSelector(S,this.hass?x(this.hass):[],{multiple:!0})} - `)}_renderViewTriggersMenu(){return this._putInSubmenu("view.triggers",!0,`config.${M}.editor_label`,"mdi:target-account",o` - ${this._renderSwitch(I,this._defaults.view.triggers.filter_selected_camera,{label:l(`config.${I}`)})} - ${this._renderSwitch(k,this._defaults.view.triggers.show_trigger_status,{label:l(`config.${k}`)})} - ${this._renderNumberInput(O,{default:this._defaults.view.triggers.untrigger_seconds})} - ${this._putInSubmenu("view.triggers.actions",!0,`config.${C}.editor_label`,"mdi:cogs",o` ${this._renderOptionSelector(z,this._triggersActionsTrigger,{label:l("config.view.triggers.actions.trigger")})} - ${this._renderOptionSelector(A,this._triggersActionsUntrigger,{label:l("config.view.triggers.actions.untrigger")})} - ${this._renderOptionSelector(N,this._triggersActionsInteractionModes,{label:l("config.view.triggers.actions.interaction_mode")})}`)} - `)}_renderKeyAssigner(e,a){return o` this._valueChangedHandler(e,a)} - >`}_renderViewKeyboardShortcutMenu(){return this._putInSubmenu("view.keyboard_shortcuts",!0,`config.${T}.editor_label`,"mdi:keyboard",o` - ${this._renderSwitch(B,this._defaults.view.keyboard_shortcuts.enabled,{label:l(`config.${B}`)})} - ${this._renderKeyAssigner(E,this._defaults.view.keyboard_shortcuts.ptz_left)} - ${this._renderKeyAssigner(P,this._defaults.view.keyboard_shortcuts.ptz_right)} - ${this._renderKeyAssigner(H,this._defaults.view.keyboard_shortcuts.ptz_up)} - ${this._renderKeyAssigner(L,this._defaults.view.keyboard_shortcuts.ptz_down)} - ${this._renderKeyAssigner(V,this._defaults.view.keyboard_shortcuts.ptz_zoom_in)} - ${this._renderKeyAssigner(K,this._defaults.view.keyboard_shortcuts.ptz_zoom_out)} - ${this._renderKeyAssigner(U,this._defaults.view.keyboard_shortcuts.ptz_home)} - `)}_renderStatusBarItem(e){return o` ${this._putInSubmenu("status_bar.items",e,`config.status_bar.items.${e}`,"mdi:feature-search",o` - ${this._renderSwitch(`${j}.${e}.enabled`,this._defaults.status_bar.items[e]?.enabled??!0,{label:l("config.status_bar.items.enabled")})} - ${this._renderNumberInput(`${j}.${e}.priority`,{max:q,default:this._defaults.status_bar.items[e]?.priority,label:l("config.status_bar.items.priority")})} - `)}`}_renderMenuButton(e,a){const t=[{value:"",label:""},{value:"matching",label:l("config.menu.buttons.alignments.matching")},{value:"opposing",label:l("config.menu.buttons.alignments.opposing")}];return o` ${this._putInSubmenu("menu.buttons",e,`config.menu.buttons.${e}`,"mdi:gesture-tap-button",o` - ${this._renderSwitch(`${R}.${e}.enabled`,this._defaults.menu.buttons[e]?.enabled??!0,{label:l("config.menu.buttons.enabled")})} - ${this._renderOptionSelector(`${R}.${e}.alignment`,t,{label:l("config.menu.buttons.alignment")})} - ${this._renderSwitch(`${R}.${e}.permanent`,this._defaults.menu.buttons[e]?.permanent??!1,{label:l("config.menu.buttons.permanent")})} - ${this._renderNumberInput(`${R}.${e}.priority`,{max:D,default:this._defaults.menu.buttons[e]?.priority,label:l("config.menu.buttons.priority")})} - ${this._renderIconSelector(`${R}.${e}.icon`,{label:l("config.menu.buttons.icon")})} - ${a} - `)}`}_putInSubmenu(e,a,t,i,n){const s=this._expandedMenus[e]===a,c={submenu:!0,selected:s},d=dt(i);return o`
- - ${s?o`
${n}
`:""} -
`}_renderMediaLayout(e,a,t,i,n,s,r,c,d,m,u,h){return this._putInSubmenu(e,!0,a,"mdi:page-layout-body",o` - ${this._renderNumberInput(m,{min:0,max:10,label:l("config.cameras.dimensions.layout.zoom"),step:.1})} - ${this._renderNumberInput(u,{min:0,max:100,label:l("config.cameras.dimensions.layout.pan.x")})} - ${this._renderNumberInput(h,{min:0,max:100,label:l("config.cameras.dimensions.layout.pan.y")})} - ${this._renderOptionSelector(t,this._layoutFits,{label:l("config.cameras.dimensions.layout.fit")})} - ${this._putInSubmenu(`${e}.position`,!0,"config.cameras.dimensions.layout.position.editor_label","mdi:aspect-ratio",o` ${this._renderNumberInput(i,{min:0,max:100,label:l("config.cameras.dimensions.layout.position.x")})} - ${this._renderNumberInput(n,{min:0,max:100,label:l("config.cameras.dimensions.layout.position.y")})}`)} - ${this._putInSubmenu(`${e}.view_box`,!0,"config.cameras.dimensions.layout.view_box.editor_label","mdi:crop",o` - ${this._renderNumberInput(s,{min:0,max:100,label:l("config.cameras.dimensions.layout.view_box.top")})} - ${this._renderNumberInput(r,{min:0,max:100,label:l("config.cameras.dimensions.layout.view_box.bottom")})} - ${this._renderNumberInput(c,{min:0,max:100,label:l("config.cameras.dimensions.layout.view_box.left")})} - ${this._renderNumberInput(d,{min:0,max:100,label:l("config.cameras.dimensions.layout.view_box.right")})} - `)} - `)}_renderTimelineCoreControls(e,a,t,i,n,s,r){return o` - ${this._renderOptionSelector(e,this._timelineStyleTypes,{label:l(`config.common.${F}`)})} - ${r?this._renderOptionSelector(r,this._timelinePanModes,{label:l("config.common.controls.timeline.pan_mode")}):""} - ${this._renderNumberInput(a,{label:l(`config.common.${G}`)})} - ${this._renderNumberInput(t,{label:l(`config.common.${J}`)})} - ${this._renderOptionSelector(i,this._timelineEventsMediaTypes,{label:l(`config.common.${Q}`)})} - ${this._renderSwitch(n,s,{label:l(`config.common.${W}`)})} - `}_renderMiniTimeline(e,a,t,i,n,s,r,c,d){return this._putInSubmenu(e,!0,"config.common.controls.timeline.editor_label","mdi:chart-gantt",o` ${this._renderOptionSelector(a,this._miniTimelineModes,{label:l("config.common.controls.timeline.mode")})} - ${this._renderTimelineCoreControls(t,i,n,s,r,c,d)}`)}_renderViewDisplay(e,a,t,i,n){return this._putInSubmenu(e,!0,"config.common.display.editor_label","mdi:palette-swatch",o` - ${this._renderOptionSelector(a,this._displayModes,{label:l("config.common.display.mode")})} - ${this._renderNumberInput(t,{min:0,label:l("config.common.display.grid_selected_width_factor")})} - ${this._renderNumberInput(i,{min:0,label:l("config.common.display.grid_columns")})} - ${this._renderNumberInput(n,{min:0,label:l("config.common.display.grid_max_columns")})} - `)}_renderNextPreviousControls(e,a,t,i){return this._putInSubmenu(e,!0,"config.common.controls.next_previous.editor_label","mdi:arrow-right-bold-circle",o` - ${this._renderOptionSelector(a,this._nextPreviousControlStyles.filter((e=>!(!i?.allowThumbnails&&"thumbnails"===e.value||!i?.allowIcons&&"icons"===e.value))),{label:l("config.common.controls.next_previous.style")})} - ${this._renderNumberInput(t,{min:X,label:l("config.common.controls.next_previous.size")})} - `)}_renderThumbnailsControls(e,a,t,i,n,s,r,c){return this._putInSubmenu(e,!0,"config.common.controls.thumbnails.editor_label","mdi:image-text",o` - ${c?.configPathMode?o`${this._renderOptionSelector(c.configPathMode,this._thumbnailModes,{label:l("config.common.controls.thumbnails.mode")})}`:o``} - ${c?.configPathMediaType?o`${this._renderOptionSelector(c.configPathMediaType,this._thumbnailMediaTypes,{label:l("config.common.controls.thumbnails.media_type")})}`:o``} - ${c?.configPathEventsMediaType?o`${this._renderOptionSelector(c.configPathEventsMediaType,this._thumbnailEventsMediaTypes,{label:l("config.common.controls.thumbnails.events_media_type")})}`:o``} - ${this._renderNumberInput(a,{min:Y,max:Z,label:l("config.common.controls.thumbnails.size")})} - ${this._renderSwitch(t,r.show_details,{label:l("config.common.controls.thumbnails.show_details")})} - ${this._renderSwitch(i,r.show_favorite_control,{label:l("config.common.controls.thumbnails.show_favorite_control")})} - ${this._renderSwitch(n,r.show_timeline_control,{label:l("config.common.controls.thumbnails.show_timeline_control")})} - ${this._renderSwitch(s,r.show_download_control,{label:l("config.common.controls.thumbnails.show_download_control")})} - `)}_renderFilterControls(e,a){return this._putInSubmenu(e,!0,"config.common.controls.filter.editor_label","mdi:filter-cog",o` - ${a?o`${this._renderOptionSelector(a,this._filterModes,{label:l("config.common.controls.filter.mode")})}`:o``} - `)}_renderImageOptions(e,a,t,i,n){return o` - ${this._renderOptionSelector(e,this._imageModes,{label:l("config.common.image.mode")})} - ${this._renderStringInput(a,{label:l("config.common.image.url")})} - ${this._renderOptionSelector(t,this.hass?x(this.hass):[],{label:l("config.common.image.entity")})} - ${this._renderStringInput(i,{label:l("config.common.image.entity_parameters")})} - ${this._renderNumberInput(n,{label:l("config.common.image.refresh_seconds")})} - `}_renderCamera(e,a,t,i){const n=[{value:"",label:""},{value:"auto",label:l("config.cameras.live_providers.auto")},{value:"ha",label:l("config.cameras.live_providers.ha")},{value:"image",label:l("config.cameras.live_providers.image")},{value:"jsmpeg",label:l("config.cameras.live_providers.jsmpeg")},{value:"go2rtc",label:l("config.cameras.live_providers.go2rtc")},{value:"webrtc-card",label:l("config.cameras.live_providers.webrtc-card")}],s=[];e.forEach(((e,t)=>{t!==a&&s.push({value:ee(e),label:this._getEditorCameraTitle(t,e)})}));const c=e=>{if(this._config){const a=m(this._config);e(a)&&this._updateConfig(a)}},d={submenu:!0,selected:this._expandedMenus[gi]===a};return o` -
- - ${this._expandedMenus[gi]===a?o`
-
- !i&&c((e=>!!(Array.isArray(e.cameras)&&a>0)&&(mt(e.cameras,a,a-1),this._openMenu(gi,a-1),!0)))} - > - - - =this._config.cameras.length-1} - @click=${()=>!i&&c((e=>!!(Array.isArray(e.cameras)&&a - - - {c((e=>!!Array.isArray(e.cameras)&&(e.cameras.splice(a,1),this._closeMenu(gi),!0)))}} - > - - -
- ${this._renderEntitySelector(ae(ut,a),"camera")} - ${this._renderOptionSelector(ae(ht,a),n)} - ${this._renderStringInput(ae(_t,a))} - ${this._renderIconSelector(ae(gt,a),{label:l("config.cameras.icon")})} - ${this._renderStringInput(ae(bt,a))} - ${this._putInSubmenu("cameras.engine",!0,"config.cameras.engines.editor_label","mdi:engine",o`${this._putInSubmenu("cameras.frigate",a,"config.cameras.frigate.editor_label","frigate",o` - ${this._renderStringInput(ae(pt,a))} - ${this._renderStringInput(ae(vt,a))} - ${this._renderOptionSelector(ae(ft,a),[],{multiple:!0,label:l("config.cameras.frigate.labels")})} - ${this._renderOptionSelector(ae($t,a),[],{multiple:!0,label:l("config.cameras.frigate.zones")})} - ${this._renderStringInput(ae(yt,a))} - `)} - ${this._putInSubmenu("cameras.motioneye",a,"config.cameras.motioneye.editor_label","motioneye",o` ${this._renderStringInput(ae(wt,a))} - ${this._renderStringInput(ae(St,a))} - ${this._renderStringInput(ae(xt,a))} - ${this._renderStringInput(ae(Mt,a))} - ${this._renderStringInput(ae(It,a))}`)} - ${this._putInSubmenu("cameras.reolink",a,"config.cameras.reolink.editor_label","reolink",o` ${this._renderStringInput(ae(kt,a))} - ${this._renderOptionSelector(ae(Ot,a),this._reolinkMediaResolution,{label:l("config.cameras.reolink.media_resolution.editor_label")})}`)}`)} - ${this._putInSubmenu("cameras.live_provider",!0,"config.cameras.live_provider_options.editor_label","mdi:cctv",o` ${this._putInSubmenu("cameras.go2rtc",a,"config.cameras.go2rtc.editor_label","mdi:alpha-g-circle",o`${this._renderOptionSelector(ae(Ct,a),this._go2rtcModes,{multiple:!0,label:l("config.cameras.go2rtc.modes.editor_label")})} - ${this._renderStringInput(ae(zt,a))}`)} - ${this._putInSubmenu("cameras.image",!0,"config.cameras.image.editor_label","mdi:image",this._renderImageOptions(ae(At,a),ae(Nt,a),ae(Tt,a),ae(Bt,a),ae(Et,a)))} - ${this._putInSubmenu("cameras.webrtc_card",a,"config.cameras.webrtc_card.editor_label","mdi:webrtc",o`${this._renderEntitySelector(ae(Pt,a),"camera")} - ${this._renderStringInput(ae(Ht,a))}`)}`)} - ${this._putInSubmenu("cameras.dependencies",a,"config.cameras.dependencies.editor_label","mdi:graph",o` ${this._renderSwitch(ae(Lt,a),this._defaults.cameras.dependencies.all_cameras)} - ${this._renderOptionSelector(ae(Vt,a),s,{multiple:!0})}`)} - ${this._putInSubmenu("cameras.triggers",a,"config.cameras.triggers.editor_label","mdi:magnify-scan",o` - ${this._renderSwitch(ae(Kt,a),this._defaults.cameras.triggers.occupancy)} - ${this._renderSwitch(ae(Ut,a),this._defaults.cameras.triggers.motion)} - ${this._renderOptionSelector(ae(jt,a),t,{multiple:!0})} - ${this._renderOptionSelector(ae(qt,a),this._triggersEvents,{multiple:!0,label:l("config.cameras.triggers.events.editor_label")})} - `)} - ${this._putInSubmenu("cameras.cast",a,"config.cameras.cast.editor_label","mdi:cast",o` - ${this._renderOptionSelector(ae(Rt,a),this._castMethods)} - ${this._renderStringInput(ae(Dt,a))} - ${this._renderStringInput(ae(Ft,a))} - `)} - ${this._putInSubmenu("cameras.dimensions",a,"config.cameras.dimensions.editor_label","mdi:aspect-ratio",o` - ${this._renderStringInput(ae(Gt,a))} - ${this._renderMediaLayout("cameras.dimensions.layout","config.cameras.dimensions.layout.editor_label",ae(Jt,a),ae(Qt,a),ae(Wt,a),ae(Xt,a),ae(Yt,a),ae(Zt,a),ae(ei,a),ae(ai,a),ae(ti,a),ae(ii,a))} - `)} - ${this._putInSubmenu("cameras.capabilities",a,"config.cameras.capabilities.editor_label","mdi:cog-stop",o` - ${this._renderOptionSelector(ae(ni,a),this._capabilities,{multiple:!0})} - ${this._renderOptionSelector(ae(si,a),this._capabilities,{multiple:!0})} - `)} - ${this._putInSubmenu("cameras.proxy",a,"config.cameras.proxy.editor_label","mdi:arrow-decision",o` - ${this._renderOptionSelector(ae(oi,a),this._proxyMedia,{label:l("config.cameras.proxy.media.editor_label")})} - ${this._renderSwitch(ae(ri,a),this._defaults.cameras.proxy.dynamic)} - ${this._renderOptionSelector(ae(li,a),this._proxySSLVerification,{label:l("config.cameras.proxy.ssl_verification.editor_label")})} - ${this._renderOptionSelector(ae(ci,a),this._proxySSLCiphers,{label:l("config.cameras.proxy.ssl_ciphers.editor_label")})} - `)} -
`:""} -
- `}_renderStringInput(e,a){if(this._config)return o` - this._valueChangedHandler(e,a)} - > - - `}_renderSwitch(e,a,t){if(this._config)return o` - this._valueChangedHandler(e,a)} - > - - `}_updateConfig(e){this._config=e,te(this,"config-changed",{config:this._config})}render(){if(!this.hass||!this._config)return o``;const e=x(this.hass),a=b(this._config,mi)||[];return o` - ${this._configUpgradeable?o`
- ${l("editor.upgrade_available")} - - {if(this._config){const e=m(this._config);ie(e),this._updateConfig(e)}}} - > - - -
-
`:o``} -
- ${this._renderOptionSetHeader("cameras")} - ${"cameras"===this._expandedMenus[bi]?o` -
- ${a.map(((t,i)=>this._renderCamera(a,i,e)))} - ${this._renderCamera(a,a.length,e,!0)} -
- `:""} - ${this._renderOptionSetHeader("profiles")} - ${"profiles"===this._expandedMenus[bi]?o`
- ${this._renderOptionSelector(ne,this._profiles,{multiple:!0,label:l("config.profiles.editor_label")})} -
`:""} - ${this._renderOptionSetHeader("view")} - ${"view"===this._expandedMenus[bi]?o` -
- ${this._renderOptionSelector(se,this._viewModes)} - ${this._renderOptionSelector(oe,this._cameraSelectViewModes)} - ${this._renderOptionSelector(re,this._darkModes)} - ${this._renderNumberInput(le)} - ${this._renderSwitch(ce,this._defaults.view.default_cycle_camera)} - ${this._renderViewDefaultResetMenu()} ${this._renderViewTriggersMenu()} - ${this._renderViewKeyboardShortcutMenu()} -
- `:""} - ${this._renderOptionSetHeader("menu")} - ${"menu"===this._expandedMenus[bi]?o` -
- ${this._renderOptionSelector(de,this._menuStyles)} - ${this._renderOptionSelector(me,this._menuPositions)} - ${this._renderOptionSelector(ue,this._menuAlignments)} - ${this._renderNumberInput(he,{min:X})} - ${this._renderMenuButton("frigate")} - ${this._renderMenuButton("cameras")} - ${this._renderMenuButton("substreams")} - ${this._renderMenuButton("live")} - ${this._renderMenuButton("clips")} - ${this._renderMenuButton("snapshots")} - ${this._renderMenuButton("recordings")} - ${this._renderMenuButton("image")} - ${this._renderMenuButton("download")} - ${this._renderMenuButton("camera_ui")} - ${this._renderMenuButton("fullscreen")} - ${this._renderMenuButton("expand")} - ${this._renderMenuButton("timeline")} - ${this._renderMenuButton("media_player")} - ${this._renderMenuButton("microphone",o`${this._renderOptionSelector(`${R}.microphone.type`,this._microphoneButtonTypes,{label:l("config.menu.buttons.type")})}`)} - ${this._renderMenuButton("play")} - ${this._renderMenuButton("mute")} - ${this._renderMenuButton("screenshot")} - ${this._renderMenuButton("display_mode")} - ${this._renderMenuButton("ptz_controls")} - ${this._renderMenuButton("ptz_home")} -
- `:""} - ${this._renderOptionSetHeader("status_bar")} - ${"status_bar"===this._expandedMenus[bi]?o` -
- ${this._renderOptionSelector(_e,this._statusBarStyles)} - ${this._renderOptionSelector(ge,this._statusBarPositions)} - ${this._renderNumberInput(be,{min:pe,label:l("config.status_bar.height")})} - ${this._renderNumberInput(ve,{min:0,max:60,default:this._defaults.status_bar.popup_seconds,label:l("config.status_bar.popup_seconds")})} - ${this._renderStatusBarItem("title")} - ${this._renderStatusBarItem("resolution")} - ${this._renderStatusBarItem("technology")} - ${this._renderStatusBarItem("engine")} -
- `:""} - ${this._renderOptionSetHeader("live")} - ${"live"===this._expandedMenus[bi]?o` -
- ${this._renderSwitch(fe,this._defaults.live.preload)} - ${this._renderSwitch($e,this._defaults.live.draggable)} - ${this._renderSwitch(ye,this._defaults.live.zoomable)} - ${this._renderSwitch(we,this._defaults.live.lazy_load)} - ${this._renderOptionSelector(Se,this._mediaActionNegativeConditions,{multiple:!0})} - ${this._renderOptionSelector(xe,this._mediaActionPositiveConditions,{multiple:!0})} - ${this._renderOptionSelector(Me,this._mediaActionNegativeConditions,{multiple:!0})} - ${this._renderOptionSelector(Ie,this._mediaLiveMuteConditions,{multiple:!0})} - ${this._renderOptionSelector(ke,this._mediaLiveUnmuteConditions,{multiple:!0})} - ${this._renderOptionSelector(Oe,this._transitionEffects)} - ${this._renderSwitch(Ce,this._defaults.live.show_image_during_load)} - ${this._renderViewDisplay("live.display",ze,Ae,Ne,Te)} - ${this._putInSubmenu("live.controls",!0,"config.live.controls.editor_label","mdi:gamepad",o` - ${this._renderSwitch(Be,this._defaults.live.controls.builtin,{label:l("config.common.controls.builtin")})} - ${this._renderNextPreviousControls("live.controls.next_previous",Ee,Pe,{allowIcons:!0})} - ${this._renderThumbnailsControls("live.controls.thumbnails",He,Le,Ve,Ke,Ue,this._defaults.live.controls.thumbnails,{configPathMediaType:je,configPathEventsMediaType:qe,configPathMode:Re})} - ${this._renderMiniTimeline("live.controls.timeline",De,Fe,Ge,Je,Qe,We,this._defaults.live.controls.timeline.show_recordings,Xe)} - ${this._putInSubmenu("live.controls.ptz",!0,"config.live.controls.ptz.editor_label","mdi:pan",o` - ${this._renderOptionSelector(Ye,this._ptzModes)} - ${this._renderOptionSelector(Ze,this._ptzPositions)} - ${this._renderOptionSelector(ea,this._ptzOrientations)} - ${this._renderSwitch(aa,this._defaults.live.controls.ptz.hide_pan_tilt,{label:l("config.live.controls.ptz.hide_pan_tilt")})} - ${this._renderSwitch(ta,this._defaults.live.controls.ptz.hide_pan_tilt,{label:l("config.live.controls.ptz.hide_zoom")})} - ${this._renderSwitch(ia,this._defaults.live.controls.ptz.hide_home,{label:l("config.live.controls.ptz.hide_home")})} - `)} - `)} - ${this._putInSubmenu("live.microphone",!0,"config.live.microphone.editor_label","mdi:microphone",o` - ${this._renderNumberInput(na)} - ${this._renderSwitch(sa,this._defaults.live.microphone.always_connected)} - ${this._renderNumberInput(oa)} - `)} -
- `:""} - ${this._renderOptionSetHeader("media_gallery")} - ${"media_gallery"===this._expandedMenus[bi]?o`
- ${this._renderThumbnailsControls("media_gallery.controls.thumbnails",ra,la,ca,da,ma,this._defaults.media_gallery.controls.thumbnails)} - ${this._renderFilterControls("media_gallery.controls.filter",ua)} -
`:""} - ${this._renderOptionSetHeader("media_viewer")} - ${"media_viewer"===this._expandedMenus[bi]?o`
- ${this._renderOptionSelector(ha,this._mediaActionPositiveConditions,{multiple:!0})} - ${this._renderOptionSelector(_a,this._mediaActionNegativeConditions,{multiple:!0})} - ${this._renderOptionSelector(ga,this._mediaActionNegativeConditions,{multiple:!0})} - ${this._renderOptionSelector(ba,this._mediaActionPositiveConditions,{multiple:!0})} - ${this._renderSwitch(pa,this._defaults.media_viewer.draggable)} - ${this._renderSwitch(va,this._defaults.media_viewer.zoomable)} - ${this._renderSwitch(fa,this._defaults.media_viewer.lazy_load)} - ${this._renderOptionSelector($a,this._transitionEffects)} - ${this._renderSwitch(ya,this._defaults.media_viewer.snapshot_click_plays_clip)} - ${this._renderViewDisplay("media_viewer.display",wa,Sa,xa,Ma)} - ${this._putInSubmenu("media_viewer.controls",!0,"config.media_viewer.controls.editor_label","mdi:gamepad",o` - ${this._renderSwitch(Ia,this._defaults.media_viewer.controls.builtin,{label:l("config.common.controls.builtin")})} - ${this._renderNextPreviousControls("media_viewer.controls.next_previous",ka,Oa,{allowThumbnails:!0})} - ${this._renderThumbnailsControls("media_viewer.controls.thumbnails",Ca,za,Aa,Na,Ta,this._defaults.media_viewer.controls.thumbnails,{configPathMode:Ba})} - ${this._renderMiniTimeline("media_viewer.controls.timeline",Ea,Pa,Ha,La,Va,Ka,this._defaults.media_viewer.controls.timeline.show_recordings,Ua)} - `)} -
`:""} - ${this._renderOptionSetHeader("image")} - ${"image"===this._expandedMenus[bi]?o`
- ${this._renderImageOptions(ja,qa,Ra,Da,Fa)} -
`:""} - ${this._renderOptionSetHeader("timeline")} - ${"timeline"===this._expandedMenus[bi]?o`
- ${this._renderTimelineCoreControls(F,G,J,Q,W,this._defaults.timeline.show_recordings)} - ${this._renderThumbnailsControls("timeline.controls.thumbnails",Ga,Ja,Qa,Wa,Xa,this._defaults.timeline.controls.thumbnails,{configPathMode:Ya})} -
`:""} - ${this._renderOptionSetHeader("dimensions")} - ${"dimensions"===this._expandedMenus[bi]?o`
- ${this._renderOptionSelector(Za,this._aspectRatioModes)} - ${this._renderStringInput(et)} - ${this._renderStringInput(at)} -
`:""} - ${this._renderOptionSetHeader("performance","low"===b(this._config,ui)?"warning":void 0)} - ${"performance"===this._expandedMenus[bi]?o`
- ${"low"===b(this._config,ui)?this._renderInfo(l("config.performance.warning")):o``} - ${this._putInSubmenu("performance.features",!0,"config.performance.features.editor_label","mdi:feature-search",o` - ${this._renderSwitch(tt,this._defaults.performance.features.animated_progress_indicator)} - ${this._renderNumberInput(it,{max:nt})} - ${this._renderNumberInput(st,{min:1})} - `)} - ${this._putInSubmenu("performance.style",!0,"config.performance.style.editor_label","mdi:palette-swatch-variant",o` - ${this._renderSwitch(ot,this._defaults.performance.style.border_radius)} - ${this._renderSwitch(rt,this._defaults.performance.style.box_shadow)} - `)} -
`:""} - ${void 0!==this._config.overrides?o` ${this._renderOptionSetHeader("overrides")} - ${"overrides"===this._expandedMenus[bi]?o`
- ${this._renderInfo(l("config.overrides.info"))} -
`:""}`:o``} -
- `}_closeMenu(e){delete this._expandedMenus[e],this.requestUpdate()}_openMenu(e,a){this._expandedMenus[e]=a,this.requestUpdate()}_toggleMenu(e){if(e&&e.target){const a=e.target.domain,t=e.target.key;this._expandedMenus[a]===t?this._closeMenu(a):this._openMenu(a,t)}}_valueChangedHandler(e,a){if(!this._config||!this.hass)return;let t;if(a.detail&&void 0!==a.detail.value&&(t=a.detail.value,"string"==typeof t&&(t=t.trim())),b(this._config,e)===t)return;const i=m(this._config);""===t||void 0===t?lt(i,e):ct(i,e,t),this._updateConfig(i)}static get styles(){return c('ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n.option {\n padding: 4px 4px;\n cursor: pointer;\n}\n\n.option.option-overrides .title {\n color: var(--warning-color);\n}\n\n.row {\n display: flex;\n margin-bottom: -14px;\n pointer-events: none;\n}\n\n.title {\n padding-left: 16px;\n margin-top: -6px;\n pointer-events: none;\n}\n\n.title.warning {\n color: var(--warning-color);\n}\n\n.secondary {\n padding-left: 40px;\n color: var(--secondary-text-color);\n pointer-events: none;\n}\n\n.values {\n background: var(--secondary-background-color);\n display: grid;\n}\n\n.values + .option,\n.submenu + .option {\n margin-top: 10px;\n}\n\ndiv.upgrade {\n width: auto;\n border: 1px dotted var(--primary-color);\n margin: 10px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\ndiv.upgrade span {\n padding: 10px;\n}\n\n.submenu-header {\n display: flex;\n padding: 10px;\n cursor: pointer;\n}\n\n.submenu.selected > .submenu-header {\n background-color: var(--primary-color);\n color: var(--primary-text-color);\n}\n\n.submenu-header * {\n flex-basis: auto;\n pointer-events: none;\n}\n\n.submenu-header .new-camera {\n font-style: italic;\n}\n\n.submenu:not(.selected) > .submenu-header .new-camera {\n color: var(--secondary-text-color, "black");\n}\n\n.submenu-header ha-icon,\n.submenu-header img {\n padding-right: 15px;\n}\n\n.submenu.selected {\n border: 1px solid var(--primary-color);\n}\n\n.submenu {\n width: calc(100% - 20px);\n margin-left: auto;\n margin-right: auto;\n margin-bottom: 10px;\n}\n\n.submenu:first-child,\n:not(.submenu) + .submenu {\n margin-top: 10px;\n}\n\n.submenu .controls {\n display: inline-block;\n margin-left: auto;\n margin-right: 0px;\n margin-bottom: 5px;\n}\n\n.submenu .controls ha-icon-button.button {\n --mdc-icon-button-size: 32px;\n --mdc-icon-size: calc(var(--mdc-icon-button-size) / 2);\n}\n\nspan.info {\n padding: 10px;\n}\n\nha-selector {\n padding: 10px;\n border: 1px solid var(--divider-color);\n}')}};t([i({attribute:!1})],vi.prototype,"hass",void 0),t([d()],vi.prototype,"_config",void 0),t([d()],vi.prototype,"_defaults",void 0),t([d()],vi.prototype,"_expandedMenus",void 0),vi=t([n("frigate-card-editor")],vi);export{vi as FrigateCardEditor}; diff --git a/config/www/community/frigate-hass-card/editor-0c0425c2.js.gz b/config/www/community/frigate-hass-card/editor-0c0425c2.js.gz deleted file mode 100644 index b2fc5064671f45e7ca795fb0b08f396af037cb0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11530 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 diff --git a/config/www/community/frigate-hass-card/editor-13524f00.js b/config/www/community/frigate-hass-card/editor-13524f00.js deleted file mode 100644 index 6e09e984..00000000 --- a/config/www/community/frigate-hass-card/editor-13524f00.js +++ /dev/null @@ -1,462 +0,0 @@ -import{i as e,s as a,_ as t,n as i,t as n,a as s,x as o,e as r,l,r as c,b as d,c as m,d as u,p as h,f as _,g,h as b,j as p,k as v,C as f,m as $,o as y,q as w,u as S,v as x,w as M,y as I,z as k,A as O,B as C,D as z,E as A,F as N,G as T,H as B,I as E,J as P,K as H,L,M as V,N as K,O as U,P as j,Q as q,R,S as D,T as F,U as G,V as J,W as Q,X as W,Y as X,Z as Y,$ as Z,a0 as ee,a1 as ae,a2 as te,a3 as ie,a4 as ne,a5 as se,a6 as oe,a7 as re,a8 as le,a9 as ce,aa as de,ab as me,ac as ue,ad as he,ae as _e,af as ge,ag as be,ah as pe,ai as ve,aj as fe,ak as $e,al as ye,am as we,an as Se,ao as xe,ap as Me,aq as Ie,ar as ke,as as Oe,at as Ce,au as ze,av as Ae,aw as Ne,ax as Te,ay as Be,az as Ee,aA as Pe,aB as He,aC as Le,aD as Ve,aE as Ke,aF as Ue,aG as je,aH as qe,aI as Re,aJ as De,aK as Fe,aL as Ge,aM as Je,aN as Qe,aO as We,aP as Xe,aQ as Ye,aR as Ze,aS as ea,aT as aa,aU as ta,aV as ia,aW as na,aX as sa,aY as oa,aZ as ra,a_ as la,a$ as ca,b0 as da,b1 as ma,b2 as ua,b3 as ha,b4 as _a,b5 as ga,b6 as ba,b7 as pa,b8 as va,b9 as fa,ba as $a,bb as ya,bc as wa,bd as Sa,be as xa,bf as Ma,bg as Ia,bh as ka,bi as Oa,bj as Ca,bk as za,bl as Aa,bm as Na,bn as Ta,bo as Ba,bp as Ea,bq as Pa,br as Ha,bs as La,bt as Va,bu as Ka,bv as Ua,bw as ja,bx as qa,by as Ra,bz as Da,bA as Fa,bB as Ga,bC as Ja,bD as Qa,bE as Wa,bF as Xa,bG as Ya,bH as Za,bI as et,bJ as at,bK as tt,bL as it,bM as nt,bN as st,bO as ot,bP as rt,bQ as lt,bR as ct,bS as dt,bT as mt,bU as ut,bV as ht,bW as _t,bX as gt,bY as bt,bZ as pt,b_ as vt,b$ as ft,c0 as $t,c1 as yt,c2 as wt,c3 as St,c4 as xt,c5 as Mt,c6 as It,c7 as kt,c8 as Ot,c9 as Ct,ca as zt,cb as At,cc as Nt,cd as Tt,ce as Bt,cf as Et,cg as Pt,ch as Ht,ci as Lt,cj as Vt,ck as Kt,cl as Ut,cm as jt,cn as qt,co as Rt,cp as Dt,cq as Ft,cr as Gt,cs as Jt,ct as Qt,cu as Wt,cv as Xt,cw as Yt,cx as Zt,cy as ei,cz as ai,cA as ti,cB as ii,cC as ni,cD as si,cE as oi,cF as ri,cG as li,cH as ci,cI as di,cJ as mi,cK as ui}from"./card-769e2b91.js";class hi{constructor(e){this._assigning=!1,this._value=null,this._blurEventHandler=()=>{this._setAssigning(!1)},this._keydownEventHandler=e=>{e.key&&!["Control","Alt","Shift","Meta"].includes(e.key)&&(this.setValue({key:e.key,ctrl:e.ctrlKey,alt:e.altKey,shift:e.shiftKey,meta:e.metaKey}),this._setAssigning(!1))},this._host=e,this._host.addController(this)}setValue(a){e(a,this._value)||(this._value=a,this._host.requestUpdate(),this._host.dispatchEvent(new CustomEvent("value-changed",{detail:{value:this._value}})))}getValue(){return this._value}hasValue(){return!!this._value}isAssigning(){return this._assigning}toggleAssigning(){this._setAssigning(!this._assigning)}_setAssigning(e){this._assigning=e,a(this._host,this._assigning,"assigning"),this._assigning?this._host.addEventListener("keydown",this._keydownEventHandler):this._host.removeEventListener("keydown",this._keydownEventHandler),this._host.requestUpdate()}hostConnected(){this._host.addEventListener("blur",this._blurEventHandler)}hostDisconnected(){this._host.removeEventListener("blur",this._blurEventHandler)}}let _i=class extends s{constructor(){super(...arguments),this._controller=new hi(this)}willUpdate(e){e.has("value")&&this._controller.setValue(this.value??null)}render(){if(!this.label)return;const e=e=>o`
-
${e}
-
`;return o` -
${this.label}
- {this._controller.toggleAssigning()}} - > - - - ${this._controller.isAssigning()?l("key_assigner.assigning"):l("key_assigner.assign")} - - - ${this._controller.hasValue()?o`{this._controller.setValue(null)}} - > - - ${l("key_assigner.unassign")} - `:""} -
- ${this.value?.ctrl?e(l("key_assigner.modifiers.ctrl")):""} - ${this.value?.shift?e(l("key_assigner.modifiers.shift")):""} - ${this.value?.meta?e(l("key_assigner.modifiers.meta")):""} - ${this.value?.alt?e(l("key_assigner.modifiers.alt")):""} - ${this.value?.key?e(this.value.key):""} -
- `}static get styles(){return c('.dotdotdot:after {\n animation: dots 2s linear infinite;\n content: "";\n display: inline-block;\n width: 3em;\n}\n@keyframes dots {\n 0%, 20% {\n content: ".";\n }\n 40% {\n content: "..";\n }\n 60% {\n content: "...";\n }\n 90%, 100% {\n content: "";\n }\n}\n\n:host {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 10px;\n height: 56px;\n border: 1px solid var(--divider-color);\n}\n\n:host([assigning]) ha-button.assign span,\n:host([assigning]) ha-button.assign ha-icon {\n color: var(--warning-color);\n}\n\nha-icon {\n padding: 10px;\n}\n\ndiv.label {\n width: 100px;\n margin-left: 4px;\n}\n\ndiv.key-row {\n flex: 1;\n display: flex;\n justify-content: center;\n align-items: center;\n padding-left: 10px;\n padding-right: 10px;\n}\n\ndiv.key {\n display: flex;\n align-items: center;\n height: 90%;\n width: min-content;\n margin-left: 5px;\n margin-right: 5px;\n}\n\ndiv.key-inner {\n height: 100%;\n width: 100%;\n padding-top: 2px;\n padding-bottom: 2px;\n padding-left: 4px;\n padding-right: 4px;\n border: 2px;\n border-radius: 4px;\n border-style: outset;\n border-color: var(--divider-color);\n font-family: monospace;\n text-transform: capitalize;\n}\n\ndiv.unassigned {\n font-style: italic;\n}\n\ndiv.key + div.key:before {\n display: flex;\n align-items: center;\n margin-right: 5px;\n content: " + ";\n}')}};t([i({attribute:!1})],_i.prototype,"label",void 0),t([i({attribute:!1})],_i.prototype,"value",void 0),_i=t([n("frigate-card-key-assigner")],_i);const gi="cameras",bi="options",pi={cameras:{icon:"video",name:l("editor.cameras"),secondary:l("editor.cameras_secondary")},view:{icon:"eye",name:l("editor.view"),secondary:l("editor.view_secondary")},menu:{icon:"menu",name:l("editor.menu"),secondary:l("editor.menu_secondary")},status_bar:{icon:"sign-text",name:l("editor.status_bar"),secondary:l("editor.status_bar_secondary")},live:{icon:"cctv",name:l("editor.live"),secondary:l("editor.live_secondary")},media_gallery:{icon:"grid",name:l("editor.media_gallery"),secondary:l("editor.media_gallery_secondary")},media_viewer:{icon:"filmstrip",name:l("editor.media_viewer"),secondary:l("editor.media_viewer_secondary")},image:{icon:"image",name:l("editor.image"),secondary:l("editor.image_secondary")},timeline:{icon:"chart-gantt",name:l("editor.timeline"),secondary:l("editor.timeline_secondary")},dimensions:{icon:"aspect-ratio",name:l("editor.dimensions"),secondary:l("editor.dimensions_secondary")},performance:{icon:"speedometer",name:l("editor.performance"),secondary:l("editor.performance_secondary")},profiles:{icon:"folder-wrench-outline",name:l("editor.profiles"),secondary:l("editor.profiles_secondary")},overrides:{icon:"file-replace",name:l("editor.overrides"),secondary:l("editor.overrides_secondary")}};let vi=class extends s{constructor(){super(...arguments),this._defaults=m(di),this._initialized=!1,this._configUpgradeable=!1,this._expandedMenus={},this._viewModes=[{value:"",label:""},{value:"live",label:l("config.view.views.live")},{value:"clips",label:l("config.view.views.clips")},{value:"snapshots",label:l("config.view.views.snapshots")},{value:"recordings",label:l("config.view.views.recordings")},{value:"clip",label:l("config.view.views.clip")},{value:"snapshot",label:l("config.view.views.snapshot")},{value:"recording",label:l("config.view.views.recording")},{value:"image",label:l("config.view.views.image")},{value:"timeline",label:l("config.view.views.timeline")}],this._cameraSelectViewModes=[...this._viewModes,{value:"current",label:l("config.view.views.current")}],this._filterModes=[{value:"",label:""},{value:"none",label:l("config.common.controls.filter.modes.none")},{value:"left",label:l("config.common.controls.filter.modes.left")},{value:"right",label:l("config.common.controls.filter.modes.right")}],this._menuStyles=[{value:"",label:""},{value:"none",label:l("config.menu.styles.none")},{value:"hidden",label:l("config.menu.styles.hidden")},{value:"overlay",label:l("config.menu.styles.overlay")},{value:"hover",label:l("config.menu.styles.hover")},{value:"hover-card",label:l("config.menu.styles.hover-card")},{value:"outside",label:l("config.menu.styles.outside")}],this._menuPositions=[{value:"",label:""},{value:"left",label:l("config.menu.positions.left")},{value:"right",label:l("config.menu.positions.right")},{value:"top",label:l("config.menu.positions.top")},{value:"bottom",label:l("config.menu.positions.bottom")}],this._menuAlignments=[{value:"",label:""},{value:"left",label:l("config.menu.alignments.left")},{value:"right",label:l("config.menu.alignments.right")},{value:"top",label:l("config.menu.alignments.top")},{value:"bottom",label:l("config.menu.alignments.bottom")}],this._nextPreviousControlStyles=[{value:"",label:""},{value:"chevrons",label:l("config.common.controls.next_previous.styles.chevrons")},{value:"icons",label:l("config.common.controls.next_previous.styles.icons")},{value:"none",label:l("config.common.controls.next_previous.styles.none")},{value:"thumbnails",label:l("config.common.controls.next_previous.styles.thumbnails")}],this._aspectRatioModes=[{value:"",label:""},{value:"dynamic",label:l("config.dimensions.aspect_ratio_modes.dynamic")},{value:"static",label:l("config.dimensions.aspect_ratio_modes.static")},{value:"unconstrained",label:l("config.dimensions.aspect_ratio_modes.unconstrained")}],this._thumbnailModes=[{value:"",label:""},{value:"none",label:l("config.common.controls.thumbnails.modes.none")},{value:"above",label:l("config.common.controls.thumbnails.modes.above")},{value:"below",label:l("config.common.controls.thumbnails.modes.below")},{value:"left",label:l("config.common.controls.thumbnails.modes.left")},{value:"right",label:l("config.common.controls.thumbnails.modes.right")}],this._thumbnailMediaTypes=[{value:"",label:""},{value:"events",label:l("config.common.controls.thumbnails.media_types.events")},{value:"recordings",label:l("config.common.controls.thumbnails.media_types.recordings")}],this._thumbnailEventsMediaTypes=[{value:"",label:""},{value:"clips",label:l("config.common.controls.thumbnails.events_media_types.clips")},{value:"snapshots",label:l("config.common.controls.thumbnails.events_media_types.snapshots")}],this._transitionEffects=[{value:"",label:""},{value:"none",label:l("config.media_viewer.transition_effects.none")},{value:"slide",label:l("config.media_viewer.transition_effects.slide")}],this._imageModes=[{value:"",label:""},{value:"camera",label:l("config.common.image.modes.camera")},{value:"entity",label:l("config.common.image.modes.entity")},{value:"screensaver",label:l("config.common.image.modes.screensaver")},{value:"url",label:l("config.common.image.modes.url")}],this._timelineEventsMediaTypes=[{value:"",label:""},{value:"all",label:l("config.common.timeline.events_media_types.all")},{value:"clips",label:l("config.common.timeline.events_media_types.clips")},{value:"snapshots",label:l("config.common.timeline.events_media_types.snapshots")}],this._timelineStyleTypes=[{value:"",label:""},{value:"ribbon",label:l("config.common.timeline.styles.ribbon")},{value:"stack",label:l("config.common.timeline.styles.stack")}],this._darkModes=[{value:"",label:""},{value:"on",label:l("config.view.dark_modes.on")},{value:"off",label:l("config.view.dark_modes.off")},{value:"auto",label:l("config.view.dark_modes.auto")}],this._mediaActionNegativeConditions=[{value:"",label:""},{value:"unselected",label:l("config.common.media_action_conditions.unselected")},{value:"hidden",label:l("config.common.media_action_conditions.hidden")}],this._mediaActionPositiveConditions=[{value:"",label:""},{value:"selected",label:l("config.common.media_action_conditions.selected")},{value:"visible",label:l("config.common.media_action_conditions.visible")}],this._mediaLiveUnmuteConditions=[...this._mediaActionPositiveConditions,{value:"microphone",label:l("config.common.media_action_conditions.microphone_unmute")}],this._mediaLiveMuteConditions=[...this._mediaActionNegativeConditions,{value:"microphone",label:l("config.common.media_action_conditions.microphone_mute")}],this._layoutFits=[{value:"",label:""},{value:"contain",label:l("config.cameras.dimensions.layout.fits.contain")},{value:"cover",label:l("config.cameras.dimensions.layout.fits.cover")},{value:"fill",label:l("config.cameras.dimensions.layout.fits.fill")}],this._miniTimelineModes=[{value:"",label:""},{value:"none",label:l("config.common.controls.timeline.modes.none")},{value:"above",label:l("config.common.controls.timeline.modes.above")},{value:"below",label:l("config.common.controls.timeline.modes.below")}],this._profiles=[{value:"",label:""},{value:"casting",label:l("config.profiles.casting")},{value:"low-performance",label:l("config.profiles.low-performance")},{value:"scrubbing",label:l("config.profiles.scrubbing")}],this._go2rtcModes=[{value:"",label:""},{value:"mse",label:l("config.cameras.go2rtc.modes.mse")},{value:"webrtc",label:l("config.cameras.go2rtc.modes.webrtc")},{value:"mp4",label:l("config.cameras.go2rtc.modes.mp4")},{value:"mjpeg",label:l("config.cameras.go2rtc.modes.mjpeg")}],this._microphoneButtonTypes=[{value:"",label:""},{value:"momentary",label:l("config.menu.buttons.types.momentary")},{value:"toggle",label:l("config.menu.buttons.types.toggle")}],this._displayModes=[{value:"",label:""},{value:"single",label:l("display_modes.single")},{value:"grid",label:l("display_modes.grid")}],this._castMethods=[{value:"",label:""},{value:"standard",label:l("config.cameras.cast.methods.standard")},{value:"dashboard",label:l("config.cameras.cast.methods.dashboard")}],this._ptzModes=[{value:"",label:""},{value:"on",label:l("config.live.controls.ptz.modes.on")},{value:"off",label:l("config.live.controls.ptz.modes.off")}],this._ptzOrientations=[{value:"",label:""},{value:"vertical",label:l("config.live.controls.ptz.orientations.vertical")},{value:"horizontal",label:l("config.live.controls.ptz.orientations.horizontal")}],this._ptzPositions=[{value:"",label:""},{value:"top-left",label:l("config.live.controls.ptz.positions.top-left")},{value:"top-right",label:l("config.live.controls.ptz.positions.top-right")},{value:"bottom-left",label:l("config.live.controls.ptz.positions.bottom-left")},{value:"bottom-right",label:l("config.live.controls.ptz.positions.bottom-right")}],this._triggersActionsInteractionModes=[{value:"",label:""},{value:"all",label:l("config.view.triggers.actions.interaction_modes.all")},{value:"inactive",label:l("config.view.triggers.actions.interaction_modes.inactive")},{value:"active",label:l("config.view.triggers.actions.interaction_modes.active")}],this._triggersActionsTrigger=[{value:"",label:""},{value:"default",label:l("config.view.triggers.actions.triggers.default")},{value:"live",label:l("config.view.triggers.actions.triggers.live")},{value:"media",label:l("config.view.triggers.actions.triggers.media")},{value:"none",label:l("config.view.triggers.actions.triggers.none")}],this._triggersActionsUntrigger=[{value:"",label:""},{value:"default",label:l("config.view.triggers.actions.untriggers.default")},{value:"none",label:l("config.view.triggers.actions.untriggers.none")}],this._triggersEvents=[{value:"",label:""},{value:"events",label:l("config.cameras.triggers.events.events")},{value:"clips",label:l("config.cameras.triggers.events.clips")},{value:"snapshots",label:l("config.cameras.triggers.events.snapshots")}],this._timelinePanModes=[{value:"",label:""},{value:"pan",label:l("config.common.controls.timeline.pan_modes.pan")},{value:"seek",label:l("config.common.controls.timeline.pan_modes.seek")},{value:"seek-in-media",label:l("config.common.controls.timeline.pan_modes.seek-in-media")},{value:"seek-in-camera",label:l("config.common.controls.timeline.pan_modes.seek-in-camera")}],this._capabilities=[{value:"",label:""},{value:"live",label:l("config.cameras.capabilities.capabilities.live")},{value:"substream",label:l("config.cameras.capabilities.capabilities.substream")},{value:"clips",label:l("config.cameras.capabilities.capabilities.clips")},{value:"recordings",label:l("config.cameras.capabilities.capabilities.recordings")},{value:"snapshots",label:l("config.cameras.capabilities.capabilities.snapshots")},{value:"favorite-events",label:l("config.cameras.capabilities.capabilities.favorite-events")},{value:"favorite-recordings",label:l("config.cameras.capabilities.capabilities.favorite-recordings")},{value:"seek",label:l("config.cameras.capabilities.capabilities.seek")},{value:"ptz",label:l("config.cameras.capabilities.capabilities.ptz")},{value:"menu",label:l("config.cameras.capabilities.capabilities.menu")}],this._defaultResetInteractionModes=[{value:"",label:""},{value:"all",label:l("config.view.default_reset.interaction_modes.all")},{value:"inactive",label:l("config.view.default_reset.interaction_modes.inactive")},{value:"active",label:l("config.view.default_reset.interaction_modes.active")}],this._proxyMedia=[{value:"",label:""},{value:"auto",label:l("config.cameras.proxy.media.auto")},{value:!0,label:l("config.cameras.proxy.media.true")},{value:!1,label:l("config.cameras.proxy.media.false")}],this._proxySSLCiphers=[{value:"",label:""},{value:"auto",label:l("config.cameras.proxy.ssl_ciphers.auto")},{value:"default",label:l("config.cameras.proxy.ssl_ciphers.default")},{value:"insecure",label:l("config.cameras.proxy.ssl_ciphers.insecure")},{value:"intermediate",label:l("config.cameras.proxy.ssl_ciphers.intermediate")},{value:"modern",label:l("config.cameras.proxy.ssl_ciphers.modern")}],this._proxySSLVerification=[{value:"",label:""},{value:"auto",label:l("config.cameras.proxy.ssl_verification.auto")},{value:!0,label:l("config.cameras.proxy.ssl_verification.true")},{value:!1,label:l("config.cameras.proxy.ssl_verification.false")}],this._reolinkMediaResolution=[{value:"",label:""},{value:"high",label:l("config.cameras.reolink.media_resolution.high")},{value:"low",label:l("config.cameras.reolink.media_resolution.low")}],this._statusBarStyles=[{value:"",label:""},{value:"hover",label:l("config.status_bar.styles.hover")},{value:"hover-card",label:l("config.status_bar.styles.hover-card")},{value:"none",label:l("config.status_bar.styles.none")},{value:"outside",label:l("config.status_bar.styles.outside")},{value:"overlay",label:l("config.status_bar.styles.overlay")},{value:"popup",label:l("config.status_bar.styles.popup")}],this._statusBarPositions=[{value:"",label:""},{value:"top",label:l("config.status_bar.positions.top")},{value:"bottom",label:l("config.status_bar.positions.bottom")}]}setConfig(e){this._config=e,this._configUpgradeable=u(e);const a=h.safeParse(this._config.profiles);if(a.success){const e=m(di);_(this._config,e,a.data),this._defaults=e}}willUpdate(){this._initialized||g().then((e=>{e&&(this._initialized=!0)}))}_renderOptionSetHeader(e,a){const t=pi[e];return o` -
-
- -
${t.name}
-
-
${t.secondary}
-
- `}_getLabel(e){const a=e.split(".").filter((e=>!e.match(/^\[[0-9]+\]$/))).join(".");return l(`config.${a}`)}_renderEntitySelector(e,a){if(this._config)return o` - this._valueChangedHandler(e,a)} - > - - `}_renderOptionSelector(e,a=[],t){if(this._config)return o` - this._valueChangedHandler(e,a)} - > - - `}_renderIconSelector(e,a){if(this._config)return o` - this._valueChangedHandler(e,a)} - > - - `}_renderNumberInput(e,a){if(!this._config)return;const t=b(this._config,e),i=void 0===a?.max?"box":"slider";return o` - this._valueChangedHandler(e,a)} - > - - `}_renderInfo(e){return o` ${e}`}_getEditorCameraTitle(e,a){return"string"==typeof a?.title&&a.title||("string"==typeof a?.camera_entity?p(this.hass,a.camera_entity):"")||"object"==typeof a?.webrtc_card&&a.webrtc_card&&"string"==typeof a.webrtc_card.entity&&a.webrtc_card.entity||("object"==typeof a?.frigate&&a.frigate&&"string"==typeof a?.frigate.camera_name&&a.frigate.camera_name?v(a.frigate.camera_name):"")||"string"==typeof a?.id&&a.id||l("editor.camera")+" #"+e}_renderViewDefaultResetMenu(){return this._putInSubmenu("view.default_reset",!0,`config.${f}.editor_label`,"mdi:restart",o` - ${this._renderSwitch($,this._defaults.view.default_reset.after_interaction)} - ${this._renderNumberInput(y)} - ${this._renderOptionSelector(w,this._defaultResetInteractionModes,{label:l("config.view.default_reset.interaction_mode")})}, - ${this._renderOptionSelector(S,this.hass?x(this.hass):[],{multiple:!0})} - `)}_renderViewTriggersMenu(){return this._putInSubmenu("view.triggers",!0,`config.${M}.editor_label`,"mdi:target-account",o` - ${this._renderSwitch(I,this._defaults.view.triggers.filter_selected_camera,{label:l(`config.${I}`)})} - ${this._renderSwitch(k,this._defaults.view.triggers.show_trigger_status,{label:l(`config.${k}`)})} - ${this._renderNumberInput(O,{default:this._defaults.view.triggers.untrigger_seconds})} - ${this._putInSubmenu("view.triggers.actions",!0,`config.${C}.editor_label`,"mdi:cogs",o` ${this._renderOptionSelector(z,this._triggersActionsTrigger,{label:l("config.view.triggers.actions.trigger")})} - ${this._renderOptionSelector(A,this._triggersActionsUntrigger,{label:l("config.view.triggers.actions.untrigger")})} - ${this._renderOptionSelector(N,this._triggersActionsInteractionModes,{label:l("config.view.triggers.actions.interaction_mode")})}`)} - `)}_renderKeyAssigner(e,a){return o` this._valueChangedHandler(e,a)} - >`}_renderViewKeyboardShortcutMenu(){return this._putInSubmenu("view.keyboard_shortcuts",!0,`config.${T}.editor_label`,"mdi:keyboard",o` - ${this._renderSwitch(B,this._defaults.view.keyboard_shortcuts.enabled,{label:l(`config.${B}`)})} - ${this._renderKeyAssigner(E,this._defaults.view.keyboard_shortcuts.ptz_left)} - ${this._renderKeyAssigner(P,this._defaults.view.keyboard_shortcuts.ptz_right)} - ${this._renderKeyAssigner(H,this._defaults.view.keyboard_shortcuts.ptz_up)} - ${this._renderKeyAssigner(L,this._defaults.view.keyboard_shortcuts.ptz_down)} - ${this._renderKeyAssigner(V,this._defaults.view.keyboard_shortcuts.ptz_zoom_in)} - ${this._renderKeyAssigner(K,this._defaults.view.keyboard_shortcuts.ptz_zoom_out)} - ${this._renderKeyAssigner(U,this._defaults.view.keyboard_shortcuts.ptz_home)} - `)}_renderStatusBarItem(e){return o` ${this._putInSubmenu("status_bar.items",e,`config.status_bar.items.${e}`,"mdi:feature-search",o` - ${this._renderSwitch(`${j}.${e}.enabled`,this._defaults.status_bar.items[e]?.enabled??!0,{label:l("config.status_bar.items.enabled")})} - ${this._renderNumberInput(`${j}.${e}.priority`,{max:q,default:this._defaults.status_bar.items[e]?.priority,label:l("config.status_bar.items.priority")})} - `)}`}_renderMenuButton(e,a){const t=[{value:"",label:""},{value:"matching",label:l("config.menu.buttons.alignments.matching")},{value:"opposing",label:l("config.menu.buttons.alignments.opposing")}];return o` ${this._putInSubmenu("menu.buttons",e,`config.menu.buttons.${e}`,"mdi:gesture-tap-button",o` - ${this._renderSwitch(`${R}.${e}.enabled`,this._defaults.menu.buttons[e]?.enabled??!0,{label:l("config.menu.buttons.enabled")})} - ${this._renderOptionSelector(`${R}.${e}.alignment`,t,{label:l("config.menu.buttons.alignment")})} - ${this._renderSwitch(`${R}.${e}.permanent`,this._defaults.menu.buttons[e]?.permanent??!1,{label:l("config.menu.buttons.permanent")})} - ${this._renderNumberInput(`${R}.${e}.priority`,{max:D,default:this._defaults.menu.buttons[e]?.priority,label:l("config.menu.buttons.priority")})} - ${this._renderIconSelector(`${R}.${e}.icon`,{label:l("config.menu.buttons.icon")})} - ${a} - `)}`}_putInSubmenu(e,a,t,i,n){const s=this._expandedMenus[e]===a,c={submenu:!0,selected:s},d=dt(i);return o`
- - ${s?o`
${n}
`:""} -
`}_renderMediaLayout(e,a,t,i,n,s,r,c,d,m,u,h){return this._putInSubmenu(e,!0,a,"mdi:page-layout-body",o` - ${this._renderNumberInput(m,{min:0,max:10,label:l("config.cameras.dimensions.layout.zoom"),step:.1})} - ${this._renderNumberInput(u,{min:0,max:100,label:l("config.cameras.dimensions.layout.pan.x")})} - ${this._renderNumberInput(h,{min:0,max:100,label:l("config.cameras.dimensions.layout.pan.y")})} - ${this._renderOptionSelector(t,this._layoutFits,{label:l("config.cameras.dimensions.layout.fit")})} - ${this._putInSubmenu(`${e}.position`,!0,"config.cameras.dimensions.layout.position.editor_label","mdi:aspect-ratio",o` ${this._renderNumberInput(i,{min:0,max:100,label:l("config.cameras.dimensions.layout.position.x")})} - ${this._renderNumberInput(n,{min:0,max:100,label:l("config.cameras.dimensions.layout.position.y")})}`)} - ${this._putInSubmenu(`${e}.view_box`,!0,"config.cameras.dimensions.layout.view_box.editor_label","mdi:crop",o` - ${this._renderNumberInput(s,{min:0,max:100,label:l("config.cameras.dimensions.layout.view_box.top")})} - ${this._renderNumberInput(r,{min:0,max:100,label:l("config.cameras.dimensions.layout.view_box.bottom")})} - ${this._renderNumberInput(c,{min:0,max:100,label:l("config.cameras.dimensions.layout.view_box.left")})} - ${this._renderNumberInput(d,{min:0,max:100,label:l("config.cameras.dimensions.layout.view_box.right")})} - `)} - `)}_renderTimelineCoreControls(e,a,t,i,n,s,r){return o` - ${this._renderOptionSelector(e,this._timelineStyleTypes,{label:l(`config.common.${F}`)})} - ${r?this._renderOptionSelector(r,this._timelinePanModes,{label:l("config.common.controls.timeline.pan_mode")}):""} - ${this._renderNumberInput(a,{label:l(`config.common.${G}`)})} - ${this._renderNumberInput(t,{label:l(`config.common.${J}`)})} - ${this._renderOptionSelector(i,this._timelineEventsMediaTypes,{label:l(`config.common.${Q}`)})} - ${this._renderSwitch(n,s,{label:l(`config.common.${W}`)})} - `}_renderMiniTimeline(e,a,t,i,n,s,r,c,d){return this._putInSubmenu(e,!0,"config.common.controls.timeline.editor_label","mdi:chart-gantt",o` ${this._renderOptionSelector(a,this._miniTimelineModes,{label:l("config.common.controls.timeline.mode")})} - ${this._renderTimelineCoreControls(t,i,n,s,r,c,d)}`)}_renderViewDisplay(e,a,t,i,n){return this._putInSubmenu(e,!0,"config.common.display.editor_label","mdi:palette-swatch",o` - ${this._renderOptionSelector(a,this._displayModes,{label:l("config.common.display.mode")})} - ${this._renderNumberInput(t,{min:0,label:l("config.common.display.grid_selected_width_factor")})} - ${this._renderNumberInput(i,{min:0,label:l("config.common.display.grid_columns")})} - ${this._renderNumberInput(n,{min:0,label:l("config.common.display.grid_max_columns")})} - `)}_renderNextPreviousControls(e,a,t,i){return this._putInSubmenu(e,!0,"config.common.controls.next_previous.editor_label","mdi:arrow-right-bold-circle",o` - ${this._renderOptionSelector(a,this._nextPreviousControlStyles.filter((e=>!(!i?.allowThumbnails&&"thumbnails"===e.value||!i?.allowIcons&&"icons"===e.value))),{label:l("config.common.controls.next_previous.style")})} - ${this._renderNumberInput(t,{min:X,label:l("config.common.controls.next_previous.size")})} - `)}_renderThumbnailsControls(e,a,t,i,n,s,r,c){return this._putInSubmenu(e,!0,"config.common.controls.thumbnails.editor_label","mdi:image-text",o` - ${c?.configPathMode?o`${this._renderOptionSelector(c.configPathMode,this._thumbnailModes,{label:l("config.common.controls.thumbnails.mode")})}`:o``} - ${c?.configPathMediaType?o`${this._renderOptionSelector(c.configPathMediaType,this._thumbnailMediaTypes,{label:l("config.common.controls.thumbnails.media_type")})}`:o``} - ${c?.configPathEventsMediaType?o`${this._renderOptionSelector(c.configPathEventsMediaType,this._thumbnailEventsMediaTypes,{label:l("config.common.controls.thumbnails.events_media_type")})}`:o``} - ${this._renderNumberInput(a,{min:Y,max:Z,label:l("config.common.controls.thumbnails.size")})} - ${this._renderSwitch(t,r.show_details,{label:l("config.common.controls.thumbnails.show_details")})} - ${this._renderSwitch(i,r.show_favorite_control,{label:l("config.common.controls.thumbnails.show_favorite_control")})} - ${this._renderSwitch(n,r.show_timeline_control,{label:l("config.common.controls.thumbnails.show_timeline_control")})} - ${this._renderSwitch(s,r.show_download_control,{label:l("config.common.controls.thumbnails.show_download_control")})} - `)}_renderFilterControls(e,a){return this._putInSubmenu(e,!0,"config.common.controls.filter.editor_label","mdi:filter-cog",o` - ${a?o`${this._renderOptionSelector(a,this._filterModes,{label:l("config.common.controls.filter.mode")})}`:o``} - `)}_renderImageOptions(e,a,t,i,n){return o` - ${this._renderOptionSelector(e,this._imageModes,{label:l("config.common.image.mode")})} - ${this._renderStringInput(a,{label:l("config.common.image.url")})} - ${this._renderOptionSelector(t,this.hass?x(this.hass):[],{label:l("config.common.image.entity")})} - ${this._renderStringInput(i,{label:l("config.common.image.entity_parameters")})} - ${this._renderNumberInput(n,{label:l("config.common.image.refresh_seconds")})} - `}_renderCamera(e,a,t,i){const n=[{value:"",label:""},{value:"auto",label:l("config.cameras.live_providers.auto")},{value:"ha",label:l("config.cameras.live_providers.ha")},{value:"image",label:l("config.cameras.live_providers.image")},{value:"jsmpeg",label:l("config.cameras.live_providers.jsmpeg")},{value:"go2rtc",label:l("config.cameras.live_providers.go2rtc")},{value:"webrtc-card",label:l("config.cameras.live_providers.webrtc-card")}],s=[];e.forEach(((e,t)=>{t!==a&&s.push({value:ee(e),label:this._getEditorCameraTitle(t,e)})}));const c=e=>{if(this._config){const a=m(this._config);e(a)&&this._updateConfig(a)}},d={submenu:!0,selected:this._expandedMenus[gi]===a};return o` -
- - ${this._expandedMenus[gi]===a?o`
-
- !i&&c((e=>!!(Array.isArray(e.cameras)&&a>0)&&(mt(e.cameras,a,a-1),this._openMenu(gi,a-1),!0)))} - > - - - =this._config.cameras.length-1} - @click=${()=>!i&&c((e=>!!(Array.isArray(e.cameras)&&a - - - {c((e=>!!Array.isArray(e.cameras)&&(e.cameras.splice(a,1),this._closeMenu(gi),!0)))}} - > - - -
- ${this._renderEntitySelector(ae(ut,a),"camera")} - ${this._renderOptionSelector(ae(ht,a),n)} - ${this._renderStringInput(ae(_t,a))} - ${this._renderIconSelector(ae(gt,a),{label:l("config.cameras.icon")})} - ${this._renderStringInput(ae(bt,a))} - ${this._putInSubmenu("cameras.engine",!0,"config.cameras.engines.editor_label","mdi:engine",o`${this._putInSubmenu("cameras.frigate",a,"config.cameras.frigate.editor_label","frigate",o` - ${this._renderStringInput(ae(pt,a))} - ${this._renderStringInput(ae(vt,a))} - ${this._renderOptionSelector(ae(ft,a),[],{multiple:!0,label:l("config.cameras.frigate.labels")})} - ${this._renderOptionSelector(ae($t,a),[],{multiple:!0,label:l("config.cameras.frigate.zones")})} - ${this._renderStringInput(ae(yt,a))} - `)} - ${this._putInSubmenu("cameras.motioneye",a,"config.cameras.motioneye.editor_label","motioneye",o` ${this._renderStringInput(ae(wt,a))} - ${this._renderStringInput(ae(St,a))} - ${this._renderStringInput(ae(xt,a))} - ${this._renderStringInput(ae(Mt,a))} - ${this._renderStringInput(ae(It,a))}`)} - ${this._putInSubmenu("cameras.reolink",a,"config.cameras.reolink.editor_label","reolink",o` ${this._renderStringInput(ae(kt,a))} - ${this._renderOptionSelector(ae(Ot,a),this._reolinkMediaResolution,{label:l("config.cameras.reolink.media_resolution.editor_label")})}`)}`)} - ${this._putInSubmenu("cameras.live_provider",!0,"config.cameras.live_provider_options.editor_label","mdi:cctv",o` ${this._putInSubmenu("cameras.go2rtc",a,"config.cameras.go2rtc.editor_label","mdi:alpha-g-circle",o`${this._renderOptionSelector(ae(Ct,a),this._go2rtcModes,{multiple:!0,label:l("config.cameras.go2rtc.modes.editor_label")})} - ${this._renderStringInput(ae(zt,a))}`)} - ${this._putInSubmenu("cameras.image",!0,"config.cameras.image.editor_label","mdi:image",this._renderImageOptions(ae(At,a),ae(Nt,a),ae(Tt,a),ae(Bt,a),ae(Et,a)))} - ${this._putInSubmenu("cameras.webrtc_card",a,"config.cameras.webrtc_card.editor_label","mdi:webrtc",o`${this._renderEntitySelector(ae(Pt,a),"camera")} - ${this._renderStringInput(ae(Ht,a))}`)}`)} - ${this._putInSubmenu("cameras.dependencies",a,"config.cameras.dependencies.editor_label","mdi:graph",o` ${this._renderSwitch(ae(Lt,a),this._defaults.cameras.dependencies.all_cameras)} - ${this._renderOptionSelector(ae(Vt,a),s,{multiple:!0})}`)} - ${this._putInSubmenu("cameras.triggers",a,"config.cameras.triggers.editor_label","mdi:magnify-scan",o` - ${this._renderSwitch(ae(Kt,a),this._defaults.cameras.triggers.occupancy)} - ${this._renderSwitch(ae(Ut,a),this._defaults.cameras.triggers.motion)} - ${this._renderOptionSelector(ae(jt,a),t,{multiple:!0})} - ${this._renderOptionSelector(ae(qt,a),this._triggersEvents,{multiple:!0,label:l("config.cameras.triggers.events.editor_label")})} - `)} - ${this._putInSubmenu("cameras.cast",a,"config.cameras.cast.editor_label","mdi:cast",o` - ${this._renderOptionSelector(ae(Rt,a),this._castMethods)} - ${this._renderStringInput(ae(Dt,a))} - ${this._renderStringInput(ae(Ft,a))} - `)} - ${this._putInSubmenu("cameras.dimensions",a,"config.cameras.dimensions.editor_label","mdi:aspect-ratio",o` - ${this._renderStringInput(ae(Gt,a))} - ${this._renderMediaLayout("cameras.dimensions.layout","config.cameras.dimensions.layout.editor_label",ae(Jt,a),ae(Qt,a),ae(Wt,a),ae(Xt,a),ae(Yt,a),ae(Zt,a),ae(ei,a),ae(ai,a),ae(ti,a),ae(ii,a))} - `)} - ${this._putInSubmenu("cameras.capabilities",a,"config.cameras.capabilities.editor_label","mdi:cog-stop",o` - ${this._renderOptionSelector(ae(ni,a),this._capabilities,{multiple:!0})} - ${this._renderOptionSelector(ae(si,a),this._capabilities,{multiple:!0})} - `)} - ${this._putInSubmenu("cameras.proxy",a,"config.cameras.proxy.editor_label","mdi:arrow-decision",o` - ${this._renderOptionSelector(ae(oi,a),this._proxyMedia,{label:l("config.cameras.proxy.media.editor_label")})} - ${this._renderSwitch(ae(ri,a),this._defaults.cameras.proxy.dynamic)} - ${this._renderOptionSelector(ae(li,a),this._proxySSLVerification,{label:l("config.cameras.proxy.ssl_verification.editor_label")})} - ${this._renderOptionSelector(ae(ci,a),this._proxySSLCiphers,{label:l("config.cameras.proxy.ssl_ciphers.editor_label")})} - `)} -
`:""} -
- `}_renderStringInput(e,a){if(this._config)return o` - this._valueChangedHandler(e,a)} - > - - `}_renderSwitch(e,a,t){if(this._config)return o` - this._valueChangedHandler(e,a)} - > - - `}_updateConfig(e){this._config=e,te(this,"config-changed",{config:this._config})}render(){if(!this.hass||!this._config)return o``;const e=x(this.hass),a=b(this._config,mi)||[];return o` - ${this._configUpgradeable?o`
- ${l("editor.upgrade_available")} - - {if(this._config){const e=m(this._config);ie(e),this._updateConfig(e)}}} - > - - -
-
`:o``} -
- ${this._renderOptionSetHeader("cameras")} - ${"cameras"===this._expandedMenus[bi]?o` -
- ${a.map(((t,i)=>this._renderCamera(a,i,e)))} - ${this._renderCamera(a,a.length,e,!0)} -
- `:""} - ${this._renderOptionSetHeader("profiles")} - ${"profiles"===this._expandedMenus[bi]?o`
- ${this._renderOptionSelector(ne,this._profiles,{multiple:!0,label:l("config.profiles.editor_label")})} -
`:""} - ${this._renderOptionSetHeader("view")} - ${"view"===this._expandedMenus[bi]?o` -
- ${this._renderOptionSelector(se,this._viewModes)} - ${this._renderOptionSelector(oe,this._cameraSelectViewModes)} - ${this._renderOptionSelector(re,this._darkModes)} - ${this._renderNumberInput(le)} - ${this._renderSwitch(ce,this._defaults.view.default_cycle_camera)} - ${this._renderViewDefaultResetMenu()} ${this._renderViewTriggersMenu()} - ${this._renderViewKeyboardShortcutMenu()} -
- `:""} - ${this._renderOptionSetHeader("menu")} - ${"menu"===this._expandedMenus[bi]?o` -
- ${this._renderOptionSelector(de,this._menuStyles)} - ${this._renderOptionSelector(me,this._menuPositions)} - ${this._renderOptionSelector(ue,this._menuAlignments)} - ${this._renderNumberInput(he,{min:X})} - ${this._renderMenuButton("frigate")} - ${this._renderMenuButton("cameras")} - ${this._renderMenuButton("substreams")} - ${this._renderMenuButton("live")} - ${this._renderMenuButton("clips")} - ${this._renderMenuButton("snapshots")} - ${this._renderMenuButton("recordings")} - ${this._renderMenuButton("image")} - ${this._renderMenuButton("download")} - ${this._renderMenuButton("camera_ui")} - ${this._renderMenuButton("fullscreen")} - ${this._renderMenuButton("expand")} - ${this._renderMenuButton("timeline")} - ${this._renderMenuButton("media_player")} - ${this._renderMenuButton("microphone",o`${this._renderOptionSelector(`${R}.microphone.type`,this._microphoneButtonTypes,{label:l("config.menu.buttons.type")})}`)} - ${this._renderMenuButton("play")} - ${this._renderMenuButton("mute")} - ${this._renderMenuButton("screenshot")} - ${this._renderMenuButton("display_mode")} - ${this._renderMenuButton("ptz_controls")} - ${this._renderMenuButton("ptz_home")} -
- `:""} - ${this._renderOptionSetHeader("status_bar")} - ${"status_bar"===this._expandedMenus[bi]?o` -
- ${this._renderOptionSelector(_e,this._statusBarStyles)} - ${this._renderOptionSelector(ge,this._statusBarPositions)} - ${this._renderNumberInput(be,{min:pe,label:l("config.status_bar.height")})} - ${this._renderNumberInput(ve,{min:0,max:60,default:this._defaults.status_bar.popup_seconds,label:l("config.status_bar.popup_seconds")})} - ${this._renderStatusBarItem("title")} - ${this._renderStatusBarItem("resolution")} - ${this._renderStatusBarItem("technology")} - ${this._renderStatusBarItem("engine")} -
- `:""} - ${this._renderOptionSetHeader("live")} - ${"live"===this._expandedMenus[bi]?o` -
- ${this._renderSwitch(fe,this._defaults.live.preload)} - ${this._renderSwitch($e,this._defaults.live.draggable)} - ${this._renderSwitch(ye,this._defaults.live.zoomable)} - ${this._renderSwitch(we,this._defaults.live.lazy_load)} - ${this._renderOptionSelector(Se,this._mediaActionNegativeConditions,{multiple:!0})} - ${this._renderOptionSelector(xe,this._mediaActionPositiveConditions,{multiple:!0})} - ${this._renderOptionSelector(Me,this._mediaActionNegativeConditions,{multiple:!0})} - ${this._renderOptionSelector(Ie,this._mediaLiveMuteConditions,{multiple:!0})} - ${this._renderOptionSelector(ke,this._mediaLiveUnmuteConditions,{multiple:!0})} - ${this._renderOptionSelector(Oe,this._transitionEffects)} - ${this._renderSwitch(Ce,this._defaults.live.show_image_during_load)} - ${this._renderViewDisplay("live.display",ze,Ae,Ne,Te)} - ${this._putInSubmenu("live.controls",!0,"config.live.controls.editor_label","mdi:gamepad",o` - ${this._renderSwitch(Be,this._defaults.live.controls.builtin,{label:l("config.common.controls.builtin")})} - ${this._renderNextPreviousControls("live.controls.next_previous",Ee,Pe,{allowIcons:!0})} - ${this._renderThumbnailsControls("live.controls.thumbnails",He,Le,Ve,Ke,Ue,this._defaults.live.controls.thumbnails,{configPathMediaType:je,configPathEventsMediaType:qe,configPathMode:Re})} - ${this._renderMiniTimeline("live.controls.timeline",De,Fe,Ge,Je,Qe,We,this._defaults.live.controls.timeline.show_recordings,Xe)} - ${this._putInSubmenu("live.controls.ptz",!0,"config.live.controls.ptz.editor_label","mdi:pan",o` - ${this._renderOptionSelector(Ye,this._ptzModes)} - ${this._renderOptionSelector(Ze,this._ptzPositions)} - ${this._renderOptionSelector(ea,this._ptzOrientations)} - ${this._renderSwitch(aa,this._defaults.live.controls.ptz.hide_pan_tilt,{label:l("config.live.controls.ptz.hide_pan_tilt")})} - ${this._renderSwitch(ta,this._defaults.live.controls.ptz.hide_pan_tilt,{label:l("config.live.controls.ptz.hide_zoom")})} - ${this._renderSwitch(ia,this._defaults.live.controls.ptz.hide_home,{label:l("config.live.controls.ptz.hide_home")})} - `)} - `)} - ${this._putInSubmenu("live.microphone",!0,"config.live.microphone.editor_label","mdi:microphone",o` - ${this._renderNumberInput(na)} - ${this._renderSwitch(sa,this._defaults.live.microphone.always_connected)} - ${this._renderNumberInput(oa)} - `)} -
- `:""} - ${this._renderOptionSetHeader("media_gallery")} - ${"media_gallery"===this._expandedMenus[bi]?o`
- ${this._renderThumbnailsControls("media_gallery.controls.thumbnails",ra,la,ca,da,ma,this._defaults.media_gallery.controls.thumbnails)} - ${this._renderFilterControls("media_gallery.controls.filter",ua)} -
`:""} - ${this._renderOptionSetHeader("media_viewer")} - ${"media_viewer"===this._expandedMenus[bi]?o`
- ${this._renderOptionSelector(ha,this._mediaActionPositiveConditions,{multiple:!0})} - ${this._renderOptionSelector(_a,this._mediaActionNegativeConditions,{multiple:!0})} - ${this._renderOptionSelector(ga,this._mediaActionNegativeConditions,{multiple:!0})} - ${this._renderOptionSelector(ba,this._mediaActionPositiveConditions,{multiple:!0})} - ${this._renderSwitch(pa,this._defaults.media_viewer.draggable)} - ${this._renderSwitch(va,this._defaults.media_viewer.zoomable)} - ${this._renderSwitch(fa,this._defaults.media_viewer.lazy_load)} - ${this._renderOptionSelector($a,this._transitionEffects)} - ${this._renderSwitch(ya,this._defaults.media_viewer.snapshot_click_plays_clip)} - ${this._renderViewDisplay("media_viewer.display",wa,Sa,xa,Ma)} - ${this._putInSubmenu("media_viewer.controls",!0,"config.media_viewer.controls.editor_label","mdi:gamepad",o` - ${this._renderSwitch(Ia,this._defaults.media_viewer.controls.builtin,{label:l("config.common.controls.builtin")})} - ${this._renderNextPreviousControls("media_viewer.controls.next_previous",ka,Oa,{allowThumbnails:!0})} - ${this._renderThumbnailsControls("media_viewer.controls.thumbnails",Ca,za,Aa,Na,Ta,this._defaults.media_viewer.controls.thumbnails,{configPathMode:Ba})} - ${this._renderMiniTimeline("media_viewer.controls.timeline",Ea,Pa,Ha,La,Va,Ka,this._defaults.media_viewer.controls.timeline.show_recordings,Ua)} - `)} -
`:""} - ${this._renderOptionSetHeader("image")} - ${"image"===this._expandedMenus[bi]?o`
- ${this._renderImageOptions(ja,qa,Ra,Da,Fa)} -
`:""} - ${this._renderOptionSetHeader("timeline")} - ${"timeline"===this._expandedMenus[bi]?o`
- ${this._renderTimelineCoreControls(F,G,J,Q,W,this._defaults.timeline.show_recordings)} - ${this._renderThumbnailsControls("timeline.controls.thumbnails",Ga,Ja,Qa,Wa,Xa,this._defaults.timeline.controls.thumbnails,{configPathMode:Ya})} -
`:""} - ${this._renderOptionSetHeader("dimensions")} - ${"dimensions"===this._expandedMenus[bi]?o`
- ${this._renderOptionSelector(Za,this._aspectRatioModes)} - ${this._renderStringInput(et)} - ${this._renderStringInput(at)} -
`:""} - ${this._renderOptionSetHeader("performance","low"===b(this._config,ui)?"warning":void 0)} - ${"performance"===this._expandedMenus[bi]?o`
- ${"low"===b(this._config,ui)?this._renderInfo(l("config.performance.warning")):o``} - ${this._putInSubmenu("performance.features",!0,"config.performance.features.editor_label","mdi:feature-search",o` - ${this._renderSwitch(tt,this._defaults.performance.features.animated_progress_indicator)} - ${this._renderNumberInput(it,{max:nt})} - ${this._renderNumberInput(st,{min:1})} - `)} - ${this._putInSubmenu("performance.style",!0,"config.performance.style.editor_label","mdi:palette-swatch-variant",o` - ${this._renderSwitch(ot,this._defaults.performance.style.border_radius)} - ${this._renderSwitch(rt,this._defaults.performance.style.box_shadow)} - `)} -
`:""} - ${void 0!==this._config.overrides?o` ${this._renderOptionSetHeader("overrides")} - ${"overrides"===this._expandedMenus[bi]?o`
- ${this._renderInfo(l("config.overrides.info"))} -
`:""}`:o``} -
- `}_closeMenu(e){delete this._expandedMenus[e],this.requestUpdate()}_openMenu(e,a){this._expandedMenus[e]=a,this.requestUpdate()}_toggleMenu(e){if(e&&e.target){const a=e.target.domain,t=e.target.key;this._expandedMenus[a]===t?this._closeMenu(a):this._openMenu(a,t)}}_valueChangedHandler(e,a){if(!this._config||!this.hass)return;let t;if(a.detail&&void 0!==a.detail.value&&(t=a.detail.value,"string"==typeof t&&(t=t.trim())),b(this._config,e)===t)return;const i=m(this._config);""===t||void 0===t?lt(i,e):ct(i,e,t),this._updateConfig(i)}static get styles(){return c('ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n.option {\n padding: 4px 4px;\n cursor: pointer;\n}\n\n.option.option-overrides .title {\n color: var(--warning-color);\n}\n\n.row {\n display: flex;\n margin-bottom: -14px;\n pointer-events: none;\n}\n\n.title {\n padding-left: 16px;\n margin-top: -6px;\n pointer-events: none;\n}\n\n.title.warning {\n color: var(--warning-color);\n}\n\n.secondary {\n padding-left: 40px;\n color: var(--secondary-text-color);\n pointer-events: none;\n}\n\n.values {\n background: var(--secondary-background-color);\n display: grid;\n}\n\n.values + .option,\n.submenu + .option {\n margin-top: 10px;\n}\n\ndiv.upgrade {\n width: auto;\n border: 1px dotted var(--primary-color);\n margin: 10px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\ndiv.upgrade span {\n padding: 10px;\n}\n\n.submenu-header {\n display: flex;\n padding: 10px;\n cursor: pointer;\n}\n\n.submenu.selected > .submenu-header {\n background-color: var(--primary-color);\n color: var(--primary-text-color);\n}\n\n.submenu-header * {\n flex-basis: auto;\n pointer-events: none;\n}\n\n.submenu-header .new-camera {\n font-style: italic;\n}\n\n.submenu:not(.selected) > .submenu-header .new-camera {\n color: var(--secondary-text-color, "black");\n}\n\n.submenu-header ha-icon,\n.submenu-header img {\n padding-right: 15px;\n}\n\n.submenu.selected {\n border: 1px solid var(--primary-color);\n}\n\n.submenu {\n width: calc(100% - 20px);\n margin-left: auto;\n margin-right: auto;\n margin-bottom: 10px;\n}\n\n.submenu:first-child,\n:not(.submenu) + .submenu {\n margin-top: 10px;\n}\n\n.submenu .controls {\n display: inline-block;\n margin-left: auto;\n margin-right: 0px;\n margin-bottom: 5px;\n}\n\n.submenu .controls ha-icon-button.button {\n --mdc-icon-button-size: 32px;\n --mdc-icon-size: calc(var(--mdc-icon-button-size) / 2);\n}\n\nspan.info {\n padding: 10px;\n}\n\nha-selector {\n padding: 10px;\n border: 1px solid var(--divider-color);\n}')}};t([i({attribute:!1})],vi.prototype,"hass",void 0),t([d()],vi.prototype,"_config",void 0),t([d()],vi.prototype,"_defaults",void 0),t([d()],vi.prototype,"_expandedMenus",void 0),vi=t([n("frigate-card-editor")],vi);export{vi as FrigateCardEditor}; diff --git a/config/www/community/frigate-hass-card/editor-13524f00.js.gz b/config/www/community/frigate-hass-card/editor-13524f00.js.gz deleted file mode 100644 index d819494d9fbc6ce8513fc12aa793fff242d21f63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11530 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._setAssigning(!1)},this._keydownEventHandler=e=>{e.key&&!["Control","Alt","Shift","Meta"].includes(e.key)&&(this.setValue({key:e.key,ctrl:e.ctrlKey,alt:e.altKey,shift:e.shiftKey,meta:e.metaKey}),this._setAssigning(!1))},this._host=e,this._host.addController(this)}setValue(i){e(i,this._value)||(this._value=i,this._host.requestUpdate(),this._host.dispatchEvent(new CustomEvent("value-changed",{detail:{value:this._value}})))}getValue(){return this._value}hasValue(){return!!this._value}isAssigning(){return this._assigning}toggleAssigning(){this._setAssigning(!this._assigning)}_setAssigning(e){this._assigning=e,i(this._host,this._assigning,"assigning"),this._assigning?this._host.addEventListener("keydown",this._keydownEventHandler):this._host.removeEventListener("keydown",this._keydownEventHandler),this._host.requestUpdate()}hostConnected(){this._host.addEventListener("blur",this._blurEventHandler)}hostDisconnected(){this._host.removeEventListener("blur",this._blurEventHandler)}}let _n=class extends s{constructor(){super(...arguments),this._controller=new hn(this)}willUpdate(e){e.has("value")&&this._controller.setValue(this.value??null)}render(){if(!this.label)return;const e=e=>o`
-
${e}
-
`;return o` -
${this.label}
- {this._controller.toggleAssigning()}} - > - - - ${this._controller.isAssigning()?"":l("key_assigner.assign")} - - - ${this._controller.hasValue()?o`{this._controller.setValue(null)}} - > - - ${l("key_assigner.unassign")} - `:""} -
- ${this.value?.ctrl?e(l("key_assigner.modifiers.ctrl")):""} - ${this.value?.shift?e(l("key_assigner.modifiers.shift")):""} - ${this.value?.meta?e(l("key_assigner.modifiers.meta")):""} - ${this.value?.alt?e(l("key_assigner.modifiers.alt")):""} - ${this.value?.key?e(this.value.key):""} -
- `}static get styles(){return c('.dotdotdot:after {\n animation: dots 2s linear infinite;\n content: "";\n display: inline-block;\n width: 3em;\n}\n@keyframes dots {\n 0%, 20% {\n content: ".";\n }\n 40% {\n content: "..";\n }\n 60% {\n content: "...";\n }\n 90%, 100% {\n content: "";\n }\n}\n\n:host {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 10px;\n height: 56px;\n border: 1px solid var(--divider-color);\n}\n\n:host([assigning]) ha-button.assign span,\n:host([assigning]) ha-button.assign frigate-card-icon {\n color: var(--warning-color);\n}\n\nfrigate-card-icon {\n padding: 10px;\n}\n\ndiv.label {\n width: 100px;\n margin-left: 4px;\n}\n\ndiv.key-row {\n flex: 1;\n display: flex;\n justify-content: center;\n align-items: center;\n padding-left: 10px;\n padding-right: 10px;\n}\n\ndiv.key {\n display: flex;\n align-items: center;\n height: 90%;\n width: min-content;\n margin-left: 5px;\n margin-right: 5px;\n}\n\ndiv.key-inner {\n height: 100%;\n width: 100%;\n padding-top: 2px;\n padding-bottom: 2px;\n padding-left: 4px;\n padding-right: 4px;\n border: 2px;\n border-radius: 4px;\n border-style: outset;\n border-color: var(--divider-color);\n font-family: monospace;\n text-transform: capitalize;\n}\n\ndiv.unassigned {\n font-style: italic;\n}\n\ndiv.key + div.key:before {\n display: flex;\n align-items: center;\n margin-right: 5px;\n content: " + ";\n}')}};t([n({attribute:!1})],_n.prototype,"label",void 0),t([n({attribute:!1})],_n.prototype,"value",void 0),_n=t([a("frigate-card-key-assigner")],_n);const gn="cameras",bn="options",pn={cameras:{icon:"video",name:l("editor.cameras"),secondary:l("editor.cameras_secondary")},view:{icon:"eye",name:l("editor.view"),secondary:l("editor.view_secondary")},menu:{icon:"menu",name:l("editor.menu"),secondary:l("editor.menu_secondary")},status_bar:{icon:"sign-text",name:l("editor.status_bar"),secondary:l("editor.status_bar_secondary")},live:{icon:"cctv",name:l("editor.live"),secondary:l("editor.live_secondary")},media_gallery:{icon:"grid",name:l("editor.media_gallery"),secondary:l("editor.media_gallery_secondary")},media_viewer:{icon:"filmstrip",name:l("editor.media_viewer"),secondary:l("editor.media_viewer_secondary")},image:{icon:"image",name:l("editor.image"),secondary:l("editor.image_secondary")},timeline:{icon:"chart-gantt",name:l("editor.timeline"),secondary:l("editor.timeline_secondary")},dimensions:{icon:"aspect-ratio",name:l("editor.dimensions"),secondary:l("editor.dimensions_secondary")},performance:{icon:"speedometer",name:l("editor.performance"),secondary:l("editor.performance_secondary")},profiles:{icon:"folder-wrench-outline",name:l("editor.profiles"),secondary:l("editor.profiles_secondary")},overrides:{icon:"file-replace",name:l("editor.overrides"),secondary:l("editor.overrides_secondary")}};let vn=class extends s{constructor(){super(...arguments),this._defaults=u(dn),this._initialized=!1,this._configUpgradeable=!1,this._expandedMenus={},this._viewModes=[{value:"",label:""},{value:"live",label:l("config.view.views.live")},{value:"clips",label:l("config.view.views.clips")},{value:"snapshots",label:l("config.view.views.snapshots")},{value:"recordings",label:l("config.view.views.recordings")},{value:"clip",label:l("config.view.views.clip")},{value:"snapshot",label:l("config.view.views.snapshot")},{value:"recording",label:l("config.view.views.recording")},{value:"image",label:l("config.view.views.image")},{value:"timeline",label:l("config.view.views.timeline")}],this._cameraSelectViewModes=[...this._viewModes,{value:"current",label:l("config.view.views.current")}],this._filterModes=[{value:"",label:""},{value:"none",label:l("config.common.controls.filter.modes.none")},{value:"left",label:l("config.common.controls.filter.modes.left")},{value:"right",label:l("config.common.controls.filter.modes.right")}],this._menuStyles=[{value:"",label:""},{value:"none",label:l("config.menu.styles.none")},{value:"hidden",label:l("config.menu.styles.hidden")},{value:"overlay",label:l("config.menu.styles.overlay")},{value:"hover",label:l("config.menu.styles.hover")},{value:"hover-card",label:l("config.menu.styles.hover-card")},{value:"outside",label:l("config.menu.styles.outside")}],this._menuPositions=[{value:"",label:""},{value:"left",label:l("config.menu.positions.left")},{value:"right",label:l("config.menu.positions.right")},{value:"top",label:l("config.menu.positions.top")},{value:"bottom",label:l("config.menu.positions.bottom")}],this._menuAlignments=[{value:"",label:""},{value:"left",label:l("config.menu.alignments.left")},{value:"right",label:l("config.menu.alignments.right")},{value:"top",label:l("config.menu.alignments.top")},{value:"bottom",label:l("config.menu.alignments.bottom")}],this._nextPreviousControlStyles=[{value:"",label:""},{value:"chevrons",label:l("config.common.controls.next_previous.styles.chevrons")},{value:"icons",label:l("config.common.controls.next_previous.styles.icons")},{value:"none",label:l("config.common.controls.next_previous.styles.none")},{value:"thumbnails",label:l("config.common.controls.next_previous.styles.thumbnails")}],this._aspectRatioModes=[{value:"",label:""},{value:"dynamic",label:l("config.dimensions.aspect_ratio_modes.dynamic")},{value:"static",label:l("config.dimensions.aspect_ratio_modes.static")},{value:"unconstrained",label:l("config.dimensions.aspect_ratio_modes.unconstrained")}],this._thumbnailModes=[{value:"",label:""},{value:"none",label:l("config.common.controls.thumbnails.modes.none")},{value:"above",label:l("config.common.controls.thumbnails.modes.above")},{value:"below",label:l("config.common.controls.thumbnails.modes.below")},{value:"left",label:l("config.common.controls.thumbnails.modes.left")},{value:"right",label:l("config.common.controls.thumbnails.modes.right")}],this._thumbnailMediaTypes=[{value:"",label:""},{value:"events",label:l("config.common.controls.thumbnails.media_types.events")},{value:"recordings",label:l("config.common.controls.thumbnails.media_types.recordings")}],this._thumbnailEventsMediaTypes=[{value:"",label:""},{value:"clips",label:l("config.common.controls.thumbnails.events_media_types.clips")},{value:"snapshots",label:l("config.common.controls.thumbnails.events_media_types.snapshots")}],this._transitionEffects=[{value:"",label:""},{value:"none",label:l("config.media_viewer.transition_effects.none")},{value:"slide",label:l("config.media_viewer.transition_effects.slide")}],this._imageModes=[{value:"",label:""},{value:"camera",label:l("config.common.image.modes.camera")},{value:"entity",label:l("config.common.image.modes.entity")},{value:"screensaver",label:l("config.common.image.modes.screensaver")},{value:"url",label:l("config.common.image.modes.url")}],this._timelineEventsMediaTypes=[{value:"",label:""},{value:"all",label:l("config.common.timeline.events_media_types.all")},{value:"clips",label:l("config.common.timeline.events_media_types.clips")},{value:"snapshots",label:l("config.common.timeline.events_media_types.snapshots")}],this._timelineStyleTypes=[{value:"",label:""},{value:"ribbon",label:l("config.common.timeline.styles.ribbon")},{value:"stack",label:l("config.common.timeline.styles.stack")}],this._darkModes=[{value:"",label:""},{value:"on",label:l("config.view.dark_modes.on")},{value:"off",label:l("config.view.dark_modes.off")},{value:"auto",label:l("config.view.dark_modes.auto")}],this._mediaActionNegativeConditions=[{value:"",label:""},{value:"unselected",label:l("config.common.media_action_conditions.unselected")},{value:"hidden",label:l("config.common.media_action_conditions.hidden")}],this._mediaActionPositiveConditions=[{value:"",label:""},{value:"selected",label:l("config.common.media_action_conditions.selected")},{value:"visible",label:l("config.common.media_action_conditions.visible")}],this._mediaLiveUnmuteConditions=[...this._mediaActionPositiveConditions,{value:"microphone",label:l("config.common.media_action_conditions.microphone_unmute")}],this._mediaLiveMuteConditions=[...this._mediaActionNegativeConditions,{value:"microphone",label:l("config.common.media_action_conditions.microphone_mute")}],this._layoutFits=[{value:"",label:""},{value:"contain",label:l("config.cameras.dimensions.layout.fits.contain")},{value:"cover",label:l("config.cameras.dimensions.layout.fits.cover")},{value:"fill",label:l("config.cameras.dimensions.layout.fits.fill")}],this._miniTimelineModes=[{value:"",label:""},{value:"none",label:l("config.common.controls.timeline.modes.none")},{value:"above",label:l("config.common.controls.timeline.modes.above")},{value:"below",label:l("config.common.controls.timeline.modes.below")}],this._profiles=[{value:"",label:""},{value:"casting",label:l("config.profiles.casting")},{value:"low-performance",label:l("config.profiles.low-performance")},{value:"scrubbing",label:l("config.profiles.scrubbing")}],this._go2rtcModes=[{value:"",label:""},{value:"mse",label:l("config.cameras.go2rtc.modes.mse")},{value:"webrtc",label:l("config.cameras.go2rtc.modes.webrtc")},{value:"mp4",label:l("config.cameras.go2rtc.modes.mp4")},{value:"mjpeg",label:l("config.cameras.go2rtc.modes.mjpeg")}],this._microphoneButtonTypes=[{value:"",label:""},{value:"momentary",label:l("config.menu.buttons.types.momentary")},{value:"toggle",label:l("config.menu.buttons.types.toggle")}],this._displayModes=[{value:"",label:""},{value:"single",label:l("display_modes.single")},{value:"grid",label:l("display_modes.grid")}],this._castMethods=[{value:"",label:""},{value:"standard",label:l("config.cameras.cast.methods.standard")},{value:"dashboard",label:l("config.cameras.cast.methods.dashboard")}],this._ptzModes=[{value:"",label:""},{value:"on",label:l("config.live.controls.ptz.modes.on")},{value:"off",label:l("config.live.controls.ptz.modes.off")}],this._ptzOrientations=[{value:"",label:""},{value:"vertical",label:l("config.live.controls.ptz.orientations.vertical")},{value:"horizontal",label:l("config.live.controls.ptz.orientations.horizontal")}],this._ptzPositions=[{value:"",label:""},{value:"top-left",label:l("config.live.controls.ptz.positions.top-left")},{value:"top-right",label:l("config.live.controls.ptz.positions.top-right")},{value:"bottom-left",label:l("config.live.controls.ptz.positions.bottom-left")},{value:"bottom-right",label:l("config.live.controls.ptz.positions.bottom-right")}],this._triggersActionsInteractionModes=[{value:"",label:""},{value:"all",label:l("config.view.triggers.actions.interaction_modes.all")},{value:"inactive",label:l("config.view.triggers.actions.interaction_modes.inactive")},{value:"active",label:l("config.view.triggers.actions.interaction_modes.active")}],this._triggersActionsTrigger=[{value:"",label:""},{value:"default",label:l("config.view.triggers.actions.triggers.default")},{value:"live",label:l("config.view.triggers.actions.triggers.live")},{value:"media",label:l("config.view.triggers.actions.triggers.media")},{value:"none",label:l("config.view.triggers.actions.triggers.none")}],this._triggersActionsUntrigger=[{value:"",label:""},{value:"default",label:l("config.view.triggers.actions.untriggers.default")},{value:"none",label:l("config.view.triggers.actions.untriggers.none")}],this._triggersEvents=[{value:"",label:""},{value:"events",label:l("config.cameras.triggers.events.events")},{value:"clips",label:l("config.cameras.triggers.events.clips")},{value:"snapshots",label:l("config.cameras.triggers.events.snapshots")}],this._timelinePanModes=[{value:"",label:""},{value:"pan",label:l("config.common.controls.timeline.pan_modes.pan")},{value:"seek",label:l("config.common.controls.timeline.pan_modes.seek")},{value:"seek-in-media",label:l("config.common.controls.timeline.pan_modes.seek-in-media")},{value:"seek-in-camera",label:l("config.common.controls.timeline.pan_modes.seek-in-camera")}],this._capabilities=[{value:"",label:""},{value:"live",label:l("config.cameras.capabilities.capabilities.live")},{value:"substream",label:l("config.cameras.capabilities.capabilities.substream")},{value:"clips",label:l("config.cameras.capabilities.capabilities.clips")},{value:"recordings",label:l("config.cameras.capabilities.capabilities.recordings")},{value:"snapshots",label:l("config.cameras.capabilities.capabilities.snapshots")},{value:"favorite-events",label:l("config.cameras.capabilities.capabilities.favorite-events")},{value:"favorite-recordings",label:l("config.cameras.capabilities.capabilities.favorite-recordings")},{value:"seek",label:l("config.cameras.capabilities.capabilities.seek")},{value:"ptz",label:l("config.cameras.capabilities.capabilities.ptz")},{value:"menu",label:l("config.cameras.capabilities.capabilities.menu")}],this._defaultResetInteractionModes=[{value:"",label:""},{value:"all",label:l("config.view.default_reset.interaction_modes.all")},{value:"inactive",label:l("config.view.default_reset.interaction_modes.inactive")},{value:"active",label:l("config.view.default_reset.interaction_modes.active")}],this._proxyMedia=[{value:"",label:""},{value:"auto",label:l("config.cameras.proxy.media.auto")},{value:!0,label:l("config.cameras.proxy.media.true")},{value:!1,label:l("config.cameras.proxy.media.false")}],this._proxySSLCiphers=[{value:"",label:""},{value:"auto",label:l("config.cameras.proxy.ssl_ciphers.auto")},{value:"default",label:l("config.cameras.proxy.ssl_ciphers.default")},{value:"insecure",label:l("config.cameras.proxy.ssl_ciphers.insecure")},{value:"intermediate",label:l("config.cameras.proxy.ssl_ciphers.intermediate")},{value:"modern",label:l("config.cameras.proxy.ssl_ciphers.modern")}],this._proxySSLVerification=[{value:"",label:""},{value:"auto",label:l("config.cameras.proxy.ssl_verification.auto")},{value:!0,label:l("config.cameras.proxy.ssl_verification.true")},{value:!1,label:l("config.cameras.proxy.ssl_verification.false")}],this._reolinkMediaResolution=[{value:"",label:""},{value:"high",label:l("config.cameras.reolink.media_resolution.high")},{value:"low",label:l("config.cameras.reolink.media_resolution.low")}],this._statusBarStyles=[{value:"",label:""},{value:"hover",label:l("config.status_bar.styles.hover")},{value:"hover-card",label:l("config.status_bar.styles.hover-card")},{value:"none",label:l("config.status_bar.styles.none")},{value:"outside",label:l("config.status_bar.styles.outside")},{value:"overlay",label:l("config.status_bar.styles.overlay")},{value:"popup",label:l("config.status_bar.styles.popup")}],this._statusBarPositions=[{value:"",label:""},{value:"top",label:l("config.status_bar.positions.top")},{value:"bottom",label:l("config.status_bar.positions.bottom")}]}setConfig(e){this._config=e,this._configUpgradeable=m(e);const i=h.safeParse(this._config.profiles);if(i.success){const e=u(dn);_(this._config,e,i.data),this._defaults=e}}willUpdate(){this._initialized||g().then((e=>{e&&(this._initialized=!0)}))}_renderOptionSetHeader(e,i){const t=pn[e];return o` -
-
- -
${t.name}
-
-
${t.secondary}
-
- `}_getLabel(e){const i=e.split(".").filter((e=>!e.match(/^\[[0-9]+\]$/))).join(".");return l(`config.${i}`)}_renderEntitySelector(e,i){if(this._config)return o` - this._valueChangedHandler(e,i)} - > - - `}_renderOptionSelector(e,i=[],t){if(this._config)return o` - this._valueChangedHandler(e,i)} - > - - `}_renderIconSelector(e,i){if(this._config)return o` - this._valueChangedHandler(e,i)} - > - - `}_renderNumberInput(e,i){if(!this._config)return;const t=b(this._config,e),n=void 0===i?.max?"box":"slider";return o` - this._valueChangedHandler(e,i)} - > - - `}_renderInfo(e){return o` ${e}`}_getEditorCameraTitle(e,i){return"string"==typeof i?.title&&i.title||("string"==typeof i?.camera_entity?p(this.hass,i.camera_entity):"")||"object"==typeof i?.webrtc_card&&i.webrtc_card&&"string"==typeof i.webrtc_card.entity&&i.webrtc_card.entity||("object"==typeof i?.frigate&&i.frigate&&"string"==typeof i?.frigate.camera_name&&i.frigate.camera_name?v(i.frigate.camera_name):"")||"string"==typeof i?.id&&i.id||l("editor.camera")+" #"+e}_renderViewDefaultResetMenu(){return this._putInSubmenu("view.default_reset",!0,`config.${f}.editor_label`,"mdi:restart",o` - ${this._renderSwitch($,this._defaults.view.default_reset.after_interaction)} - ${this._renderNumberInput(y)} - ${this._renderOptionSelector(w,this._defaultResetInteractionModes,{label:l("config.view.default_reset.interaction_mode")})}, - ${this._renderOptionSelector(S,this.hass?x(this.hass):[],{multiple:!0})} - `)}_renderViewTriggersMenu(){return this._putInSubmenu("view.triggers",!0,`config.${M}.editor_label`,"mdi:target-account",o` - ${this._renderSwitch(I,this._defaults.view.triggers.filter_selected_camera,{label:l(`config.${I}`)})} - ${this._renderSwitch(k,this._defaults.view.triggers.show_trigger_status,{label:l(`config.${k}`)})} - ${this._renderNumberInput(O,{default:this._defaults.view.triggers.untrigger_seconds})} - ${this._putInSubmenu("view.triggers.actions",!0,`config.${C}.editor_label`,"mdi:cogs",o` ${this._renderOptionSelector(z,this._triggersActionsTrigger,{label:l("config.view.triggers.actions.trigger")})} - ${this._renderOptionSelector(A,this._triggersActionsUntrigger,{label:l("config.view.triggers.actions.untrigger")})} - ${this._renderOptionSelector(N,this._triggersActionsInteractionModes,{label:l("config.view.triggers.actions.interaction_mode")})}`)} - `)}_renderKeyAssigner(e,i){return o` this._valueChangedHandler(e,i)} - >`}_renderViewKeyboardShortcutMenu(){return this._putInSubmenu("view.keyboard_shortcuts",!0,`config.${T}.editor_label`,"mdi:keyboard",o` - ${this._renderSwitch(B,this._defaults.view.keyboard_shortcuts.enabled,{label:l(`config.${B}`)})} - ${this._renderKeyAssigner(E,this._defaults.view.keyboard_shortcuts.ptz_left)} - ${this._renderKeyAssigner(P,this._defaults.view.keyboard_shortcuts.ptz_right)} - ${this._renderKeyAssigner(H,this._defaults.view.keyboard_shortcuts.ptz_up)} - ${this._renderKeyAssigner(L,this._defaults.view.keyboard_shortcuts.ptz_down)} - ${this._renderKeyAssigner(V,this._defaults.view.keyboard_shortcuts.ptz_zoom_in)} - ${this._renderKeyAssigner(K,this._defaults.view.keyboard_shortcuts.ptz_zoom_out)} - ${this._renderKeyAssigner(U,this._defaults.view.keyboard_shortcuts.ptz_home)} - `)}_renderStatusBarItem(e){return o` ${this._putInSubmenu("status_bar.items",e,`config.status_bar.items.${e}`,"mdi:feature-search",o` - ${this._renderSwitch(`${j}.${e}.enabled`,this._defaults.status_bar.items[e]?.enabled??!0,{label:l("config.status_bar.items.enabled")})} - ${this._renderNumberInput(`${j}.${e}.priority`,{max:q,default:this._defaults.status_bar.items[e]?.priority,label:l("config.status_bar.items.priority")})} - `)}`}_renderMenuButton(e,i){const t=[{value:"",label:""},{value:"matching",label:l("config.menu.buttons.alignments.matching")},{value:"opposing",label:l("config.menu.buttons.alignments.opposing")}];return o` ${this._putInSubmenu("menu.buttons",e,`config.menu.buttons.${e}`,"mdi:gesture-tap-button",o` - ${this._renderSwitch(`${R}.${e}.enabled`,this._defaults.menu.buttons[e]?.enabled??!0,{label:l("config.menu.buttons.enabled")})} - ${this._renderOptionSelector(`${R}.${e}.alignment`,t,{label:l("config.menu.buttons.alignment")})} - ${this._renderSwitch(`${R}.${e}.permanent`,this._defaults.menu.buttons[e]?.permanent??!1,{label:l("config.menu.buttons.permanent")})} - ${this._renderNumberInput(`${R}.${e}.priority`,{max:D,default:this._defaults.menu.buttons[e]?.priority,label:l("config.menu.buttons.priority")})} - ${this._renderIconSelector(`${R}.${e}.icon`,{label:l("config.menu.buttons.icon")})} - ${i} - `)}`}_putInSubmenu(e,i,t,n,a){const s=this._expandedMenus[e]===i;return o`
- - ${s?o`
${a}
`:""} -
`}_renderMediaLayout(e,i,t,n,a,s,r,c,d,u,m,h){return this._putInSubmenu(e,!0,i,"mdi:page-layout-body",o` - ${this._renderNumberInput(u,{min:0,max:10,label:l("config.cameras.dimensions.layout.zoom"),step:.1})} - ${this._renderNumberInput(m,{min:0,max:100,label:l("config.cameras.dimensions.layout.pan.x")})} - ${this._renderNumberInput(h,{min:0,max:100,label:l("config.cameras.dimensions.layout.pan.y")})} - ${this._renderOptionSelector(t,this._layoutFits,{label:l("config.cameras.dimensions.layout.fit")})} - ${this._putInSubmenu(`${e}.position`,!0,"config.cameras.dimensions.layout.position.editor_label","mdi:aspect-ratio",o` ${this._renderNumberInput(n,{min:0,max:100,label:l("config.cameras.dimensions.layout.position.x")})} - ${this._renderNumberInput(a,{min:0,max:100,label:l("config.cameras.dimensions.layout.position.y")})}`)} - ${this._putInSubmenu(`${e}.view_box`,!0,"config.cameras.dimensions.layout.view_box.editor_label","mdi:crop",o` - ${this._renderNumberInput(s,{min:0,max:100,label:l("config.cameras.dimensions.layout.view_box.top")})} - ${this._renderNumberInput(r,{min:0,max:100,label:l("config.cameras.dimensions.layout.view_box.bottom")})} - ${this._renderNumberInput(c,{min:0,max:100,label:l("config.cameras.dimensions.layout.view_box.left")})} - ${this._renderNumberInput(d,{min:0,max:100,label:l("config.cameras.dimensions.layout.view_box.right")})} - `)} - `)}_renderTimelineCoreControls(e,i,t,n,a,s,r){return o` - ${this._renderOptionSelector(e,this._timelineStyleTypes,{label:l(`config.common.${F}`)})} - ${r?this._renderOptionSelector(r,this._timelinePanModes,{label:l("config.common.controls.timeline.pan_mode")}):""} - ${this._renderNumberInput(i,{label:l(`config.common.${G}`)})} - ${this._renderNumberInput(t,{label:l(`config.common.${J}`)})} - ${this._renderOptionSelector(n,this._timelineEventsMediaTypes,{label:l(`config.common.${Q}`)})} - ${this._renderSwitch(a,s,{label:l(`config.common.${W}`)})} - `}_renderMiniTimeline(e,i,t,n,a,s,r,c,d){return this._putInSubmenu(e,!0,"config.common.controls.timeline.editor_label","mdi:chart-gantt",o` ${this._renderOptionSelector(i,this._miniTimelineModes,{label:l("config.common.controls.timeline.mode")})} - ${this._renderTimelineCoreControls(t,n,a,s,r,c,d)}`)}_renderViewDisplay(e,i,t,n,a){return this._putInSubmenu(e,!0,"config.common.display.editor_label","mdi:palette-swatch",o` - ${this._renderOptionSelector(i,this._displayModes,{label:l("config.common.display.mode")})} - ${this._renderNumberInput(t,{min:0,label:l("config.common.display.grid_selected_width_factor")})} - ${this._renderNumberInput(n,{min:0,label:l("config.common.display.grid_columns")})} - ${this._renderNumberInput(a,{min:0,label:l("config.common.display.grid_max_columns")})} - `)}_renderNextPreviousControls(e,i,t,n){return this._putInSubmenu(e,!0,"config.common.controls.next_previous.editor_label","mdi:arrow-right-bold-circle",o` - ${this._renderOptionSelector(i,this._nextPreviousControlStyles.filter((e=>!(!n?.allowThumbnails&&"thumbnails"===e.value||!n?.allowIcons&&"icons"===e.value))),{label:l("config.common.controls.next_previous.style")})} - ${this._renderNumberInput(t,{min:X,label:l("config.common.controls.next_previous.size")})} - `)}_renderThumbnailsControls(e,i,t,n,a,s,r,c){return this._putInSubmenu(e,!0,"config.common.controls.thumbnails.editor_label","mdi:image-text",o` - ${c?.configPathMode?o`${this._renderOptionSelector(c.configPathMode,this._thumbnailModes,{label:l("config.common.controls.thumbnails.mode")})}`:o``} - ${c?.configPathMediaType?o`${this._renderOptionSelector(c.configPathMediaType,this._thumbnailMediaTypes,{label:l("config.common.controls.thumbnails.media_type")})}`:o``} - ${c?.configPathEventsMediaType?o`${this._renderOptionSelector(c.configPathEventsMediaType,this._thumbnailEventsMediaTypes,{label:l("config.common.controls.thumbnails.events_media_type")})}`:o``} - ${this._renderNumberInput(i,{min:Y,max:Z,label:l("config.common.controls.thumbnails.size")})} - ${this._renderSwitch(t,r.show_details,{label:l("config.common.controls.thumbnails.show_details")})} - ${this._renderSwitch(n,r.show_favorite_control,{label:l("config.common.controls.thumbnails.show_favorite_control")})} - ${this._renderSwitch(a,r.show_timeline_control,{label:l("config.common.controls.thumbnails.show_timeline_control")})} - ${this._renderSwitch(s,r.show_download_control,{label:l("config.common.controls.thumbnails.show_download_control")})} - `)}_renderFilterControls(e,i){return this._putInSubmenu(e,!0,"config.common.controls.filter.editor_label","mdi:filter-cog",o` - ${i?o`${this._renderOptionSelector(i,this._filterModes,{label:l("config.common.controls.filter.mode")})}`:o``} - `)}_renderImageOptions(e,i,t,n,a){return o` - ${this._renderOptionSelector(e,this._imageModes,{label:l("config.common.image.mode")})} - ${this._renderStringInput(i,{label:l("config.common.image.url")})} - ${this._renderOptionSelector(t,this.hass?x(this.hass):[],{label:l("config.common.image.entity")})} - ${this._renderStringInput(n,{label:l("config.common.image.entity_parameters")})} - ${this._renderNumberInput(a,{label:l("config.common.image.refresh_seconds")})} - `}_renderCamera(e,i,t,n){const a=[{value:"",label:""},{value:"auto",label:l("config.cameras.live_providers.auto")},{value:"ha",label:l("config.cameras.live_providers.ha")},{value:"image",label:l("config.cameras.live_providers.image")},{value:"jsmpeg",label:l("config.cameras.live_providers.jsmpeg")},{value:"go2rtc",label:l("config.cameras.live_providers.go2rtc")},{value:"webrtc-card",label:l("config.cameras.live_providers.webrtc-card")}],s=[];e.forEach(((e,t)=>{t!==i&&s.push({value:ee(e),label:this._getEditorCameraTitle(t,e)})}));const c=e=>{if(this._config){const i=u(this._config);e(i)&&this._updateConfig(i)}},d={submenu:!0,selected:this._expandedMenus[gn]===i};return o` -
- - ${this._expandedMenus[gn]===i?o`
-
- !n&&c((e=>!!(Array.isArray(e.cameras)&&i>0)&&(dt(e.cameras,i,i-1),this._openMenu(gn,i-1),!0)))} - > - - - =this._config.cameras.length-1} - @click=${()=>!n&&c((e=>!!(Array.isArray(e.cameras)&&i - - - {c((e=>!!Array.isArray(e.cameras)&&(e.cameras.splice(i,1),this._closeMenu(gn),!0)))}} - > - - -
- ${this._renderEntitySelector(ie(ut,i),"camera")} - ${this._renderOptionSelector(ie(mt,i),a)} - ${this._renderStringInput(ie(ht,i))} - ${this._renderIconSelector(ie(_t,i),{label:l("config.cameras.icon")})} - ${this._renderStringInput(ie(gt,i))} - ${this._putInSubmenu("cameras.engine",!0,"config.cameras.engines.editor_label","mdi:engine",o`${this._putInSubmenu("cameras.frigate",i,"config.cameras.frigate.editor_label","frigate",o` - ${this._renderStringInput(ie(bt,i))} - ${this._renderStringInput(ie(pt,i))} - ${this._renderOptionSelector(ie(vt,i),[],{multiple:!0,label:l("config.cameras.frigate.labels")})} - ${this._renderOptionSelector(ie(ft,i),[],{multiple:!0,label:l("config.cameras.frigate.zones")})} - ${this._renderStringInput(ie($t,i))} - `)} - ${this._putInSubmenu("cameras.motioneye",i,"config.cameras.motioneye.editor_label","motioneye",o` ${this._renderStringInput(ie(yt,i))} - ${this._renderStringInput(ie(wt,i))} - ${this._renderStringInput(ie(St,i))} - ${this._renderStringInput(ie(xt,i))} - ${this._renderStringInput(ie(Mt,i))}`)} - ${this._putInSubmenu("cameras.reolink",i,"config.cameras.reolink.editor_label","reolink",o` ${this._renderStringInput(ie(It,i))} - ${this._renderOptionSelector(ie(kt,i),this._reolinkMediaResolution,{label:l("config.cameras.reolink.media_resolution.editor_label")})}`)}`)} - ${this._putInSubmenu("cameras.live_provider",!0,"config.cameras.live_provider_options.editor_label","mdi:cctv",o` ${this._putInSubmenu("cameras.go2rtc",i,"config.cameras.go2rtc.editor_label","mdi:alpha-g-circle",o`${this._renderOptionSelector(ie(Ot,i),this._go2rtcModes,{multiple:!0,label:l("config.cameras.go2rtc.modes.editor_label")})} - ${this._renderStringInput(ie(Ct,i))}`)} - ${this._putInSubmenu("cameras.image",!0,"config.cameras.image.editor_label","mdi:image",this._renderImageOptions(ie(zt,i),ie(At,i),ie(Nt,i),ie(Tt,i),ie(Bt,i)))} - ${this._putInSubmenu("cameras.webrtc_card",i,"config.cameras.webrtc_card.editor_label","mdi:webrtc",o`${this._renderEntitySelector(ie(Et,i),"camera")} - ${this._renderStringInput(ie(Pt,i))}`)}`)} - ${this._putInSubmenu("cameras.dependencies",i,"config.cameras.dependencies.editor_label","mdi:graph",o` ${this._renderSwitch(ie(Ht,i),this._defaults.cameras.dependencies.all_cameras)} - ${this._renderOptionSelector(ie(Lt,i),s,{multiple:!0})}`)} - ${this._putInSubmenu("cameras.triggers",i,"config.cameras.triggers.editor_label","mdi:magnify-scan",o` - ${this._renderSwitch(ie(Vt,i),this._defaults.cameras.triggers.occupancy)} - ${this._renderSwitch(ie(Kt,i),this._defaults.cameras.triggers.motion)} - ${this._renderOptionSelector(ie(Ut,i),t,{multiple:!0})} - ${this._renderOptionSelector(ie(jt,i),this._triggersEvents,{multiple:!0,label:l("config.cameras.triggers.events.editor_label")})} - `)} - ${this._putInSubmenu("cameras.cast",i,"config.cameras.cast.editor_label","mdi:cast",o` - ${this._renderOptionSelector(ie(qt,i),this._castMethods)} - ${this._renderStringInput(ie(Rt,i))} - ${this._renderStringInput(ie(Dt,i))} - `)} - ${this._putInSubmenu("cameras.dimensions",i,"config.cameras.dimensions.editor_label","mdi:aspect-ratio",o` - ${this._renderStringInput(ie(Ft,i))} - ${this._renderMediaLayout("cameras.dimensions.layout","config.cameras.dimensions.layout.editor_label",ie(Gt,i),ie(Jt,i),ie(Qt,i),ie(Wt,i),ie(Xt,i),ie(Yt,i),ie(Zt,i),ie(en,i),ie(tn,i),ie(nn,i))} - `)} - ${this._putInSubmenu("cameras.capabilities",i,"config.cameras.capabilities.editor_label","mdi:cog-stop",o` - ${this._renderOptionSelector(ie(an,i),this._capabilities,{multiple:!0})} - ${this._renderOptionSelector(ie(sn,i),this._capabilities,{multiple:!0})} - `)} - ${this._putInSubmenu("cameras.proxy",i,"config.cameras.proxy.editor_label","mdi:arrow-decision",o` - ${this._renderOptionSelector(ie(on,i),this._proxyMedia,{label:l("config.cameras.proxy.media.editor_label")})} - ${this._renderSwitch(ie(rn,i),this._defaults.cameras.proxy.dynamic)} - ${this._renderOptionSelector(ie(ln,i),this._proxySSLVerification,{label:l("config.cameras.proxy.ssl_verification.editor_label")})} - ${this._renderOptionSelector(ie(cn,i),this._proxySSLCiphers,{label:l("config.cameras.proxy.ssl_ciphers.editor_label")})} - `)} -
`:""} -
- `}_renderStringInput(e,i){if(this._config)return o` - this._valueChangedHandler(e,i)} - > - - `}_renderSwitch(e,i,t){if(this._config)return o` - this._valueChangedHandler(e,i)} - > - - `}_updateConfig(e){this._config=e,te(this,"config-changed",{config:this._config})}render(){if(!this.hass||!this._config)return o``;const e=x(this.hass),i=b(this._config,un)||[];return o` - ${this._configUpgradeable?o`
- ${l("editor.upgrade_available")} - - {if(this._config){const e=u(this._config);ne(e),this._updateConfig(e)}}} - > - - -
-
`:o``} -
- ${this._renderOptionSetHeader("cameras")} - ${"cameras"===this._expandedMenus[bn]?o` -
- ${i.map(((t,n)=>this._renderCamera(i,n,e)))} - ${this._renderCamera(i,i.length,e,!0)} -
- `:""} - ${this._renderOptionSetHeader("profiles")} - ${"profiles"===this._expandedMenus[bn]?o`
- ${this._renderOptionSelector(ae,this._profiles,{multiple:!0,label:l("config.profiles.editor_label")})} -
`:""} - ${this._renderOptionSetHeader("view")} - ${"view"===this._expandedMenus[bn]?o` -
- ${this._renderOptionSelector(se,this._viewModes)} - ${this._renderOptionSelector(oe,this._cameraSelectViewModes)} - ${this._renderOptionSelector(re,this._darkModes)} - ${this._renderNumberInput(le)} - ${this._renderSwitch(ce,this._defaults.view.default_cycle_camera)} - ${this._renderViewDefaultResetMenu()} ${this._renderViewTriggersMenu()} - ${this._renderViewKeyboardShortcutMenu()} -
- `:""} - ${this._renderOptionSetHeader("menu")} - ${"menu"===this._expandedMenus[bn]?o` -
- ${this._renderOptionSelector(de,this._menuStyles)} - ${this._renderOptionSelector(ue,this._menuPositions)} - ${this._renderOptionSelector(me,this._menuAlignments)} - ${this._renderNumberInput(he,{min:X})} - ${this._renderMenuButton("frigate")} - ${this._renderMenuButton("cameras")} - ${this._renderMenuButton("substreams")} - ${this._renderMenuButton("live")} - ${this._renderMenuButton("clips")} - ${this._renderMenuButton("snapshots")} - ${this._renderMenuButton("recordings")} - ${this._renderMenuButton("image")} - ${this._renderMenuButton("download")} - ${this._renderMenuButton("camera_ui")} - ${this._renderMenuButton("fullscreen")} - ${this._renderMenuButton("expand")} - ${this._renderMenuButton("timeline")} - ${this._renderMenuButton("media_player")} - ${this._renderMenuButton("microphone",o`${this._renderOptionSelector(`${R}.microphone.type`,this._microphoneButtonTypes,{label:l("config.menu.buttons.type")})}`)} - ${this._renderMenuButton("play")} - ${this._renderMenuButton("mute")} - ${this._renderMenuButton("screenshot")} - ${this._renderMenuButton("display_mode")} - ${this._renderMenuButton("ptz_controls")} - ${this._renderMenuButton("ptz_home")} -
- `:""} - ${this._renderOptionSetHeader("status_bar")} - ${"status_bar"===this._expandedMenus[bn]?o` -
- ${this._renderOptionSelector(_e,this._statusBarStyles)} - ${this._renderOptionSelector(ge,this._statusBarPositions)} - ${this._renderNumberInput(be,{min:pe,label:l("config.status_bar.height")})} - ${this._renderNumberInput(ve,{min:0,max:60,default:this._defaults.status_bar.popup_seconds,label:l("config.status_bar.popup_seconds")})} - ${this._renderStatusBarItem("title")} - ${this._renderStatusBarItem("resolution")} - ${this._renderStatusBarItem("technology")} - ${this._renderStatusBarItem("engine")} -
- `:""} - ${this._renderOptionSetHeader("live")} - ${"live"===this._expandedMenus[bn]?o` -
- ${this._renderSwitch(fe,this._defaults.live.preload)} - ${this._renderSwitch($e,this._defaults.live.draggable)} - ${this._renderSwitch(ye,this._defaults.live.zoomable)} - ${this._renderSwitch(we,this._defaults.live.lazy_load)} - ${this._renderOptionSelector(Se,this._mediaActionNegativeConditions,{multiple:!0})} - ${this._renderOptionSelector(xe,this._mediaActionPositiveConditions,{multiple:!0})} - ${this._renderOptionSelector(Me,this._mediaActionNegativeConditions,{multiple:!0})} - ${this._renderOptionSelector(Ie,this._mediaLiveMuteConditions,{multiple:!0})} - ${this._renderOptionSelector(ke,this._mediaLiveUnmuteConditions,{multiple:!0})} - ${this._renderOptionSelector(Oe,this._transitionEffects)} - ${this._renderSwitch(Ce,this._defaults.live.show_image_during_load)} - ${this._renderViewDisplay("live.display",ze,Ae,Ne,Te)} - ${this._putInSubmenu("live.controls",!0,"config.live.controls.editor_label","mdi:gamepad",o` - ${this._renderSwitch(Be,this._defaults.live.controls.builtin,{label:l("config.common.controls.builtin")})} - ${this._renderNextPreviousControls("live.controls.next_previous",Ee,Pe,{allowIcons:!0})} - ${this._renderThumbnailsControls("live.controls.thumbnails",He,Le,Ve,Ke,Ue,this._defaults.live.controls.thumbnails,{configPathMediaType:je,configPathEventsMediaType:qe,configPathMode:Re})} - ${this._renderMiniTimeline("live.controls.timeline",De,Fe,Ge,Je,Qe,We,this._defaults.live.controls.timeline.show_recordings,Xe)} - ${this._putInSubmenu("live.controls.ptz",!0,"config.live.controls.ptz.editor_label","mdi:pan",o` - ${this._renderOptionSelector(Ye,this._ptzModes)} - ${this._renderOptionSelector(Ze,this._ptzPositions)} - ${this._renderOptionSelector(ei,this._ptzOrientations)} - ${this._renderSwitch(ii,this._defaults.live.controls.ptz.hide_pan_tilt,{label:l("config.live.controls.ptz.hide_pan_tilt")})} - ${this._renderSwitch(ti,this._defaults.live.controls.ptz.hide_pan_tilt,{label:l("config.live.controls.ptz.hide_zoom")})} - ${this._renderSwitch(ni,this._defaults.live.controls.ptz.hide_home,{label:l("config.live.controls.ptz.hide_home")})} - `)} - `)} - ${this._putInSubmenu("live.microphone",!0,"config.live.microphone.editor_label","mdi:microphone",o` - ${this._renderNumberInput(ai)} - ${this._renderSwitch(si,this._defaults.live.microphone.always_connected)} - ${this._renderNumberInput(oi)} - `)} -
- `:""} - ${this._renderOptionSetHeader("media_gallery")} - ${"media_gallery"===this._expandedMenus[bn]?o`
- ${this._renderThumbnailsControls("media_gallery.controls.thumbnails",ri,li,ci,di,ui,this._defaults.media_gallery.controls.thumbnails)} - ${this._renderFilterControls("media_gallery.controls.filter",mi)} -
`:""} - ${this._renderOptionSetHeader("media_viewer")} - ${"media_viewer"===this._expandedMenus[bn]?o`
- ${this._renderOptionSelector(hi,this._mediaActionPositiveConditions,{multiple:!0})} - ${this._renderOptionSelector(_i,this._mediaActionNegativeConditions,{multiple:!0})} - ${this._renderOptionSelector(gi,this._mediaActionNegativeConditions,{multiple:!0})} - ${this._renderOptionSelector(bi,this._mediaActionPositiveConditions,{multiple:!0})} - ${this._renderSwitch(pi,this._defaults.media_viewer.draggable)} - ${this._renderSwitch(vi,this._defaults.media_viewer.zoomable)} - ${this._renderSwitch(fi,this._defaults.media_viewer.lazy_load)} - ${this._renderOptionSelector($i,this._transitionEffects)} - ${this._renderSwitch(yi,this._defaults.media_viewer.snapshot_click_plays_clip)} - ${this._renderViewDisplay("media_viewer.display",wi,Si,xi,Mi)} - ${this._putInSubmenu("media_viewer.controls",!0,"config.media_viewer.controls.editor_label","mdi:gamepad",o` - ${this._renderSwitch(Ii,this._defaults.media_viewer.controls.builtin,{label:l("config.common.controls.builtin")})} - ${this._renderNextPreviousControls("media_viewer.controls.next_previous",ki,Oi,{allowThumbnails:!0})} - ${this._renderThumbnailsControls("media_viewer.controls.thumbnails",Ci,zi,Ai,Ni,Ti,this._defaults.media_viewer.controls.thumbnails,{configPathMode:Bi})} - ${this._renderMiniTimeline("media_viewer.controls.timeline",Ei,Pi,Hi,Li,Vi,Ki,this._defaults.media_viewer.controls.timeline.show_recordings,Ui)} - `)} -
`:""} - ${this._renderOptionSetHeader("image")} - ${"image"===this._expandedMenus[bn]?o`
- ${this._renderImageOptions(ji,qi,Ri,Di,Fi)} -
`:""} - ${this._renderOptionSetHeader("timeline")} - ${"timeline"===this._expandedMenus[bn]?o`
- ${this._renderTimelineCoreControls(F,G,J,Q,W,this._defaults.timeline.show_recordings)} - ${this._renderThumbnailsControls("timeline.controls.thumbnails",Gi,Ji,Qi,Wi,Xi,this._defaults.timeline.controls.thumbnails,{configPathMode:Yi})} -
`:""} - ${this._renderOptionSetHeader("dimensions")} - ${"dimensions"===this._expandedMenus[bn]?o`
- ${this._renderOptionSelector(Zi,this._aspectRatioModes)} - ${this._renderStringInput(et)} - ${this._renderStringInput(it)} -
`:""} - ${this._renderOptionSetHeader("performance","low"===b(this._config,mn)?"warning":void 0)} - ${"performance"===this._expandedMenus[bn]?o`
- ${"low"===b(this._config,mn)?this._renderInfo(l("config.performance.warning")):o``} - ${this._putInSubmenu("performance.features",!0,"config.performance.features.editor_label","mdi:feature-search",o` - ${this._renderSwitch(tt,this._defaults.performance.features.animated_progress_indicator)} - ${this._renderNumberInput(nt,{max:at})} - ${this._renderNumberInput(st,{min:1})} - `)} - ${this._putInSubmenu("performance.style",!0,"config.performance.style.editor_label","mdi:palette-swatch-variant",o` - ${this._renderSwitch(ot,this._defaults.performance.style.border_radius)} - ${this._renderSwitch(rt,this._defaults.performance.style.box_shadow)} - `)} -
`:""} - ${void 0!==this._config.overrides?o` ${this._renderOptionSetHeader("overrides")} - ${"overrides"===this._expandedMenus[bn]?o`
- ${this._renderInfo(l("config.overrides.info"))} -
`:""}`:o``} -
- `}_closeMenu(e){delete this._expandedMenus[e],this.requestUpdate()}_openMenu(e,i){this._expandedMenus[e]=i,this.requestUpdate()}_toggleMenu(e){if(e&&e.target){const i=e.target.domain,t=e.target.key;this._expandedMenus[i]===t?this._closeMenu(i):this._openMenu(i,t)}}_valueChangedHandler(e,i){if(!this._config||!this.hass)return;let t;if(i.detail&&void 0!==i.detail.value&&(t=i.detail.value,"string"==typeof t&&(t=t.trim())),b(this._config,e)===t)return;const n=u(this._config);""===t||void 0===t?lt(n,e):ct(n,e,t),this._updateConfig(n)}static get styles(){return c('ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n.option {\n padding: 4px 4px;\n cursor: pointer;\n}\n\n.option.option-overrides .title {\n color: var(--warning-color);\n}\n\n.row {\n display: flex;\n margin-bottom: -14px;\n pointer-events: none;\n}\n\n.title {\n padding-left: 16px;\n margin-top: -6px;\n pointer-events: none;\n}\n\n.title.warning {\n color: var(--warning-color);\n}\n\n.secondary {\n padding-left: 40px;\n color: var(--secondary-text-color);\n pointer-events: none;\n}\n\n.values {\n background: var(--secondary-background-color);\n display: grid;\n}\n\n.values + .option,\n.submenu + .option {\n margin-top: 10px;\n}\n\ndiv.upgrade {\n width: auto;\n border: 1px dotted var(--primary-color);\n margin: 10px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\ndiv.upgrade span {\n padding: 10px;\n}\n\n.submenu-header {\n display: flex;\n padding: 10px;\n cursor: pointer;\n}\n\n.submenu.selected > .submenu-header {\n background-color: var(--primary-color);\n color: var(--primary-text-color);\n}\n\n.submenu-header * {\n flex-basis: auto;\n pointer-events: none;\n}\n\n.submenu-header .new-camera {\n font-style: italic;\n}\n\n.submenu:not(.selected) > .submenu-header .new-camera {\n color: var(--secondary-text-color, "black");\n}\n\n.submenu-header frigate-card-icon {\n margin-right: 15px;\n}\n\n.submenu.selected {\n border: 1px solid var(--primary-color);\n}\n\n.submenu {\n width: calc(100% - 20px);\n margin-left: auto;\n margin-right: auto;\n margin-bottom: 10px;\n}\n\n.submenu:first-child,\n:not(.submenu) + .submenu {\n margin-top: 10px;\n}\n\n.submenu .controls {\n display: inline-block;\n margin-left: auto;\n margin-right: 0px;\n margin-bottom: 5px;\n}\n\n.submenu .controls ha-icon-button.button {\n --mdc-icon-button-size: 32px;\n --mdc-icon-size: calc(var(--mdc-icon-button-size) / 2);\n}\n\nspan.info {\n padding: 10px;\n}\n\nha-selector {\n padding: 10px;\n border: 1px solid var(--divider-color);\n}')}};t([n({attribute:!1})],vn.prototype,"hass",void 0),t([d()],vn.prototype,"_config",void 0),t([d()],vn.prototype,"_defaults",void 0),t([d()],vn.prototype,"_expandedMenus",void 0),vn=t([a("frigate-card-editor")],vn);export{vn as FrigateCardEditor}; diff --git a/config/www/community/frigate-hass-card/editor-238b96c0.js.gz b/config/www/community/frigate-hass-card/editor-238b96c0.js.gz deleted file mode 100644 index 8bf64ca972f6ed90b1c3d78955ba10e6c3b544c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10835 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 z zuxg_Pq=Vd0v5MGgNY4MoEDZ+7sk%C)B@QfW`@u3I%*`f+|RCNuP! z?9>uh$qGD@tAv-Kj5K-++fbR;mI(sQFWRE`chYkUHeB3LC9;hlK2ozFZ&J?crv76V zvnu7oVd#PZ0<(+L4Q-q_9#lRJt4VzHT4V0E)BF0XtIsupM}OFCWk!QGf-I){H=sdz zZP~c>C_DBrX&%g-ZpE_7?}N?2RXau-^|bG@Y15EcRSjEwqm=pn01){this._setAssigning(!1)},this._keydownEventHandler=e=>{e.key&&!["Control","Alt","Shift","Meta"].includes(e.key)&&(this.setValue({key:e.key,ctrl:e.ctrlKey,alt:e.altKey,shift:e.shiftKey,meta:e.metaKey}),this._setAssigning(!1))},this._host=e,this._host.addController(this)}setValue(a){e(a,this._value)||(this._value=a,this._host.requestUpdate(),this._host.dispatchEvent(new CustomEvent("value-changed",{detail:{value:this._value}})))}getValue(){return this._value}hasValue(){return!!this._value}isAssigning(){return this._assigning}toggleAssigning(){this._setAssigning(!this._assigning)}_setAssigning(e){this._assigning=e,a(this._host,this._assigning,"assigning"),this._assigning?this._host.addEventListener("keydown",this._keydownEventHandler):this._host.removeEventListener("keydown",this._keydownEventHandler),this._host.requestUpdate()}hostConnected(){this._host.addEventListener("blur",this._blurEventHandler)}hostDisconnected(){this._host.removeEventListener("blur",this._blurEventHandler)}}let _i=class extends s{constructor(){super(...arguments),this._controller=new hi(this)}willUpdate(e){e.has("value")&&this._controller.setValue(this.value??null)}render(){if(!this.label)return;const e=e=>o`
-
${e}
-
`;return o` -
${this.label}
- {this._controller.toggleAssigning()}} - > - - - ${this._controller.isAssigning()?l("key_assigner.assigning"):l("key_assigner.assign")} - - - ${this._controller.hasValue()?o`{this._controller.setValue(null)}} - > - - ${l("key_assigner.unassign")} - `:""} -
- ${this.value?.ctrl?e(l("key_assigner.modifiers.ctrl")):""} - ${this.value?.shift?e(l("key_assigner.modifiers.shift")):""} - ${this.value?.meta?e(l("key_assigner.modifiers.meta")):""} - ${this.value?.alt?e(l("key_assigner.modifiers.alt")):""} - ${this.value?.key?e(this.value.key):""} -
- `}static get styles(){return c('.dotdotdot:after {\n animation: dots 2s linear infinite;\n content: "";\n display: inline-block;\n width: 3em;\n}\n@keyframes dots {\n 0%, 20% {\n content: ".";\n }\n 40% {\n content: "..";\n }\n 60% {\n content: "...";\n }\n 90%, 100% {\n content: "";\n }\n}\n\n:host {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 10px;\n height: 56px;\n border: 1px solid var(--divider-color);\n}\n\n:host([assigning]) ha-button.assign span,\n:host([assigning]) ha-button.assign ha-icon {\n color: var(--warning-color);\n}\n\nha-icon {\n padding: 10px;\n}\n\ndiv.label {\n width: 100px;\n margin-left: 4px;\n}\n\ndiv.key-row {\n flex: 1;\n display: flex;\n justify-content: center;\n align-items: center;\n padding-left: 10px;\n padding-right: 10px;\n}\n\ndiv.key {\n display: flex;\n align-items: center;\n height: 90%;\n width: min-content;\n margin-left: 5px;\n margin-right: 5px;\n}\n\ndiv.key-inner {\n height: 100%;\n width: 100%;\n padding-top: 2px;\n padding-bottom: 2px;\n padding-left: 4px;\n padding-right: 4px;\n border: 2px;\n border-radius: 4px;\n border-style: outset;\n border-color: var(--divider-color);\n font-family: monospace;\n text-transform: capitalize;\n}\n\ndiv.unassigned {\n font-style: italic;\n}\n\ndiv.key + div.key:before {\n display: flex;\n align-items: center;\n margin-right: 5px;\n content: " + ";\n}')}};t([i({attribute:!1})],_i.prototype,"label",void 0),t([i({attribute:!1})],_i.prototype,"value",void 0),_i=t([n("frigate-card-key-assigner")],_i);const gi="cameras",bi="options",pi={cameras:{icon:"video",name:l("editor.cameras"),secondary:l("editor.cameras_secondary")},view:{icon:"eye",name:l("editor.view"),secondary:l("editor.view_secondary")},menu:{icon:"menu",name:l("editor.menu"),secondary:l("editor.menu_secondary")},status_bar:{icon:"sign-text",name:l("editor.status_bar"),secondary:l("editor.status_bar_secondary")},live:{icon:"cctv",name:l("editor.live"),secondary:l("editor.live_secondary")},media_gallery:{icon:"grid",name:l("editor.media_gallery"),secondary:l("editor.media_gallery_secondary")},media_viewer:{icon:"filmstrip",name:l("editor.media_viewer"),secondary:l("editor.media_viewer_secondary")},image:{icon:"image",name:l("editor.image"),secondary:l("editor.image_secondary")},timeline:{icon:"chart-gantt",name:l("editor.timeline"),secondary:l("editor.timeline_secondary")},dimensions:{icon:"aspect-ratio",name:l("editor.dimensions"),secondary:l("editor.dimensions_secondary")},performance:{icon:"speedometer",name:l("editor.performance"),secondary:l("editor.performance_secondary")},profiles:{icon:"folder-wrench-outline",name:l("editor.profiles"),secondary:l("editor.profiles_secondary")},overrides:{icon:"file-replace",name:l("editor.overrides"),secondary:l("editor.overrides_secondary")}};let vi=class extends s{constructor(){super(...arguments),this._defaults=m(di),this._initialized=!1,this._configUpgradeable=!1,this._expandedMenus={},this._viewModes=[{value:"",label:""},{value:"live",label:l("config.view.views.live")},{value:"clips",label:l("config.view.views.clips")},{value:"snapshots",label:l("config.view.views.snapshots")},{value:"recordings",label:l("config.view.views.recordings")},{value:"clip",label:l("config.view.views.clip")},{value:"snapshot",label:l("config.view.views.snapshot")},{value:"recording",label:l("config.view.views.recording")},{value:"image",label:l("config.view.views.image")},{value:"timeline",label:l("config.view.views.timeline")}],this._cameraSelectViewModes=[...this._viewModes,{value:"current",label:l("config.view.views.current")}],this._filterModes=[{value:"",label:""},{value:"none",label:l("config.common.controls.filter.modes.none")},{value:"left",label:l("config.common.controls.filter.modes.left")},{value:"right",label:l("config.common.controls.filter.modes.right")}],this._menuStyles=[{value:"",label:""},{value:"none",label:l("config.menu.styles.none")},{value:"hidden",label:l("config.menu.styles.hidden")},{value:"overlay",label:l("config.menu.styles.overlay")},{value:"hover",label:l("config.menu.styles.hover")},{value:"hover-card",label:l("config.menu.styles.hover-card")},{value:"outside",label:l("config.menu.styles.outside")}],this._menuPositions=[{value:"",label:""},{value:"left",label:l("config.menu.positions.left")},{value:"right",label:l("config.menu.positions.right")},{value:"top",label:l("config.menu.positions.top")},{value:"bottom",label:l("config.menu.positions.bottom")}],this._menuAlignments=[{value:"",label:""},{value:"left",label:l("config.menu.alignments.left")},{value:"right",label:l("config.menu.alignments.right")},{value:"top",label:l("config.menu.alignments.top")},{value:"bottom",label:l("config.menu.alignments.bottom")}],this._nextPreviousControlStyles=[{value:"",label:""},{value:"chevrons",label:l("config.common.controls.next_previous.styles.chevrons")},{value:"icons",label:l("config.common.controls.next_previous.styles.icons")},{value:"none",label:l("config.common.controls.next_previous.styles.none")},{value:"thumbnails",label:l("config.common.controls.next_previous.styles.thumbnails")}],this._aspectRatioModes=[{value:"",label:""},{value:"dynamic",label:l("config.dimensions.aspect_ratio_modes.dynamic")},{value:"static",label:l("config.dimensions.aspect_ratio_modes.static")},{value:"unconstrained",label:l("config.dimensions.aspect_ratio_modes.unconstrained")}],this._thumbnailModes=[{value:"",label:""},{value:"none",label:l("config.common.controls.thumbnails.modes.none")},{value:"above",label:l("config.common.controls.thumbnails.modes.above")},{value:"below",label:l("config.common.controls.thumbnails.modes.below")},{value:"left",label:l("config.common.controls.thumbnails.modes.left")},{value:"right",label:l("config.common.controls.thumbnails.modes.right")}],this._thumbnailMediaTypes=[{value:"",label:""},{value:"events",label:l("config.common.controls.thumbnails.media_types.events")},{value:"recordings",label:l("config.common.controls.thumbnails.media_types.recordings")}],this._thumbnailEventsMediaTypes=[{value:"",label:""},{value:"clips",label:l("config.common.controls.thumbnails.events_media_types.clips")},{value:"snapshots",label:l("config.common.controls.thumbnails.events_media_types.snapshots")}],this._transitionEffects=[{value:"",label:""},{value:"none",label:l("config.media_viewer.transition_effects.none")},{value:"slide",label:l("config.media_viewer.transition_effects.slide")}],this._imageModes=[{value:"",label:""},{value:"camera",label:l("config.common.image.modes.camera")},{value:"entity",label:l("config.common.image.modes.entity")},{value:"screensaver",label:l("config.common.image.modes.screensaver")},{value:"url",label:l("config.common.image.modes.url")}],this._timelineEventsMediaTypes=[{value:"",label:""},{value:"all",label:l("config.common.timeline.events_media_types.all")},{value:"clips",label:l("config.common.timeline.events_media_types.clips")},{value:"snapshots",label:l("config.common.timeline.events_media_types.snapshots")}],this._timelineStyleTypes=[{value:"",label:""},{value:"ribbon",label:l("config.common.timeline.styles.ribbon")},{value:"stack",label:l("config.common.timeline.styles.stack")}],this._darkModes=[{value:"",label:""},{value:"on",label:l("config.view.dark_modes.on")},{value:"off",label:l("config.view.dark_modes.off")},{value:"auto",label:l("config.view.dark_modes.auto")}],this._mediaActionNegativeConditions=[{value:"",label:""},{value:"unselected",label:l("config.common.media_action_conditions.unselected")},{value:"hidden",label:l("config.common.media_action_conditions.hidden")}],this._mediaActionPositiveConditions=[{value:"",label:""},{value:"selected",label:l("config.common.media_action_conditions.selected")},{value:"visible",label:l("config.common.media_action_conditions.visible")}],this._mediaLiveUnmuteConditions=[...this._mediaActionPositiveConditions,{value:"microphone",label:l("config.common.media_action_conditions.microphone_unmute")}],this._mediaLiveMuteConditions=[...this._mediaActionNegativeConditions,{value:"microphone",label:l("config.common.media_action_conditions.microphone_mute")}],this._layoutFits=[{value:"",label:""},{value:"contain",label:l("config.cameras.dimensions.layout.fits.contain")},{value:"cover",label:l("config.cameras.dimensions.layout.fits.cover")},{value:"fill",label:l("config.cameras.dimensions.layout.fits.fill")}],this._miniTimelineModes=[{value:"",label:""},{value:"none",label:l("config.common.controls.timeline.modes.none")},{value:"above",label:l("config.common.controls.timeline.modes.above")},{value:"below",label:l("config.common.controls.timeline.modes.below")}],this._profiles=[{value:"",label:""},{value:"casting",label:l("config.profiles.casting")},{value:"low-performance",label:l("config.profiles.low-performance")},{value:"scrubbing",label:l("config.profiles.scrubbing")}],this._go2rtcModes=[{value:"",label:""},{value:"mse",label:l("config.cameras.go2rtc.modes.mse")},{value:"webrtc",label:l("config.cameras.go2rtc.modes.webrtc")},{value:"mp4",label:l("config.cameras.go2rtc.modes.mp4")},{value:"mjpeg",label:l("config.cameras.go2rtc.modes.mjpeg")}],this._microphoneButtonTypes=[{value:"",label:""},{value:"momentary",label:l("config.menu.buttons.types.momentary")},{value:"toggle",label:l("config.menu.buttons.types.toggle")}],this._displayModes=[{value:"",label:""},{value:"single",label:l("display_modes.single")},{value:"grid",label:l("display_modes.grid")}],this._castMethods=[{value:"",label:""},{value:"standard",label:l("config.cameras.cast.methods.standard")},{value:"dashboard",label:l("config.cameras.cast.methods.dashboard")}],this._ptzModes=[{value:"",label:""},{value:"on",label:l("config.live.controls.ptz.modes.on")},{value:"off",label:l("config.live.controls.ptz.modes.off")}],this._ptzOrientations=[{value:"",label:""},{value:"vertical",label:l("config.live.controls.ptz.orientations.vertical")},{value:"horizontal",label:l("config.live.controls.ptz.orientations.horizontal")}],this._ptzPositions=[{value:"",label:""},{value:"top-left",label:l("config.live.controls.ptz.positions.top-left")},{value:"top-right",label:l("config.live.controls.ptz.positions.top-right")},{value:"bottom-left",label:l("config.live.controls.ptz.positions.bottom-left")},{value:"bottom-right",label:l("config.live.controls.ptz.positions.bottom-right")}],this._triggersActionsInteractionModes=[{value:"",label:""},{value:"all",label:l("config.view.triggers.actions.interaction_modes.all")},{value:"inactive",label:l("config.view.triggers.actions.interaction_modes.inactive")},{value:"active",label:l("config.view.triggers.actions.interaction_modes.active")}],this._triggersActionsTrigger=[{value:"",label:""},{value:"default",label:l("config.view.triggers.actions.triggers.default")},{value:"live",label:l("config.view.triggers.actions.triggers.live")},{value:"media",label:l("config.view.triggers.actions.triggers.media")},{value:"none",label:l("config.view.triggers.actions.triggers.none")}],this._triggersActionsUntrigger=[{value:"",label:""},{value:"default",label:l("config.view.triggers.actions.untriggers.default")},{value:"none",label:l("config.view.triggers.actions.untriggers.none")}],this._triggersEvents=[{value:"",label:""},{value:"events",label:l("config.cameras.triggers.events.events")},{value:"clips",label:l("config.cameras.triggers.events.clips")},{value:"snapshots",label:l("config.cameras.triggers.events.snapshots")}],this._timelinePanModes=[{value:"",label:""},{value:"pan",label:l("config.common.controls.timeline.pan_modes.pan")},{value:"seek",label:l("config.common.controls.timeline.pan_modes.seek")},{value:"seek-in-media",label:l("config.common.controls.timeline.pan_modes.seek-in-media")},{value:"seek-in-camera",label:l("config.common.controls.timeline.pan_modes.seek-in-camera")}],this._capabilities=[{value:"",label:""},{value:"live",label:l("config.cameras.capabilities.capabilities.live")},{value:"substream",label:l("config.cameras.capabilities.capabilities.substream")},{value:"clips",label:l("config.cameras.capabilities.capabilities.clips")},{value:"recordings",label:l("config.cameras.capabilities.capabilities.recordings")},{value:"snapshots",label:l("config.cameras.capabilities.capabilities.snapshots")},{value:"favorite-events",label:l("config.cameras.capabilities.capabilities.favorite-events")},{value:"favorite-recordings",label:l("config.cameras.capabilities.capabilities.favorite-recordings")},{value:"seek",label:l("config.cameras.capabilities.capabilities.seek")},{value:"ptz",label:l("config.cameras.capabilities.capabilities.ptz")},{value:"menu",label:l("config.cameras.capabilities.capabilities.menu")}],this._defaultResetInteractionModes=[{value:"",label:""},{value:"all",label:l("config.view.default_reset.interaction_modes.all")},{value:"inactive",label:l("config.view.default_reset.interaction_modes.inactive")},{value:"active",label:l("config.view.default_reset.interaction_modes.active")}],this._proxyMedia=[{value:"",label:""},{value:"auto",label:l("config.cameras.proxy.media.auto")},{value:!0,label:l("config.cameras.proxy.media.true")},{value:!1,label:l("config.cameras.proxy.media.false")}],this._proxySSLCiphers=[{value:"",label:""},{value:"auto",label:l("config.cameras.proxy.ssl_ciphers.auto")},{value:"default",label:l("config.cameras.proxy.ssl_ciphers.default")},{value:"insecure",label:l("config.cameras.proxy.ssl_ciphers.insecure")},{value:"intermediate",label:l("config.cameras.proxy.ssl_ciphers.intermediate")},{value:"modern",label:l("config.cameras.proxy.ssl_ciphers.modern")}],this._proxySSLVerification=[{value:"",label:""},{value:"auto",label:l("config.cameras.proxy.ssl_verification.auto")},{value:!0,label:l("config.cameras.proxy.ssl_verification.true")},{value:!1,label:l("config.cameras.proxy.ssl_verification.false")}],this._reolinkMediaResolution=[{value:"",label:""},{value:"high",label:l("config.cameras.reolink.media_resolution.high")},{value:"low",label:l("config.cameras.reolink.media_resolution.low")}],this._statusBarStyles=[{value:"",label:""},{value:"hover",label:l("config.status_bar.styles.hover")},{value:"hover-card",label:l("config.status_bar.styles.hover-card")},{value:"none",label:l("config.status_bar.styles.none")},{value:"outside",label:l("config.status_bar.styles.outside")},{value:"overlay",label:l("config.status_bar.styles.overlay")},{value:"popup",label:l("config.status_bar.styles.popup")}],this._statusBarPositions=[{value:"",label:""},{value:"top",label:l("config.status_bar.positions.top")},{value:"bottom",label:l("config.status_bar.positions.bottom")}]}setConfig(e){this._config=e,this._configUpgradeable=u(e);const a=h.safeParse(this._config.profiles);if(a.success){const e=m(di);_(this._config,e,a.data),this._defaults=e}}willUpdate(){this._initialized||g().then((e=>{e&&(this._initialized=!0)}))}_renderOptionSetHeader(e,a){const t=pi[e];return o` -
-
- -
${t.name}
-
-
${t.secondary}
-
- `}_getLabel(e){const a=e.split(".").filter((e=>!e.match(/^\[[0-9]+\]$/))).join(".");return l(`config.${a}`)}_renderEntitySelector(e,a){if(this._config)return o` - this._valueChangedHandler(e,a)} - > - - `}_renderOptionSelector(e,a=[],t){if(this._config)return o` - this._valueChangedHandler(e,a)} - > - - `}_renderIconSelector(e,a){if(this._config)return o` - this._valueChangedHandler(e,a)} - > - - `}_renderNumberInput(e,a){if(!this._config)return;const t=b(this._config,e),i=void 0===a?.max?"box":"slider";return o` - this._valueChangedHandler(e,a)} - > - - `}_renderInfo(e){return o` ${e}`}_getEditorCameraTitle(e,a){return"string"==typeof a?.title&&a.title||("string"==typeof a?.camera_entity?p(this.hass,a.camera_entity):"")||"object"==typeof a?.webrtc_card&&a.webrtc_card&&"string"==typeof a.webrtc_card.entity&&a.webrtc_card.entity||("object"==typeof a?.frigate&&a.frigate&&"string"==typeof a?.frigate.camera_name&&a.frigate.camera_name?v(a.frigate.camera_name):"")||"string"==typeof a?.id&&a.id||l("editor.camera")+" #"+e}_renderViewDefaultResetMenu(){return this._putInSubmenu("view.default_reset",!0,`config.${f}.editor_label`,"mdi:restart",o` - ${this._renderSwitch($,this._defaults.view.default_reset.after_interaction)} - ${this._renderNumberInput(y)} - ${this._renderOptionSelector(w,this._defaultResetInteractionModes,{label:l("config.view.default_reset.interaction_mode")})}, - ${this._renderOptionSelector(S,this.hass?x(this.hass):[],{multiple:!0})} - `)}_renderViewTriggersMenu(){return this._putInSubmenu("view.triggers",!0,`config.${M}.editor_label`,"mdi:target-account",o` - ${this._renderSwitch(I,this._defaults.view.triggers.filter_selected_camera,{label:l(`config.${I}`)})} - ${this._renderSwitch(k,this._defaults.view.triggers.show_trigger_status,{label:l(`config.${k}`)})} - ${this._renderNumberInput(O,{default:this._defaults.view.triggers.untrigger_seconds})} - ${this._putInSubmenu("view.triggers.actions",!0,`config.${C}.editor_label`,"mdi:cogs",o` ${this._renderOptionSelector(z,this._triggersActionsTrigger,{label:l("config.view.triggers.actions.trigger")})} - ${this._renderOptionSelector(A,this._triggersActionsUntrigger,{label:l("config.view.triggers.actions.untrigger")})} - ${this._renderOptionSelector(N,this._triggersActionsInteractionModes,{label:l("config.view.triggers.actions.interaction_mode")})}`)} - `)}_renderKeyAssigner(e,a){return o` this._valueChangedHandler(e,a)} - >`}_renderViewKeyboardShortcutMenu(){return this._putInSubmenu("view.keyboard_shortcuts",!0,`config.${T}.editor_label`,"mdi:keyboard",o` - ${this._renderSwitch(B,this._defaults.view.keyboard_shortcuts.enabled,{label:l(`config.${B}`)})} - ${this._renderKeyAssigner(E,this._defaults.view.keyboard_shortcuts.ptz_left)} - ${this._renderKeyAssigner(P,this._defaults.view.keyboard_shortcuts.ptz_right)} - ${this._renderKeyAssigner(H,this._defaults.view.keyboard_shortcuts.ptz_up)} - ${this._renderKeyAssigner(L,this._defaults.view.keyboard_shortcuts.ptz_down)} - ${this._renderKeyAssigner(V,this._defaults.view.keyboard_shortcuts.ptz_zoom_in)} - ${this._renderKeyAssigner(K,this._defaults.view.keyboard_shortcuts.ptz_zoom_out)} - ${this._renderKeyAssigner(U,this._defaults.view.keyboard_shortcuts.ptz_home)} - `)}_renderStatusBarItem(e){return o` ${this._putInSubmenu("status_bar.items",e,`config.status_bar.items.${e}`,"mdi:feature-search",o` - ${this._renderSwitch(`${j}.${e}.enabled`,this._defaults.status_bar.items[e]?.enabled??!0,{label:l("config.status_bar.items.enabled")})} - ${this._renderNumberInput(`${j}.${e}.priority`,{max:q,default:this._defaults.status_bar.items[e]?.priority,label:l("config.status_bar.items.priority")})} - `)}`}_renderMenuButton(e,a){const t=[{value:"",label:""},{value:"matching",label:l("config.menu.buttons.alignments.matching")},{value:"opposing",label:l("config.menu.buttons.alignments.opposing")}];return o` ${this._putInSubmenu("menu.buttons",e,`config.menu.buttons.${e}`,"mdi:gesture-tap-button",o` - ${this._renderSwitch(`${R}.${e}.enabled`,this._defaults.menu.buttons[e]?.enabled??!0,{label:l("config.menu.buttons.enabled")})} - ${this._renderOptionSelector(`${R}.${e}.alignment`,t,{label:l("config.menu.buttons.alignment")})} - ${this._renderSwitch(`${R}.${e}.permanent`,this._defaults.menu.buttons[e]?.permanent??!1,{label:l("config.menu.buttons.permanent")})} - ${this._renderNumberInput(`${R}.${e}.priority`,{max:D,default:this._defaults.menu.buttons[e]?.priority,label:l("config.menu.buttons.priority")})} - ${this._renderIconSelector(`${R}.${e}.icon`,{label:l("config.menu.buttons.icon")})} - ${a} - `)}`}_putInSubmenu(e,a,t,i,n){const s=this._expandedMenus[e]===a,c={submenu:!0,selected:s},d=dt(i);return o`
- - ${s?o`
${n}
`:""} -
`}_renderMediaLayout(e,a,t,i,n,s,r,c,d,m,u,h){return this._putInSubmenu(e,!0,a,"mdi:page-layout-body",o` - ${this._renderNumberInput(m,{min:0,max:10,label:l("config.cameras.dimensions.layout.zoom"),step:.1})} - ${this._renderNumberInput(u,{min:0,max:100,label:l("config.cameras.dimensions.layout.pan.x")})} - ${this._renderNumberInput(h,{min:0,max:100,label:l("config.cameras.dimensions.layout.pan.y")})} - ${this._renderOptionSelector(t,this._layoutFits,{label:l("config.cameras.dimensions.layout.fit")})} - ${this._putInSubmenu(`${e}.position`,!0,"config.cameras.dimensions.layout.position.editor_label","mdi:aspect-ratio",o` ${this._renderNumberInput(i,{min:0,max:100,label:l("config.cameras.dimensions.layout.position.x")})} - ${this._renderNumberInput(n,{min:0,max:100,label:l("config.cameras.dimensions.layout.position.y")})}`)} - ${this._putInSubmenu(`${e}.view_box`,!0,"config.cameras.dimensions.layout.view_box.editor_label","mdi:crop",o` - ${this._renderNumberInput(s,{min:0,max:100,label:l("config.cameras.dimensions.layout.view_box.top")})} - ${this._renderNumberInput(r,{min:0,max:100,label:l("config.cameras.dimensions.layout.view_box.bottom")})} - ${this._renderNumberInput(c,{min:0,max:100,label:l("config.cameras.dimensions.layout.view_box.left")})} - ${this._renderNumberInput(d,{min:0,max:100,label:l("config.cameras.dimensions.layout.view_box.right")})} - `)} - `)}_renderTimelineCoreControls(e,a,t,i,n,s,r){return o` - ${this._renderOptionSelector(e,this._timelineStyleTypes,{label:l(`config.common.${F}`)})} - ${r?this._renderOptionSelector(r,this._timelinePanModes,{label:l("config.common.controls.timeline.pan_mode")}):""} - ${this._renderNumberInput(a,{label:l(`config.common.${G}`)})} - ${this._renderNumberInput(t,{label:l(`config.common.${J}`)})} - ${this._renderOptionSelector(i,this._timelineEventsMediaTypes,{label:l(`config.common.${Q}`)})} - ${this._renderSwitch(n,s,{label:l(`config.common.${W}`)})} - `}_renderMiniTimeline(e,a,t,i,n,s,r,c,d){return this._putInSubmenu(e,!0,"config.common.controls.timeline.editor_label","mdi:chart-gantt",o` ${this._renderOptionSelector(a,this._miniTimelineModes,{label:l("config.common.controls.timeline.mode")})} - ${this._renderTimelineCoreControls(t,i,n,s,r,c,d)}`)}_renderViewDisplay(e,a,t,i,n){return this._putInSubmenu(e,!0,"config.common.display.editor_label","mdi:palette-swatch",o` - ${this._renderOptionSelector(a,this._displayModes,{label:l("config.common.display.mode")})} - ${this._renderNumberInput(t,{min:0,label:l("config.common.display.grid_selected_width_factor")})} - ${this._renderNumberInput(i,{min:0,label:l("config.common.display.grid_columns")})} - ${this._renderNumberInput(n,{min:0,label:l("config.common.display.grid_max_columns")})} - `)}_renderNextPreviousControls(e,a,t,i){return this._putInSubmenu(e,!0,"config.common.controls.next_previous.editor_label","mdi:arrow-right-bold-circle",o` - ${this._renderOptionSelector(a,this._nextPreviousControlStyles.filter((e=>!(!i?.allowThumbnails&&"thumbnails"===e.value||!i?.allowIcons&&"icons"===e.value))),{label:l("config.common.controls.next_previous.style")})} - ${this._renderNumberInput(t,{min:X,label:l("config.common.controls.next_previous.size")})} - `)}_renderThumbnailsControls(e,a,t,i,n,s,r,c){return this._putInSubmenu(e,!0,"config.common.controls.thumbnails.editor_label","mdi:image-text",o` - ${c?.configPathMode?o`${this._renderOptionSelector(c.configPathMode,this._thumbnailModes,{label:l("config.common.controls.thumbnails.mode")})}`:o``} - ${c?.configPathMediaType?o`${this._renderOptionSelector(c.configPathMediaType,this._thumbnailMediaTypes,{label:l("config.common.controls.thumbnails.media_type")})}`:o``} - ${c?.configPathEventsMediaType?o`${this._renderOptionSelector(c.configPathEventsMediaType,this._thumbnailEventsMediaTypes,{label:l("config.common.controls.thumbnails.events_media_type")})}`:o``} - ${this._renderNumberInput(a,{min:Y,max:Z,label:l("config.common.controls.thumbnails.size")})} - ${this._renderSwitch(t,r.show_details,{label:l("config.common.controls.thumbnails.show_details")})} - ${this._renderSwitch(i,r.show_favorite_control,{label:l("config.common.controls.thumbnails.show_favorite_control")})} - ${this._renderSwitch(n,r.show_timeline_control,{label:l("config.common.controls.thumbnails.show_timeline_control")})} - ${this._renderSwitch(s,r.show_download_control,{label:l("config.common.controls.thumbnails.show_download_control")})} - `)}_renderFilterControls(e,a){return this._putInSubmenu(e,!0,"config.common.controls.filter.editor_label","mdi:filter-cog",o` - ${a?o`${this._renderOptionSelector(a,this._filterModes,{label:l("config.common.controls.filter.mode")})}`:o``} - `)}_renderImageOptions(e,a,t,i,n){return o` - ${this._renderOptionSelector(e,this._imageModes,{label:l("config.common.image.mode")})} - ${this._renderStringInput(a,{label:l("config.common.image.url")})} - ${this._renderOptionSelector(t,this.hass?x(this.hass):[],{label:l("config.common.image.entity")})} - ${this._renderStringInput(i,{label:l("config.common.image.entity_parameters")})} - ${this._renderNumberInput(n,{label:l("config.common.image.refresh_seconds")})} - `}_renderCamera(e,a,t,i){const n=[{value:"",label:""},{value:"auto",label:l("config.cameras.live_providers.auto")},{value:"ha",label:l("config.cameras.live_providers.ha")},{value:"image",label:l("config.cameras.live_providers.image")},{value:"jsmpeg",label:l("config.cameras.live_providers.jsmpeg")},{value:"go2rtc",label:l("config.cameras.live_providers.go2rtc")},{value:"webrtc-card",label:l("config.cameras.live_providers.webrtc-card")}],s=[];e.forEach(((e,t)=>{t!==a&&s.push({value:ee(e),label:this._getEditorCameraTitle(t,e)})}));const c=e=>{if(this._config){const a=m(this._config);e(a)&&this._updateConfig(a)}},d={submenu:!0,selected:this._expandedMenus[gi]===a};return o` -
- - ${this._expandedMenus[gi]===a?o`
-
- !i&&c((e=>!!(Array.isArray(e.cameras)&&a>0)&&(mt(e.cameras,a,a-1),this._openMenu(gi,a-1),!0)))} - > - - - =this._config.cameras.length-1} - @click=${()=>!i&&c((e=>!!(Array.isArray(e.cameras)&&a - - - {c((e=>!!Array.isArray(e.cameras)&&(e.cameras.splice(a,1),this._closeMenu(gi),!0)))}} - > - - -
- ${this._renderEntitySelector(ae(ut,a),"camera")} - ${this._renderOptionSelector(ae(ht,a),n)} - ${this._renderStringInput(ae(_t,a))} - ${this._renderIconSelector(ae(gt,a),{label:l("config.cameras.icon")})} - ${this._renderStringInput(ae(bt,a))} - ${this._putInSubmenu("cameras.engine",!0,"config.cameras.engines.editor_label","mdi:engine",o`${this._putInSubmenu("cameras.frigate",a,"config.cameras.frigate.editor_label","frigate",o` - ${this._renderStringInput(ae(pt,a))} - ${this._renderStringInput(ae(vt,a))} - ${this._renderOptionSelector(ae(ft,a),[],{multiple:!0,label:l("config.cameras.frigate.labels")})} - ${this._renderOptionSelector(ae($t,a),[],{multiple:!0,label:l("config.cameras.frigate.zones")})} - ${this._renderStringInput(ae(yt,a))} - `)} - ${this._putInSubmenu("cameras.motioneye",a,"config.cameras.motioneye.editor_label","motioneye",o` ${this._renderStringInput(ae(wt,a))} - ${this._renderStringInput(ae(St,a))} - ${this._renderStringInput(ae(xt,a))} - ${this._renderStringInput(ae(Mt,a))} - ${this._renderStringInput(ae(It,a))}`)} - ${this._putInSubmenu("cameras.reolink",a,"config.cameras.reolink.editor_label","reolink",o` ${this._renderStringInput(ae(kt,a))} - ${this._renderOptionSelector(ae(Ot,a),this._reolinkMediaResolution,{label:l("config.cameras.reolink.media_resolution.editor_label")})}`)}`)} - ${this._putInSubmenu("cameras.live_provider",!0,"config.cameras.live_provider_options.editor_label","mdi:cctv",o` ${this._putInSubmenu("cameras.go2rtc",a,"config.cameras.go2rtc.editor_label","mdi:alpha-g-circle",o`${this._renderOptionSelector(ae(Ct,a),this._go2rtcModes,{multiple:!0,label:l("config.cameras.go2rtc.modes.editor_label")})} - ${this._renderStringInput(ae(zt,a))}`)} - ${this._putInSubmenu("cameras.image",!0,"config.cameras.image.editor_label","mdi:image",this._renderImageOptions(ae(At,a),ae(Nt,a),ae(Tt,a),ae(Bt,a),ae(Et,a)))} - ${this._putInSubmenu("cameras.webrtc_card",a,"config.cameras.webrtc_card.editor_label","mdi:webrtc",o`${this._renderEntitySelector(ae(Pt,a),"camera")} - ${this._renderStringInput(ae(Ht,a))}`)}`)} - ${this._putInSubmenu("cameras.dependencies",a,"config.cameras.dependencies.editor_label","mdi:graph",o` ${this._renderSwitch(ae(Lt,a),this._defaults.cameras.dependencies.all_cameras)} - ${this._renderOptionSelector(ae(Vt,a),s,{multiple:!0})}`)} - ${this._putInSubmenu("cameras.triggers",a,"config.cameras.triggers.editor_label","mdi:magnify-scan",o` - ${this._renderSwitch(ae(Kt,a),this._defaults.cameras.triggers.occupancy)} - ${this._renderSwitch(ae(Ut,a),this._defaults.cameras.triggers.motion)} - ${this._renderOptionSelector(ae(jt,a),t,{multiple:!0})} - ${this._renderOptionSelector(ae(qt,a),this._triggersEvents,{multiple:!0,label:l("config.cameras.triggers.events.editor_label")})} - `)} - ${this._putInSubmenu("cameras.cast",a,"config.cameras.cast.editor_label","mdi:cast",o` - ${this._renderOptionSelector(ae(Rt,a),this._castMethods)} - ${this._renderStringInput(ae(Dt,a))} - ${this._renderStringInput(ae(Ft,a))} - `)} - ${this._putInSubmenu("cameras.dimensions",a,"config.cameras.dimensions.editor_label","mdi:aspect-ratio",o` - ${this._renderStringInput(ae(Gt,a))} - ${this._renderMediaLayout("cameras.dimensions.layout","config.cameras.dimensions.layout.editor_label",ae(Jt,a),ae(Qt,a),ae(Wt,a),ae(Xt,a),ae(Yt,a),ae(Zt,a),ae(ei,a),ae(ai,a),ae(ti,a),ae(ii,a))} - `)} - ${this._putInSubmenu("cameras.capabilities",a,"config.cameras.capabilities.editor_label","mdi:cog-stop",o` - ${this._renderOptionSelector(ae(ni,a),this._capabilities,{multiple:!0})} - ${this._renderOptionSelector(ae(si,a),this._capabilities,{multiple:!0})} - `)} - ${this._putInSubmenu("cameras.proxy",a,"config.cameras.proxy.editor_label","mdi:arrow-decision",o` - ${this._renderOptionSelector(ae(oi,a),this._proxyMedia,{label:l("config.cameras.proxy.media.editor_label")})} - ${this._renderSwitch(ae(ri,a),this._defaults.cameras.proxy.dynamic)} - ${this._renderOptionSelector(ae(li,a),this._proxySSLVerification,{label:l("config.cameras.proxy.ssl_verification.editor_label")})} - ${this._renderOptionSelector(ae(ci,a),this._proxySSLCiphers,{label:l("config.cameras.proxy.ssl_ciphers.editor_label")})} - `)} -
`:""} -
- `}_renderStringInput(e,a){if(this._config)return o` - this._valueChangedHandler(e,a)} - > - - `}_renderSwitch(e,a,t){if(this._config)return o` - this._valueChangedHandler(e,a)} - > - - `}_updateConfig(e){this._config=e,te(this,"config-changed",{config:this._config})}render(){if(!this.hass||!this._config)return o``;const e=x(this.hass),a=b(this._config,mi)||[];return o` - ${this._configUpgradeable?o`
- ${l("editor.upgrade_available")} - - {if(this._config){const e=m(this._config);ie(e),this._updateConfig(e)}}} - > - - -
-
`:o``} -
- ${this._renderOptionSetHeader("cameras")} - ${"cameras"===this._expandedMenus[bi]?o` -
- ${a.map(((t,i)=>this._renderCamera(a,i,e)))} - ${this._renderCamera(a,a.length,e,!0)} -
- `:""} - ${this._renderOptionSetHeader("profiles")} - ${"profiles"===this._expandedMenus[bi]?o`
- ${this._renderOptionSelector(ne,this._profiles,{multiple:!0,label:l("config.profiles.editor_label")})} -
`:""} - ${this._renderOptionSetHeader("view")} - ${"view"===this._expandedMenus[bi]?o` -
- ${this._renderOptionSelector(se,this._viewModes)} - ${this._renderOptionSelector(oe,this._cameraSelectViewModes)} - ${this._renderOptionSelector(re,this._darkModes)} - ${this._renderNumberInput(le)} - ${this._renderSwitch(ce,this._defaults.view.default_cycle_camera)} - ${this._renderViewDefaultResetMenu()} ${this._renderViewTriggersMenu()} - ${this._renderViewKeyboardShortcutMenu()} -
- `:""} - ${this._renderOptionSetHeader("menu")} - ${"menu"===this._expandedMenus[bi]?o` -
- ${this._renderOptionSelector(de,this._menuStyles)} - ${this._renderOptionSelector(me,this._menuPositions)} - ${this._renderOptionSelector(ue,this._menuAlignments)} - ${this._renderNumberInput(he,{min:X})} - ${this._renderMenuButton("frigate")} - ${this._renderMenuButton("cameras")} - ${this._renderMenuButton("substreams")} - ${this._renderMenuButton("live")} - ${this._renderMenuButton("clips")} - ${this._renderMenuButton("snapshots")} - ${this._renderMenuButton("recordings")} - ${this._renderMenuButton("image")} - ${this._renderMenuButton("download")} - ${this._renderMenuButton("camera_ui")} - ${this._renderMenuButton("fullscreen")} - ${this._renderMenuButton("expand")} - ${this._renderMenuButton("timeline")} - ${this._renderMenuButton("media_player")} - ${this._renderMenuButton("microphone",o`${this._renderOptionSelector(`${R}.microphone.type`,this._microphoneButtonTypes,{label:l("config.menu.buttons.type")})}`)} - ${this._renderMenuButton("play")} - ${this._renderMenuButton("mute")} - ${this._renderMenuButton("screenshot")} - ${this._renderMenuButton("display_mode")} - ${this._renderMenuButton("ptz_controls")} - ${this._renderMenuButton("ptz_home")} -
- `:""} - ${this._renderOptionSetHeader("status_bar")} - ${"status_bar"===this._expandedMenus[bi]?o` -
- ${this._renderOptionSelector(_e,this._statusBarStyles)} - ${this._renderOptionSelector(ge,this._statusBarPositions)} - ${this._renderNumberInput(be,{min:pe,label:l("config.status_bar.height")})} - ${this._renderNumberInput(ve,{min:0,max:60,default:this._defaults.status_bar.popup_seconds,label:l("config.status_bar.popup_seconds")})} - ${this._renderStatusBarItem("title")} - ${this._renderStatusBarItem("resolution")} - ${this._renderStatusBarItem("technology")} - ${this._renderStatusBarItem("engine")} -
- `:""} - ${this._renderOptionSetHeader("live")} - ${"live"===this._expandedMenus[bi]?o` -
- ${this._renderSwitch(fe,this._defaults.live.preload)} - ${this._renderSwitch($e,this._defaults.live.draggable)} - ${this._renderSwitch(ye,this._defaults.live.zoomable)} - ${this._renderSwitch(we,this._defaults.live.lazy_load)} - ${this._renderOptionSelector(Se,this._mediaActionNegativeConditions,{multiple:!0})} - ${this._renderOptionSelector(xe,this._mediaActionPositiveConditions,{multiple:!0})} - ${this._renderOptionSelector(Me,this._mediaActionNegativeConditions,{multiple:!0})} - ${this._renderOptionSelector(Ie,this._mediaLiveMuteConditions,{multiple:!0})} - ${this._renderOptionSelector(ke,this._mediaLiveUnmuteConditions,{multiple:!0})} - ${this._renderOptionSelector(Oe,this._transitionEffects)} - ${this._renderSwitch(Ce,this._defaults.live.show_image_during_load)} - ${this._renderViewDisplay("live.display",ze,Ae,Ne,Te)} - ${this._putInSubmenu("live.controls",!0,"config.live.controls.editor_label","mdi:gamepad",o` - ${this._renderSwitch(Be,this._defaults.live.controls.builtin,{label:l("config.common.controls.builtin")})} - ${this._renderNextPreviousControls("live.controls.next_previous",Ee,Pe,{allowIcons:!0})} - ${this._renderThumbnailsControls("live.controls.thumbnails",He,Le,Ve,Ke,Ue,this._defaults.live.controls.thumbnails,{configPathMediaType:je,configPathEventsMediaType:qe,configPathMode:Re})} - ${this._renderMiniTimeline("live.controls.timeline",De,Fe,Ge,Je,Qe,We,this._defaults.live.controls.timeline.show_recordings,Xe)} - ${this._putInSubmenu("live.controls.ptz",!0,"config.live.controls.ptz.editor_label","mdi:pan",o` - ${this._renderOptionSelector(Ye,this._ptzModes)} - ${this._renderOptionSelector(Ze,this._ptzPositions)} - ${this._renderOptionSelector(ea,this._ptzOrientations)} - ${this._renderSwitch(aa,this._defaults.live.controls.ptz.hide_pan_tilt,{label:l("config.live.controls.ptz.hide_pan_tilt")})} - ${this._renderSwitch(ta,this._defaults.live.controls.ptz.hide_pan_tilt,{label:l("config.live.controls.ptz.hide_zoom")})} - ${this._renderSwitch(ia,this._defaults.live.controls.ptz.hide_home,{label:l("config.live.controls.ptz.hide_home")})} - `)} - `)} - ${this._putInSubmenu("live.microphone",!0,"config.live.microphone.editor_label","mdi:microphone",o` - ${this._renderNumberInput(na)} - ${this._renderSwitch(sa,this._defaults.live.microphone.always_connected)} - ${this._renderNumberInput(oa)} - `)} -
- `:""} - ${this._renderOptionSetHeader("media_gallery")} - ${"media_gallery"===this._expandedMenus[bi]?o`
- ${this._renderThumbnailsControls("media_gallery.controls.thumbnails",ra,la,ca,da,ma,this._defaults.media_gallery.controls.thumbnails)} - ${this._renderFilterControls("media_gallery.controls.filter",ua)} -
`:""} - ${this._renderOptionSetHeader("media_viewer")} - ${"media_viewer"===this._expandedMenus[bi]?o`
- ${this._renderOptionSelector(ha,this._mediaActionPositiveConditions,{multiple:!0})} - ${this._renderOptionSelector(_a,this._mediaActionNegativeConditions,{multiple:!0})} - ${this._renderOptionSelector(ga,this._mediaActionNegativeConditions,{multiple:!0})} - ${this._renderOptionSelector(ba,this._mediaActionPositiveConditions,{multiple:!0})} - ${this._renderSwitch(pa,this._defaults.media_viewer.draggable)} - ${this._renderSwitch(va,this._defaults.media_viewer.zoomable)} - ${this._renderSwitch(fa,this._defaults.media_viewer.lazy_load)} - ${this._renderOptionSelector($a,this._transitionEffects)} - ${this._renderSwitch(ya,this._defaults.media_viewer.snapshot_click_plays_clip)} - ${this._renderViewDisplay("media_viewer.display",wa,Sa,xa,Ma)} - ${this._putInSubmenu("media_viewer.controls",!0,"config.media_viewer.controls.editor_label","mdi:gamepad",o` - ${this._renderSwitch(Ia,this._defaults.media_viewer.controls.builtin,{label:l("config.common.controls.builtin")})} - ${this._renderNextPreviousControls("media_viewer.controls.next_previous",ka,Oa,{allowThumbnails:!0})} - ${this._renderThumbnailsControls("media_viewer.controls.thumbnails",Ca,za,Aa,Na,Ta,this._defaults.media_viewer.controls.thumbnails,{configPathMode:Ba})} - ${this._renderMiniTimeline("media_viewer.controls.timeline",Ea,Pa,Ha,La,Va,Ka,this._defaults.media_viewer.controls.timeline.show_recordings,Ua)} - `)} -
`:""} - ${this._renderOptionSetHeader("image")} - ${"image"===this._expandedMenus[bi]?o`
- ${this._renderImageOptions(ja,qa,Ra,Da,Fa)} -
`:""} - ${this._renderOptionSetHeader("timeline")} - ${"timeline"===this._expandedMenus[bi]?o`
- ${this._renderTimelineCoreControls(F,G,J,Q,W,this._defaults.timeline.show_recordings)} - ${this._renderThumbnailsControls("timeline.controls.thumbnails",Ga,Ja,Qa,Wa,Xa,this._defaults.timeline.controls.thumbnails,{configPathMode:Ya})} -
`:""} - ${this._renderOptionSetHeader("dimensions")} - ${"dimensions"===this._expandedMenus[bi]?o`
- ${this._renderOptionSelector(Za,this._aspectRatioModes)} - ${this._renderStringInput(et)} - ${this._renderStringInput(at)} -
`:""} - ${this._renderOptionSetHeader("performance","low"===b(this._config,ui)?"warning":void 0)} - ${"performance"===this._expandedMenus[bi]?o`
- ${"low"===b(this._config,ui)?this._renderInfo(l("config.performance.warning")):o``} - ${this._putInSubmenu("performance.features",!0,"config.performance.features.editor_label","mdi:feature-search",o` - ${this._renderSwitch(tt,this._defaults.performance.features.animated_progress_indicator)} - ${this._renderNumberInput(it,{max:nt})} - ${this._renderNumberInput(st,{min:1})} - `)} - ${this._putInSubmenu("performance.style",!0,"config.performance.style.editor_label","mdi:palette-swatch-variant",o` - ${this._renderSwitch(ot,this._defaults.performance.style.border_radius)} - ${this._renderSwitch(rt,this._defaults.performance.style.box_shadow)} - `)} -
`:""} - ${void 0!==this._config.overrides?o` ${this._renderOptionSetHeader("overrides")} - ${"overrides"===this._expandedMenus[bi]?o`
- ${this._renderInfo(l("config.overrides.info"))} -
`:""}`:o``} -
- `}_closeMenu(e){delete this._expandedMenus[e],this.requestUpdate()}_openMenu(e,a){this._expandedMenus[e]=a,this.requestUpdate()}_toggleMenu(e){if(e&&e.target){const a=e.target.domain,t=e.target.key;this._expandedMenus[a]===t?this._closeMenu(a):this._openMenu(a,t)}}_valueChangedHandler(e,a){if(!this._config||!this.hass)return;let t;if(a.detail&&void 0!==a.detail.value&&(t=a.detail.value,"string"==typeof t&&(t=t.trim())),b(this._config,e)===t)return;const i=m(this._config);""===t||void 0===t?lt(i,e):ct(i,e,t),this._updateConfig(i)}static get styles(){return c('ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n.option {\n padding: 4px 4px;\n cursor: pointer;\n}\n\n.option.option-overrides .title {\n color: var(--warning-color);\n}\n\n.row {\n display: flex;\n margin-bottom: -14px;\n pointer-events: none;\n}\n\n.title {\n padding-left: 16px;\n margin-top: -6px;\n pointer-events: none;\n}\n\n.title.warning {\n color: var(--warning-color);\n}\n\n.secondary {\n padding-left: 40px;\n color: var(--secondary-text-color);\n pointer-events: none;\n}\n\n.values {\n background: var(--secondary-background-color);\n display: grid;\n}\n\n.values + .option,\n.submenu + .option {\n margin-top: 10px;\n}\n\ndiv.upgrade {\n width: auto;\n border: 1px dotted var(--primary-color);\n margin: 10px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\ndiv.upgrade span {\n padding: 10px;\n}\n\n.submenu-header {\n display: flex;\n padding: 10px;\n cursor: pointer;\n}\n\n.submenu.selected > .submenu-header {\n background-color: var(--primary-color);\n color: var(--primary-text-color);\n}\n\n.submenu-header * {\n flex-basis: auto;\n pointer-events: none;\n}\n\n.submenu-header .new-camera {\n font-style: italic;\n}\n\n.submenu:not(.selected) > .submenu-header .new-camera {\n color: var(--secondary-text-color, "black");\n}\n\n.submenu-header ha-icon,\n.submenu-header img {\n padding-right: 15px;\n}\n\n.submenu.selected {\n border: 1px solid var(--primary-color);\n}\n\n.submenu {\n width: calc(100% - 20px);\n margin-left: auto;\n margin-right: auto;\n margin-bottom: 10px;\n}\n\n.submenu:first-child,\n:not(.submenu) + .submenu {\n margin-top: 10px;\n}\n\n.submenu .controls {\n display: inline-block;\n margin-left: auto;\n margin-right: 0px;\n margin-bottom: 5px;\n}\n\n.submenu .controls ha-icon-button.button {\n --mdc-icon-button-size: 32px;\n --mdc-icon-size: calc(var(--mdc-icon-button-size) / 2);\n}\n\nspan.info {\n padding: 10px;\n}\n\nha-selector {\n padding: 10px;\n border: 1px solid var(--divider-color);\n}')}};t([i({attribute:!1})],vi.prototype,"hass",void 0),t([d()],vi.prototype,"_config",void 0),t([d()],vi.prototype,"_defaults",void 0),t([d()],vi.prototype,"_expandedMenus",void 0),vi=t([n("frigate-card-editor")],vi);export{vi as FrigateCardEditor}; diff --git a/config/www/community/frigate-hass-card/editor-5368ad86.js.gz b/config/www/community/frigate-hass-card/editor-5368ad86.js.gz deleted file mode 100644 index e693fb2b2bbdd4d7644ef529adb76291ec46aa92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11532 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 Z?cQ-Rdg4tTkBfgHN{e&&(this._initialized=!0)}))}_renderOptionSetHeader(e,a){const n=bn[e];return s` -
-
- -
${n.name}
-
-
${n.secondary}
-
- `}_getLabel(a){const n=a.split(".").filter((e=>!e.match(/^\[[0-9]+\]$/))).join(".");return e(`config.${n}`)}_renderEntitySelector(e,a){if(this._config)return s` - this._valueChangedHandler(e,a)} - > - - `}_renderOptionSelector(e,a=[],n){if(this._config)return s` - this._valueChangedHandler(e,a)} - > - - `}_renderIconSelector(e,a){if(this._config)return s` - this._valueChangedHandler(e,a)} - > - - `}_renderNumberInput(e,a){if(!this._config)return;const n=r(this._config,e),t=void 0===a?.max?"box":"slider";return s` - this._valueChangedHandler(e,a)} - > - - `}_renderInfo(e){return s` ${e}`}_getEditorCameraTitle(a,n){return"string"==typeof n?.title&&n.title||("string"==typeof n?.camera_entity?l(this.hass,n.camera_entity):"")||"object"==typeof n?.webrtc_card&&n.webrtc_card&&"string"==typeof n.webrtc_card.entity&&n.webrtc_card.entity||("object"==typeof n?.frigate&&n.frigate&&"string"==typeof n?.frigate.camera_name&&n.frigate.camera_name?d(n.frigate.camera_name):"")||"string"==typeof n?.id&&n.id||e("editor.camera")+" #"+a}_renderViewScanMenu(){const a={submenu:!0,selected:!!this._expandedMenus[_n]};return s` -
- - ${this._expandedMenus[_n]?s`
- ${this._renderSwitch(u,this._defaults.view.scan.enabled,{label:e(`config.${u}`)})} - ${this._renderSwitch(h,this._defaults.view.scan.show_trigger_status,{label:e(`config.${h}`)})} - ${this._renderSwitch(_,this._defaults.view.scan.untrigger_reset)} - ${this._renderNumberInput(b,{default:this._defaults.view.scan.untrigger_seconds})} -
`:""} -
- `}_renderMenuButton(a,n){const t=[{value:"",label:""},{value:"matching",label:e("config.menu.buttons.alignments.matching")},{value:"opposing",label:e("config.menu.buttons.alignments.opposing")}],i={submenu:!0,selected:this._expandedMenus[mn]===a};return s` -
- - - ${this._expandedMenus[mn]===a?s`
- ${this._renderSwitch(`${g}.${a}.enabled`,this._defaults.menu.buttons[a]?.enabled??!0,{label:e("config.menu.buttons.enabled")})} - ${this._renderOptionSelector(`${g}.${a}.alignment`,t,{label:e("config.menu.buttons.alignment")})} - ${this._renderNumberInput(`${g}.${a}.priority`,{max:p,default:this._defaults.menu.buttons[a]?.priority,label:e("config.menu.buttons.priority")})} - ${this._renderIconSelector(`${g}.${a}.icon`,{label:e("config.menu.buttons.icon")})} - ${n} -
`:""} -
- `}_putInSubmenu(a,n,t,i,o){const r=this._expandedMenus[a]===n;return s`
- - ${r?s`
${o}
`:""} -
`}_renderMediaLayout(a,n,t,i,o){return this._putInSubmenu(a,!0,n,{name:"mdi:page-layout-body"},s` - ${this._renderOptionSelector(t,this._layoutFits)} - ${this._renderNumberInput(i,{min:0,max:100,label:e("config.common.layout.position.x")})} - ${this._renderNumberInput(o,{min:0,max:100,label:e("config.common.layout.position.y")})} - `)}_renderTimelineCoreControls(a,n,t,i,o,r){return s` ${this._renderOptionSelector(a,this._timelineStyleTypes,{label:e(`config.common.${v}`)})} - ${this._renderNumberInput(n,{label:e(`config.common.${f}`)})} - ${this._renderNumberInput(t,{label:e(`config.common.${$}`)})} - ${this._renderOptionSelector(i,this._timelineMediaTypes,{label:e(`config.common.${y}`)})} - ${this._renderSwitch(o,r,{label:e(`config.common.${w}`)})}`}_renderMiniTimeline(a,n,t,i,o,r,l,d){return this._putInSubmenu(a,!0,"config.common.controls.timeline.editor_label",{name:"mdi:chart-gantt"},s` ${this._renderOptionSelector(n,this._miniTimelineModes,{label:e("config.common.controls.timeline.mode")})} - ${this._renderTimelineCoreControls(t,i,o,r,l,d)}`)}_renderNextPreviousControls(a,n,t,i){return this._putInSubmenu(a,!0,"config.common.controls.next_previous.editor_label",{name:"mdi:arrow-right-bold-circle"},s` - ${this._renderOptionSelector(n,this._nextPreviousControlStyles.filter((e=>!(!i?.allowThumbnails&&"thumbnails"===e.value||!i?.allowIcons&&"icons"===e.value))),{label:e("config.common.controls.next_previous.style")})} - ${this._renderNumberInput(t,{min:S,label:e("config.common.controls.next_previous.size")})} - `)}_renderThumbnailsControls(a,n,t,i,o,r,l,d){return this._putInSubmenu(a,!0,"config.common.controls.thumbnails.editor_label",{name:"mdi:image-text"},s` - ${d?.configPathMode?s`${this._renderOptionSelector(d.configPathMode,this._thumbnailModes,{label:e("config.common.controls.thumbnails.mode")})}`:s``} - ${d?.configPathMedia?s`${this._renderOptionSelector(d.configPathMedia,this._thumbnailMedias,{label:e("config.common.controls.thumbnails.media")})}`:s``} - ${this._renderNumberInput(n,{min:M,max:x,label:e("config.common.controls.thumbnails.size")})} - ${this._renderSwitch(t,l.show_details,{label:e("config.common.controls.thumbnails.show_details")})} - ${this._renderSwitch(i,l.show_favorite_control,{label:e("config.common.controls.thumbnails.show_favorite_control")})} - ${this._renderSwitch(o,l.show_timeline_control,{label:e("config.common.controls.thumbnails.show_timeline_control")})} - ${this._renderSwitch(r,l.show_download_control,{label:e("config.common.controls.thumbnails.show_download_control")})} - `)}_renderFilterControls(a,n){return this._putInSubmenu(a,!0,"config.common.controls.filter.editor_label",{name:"mdi:filter-cog"},s` - ${n?s`${this._renderOptionSelector(n,this._filterModes,{label:e("config.common.controls.filter.mode")})}`:s``} - `)}_renderTitleControls(a,n,t){return this._putInSubmenu(a,!0,"config.common.controls.title.editor_label",{name:"mdi:subtitles"},s` ${this._renderOptionSelector(n,this._titleModes,{label:e("config.common.controls.title.mode")})} - ${this._renderNumberInput(t,{min:0,max:60,label:e("config.common.controls.title.duration_seconds")})}`)}_renderCamera(a,t,i,o){const r=[{value:"",label:""},{value:"auto",label:e("config.cameras.live_providers.auto")},{value:"ha",label:e("config.cameras.live_providers.ha")},{value:"image",label:e("config.cameras.live_providers.image")},{value:"jsmpeg",label:e("config.cameras.live_providers.jsmpeg")},{value:"go2rtc",label:e("config.cameras.live_providers.go2rtc")},{value:"webrtc-card",label:e("config.cameras.live_providers.webrtc-card")}],l=[];a.forEach(((e,a)=>{a!==t&&l.push({value:I(e),label:this._getEditorCameraTitle(a,e)})}));const d=e=>{if(this._config){const a=n(this._config);e(a)&&this._updateConfig(a)}},m={submenu:!0,selected:this._expandedMenus[un]===t};return s` -
- - ${this._expandedMenus[un]===t?s`
-
- !o&&d((e=>!!(Array.isArray(e.cameras)&&t>0)&&(Pa(e.cameras,t,t-1),this._openMenu(un,t-1),!0)))} - > - - - =this._config.cameras.length-1} - @click=${()=>!o&&d((e=>!!(Array.isArray(e.cameras)&&t - - - {d((e=>!!Array.isArray(e.cameras)&&(e.cameras.splice(t,1),this._closeMenu(un),!0)))}} - > - - -
- ${this._renderEntitySelector(C(Ha,t),"camera")} - ${this._renderOptionSelector(C(za,t),r)} - ${this._renderStringInput(C(La,t))} - ${this._renderIconSelector(C(Ea,t),{label:e("config.cameras.icon")})} - ${this._renderStringInput(C(ja,t))} - ${this._renderSwitch(C(qa,t),this._defaults.cameras.hide)} - ${this._putInSubmenu("cameras.engine",!0,"config.cameras.engines.editor_label",{name:"mdi:engine"},s`${this._putInSubmenu("cameras.frigate",t,"config.cameras.frigate.editor_label",{path:O},s` - ${this._renderStringInput(C(Ua,t))} - ${this._renderStringInput(C(Za,t))} - ${this._renderOptionSelector(C(Fa,t),[],{multiple:!0,label:e("config.cameras.frigate.labels")})} - ${this._renderOptionSelector(C(Va,t),[],{multiple:!0,label:e("config.cameras.frigate.zones")})} - ${this._renderStringInput(C(Ra,t))} - `)} - ${this._putInSubmenu("cameras.motioneye",t,"config.cameras.motioneye.editor_label",{path:"M 49.65,10.81 C 44.24,10.84 36.85,13.50 31.48,15.96 25.84,13.92 20.04,10.69 13.50,10.84 13.07,10.85 12.65,10.87 12.20,10.91 12.20,10.91 7.08,11.33 7.08,11.33 7.08,11.33 11.94,12.95 11.94,12.95 18.62,15.13 24.49,16.51 29.66,25.48 30.86,25.48 33.22,25.48 34.34,25.48 39.49,16.57 45.66,15.08 52.02,12.95 52.02,12.95 56.83,11.39 56.83,11.39 56.83,11.39 51.83,10.91 51.83,10.91 51.15,10.84 50.43,10.80 49.65,10.81 49.65,10.81 49.65,10.81 49.65,10.81 Z M 32.00,5.00 C 26.53,5.00 21.45,6.75 17.20,9.54 21.80,10.04 26.33,11.22 31.48,13.76 36.69,11.11 42.02,10.00 46.83,9.45 42.57,6.64 37.48,5.00 32.00,5.00 Z M 43.42,22.65 C 41.70,22.65 40.31,24.05 40.31,25.77 40.31,27.49 41.70,28.88 43.42,28.88 45.14,28.88 46.54,27.49 46.54,25.77 46.54,24.05 45.14,22.65 43.42,22.65 Z M 20.58,22.65 C 18.86,22.65 17.46,24.05 17.46,25.77 17.46,27.49 18.86,28.88 20.58,28.88 22.30,28.88 23.69,27.49 23.69,25.77 23.69,24.05 22.30,22.65 20.58,22.65 Z M 11.91,14.02 C 7.61,18.80 5.00,25.06 5.00,32.00 5.00,46.91 17.09,59.00 32.00,59.00 46.91,59.00 59.00,46.91 59.00,32.00 59.00,25.09 56.40,18.80 52.12,14.02 50.08,14.77 48.04,15.65 46.02,16.78 49.92,17.91 52.77,21.53 52.77,25.77 52.77,30.90 48.59,35.12 43.42,35.12 39.04,35.12 35.36,32.09 34.34,28.04 34.34,28.04 29.66,28.04 29.66,28.04 28.65,32.09 24.96,35.12 20.58,35.12 15.41,35.12 11.20,30.90 11.20,25.77 11.20,21.48 14.16,17.83 18.14,16.75 16.12,15.65 14.04,14.79 11.91,14.02 11.91,14.02 11.91,14.02 11.91,14.02 Z M 32.00,30.96 C 32.64,33.35 33.33,35.72 36.15,37.19 36.15,37.19 32.00,43.42 32.00,43.42 32.00,43.42 27.85,37.19 27.85,37.19 30.32,35.44 31.46,33.29 32.00,30.96 Z",viewBox:"0 0 64 64"},s` - ${this._renderStringInput(C(Da,t))} - ${this._renderStringInput(C(Ga,t))} - ${this._renderStringInput(C(Ja,t))} - ${this._renderStringInput(C(Ka,t))} - ${this._renderStringInput(C(Qa,t))} - `)} `)} - ${this._putInSubmenu("cameras.live_provider",!0,"config.cameras.live_provider_options.editor_label",{name:"mdi:cctv"},s` ${this._putInSubmenu("cameras.go2rtc",t,"config.cameras.go2rtc.editor_label",{name:"mdi:alpha-g-circle"},s`${this._renderOptionSelector(C(Wa,t),this._go2rtcModes,{multiple:!0,label:e("config.cameras.go2rtc.modes.editor_label")})} - ${this._renderStringInput(C(Xa,t))}`)} - ${this._putInSubmenu("cameras.image",!0,"config.cameras.image.editor_label",{name:"mdi:image"},s` - ${this._renderNumberInput(C(Ya,t))} - ${this._renderStringInput(C(en,t))} - `)} - ${this._putInSubmenu("cameras.webrtc_card",t,"config.cameras.webrtc_card.editor_label",{name:"mdi:webrtc"},s`${this._renderEntitySelector(C(an,t),"camera")} - ${this._renderStringInput(C(nn,t))}`)}`)} - ${this._putInSubmenu("cameras.dependencies",t,"config.cameras.dependencies.editor_label",{name:"mdi:graph"},s` ${this._renderSwitch(C(tn,t),this._defaults.cameras.dependencies.all_cameras)} - ${this._renderOptionSelector(C(on,t),l,{multiple:!0})}`)} - ${this._putInSubmenu("cameras.triggers",t,"config.cameras.triggers.editor_label",{name:"mdi:magnify-scan"},s` ${this._renderSwitch(C(sn,t),this._defaults.cameras.triggers.occupancy)} - ${this._renderSwitch(C(rn,t),this._defaults.cameras.triggers.motion)} - ${this._renderOptionSelector(C(ln,t),i,{multiple:!0})}`)} -
`:""} -
- `}_renderStringInput(e,a){if(this._config)return s` - this._valueChangedHandler(e,a)} - > - - `}_renderSwitch(e,a,n){if(this._config)return s` - this._valueChangedHandler(e,a)} - > - - `}_updateConfig(e){this._config=e,k(this,"config-changed",{config:this._config})}render(){if(!this.hass||!this._config)return s``;const a=N(this.hass),t=r(this._config,cn)||[];return s` - ${this._configUpgradeable?s`
- ${e("editor.upgrade_available")} - - {if(this._config){const e=n(this._config);T(e),this._updateConfig(e)}}} - > - - -
-
`:s``} -
- ${this._renderOptionSetHeader("cameras")} - ${"cameras"===this._expandedMenus[hn]?s` -
- ${t.map(((e,n)=>this._renderCamera(t,n,a)))} - ${this._renderCamera(t,t.length,a,!0)} -
- `:""} - ${this._renderOptionSetHeader("view")} - ${"view"===this._expandedMenus[hn]?s` -
- ${this._renderOptionSelector(B,this._viewModes)} - ${this._renderOptionSelector(A,this._cameraSelectViewModes)} - ${this._renderOptionSelector(P,this._darkModes)} - ${this._renderNumberInput(H)} - ${this._renderNumberInput(z)} - ${this._renderSwitch(L,this._defaults.view.update_force)} - ${this._renderSwitch(E,this._defaults.view.update_cycle_camera)} - ${this._renderViewScanMenu()} -
- `:""} - ${this._renderOptionSetHeader("menu")} - ${"menu"===this._expandedMenus[hn]?s` -
- ${this._renderOptionSelector(j,this._menuStyles)} - ${this._renderOptionSelector(q,this._menuPositions)} - ${this._renderOptionSelector(U,this._menuAlignments)} - ${this._renderNumberInput(Z,{min:S})} - ${this._renderMenuButton("frigate")} - ${this._renderMenuButton("cameras")} - ${this._renderMenuButton("substreams")} - ${this._renderMenuButton("live")} - ${this._renderMenuButton("clips")} - ${this._renderMenuButton("snapshots")} - ${this._renderMenuButton("recordings")} - ${this._renderMenuButton("image")} - ${this._renderMenuButton("download")} - ${this._renderMenuButton("camera_ui")} - ${this._renderMenuButton("fullscreen")} - ${this._renderMenuButton("expand")} - ${this._renderMenuButton("timeline")} - ${this._renderMenuButton("media_player")} - ${this._renderMenuButton("microphone",s`${this._renderOptionSelector(`${g}.microphone.type`,this._microphoneButtonTypes,{label:e("config.menu.buttons.type")})}`)} - ${this._renderMenuButton("play")} - ${this._renderMenuButton("mute")} - ${this._renderMenuButton("screenshot")} -
- `:""} - ${this._renderOptionSetHeader("live")} - ${"live"===this._expandedMenus[hn]?s` -
- ${this._renderSwitch(F,this._defaults.live.preload)} - ${this._renderSwitch(V,this._defaults.live.draggable)} - ${this._renderSwitch(R,this._defaults.live.zoomable)} - ${this._renderSwitch(D,this._defaults.live.lazy_load)} - ${this._renderOptionSelector(G,this._mediaActionNegativeConditions)} - ${this._renderOptionSelector(J,this._mediaActionPositiveConditions)} - ${this._renderOptionSelector(K,this._mediaActionNegativeConditions)} - ${this._renderOptionSelector(Q,this._mediaActionNegativeConditions)} - ${this._renderOptionSelector(W,this._mediaActionPositiveConditions)} - ${this._renderOptionSelector(X,this._transitionEffects)} - ${this._renderSwitch(Y,this._defaults.live.show_image_during_load)} - ${this._putInSubmenu("live.controls",!0,"config.live.controls.editor_label",{name:"mdi:gamepad"},s` - ${this._renderSwitch(ee,this._defaults.live.controls.builtin,{label:e("config.common.controls.builtin")})} - ${this._renderNextPreviousControls("live.controls.next_previous",ae,ne,{allowIcons:!0})} - ${this._renderThumbnailsControls("live.controls.thumbnails",te,ie,oe,se,re,this._defaults.live.controls.thumbnails,{configPathMedia:le,configPathMode:de})} - ${this._renderTitleControls("live.controls.title",ce,me)} - ${this._renderMiniTimeline("live.controls.timeline",ue,he,_e,be,ge,pe,this._defaults.live.controls.timeline.show_recordings)} - `)} - ${this._renderMediaLayout("live.layout","config.live.layout",ve,fe,$e)} - ${this._putInSubmenu("live.microphone",!0,"config.live.microphone.editor_label",{name:"mdi:microphone"},s` - ${this._renderNumberInput(ye)} - ${this._renderSwitch(we,this._defaults.live.microphone.always_connected)} - `)} -
- `:""} - ${this._renderOptionSetHeader("media_gallery")} - ${"media_gallery"===this._expandedMenus[hn]?s`
- ${this._renderThumbnailsControls("media_gallery.controls.thumbnails",Se,Me,xe,Ie,Ce,this._defaults.media_gallery.controls.thumbnails)} - ${this._renderFilterControls("media_gallery.controls.filter",Oe)} -
`:""} - ${this._renderOptionSetHeader("media_viewer")} - ${"media_viewer"===this._expandedMenus[hn]?s`
- ${this._renderOptionSelector(ke,this._mediaActionPositiveConditions)} - ${this._renderOptionSelector(Ne,this._mediaActionNegativeConditions)} - ${this._renderOptionSelector(Te,this._mediaActionNegativeConditions)} - ${this._renderOptionSelector(Be,this._mediaActionPositiveConditions)} - ${this._renderSwitch(Ae,this._defaults.media_viewer.draggable)} - ${this._renderSwitch(Pe,this._defaults.media_viewer.zoomable)} - ${this._renderSwitch(He,this._defaults.media_viewer.lazy_load)} - ${this._renderOptionSelector(ze,this._transitionEffects)} - ${this._renderSwitch(Le,this._defaults.media_viewer.snapshot_click_plays_clip)} - ${this._putInSubmenu("media_viewer.controls",!0,"config.media_viewer.controls.editor_label",{name:"mdi:gamepad"},s` - ${this._renderSwitch(Ee,this._defaults.media_viewer.controls.builtin,{label:e("config.common.controls.builtin")})} - ${this._renderNextPreviousControls("media_viewer.controls.next_previous",je,qe,{allowThumbnails:!0})} - ${this._renderThumbnailsControls("media_viewer.controls.thumbnails",Ue,Ze,Fe,Ve,Re,this._defaults.media_viewer.controls.thumbnails,{configPathMode:De})} - ${this._renderTitleControls("media_viewer.controls.title",Ge,Je)} - ${this._renderMiniTimeline("media_viewer.controls.timeline",Ke,Qe,We,Xe,Ye,ea,this._defaults.media_viewer.controls.timeline.show_recordings)} - `)} - ${this._renderMediaLayout("media_viewer.layout","config.media_viewer.layout",aa,na,ta)} -
`:""} - ${this._renderOptionSetHeader("image")} - ${"image"===this._expandedMenus[hn]?s`
- ${this._renderOptionSelector(ia,this._imageModes)} - ${this._renderStringInput(oa)} - ${this._renderNumberInput(sa)} - ${this._renderSwitch(ra,this._defaults.image.zoomable)} - ${this._renderMediaLayout("image.layout","config.image.layout",la,da,ca)} -
`:""} - ${this._renderOptionSetHeader("timeline")} - ${"timeline"===this._expandedMenus[hn]?s`
- ${this._renderTimelineCoreControls(v,f,$,y,w,this._defaults.timeline.show_recordings)} - ${this._renderThumbnailsControls("timeline.controls.thumbnails",ma,ua,ha,_a,ba,this._defaults.timeline.controls.thumbnails,{configPathMode:ga})} -
`:""} - ${this._renderOptionSetHeader("dimensions")} - ${"dimensions"===this._expandedMenus[hn]?s`
- ${this._renderOptionSelector(pa,this._aspectRatioModes)} - ${this._renderStringInput(va)} - ${this._renderStringInput(fa)} - ${this._renderStringInput($a)} -
`:""} - ${this._renderOptionSetHeader("performance","low"===r(this._config,ya)?"warning":void 0)} - ${"performance"===this._expandedMenus[hn]?s`
- ${"low"===r(this._config,ya)?this._renderInfo(e("config.performance.warning")):s``} - ${this._renderOptionSelector(ya,this._performanceProfiles)} - ${this._putInSubmenu("performance.features",!0,"config.performance.features.editor_label",{name:"mdi:feature-search"},s` - ${this._renderSwitch(wa,this._defaults.performance.features.animated_progress_indicator)} - ${this._renderNumberInput(Sa,{max:Ma})} - `)} - ${this._putInSubmenu("performance.style",!0,"config.performance.style.editor_label",{name:"mdi:palette-swatch-variant"},s` - ${this._renderSwitch(xa,this._defaults.performance.style.border_radius)} - ${this._renderSwitch(Ia,this._defaults.performance.style.box_shadow)} - `)} -
`:""} - ${void 0!==this._config.overrides?s` ${this._renderOptionSetHeader("overrides")} - ${"overrides"===this._expandedMenus[hn]?s`
- ${this._renderInfo(e("config.overrides.info"))} -
`:""}`:s``} -
- `}_closeMenu(e){delete this._expandedMenus[e],this.requestUpdate()}_openMenu(e,a){this._expandedMenus[e]=a,this.requestUpdate()}_toggleMenu(e){if(e&&e.target){const a=e.target.domain,n=e.target.key;this._expandedMenus[a]===n?this._closeMenu(a):this._openMenu(a,n)}}_valueChangedHandler(e,a){if(!this._config||!this.hass)return;let t;if(a.detail&&void 0!==a.detail.value&&(t=a.detail.value,"string"==typeof t&&(t=t.trim())),r(this._config,e)===t)return;const i=n(this._config);""===t||void 0===t?Ca(i,e):Oa(i,e,t),this._updateConfig(i)}static get styles(){return ka('ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n.option {\n padding: 4px 4px;\n cursor: pointer;\n}\n\n.option.option-overrides .title {\n color: var(--warning-color);\n}\n\n.row {\n display: flex;\n margin-bottom: -14px;\n pointer-events: none;\n}\n\n.title {\n padding-left: 16px;\n margin-top: -6px;\n pointer-events: none;\n}\n\n.title.warning {\n color: var(--warning-color);\n}\n\n.secondary {\n padding-left: 40px;\n color: var(--secondary-text-color);\n pointer-events: none;\n}\n\n.values {\n background: var(--secondary-background-color);\n display: grid;\n}\n\n.values + .option,\n.submenu + .option {\n margin-top: 10px;\n}\n\ndiv.upgrade {\n width: auto;\n border: 1px dotted var(--primary-color);\n margin: 10px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\ndiv.upgrade span {\n padding: 10px;\n}\n\n.submenu-header {\n display: flex;\n padding: 10px;\n cursor: pointer;\n}\n\n.submenu.selected > .submenu-header {\n background-color: var(--primary-color);\n color: var(--primary-text-color);\n}\n\n.submenu-header * {\n flex-basis: auto;\n pointer-events: none;\n}\n\n.submenu-header .new-camera {\n font-style: italic;\n}\n\n.submenu:not(.selected) > .submenu-header .new-camera {\n color: var(--secondary-text-color, "black");\n}\n\n.submenu-header ha-icon,\n.submenu-header ha-svg-icon {\n padding-right: 15px;\n}\n\n.submenu.selected {\n border: 1px solid var(--primary-color);\n}\n\n.submenu {\n width: calc(100% - 20px);\n margin-left: auto;\n margin-right: auto;\n margin-bottom: 10px;\n}\n\n.submenu:first-child,\n:not(.submenu) + .submenu {\n margin-top: 10px;\n}\n\n.submenu .controls {\n display: inline-block;\n margin-left: auto;\n margin-right: 0px;\n margin-bottom: 5px;\n}\n\n.submenu .controls ha-icon-button.button {\n --mdc-icon-button-size: 32px;\n --mdc-icon-size: calc(var(--mdc-icon-button-size) / 2);\n}\n\nspan.info {\n padding: 10px;\n}\n\nha-selector {\n padding: 10px;\n border: 1px solid var(--divider-color);\n}')}};Na([Ta({attribute:!1})],gn.prototype,"hass",void 0),Na([Ba()],gn.prototype,"_config",void 0),Na([Ba()],gn.prototype,"_defaults",void 0),Na([Ba()],gn.prototype,"_expandedMenus",void 0),gn=Na([Aa("frigate-card-editor")],gn);export{gn as FrigateCardEditor}; diff --git a/config/www/community/frigate-hass-card/editor-7b16019d.js.gz b/config/www/community/frigate-hass-card/editor-7b16019d.js.gz deleted file mode 100644 index c852598a84d99f0033265b81bec07de311644683..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8938 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 diff --git a/config/www/community/frigate-hass-card/editor-837da8b4.js b/config/www/community/frigate-hass-card/editor-837da8b4.js deleted file mode 100644 index d6c85c42..00000000 --- a/config/www/community/frigate-hass-card/editor-837da8b4.js +++ /dev/null @@ -1,462 +0,0 @@ -import{i as e,s as a,_ as t,n as i,t as n,a as s,x as o,e as r,l,r as c,b as d,c as m,d as u,p as h,f as _,g,h as b,j as p,k as v,C as f,m as $,o as y,q as w,u as S,v as x,w as M,y as I,z as k,A as O,B as C,D as z,E as A,F as N,G as T,H as B,I as E,J as P,K as H,L,M as V,N as K,O as U,P as j,Q as q,R,S as D,T as F,U as G,V as J,W as Q,X as W,Y as X,Z as Y,$ as Z,a0 as ee,a1 as ae,a2 as te,a3 as ie,a4 as ne,a5 as se,a6 as oe,a7 as re,a8 as le,a9 as ce,aa as de,ab as me,ac as ue,ad as he,ae as _e,af as ge,ag as be,ah as pe,ai as ve,aj as fe,ak as $e,al as ye,am as we,an as Se,ao as xe,ap as Me,aq as Ie,ar as ke,as as Oe,at as Ce,au as ze,av as Ae,aw as Ne,ax as Te,ay as Be,az as Ee,aA as Pe,aB as He,aC as Le,aD as Ve,aE as Ke,aF as Ue,aG as je,aH as qe,aI as Re,aJ as De,aK as Fe,aL as Ge,aM as Je,aN as Qe,aO as We,aP as Xe,aQ as Ye,aR as Ze,aS as ea,aT as aa,aU as ta,aV as ia,aW as na,aX as sa,aY as oa,aZ as ra,a_ as la,a$ as ca,b0 as da,b1 as ma,b2 as ua,b3 as ha,b4 as _a,b5 as ga,b6 as ba,b7 as pa,b8 as va,b9 as fa,ba as $a,bb as ya,bc as wa,bd as Sa,be as xa,bf as Ma,bg as Ia,bh as ka,bi as Oa,bj as Ca,bk as za,bl as Aa,bm as Na,bn as Ta,bo as Ba,bp as Ea,bq as Pa,br as Ha,bs as La,bt as Va,bu as Ka,bv as Ua,bw as ja,bx as qa,by as Ra,bz as Da,bA as Fa,bB as Ga,bC as Ja,bD as Qa,bE as Wa,bF as Xa,bG as Ya,bH as Za,bI as et,bJ as at,bK as tt,bL as it,bM as nt,bN as st,bO as ot,bP as rt,bQ as lt,bR as ct,bS as dt,bT as mt,bU as ut,bV as ht,bW as _t,bX as gt,bY as bt,bZ as pt,b_ as vt,b$ as ft,c0 as $t,c1 as yt,c2 as wt,c3 as St,c4 as xt,c5 as Mt,c6 as It,c7 as kt,c8 as Ot,c9 as Ct,ca as zt,cb as At,cc as Nt,cd as Tt,ce as Bt,cf as Et,cg as Pt,ch as Ht,ci as Lt,cj as Vt,ck as Kt,cl as Ut,cm as jt,cn as qt,co as Rt,cp as Dt,cq as Ft,cr as Gt,cs as Jt,ct as Qt,cu as Wt,cv as Xt,cw as Yt,cx as Zt,cy as ei,cz as ai,cA as ti,cB as ii,cC as ni,cD as si,cE as oi,cF as ri,cG as li,cH as ci,cI as di,cJ as mi,cK as ui}from"./card-09c4bade.js";class hi{constructor(e){this._assigning=!1,this._value=null,this._blurEventHandler=()=>{this._setAssigning(!1)},this._keydownEventHandler=e=>{e.key&&!["Control","Alt","Shift","Meta"].includes(e.key)&&(this.setValue({key:e.key,ctrl:e.ctrlKey,alt:e.altKey,shift:e.shiftKey,meta:e.metaKey}),this._setAssigning(!1))},this._host=e,this._host.addController(this)}setValue(a){e(a,this._value)||(this._value=a,this._host.requestUpdate(),this._host.dispatchEvent(new CustomEvent("value-changed",{detail:{value:this._value}})))}getValue(){return this._value}hasValue(){return!!this._value}isAssigning(){return this._assigning}toggleAssigning(){this._setAssigning(!this._assigning)}_setAssigning(e){this._assigning=e,a(this._host,this._assigning,"assigning"),this._assigning?this._host.addEventListener("keydown",this._keydownEventHandler):this._host.removeEventListener("keydown",this._keydownEventHandler),this._host.requestUpdate()}hostConnected(){this._host.addEventListener("blur",this._blurEventHandler)}hostDisconnected(){this._host.removeEventListener("blur",this._blurEventHandler)}}let _i=class extends s{constructor(){super(...arguments),this._controller=new hi(this)}willUpdate(e){e.has("value")&&this._controller.setValue(this.value??null)}render(){if(!this.label)return;const e=e=>o`
-
${e}
-
`;return o` -
${this.label}
- {this._controller.toggleAssigning()}} - > - - - ${this._controller.isAssigning()?l("key_assigner.assigning"):l("key_assigner.assign")} - - - ${this._controller.hasValue()?o`{this._controller.setValue(null)}} - > - - ${l("key_assigner.unassign")} - `:""} -
- ${this.value?.ctrl?e(l("key_assigner.modifiers.ctrl")):""} - ${this.value?.shift?e(l("key_assigner.modifiers.shift")):""} - ${this.value?.meta?e(l("key_assigner.modifiers.meta")):""} - ${this.value?.alt?e(l("key_assigner.modifiers.alt")):""} - ${this.value?.key?e(this.value.key):""} -
- `}static get styles(){return c('.dotdotdot:after {\n animation: dots 2s linear infinite;\n content: "";\n display: inline-block;\n width: 3em;\n}\n@keyframes dots {\n 0%, 20% {\n content: ".";\n }\n 40% {\n content: "..";\n }\n 60% {\n content: "...";\n }\n 90%, 100% {\n content: "";\n }\n}\n\n:host {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 10px;\n height: 56px;\n border: 1px solid var(--divider-color);\n}\n\n:host([assigning]) ha-button.assign span,\n:host([assigning]) ha-button.assign ha-icon {\n color: var(--warning-color);\n}\n\nha-icon {\n padding: 10px;\n}\n\ndiv.label {\n width: 100px;\n margin-left: 4px;\n}\n\ndiv.key-row {\n flex: 1;\n display: flex;\n justify-content: center;\n align-items: center;\n padding-left: 10px;\n padding-right: 10px;\n}\n\ndiv.key {\n display: flex;\n align-items: center;\n height: 90%;\n width: min-content;\n margin-left: 5px;\n margin-right: 5px;\n}\n\ndiv.key-inner {\n height: 100%;\n width: 100%;\n padding-top: 2px;\n padding-bottom: 2px;\n padding-left: 4px;\n padding-right: 4px;\n border: 2px;\n border-radius: 4px;\n border-style: outset;\n border-color: var(--divider-color);\n font-family: monospace;\n text-transform: capitalize;\n}\n\ndiv.unassigned {\n font-style: italic;\n}\n\ndiv.key + div.key:before {\n display: flex;\n align-items: center;\n margin-right: 5px;\n content: " + ";\n}')}};t([i({attribute:!1})],_i.prototype,"label",void 0),t([i({attribute:!1})],_i.prototype,"value",void 0),_i=t([n("frigate-card-key-assigner")],_i);const gi="cameras",bi="options",pi={cameras:{icon:"video",name:l("editor.cameras"),secondary:l("editor.cameras_secondary")},view:{icon:"eye",name:l("editor.view"),secondary:l("editor.view_secondary")},menu:{icon:"menu",name:l("editor.menu"),secondary:l("editor.menu_secondary")},status_bar:{icon:"sign-text",name:l("editor.status_bar"),secondary:l("editor.status_bar_secondary")},live:{icon:"cctv",name:l("editor.live"),secondary:l("editor.live_secondary")},media_gallery:{icon:"grid",name:l("editor.media_gallery"),secondary:l("editor.media_gallery_secondary")},media_viewer:{icon:"filmstrip",name:l("editor.media_viewer"),secondary:l("editor.media_viewer_secondary")},image:{icon:"image",name:l("editor.image"),secondary:l("editor.image_secondary")},timeline:{icon:"chart-gantt",name:l("editor.timeline"),secondary:l("editor.timeline_secondary")},dimensions:{icon:"aspect-ratio",name:l("editor.dimensions"),secondary:l("editor.dimensions_secondary")},performance:{icon:"speedometer",name:l("editor.performance"),secondary:l("editor.performance_secondary")},profiles:{icon:"folder-wrench-outline",name:l("editor.profiles"),secondary:l("editor.profiles_secondary")},overrides:{icon:"file-replace",name:l("editor.overrides"),secondary:l("editor.overrides_secondary")}};let vi=class extends s{constructor(){super(...arguments),this._defaults=m(di),this._initialized=!1,this._configUpgradeable=!1,this._expandedMenus={},this._viewModes=[{value:"",label:""},{value:"live",label:l("config.view.views.live")},{value:"clips",label:l("config.view.views.clips")},{value:"snapshots",label:l("config.view.views.snapshots")},{value:"recordings",label:l("config.view.views.recordings")},{value:"clip",label:l("config.view.views.clip")},{value:"snapshot",label:l("config.view.views.snapshot")},{value:"recording",label:l("config.view.views.recording")},{value:"image",label:l("config.view.views.image")},{value:"timeline",label:l("config.view.views.timeline")}],this._cameraSelectViewModes=[...this._viewModes,{value:"current",label:l("config.view.views.current")}],this._filterModes=[{value:"",label:""},{value:"none",label:l("config.common.controls.filter.modes.none")},{value:"left",label:l("config.common.controls.filter.modes.left")},{value:"right",label:l("config.common.controls.filter.modes.right")}],this._menuStyles=[{value:"",label:""},{value:"none",label:l("config.menu.styles.none")},{value:"hidden",label:l("config.menu.styles.hidden")},{value:"overlay",label:l("config.menu.styles.overlay")},{value:"hover",label:l("config.menu.styles.hover")},{value:"hover-card",label:l("config.menu.styles.hover-card")},{value:"outside",label:l("config.menu.styles.outside")}],this._menuPositions=[{value:"",label:""},{value:"left",label:l("config.menu.positions.left")},{value:"right",label:l("config.menu.positions.right")},{value:"top",label:l("config.menu.positions.top")},{value:"bottom",label:l("config.menu.positions.bottom")}],this._menuAlignments=[{value:"",label:""},{value:"left",label:l("config.menu.alignments.left")},{value:"right",label:l("config.menu.alignments.right")},{value:"top",label:l("config.menu.alignments.top")},{value:"bottom",label:l("config.menu.alignments.bottom")}],this._nextPreviousControlStyles=[{value:"",label:""},{value:"chevrons",label:l("config.common.controls.next_previous.styles.chevrons")},{value:"icons",label:l("config.common.controls.next_previous.styles.icons")},{value:"none",label:l("config.common.controls.next_previous.styles.none")},{value:"thumbnails",label:l("config.common.controls.next_previous.styles.thumbnails")}],this._aspectRatioModes=[{value:"",label:""},{value:"dynamic",label:l("config.dimensions.aspect_ratio_modes.dynamic")},{value:"static",label:l("config.dimensions.aspect_ratio_modes.static")},{value:"unconstrained",label:l("config.dimensions.aspect_ratio_modes.unconstrained")}],this._thumbnailModes=[{value:"",label:""},{value:"none",label:l("config.common.controls.thumbnails.modes.none")},{value:"above",label:l("config.common.controls.thumbnails.modes.above")},{value:"below",label:l("config.common.controls.thumbnails.modes.below")},{value:"left",label:l("config.common.controls.thumbnails.modes.left")},{value:"right",label:l("config.common.controls.thumbnails.modes.right")}],this._thumbnailMediaTypes=[{value:"",label:""},{value:"events",label:l("config.common.controls.thumbnails.media_types.events")},{value:"recordings",label:l("config.common.controls.thumbnails.media_types.recordings")}],this._thumbnailEventsMediaTypes=[{value:"",label:""},{value:"clips",label:l("config.common.controls.thumbnails.events_media_types.clips")},{value:"snapshots",label:l("config.common.controls.thumbnails.events_media_types.snapshots")}],this._transitionEffects=[{value:"",label:""},{value:"none",label:l("config.media_viewer.transition_effects.none")},{value:"slide",label:l("config.media_viewer.transition_effects.slide")}],this._imageModes=[{value:"",label:""},{value:"camera",label:l("config.common.image.modes.camera")},{value:"entity",label:l("config.common.image.modes.entity")},{value:"screensaver",label:l("config.common.image.modes.screensaver")},{value:"url",label:l("config.common.image.modes.url")}],this._timelineEventsMediaTypes=[{value:"",label:""},{value:"all",label:l("config.common.timeline.events_media_types.all")},{value:"clips",label:l("config.common.timeline.events_media_types.clips")},{value:"snapshots",label:l("config.common.timeline.events_media_types.snapshots")}],this._timelineStyleTypes=[{value:"",label:""},{value:"ribbon",label:l("config.common.timeline.styles.ribbon")},{value:"stack",label:l("config.common.timeline.styles.stack")}],this._darkModes=[{value:"",label:""},{value:"on",label:l("config.view.dark_modes.on")},{value:"off",label:l("config.view.dark_modes.off")},{value:"auto",label:l("config.view.dark_modes.auto")}],this._mediaActionNegativeConditions=[{value:"",label:""},{value:"unselected",label:l("config.common.media_action_conditions.unselected")},{value:"hidden",label:l("config.common.media_action_conditions.hidden")}],this._mediaActionPositiveConditions=[{value:"",label:""},{value:"selected",label:l("config.common.media_action_conditions.selected")},{value:"visible",label:l("config.common.media_action_conditions.visible")}],this._mediaLiveUnmuteConditions=[...this._mediaActionPositiveConditions,{value:"microphone",label:l("config.common.media_action_conditions.microphone_unmute")}],this._mediaLiveMuteConditions=[...this._mediaActionNegativeConditions,{value:"microphone",label:l("config.common.media_action_conditions.microphone_mute")}],this._layoutFits=[{value:"",label:""},{value:"contain",label:l("config.cameras.dimensions.layout.fits.contain")},{value:"cover",label:l("config.cameras.dimensions.layout.fits.cover")},{value:"fill",label:l("config.cameras.dimensions.layout.fits.fill")}],this._miniTimelineModes=[{value:"",label:""},{value:"none",label:l("config.common.controls.timeline.modes.none")},{value:"above",label:l("config.common.controls.timeline.modes.above")},{value:"below",label:l("config.common.controls.timeline.modes.below")}],this._profiles=[{value:"",label:""},{value:"casting",label:l("config.profiles.casting")},{value:"low-performance",label:l("config.profiles.low-performance")},{value:"scrubbing",label:l("config.profiles.scrubbing")}],this._go2rtcModes=[{value:"",label:""},{value:"mse",label:l("config.cameras.go2rtc.modes.mse")},{value:"webrtc",label:l("config.cameras.go2rtc.modes.webrtc")},{value:"mp4",label:l("config.cameras.go2rtc.modes.mp4")},{value:"mjpeg",label:l("config.cameras.go2rtc.modes.mjpeg")}],this._microphoneButtonTypes=[{value:"",label:""},{value:"momentary",label:l("config.menu.buttons.types.momentary")},{value:"toggle",label:l("config.menu.buttons.types.toggle")}],this._displayModes=[{value:"",label:""},{value:"single",label:l("display_modes.single")},{value:"grid",label:l("display_modes.grid")}],this._castMethods=[{value:"",label:""},{value:"standard",label:l("config.cameras.cast.methods.standard")},{value:"dashboard",label:l("config.cameras.cast.methods.dashboard")}],this._ptzModes=[{value:"",label:""},{value:"on",label:l("config.live.controls.ptz.modes.on")},{value:"off",label:l("config.live.controls.ptz.modes.off")}],this._ptzOrientations=[{value:"",label:""},{value:"vertical",label:l("config.live.controls.ptz.orientations.vertical")},{value:"horizontal",label:l("config.live.controls.ptz.orientations.horizontal")}],this._ptzPositions=[{value:"",label:""},{value:"top-left",label:l("config.live.controls.ptz.positions.top-left")},{value:"top-right",label:l("config.live.controls.ptz.positions.top-right")},{value:"bottom-left",label:l("config.live.controls.ptz.positions.bottom-left")},{value:"bottom-right",label:l("config.live.controls.ptz.positions.bottom-right")}],this._triggersActionsInteractionModes=[{value:"",label:""},{value:"all",label:l("config.view.triggers.actions.interaction_modes.all")},{value:"inactive",label:l("config.view.triggers.actions.interaction_modes.inactive")},{value:"active",label:l("config.view.triggers.actions.interaction_modes.active")}],this._triggersActionsTrigger=[{value:"",label:""},{value:"default",label:l("config.view.triggers.actions.triggers.default")},{value:"live",label:l("config.view.triggers.actions.triggers.live")},{value:"media",label:l("config.view.triggers.actions.triggers.media")},{value:"none",label:l("config.view.triggers.actions.triggers.none")}],this._triggersActionsUntrigger=[{value:"",label:""},{value:"default",label:l("config.view.triggers.actions.untriggers.default")},{value:"none",label:l("config.view.triggers.actions.untriggers.none")}],this._triggersEvents=[{value:"",label:""},{value:"events",label:l("config.cameras.triggers.events.events")},{value:"clips",label:l("config.cameras.triggers.events.clips")},{value:"snapshots",label:l("config.cameras.triggers.events.snapshots")}],this._timelinePanModes=[{value:"",label:""},{value:"pan",label:l("config.common.controls.timeline.pan_modes.pan")},{value:"seek",label:l("config.common.controls.timeline.pan_modes.seek")},{value:"seek-in-media",label:l("config.common.controls.timeline.pan_modes.seek-in-media")},{value:"seek-in-camera",label:l("config.common.controls.timeline.pan_modes.seek-in-camera")}],this._capabilities=[{value:"",label:""},{value:"live",label:l("config.cameras.capabilities.capabilities.live")},{value:"substream",label:l("config.cameras.capabilities.capabilities.substream")},{value:"clips",label:l("config.cameras.capabilities.capabilities.clips")},{value:"recordings",label:l("config.cameras.capabilities.capabilities.recordings")},{value:"snapshots",label:l("config.cameras.capabilities.capabilities.snapshots")},{value:"favorite-events",label:l("config.cameras.capabilities.capabilities.favorite-events")},{value:"favorite-recordings",label:l("config.cameras.capabilities.capabilities.favorite-recordings")},{value:"seek",label:l("config.cameras.capabilities.capabilities.seek")},{value:"ptz",label:l("config.cameras.capabilities.capabilities.ptz")},{value:"menu",label:l("config.cameras.capabilities.capabilities.menu")}],this._defaultResetInteractionModes=[{value:"",label:""},{value:"all",label:l("config.view.default_reset.interaction_modes.all")},{value:"inactive",label:l("config.view.default_reset.interaction_modes.inactive")},{value:"active",label:l("config.view.default_reset.interaction_modes.active")}],this._proxyMedia=[{value:"",label:""},{value:"auto",label:l("config.cameras.proxy.media.auto")},{value:!0,label:l("config.cameras.proxy.media.true")},{value:!1,label:l("config.cameras.proxy.media.false")}],this._proxySSLCiphers=[{value:"",label:""},{value:"auto",label:l("config.cameras.proxy.ssl_ciphers.auto")},{value:"default",label:l("config.cameras.proxy.ssl_ciphers.default")},{value:"insecure",label:l("config.cameras.proxy.ssl_ciphers.insecure")},{value:"intermediate",label:l("config.cameras.proxy.ssl_ciphers.intermediate")},{value:"modern",label:l("config.cameras.proxy.ssl_ciphers.modern")}],this._proxySSLVerification=[{value:"",label:""},{value:"auto",label:l("config.cameras.proxy.ssl_verification.auto")},{value:!0,label:l("config.cameras.proxy.ssl_verification.true")},{value:!1,label:l("config.cameras.proxy.ssl_verification.false")}],this._reolinkMediaResolution=[{value:"",label:""},{value:"high",label:l("config.cameras.reolink.media_resolution.high")},{value:"low",label:l("config.cameras.reolink.media_resolution.low")}],this._statusBarStyles=[{value:"",label:""},{value:"hover",label:l("config.status_bar.styles.hover")},{value:"hover-card",label:l("config.status_bar.styles.hover-card")},{value:"none",label:l("config.status_bar.styles.none")},{value:"outside",label:l("config.status_bar.styles.outside")},{value:"overlay",label:l("config.status_bar.styles.overlay")},{value:"popup",label:l("config.status_bar.styles.popup")}],this._statusBarPositions=[{value:"",label:""},{value:"top",label:l("config.status_bar.positions.top")},{value:"bottom",label:l("config.status_bar.positions.bottom")}]}setConfig(e){this._config=e,this._configUpgradeable=u(e);const a=h.safeParse(this._config.profiles);if(a.success){const e=m(di);_(this._config,e,a.data),this._defaults=e}}willUpdate(){this._initialized||g().then((e=>{e&&(this._initialized=!0)}))}_renderOptionSetHeader(e,a){const t=pi[e];return o` -
-
- -
${t.name}
-
-
${t.secondary}
-
- `}_getLabel(e){const a=e.split(".").filter((e=>!e.match(/^\[[0-9]+\]$/))).join(".");return l(`config.${a}`)}_renderEntitySelector(e,a){if(this._config)return o` - this._valueChangedHandler(e,a)} - > - - `}_renderOptionSelector(e,a=[],t){if(this._config)return o` - this._valueChangedHandler(e,a)} - > - - `}_renderIconSelector(e,a){if(this._config)return o` - this._valueChangedHandler(e,a)} - > - - `}_renderNumberInput(e,a){if(!this._config)return;const t=b(this._config,e),i=void 0===a?.max?"box":"slider";return o` - this._valueChangedHandler(e,a)} - > - - `}_renderInfo(e){return o` ${e}`}_getEditorCameraTitle(e,a){return"string"==typeof a?.title&&a.title||("string"==typeof a?.camera_entity?p(this.hass,a.camera_entity):"")||"object"==typeof a?.webrtc_card&&a.webrtc_card&&"string"==typeof a.webrtc_card.entity&&a.webrtc_card.entity||("object"==typeof a?.frigate&&a.frigate&&"string"==typeof a?.frigate.camera_name&&a.frigate.camera_name?v(a.frigate.camera_name):"")||"string"==typeof a?.id&&a.id||l("editor.camera")+" #"+e}_renderViewDefaultResetMenu(){return this._putInSubmenu("view.default_reset",!0,`config.${f}.editor_label`,"mdi:restart",o` - ${this._renderSwitch($,this._defaults.view.default_reset.after_interaction)} - ${this._renderNumberInput(y)} - ${this._renderOptionSelector(w,this._defaultResetInteractionModes,{label:l("config.view.default_reset.interaction_mode")})}, - ${this._renderOptionSelector(S,this.hass?x(this.hass):[],{multiple:!0})} - `)}_renderViewTriggersMenu(){return this._putInSubmenu("view.triggers",!0,`config.${M}.editor_label`,"mdi:target-account",o` - ${this._renderSwitch(I,this._defaults.view.triggers.filter_selected_camera,{label:l(`config.${I}`)})} - ${this._renderSwitch(k,this._defaults.view.triggers.show_trigger_status,{label:l(`config.${k}`)})} - ${this._renderNumberInput(O,{default:this._defaults.view.triggers.untrigger_seconds})} - ${this._putInSubmenu("view.triggers.actions",!0,`config.${C}.editor_label`,"mdi:cogs",o` ${this._renderOptionSelector(z,this._triggersActionsTrigger,{label:l("config.view.triggers.actions.trigger")})} - ${this._renderOptionSelector(A,this._triggersActionsUntrigger,{label:l("config.view.triggers.actions.untrigger")})} - ${this._renderOptionSelector(N,this._triggersActionsInteractionModes,{label:l("config.view.triggers.actions.interaction_mode")})}`)} - `)}_renderKeyAssigner(e,a){return o` this._valueChangedHandler(e,a)} - >`}_renderViewKeyboardShortcutMenu(){return this._putInSubmenu("view.keyboard_shortcuts",!0,`config.${T}.editor_label`,"mdi:keyboard",o` - ${this._renderSwitch(B,this._defaults.view.keyboard_shortcuts.enabled,{label:l(`config.${B}`)})} - ${this._renderKeyAssigner(E,this._defaults.view.keyboard_shortcuts.ptz_left)} - ${this._renderKeyAssigner(P,this._defaults.view.keyboard_shortcuts.ptz_right)} - ${this._renderKeyAssigner(H,this._defaults.view.keyboard_shortcuts.ptz_up)} - ${this._renderKeyAssigner(L,this._defaults.view.keyboard_shortcuts.ptz_down)} - ${this._renderKeyAssigner(V,this._defaults.view.keyboard_shortcuts.ptz_zoom_in)} - ${this._renderKeyAssigner(K,this._defaults.view.keyboard_shortcuts.ptz_zoom_out)} - ${this._renderKeyAssigner(U,this._defaults.view.keyboard_shortcuts.ptz_home)} - `)}_renderStatusBarItem(e){return o` ${this._putInSubmenu("status_bar.items",e,`config.status_bar.items.${e}`,"mdi:feature-search",o` - ${this._renderSwitch(`${j}.${e}.enabled`,this._defaults.status_bar.items[e]?.enabled??!0,{label:l("config.status_bar.items.enabled")})} - ${this._renderNumberInput(`${j}.${e}.priority`,{max:q,default:this._defaults.status_bar.items[e]?.priority,label:l("config.status_bar.items.priority")})} - `)}`}_renderMenuButton(e,a){const t=[{value:"",label:""},{value:"matching",label:l("config.menu.buttons.alignments.matching")},{value:"opposing",label:l("config.menu.buttons.alignments.opposing")}];return o` ${this._putInSubmenu("menu.buttons",e,`config.menu.buttons.${e}`,"mdi:gesture-tap-button",o` - ${this._renderSwitch(`${R}.${e}.enabled`,this._defaults.menu.buttons[e]?.enabled??!0,{label:l("config.menu.buttons.enabled")})} - ${this._renderOptionSelector(`${R}.${e}.alignment`,t,{label:l("config.menu.buttons.alignment")})} - ${this._renderSwitch(`${R}.${e}.permanent`,this._defaults.menu.buttons[e]?.permanent??!1,{label:l("config.menu.buttons.permanent")})} - ${this._renderNumberInput(`${R}.${e}.priority`,{max:D,default:this._defaults.menu.buttons[e]?.priority,label:l("config.menu.buttons.priority")})} - ${this._renderIconSelector(`${R}.${e}.icon`,{label:l("config.menu.buttons.icon")})} - ${a} - `)}`}_putInSubmenu(e,a,t,i,n){const s=this._expandedMenus[e]===a,c={submenu:!0,selected:s},d=dt(i);return o`
- - ${s?o`
${n}
`:""} -
`}_renderMediaLayout(e,a,t,i,n,s,r,c,d,m,u,h){return this._putInSubmenu(e,!0,a,"mdi:page-layout-body",o` - ${this._renderNumberInput(m,{min:0,max:10,label:l("config.cameras.dimensions.layout.zoom"),step:.1})} - ${this._renderNumberInput(u,{min:0,max:100,label:l("config.cameras.dimensions.layout.pan.x")})} - ${this._renderNumberInput(h,{min:0,max:100,label:l("config.cameras.dimensions.layout.pan.y")})} - ${this._renderOptionSelector(t,this._layoutFits,{label:l("config.cameras.dimensions.layout.fit")})} - ${this._putInSubmenu(`${e}.position`,!0,"config.cameras.dimensions.layout.position.editor_label","mdi:aspect-ratio",o` ${this._renderNumberInput(i,{min:0,max:100,label:l("config.cameras.dimensions.layout.position.x")})} - ${this._renderNumberInput(n,{min:0,max:100,label:l("config.cameras.dimensions.layout.position.y")})}`)} - ${this._putInSubmenu(`${e}.view_box`,!0,"config.cameras.dimensions.layout.view_box.editor_label","mdi:crop",o` - ${this._renderNumberInput(s,{min:0,max:100,label:l("config.cameras.dimensions.layout.view_box.top")})} - ${this._renderNumberInput(r,{min:0,max:100,label:l("config.cameras.dimensions.layout.view_box.bottom")})} - ${this._renderNumberInput(c,{min:0,max:100,label:l("config.cameras.dimensions.layout.view_box.left")})} - ${this._renderNumberInput(d,{min:0,max:100,label:l("config.cameras.dimensions.layout.view_box.right")})} - `)} - `)}_renderTimelineCoreControls(e,a,t,i,n,s,r){return o` - ${this._renderOptionSelector(e,this._timelineStyleTypes,{label:l(`config.common.${F}`)})} - ${r?this._renderOptionSelector(r,this._timelinePanModes,{label:l("config.common.controls.timeline.pan_mode")}):""} - ${this._renderNumberInput(a,{label:l(`config.common.${G}`)})} - ${this._renderNumberInput(t,{label:l(`config.common.${J}`)})} - ${this._renderOptionSelector(i,this._timelineEventsMediaTypes,{label:l(`config.common.${Q}`)})} - ${this._renderSwitch(n,s,{label:l(`config.common.${W}`)})} - `}_renderMiniTimeline(e,a,t,i,n,s,r,c,d){return this._putInSubmenu(e,!0,"config.common.controls.timeline.editor_label","mdi:chart-gantt",o` ${this._renderOptionSelector(a,this._miniTimelineModes,{label:l("config.common.controls.timeline.mode")})} - ${this._renderTimelineCoreControls(t,i,n,s,r,c,d)}`)}_renderViewDisplay(e,a,t,i,n){return this._putInSubmenu(e,!0,"config.common.display.editor_label","mdi:palette-swatch",o` - ${this._renderOptionSelector(a,this._displayModes,{label:l("config.common.display.mode")})} - ${this._renderNumberInput(t,{min:0,label:l("config.common.display.grid_selected_width_factor")})} - ${this._renderNumberInput(i,{min:0,label:l("config.common.display.grid_columns")})} - ${this._renderNumberInput(n,{min:0,label:l("config.common.display.grid_max_columns")})} - `)}_renderNextPreviousControls(e,a,t,i){return this._putInSubmenu(e,!0,"config.common.controls.next_previous.editor_label","mdi:arrow-right-bold-circle",o` - ${this._renderOptionSelector(a,this._nextPreviousControlStyles.filter((e=>!(!i?.allowThumbnails&&"thumbnails"===e.value||!i?.allowIcons&&"icons"===e.value))),{label:l("config.common.controls.next_previous.style")})} - ${this._renderNumberInput(t,{min:X,label:l("config.common.controls.next_previous.size")})} - `)}_renderThumbnailsControls(e,a,t,i,n,s,r,c){return this._putInSubmenu(e,!0,"config.common.controls.thumbnails.editor_label","mdi:image-text",o` - ${c?.configPathMode?o`${this._renderOptionSelector(c.configPathMode,this._thumbnailModes,{label:l("config.common.controls.thumbnails.mode")})}`:o``} - ${c?.configPathMediaType?o`${this._renderOptionSelector(c.configPathMediaType,this._thumbnailMediaTypes,{label:l("config.common.controls.thumbnails.media_type")})}`:o``} - ${c?.configPathEventsMediaType?o`${this._renderOptionSelector(c.configPathEventsMediaType,this._thumbnailEventsMediaTypes,{label:l("config.common.controls.thumbnails.events_media_type")})}`:o``} - ${this._renderNumberInput(a,{min:Y,max:Z,label:l("config.common.controls.thumbnails.size")})} - ${this._renderSwitch(t,r.show_details,{label:l("config.common.controls.thumbnails.show_details")})} - ${this._renderSwitch(i,r.show_favorite_control,{label:l("config.common.controls.thumbnails.show_favorite_control")})} - ${this._renderSwitch(n,r.show_timeline_control,{label:l("config.common.controls.thumbnails.show_timeline_control")})} - ${this._renderSwitch(s,r.show_download_control,{label:l("config.common.controls.thumbnails.show_download_control")})} - `)}_renderFilterControls(e,a){return this._putInSubmenu(e,!0,"config.common.controls.filter.editor_label","mdi:filter-cog",o` - ${a?o`${this._renderOptionSelector(a,this._filterModes,{label:l("config.common.controls.filter.mode")})}`:o``} - `)}_renderImageOptions(e,a,t,i,n){return o` - ${this._renderOptionSelector(e,this._imageModes,{label:l("config.common.image.mode")})} - ${this._renderStringInput(a,{label:l("config.common.image.url")})} - ${this._renderOptionSelector(t,this.hass?x(this.hass):[],{label:l("config.common.image.entity")})} - ${this._renderStringInput(i,{label:l("config.common.image.entity_parameters")})} - ${this._renderNumberInput(n,{label:l("config.common.image.refresh_seconds")})} - `}_renderCamera(e,a,t,i){const n=[{value:"",label:""},{value:"auto",label:l("config.cameras.live_providers.auto")},{value:"ha",label:l("config.cameras.live_providers.ha")},{value:"image",label:l("config.cameras.live_providers.image")},{value:"jsmpeg",label:l("config.cameras.live_providers.jsmpeg")},{value:"go2rtc",label:l("config.cameras.live_providers.go2rtc")},{value:"webrtc-card",label:l("config.cameras.live_providers.webrtc-card")}],s=[];e.forEach(((e,t)=>{t!==a&&s.push({value:ee(e),label:this._getEditorCameraTitle(t,e)})}));const c=e=>{if(this._config){const a=m(this._config);e(a)&&this._updateConfig(a)}},d={submenu:!0,selected:this._expandedMenus[gi]===a};return o` -
- - ${this._expandedMenus[gi]===a?o`
-
- !i&&c((e=>!!(Array.isArray(e.cameras)&&a>0)&&(mt(e.cameras,a,a-1),this._openMenu(gi,a-1),!0)))} - > - - - =this._config.cameras.length-1} - @click=${()=>!i&&c((e=>!!(Array.isArray(e.cameras)&&a - - - {c((e=>!!Array.isArray(e.cameras)&&(e.cameras.splice(a,1),this._closeMenu(gi),!0)))}} - > - - -
- ${this._renderEntitySelector(ae(ut,a),"camera")} - ${this._renderOptionSelector(ae(ht,a),n)} - ${this._renderStringInput(ae(_t,a))} - ${this._renderIconSelector(ae(gt,a),{label:l("config.cameras.icon")})} - ${this._renderStringInput(ae(bt,a))} - ${this._putInSubmenu("cameras.engine",!0,"config.cameras.engines.editor_label","mdi:engine",o`${this._putInSubmenu("cameras.frigate",a,"config.cameras.frigate.editor_label","frigate",o` - ${this._renderStringInput(ae(pt,a))} - ${this._renderStringInput(ae(vt,a))} - ${this._renderOptionSelector(ae(ft,a),[],{multiple:!0,label:l("config.cameras.frigate.labels")})} - ${this._renderOptionSelector(ae($t,a),[],{multiple:!0,label:l("config.cameras.frigate.zones")})} - ${this._renderStringInput(ae(yt,a))} - `)} - ${this._putInSubmenu("cameras.motioneye",a,"config.cameras.motioneye.editor_label","motioneye",o` ${this._renderStringInput(ae(wt,a))} - ${this._renderStringInput(ae(St,a))} - ${this._renderStringInput(ae(xt,a))} - ${this._renderStringInput(ae(Mt,a))} - ${this._renderStringInput(ae(It,a))}`)} - ${this._putInSubmenu("cameras.reolink",a,"config.cameras.reolink.editor_label","reolink",o` ${this._renderStringInput(ae(kt,a))} - ${this._renderOptionSelector(ae(Ot,a),this._reolinkMediaResolution,{label:l("config.cameras.reolink.media_resolution.editor_label")})}`)}`)} - ${this._putInSubmenu("cameras.live_provider",!0,"config.cameras.live_provider_options.editor_label","mdi:cctv",o` ${this._putInSubmenu("cameras.go2rtc",a,"config.cameras.go2rtc.editor_label","mdi:alpha-g-circle",o`${this._renderOptionSelector(ae(Ct,a),this._go2rtcModes,{multiple:!0,label:l("config.cameras.go2rtc.modes.editor_label")})} - ${this._renderStringInput(ae(zt,a))}`)} - ${this._putInSubmenu("cameras.image",!0,"config.cameras.image.editor_label","mdi:image",this._renderImageOptions(ae(At,a),ae(Nt,a),ae(Tt,a),ae(Bt,a),ae(Et,a)))} - ${this._putInSubmenu("cameras.webrtc_card",a,"config.cameras.webrtc_card.editor_label","mdi:webrtc",o`${this._renderEntitySelector(ae(Pt,a),"camera")} - ${this._renderStringInput(ae(Ht,a))}`)}`)} - ${this._putInSubmenu("cameras.dependencies",a,"config.cameras.dependencies.editor_label","mdi:graph",o` ${this._renderSwitch(ae(Lt,a),this._defaults.cameras.dependencies.all_cameras)} - ${this._renderOptionSelector(ae(Vt,a),s,{multiple:!0})}`)} - ${this._putInSubmenu("cameras.triggers",a,"config.cameras.triggers.editor_label","mdi:magnify-scan",o` - ${this._renderSwitch(ae(Kt,a),this._defaults.cameras.triggers.occupancy)} - ${this._renderSwitch(ae(Ut,a),this._defaults.cameras.triggers.motion)} - ${this._renderOptionSelector(ae(jt,a),t,{multiple:!0})} - ${this._renderOptionSelector(ae(qt,a),this._triggersEvents,{multiple:!0,label:l("config.cameras.triggers.events.editor_label")})} - `)} - ${this._putInSubmenu("cameras.cast",a,"config.cameras.cast.editor_label","mdi:cast",o` - ${this._renderOptionSelector(ae(Rt,a),this._castMethods)} - ${this._renderStringInput(ae(Dt,a))} - ${this._renderStringInput(ae(Ft,a))} - `)} - ${this._putInSubmenu("cameras.dimensions",a,"config.cameras.dimensions.editor_label","mdi:aspect-ratio",o` - ${this._renderStringInput(ae(Gt,a))} - ${this._renderMediaLayout("cameras.dimensions.layout","config.cameras.dimensions.layout.editor_label",ae(Jt,a),ae(Qt,a),ae(Wt,a),ae(Xt,a),ae(Yt,a),ae(Zt,a),ae(ei,a),ae(ai,a),ae(ti,a),ae(ii,a))} - `)} - ${this._putInSubmenu("cameras.capabilities",a,"config.cameras.capabilities.editor_label","mdi:cog-stop",o` - ${this._renderOptionSelector(ae(ni,a),this._capabilities,{multiple:!0})} - ${this._renderOptionSelector(ae(si,a),this._capabilities,{multiple:!0})} - `)} - ${this._putInSubmenu("cameras.proxy",a,"config.cameras.proxy.editor_label","mdi:arrow-decision",o` - ${this._renderOptionSelector(ae(oi,a),this._proxyMedia,{label:l("config.cameras.proxy.media.editor_label")})} - ${this._renderSwitch(ae(ri,a),this._defaults.cameras.proxy.dynamic)} - ${this._renderOptionSelector(ae(li,a),this._proxySSLVerification,{label:l("config.cameras.proxy.ssl_verification.editor_label")})} - ${this._renderOptionSelector(ae(ci,a),this._proxySSLCiphers,{label:l("config.cameras.proxy.ssl_ciphers.editor_label")})} - `)} -
`:""} -
- `}_renderStringInput(e,a){if(this._config)return o` - this._valueChangedHandler(e,a)} - > - - `}_renderSwitch(e,a,t){if(this._config)return o` - this._valueChangedHandler(e,a)} - > - - `}_updateConfig(e){this._config=e,te(this,"config-changed",{config:this._config})}render(){if(!this.hass||!this._config)return o``;const e=x(this.hass),a=b(this._config,mi)||[];return o` - ${this._configUpgradeable?o`
- ${l("editor.upgrade_available")} - - {if(this._config){const e=m(this._config);ie(e),this._updateConfig(e)}}} - > - - -
-
`:o``} -
- ${this._renderOptionSetHeader("cameras")} - ${"cameras"===this._expandedMenus[bi]?o` -
- ${a.map(((t,i)=>this._renderCamera(a,i,e)))} - ${this._renderCamera(a,a.length,e,!0)} -
- `:""} - ${this._renderOptionSetHeader("profiles")} - ${"profiles"===this._expandedMenus[bi]?o`
- ${this._renderOptionSelector(ne,this._profiles,{multiple:!0,label:l("config.profiles.editor_label")})} -
`:""} - ${this._renderOptionSetHeader("view")} - ${"view"===this._expandedMenus[bi]?o` -
- ${this._renderOptionSelector(se,this._viewModes)} - ${this._renderOptionSelector(oe,this._cameraSelectViewModes)} - ${this._renderOptionSelector(re,this._darkModes)} - ${this._renderNumberInput(le)} - ${this._renderSwitch(ce,this._defaults.view.default_cycle_camera)} - ${this._renderViewDefaultResetMenu()} ${this._renderViewTriggersMenu()} - ${this._renderViewKeyboardShortcutMenu()} -
- `:""} - ${this._renderOptionSetHeader("menu")} - ${"menu"===this._expandedMenus[bi]?o` -
- ${this._renderOptionSelector(de,this._menuStyles)} - ${this._renderOptionSelector(me,this._menuPositions)} - ${this._renderOptionSelector(ue,this._menuAlignments)} - ${this._renderNumberInput(he,{min:X})} - ${this._renderMenuButton("frigate")} - ${this._renderMenuButton("cameras")} - ${this._renderMenuButton("substreams")} - ${this._renderMenuButton("live")} - ${this._renderMenuButton("clips")} - ${this._renderMenuButton("snapshots")} - ${this._renderMenuButton("recordings")} - ${this._renderMenuButton("image")} - ${this._renderMenuButton("download")} - ${this._renderMenuButton("camera_ui")} - ${this._renderMenuButton("fullscreen")} - ${this._renderMenuButton("expand")} - ${this._renderMenuButton("timeline")} - ${this._renderMenuButton("media_player")} - ${this._renderMenuButton("microphone",o`${this._renderOptionSelector(`${R}.microphone.type`,this._microphoneButtonTypes,{label:l("config.menu.buttons.type")})}`)} - ${this._renderMenuButton("play")} - ${this._renderMenuButton("mute")} - ${this._renderMenuButton("screenshot")} - ${this._renderMenuButton("display_mode")} - ${this._renderMenuButton("ptz_controls")} - ${this._renderMenuButton("ptz_home")} -
- `:""} - ${this._renderOptionSetHeader("status_bar")} - ${"status_bar"===this._expandedMenus[bi]?o` -
- ${this._renderOptionSelector(_e,this._statusBarStyles)} - ${this._renderOptionSelector(ge,this._statusBarPositions)} - ${this._renderNumberInput(be,{min:pe,label:l("config.status_bar.height")})} - ${this._renderNumberInput(ve,{min:0,max:60,default:this._defaults.status_bar.popup_seconds,label:l("config.status_bar.popup_seconds")})} - ${this._renderStatusBarItem("title")} - ${this._renderStatusBarItem("resolution")} - ${this._renderStatusBarItem("technology")} - ${this._renderStatusBarItem("engine")} -
- `:""} - ${this._renderOptionSetHeader("live")} - ${"live"===this._expandedMenus[bi]?o` -
- ${this._renderSwitch(fe,this._defaults.live.preload)} - ${this._renderSwitch($e,this._defaults.live.draggable)} - ${this._renderSwitch(ye,this._defaults.live.zoomable)} - ${this._renderSwitch(we,this._defaults.live.lazy_load)} - ${this._renderOptionSelector(Se,this._mediaActionNegativeConditions,{multiple:!0})} - ${this._renderOptionSelector(xe,this._mediaActionPositiveConditions,{multiple:!0})} - ${this._renderOptionSelector(Me,this._mediaActionNegativeConditions,{multiple:!0})} - ${this._renderOptionSelector(Ie,this._mediaLiveMuteConditions,{multiple:!0})} - ${this._renderOptionSelector(ke,this._mediaLiveUnmuteConditions,{multiple:!0})} - ${this._renderOptionSelector(Oe,this._transitionEffects)} - ${this._renderSwitch(Ce,this._defaults.live.show_image_during_load)} - ${this._renderViewDisplay("live.display",ze,Ae,Ne,Te)} - ${this._putInSubmenu("live.controls",!0,"config.live.controls.editor_label","mdi:gamepad",o` - ${this._renderSwitch(Be,this._defaults.live.controls.builtin,{label:l("config.common.controls.builtin")})} - ${this._renderNextPreviousControls("live.controls.next_previous",Ee,Pe,{allowIcons:!0})} - ${this._renderThumbnailsControls("live.controls.thumbnails",He,Le,Ve,Ke,Ue,this._defaults.live.controls.thumbnails,{configPathMediaType:je,configPathEventsMediaType:qe,configPathMode:Re})} - ${this._renderMiniTimeline("live.controls.timeline",De,Fe,Ge,Je,Qe,We,this._defaults.live.controls.timeline.show_recordings,Xe)} - ${this._putInSubmenu("live.controls.ptz",!0,"config.live.controls.ptz.editor_label","mdi:pan",o` - ${this._renderOptionSelector(Ye,this._ptzModes)} - ${this._renderOptionSelector(Ze,this._ptzPositions)} - ${this._renderOptionSelector(ea,this._ptzOrientations)} - ${this._renderSwitch(aa,this._defaults.live.controls.ptz.hide_pan_tilt,{label:l("config.live.controls.ptz.hide_pan_tilt")})} - ${this._renderSwitch(ta,this._defaults.live.controls.ptz.hide_pan_tilt,{label:l("config.live.controls.ptz.hide_zoom")})} - ${this._renderSwitch(ia,this._defaults.live.controls.ptz.hide_home,{label:l("config.live.controls.ptz.hide_home")})} - `)} - `)} - ${this._putInSubmenu("live.microphone",!0,"config.live.microphone.editor_label","mdi:microphone",o` - ${this._renderNumberInput(na)} - ${this._renderSwitch(sa,this._defaults.live.microphone.always_connected)} - ${this._renderNumberInput(oa)} - `)} -
- `:""} - ${this._renderOptionSetHeader("media_gallery")} - ${"media_gallery"===this._expandedMenus[bi]?o`
- ${this._renderThumbnailsControls("media_gallery.controls.thumbnails",ra,la,ca,da,ma,this._defaults.media_gallery.controls.thumbnails)} - ${this._renderFilterControls("media_gallery.controls.filter",ua)} -
`:""} - ${this._renderOptionSetHeader("media_viewer")} - ${"media_viewer"===this._expandedMenus[bi]?o`
- ${this._renderOptionSelector(ha,this._mediaActionPositiveConditions,{multiple:!0})} - ${this._renderOptionSelector(_a,this._mediaActionNegativeConditions,{multiple:!0})} - ${this._renderOptionSelector(ga,this._mediaActionNegativeConditions,{multiple:!0})} - ${this._renderOptionSelector(ba,this._mediaActionPositiveConditions,{multiple:!0})} - ${this._renderSwitch(pa,this._defaults.media_viewer.draggable)} - ${this._renderSwitch(va,this._defaults.media_viewer.zoomable)} - ${this._renderSwitch(fa,this._defaults.media_viewer.lazy_load)} - ${this._renderOptionSelector($a,this._transitionEffects)} - ${this._renderSwitch(ya,this._defaults.media_viewer.snapshot_click_plays_clip)} - ${this._renderViewDisplay("media_viewer.display",wa,Sa,xa,Ma)} - ${this._putInSubmenu("media_viewer.controls",!0,"config.media_viewer.controls.editor_label","mdi:gamepad",o` - ${this._renderSwitch(Ia,this._defaults.media_viewer.controls.builtin,{label:l("config.common.controls.builtin")})} - ${this._renderNextPreviousControls("media_viewer.controls.next_previous",ka,Oa,{allowThumbnails:!0})} - ${this._renderThumbnailsControls("media_viewer.controls.thumbnails",Ca,za,Aa,Na,Ta,this._defaults.media_viewer.controls.thumbnails,{configPathMode:Ba})} - ${this._renderMiniTimeline("media_viewer.controls.timeline",Ea,Pa,Ha,La,Va,Ka,this._defaults.media_viewer.controls.timeline.show_recordings,Ua)} - `)} -
`:""} - ${this._renderOptionSetHeader("image")} - ${"image"===this._expandedMenus[bi]?o`
- ${this._renderImageOptions(ja,qa,Ra,Da,Fa)} -
`:""} - ${this._renderOptionSetHeader("timeline")} - ${"timeline"===this._expandedMenus[bi]?o`
- ${this._renderTimelineCoreControls(F,G,J,Q,W,this._defaults.timeline.show_recordings)} - ${this._renderThumbnailsControls("timeline.controls.thumbnails",Ga,Ja,Qa,Wa,Xa,this._defaults.timeline.controls.thumbnails,{configPathMode:Ya})} -
`:""} - ${this._renderOptionSetHeader("dimensions")} - ${"dimensions"===this._expandedMenus[bi]?o`
- ${this._renderOptionSelector(Za,this._aspectRatioModes)} - ${this._renderStringInput(et)} - ${this._renderStringInput(at)} -
`:""} - ${this._renderOptionSetHeader("performance","low"===b(this._config,ui)?"warning":void 0)} - ${"performance"===this._expandedMenus[bi]?o`
- ${"low"===b(this._config,ui)?this._renderInfo(l("config.performance.warning")):o``} - ${this._putInSubmenu("performance.features",!0,"config.performance.features.editor_label","mdi:feature-search",o` - ${this._renderSwitch(tt,this._defaults.performance.features.animated_progress_indicator)} - ${this._renderNumberInput(it,{max:nt})} - ${this._renderNumberInput(st,{min:1})} - `)} - ${this._putInSubmenu("performance.style",!0,"config.performance.style.editor_label","mdi:palette-swatch-variant",o` - ${this._renderSwitch(ot,this._defaults.performance.style.border_radius)} - ${this._renderSwitch(rt,this._defaults.performance.style.box_shadow)} - `)} -
`:""} - ${void 0!==this._config.overrides?o` ${this._renderOptionSetHeader("overrides")} - ${"overrides"===this._expandedMenus[bi]?o`
- ${this._renderInfo(l("config.overrides.info"))} -
`:""}`:o``} -
- `}_closeMenu(e){delete this._expandedMenus[e],this.requestUpdate()}_openMenu(e,a){this._expandedMenus[e]=a,this.requestUpdate()}_toggleMenu(e){if(e&&e.target){const a=e.target.domain,t=e.target.key;this._expandedMenus[a]===t?this._closeMenu(a):this._openMenu(a,t)}}_valueChangedHandler(e,a){if(!this._config||!this.hass)return;let t;if(a.detail&&void 0!==a.detail.value&&(t=a.detail.value,"string"==typeof t&&(t=t.trim())),b(this._config,e)===t)return;const i=m(this._config);""===t||void 0===t?lt(i,e):ct(i,e,t),this._updateConfig(i)}static get styles(){return c('ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n.option {\n padding: 4px 4px;\n cursor: pointer;\n}\n\n.option.option-overrides .title {\n color: var(--warning-color);\n}\n\n.row {\n display: flex;\n margin-bottom: -14px;\n pointer-events: none;\n}\n\n.title {\n padding-left: 16px;\n margin-top: -6px;\n pointer-events: none;\n}\n\n.title.warning {\n color: var(--warning-color);\n}\n\n.secondary {\n padding-left: 40px;\n color: var(--secondary-text-color);\n pointer-events: none;\n}\n\n.values {\n background: var(--secondary-background-color);\n display: grid;\n}\n\n.values + .option,\n.submenu + .option {\n margin-top: 10px;\n}\n\ndiv.upgrade {\n width: auto;\n border: 1px dotted var(--primary-color);\n margin: 10px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\ndiv.upgrade span {\n padding: 10px;\n}\n\n.submenu-header {\n display: flex;\n padding: 10px;\n cursor: pointer;\n}\n\n.submenu.selected > .submenu-header {\n background-color: var(--primary-color);\n color: var(--primary-text-color);\n}\n\n.submenu-header * {\n flex-basis: auto;\n pointer-events: none;\n}\n\n.submenu-header .new-camera {\n font-style: italic;\n}\n\n.submenu:not(.selected) > .submenu-header .new-camera {\n color: var(--secondary-text-color, "black");\n}\n\n.submenu-header ha-icon,\n.submenu-header img {\n padding-right: 15px;\n}\n\n.submenu.selected {\n border: 1px solid var(--primary-color);\n}\n\n.submenu {\n width: calc(100% - 20px);\n margin-left: auto;\n margin-right: auto;\n margin-bottom: 10px;\n}\n\n.submenu:first-child,\n:not(.submenu) + .submenu {\n margin-top: 10px;\n}\n\n.submenu .controls {\n display: inline-block;\n margin-left: auto;\n margin-right: 0px;\n margin-bottom: 5px;\n}\n\n.submenu .controls ha-icon-button.button {\n --mdc-icon-button-size: 32px;\n --mdc-icon-size: calc(var(--mdc-icon-button-size) / 2);\n}\n\nspan.info {\n padding: 10px;\n}\n\nha-selector {\n padding: 10px;\n border: 1px solid var(--divider-color);\n}')}};t([i({attribute:!1})],vi.prototype,"hass",void 0),t([d()],vi.prototype,"_config",void 0),t([d()],vi.prototype,"_defaults",void 0),t([d()],vi.prototype,"_expandedMenus",void 0),vi=t([n("frigate-card-editor")],vi);export{vi as FrigateCardEditor}; diff --git a/config/www/community/frigate-hass-card/editor-837da8b4.js.gz b/config/www/community/frigate-hass-card/editor-837da8b4.js.gz deleted file mode 100644 index 8564fb46a4e52ac4c4de3b897cd3ad65ca6e0f71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11529 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 diff --git a/config/www/community/frigate-hass-card/editor-c3e576d8.js b/config/www/community/frigate-hass-card/editor-c3e576d8.js deleted file mode 100644 index 78ff1291..00000000 --- a/config/www/community/frigate-hass-card/editor-c3e576d8.js +++ /dev/null @@ -1,462 +0,0 @@ -import{i as e,s as a,_ as t,n as i,t as n,a as s,x as o,e as r,l,r as c,b as d,c as m,d as u,p as h,f as _,g,h as b,j as p,k as v,C as f,m as $,o as y,q as w,u as S,v as x,w as M,y as I,z as k,A as O,B as C,D as z,E as A,F as N,G as T,H as B,I as E,J as P,K as H,L,M as V,N as K,O as U,P as j,Q as q,R,S as D,T as F,U as G,V as J,W as Q,X as W,Y as X,Z as Y,$ as Z,a0 as ee,a1 as ae,a2 as te,a3 as ie,a4 as ne,a5 as se,a6 as oe,a7 as re,a8 as le,a9 as ce,aa as de,ab as me,ac as ue,ad as he,ae as _e,af as ge,ag as be,ah as pe,ai as ve,aj as fe,ak as $e,al as ye,am as we,an as Se,ao as xe,ap as Me,aq as Ie,ar as ke,as as Oe,at as Ce,au as ze,av as Ae,aw as Ne,ax as Te,ay as Be,az as Ee,aA as Pe,aB as He,aC as Le,aD as Ve,aE as Ke,aF as Ue,aG as je,aH as qe,aI as Re,aJ as De,aK as Fe,aL as Ge,aM as Je,aN as Qe,aO as We,aP as Xe,aQ as Ye,aR as Ze,aS as ea,aT as aa,aU as ta,aV as ia,aW as na,aX as sa,aY as oa,aZ as ra,a_ as la,a$ as ca,b0 as da,b1 as ma,b2 as ua,b3 as ha,b4 as _a,b5 as ga,b6 as ba,b7 as pa,b8 as va,b9 as fa,ba as $a,bb as ya,bc as wa,bd as Sa,be as xa,bf as Ma,bg as Ia,bh as ka,bi as Oa,bj as Ca,bk as za,bl as Aa,bm as Na,bn as Ta,bo as Ba,bp as Ea,bq as Pa,br as Ha,bs as La,bt as Va,bu as Ka,bv as Ua,bw as ja,bx as qa,by as Ra,bz as Da,bA as Fa,bB as Ga,bC as Ja,bD as Qa,bE as Wa,bF as Xa,bG as Ya,bH as Za,bI as et,bJ as at,bK as tt,bL as it,bM as nt,bN as st,bO as ot,bP as rt,bQ as lt,bR as ct,bS as dt,bT as mt,bU as ut,bV as ht,bW as _t,bX as gt,bY as bt,bZ as pt,b_ as vt,b$ as ft,c0 as $t,c1 as yt,c2 as wt,c3 as St,c4 as xt,c5 as Mt,c6 as It,c7 as kt,c8 as Ot,c9 as Ct,ca as zt,cb as At,cc as Nt,cd as Tt,ce as Bt,cf as Et,cg as Pt,ch as Ht,ci as Lt,cj as Vt,ck as Kt,cl as Ut,cm as jt,cn as qt,co as Rt,cp as Dt,cq as Ft,cr as Gt,cs as Jt,ct as Qt,cu as Wt,cv as Xt,cw as Yt,cx as Zt,cy as ei,cz as ai,cA as ti,cB as ii,cC as ni,cD as si,cE as oi,cF as ri,cG as li,cH as ci,cI as di,cJ as mi,cK as ui}from"./card-c642ee74.js";class hi{constructor(e){this._assigning=!1,this._value=null,this._blurEventHandler=()=>{this._setAssigning(!1)},this._keydownEventHandler=e=>{e.key&&!["Control","Alt","Shift","Meta"].includes(e.key)&&(this.setValue({key:e.key,ctrl:e.ctrlKey,alt:e.altKey,shift:e.shiftKey,meta:e.metaKey}),this._setAssigning(!1))},this._host=e,this._host.addController(this)}setValue(a){e(a,this._value)||(this._value=a,this._host.requestUpdate(),this._host.dispatchEvent(new CustomEvent("value-changed",{detail:{value:this._value}})))}getValue(){return this._value}hasValue(){return!!this._value}isAssigning(){return this._assigning}toggleAssigning(){this._setAssigning(!this._assigning)}_setAssigning(e){this._assigning=e,a(this._host,this._assigning,"assigning"),this._assigning?this._host.addEventListener("keydown",this._keydownEventHandler):this._host.removeEventListener("keydown",this._keydownEventHandler),this._host.requestUpdate()}hostConnected(){this._host.addEventListener("blur",this._blurEventHandler)}hostDisconnected(){this._host.removeEventListener("blur",this._blurEventHandler)}}let _i=class extends s{constructor(){super(...arguments),this._controller=new hi(this)}willUpdate(e){e.has("value")&&this._controller.setValue(this.value??null)}render(){if(!this.label)return;const e=e=>o`
-
${e}
-
`;return o` -
${this.label}
- {this._controller.toggleAssigning()}} - > - - - ${this._controller.isAssigning()?l("key_assigner.assigning"):l("key_assigner.assign")} - - - ${this._controller.hasValue()?o`{this._controller.setValue(null)}} - > - - ${l("key_assigner.unassign")} - `:""} -
- ${this.value?.ctrl?e(l("key_assigner.modifiers.ctrl")):""} - ${this.value?.shift?e(l("key_assigner.modifiers.shift")):""} - ${this.value?.meta?e(l("key_assigner.modifiers.meta")):""} - ${this.value?.alt?e(l("key_assigner.modifiers.alt")):""} - ${this.value?.key?e(this.value.key):""} -
- `}static get styles(){return c('.dotdotdot:after {\n animation: dots 2s linear infinite;\n content: "";\n display: inline-block;\n width: 3em;\n}\n@keyframes dots {\n 0%, 20% {\n content: ".";\n }\n 40% {\n content: "..";\n }\n 60% {\n content: "...";\n }\n 90%, 100% {\n content: "";\n }\n}\n\n:host {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 10px;\n height: 56px;\n border: 1px solid var(--divider-color);\n}\n\n:host([assigning]) ha-button.assign span,\n:host([assigning]) ha-button.assign ha-icon {\n color: var(--warning-color);\n}\n\nha-icon {\n padding: 10px;\n}\n\ndiv.label {\n width: 100px;\n margin-left: 4px;\n}\n\ndiv.key-row {\n flex: 1;\n display: flex;\n justify-content: center;\n align-items: center;\n padding-left: 10px;\n padding-right: 10px;\n}\n\ndiv.key {\n display: flex;\n align-items: center;\n height: 90%;\n width: min-content;\n margin-left: 5px;\n margin-right: 5px;\n}\n\ndiv.key-inner {\n height: 100%;\n width: 100%;\n padding-top: 2px;\n padding-bottom: 2px;\n padding-left: 4px;\n padding-right: 4px;\n border: 2px;\n border-radius: 4px;\n border-style: outset;\n border-color: var(--divider-color);\n font-family: monospace;\n text-transform: capitalize;\n}\n\ndiv.unassigned {\n font-style: italic;\n}\n\ndiv.key + div.key:before {\n display: flex;\n align-items: center;\n margin-right: 5px;\n content: " + ";\n}')}};t([i({attribute:!1})],_i.prototype,"label",void 0),t([i({attribute:!1})],_i.prototype,"value",void 0),_i=t([n("frigate-card-key-assigner")],_i);const gi="cameras",bi="options",pi={cameras:{icon:"video",name:l("editor.cameras"),secondary:l("editor.cameras_secondary")},view:{icon:"eye",name:l("editor.view"),secondary:l("editor.view_secondary")},menu:{icon:"menu",name:l("editor.menu"),secondary:l("editor.menu_secondary")},status_bar:{icon:"sign-text",name:l("editor.status_bar"),secondary:l("editor.status_bar_secondary")},live:{icon:"cctv",name:l("editor.live"),secondary:l("editor.live_secondary")},media_gallery:{icon:"grid",name:l("editor.media_gallery"),secondary:l("editor.media_gallery_secondary")},media_viewer:{icon:"filmstrip",name:l("editor.media_viewer"),secondary:l("editor.media_viewer_secondary")},image:{icon:"image",name:l("editor.image"),secondary:l("editor.image_secondary")},timeline:{icon:"chart-gantt",name:l("editor.timeline"),secondary:l("editor.timeline_secondary")},dimensions:{icon:"aspect-ratio",name:l("editor.dimensions"),secondary:l("editor.dimensions_secondary")},performance:{icon:"speedometer",name:l("editor.performance"),secondary:l("editor.performance_secondary")},profiles:{icon:"folder-wrench-outline",name:l("editor.profiles"),secondary:l("editor.profiles_secondary")},overrides:{icon:"file-replace",name:l("editor.overrides"),secondary:l("editor.overrides_secondary")}};let vi=class extends s{constructor(){super(...arguments),this._defaults=m(di),this._initialized=!1,this._configUpgradeable=!1,this._expandedMenus={},this._viewModes=[{value:"",label:""},{value:"live",label:l("config.view.views.live")},{value:"clips",label:l("config.view.views.clips")},{value:"snapshots",label:l("config.view.views.snapshots")},{value:"recordings",label:l("config.view.views.recordings")},{value:"clip",label:l("config.view.views.clip")},{value:"snapshot",label:l("config.view.views.snapshot")},{value:"recording",label:l("config.view.views.recording")},{value:"image",label:l("config.view.views.image")},{value:"timeline",label:l("config.view.views.timeline")}],this._cameraSelectViewModes=[...this._viewModes,{value:"current",label:l("config.view.views.current")}],this._filterModes=[{value:"",label:""},{value:"none",label:l("config.common.controls.filter.modes.none")},{value:"left",label:l("config.common.controls.filter.modes.left")},{value:"right",label:l("config.common.controls.filter.modes.right")}],this._menuStyles=[{value:"",label:""},{value:"none",label:l("config.menu.styles.none")},{value:"hidden",label:l("config.menu.styles.hidden")},{value:"overlay",label:l("config.menu.styles.overlay")},{value:"hover",label:l("config.menu.styles.hover")},{value:"hover-card",label:l("config.menu.styles.hover-card")},{value:"outside",label:l("config.menu.styles.outside")}],this._menuPositions=[{value:"",label:""},{value:"left",label:l("config.menu.positions.left")},{value:"right",label:l("config.menu.positions.right")},{value:"top",label:l("config.menu.positions.top")},{value:"bottom",label:l("config.menu.positions.bottom")}],this._menuAlignments=[{value:"",label:""},{value:"left",label:l("config.menu.alignments.left")},{value:"right",label:l("config.menu.alignments.right")},{value:"top",label:l("config.menu.alignments.top")},{value:"bottom",label:l("config.menu.alignments.bottom")}],this._nextPreviousControlStyles=[{value:"",label:""},{value:"chevrons",label:l("config.common.controls.next_previous.styles.chevrons")},{value:"icons",label:l("config.common.controls.next_previous.styles.icons")},{value:"none",label:l("config.common.controls.next_previous.styles.none")},{value:"thumbnails",label:l("config.common.controls.next_previous.styles.thumbnails")}],this._aspectRatioModes=[{value:"",label:""},{value:"dynamic",label:l("config.dimensions.aspect_ratio_modes.dynamic")},{value:"static",label:l("config.dimensions.aspect_ratio_modes.static")},{value:"unconstrained",label:l("config.dimensions.aspect_ratio_modes.unconstrained")}],this._thumbnailModes=[{value:"",label:""},{value:"none",label:l("config.common.controls.thumbnails.modes.none")},{value:"above",label:l("config.common.controls.thumbnails.modes.above")},{value:"below",label:l("config.common.controls.thumbnails.modes.below")},{value:"left",label:l("config.common.controls.thumbnails.modes.left")},{value:"right",label:l("config.common.controls.thumbnails.modes.right")}],this._thumbnailMediaTypes=[{value:"",label:""},{value:"events",label:l("config.common.controls.thumbnails.media_types.events")},{value:"recordings",label:l("config.common.controls.thumbnails.media_types.recordings")}],this._thumbnailEventsMediaTypes=[{value:"",label:""},{value:"clips",label:l("config.common.controls.thumbnails.events_media_types.clips")},{value:"snapshots",label:l("config.common.controls.thumbnails.events_media_types.snapshots")}],this._transitionEffects=[{value:"",label:""},{value:"none",label:l("config.media_viewer.transition_effects.none")},{value:"slide",label:l("config.media_viewer.transition_effects.slide")}],this._imageModes=[{value:"",label:""},{value:"camera",label:l("config.common.image.modes.camera")},{value:"entity",label:l("config.common.image.modes.entity")},{value:"screensaver",label:l("config.common.image.modes.screensaver")},{value:"url",label:l("config.common.image.modes.url")}],this._timelineEventsMediaTypes=[{value:"",label:""},{value:"all",label:l("config.common.timeline.events_media_types.all")},{value:"clips",label:l("config.common.timeline.events_media_types.clips")},{value:"snapshots",label:l("config.common.timeline.events_media_types.snapshots")}],this._timelineStyleTypes=[{value:"",label:""},{value:"ribbon",label:l("config.common.timeline.styles.ribbon")},{value:"stack",label:l("config.common.timeline.styles.stack")}],this._darkModes=[{value:"",label:""},{value:"on",label:l("config.view.dark_modes.on")},{value:"off",label:l("config.view.dark_modes.off")},{value:"auto",label:l("config.view.dark_modes.auto")}],this._mediaActionNegativeConditions=[{value:"",label:""},{value:"unselected",label:l("config.common.media_action_conditions.unselected")},{value:"hidden",label:l("config.common.media_action_conditions.hidden")}],this._mediaActionPositiveConditions=[{value:"",label:""},{value:"selected",label:l("config.common.media_action_conditions.selected")},{value:"visible",label:l("config.common.media_action_conditions.visible")}],this._mediaLiveUnmuteConditions=[...this._mediaActionPositiveConditions,{value:"microphone",label:l("config.common.media_action_conditions.microphone_unmute")}],this._mediaLiveMuteConditions=[...this._mediaActionNegativeConditions,{value:"microphone",label:l("config.common.media_action_conditions.microphone_mute")}],this._layoutFits=[{value:"",label:""},{value:"contain",label:l("config.cameras.dimensions.layout.fits.contain")},{value:"cover",label:l("config.cameras.dimensions.layout.fits.cover")},{value:"fill",label:l("config.cameras.dimensions.layout.fits.fill")}],this._miniTimelineModes=[{value:"",label:""},{value:"none",label:l("config.common.controls.timeline.modes.none")},{value:"above",label:l("config.common.controls.timeline.modes.above")},{value:"below",label:l("config.common.controls.timeline.modes.below")}],this._profiles=[{value:"",label:""},{value:"casting",label:l("config.profiles.casting")},{value:"low-performance",label:l("config.profiles.low-performance")},{value:"scrubbing",label:l("config.profiles.scrubbing")}],this._go2rtcModes=[{value:"",label:""},{value:"mse",label:l("config.cameras.go2rtc.modes.mse")},{value:"webrtc",label:l("config.cameras.go2rtc.modes.webrtc")},{value:"mp4",label:l("config.cameras.go2rtc.modes.mp4")},{value:"mjpeg",label:l("config.cameras.go2rtc.modes.mjpeg")}],this._microphoneButtonTypes=[{value:"",label:""},{value:"momentary",label:l("config.menu.buttons.types.momentary")},{value:"toggle",label:l("config.menu.buttons.types.toggle")}],this._displayModes=[{value:"",label:""},{value:"single",label:l("display_modes.single")},{value:"grid",label:l("display_modes.grid")}],this._castMethods=[{value:"",label:""},{value:"standard",label:l("config.cameras.cast.methods.standard")},{value:"dashboard",label:l("config.cameras.cast.methods.dashboard")}],this._ptzModes=[{value:"",label:""},{value:"on",label:l("config.live.controls.ptz.modes.on")},{value:"off",label:l("config.live.controls.ptz.modes.off")}],this._ptzOrientations=[{value:"",label:""},{value:"vertical",label:l("config.live.controls.ptz.orientations.vertical")},{value:"horizontal",label:l("config.live.controls.ptz.orientations.horizontal")}],this._ptzPositions=[{value:"",label:""},{value:"top-left",label:l("config.live.controls.ptz.positions.top-left")},{value:"top-right",label:l("config.live.controls.ptz.positions.top-right")},{value:"bottom-left",label:l("config.live.controls.ptz.positions.bottom-left")},{value:"bottom-right",label:l("config.live.controls.ptz.positions.bottom-right")}],this._triggersActionsInteractionModes=[{value:"",label:""},{value:"all",label:l("config.view.triggers.actions.interaction_modes.all")},{value:"inactive",label:l("config.view.triggers.actions.interaction_modes.inactive")},{value:"active",label:l("config.view.triggers.actions.interaction_modes.active")}],this._triggersActionsTrigger=[{value:"",label:""},{value:"default",label:l("config.view.triggers.actions.triggers.default")},{value:"live",label:l("config.view.triggers.actions.triggers.live")},{value:"media",label:l("config.view.triggers.actions.triggers.media")},{value:"none",label:l("config.view.triggers.actions.triggers.none")}],this._triggersActionsUntrigger=[{value:"",label:""},{value:"default",label:l("config.view.triggers.actions.untriggers.default")},{value:"none",label:l("config.view.triggers.actions.untriggers.none")}],this._triggersEvents=[{value:"",label:""},{value:"events",label:l("config.cameras.triggers.events.events")},{value:"clips",label:l("config.cameras.triggers.events.clips")},{value:"snapshots",label:l("config.cameras.triggers.events.snapshots")}],this._timelinePanModes=[{value:"",label:""},{value:"pan",label:l("config.common.controls.timeline.pan_modes.pan")},{value:"seek",label:l("config.common.controls.timeline.pan_modes.seek")},{value:"seek-in-media",label:l("config.common.controls.timeline.pan_modes.seek-in-media")},{value:"seek-in-camera",label:l("config.common.controls.timeline.pan_modes.seek-in-camera")}],this._capabilities=[{value:"",label:""},{value:"live",label:l("config.cameras.capabilities.capabilities.live")},{value:"substream",label:l("config.cameras.capabilities.capabilities.substream")},{value:"clips",label:l("config.cameras.capabilities.capabilities.clips")},{value:"recordings",label:l("config.cameras.capabilities.capabilities.recordings")},{value:"snapshots",label:l("config.cameras.capabilities.capabilities.snapshots")},{value:"favorite-events",label:l("config.cameras.capabilities.capabilities.favorite-events")},{value:"favorite-recordings",label:l("config.cameras.capabilities.capabilities.favorite-recordings")},{value:"seek",label:l("config.cameras.capabilities.capabilities.seek")},{value:"ptz",label:l("config.cameras.capabilities.capabilities.ptz")},{value:"menu",label:l("config.cameras.capabilities.capabilities.menu")}],this._defaultResetInteractionModes=[{value:"",label:""},{value:"all",label:l("config.view.default_reset.interaction_modes.all")},{value:"inactive",label:l("config.view.default_reset.interaction_modes.inactive")},{value:"active",label:l("config.view.default_reset.interaction_modes.active")}],this._proxyMedia=[{value:"",label:""},{value:"auto",label:l("config.cameras.proxy.media.auto")},{value:!0,label:l("config.cameras.proxy.media.true")},{value:!1,label:l("config.cameras.proxy.media.false")}],this._proxySSLCiphers=[{value:"",label:""},{value:"auto",label:l("config.cameras.proxy.ssl_ciphers.auto")},{value:"default",label:l("config.cameras.proxy.ssl_ciphers.default")},{value:"insecure",label:l("config.cameras.proxy.ssl_ciphers.insecure")},{value:"intermediate",label:l("config.cameras.proxy.ssl_ciphers.intermediate")},{value:"modern",label:l("config.cameras.proxy.ssl_ciphers.modern")}],this._proxySSLVerification=[{value:"",label:""},{value:"auto",label:l("config.cameras.proxy.ssl_verification.auto")},{value:!0,label:l("config.cameras.proxy.ssl_verification.true")},{value:!1,label:l("config.cameras.proxy.ssl_verification.false")}],this._reolinkMediaResolution=[{value:"",label:""},{value:"high",label:l("config.cameras.reolink.media_resolution.high")},{value:"low",label:l("config.cameras.reolink.media_resolution.low")}],this._statusBarStyles=[{value:"",label:""},{value:"hover",label:l("config.status_bar.styles.hover")},{value:"hover-card",label:l("config.status_bar.styles.hover-card")},{value:"none",label:l("config.status_bar.styles.none")},{value:"outside",label:l("config.status_bar.styles.outside")},{value:"overlay",label:l("config.status_bar.styles.overlay")},{value:"popup",label:l("config.status_bar.styles.popup")}],this._statusBarPositions=[{value:"",label:""},{value:"top",label:l("config.status_bar.positions.top")},{value:"bottom",label:l("config.status_bar.positions.bottom")}]}setConfig(e){this._config=e,this._configUpgradeable=u(e);const a=h.safeParse(this._config.profiles);if(a.success){const e=m(di);_(this._config,e,a.data),this._defaults=e}}willUpdate(){this._initialized||g().then((e=>{e&&(this._initialized=!0)}))}_renderOptionSetHeader(e,a){const t=pi[e];return o` -
-
- -
${t.name}
-
-
${t.secondary}
-
- `}_getLabel(e){const a=e.split(".").filter((e=>!e.match(/^\[[0-9]+\]$/))).join(".");return l(`config.${a}`)}_renderEntitySelector(e,a){if(this._config)return o` - this._valueChangedHandler(e,a)} - > - - `}_renderOptionSelector(e,a=[],t){if(this._config)return o` - this._valueChangedHandler(e,a)} - > - - `}_renderIconSelector(e,a){if(this._config)return o` - this._valueChangedHandler(e,a)} - > - - `}_renderNumberInput(e,a){if(!this._config)return;const t=b(this._config,e),i=void 0===a?.max?"box":"slider";return o` - this._valueChangedHandler(e,a)} - > - - `}_renderInfo(e){return o` ${e}`}_getEditorCameraTitle(e,a){return"string"==typeof a?.title&&a.title||("string"==typeof a?.camera_entity?p(this.hass,a.camera_entity):"")||"object"==typeof a?.webrtc_card&&a.webrtc_card&&"string"==typeof a.webrtc_card.entity&&a.webrtc_card.entity||("object"==typeof a?.frigate&&a.frigate&&"string"==typeof a?.frigate.camera_name&&a.frigate.camera_name?v(a.frigate.camera_name):"")||"string"==typeof a?.id&&a.id||l("editor.camera")+" #"+e}_renderViewDefaultResetMenu(){return this._putInSubmenu("view.default_reset",!0,`config.${f}.editor_label`,"mdi:restart",o` - ${this._renderSwitch($,this._defaults.view.default_reset.after_interaction)} - ${this._renderNumberInput(y)} - ${this._renderOptionSelector(w,this._defaultResetInteractionModes,{label:l("config.view.default_reset.interaction_mode")})}, - ${this._renderOptionSelector(S,this.hass?x(this.hass):[],{multiple:!0})} - `)}_renderViewTriggersMenu(){return this._putInSubmenu("view.triggers",!0,`config.${M}.editor_label`,"mdi:target-account",o` - ${this._renderSwitch(I,this._defaults.view.triggers.filter_selected_camera,{label:l(`config.${I}`)})} - ${this._renderSwitch(k,this._defaults.view.triggers.show_trigger_status,{label:l(`config.${k}`)})} - ${this._renderNumberInput(O,{default:this._defaults.view.triggers.untrigger_seconds})} - ${this._putInSubmenu("view.triggers.actions",!0,`config.${C}.editor_label`,"mdi:cogs",o` ${this._renderOptionSelector(z,this._triggersActionsTrigger,{label:l("config.view.triggers.actions.trigger")})} - ${this._renderOptionSelector(A,this._triggersActionsUntrigger,{label:l("config.view.triggers.actions.untrigger")})} - ${this._renderOptionSelector(N,this._triggersActionsInteractionModes,{label:l("config.view.triggers.actions.interaction_mode")})}`)} - `)}_renderKeyAssigner(e,a){return o` this._valueChangedHandler(e,a)} - >`}_renderViewKeyboardShortcutMenu(){return this._putInSubmenu("view.keyboard_shortcuts",!0,`config.${T}.editor_label`,"mdi:keyboard",o` - ${this._renderSwitch(B,this._defaults.view.keyboard_shortcuts.enabled,{label:l(`config.${B}`)})} - ${this._renderKeyAssigner(E,this._defaults.view.keyboard_shortcuts.ptz_left)} - ${this._renderKeyAssigner(P,this._defaults.view.keyboard_shortcuts.ptz_right)} - ${this._renderKeyAssigner(H,this._defaults.view.keyboard_shortcuts.ptz_up)} - ${this._renderKeyAssigner(L,this._defaults.view.keyboard_shortcuts.ptz_down)} - ${this._renderKeyAssigner(V,this._defaults.view.keyboard_shortcuts.ptz_zoom_in)} - ${this._renderKeyAssigner(K,this._defaults.view.keyboard_shortcuts.ptz_zoom_out)} - ${this._renderKeyAssigner(U,this._defaults.view.keyboard_shortcuts.ptz_home)} - `)}_renderStatusBarItem(e){return o` ${this._putInSubmenu("status_bar.items",e,`config.status_bar.items.${e}`,"mdi:feature-search",o` - ${this._renderSwitch(`${j}.${e}.enabled`,this._defaults.status_bar.items[e]?.enabled??!0,{label:l("config.status_bar.items.enabled")})} - ${this._renderNumberInput(`${j}.${e}.priority`,{max:q,default:this._defaults.status_bar.items[e]?.priority,label:l("config.status_bar.items.priority")})} - `)}`}_renderMenuButton(e,a){const t=[{value:"",label:""},{value:"matching",label:l("config.menu.buttons.alignments.matching")},{value:"opposing",label:l("config.menu.buttons.alignments.opposing")}];return o` ${this._putInSubmenu("menu.buttons",e,`config.menu.buttons.${e}`,"mdi:gesture-tap-button",o` - ${this._renderSwitch(`${R}.${e}.enabled`,this._defaults.menu.buttons[e]?.enabled??!0,{label:l("config.menu.buttons.enabled")})} - ${this._renderOptionSelector(`${R}.${e}.alignment`,t,{label:l("config.menu.buttons.alignment")})} - ${this._renderSwitch(`${R}.${e}.permanent`,this._defaults.menu.buttons[e]?.permanent??!1,{label:l("config.menu.buttons.permanent")})} - ${this._renderNumberInput(`${R}.${e}.priority`,{max:D,default:this._defaults.menu.buttons[e]?.priority,label:l("config.menu.buttons.priority")})} - ${this._renderIconSelector(`${R}.${e}.icon`,{label:l("config.menu.buttons.icon")})} - ${a} - `)}`}_putInSubmenu(e,a,t,i,n){const s=this._expandedMenus[e]===a,c={submenu:!0,selected:s},d=dt(i);return o`
- - ${s?o`
${n}
`:""} -
`}_renderMediaLayout(e,a,t,i,n,s,r,c,d,m,u,h){return this._putInSubmenu(e,!0,a,"mdi:page-layout-body",o` - ${this._renderNumberInput(m,{min:0,max:10,label:l("config.cameras.dimensions.layout.zoom"),step:.1})} - ${this._renderNumberInput(u,{min:0,max:100,label:l("config.cameras.dimensions.layout.pan.x")})} - ${this._renderNumberInput(h,{min:0,max:100,label:l("config.cameras.dimensions.layout.pan.y")})} - ${this._renderOptionSelector(t,this._layoutFits,{label:l("config.cameras.dimensions.layout.fit")})} - ${this._putInSubmenu(`${e}.position`,!0,"config.cameras.dimensions.layout.position.editor_label","mdi:aspect-ratio",o` ${this._renderNumberInput(i,{min:0,max:100,label:l("config.cameras.dimensions.layout.position.x")})} - ${this._renderNumberInput(n,{min:0,max:100,label:l("config.cameras.dimensions.layout.position.y")})}`)} - ${this._putInSubmenu(`${e}.view_box`,!0,"config.cameras.dimensions.layout.view_box.editor_label","mdi:crop",o` - ${this._renderNumberInput(s,{min:0,max:100,label:l("config.cameras.dimensions.layout.view_box.top")})} - ${this._renderNumberInput(r,{min:0,max:100,label:l("config.cameras.dimensions.layout.view_box.bottom")})} - ${this._renderNumberInput(c,{min:0,max:100,label:l("config.cameras.dimensions.layout.view_box.left")})} - ${this._renderNumberInput(d,{min:0,max:100,label:l("config.cameras.dimensions.layout.view_box.right")})} - `)} - `)}_renderTimelineCoreControls(e,a,t,i,n,s,r){return o` - ${this._renderOptionSelector(e,this._timelineStyleTypes,{label:l(`config.common.${F}`)})} - ${r?this._renderOptionSelector(r,this._timelinePanModes,{label:l("config.common.controls.timeline.pan_mode")}):""} - ${this._renderNumberInput(a,{label:l(`config.common.${G}`)})} - ${this._renderNumberInput(t,{label:l(`config.common.${J}`)})} - ${this._renderOptionSelector(i,this._timelineEventsMediaTypes,{label:l(`config.common.${Q}`)})} - ${this._renderSwitch(n,s,{label:l(`config.common.${W}`)})} - `}_renderMiniTimeline(e,a,t,i,n,s,r,c,d){return this._putInSubmenu(e,!0,"config.common.controls.timeline.editor_label","mdi:chart-gantt",o` ${this._renderOptionSelector(a,this._miniTimelineModes,{label:l("config.common.controls.timeline.mode")})} - ${this._renderTimelineCoreControls(t,i,n,s,r,c,d)}`)}_renderViewDisplay(e,a,t,i,n){return this._putInSubmenu(e,!0,"config.common.display.editor_label","mdi:palette-swatch",o` - ${this._renderOptionSelector(a,this._displayModes,{label:l("config.common.display.mode")})} - ${this._renderNumberInput(t,{min:0,label:l("config.common.display.grid_selected_width_factor")})} - ${this._renderNumberInput(i,{min:0,label:l("config.common.display.grid_columns")})} - ${this._renderNumberInput(n,{min:0,label:l("config.common.display.grid_max_columns")})} - `)}_renderNextPreviousControls(e,a,t,i){return this._putInSubmenu(e,!0,"config.common.controls.next_previous.editor_label","mdi:arrow-right-bold-circle",o` - ${this._renderOptionSelector(a,this._nextPreviousControlStyles.filter((e=>!(!i?.allowThumbnails&&"thumbnails"===e.value||!i?.allowIcons&&"icons"===e.value))),{label:l("config.common.controls.next_previous.style")})} - ${this._renderNumberInput(t,{min:X,label:l("config.common.controls.next_previous.size")})} - `)}_renderThumbnailsControls(e,a,t,i,n,s,r,c){return this._putInSubmenu(e,!0,"config.common.controls.thumbnails.editor_label","mdi:image-text",o` - ${c?.configPathMode?o`${this._renderOptionSelector(c.configPathMode,this._thumbnailModes,{label:l("config.common.controls.thumbnails.mode")})}`:o``} - ${c?.configPathMediaType?o`${this._renderOptionSelector(c.configPathMediaType,this._thumbnailMediaTypes,{label:l("config.common.controls.thumbnails.media_type")})}`:o``} - ${c?.configPathEventsMediaType?o`${this._renderOptionSelector(c.configPathEventsMediaType,this._thumbnailEventsMediaTypes,{label:l("config.common.controls.thumbnails.events_media_type")})}`:o``} - ${this._renderNumberInput(a,{min:Y,max:Z,label:l("config.common.controls.thumbnails.size")})} - ${this._renderSwitch(t,r.show_details,{label:l("config.common.controls.thumbnails.show_details")})} - ${this._renderSwitch(i,r.show_favorite_control,{label:l("config.common.controls.thumbnails.show_favorite_control")})} - ${this._renderSwitch(n,r.show_timeline_control,{label:l("config.common.controls.thumbnails.show_timeline_control")})} - ${this._renderSwitch(s,r.show_download_control,{label:l("config.common.controls.thumbnails.show_download_control")})} - `)}_renderFilterControls(e,a){return this._putInSubmenu(e,!0,"config.common.controls.filter.editor_label","mdi:filter-cog",o` - ${a?o`${this._renderOptionSelector(a,this._filterModes,{label:l("config.common.controls.filter.mode")})}`:o``} - `)}_renderImageOptions(e,a,t,i,n){return o` - ${this._renderOptionSelector(e,this._imageModes,{label:l("config.common.image.mode")})} - ${this._renderStringInput(a,{label:l("config.common.image.url")})} - ${this._renderOptionSelector(t,this.hass?x(this.hass):[],{label:l("config.common.image.entity")})} - ${this._renderStringInput(i,{label:l("config.common.image.entity_parameters")})} - ${this._renderNumberInput(n,{label:l("config.common.image.refresh_seconds")})} - `}_renderCamera(e,a,t,i){const n=[{value:"",label:""},{value:"auto",label:l("config.cameras.live_providers.auto")},{value:"ha",label:l("config.cameras.live_providers.ha")},{value:"image",label:l("config.cameras.live_providers.image")},{value:"jsmpeg",label:l("config.cameras.live_providers.jsmpeg")},{value:"go2rtc",label:l("config.cameras.live_providers.go2rtc")},{value:"webrtc-card",label:l("config.cameras.live_providers.webrtc-card")}],s=[];e.forEach(((e,t)=>{t!==a&&s.push({value:ee(e),label:this._getEditorCameraTitle(t,e)})}));const c=e=>{if(this._config){const a=m(this._config);e(a)&&this._updateConfig(a)}},d={submenu:!0,selected:this._expandedMenus[gi]===a};return o` -
- - ${this._expandedMenus[gi]===a?o`
-
- !i&&c((e=>!!(Array.isArray(e.cameras)&&a>0)&&(mt(e.cameras,a,a-1),this._openMenu(gi,a-1),!0)))} - > - - - =this._config.cameras.length-1} - @click=${()=>!i&&c((e=>!!(Array.isArray(e.cameras)&&a - - - {c((e=>!!Array.isArray(e.cameras)&&(e.cameras.splice(a,1),this._closeMenu(gi),!0)))}} - > - - -
- ${this._renderEntitySelector(ae(ut,a),"camera")} - ${this._renderOptionSelector(ae(ht,a),n)} - ${this._renderStringInput(ae(_t,a))} - ${this._renderIconSelector(ae(gt,a),{label:l("config.cameras.icon")})} - ${this._renderStringInput(ae(bt,a))} - ${this._putInSubmenu("cameras.engine",!0,"config.cameras.engines.editor_label","mdi:engine",o`${this._putInSubmenu("cameras.frigate",a,"config.cameras.frigate.editor_label","frigate",o` - ${this._renderStringInput(ae(pt,a))} - ${this._renderStringInput(ae(vt,a))} - ${this._renderOptionSelector(ae(ft,a),[],{multiple:!0,label:l("config.cameras.frigate.labels")})} - ${this._renderOptionSelector(ae($t,a),[],{multiple:!0,label:l("config.cameras.frigate.zones")})} - ${this._renderStringInput(ae(yt,a))} - `)} - ${this._putInSubmenu("cameras.motioneye",a,"config.cameras.motioneye.editor_label","motioneye",o` ${this._renderStringInput(ae(wt,a))} - ${this._renderStringInput(ae(St,a))} - ${this._renderStringInput(ae(xt,a))} - ${this._renderStringInput(ae(Mt,a))} - ${this._renderStringInput(ae(It,a))}`)} - ${this._putInSubmenu("cameras.reolink",a,"config.cameras.reolink.editor_label","reolink",o` ${this._renderStringInput(ae(kt,a))} - ${this._renderOptionSelector(ae(Ot,a),this._reolinkMediaResolution,{label:l("config.cameras.reolink.media_resolution.editor_label")})}`)}`)} - ${this._putInSubmenu("cameras.live_provider",!0,"config.cameras.live_provider_options.editor_label","mdi:cctv",o` ${this._putInSubmenu("cameras.go2rtc",a,"config.cameras.go2rtc.editor_label","mdi:alpha-g-circle",o`${this._renderOptionSelector(ae(Ct,a),this._go2rtcModes,{multiple:!0,label:l("config.cameras.go2rtc.modes.editor_label")})} - ${this._renderStringInput(ae(zt,a))}`)} - ${this._putInSubmenu("cameras.image",!0,"config.cameras.image.editor_label","mdi:image",this._renderImageOptions(ae(At,a),ae(Nt,a),ae(Tt,a),ae(Bt,a),ae(Et,a)))} - ${this._putInSubmenu("cameras.webrtc_card",a,"config.cameras.webrtc_card.editor_label","mdi:webrtc",o`${this._renderEntitySelector(ae(Pt,a),"camera")} - ${this._renderStringInput(ae(Ht,a))}`)}`)} - ${this._putInSubmenu("cameras.dependencies",a,"config.cameras.dependencies.editor_label","mdi:graph",o` ${this._renderSwitch(ae(Lt,a),this._defaults.cameras.dependencies.all_cameras)} - ${this._renderOptionSelector(ae(Vt,a),s,{multiple:!0})}`)} - ${this._putInSubmenu("cameras.triggers",a,"config.cameras.triggers.editor_label","mdi:magnify-scan",o` - ${this._renderSwitch(ae(Kt,a),this._defaults.cameras.triggers.occupancy)} - ${this._renderSwitch(ae(Ut,a),this._defaults.cameras.triggers.motion)} - ${this._renderOptionSelector(ae(jt,a),t,{multiple:!0})} - ${this._renderOptionSelector(ae(qt,a),this._triggersEvents,{multiple:!0,label:l("config.cameras.triggers.events.editor_label")})} - `)} - ${this._putInSubmenu("cameras.cast",a,"config.cameras.cast.editor_label","mdi:cast",o` - ${this._renderOptionSelector(ae(Rt,a),this._castMethods)} - ${this._renderStringInput(ae(Dt,a))} - ${this._renderStringInput(ae(Ft,a))} - `)} - ${this._putInSubmenu("cameras.dimensions",a,"config.cameras.dimensions.editor_label","mdi:aspect-ratio",o` - ${this._renderStringInput(ae(Gt,a))} - ${this._renderMediaLayout("cameras.dimensions.layout","config.cameras.dimensions.layout.editor_label",ae(Jt,a),ae(Qt,a),ae(Wt,a),ae(Xt,a),ae(Yt,a),ae(Zt,a),ae(ei,a),ae(ai,a),ae(ti,a),ae(ii,a))} - `)} - ${this._putInSubmenu("cameras.capabilities",a,"config.cameras.capabilities.editor_label","mdi:cog-stop",o` - ${this._renderOptionSelector(ae(ni,a),this._capabilities,{multiple:!0})} - ${this._renderOptionSelector(ae(si,a),this._capabilities,{multiple:!0})} - `)} - ${this._putInSubmenu("cameras.proxy",a,"config.cameras.proxy.editor_label","mdi:arrow-decision",o` - ${this._renderOptionSelector(ae(oi,a),this._proxyMedia,{label:l("config.cameras.proxy.media.editor_label")})} - ${this._renderSwitch(ae(ri,a),this._defaults.cameras.proxy.dynamic)} - ${this._renderOptionSelector(ae(li,a),this._proxySSLVerification,{label:l("config.cameras.proxy.ssl_verification.editor_label")})} - ${this._renderOptionSelector(ae(ci,a),this._proxySSLCiphers,{label:l("config.cameras.proxy.ssl_ciphers.editor_label")})} - `)} -
`:""} -
- `}_renderStringInput(e,a){if(this._config)return o` - this._valueChangedHandler(e,a)} - > - - `}_renderSwitch(e,a,t){if(this._config)return o` - this._valueChangedHandler(e,a)} - > - - `}_updateConfig(e){this._config=e,te(this,"config-changed",{config:this._config})}render(){if(!this.hass||!this._config)return o``;const e=x(this.hass),a=b(this._config,mi)||[];return o` - ${this._configUpgradeable?o`
- ${l("editor.upgrade_available")} - - {if(this._config){const e=m(this._config);ie(e),this._updateConfig(e)}}} - > - - -
-
`:o``} -
- ${this._renderOptionSetHeader("cameras")} - ${"cameras"===this._expandedMenus[bi]?o` -
- ${a.map(((t,i)=>this._renderCamera(a,i,e)))} - ${this._renderCamera(a,a.length,e,!0)} -
- `:""} - ${this._renderOptionSetHeader("profiles")} - ${"profiles"===this._expandedMenus[bi]?o`
- ${this._renderOptionSelector(ne,this._profiles,{multiple:!0,label:l("config.profiles.editor_label")})} -
`:""} - ${this._renderOptionSetHeader("view")} - ${"view"===this._expandedMenus[bi]?o` -
- ${this._renderOptionSelector(se,this._viewModes)} - ${this._renderOptionSelector(oe,this._cameraSelectViewModes)} - ${this._renderOptionSelector(re,this._darkModes)} - ${this._renderNumberInput(le)} - ${this._renderSwitch(ce,this._defaults.view.default_cycle_camera)} - ${this._renderViewDefaultResetMenu()} ${this._renderViewTriggersMenu()} - ${this._renderViewKeyboardShortcutMenu()} -
- `:""} - ${this._renderOptionSetHeader("menu")} - ${"menu"===this._expandedMenus[bi]?o` -
- ${this._renderOptionSelector(de,this._menuStyles)} - ${this._renderOptionSelector(me,this._menuPositions)} - ${this._renderOptionSelector(ue,this._menuAlignments)} - ${this._renderNumberInput(he,{min:X})} - ${this._renderMenuButton("frigate")} - ${this._renderMenuButton("cameras")} - ${this._renderMenuButton("substreams")} - ${this._renderMenuButton("live")} - ${this._renderMenuButton("clips")} - ${this._renderMenuButton("snapshots")} - ${this._renderMenuButton("recordings")} - ${this._renderMenuButton("image")} - ${this._renderMenuButton("download")} - ${this._renderMenuButton("camera_ui")} - ${this._renderMenuButton("fullscreen")} - ${this._renderMenuButton("expand")} - ${this._renderMenuButton("timeline")} - ${this._renderMenuButton("media_player")} - ${this._renderMenuButton("microphone",o`${this._renderOptionSelector(`${R}.microphone.type`,this._microphoneButtonTypes,{label:l("config.menu.buttons.type")})}`)} - ${this._renderMenuButton("play")} - ${this._renderMenuButton("mute")} - ${this._renderMenuButton("screenshot")} - ${this._renderMenuButton("display_mode")} - ${this._renderMenuButton("ptz_controls")} - ${this._renderMenuButton("ptz_home")} -
- `:""} - ${this._renderOptionSetHeader("status_bar")} - ${"status_bar"===this._expandedMenus[bi]?o` -
- ${this._renderOptionSelector(_e,this._statusBarStyles)} - ${this._renderOptionSelector(ge,this._statusBarPositions)} - ${this._renderNumberInput(be,{min:pe,label:l("config.status_bar.height")})} - ${this._renderNumberInput(ve,{min:0,max:60,default:this._defaults.status_bar.popup_seconds,label:l("config.status_bar.popup_seconds")})} - ${this._renderStatusBarItem("title")} - ${this._renderStatusBarItem("resolution")} - ${this._renderStatusBarItem("technology")} - ${this._renderStatusBarItem("engine")} -
- `:""} - ${this._renderOptionSetHeader("live")} - ${"live"===this._expandedMenus[bi]?o` -
- ${this._renderSwitch(fe,this._defaults.live.preload)} - ${this._renderSwitch($e,this._defaults.live.draggable)} - ${this._renderSwitch(ye,this._defaults.live.zoomable)} - ${this._renderSwitch(we,this._defaults.live.lazy_load)} - ${this._renderOptionSelector(Se,this._mediaActionNegativeConditions,{multiple:!0})} - ${this._renderOptionSelector(xe,this._mediaActionPositiveConditions,{multiple:!0})} - ${this._renderOptionSelector(Me,this._mediaActionNegativeConditions,{multiple:!0})} - ${this._renderOptionSelector(Ie,this._mediaLiveMuteConditions,{multiple:!0})} - ${this._renderOptionSelector(ke,this._mediaLiveUnmuteConditions,{multiple:!0})} - ${this._renderOptionSelector(Oe,this._transitionEffects)} - ${this._renderSwitch(Ce,this._defaults.live.show_image_during_load)} - ${this._renderViewDisplay("live.display",ze,Ae,Ne,Te)} - ${this._putInSubmenu("live.controls",!0,"config.live.controls.editor_label","mdi:gamepad",o` - ${this._renderSwitch(Be,this._defaults.live.controls.builtin,{label:l("config.common.controls.builtin")})} - ${this._renderNextPreviousControls("live.controls.next_previous",Ee,Pe,{allowIcons:!0})} - ${this._renderThumbnailsControls("live.controls.thumbnails",He,Le,Ve,Ke,Ue,this._defaults.live.controls.thumbnails,{configPathMediaType:je,configPathEventsMediaType:qe,configPathMode:Re})} - ${this._renderMiniTimeline("live.controls.timeline",De,Fe,Ge,Je,Qe,We,this._defaults.live.controls.timeline.show_recordings,Xe)} - ${this._putInSubmenu("live.controls.ptz",!0,"config.live.controls.ptz.editor_label","mdi:pan",o` - ${this._renderOptionSelector(Ye,this._ptzModes)} - ${this._renderOptionSelector(Ze,this._ptzPositions)} - ${this._renderOptionSelector(ea,this._ptzOrientations)} - ${this._renderSwitch(aa,this._defaults.live.controls.ptz.hide_pan_tilt,{label:l("config.live.controls.ptz.hide_pan_tilt")})} - ${this._renderSwitch(ta,this._defaults.live.controls.ptz.hide_pan_tilt,{label:l("config.live.controls.ptz.hide_zoom")})} - ${this._renderSwitch(ia,this._defaults.live.controls.ptz.hide_home,{label:l("config.live.controls.ptz.hide_home")})} - `)} - `)} - ${this._putInSubmenu("live.microphone",!0,"config.live.microphone.editor_label","mdi:microphone",o` - ${this._renderNumberInput(na)} - ${this._renderSwitch(sa,this._defaults.live.microphone.always_connected)} - ${this._renderNumberInput(oa)} - `)} -
- `:""} - ${this._renderOptionSetHeader("media_gallery")} - ${"media_gallery"===this._expandedMenus[bi]?o`
- ${this._renderThumbnailsControls("media_gallery.controls.thumbnails",ra,la,ca,da,ma,this._defaults.media_gallery.controls.thumbnails)} - ${this._renderFilterControls("media_gallery.controls.filter",ua)} -
`:""} - ${this._renderOptionSetHeader("media_viewer")} - ${"media_viewer"===this._expandedMenus[bi]?o`
- ${this._renderOptionSelector(ha,this._mediaActionPositiveConditions,{multiple:!0})} - ${this._renderOptionSelector(_a,this._mediaActionNegativeConditions,{multiple:!0})} - ${this._renderOptionSelector(ga,this._mediaActionNegativeConditions,{multiple:!0})} - ${this._renderOptionSelector(ba,this._mediaActionPositiveConditions,{multiple:!0})} - ${this._renderSwitch(pa,this._defaults.media_viewer.draggable)} - ${this._renderSwitch(va,this._defaults.media_viewer.zoomable)} - ${this._renderSwitch(fa,this._defaults.media_viewer.lazy_load)} - ${this._renderOptionSelector($a,this._transitionEffects)} - ${this._renderSwitch(ya,this._defaults.media_viewer.snapshot_click_plays_clip)} - ${this._renderViewDisplay("media_viewer.display",wa,Sa,xa,Ma)} - ${this._putInSubmenu("media_viewer.controls",!0,"config.media_viewer.controls.editor_label","mdi:gamepad",o` - ${this._renderSwitch(Ia,this._defaults.media_viewer.controls.builtin,{label:l("config.common.controls.builtin")})} - ${this._renderNextPreviousControls("media_viewer.controls.next_previous",ka,Oa,{allowThumbnails:!0})} - ${this._renderThumbnailsControls("media_viewer.controls.thumbnails",Ca,za,Aa,Na,Ta,this._defaults.media_viewer.controls.thumbnails,{configPathMode:Ba})} - ${this._renderMiniTimeline("media_viewer.controls.timeline",Ea,Pa,Ha,La,Va,Ka,this._defaults.media_viewer.controls.timeline.show_recordings,Ua)} - `)} -
`:""} - ${this._renderOptionSetHeader("image")} - ${"image"===this._expandedMenus[bi]?o`
- ${this._renderImageOptions(ja,qa,Ra,Da,Fa)} -
`:""} - ${this._renderOptionSetHeader("timeline")} - ${"timeline"===this._expandedMenus[bi]?o`
- ${this._renderTimelineCoreControls(F,G,J,Q,W,this._defaults.timeline.show_recordings)} - ${this._renderThumbnailsControls("timeline.controls.thumbnails",Ga,Ja,Qa,Wa,Xa,this._defaults.timeline.controls.thumbnails,{configPathMode:Ya})} -
`:""} - ${this._renderOptionSetHeader("dimensions")} - ${"dimensions"===this._expandedMenus[bi]?o`
- ${this._renderOptionSelector(Za,this._aspectRatioModes)} - ${this._renderStringInput(et)} - ${this._renderStringInput(at)} -
`:""} - ${this._renderOptionSetHeader("performance","low"===b(this._config,ui)?"warning":void 0)} - ${"performance"===this._expandedMenus[bi]?o`
- ${"low"===b(this._config,ui)?this._renderInfo(l("config.performance.warning")):o``} - ${this._putInSubmenu("performance.features",!0,"config.performance.features.editor_label","mdi:feature-search",o` - ${this._renderSwitch(tt,this._defaults.performance.features.animated_progress_indicator)} - ${this._renderNumberInput(it,{max:nt})} - ${this._renderNumberInput(st,{min:1})} - `)} - ${this._putInSubmenu("performance.style",!0,"config.performance.style.editor_label","mdi:palette-swatch-variant",o` - ${this._renderSwitch(ot,this._defaults.performance.style.border_radius)} - ${this._renderSwitch(rt,this._defaults.performance.style.box_shadow)} - `)} -
`:""} - ${void 0!==this._config.overrides?o` ${this._renderOptionSetHeader("overrides")} - ${"overrides"===this._expandedMenus[bi]?o`
- ${this._renderInfo(l("config.overrides.info"))} -
`:""}`:o``} -
- `}_closeMenu(e){delete this._expandedMenus[e],this.requestUpdate()}_openMenu(e,a){this._expandedMenus[e]=a,this.requestUpdate()}_toggleMenu(e){if(e&&e.target){const a=e.target.domain,t=e.target.key;this._expandedMenus[a]===t?this._closeMenu(a):this._openMenu(a,t)}}_valueChangedHandler(e,a){if(!this._config||!this.hass)return;let t;if(a.detail&&void 0!==a.detail.value&&(t=a.detail.value,"string"==typeof t&&(t=t.trim())),b(this._config,e)===t)return;const i=m(this._config);""===t||void 0===t?lt(i,e):ct(i,e,t),this._updateConfig(i)}static get styles(){return c('ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n.option {\n padding: 4px 4px;\n cursor: pointer;\n}\n\n.option.option-overrides .title {\n color: var(--warning-color);\n}\n\n.row {\n display: flex;\n margin-bottom: -14px;\n pointer-events: none;\n}\n\n.title {\n padding-left: 16px;\n margin-top: -6px;\n pointer-events: none;\n}\n\n.title.warning {\n color: var(--warning-color);\n}\n\n.secondary {\n padding-left: 40px;\n color: var(--secondary-text-color);\n pointer-events: none;\n}\n\n.values {\n background: var(--secondary-background-color);\n display: grid;\n}\n\n.values + .option,\n.submenu + .option {\n margin-top: 10px;\n}\n\ndiv.upgrade {\n width: auto;\n border: 1px dotted var(--primary-color);\n margin: 10px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\ndiv.upgrade span {\n padding: 10px;\n}\n\n.submenu-header {\n display: flex;\n padding: 10px;\n cursor: pointer;\n}\n\n.submenu.selected > .submenu-header {\n background-color: var(--primary-color);\n color: var(--primary-text-color);\n}\n\n.submenu-header * {\n flex-basis: auto;\n pointer-events: none;\n}\n\n.submenu-header .new-camera {\n font-style: italic;\n}\n\n.submenu:not(.selected) > .submenu-header .new-camera {\n color: var(--secondary-text-color, "black");\n}\n\n.submenu-header ha-icon,\n.submenu-header img {\n padding-right: 15px;\n}\n\n.submenu.selected {\n border: 1px solid var(--primary-color);\n}\n\n.submenu {\n width: calc(100% - 20px);\n margin-left: auto;\n margin-right: auto;\n margin-bottom: 10px;\n}\n\n.submenu:first-child,\n:not(.submenu) + .submenu {\n margin-top: 10px;\n}\n\n.submenu .controls {\n display: inline-block;\n margin-left: auto;\n margin-right: 0px;\n margin-bottom: 5px;\n}\n\n.submenu .controls ha-icon-button.button {\n --mdc-icon-button-size: 32px;\n --mdc-icon-size: calc(var(--mdc-icon-button-size) / 2);\n}\n\nspan.info {\n padding: 10px;\n}\n\nha-selector {\n padding: 10px;\n border: 1px solid var(--divider-color);\n}')}};t([i({attribute:!1})],vi.prototype,"hass",void 0),t([d()],vi.prototype,"_config",void 0),t([d()],vi.prototype,"_defaults",void 0),t([d()],vi.prototype,"_expandedMenus",void 0),vi=t([n("frigate-card-editor")],vi);export{vi as FrigateCardEditor}; diff --git a/config/www/community/frigate-hass-card/editor-c3e576d8.js.gz b/config/www/community/frigate-hass-card/editor-c3e576d8.js.gz deleted file mode 100644 index 8dc7cbdfa7bdbdc22ca755d0645974b1d92804de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11531 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 VF&A$T`ab;y#Nw_#l$-$o{{z2FSegI; diff --git a/config/www/community/frigate-hass-card/editor-ce460dd0.js b/config/www/community/frigate-hass-card/editor-ce460dd0.js deleted file mode 100644 index 74131d68..00000000 --- a/config/www/community/frigate-hass-card/editor-ce460dd0.js +++ /dev/null @@ -1,462 +0,0 @@ -import{i as e,s as a,_ as t,n as i,t as n,a as s,x as o,e as r,l,r as c,b as d,c as m,d as u,p as h,f as _,g,h as b,j as p,k as v,C as f,m as $,o as y,q as w,u as S,v as x,w as M,y as I,z as k,A as O,B as C,D as z,E as A,F as N,G as T,H as B,I as E,J as P,K as H,L,M as V,N as K,O as U,P as j,Q as q,R,S as D,T as F,U as G,V as J,W as Q,X as W,Y as X,Z as Y,$ as Z,a0 as ee,a1 as ae,a2 as te,a3 as ie,a4 as ne,a5 as se,a6 as oe,a7 as re,a8 as le,a9 as ce,aa as de,ab as me,ac as ue,ad as he,ae as _e,af as ge,ag as be,ah as pe,ai as ve,aj as fe,ak as $e,al as ye,am as we,an as Se,ao as xe,ap as Me,aq as Ie,ar as ke,as as Oe,at as Ce,au as ze,av as Ae,aw as Ne,ax as Te,ay as Be,az as Ee,aA as Pe,aB as He,aC as Le,aD as Ve,aE as Ke,aF as Ue,aG as je,aH as qe,aI as Re,aJ as De,aK as Fe,aL as Ge,aM as Je,aN as Qe,aO as We,aP as Xe,aQ as Ye,aR as Ze,aS as ea,aT as aa,aU as ta,aV as ia,aW as na,aX as sa,aY as oa,aZ as ra,a_ as la,a$ as ca,b0 as da,b1 as ma,b2 as ua,b3 as ha,b4 as _a,b5 as ga,b6 as ba,b7 as pa,b8 as va,b9 as fa,ba as $a,bb as ya,bc as wa,bd as Sa,be as xa,bf as Ma,bg as Ia,bh as ka,bi as Oa,bj as Ca,bk as za,bl as Aa,bm as Na,bn as Ta,bo as Ba,bp as Ea,bq as Pa,br as Ha,bs as La,bt as Va,bu as Ka,bv as Ua,bw as ja,bx as qa,by as Ra,bz as Da,bA as Fa,bB as Ga,bC as Ja,bD as Qa,bE as Wa,bF as Xa,bG as Ya,bH as Za,bI as et,bJ as at,bK as tt,bL as it,bM as nt,bN as st,bO as ot,bP as rt,bQ as lt,bR as ct,bS as dt,bT as mt,bU as ut,bV as ht,bW as _t,bX as gt,bY as bt,bZ as pt,b_ as vt,b$ as ft,c0 as $t,c1 as yt,c2 as wt,c3 as St,c4 as xt,c5 as Mt,c6 as It,c7 as kt,c8 as Ot,c9 as Ct,ca as zt,cb as At,cc as Nt,cd as Tt,ce as Bt,cf as Et,cg as Pt,ch as Ht,ci as Lt,cj as Vt,ck as Kt,cl as Ut,cm as jt,cn as qt,co as Rt,cp as Dt,cq as Ft,cr as Gt,cs as Jt,ct as Qt,cu as Wt,cv as Xt,cw as Yt,cx as Zt,cy as ei,cz as ai,cA as ti,cB as ii,cC as ni,cD as si,cE as oi,cF as ri,cG as li,cH as ci,cI as di,cJ as mi,cK as ui}from"./card-7cd05290.js";class hi{constructor(e){this._assigning=!1,this._value=null,this._blurEventHandler=()=>{this._setAssigning(!1)},this._keydownEventHandler=e=>{e.key&&!["Control","Alt","Shift","Meta"].includes(e.key)&&(this.setValue({key:e.key,ctrl:e.ctrlKey,alt:e.altKey,shift:e.shiftKey,meta:e.metaKey}),this._setAssigning(!1))},this._host=e,this._host.addController(this)}setValue(a){e(a,this._value)||(this._value=a,this._host.requestUpdate(),this._host.dispatchEvent(new CustomEvent("value-changed",{detail:{value:this._value}})))}getValue(){return this._value}hasValue(){return!!this._value}isAssigning(){return this._assigning}toggleAssigning(){this._setAssigning(!this._assigning)}_setAssigning(e){this._assigning=e,a(this._host,this._assigning,"assigning"),this._assigning?this._host.addEventListener("keydown",this._keydownEventHandler):this._host.removeEventListener("keydown",this._keydownEventHandler),this._host.requestUpdate()}hostConnected(){this._host.addEventListener("blur",this._blurEventHandler)}hostDisconnected(){this._host.removeEventListener("blur",this._blurEventHandler)}}let _i=class extends s{constructor(){super(...arguments),this._controller=new hi(this)}willUpdate(e){e.has("value")&&this._controller.setValue(this.value??null)}render(){if(!this.label)return;const e=e=>o`
-
${e}
-
`;return o` -
${this.label}
- {this._controller.toggleAssigning()}} - > - - - ${this._controller.isAssigning()?l("key_assigner.assigning"):l("key_assigner.assign")} - - - ${this._controller.hasValue()?o`{this._controller.setValue(null)}} - > - - ${l("key_assigner.unassign")} - `:""} -
- ${this.value?.ctrl?e(l("key_assigner.modifiers.ctrl")):""} - ${this.value?.shift?e(l("key_assigner.modifiers.shift")):""} - ${this.value?.meta?e(l("key_assigner.modifiers.meta")):""} - ${this.value?.alt?e(l("key_assigner.modifiers.alt")):""} - ${this.value?.key?e(this.value.key):""} -
- `}static get styles(){return c('.dotdotdot:after {\n animation: dots 2s linear infinite;\n content: "";\n display: inline-block;\n width: 3em;\n}\n@keyframes dots {\n 0%, 20% {\n content: ".";\n }\n 40% {\n content: "..";\n }\n 60% {\n content: "...";\n }\n 90%, 100% {\n content: "";\n }\n}\n\n:host {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 10px;\n height: 56px;\n border: 1px solid var(--divider-color);\n}\n\n:host([assigning]) ha-button.assign span,\n:host([assigning]) ha-button.assign ha-icon {\n color: var(--warning-color);\n}\n\nha-icon {\n padding: 10px;\n}\n\ndiv.label {\n width: 100px;\n margin-left: 4px;\n}\n\ndiv.key-row {\n flex: 1;\n display: flex;\n justify-content: center;\n align-items: center;\n padding-left: 10px;\n padding-right: 10px;\n}\n\ndiv.key {\n display: flex;\n align-items: center;\n height: 90%;\n width: min-content;\n margin-left: 5px;\n margin-right: 5px;\n}\n\ndiv.key-inner {\n height: 100%;\n width: 100%;\n padding-top: 2px;\n padding-bottom: 2px;\n padding-left: 4px;\n padding-right: 4px;\n border: 2px;\n border-radius: 4px;\n border-style: outset;\n border-color: var(--divider-color);\n font-family: monospace;\n text-transform: capitalize;\n}\n\ndiv.unassigned {\n font-style: italic;\n}\n\ndiv.key + div.key:before {\n display: flex;\n align-items: center;\n margin-right: 5px;\n content: " + ";\n}')}};t([i({attribute:!1})],_i.prototype,"label",void 0),t([i({attribute:!1})],_i.prototype,"value",void 0),_i=t([n("frigate-card-key-assigner")],_i);const gi="cameras",bi="options",pi={cameras:{icon:"video",name:l("editor.cameras"),secondary:l("editor.cameras_secondary")},view:{icon:"eye",name:l("editor.view"),secondary:l("editor.view_secondary")},menu:{icon:"menu",name:l("editor.menu"),secondary:l("editor.menu_secondary")},status_bar:{icon:"sign-text",name:l("editor.status_bar"),secondary:l("editor.status_bar_secondary")},live:{icon:"cctv",name:l("editor.live"),secondary:l("editor.live_secondary")},media_gallery:{icon:"grid",name:l("editor.media_gallery"),secondary:l("editor.media_gallery_secondary")},media_viewer:{icon:"filmstrip",name:l("editor.media_viewer"),secondary:l("editor.media_viewer_secondary")},image:{icon:"image",name:l("editor.image"),secondary:l("editor.image_secondary")},timeline:{icon:"chart-gantt",name:l("editor.timeline"),secondary:l("editor.timeline_secondary")},dimensions:{icon:"aspect-ratio",name:l("editor.dimensions"),secondary:l("editor.dimensions_secondary")},performance:{icon:"speedometer",name:l("editor.performance"),secondary:l("editor.performance_secondary")},profiles:{icon:"folder-wrench-outline",name:l("editor.profiles"),secondary:l("editor.profiles_secondary")},overrides:{icon:"file-replace",name:l("editor.overrides"),secondary:l("editor.overrides_secondary")}};let vi=class extends s{constructor(){super(...arguments),this._defaults=m(di),this._initialized=!1,this._configUpgradeable=!1,this._expandedMenus={},this._viewModes=[{value:"",label:""},{value:"live",label:l("config.view.views.live")},{value:"clips",label:l("config.view.views.clips")},{value:"snapshots",label:l("config.view.views.snapshots")},{value:"recordings",label:l("config.view.views.recordings")},{value:"clip",label:l("config.view.views.clip")},{value:"snapshot",label:l("config.view.views.snapshot")},{value:"recording",label:l("config.view.views.recording")},{value:"image",label:l("config.view.views.image")},{value:"timeline",label:l("config.view.views.timeline")}],this._cameraSelectViewModes=[...this._viewModes,{value:"current",label:l("config.view.views.current")}],this._filterModes=[{value:"",label:""},{value:"none",label:l("config.common.controls.filter.modes.none")},{value:"left",label:l("config.common.controls.filter.modes.left")},{value:"right",label:l("config.common.controls.filter.modes.right")}],this._menuStyles=[{value:"",label:""},{value:"none",label:l("config.menu.styles.none")},{value:"hidden",label:l("config.menu.styles.hidden")},{value:"overlay",label:l("config.menu.styles.overlay")},{value:"hover",label:l("config.menu.styles.hover")},{value:"hover-card",label:l("config.menu.styles.hover-card")},{value:"outside",label:l("config.menu.styles.outside")}],this._menuPositions=[{value:"",label:""},{value:"left",label:l("config.menu.positions.left")},{value:"right",label:l("config.menu.positions.right")},{value:"top",label:l("config.menu.positions.top")},{value:"bottom",label:l("config.menu.positions.bottom")}],this._menuAlignments=[{value:"",label:""},{value:"left",label:l("config.menu.alignments.left")},{value:"right",label:l("config.menu.alignments.right")},{value:"top",label:l("config.menu.alignments.top")},{value:"bottom",label:l("config.menu.alignments.bottom")}],this._nextPreviousControlStyles=[{value:"",label:""},{value:"chevrons",label:l("config.common.controls.next_previous.styles.chevrons")},{value:"icons",label:l("config.common.controls.next_previous.styles.icons")},{value:"none",label:l("config.common.controls.next_previous.styles.none")},{value:"thumbnails",label:l("config.common.controls.next_previous.styles.thumbnails")}],this._aspectRatioModes=[{value:"",label:""},{value:"dynamic",label:l("config.dimensions.aspect_ratio_modes.dynamic")},{value:"static",label:l("config.dimensions.aspect_ratio_modes.static")},{value:"unconstrained",label:l("config.dimensions.aspect_ratio_modes.unconstrained")}],this._thumbnailModes=[{value:"",label:""},{value:"none",label:l("config.common.controls.thumbnails.modes.none")},{value:"above",label:l("config.common.controls.thumbnails.modes.above")},{value:"below",label:l("config.common.controls.thumbnails.modes.below")},{value:"left",label:l("config.common.controls.thumbnails.modes.left")},{value:"right",label:l("config.common.controls.thumbnails.modes.right")}],this._thumbnailMediaTypes=[{value:"",label:""},{value:"events",label:l("config.common.controls.thumbnails.media_types.events")},{value:"recordings",label:l("config.common.controls.thumbnails.media_types.recordings")}],this._thumbnailEventsMediaTypes=[{value:"",label:""},{value:"clips",label:l("config.common.controls.thumbnails.events_media_types.clips")},{value:"snapshots",label:l("config.common.controls.thumbnails.events_media_types.snapshots")}],this._transitionEffects=[{value:"",label:""},{value:"none",label:l("config.media_viewer.transition_effects.none")},{value:"slide",label:l("config.media_viewer.transition_effects.slide")}],this._imageModes=[{value:"",label:""},{value:"camera",label:l("config.common.image.modes.camera")},{value:"entity",label:l("config.common.image.modes.entity")},{value:"screensaver",label:l("config.common.image.modes.screensaver")},{value:"url",label:l("config.common.image.modes.url")}],this._timelineEventsMediaTypes=[{value:"",label:""},{value:"all",label:l("config.common.timeline.events_media_types.all")},{value:"clips",label:l("config.common.timeline.events_media_types.clips")},{value:"snapshots",label:l("config.common.timeline.events_media_types.snapshots")}],this._timelineStyleTypes=[{value:"",label:""},{value:"ribbon",label:l("config.common.timeline.styles.ribbon")},{value:"stack",label:l("config.common.timeline.styles.stack")}],this._darkModes=[{value:"",label:""},{value:"on",label:l("config.view.dark_modes.on")},{value:"off",label:l("config.view.dark_modes.off")},{value:"auto",label:l("config.view.dark_modes.auto")}],this._mediaActionNegativeConditions=[{value:"",label:""},{value:"unselected",label:l("config.common.media_action_conditions.unselected")},{value:"hidden",label:l("config.common.media_action_conditions.hidden")}],this._mediaActionPositiveConditions=[{value:"",label:""},{value:"selected",label:l("config.common.media_action_conditions.selected")},{value:"visible",label:l("config.common.media_action_conditions.visible")}],this._mediaLiveUnmuteConditions=[...this._mediaActionPositiveConditions,{value:"microphone",label:l("config.common.media_action_conditions.microphone_unmute")}],this._mediaLiveMuteConditions=[...this._mediaActionNegativeConditions,{value:"microphone",label:l("config.common.media_action_conditions.microphone_mute")}],this._layoutFits=[{value:"",label:""},{value:"contain",label:l("config.cameras.dimensions.layout.fits.contain")},{value:"cover",label:l("config.cameras.dimensions.layout.fits.cover")},{value:"fill",label:l("config.cameras.dimensions.layout.fits.fill")}],this._miniTimelineModes=[{value:"",label:""},{value:"none",label:l("config.common.controls.timeline.modes.none")},{value:"above",label:l("config.common.controls.timeline.modes.above")},{value:"below",label:l("config.common.controls.timeline.modes.below")}],this._profiles=[{value:"",label:""},{value:"casting",label:l("config.profiles.casting")},{value:"low-performance",label:l("config.profiles.low-performance")},{value:"scrubbing",label:l("config.profiles.scrubbing")}],this._go2rtcModes=[{value:"",label:""},{value:"mse",label:l("config.cameras.go2rtc.modes.mse")},{value:"webrtc",label:l("config.cameras.go2rtc.modes.webrtc")},{value:"mp4",label:l("config.cameras.go2rtc.modes.mp4")},{value:"mjpeg",label:l("config.cameras.go2rtc.modes.mjpeg")}],this._microphoneButtonTypes=[{value:"",label:""},{value:"momentary",label:l("config.menu.buttons.types.momentary")},{value:"toggle",label:l("config.menu.buttons.types.toggle")}],this._displayModes=[{value:"",label:""},{value:"single",label:l("display_modes.single")},{value:"grid",label:l("display_modes.grid")}],this._castMethods=[{value:"",label:""},{value:"standard",label:l("config.cameras.cast.methods.standard")},{value:"dashboard",label:l("config.cameras.cast.methods.dashboard")}],this._ptzModes=[{value:"",label:""},{value:"on",label:l("config.live.controls.ptz.modes.on")},{value:"off",label:l("config.live.controls.ptz.modes.off")}],this._ptzOrientations=[{value:"",label:""},{value:"vertical",label:l("config.live.controls.ptz.orientations.vertical")},{value:"horizontal",label:l("config.live.controls.ptz.orientations.horizontal")}],this._ptzPositions=[{value:"",label:""},{value:"top-left",label:l("config.live.controls.ptz.positions.top-left")},{value:"top-right",label:l("config.live.controls.ptz.positions.top-right")},{value:"bottom-left",label:l("config.live.controls.ptz.positions.bottom-left")},{value:"bottom-right",label:l("config.live.controls.ptz.positions.bottom-right")}],this._triggersActionsInteractionModes=[{value:"",label:""},{value:"all",label:l("config.view.triggers.actions.interaction_modes.all")},{value:"inactive",label:l("config.view.triggers.actions.interaction_modes.inactive")},{value:"active",label:l("config.view.triggers.actions.interaction_modes.active")}],this._triggersActionsTrigger=[{value:"",label:""},{value:"default",label:l("config.view.triggers.actions.triggers.default")},{value:"live",label:l("config.view.triggers.actions.triggers.live")},{value:"media",label:l("config.view.triggers.actions.triggers.media")},{value:"none",label:l("config.view.triggers.actions.triggers.none")}],this._triggersActionsUntrigger=[{value:"",label:""},{value:"default",label:l("config.view.triggers.actions.untriggers.default")},{value:"none",label:l("config.view.triggers.actions.untriggers.none")}],this._triggersEvents=[{value:"",label:""},{value:"events",label:l("config.cameras.triggers.events.events")},{value:"clips",label:l("config.cameras.triggers.events.clips")},{value:"snapshots",label:l("config.cameras.triggers.events.snapshots")}],this._timelinePanModes=[{value:"",label:""},{value:"pan",label:l("config.common.controls.timeline.pan_modes.pan")},{value:"seek",label:l("config.common.controls.timeline.pan_modes.seek")},{value:"seek-in-media",label:l("config.common.controls.timeline.pan_modes.seek-in-media")},{value:"seek-in-camera",label:l("config.common.controls.timeline.pan_modes.seek-in-camera")}],this._capabilities=[{value:"",label:""},{value:"live",label:l("config.cameras.capabilities.capabilities.live")},{value:"substream",label:l("config.cameras.capabilities.capabilities.substream")},{value:"clips",label:l("config.cameras.capabilities.capabilities.clips")},{value:"recordings",label:l("config.cameras.capabilities.capabilities.recordings")},{value:"snapshots",label:l("config.cameras.capabilities.capabilities.snapshots")},{value:"favorite-events",label:l("config.cameras.capabilities.capabilities.favorite-events")},{value:"favorite-recordings",label:l("config.cameras.capabilities.capabilities.favorite-recordings")},{value:"seek",label:l("config.cameras.capabilities.capabilities.seek")},{value:"ptz",label:l("config.cameras.capabilities.capabilities.ptz")},{value:"menu",label:l("config.cameras.capabilities.capabilities.menu")}],this._defaultResetInteractionModes=[{value:"",label:""},{value:"all",label:l("config.view.default_reset.interaction_modes.all")},{value:"inactive",label:l("config.view.default_reset.interaction_modes.inactive")},{value:"active",label:l("config.view.default_reset.interaction_modes.active")}],this._proxyMedia=[{value:"",label:""},{value:"auto",label:l("config.cameras.proxy.media.auto")},{value:!0,label:l("config.cameras.proxy.media.true")},{value:!1,label:l("config.cameras.proxy.media.false")}],this._proxySSLCiphers=[{value:"",label:""},{value:"auto",label:l("config.cameras.proxy.ssl_ciphers.auto")},{value:"default",label:l("config.cameras.proxy.ssl_ciphers.default")},{value:"insecure",label:l("config.cameras.proxy.ssl_ciphers.insecure")},{value:"intermediate",label:l("config.cameras.proxy.ssl_ciphers.intermediate")},{value:"modern",label:l("config.cameras.proxy.ssl_ciphers.modern")}],this._proxySSLVerification=[{value:"",label:""},{value:"auto",label:l("config.cameras.proxy.ssl_verification.auto")},{value:!0,label:l("config.cameras.proxy.ssl_verification.true")},{value:!1,label:l("config.cameras.proxy.ssl_verification.false")}],this._reolinkMediaResolution=[{value:"",label:""},{value:"high",label:l("config.cameras.reolink.media_resolution.high")},{value:"low",label:l("config.cameras.reolink.media_resolution.low")}],this._statusBarStyles=[{value:"",label:""},{value:"hover",label:l("config.status_bar.styles.hover")},{value:"hover-card",label:l("config.status_bar.styles.hover-card")},{value:"none",label:l("config.status_bar.styles.none")},{value:"outside",label:l("config.status_bar.styles.outside")},{value:"overlay",label:l("config.status_bar.styles.overlay")},{value:"popup",label:l("config.status_bar.styles.popup")}],this._statusBarPositions=[{value:"",label:""},{value:"top",label:l("config.status_bar.positions.top")},{value:"bottom",label:l("config.status_bar.positions.bottom")}]}setConfig(e){this._config=e,this._configUpgradeable=u(e);const a=h.safeParse(this._config.profiles);if(a.success){const e=m(di);_(this._config,e,a.data),this._defaults=e}}willUpdate(){this._initialized||g().then((e=>{e&&(this._initialized=!0)}))}_renderOptionSetHeader(e,a){const t=pi[e];return o` -
-
- -
${t.name}
-
-
${t.secondary}
-
- `}_getLabel(e){const a=e.split(".").filter((e=>!e.match(/^\[[0-9]+\]$/))).join(".");return l(`config.${a}`)}_renderEntitySelector(e,a){if(this._config)return o` - this._valueChangedHandler(e,a)} - > - - `}_renderOptionSelector(e,a=[],t){if(this._config)return o` - this._valueChangedHandler(e,a)} - > - - `}_renderIconSelector(e,a){if(this._config)return o` - this._valueChangedHandler(e,a)} - > - - `}_renderNumberInput(e,a){if(!this._config)return;const t=b(this._config,e),i=void 0===a?.max?"box":"slider";return o` - this._valueChangedHandler(e,a)} - > - - `}_renderInfo(e){return o` ${e}`}_getEditorCameraTitle(e,a){return"string"==typeof a?.title&&a.title||("string"==typeof a?.camera_entity?p(this.hass,a.camera_entity):"")||"object"==typeof a?.webrtc_card&&a.webrtc_card&&"string"==typeof a.webrtc_card.entity&&a.webrtc_card.entity||("object"==typeof a?.frigate&&a.frigate&&"string"==typeof a?.frigate.camera_name&&a.frigate.camera_name?v(a.frigate.camera_name):"")||"string"==typeof a?.id&&a.id||l("editor.camera")+" #"+e}_renderViewDefaultResetMenu(){return this._putInSubmenu("view.default_reset",!0,`config.${f}.editor_label`,"mdi:restart",o` - ${this._renderSwitch($,this._defaults.view.default_reset.after_interaction)} - ${this._renderNumberInput(y)} - ${this._renderOptionSelector(w,this._defaultResetInteractionModes,{label:l("config.view.default_reset.interaction_mode")})}, - ${this._renderOptionSelector(S,this.hass?x(this.hass):[],{multiple:!0})} - `)}_renderViewTriggersMenu(){return this._putInSubmenu("view.triggers",!0,`config.${M}.editor_label`,"mdi:target-account",o` - ${this._renderSwitch(I,this._defaults.view.triggers.filter_selected_camera,{label:l(`config.${I}`)})} - ${this._renderSwitch(k,this._defaults.view.triggers.show_trigger_status,{label:l(`config.${k}`)})} - ${this._renderNumberInput(O,{default:this._defaults.view.triggers.untrigger_seconds})} - ${this._putInSubmenu("view.triggers.actions",!0,`config.${C}.editor_label`,"mdi:cogs",o` ${this._renderOptionSelector(z,this._triggersActionsTrigger,{label:l("config.view.triggers.actions.trigger")})} - ${this._renderOptionSelector(A,this._triggersActionsUntrigger,{label:l("config.view.triggers.actions.untrigger")})} - ${this._renderOptionSelector(N,this._triggersActionsInteractionModes,{label:l("config.view.triggers.actions.interaction_mode")})}`)} - `)}_renderKeyAssigner(e,a){return o` this._valueChangedHandler(e,a)} - >`}_renderViewKeyboardShortcutMenu(){return this._putInSubmenu("view.keyboard_shortcuts",!0,`config.${T}.editor_label`,"mdi:keyboard",o` - ${this._renderSwitch(B,this._defaults.view.keyboard_shortcuts.enabled,{label:l(`config.${B}`)})} - ${this._renderKeyAssigner(E,this._defaults.view.keyboard_shortcuts.ptz_left)} - ${this._renderKeyAssigner(P,this._defaults.view.keyboard_shortcuts.ptz_right)} - ${this._renderKeyAssigner(H,this._defaults.view.keyboard_shortcuts.ptz_up)} - ${this._renderKeyAssigner(L,this._defaults.view.keyboard_shortcuts.ptz_down)} - ${this._renderKeyAssigner(V,this._defaults.view.keyboard_shortcuts.ptz_zoom_in)} - ${this._renderKeyAssigner(K,this._defaults.view.keyboard_shortcuts.ptz_zoom_out)} - ${this._renderKeyAssigner(U,this._defaults.view.keyboard_shortcuts.ptz_home)} - `)}_renderStatusBarItem(e){return o` ${this._putInSubmenu("status_bar.items",e,`config.status_bar.items.${e}`,"mdi:feature-search",o` - ${this._renderSwitch(`${j}.${e}.enabled`,this._defaults.status_bar.items[e]?.enabled??!0,{label:l("config.status_bar.items.enabled")})} - ${this._renderNumberInput(`${j}.${e}.priority`,{max:q,default:this._defaults.status_bar.items[e]?.priority,label:l("config.status_bar.items.priority")})} - `)}`}_renderMenuButton(e,a){const t=[{value:"",label:""},{value:"matching",label:l("config.menu.buttons.alignments.matching")},{value:"opposing",label:l("config.menu.buttons.alignments.opposing")}];return o` ${this._putInSubmenu("menu.buttons",e,`config.menu.buttons.${e}`,"mdi:gesture-tap-button",o` - ${this._renderSwitch(`${R}.${e}.enabled`,this._defaults.menu.buttons[e]?.enabled??!0,{label:l("config.menu.buttons.enabled")})} - ${this._renderOptionSelector(`${R}.${e}.alignment`,t,{label:l("config.menu.buttons.alignment")})} - ${this._renderSwitch(`${R}.${e}.permanent`,this._defaults.menu.buttons[e]?.permanent??!1,{label:l("config.menu.buttons.permanent")})} - ${this._renderNumberInput(`${R}.${e}.priority`,{max:D,default:this._defaults.menu.buttons[e]?.priority,label:l("config.menu.buttons.priority")})} - ${this._renderIconSelector(`${R}.${e}.icon`,{label:l("config.menu.buttons.icon")})} - ${a} - `)}`}_putInSubmenu(e,a,t,i,n){const s=this._expandedMenus[e]===a,c={submenu:!0,selected:s},d=dt(i);return o`
- - ${s?o`
${n}
`:""} -
`}_renderMediaLayout(e,a,t,i,n,s,r,c,d,m,u,h){return this._putInSubmenu(e,!0,a,"mdi:page-layout-body",o` - ${this._renderNumberInput(m,{min:0,max:10,label:l("config.cameras.dimensions.layout.zoom"),step:.1})} - ${this._renderNumberInput(u,{min:0,max:100,label:l("config.cameras.dimensions.layout.pan.x")})} - ${this._renderNumberInput(h,{min:0,max:100,label:l("config.cameras.dimensions.layout.pan.y")})} - ${this._renderOptionSelector(t,this._layoutFits,{label:l("config.cameras.dimensions.layout.fit")})} - ${this._putInSubmenu(`${e}.position`,!0,"config.cameras.dimensions.layout.position.editor_label","mdi:aspect-ratio",o` ${this._renderNumberInput(i,{min:0,max:100,label:l("config.cameras.dimensions.layout.position.x")})} - ${this._renderNumberInput(n,{min:0,max:100,label:l("config.cameras.dimensions.layout.position.y")})}`)} - ${this._putInSubmenu(`${e}.view_box`,!0,"config.cameras.dimensions.layout.view_box.editor_label","mdi:crop",o` - ${this._renderNumberInput(s,{min:0,max:100,label:l("config.cameras.dimensions.layout.view_box.top")})} - ${this._renderNumberInput(r,{min:0,max:100,label:l("config.cameras.dimensions.layout.view_box.bottom")})} - ${this._renderNumberInput(c,{min:0,max:100,label:l("config.cameras.dimensions.layout.view_box.left")})} - ${this._renderNumberInput(d,{min:0,max:100,label:l("config.cameras.dimensions.layout.view_box.right")})} - `)} - `)}_renderTimelineCoreControls(e,a,t,i,n,s,r){return o` - ${this._renderOptionSelector(e,this._timelineStyleTypes,{label:l(`config.common.${F}`)})} - ${r?this._renderOptionSelector(r,this._timelinePanModes,{label:l("config.common.controls.timeline.pan_mode")}):""} - ${this._renderNumberInput(a,{label:l(`config.common.${G}`)})} - ${this._renderNumberInput(t,{label:l(`config.common.${J}`)})} - ${this._renderOptionSelector(i,this._timelineEventsMediaTypes,{label:l(`config.common.${Q}`)})} - ${this._renderSwitch(n,s,{label:l(`config.common.${W}`)})} - `}_renderMiniTimeline(e,a,t,i,n,s,r,c,d){return this._putInSubmenu(e,!0,"config.common.controls.timeline.editor_label","mdi:chart-gantt",o` ${this._renderOptionSelector(a,this._miniTimelineModes,{label:l("config.common.controls.timeline.mode")})} - ${this._renderTimelineCoreControls(t,i,n,s,r,c,d)}`)}_renderViewDisplay(e,a,t,i,n){return this._putInSubmenu(e,!0,"config.common.display.editor_label","mdi:palette-swatch",o` - ${this._renderOptionSelector(a,this._displayModes,{label:l("config.common.display.mode")})} - ${this._renderNumberInput(t,{min:0,label:l("config.common.display.grid_selected_width_factor")})} - ${this._renderNumberInput(i,{min:0,label:l("config.common.display.grid_columns")})} - ${this._renderNumberInput(n,{min:0,label:l("config.common.display.grid_max_columns")})} - `)}_renderNextPreviousControls(e,a,t,i){return this._putInSubmenu(e,!0,"config.common.controls.next_previous.editor_label","mdi:arrow-right-bold-circle",o` - ${this._renderOptionSelector(a,this._nextPreviousControlStyles.filter((e=>!(!i?.allowThumbnails&&"thumbnails"===e.value||!i?.allowIcons&&"icons"===e.value))),{label:l("config.common.controls.next_previous.style")})} - ${this._renderNumberInput(t,{min:X,label:l("config.common.controls.next_previous.size")})} - `)}_renderThumbnailsControls(e,a,t,i,n,s,r,c){return this._putInSubmenu(e,!0,"config.common.controls.thumbnails.editor_label","mdi:image-text",o` - ${c?.configPathMode?o`${this._renderOptionSelector(c.configPathMode,this._thumbnailModes,{label:l("config.common.controls.thumbnails.mode")})}`:o``} - ${c?.configPathMediaType?o`${this._renderOptionSelector(c.configPathMediaType,this._thumbnailMediaTypes,{label:l("config.common.controls.thumbnails.media_type")})}`:o``} - ${c?.configPathEventsMediaType?o`${this._renderOptionSelector(c.configPathEventsMediaType,this._thumbnailEventsMediaTypes,{label:l("config.common.controls.thumbnails.events_media_type")})}`:o``} - ${this._renderNumberInput(a,{min:Y,max:Z,label:l("config.common.controls.thumbnails.size")})} - ${this._renderSwitch(t,r.show_details,{label:l("config.common.controls.thumbnails.show_details")})} - ${this._renderSwitch(i,r.show_favorite_control,{label:l("config.common.controls.thumbnails.show_favorite_control")})} - ${this._renderSwitch(n,r.show_timeline_control,{label:l("config.common.controls.thumbnails.show_timeline_control")})} - ${this._renderSwitch(s,r.show_download_control,{label:l("config.common.controls.thumbnails.show_download_control")})} - `)}_renderFilterControls(e,a){return this._putInSubmenu(e,!0,"config.common.controls.filter.editor_label","mdi:filter-cog",o` - ${a?o`${this._renderOptionSelector(a,this._filterModes,{label:l("config.common.controls.filter.mode")})}`:o``} - `)}_renderImageOptions(e,a,t,i,n){return o` - ${this._renderOptionSelector(e,this._imageModes,{label:l("config.common.image.mode")})} - ${this._renderStringInput(a,{label:l("config.common.image.url")})} - ${this._renderOptionSelector(t,this.hass?x(this.hass):[],{label:l("config.common.image.entity")})} - ${this._renderStringInput(i,{label:l("config.common.image.entity_parameters")})} - ${this._renderNumberInput(n,{label:l("config.common.image.refresh_seconds")})} - `}_renderCamera(e,a,t,i){const n=[{value:"",label:""},{value:"auto",label:l("config.cameras.live_providers.auto")},{value:"ha",label:l("config.cameras.live_providers.ha")},{value:"image",label:l("config.cameras.live_providers.image")},{value:"jsmpeg",label:l("config.cameras.live_providers.jsmpeg")},{value:"go2rtc",label:l("config.cameras.live_providers.go2rtc")},{value:"webrtc-card",label:l("config.cameras.live_providers.webrtc-card")}],s=[];e.forEach(((e,t)=>{t!==a&&s.push({value:ee(e),label:this._getEditorCameraTitle(t,e)})}));const c=e=>{if(this._config){const a=m(this._config);e(a)&&this._updateConfig(a)}},d={submenu:!0,selected:this._expandedMenus[gi]===a};return o` -
- - ${this._expandedMenus[gi]===a?o`
-
- !i&&c((e=>!!(Array.isArray(e.cameras)&&a>0)&&(mt(e.cameras,a,a-1),this._openMenu(gi,a-1),!0)))} - > - - - =this._config.cameras.length-1} - @click=${()=>!i&&c((e=>!!(Array.isArray(e.cameras)&&a - - - {c((e=>!!Array.isArray(e.cameras)&&(e.cameras.splice(a,1),this._closeMenu(gi),!0)))}} - > - - -
- ${this._renderEntitySelector(ae(ut,a),"camera")} - ${this._renderOptionSelector(ae(ht,a),n)} - ${this._renderStringInput(ae(_t,a))} - ${this._renderIconSelector(ae(gt,a),{label:l("config.cameras.icon")})} - ${this._renderStringInput(ae(bt,a))} - ${this._putInSubmenu("cameras.engine",!0,"config.cameras.engines.editor_label","mdi:engine",o`${this._putInSubmenu("cameras.frigate",a,"config.cameras.frigate.editor_label","frigate",o` - ${this._renderStringInput(ae(pt,a))} - ${this._renderStringInput(ae(vt,a))} - ${this._renderOptionSelector(ae(ft,a),[],{multiple:!0,label:l("config.cameras.frigate.labels")})} - ${this._renderOptionSelector(ae($t,a),[],{multiple:!0,label:l("config.cameras.frigate.zones")})} - ${this._renderStringInput(ae(yt,a))} - `)} - ${this._putInSubmenu("cameras.motioneye",a,"config.cameras.motioneye.editor_label","motioneye",o` ${this._renderStringInput(ae(wt,a))} - ${this._renderStringInput(ae(St,a))} - ${this._renderStringInput(ae(xt,a))} - ${this._renderStringInput(ae(Mt,a))} - ${this._renderStringInput(ae(It,a))}`)} - ${this._putInSubmenu("cameras.reolink",a,"config.cameras.reolink.editor_label","reolink",o` ${this._renderStringInput(ae(kt,a))} - ${this._renderOptionSelector(ae(Ot,a),this._reolinkMediaResolution,{label:l("config.cameras.reolink.media_resolution.editor_label")})}`)}`)} - ${this._putInSubmenu("cameras.live_provider",!0,"config.cameras.live_provider_options.editor_label","mdi:cctv",o` ${this._putInSubmenu("cameras.go2rtc",a,"config.cameras.go2rtc.editor_label","mdi:alpha-g-circle",o`${this._renderOptionSelector(ae(Ct,a),this._go2rtcModes,{multiple:!0,label:l("config.cameras.go2rtc.modes.editor_label")})} - ${this._renderStringInput(ae(zt,a))}`)} - ${this._putInSubmenu("cameras.image",!0,"config.cameras.image.editor_label","mdi:image",this._renderImageOptions(ae(At,a),ae(Nt,a),ae(Tt,a),ae(Bt,a),ae(Et,a)))} - ${this._putInSubmenu("cameras.webrtc_card",a,"config.cameras.webrtc_card.editor_label","mdi:webrtc",o`${this._renderEntitySelector(ae(Pt,a),"camera")} - ${this._renderStringInput(ae(Ht,a))}`)}`)} - ${this._putInSubmenu("cameras.dependencies",a,"config.cameras.dependencies.editor_label","mdi:graph",o` ${this._renderSwitch(ae(Lt,a),this._defaults.cameras.dependencies.all_cameras)} - ${this._renderOptionSelector(ae(Vt,a),s,{multiple:!0})}`)} - ${this._putInSubmenu("cameras.triggers",a,"config.cameras.triggers.editor_label","mdi:magnify-scan",o` - ${this._renderSwitch(ae(Kt,a),this._defaults.cameras.triggers.occupancy)} - ${this._renderSwitch(ae(Ut,a),this._defaults.cameras.triggers.motion)} - ${this._renderOptionSelector(ae(jt,a),t,{multiple:!0})} - ${this._renderOptionSelector(ae(qt,a),this._triggersEvents,{multiple:!0,label:l("config.cameras.triggers.events.editor_label")})} - `)} - ${this._putInSubmenu("cameras.cast",a,"config.cameras.cast.editor_label","mdi:cast",o` - ${this._renderOptionSelector(ae(Rt,a),this._castMethods)} - ${this._renderStringInput(ae(Dt,a))} - ${this._renderStringInput(ae(Ft,a))} - `)} - ${this._putInSubmenu("cameras.dimensions",a,"config.cameras.dimensions.editor_label","mdi:aspect-ratio",o` - ${this._renderStringInput(ae(Gt,a))} - ${this._renderMediaLayout("cameras.dimensions.layout","config.cameras.dimensions.layout.editor_label",ae(Jt,a),ae(Qt,a),ae(Wt,a),ae(Xt,a),ae(Yt,a),ae(Zt,a),ae(ei,a),ae(ai,a),ae(ti,a),ae(ii,a))} - `)} - ${this._putInSubmenu("cameras.capabilities",a,"config.cameras.capabilities.editor_label","mdi:cog-stop",o` - ${this._renderOptionSelector(ae(ni,a),this._capabilities,{multiple:!0})} - ${this._renderOptionSelector(ae(si,a),this._capabilities,{multiple:!0})} - `)} - ${this._putInSubmenu("cameras.proxy",a,"config.cameras.proxy.editor_label","mdi:arrow-decision",o` - ${this._renderOptionSelector(ae(oi,a),this._proxyMedia,{label:l("config.cameras.proxy.media.editor_label")})} - ${this._renderSwitch(ae(ri,a),this._defaults.cameras.proxy.dynamic)} - ${this._renderOptionSelector(ae(li,a),this._proxySSLVerification,{label:l("config.cameras.proxy.ssl_verification.editor_label")})} - ${this._renderOptionSelector(ae(ci,a),this._proxySSLCiphers,{label:l("config.cameras.proxy.ssl_ciphers.editor_label")})} - `)} -
`:""} -
- `}_renderStringInput(e,a){if(this._config)return o` - this._valueChangedHandler(e,a)} - > - - `}_renderSwitch(e,a,t){if(this._config)return o` - this._valueChangedHandler(e,a)} - > - - `}_updateConfig(e){this._config=e,te(this,"config-changed",{config:this._config})}render(){if(!this.hass||!this._config)return o``;const e=x(this.hass),a=b(this._config,mi)||[];return o` - ${this._configUpgradeable?o`
- ${l("editor.upgrade_available")} - - {if(this._config){const e=m(this._config);ie(e),this._updateConfig(e)}}} - > - - -
-
`:o``} -
- ${this._renderOptionSetHeader("cameras")} - ${"cameras"===this._expandedMenus[bi]?o` -
- ${a.map(((t,i)=>this._renderCamera(a,i,e)))} - ${this._renderCamera(a,a.length,e,!0)} -
- `:""} - ${this._renderOptionSetHeader("profiles")} - ${"profiles"===this._expandedMenus[bi]?o`
- ${this._renderOptionSelector(ne,this._profiles,{multiple:!0,label:l("config.profiles.editor_label")})} -
`:""} - ${this._renderOptionSetHeader("view")} - ${"view"===this._expandedMenus[bi]?o` -
- ${this._renderOptionSelector(se,this._viewModes)} - ${this._renderOptionSelector(oe,this._cameraSelectViewModes)} - ${this._renderOptionSelector(re,this._darkModes)} - ${this._renderNumberInput(le)} - ${this._renderSwitch(ce,this._defaults.view.default_cycle_camera)} - ${this._renderViewDefaultResetMenu()} ${this._renderViewTriggersMenu()} - ${this._renderViewKeyboardShortcutMenu()} -
- `:""} - ${this._renderOptionSetHeader("menu")} - ${"menu"===this._expandedMenus[bi]?o` -
- ${this._renderOptionSelector(de,this._menuStyles)} - ${this._renderOptionSelector(me,this._menuPositions)} - ${this._renderOptionSelector(ue,this._menuAlignments)} - ${this._renderNumberInput(he,{min:X})} - ${this._renderMenuButton("frigate")} - ${this._renderMenuButton("cameras")} - ${this._renderMenuButton("substreams")} - ${this._renderMenuButton("live")} - ${this._renderMenuButton("clips")} - ${this._renderMenuButton("snapshots")} - ${this._renderMenuButton("recordings")} - ${this._renderMenuButton("image")} - ${this._renderMenuButton("download")} - ${this._renderMenuButton("camera_ui")} - ${this._renderMenuButton("fullscreen")} - ${this._renderMenuButton("expand")} - ${this._renderMenuButton("timeline")} - ${this._renderMenuButton("media_player")} - ${this._renderMenuButton("microphone",o`${this._renderOptionSelector(`${R}.microphone.type`,this._microphoneButtonTypes,{label:l("config.menu.buttons.type")})}`)} - ${this._renderMenuButton("play")} - ${this._renderMenuButton("mute")} - ${this._renderMenuButton("screenshot")} - ${this._renderMenuButton("display_mode")} - ${this._renderMenuButton("ptz_controls")} - ${this._renderMenuButton("ptz_home")} -
- `:""} - ${this._renderOptionSetHeader("status_bar")} - ${"status_bar"===this._expandedMenus[bi]?o` -
- ${this._renderOptionSelector(_e,this._statusBarStyles)} - ${this._renderOptionSelector(ge,this._statusBarPositions)} - ${this._renderNumberInput(be,{min:pe,label:l("config.status_bar.height")})} - ${this._renderNumberInput(ve,{min:0,max:60,default:this._defaults.status_bar.popup_seconds,label:l("config.status_bar.popup_seconds")})} - ${this._renderStatusBarItem("title")} - ${this._renderStatusBarItem("resolution")} - ${this._renderStatusBarItem("technology")} - ${this._renderStatusBarItem("engine")} -
- `:""} - ${this._renderOptionSetHeader("live")} - ${"live"===this._expandedMenus[bi]?o` -
- ${this._renderSwitch(fe,this._defaults.live.preload)} - ${this._renderSwitch($e,this._defaults.live.draggable)} - ${this._renderSwitch(ye,this._defaults.live.zoomable)} - ${this._renderSwitch(we,this._defaults.live.lazy_load)} - ${this._renderOptionSelector(Se,this._mediaActionNegativeConditions,{multiple:!0})} - ${this._renderOptionSelector(xe,this._mediaActionPositiveConditions,{multiple:!0})} - ${this._renderOptionSelector(Me,this._mediaActionNegativeConditions,{multiple:!0})} - ${this._renderOptionSelector(Ie,this._mediaLiveMuteConditions,{multiple:!0})} - ${this._renderOptionSelector(ke,this._mediaLiveUnmuteConditions,{multiple:!0})} - ${this._renderOptionSelector(Oe,this._transitionEffects)} - ${this._renderSwitch(Ce,this._defaults.live.show_image_during_load)} - ${this._renderViewDisplay("live.display",ze,Ae,Ne,Te)} - ${this._putInSubmenu("live.controls",!0,"config.live.controls.editor_label","mdi:gamepad",o` - ${this._renderSwitch(Be,this._defaults.live.controls.builtin,{label:l("config.common.controls.builtin")})} - ${this._renderNextPreviousControls("live.controls.next_previous",Ee,Pe,{allowIcons:!0})} - ${this._renderThumbnailsControls("live.controls.thumbnails",He,Le,Ve,Ke,Ue,this._defaults.live.controls.thumbnails,{configPathMediaType:je,configPathEventsMediaType:qe,configPathMode:Re})} - ${this._renderMiniTimeline("live.controls.timeline",De,Fe,Ge,Je,Qe,We,this._defaults.live.controls.timeline.show_recordings,Xe)} - ${this._putInSubmenu("live.controls.ptz",!0,"config.live.controls.ptz.editor_label","mdi:pan",o` - ${this._renderOptionSelector(Ye,this._ptzModes)} - ${this._renderOptionSelector(Ze,this._ptzPositions)} - ${this._renderOptionSelector(ea,this._ptzOrientations)} - ${this._renderSwitch(aa,this._defaults.live.controls.ptz.hide_pan_tilt,{label:l("config.live.controls.ptz.hide_pan_tilt")})} - ${this._renderSwitch(ta,this._defaults.live.controls.ptz.hide_pan_tilt,{label:l("config.live.controls.ptz.hide_zoom")})} - ${this._renderSwitch(ia,this._defaults.live.controls.ptz.hide_home,{label:l("config.live.controls.ptz.hide_home")})} - `)} - `)} - ${this._putInSubmenu("live.microphone",!0,"config.live.microphone.editor_label","mdi:microphone",o` - ${this._renderNumberInput(na)} - ${this._renderSwitch(sa,this._defaults.live.microphone.always_connected)} - ${this._renderNumberInput(oa)} - `)} -
- `:""} - ${this._renderOptionSetHeader("media_gallery")} - ${"media_gallery"===this._expandedMenus[bi]?o`
- ${this._renderThumbnailsControls("media_gallery.controls.thumbnails",ra,la,ca,da,ma,this._defaults.media_gallery.controls.thumbnails)} - ${this._renderFilterControls("media_gallery.controls.filter",ua)} -
`:""} - ${this._renderOptionSetHeader("media_viewer")} - ${"media_viewer"===this._expandedMenus[bi]?o`
- ${this._renderOptionSelector(ha,this._mediaActionPositiveConditions,{multiple:!0})} - ${this._renderOptionSelector(_a,this._mediaActionNegativeConditions,{multiple:!0})} - ${this._renderOptionSelector(ga,this._mediaActionNegativeConditions,{multiple:!0})} - ${this._renderOptionSelector(ba,this._mediaActionPositiveConditions,{multiple:!0})} - ${this._renderSwitch(pa,this._defaults.media_viewer.draggable)} - ${this._renderSwitch(va,this._defaults.media_viewer.zoomable)} - ${this._renderSwitch(fa,this._defaults.media_viewer.lazy_load)} - ${this._renderOptionSelector($a,this._transitionEffects)} - ${this._renderSwitch(ya,this._defaults.media_viewer.snapshot_click_plays_clip)} - ${this._renderViewDisplay("media_viewer.display",wa,Sa,xa,Ma)} - ${this._putInSubmenu("media_viewer.controls",!0,"config.media_viewer.controls.editor_label","mdi:gamepad",o` - ${this._renderSwitch(Ia,this._defaults.media_viewer.controls.builtin,{label:l("config.common.controls.builtin")})} - ${this._renderNextPreviousControls("media_viewer.controls.next_previous",ka,Oa,{allowThumbnails:!0})} - ${this._renderThumbnailsControls("media_viewer.controls.thumbnails",Ca,za,Aa,Na,Ta,this._defaults.media_viewer.controls.thumbnails,{configPathMode:Ba})} - ${this._renderMiniTimeline("media_viewer.controls.timeline",Ea,Pa,Ha,La,Va,Ka,this._defaults.media_viewer.controls.timeline.show_recordings,Ua)} - `)} -
`:""} - ${this._renderOptionSetHeader("image")} - ${"image"===this._expandedMenus[bi]?o`
- ${this._renderImageOptions(ja,qa,Ra,Da,Fa)} -
`:""} - ${this._renderOptionSetHeader("timeline")} - ${"timeline"===this._expandedMenus[bi]?o`
- ${this._renderTimelineCoreControls(F,G,J,Q,W,this._defaults.timeline.show_recordings)} - ${this._renderThumbnailsControls("timeline.controls.thumbnails",Ga,Ja,Qa,Wa,Xa,this._defaults.timeline.controls.thumbnails,{configPathMode:Ya})} -
`:""} - ${this._renderOptionSetHeader("dimensions")} - ${"dimensions"===this._expandedMenus[bi]?o`
- ${this._renderOptionSelector(Za,this._aspectRatioModes)} - ${this._renderStringInput(et)} - ${this._renderStringInput(at)} -
`:""} - ${this._renderOptionSetHeader("performance","low"===b(this._config,ui)?"warning":void 0)} - ${"performance"===this._expandedMenus[bi]?o`
- ${"low"===b(this._config,ui)?this._renderInfo(l("config.performance.warning")):o``} - ${this._putInSubmenu("performance.features",!0,"config.performance.features.editor_label","mdi:feature-search",o` - ${this._renderSwitch(tt,this._defaults.performance.features.animated_progress_indicator)} - ${this._renderNumberInput(it,{max:nt})} - ${this._renderNumberInput(st,{min:1})} - `)} - ${this._putInSubmenu("performance.style",!0,"config.performance.style.editor_label","mdi:palette-swatch-variant",o` - ${this._renderSwitch(ot,this._defaults.performance.style.border_radius)} - ${this._renderSwitch(rt,this._defaults.performance.style.box_shadow)} - `)} -
`:""} - ${void 0!==this._config.overrides?o` ${this._renderOptionSetHeader("overrides")} - ${"overrides"===this._expandedMenus[bi]?o`
- ${this._renderInfo(l("config.overrides.info"))} -
`:""}`:o``} -
- `}_closeMenu(e){delete this._expandedMenus[e],this.requestUpdate()}_openMenu(e,a){this._expandedMenus[e]=a,this.requestUpdate()}_toggleMenu(e){if(e&&e.target){const a=e.target.domain,t=e.target.key;this._expandedMenus[a]===t?this._closeMenu(a):this._openMenu(a,t)}}_valueChangedHandler(e,a){if(!this._config||!this.hass)return;let t;if(a.detail&&void 0!==a.detail.value&&(t=a.detail.value,"string"==typeof t&&(t=t.trim())),b(this._config,e)===t)return;const i=m(this._config);""===t||void 0===t?lt(i,e):ct(i,e,t),this._updateConfig(i)}static get styles(){return c('ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n.option {\n padding: 4px 4px;\n cursor: pointer;\n}\n\n.option.option-overrides .title {\n color: var(--warning-color);\n}\n\n.row {\n display: flex;\n margin-bottom: -14px;\n pointer-events: none;\n}\n\n.title {\n padding-left: 16px;\n margin-top: -6px;\n pointer-events: none;\n}\n\n.title.warning {\n color: var(--warning-color);\n}\n\n.secondary {\n padding-left: 40px;\n color: var(--secondary-text-color);\n pointer-events: none;\n}\n\n.values {\n background: var(--secondary-background-color);\n display: grid;\n}\n\n.values + .option,\n.submenu + .option {\n margin-top: 10px;\n}\n\ndiv.upgrade {\n width: auto;\n border: 1px dotted var(--primary-color);\n margin: 10px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\ndiv.upgrade span {\n padding: 10px;\n}\n\n.submenu-header {\n display: flex;\n padding: 10px;\n cursor: pointer;\n}\n\n.submenu.selected > .submenu-header {\n background-color: var(--primary-color);\n color: var(--primary-text-color);\n}\n\n.submenu-header * {\n flex-basis: auto;\n pointer-events: none;\n}\n\n.submenu-header .new-camera {\n font-style: italic;\n}\n\n.submenu:not(.selected) > .submenu-header .new-camera {\n color: var(--secondary-text-color, "black");\n}\n\n.submenu-header ha-icon,\n.submenu-header img {\n padding-right: 15px;\n}\n\n.submenu.selected {\n border: 1px solid var(--primary-color);\n}\n\n.submenu {\n width: calc(100% - 20px);\n margin-left: auto;\n margin-right: auto;\n margin-bottom: 10px;\n}\n\n.submenu:first-child,\n:not(.submenu) + .submenu {\n margin-top: 10px;\n}\n\n.submenu .controls {\n display: inline-block;\n margin-left: auto;\n margin-right: 0px;\n margin-bottom: 5px;\n}\n\n.submenu .controls ha-icon-button.button {\n --mdc-icon-button-size: 32px;\n --mdc-icon-size: calc(var(--mdc-icon-button-size) / 2);\n}\n\nspan.info {\n padding: 10px;\n}\n\nha-selector {\n padding: 10px;\n border: 1px solid var(--divider-color);\n}')}};t([i({attribute:!1})],vi.prototype,"hass",void 0),t([d()],vi.prototype,"_config",void 0),t([d()],vi.prototype,"_defaults",void 0),t([d()],vi.prototype,"_expandedMenus",void 0),vi=t([n("frigate-card-editor")],vi);export{vi as FrigateCardEditor}; diff --git a/config/www/community/frigate-hass-card/editor-ce460dd0.js.gz b/config/www/community/frigate-hass-card/editor-ce460dd0.js.gz deleted file mode 100644 index ea45d48ee56540944979956ea47a33ba854404e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11531 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 diff --git a/config/www/community/frigate-hass-card/endOfDay-086a6977.js b/config/www/community/frigate-hass-card/endOfDay-086a6977.js deleted file mode 100644 index 21673a2a..00000000 --- a/config/www/community/frigate-hass-card/endOfDay-086a6977.js +++ /dev/null @@ -1 +0,0 @@ -import{c$ as r}from"./card-320adb66.js";function o(o){const s=r(o);return s.setHours(23,59,59,999),s}export{o as e}; diff --git a/config/www/community/frigate-hass-card/endOfDay-086a6977.js.gz b/config/www/community/frigate-hass-card/endOfDay-086a6977.js.gz deleted file mode 100644 index efe6a589e4c36efac17aa1bd508b2e3a4cff41a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148 zcmV;F0BipriwFoDf?;O@|7C7uPi916c`YzFHeoh7H#aV7a{wL9Jqm;{5J2I6Pcevv zf<{pkLfGDG#27)r%rY~91$8ylb5yVK)FC~_$ADR)L5V39~hwDY?F+#S*4+~66b#(v$0Qs0e AzyJUM diff --git a/config/www/community/frigate-hass-card/endOfDay-24d35e3f.js b/config/www/community/frigate-hass-card/endOfDay-24d35e3f.js deleted file mode 100644 index 94c721c6..00000000 --- a/config/www/community/frigate-hass-card/endOfDay-24d35e3f.js +++ /dev/null @@ -1 +0,0 @@ -import{d3 as r}from"./card-45855f1f.js";function o(o){const s=r(o);return s.setHours(23,59,59,999),s}export{o as e}; diff --git a/config/www/community/frigate-hass-card/endOfDay-24d35e3f.js.gz b/config/www/community/frigate-hass-card/endOfDay-24d35e3f.js.gz deleted file mode 100644 index 90d088de6e43335e96e9231d370b7a727694e4d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmV;D0B!#tiwFqNQ&?vL|7C7uPi916c`Y(DWHU8oGiEMoa{wL9K?;O03_#JnrwFbT zv@$vcOL6Ztq_*IIjU*`u(z~kzfAd#w+YcnU)&Uj<%7Jh%Rp%C3+piwA4xgZYT-uPL zlMN$ah4tkyvH(x?j3qCLBCujFGbZAy9~y1mj4^e?*`I#|U&Cix+~dlod368)0DV3^ A1poj5 diff --git a/config/www/community/frigate-hass-card/endOfDay-696ac7f4.js b/config/www/community/frigate-hass-card/endOfDay-696ac7f4.js deleted file mode 100644 index 32f96c36..00000000 --- a/config/www/community/frigate-hass-card/endOfDay-696ac7f4.js +++ /dev/null @@ -1 +0,0 @@ -import{d3 as r}from"./card-769e2b91.js";function o(o){const s=r(o);return s.setHours(23,59,59,999),s}export{o as e}; diff --git a/config/www/community/frigate-hass-card/endOfDay-696ac7f4.js.gz b/config/www/community/frigate-hass-card/endOfDay-696ac7f4.js.gz deleted file mode 100644 index a5c10156475d7c92416f3ee6c6e26c0459fece29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147 zcmV;E0BrvsiwFowdR%7$|7C7uPi916c`Y_MHeq8oW;8Bpa{wL9K?;LF3_#I+PZ3-x z*b$Xh!q9!MVaEsxP9(`dLFVq&!r%PWTeh9Wj;V)HLGmoT6|M=RO!wi5)P1mZs}_Dv zG1$Tpxa8^x9MwQya*h|WBoWjp*_)GS+4c1UuMn}SHPiQx@MTc;w;v|4R=9Nl008dR%7$|7C7uPi916c`Z0%Wi(`AF=8%ia{wL9!3u*g41nSLo+5Zs zaNU^h5X$bpM%PAAuo+1T1L?av2mj?iearS?u{{kC6r|3=TjOpqNV?uJj_;7jt=jmx zd2pa{wL9O$viB5J2I5PcdW_ z!A9_}gy6o{kT`+`Gi7E1g5>V4!rQ#nx9wkIJ(mt<0WK@kZd?;*UY>F6Tf|rIK4QX} zQ`C(TkfrL3lte)${!d`k%n8H^>YFl)ZM%B#SKj-omV(EP&}Co=j~^a96CQN{007FW BK%4*o diff --git a/config/www/community/frigate-hass-card/endOfDay-cfc9c86c.js b/config/www/community/frigate-hass-card/endOfDay-cfc9c86c.js deleted file mode 100644 index 21a501ad..00000000 --- a/config/www/community/frigate-hass-card/endOfDay-cfc9c86c.js +++ /dev/null @@ -1 +0,0 @@ -import{c_ as r}from"./card-e5d55e5b.js";function o(o){const s=r(o);return s.setHours(23,59,59,999),s}export{o as e}; diff --git a/config/www/community/frigate-hass-card/endOfDay-cfc9c86c.js.gz b/config/www/community/frigate-hass-card/endOfDay-cfc9c86c.js.gz deleted file mode 100644 index 18abd50d234fec121ac7ecac92cbd942492329a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147 zcmV;E0BrvsiwFo#^lE1U|7C7uPi916c`ajRV>x3uHe)Voa{wL9!3u*g41nSLo+5Zs za1|ywl(M^TAzC9S*o-6vLHh2Sga7iMzU}z1*cC^Z6r`-eN9DRW$?_yz5D90uYZca< zqHUajYi_Q{Ne%QZzX?K?C4o968#s&Buf9cp=e=)QEp+}7z6~nj@df7jVtaJ}002`8 BLEZoW diff --git a/config/www/community/frigate-hass-card/endpoint-760ea36f.js b/config/www/community/frigate-hass-card/endpoint-760ea36f.js deleted file mode 100644 index 530d2b54..00000000 --- a/config/www/community/frigate-hass-card/endpoint-760ea36f.js +++ /dev/null @@ -1 +0,0 @@ -import{du as r,db as t,cQ as n,l as a}from"./card-7cd05290.js";const e=async(e,s,i,l)=>{if(!i.sign)return i.endpoint;let c;try{c=await r(s,i.endpoint,l)}catch(r){return t(r),null}return c?c.replace(/^http/i,"ws"):(n(e,a("error.failed_sign")),null)};export{e as g}; diff --git a/config/www/community/frigate-hass-card/endpoint-760ea36f.js.gz b/config/www/community/frigate-hass-card/endpoint-760ea36f.js.gz deleted file mode 100644 index e8462676ddbe46b5837791650cc249e5bf04e1ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 238 zcmVMHgM?7CUy8W zQ8`OHfT!^A3}N^5__DKKRXQlSvcS>TYX*g;nrM<9-_|&(`)F%CW=+ToWf3jrFqfFw zC1e4P>AJ$`FFvv$wK@L{if(!i.sign)return i.endpoint;let c;try{c=await r(s,i.endpoint,l)}catch(r){return t(r),null}return c?c.replace(/^http/i,"ws"):(n(e,a("error.failed_sign")),null)};export{e as g}; diff --git a/config/www/community/frigate-hass-card/endpoint-9c79ab63.js.gz b/config/www/community/frigate-hass-card/endpoint-9c79ab63.js.gz deleted file mode 100644 index 6c01d22b601a8bbdd19b8660410d1215002a38c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 239 zcmVRx_iSc%BRK8W!QJAQSeTY~Z6ao7Cak zMCB~)0G`6b%kvJO_Pa-Ws?tHpl?9HzUNa~()kKr@__oGL-A7yFA!|ZjD2r$@hq=Ve zE+GqWOxG1gfANt8sm=K>*diKuhNB|A-t4^HCNC+q+XLRg63)p3s^Rm{if(!a.sign)return a.endpoint;let s;try{s=await t(r,a.endpoint,e)}catch(t){n(t)}return s?s.replace(/^http/i,"ws"):null};export{r as c}; diff --git a/config/www/community/frigate-hass-card/endpoint-a6d38c7a.js.gz b/config/www/community/frigate-hass-card/endpoint-a6d38c7a.js.gz deleted file mode 100644 index 71f4d1d400b7b966da15163c724d6e599fc0ff7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 203 zcmV;+05ty}iwFoDf?;O@|7C7uaBpdDbS+^vWHUHpH(@Sna{xV#(F%e<5Jlhnip?hl zTcg0B#rl(A+Ff(QMw^*1k^T2HqL+JL?me9F=sS|hJr%H$+#Qz2SX1{%bYX$qX208l zyOyQCb7E|VEQ%`N5p7C2fE5Xbv~b$jggRf%fS7E})p!i((@*PF%qNL6j`d z|6oQ$3u2p8vI*yiKL(#!lkZ!wJ}oYdNMD3J892#~_-fl|{QGN9i?oeq^#Pzhftt<$ F003~zU+w?^ diff --git a/config/www/community/frigate-hass-card/endpoint-aa68fc9e.js b/config/www/community/frigate-hass-card/endpoint-aa68fc9e.js deleted file mode 100644 index a09ee8ad..00000000 --- a/config/www/community/frigate-hass-card/endpoint-aa68fc9e.js +++ /dev/null @@ -1 +0,0 @@ -import{dI as r,d8 as t,cL as n,l as a}from"./card-555679fd.js";const e=async(e,s,i,l)=>{if(!i.sign)return i.endpoint;let c;try{c=await r(s,i.endpoint,l)}catch(r){return t(r),null}return c?c.replace(/^http/i,"ws"):(n(e,a("error.failed_sign")),null)};export{e as g}; diff --git a/config/www/community/frigate-hass-card/endpoint-aa68fc9e.js.gz b/config/www/community/frigate-hass-card/endpoint-aa68fc9e.js.gz deleted file mode 100644 index 705432e75f65d0550cbd8f6521e8ac619d05964e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 239 zcmVWXBHG@J^O*BbQZ)=>@eY7AJ$?FFvv$wK@L{if(!a.sign)return a.endpoint;let s;try{s=await t(r,a.endpoint,e)}catch(t){n(t)}return s?s.replace(/^http/i,"ws"):null};export{r as c}; diff --git a/config/www/community/frigate-hass-card/endpoint-c9cec68c.js.gz b/config/www/community/frigate-hass-card/endpoint-c9cec68c.js.gz deleted file mode 100644 index 0760145300755c0a0d862448b70d24cb8f7c80ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 201 zcmV;)05<<0iwFo#^lE1U|7C7uaBpdDbS+~!V`XDDIAbnqa{xV#!485j5Jc~OMdbtu zmJ=Rq&_6L*+f{0CX?B;WA^ms37%wxInU@zIX=I&4G9X6luwR?{if(!i.sign)return i.endpoint;let c;try{c=await r(s,i.endpoint,l)}catch(r){return t(r),null}return c?c.replace(/^http/i,"ws"):(n(e,a("error.failed_sign")),null)};export{e as g}; diff --git a/config/www/community/frigate-hass-card/endpoint-cc3caf82.js.gz b/config/www/community/frigate-hass-card/endpoint-cc3caf82.js.gz deleted file mode 100644 index 97b79225a7b806f063013104f07f50ab96a0d23a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 238 zcmVeE}tI_S%#*IW~LLa^&5;Xz|y#EHlGQyv&7o4U6zqkO^O%Y~awDP3rJ% zqH>XT08ilwUUtujuRD9L(m~0U1&+SnGAK0FM3eORzQ##CMqA@CYeHTqi)b;2xx~ya zAq#L!w-rWz^^pas&G|3bA{uyxlOny|?Y!M4FDbSA1NLAE=i~v^@Nr_EhiK%rO8utt oR>docM1}0+W5V#+yGZ?)p_{|+-{IH?9-Djk0SF@rjR^q&00~2L00000 diff --git a/config/www/community/frigate-hass-card/endpoint-e9cb8034.js b/config/www/community/frigate-hass-card/endpoint-e9cb8034.js deleted file mode 100644 index a15c8d0b..00000000 --- a/config/www/community/frigate-hass-card/endpoint-e9cb8034.js +++ /dev/null @@ -1 +0,0 @@ -import{du as r,db as t,cQ as n,l as a}from"./card-09c4bade.js";const e=async(e,s,i,l)=>{if(!i.sign)return i.endpoint;let c;try{c=await r(s,i.endpoint,l)}catch(r){return t(r),null}return c?c.replace(/^http/i,"ws"):(n(e,a("error.failed_sign")),null)};export{e as g}; diff --git a/config/www/community/frigate-hass-card/endpoint-e9cb8034.js.gz b/config/www/community/frigate-hass-card/endpoint-e9cb8034.js.gz deleted file mode 100644 index 1b3903b93f71454625a01810997893a10e53e3bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 237 zcmVdR%7$|7C7uaBpdDbS-5$V`4ZkGc+!0a{xV$!A`_53`FmIMaU_U zLdt;)RE2Ng2S8rO-3`hnmE&qzRrz-sSaEumH8Yxt=cTZ0VO3BSyKv|fhwq))r4DE_ zm$UW*0*8mkXM8$9ApceMh$UB1G(o*)G~}v_F4^gIi?g|pzQ$v=OtNxT(NhjfiCM-( zqHq+xZaBdOq9``I^Ixz>Gz7tuVY}VzvfnPRDYe@J-_SEH36RY2aS~aE==7y(`(pB5 n1&k)}2ABt&o6 diff --git a/config/www/community/frigate-hass-card/endpoint-f74ef6db.js b/config/www/community/frigate-hass-card/endpoint-f74ef6db.js deleted file mode 100644 index 757d0868..00000000 --- a/config/www/community/frigate-hass-card/endpoint-f74ef6db.js +++ /dev/null @@ -1 +0,0 @@ -import{du as r,db as t,cQ as n,l as a}from"./card-45855f1f.js";const e=async(e,s,i,l)=>{if(!i.sign)return i.endpoint;let c;try{c=await r(s,i.endpoint,l)}catch(r){return t(r),null}return c?c.replace(/^http/i,"ws"):(n(e,a("error.failed_sign")),null)};export{e as g}; diff --git a/config/www/community/frigate-hass-card/endpoint-f74ef6db.js.gz b/config/www/community/frigate-hass-card/endpoint-f74ef6db.js.gz deleted file mode 100644 index 110d4957eec41fc9441d41b0884c4cac96a0cb6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 238 zcmVy^GX;8M-g|7C7xX>MgLI5uK1FgZ43E^2cCOU}TFeHB2?JPOT`& ZFDj`{RY)vWaIUrH0sukQ;#nL3001u{7xMrB diff --git a/config/www/community/frigate-hass-card/engine-e412e9a0.js b/config/www/community/frigate-hass-card/engine-e412e9a0.js deleted file mode 100644 index e0a518f7..00000000 --- a/config/www/community/frigate-hass-card/engine-e412e9a0.js +++ /dev/null @@ -1 +0,0 @@ -const e=1e4;export{e as C}; diff --git a/config/www/community/frigate-hass-card/engine-e412e9a0.js.gz b/config/www/community/frigate-hass-card/engine-e412e9a0.js.gz deleted file mode 100644 index 4b6193a01b74f43d63917b37c776a4f13633b436..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 67 zcmb2|=HO^9;!R`vpPHARnU|`YYGP=VYME%DmsQN*eeS%rUZBTTQyNumber(e)),n.number().min(0).max(23)),duration:n.number().min(0),events:n.number().min(0)}),U=n.object({day:n.preprocess((e=>"string"==typeof e?a(e):e),n.date()),events:n.number(),hours:q.array()}).array(),W=n.object({start_time:n.number(),end_time:n.number(),id:n.string()}).array(),Q=n.object({success:n.boolean(),message:n.string()}),k=n.object({camera:n.string(),day:n.string(),label:n.string(),sub_label:n.string().nullable(),zones:n.string().array()}).array(),P=n.object({name:n.string().optional(),features:n.string().array().optional(),presets:n.string().array().optional()}),A=n.object({camera:n.string(),snapshot:n.object({frame_time:n.number()}).nullable(),has_clip:n.boolean(),has_snapshot:n.boolean(),label:n.string(),current_zones:n.string().array()}),O=n.object({before:A,after:A,type:n.enum(["new","update","end"])});const L=async(e,t)=>await r(e,Z,{type:"frigate/events/get",...t},!0),V=e=>"birdseye"===e.frigate.camera_name;class G extends z{constructor(e,t,n){super(e,t,n),this._frigateEventHandler=e=>{const t=!e.before.has_snapshot&&e.after.has_snapshot||e.before.snapshot?.frame_time!==e.after.snapshot?.frame_time,n=!e.before.has_clip&&e.after.has_clip,a=this.getConfig();if(a.frigate.zones?.length&&!a.frigate.zones.some((t=>e.after.current_zones.includes(t)))||a.frigate.labels?.length&&!a.frigate.labels.includes(e.after.label))return;const r=a.triggers.events;(r.includes("events")||r.includes("snapshots")&&t||r.includes("clips")&&n)&&this._eventCallback?.({fidelity:"high",cameraID:this.getID(),type:e.type,clip:n&&r.includes("clips"),snapshot:t&&r.includes("snapshots")})}}async initialize(e){return await this._initializeConfig(e.hass,e.entityRegistryManager),await this._initializeCapabilities(e.hass),await this._subscribeToEvents(e.hass,e.frigateEventWatcher),await super.initialize(e)}async _initializeConfig(e,n){const a=this.getConfig(),r=!!a.frigate?.camera_name,i=a.triggers.motion||a.triggers.occupancy;let g=null;const l=o(a);if(l&&(!r||i)&&(g=await n.getEntity(e,l),!g))throw new c(s("error.no_camera_entity"),a);if(g&&!r){const e=this._getFrigateCameraNameFromEntity(g);e&&(this._config.frigate.camera_name=e)}if(i){const r=await n.getMatchingEntities(e,(e=>e.config_entry_id===g?.config_entry_id&&!e.disabled_by&&e.entity_id.startsWith("binary_sensor.")));if(a.triggers.motion){const e=this._getMotionSensor(a,[...r.values()]);e&&a.triggers.entities.push(e)}if(a.triggers.occupancy){const e=this._getOccupancySensor(a,[...r.values()]);e&&a.triggers.entities.push(...e)}a.triggers.entities=(u=a.triggers.entities)&&u.length?t(u):[]}var u}async _initializeCapabilities(e){const t=this.getConfig(),n=g(this.getConfig()),a=await this._getPTZCapabilities(e,t),r=n||a?{...a,...n}:null,i=V(t);this._capabilities=new l({"favorite-events":!i,"favorite-recordings":!1,seek:!i,clips:!i,snapshots:!i,recordings:!i,live:!0,menu:!0,substream:!0,...r&&{ptz:r}},{disable:t.capabilities?.disable,disableExcept:t.capabilities?.disable_except})}_getFrigateCameraNameFromEntity(e){if("frigate"===e.platform&&e.unique_id&&"string"==typeof e.unique_id){const t=e.unique_id.match(/:camera:(?[^:]+)$/);if(t&&t.groups)return t.groups.camera}return null}async _getPTZCapabilities(e,t){if(!t.frigate.camera_name||V(t))return null;let n=null;try{n=await(async(e,t,n)=>await r(e,P,{type:"frigate/ptz/info",instance_id:t,camera:n},!0))(e,t.frigate.client_id,t.frigate.camera_name)}catch(e){return u(e),null}const a=[...n.features?.includes("pt")?["continuous"]:[]],i=[...n.features?.includes("zoom")?["continuous"]:[]],s=n.presets;return a.length||i.length||s?.length?{...a&&{left:a,right:a,up:a,down:a},...i&&{zoomIn:i,zoomOut:i},...s&&{presets:s}}:null}_getMotionSensor(e,t){return e.frigate.camera_name?t.find((t=>"string"==typeof t.unique_id&&!!t.unique_id?.match(new RegExp(`:motion_sensor:${e.frigate.camera_name}`))))?.entity_id??null:null}_getOccupancySensor(e,t){const n=[],a=(e,a)=>{const r=t.find((t=>"string"==typeof t.unique_id&&!!t.unique_id?.match(new RegExp(`:occupancy_sensor:${e}_${a}`))))?.entity_id??null;r&&n.push(r)};if(e.frigate.camera_name){const t=e.frigate.zones?.length?e.frigate.zones:[e.frigate.camera_name],r=e.frigate.labels?.length?e.frigate.labels:["all"];for(const e of t)for(const t of r)a(e,t);if(n.length)return n}return null}async _subscribeToEvents(e,t){const n=this.getConfig();if(!n.triggers.events.length||!n.frigate.camera_name)return; -/* istanbul ignore next -- exercising the matcher is not possible when the - test uses an event watcher -- @preserve */const a={instanceID:n.frigate.client_id,callback:e=>this._frigateEventHandler(e),matcher:e=>e.after.camera===n.frigate.camera_name};await t.subscribe(e,a),this._onDestroy((()=>t.unsubscribe(a)))}}class J{constructor(){this._requests=[],this._unsubscribeCallback={}}async subscribe(e,t){const n=!this._hasSubscribers(t.instanceID);this._requests.push(t),n&&(this._unsubscribeCallback[t.instanceID]=await e.connection.subscribeMessage((e=>this._receiveHandler(t.instanceID,e)),{type:"frigate/events/subscribe",instance_id:t.instanceID}))}async unsubscribe(e){this._requests=this._requests.filter((t=>t!==e)),this._hasSubscribers(e.instanceID)||(await this._unsubscribeCallback[e.instanceID](),delete this._unsubscribeCallback[e.instanceID])}_hasSubscribers(e){return!!this._requests.filter((t=>t.instanceID===e)).length}_receiveHandler(e,t){let n;try{n=JSON.parse(t)}catch(e){return void console.warn("Received non-JSON payload as Frigate event",t)}const a=O.safeParse(n);if(a.success)for(const t of this._requests)t.instanceID!==e||t.matcher&&!t.matcher(a.data)||t.callback(a.data);else console.warn("Received malformed Frigate event from Home Assistant",t)}}function B(e,t){const n=function(e){if(!X[e]){const t=new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:"America/New_York",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date("2014-06-25T04:00:00.123Z")),n="06/25/2014, 00:00:00"===t||"‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00"===t;X[e]=n?new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:e,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:e,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})}return X[e]}(t);return"formatToParts"in n?function(e,t){try{const n=e.formatToParts(t),a=[];for(let e=0;e=0?i:1e3+i,a-r}function se(e,t){return-23<=e&&e<=23&&(null==t||0<=t&&t<=59)}const oe={};function ce(e){const t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.setUTCFullYear(e.getFullYear()),+e-+t}const ge=36e5,le=6e4,ue=2,me={dateTimePattern:/^([0-9W+-]+)(T| )(.*)/,datePattern:/^([0-9W+-]+)(.*)/,plainTime:/:/,YY:/^(\d{2})$/,YYY:[/^([+-]\d{2})$/,/^([+-]\d{3})$/,/^([+-]\d{4})$/],YYYY:/^(\d{4})/,YYYYY:[/^([+-]\d{4})/,/^([+-]\d{5})/,/^([+-]\d{6})/],MM:/^-(\d{2})$/,DDD:/^-?(\d{3})$/,MMDD:/^-?(\d{2})-?(\d{2})$/,Www:/^-?W(\d{2})$/,WwwD:/^-?W(\d{2})-?(\d{1})$/,HH:/^(\d{2}([.,]\d*)?)$/,HHMM:/^(\d{2}):?(\d{2}([.,]\d*)?)$/,HHMMSS:/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/,timeZone:/(Z|[+-]\d{2}(?::?\d{2})?| UTC| [a-zA-Z]+\/[a-zA-Z_]+(?:\/[a-zA-Z_]+)?)$/};function de(e,t={}){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");if(null===e)return new Date(NaN);const n=null==t.additionalDigits?ue:Number(t.additionalDigits);if(2!==n&&1!==n&&0!==n)throw new RangeError("additionalDigits must be 0, 1 or 2");if(e instanceof Date||"object"==typeof e&&"[object Date]"===Object.prototype.toString.call(e))return new Date(e.getTime());if("number"==typeof e||"[object Number]"===Object.prototype.toString.call(e))return new Date(e);if("[object String]"!==Object.prototype.toString.call(e))return new Date(NaN);const a=function(e){const t={};let n,a=me.dateTimePattern.exec(e);a?(t.date=a[1],n=a[3]):(a=me.datePattern.exec(e),a?(t.date=a[1],n=a[2]):(t.date=null,n=e));if(n){const e=me.timeZone.exec(n);e?(t.time=n.replace(e[1],""),t.timeZone=e[1].trim()):t.time=n}return t}(e),{year:r,restDateString:i}=function(e,t){if(e){const n=me.YYY[t],a=me.YYYYY[t];let r=me.YYYY.exec(e)||a.exec(e);if(r){const t=r[1];return{year:parseInt(t,10),restDateString:e.slice(t.length)}}if(r=me.YY.exec(e)||n.exec(e),r){const t=r[1];return{year:100*parseInt(t,10),restDateString:e.slice(t.length)}}}return{year:null}}(a.date,n),s=function(e,t){if(null===t)return null;let n,a,r;if(!e||!e.length)return n=new Date(0),n.setUTCFullYear(t),n;let i=me.MM.exec(e);if(i)return n=new Date(0),a=parseInt(i[1],10)-1,ye(t,a)?(n.setUTCFullYear(t,a),n):new Date(NaN);if(i=me.DDD.exec(e),i){n=new Date(0);const e=parseInt(i[1],10);return function(e,t){if(t<1)return!1;const n=_e(e);if(n&&t>366)return!1;if(!n&&t>365)return!1;return!0}(t,e)?(n.setUTCFullYear(t,0,e),n):new Date(NaN)}if(i=me.MMDD.exec(e),i){n=new Date(0),a=parseInt(i[1],10)-1;const e=parseInt(i[2],10);return ye(t,a,e)?(n.setUTCFullYear(t,a,e),n):new Date(NaN)}if(i=me.Www.exec(e),i)return r=parseInt(i[1],10)-1,be(r)?fe(t,r):new Date(NaN);if(i=me.WwwD.exec(e),i){r=parseInt(i[1],10)-1;const e=parseInt(i[2],10)-1;return be(r,e)?fe(t,r,e):new Date(NaN)}return null}(i,r);if(null===s||isNaN(s.getTime()))return new Date(NaN);if(s){const e=s.getTime();let n,r=0;if(a.time&&(r=function(e){let t,n,a=me.HH.exec(e);if(a)return t=parseFloat(a[1].replace(",",".")),we(t)?t%24*ge:NaN;if(a=me.HHMM.exec(e),a)return t=parseInt(a[1],10),n=parseFloat(a[2].replace(",",".")),we(t,n)?t%24*ge+n*le:NaN;if(a=me.HHMMSS.exec(e),a){t=parseInt(a[1],10),n=parseInt(a[2],10);const e=parseFloat(a[3].replace(",","."));return we(t,n,e)?t%24*ge+n*le+1e3*e:NaN}return null}(a.time),null===r||isNaN(r)))return new Date(NaN);if(a.timeZone||t.timeZone){if(n=re(a.timeZone||t.timeZone,new Date(e+r)),isNaN(n))return new Date(NaN)}else n=ce(new Date(e+r)),n=ce(new Date(e+r+n));return new Date(e+r+n)}return new Date(NaN)}function fe(e,t,n){t=t||0,n=n||0;const a=new Date(0);a.setUTCFullYear(e,0,4);const r=7*t+n+1-(a.getUTCDay()||7);return a.setUTCDate(a.getUTCDate()+r),a}const he=[31,28,31,30,31,30,31,31,30,31,30,31],pe=[31,29,31,30,31,30,31,31,30,31,30,31];function _e(e){return e%400==0||e%4==0&&e%100!=0}function ye(e,t,n){if(t<0||t>11)return!1;if(null!=n){if(n<1)return!1;const a=_e(e);if(a&&n>pe[t])return!1;if(!a&&n>he[t])return!1}return!0}function be(e,t){return!(e<0||e>52)&&(null==t||!(t<0||t>6))}function we(e,t,n){return!(e<0||e>=25)&&((null==t||!(t<0||t>=60))&&(null==n||!(n<0||n>=60)))}const De=e=>{const t=Intl.DateTimeFormat().resolvedOptions().timeZone,n=Math.round(e.end_time?e.end_time-e.start_time:Date.now()/1e3-e.start_time),a=null!==e.top_score?` ${Math.round(100*e.top_score)}%`:"";return`${m(function(e,t,n){const a=re(t,e=de(e,n),!0),r=new Date(e.getTime()-a),i=new Date(0);return i.setFullYear(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate()),i.setHours(r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()),i}(1e3*e.start_time,t))} [${n}s, ${d(e.label)}${a}]`};class Ce extends R{constructor(e,t,n,a,r,i){super(e,t),this._event=n,this._contentID=a,this._thumbnail=r,this._subLabels=i??null}getStartTime(){return j(this._event.start_time)}getEndTime(){return this._event.end_time?j(this._event.end_time):null}inProgress(){return!this.getEndTime()}getVideoContentType(){return Y.HLS}getID(){return this._event.id}getContentID(){return this._contentID}getTitle(){return De(this._event)}getThumbnail(){return this._thumbnail}isFavorite(){return this._event.retain_indefinitely??null}setFavorite(e){this._event.retain_indefinitely=e}getWhat(){return[this._event.label]}getWhere(){const e=this._event.zones;return e.length?e:null}getScore(){return this._event.top_score}getTags(){return this._subLabels}isGroupableWith(e){return this.getMediaType()===e.getMediaType()&&f(this.getWhere(),e.getWhere())&&f(this.getWhat(),e.getWhat())}}class ve extends R{constructor(e,t,n,a,r,i){super(e,t),this._recording=n,this._id=a,this._contentID=r,this._title=i}getID(){return this._id}getStartTime(){return this._recording.startTime}getEndTime(){return this._recording.endTime}inProgress(){return!this.getEndTime()}getVideoContentType(){return Y.HLS}getContentID(){return this._contentID}getTitle(){return this._title}getEventCount(){return this._recording.events}}class Te{static createEventViewMedia(e,t,n,a,r){return"clip"===e&&!a.has_clip||"snapshot"===e&&!a.has_snapshot||!n.frigate.client_id||!n.frigate.camera_name?null:new Ce(e,t,a,((e,t,n,a)=>`media-source://frigate/${e}/event/${a}/${t}/${n.id}`)(n.frigate.client_id,n.frigate.camera_name,a,"clip"===e?"clips":"snapshots"),((e,t)=>`/api/frigate/${e}/thumbnail/${t.id}`)(n.frigate.client_id,a),r)}static createRecordingViewMedia(e,t,n,a){return n.frigate.client_id&&n.frigate.camera_name?new ve("recording",e,t,((e,t)=>`${e.frigate?.client_id??""}/${e.frigate.camera_name??""}/${t.startTime.getTime()}/${t.endTime.getTime()}`)(n,t),((e,t,n)=>["media-source://frigate",e,"recordings",t,`${n.startTime.getFullYear()}-${String(n.startTime.getMonth()+1).padStart(2,"0")}-${String(String(n.startTime.getDate()).padStart(2,"0"))}`,String(n.startTime.getHours()).padStart(2,"0")].join("/"))(n.frigate.client_id,n.frigate.camera_name,t),((e,t)=>`${e} ${m(t.startTime)}`)(a,t)):null}}class Ie{static isFrigateMedia(e){return this.isFrigateEvent(e)||this.isFrigateRecording(e)}static isFrigateEvent(e){return e instanceof Ce}static isFrigateRecording(e){return e instanceof ve}}class Se{static isFrigateEventQueryResults(e){return e.engine===p.Frigate&&e.type===C.Event}static isFrigateRecordingQueryResults(e){return e.engine===p.Frigate&&e.type===C.Recording}static isFrigateRecordingSegmentsResults(e){return e.engine===p.Frigate&&e.type===C.RecordingSegments}}class Me extends N{constructor(e,t,n,a,r){super(t,r),this._throttledSegmentGarbageCollector=h(this._garbageCollectSegments.bind(this),36e5,{leading:!1,trailing:!0}),this._entityRegistryManager=e,this._frigateEventWatcher=new J,this._recordingSegmentsCache=n,this._requestCache=a}getEngineType(){return p.Frigate}async createCamera(e,t){const n=new G(t,this,{eventCallback:this._eventCallback});return await n.initialize({hass:e,entityRegistryManager:this._entityRegistryManager,stateWatcher:this._stateWatcher,frigateEventWatcher:this._frigateEventWatcher})}async getMediaDownloadPath(e,t,n){return Ie.isFrigateEvent(n)?{endpoint:`/api/frigate/${t.frigate.client_id}/notifications/${n.getID()}/`+(_.isClip(n)?"clip.mp4":"snapshot.jpg")+"?download=true",sign:!0}:Ie.isFrigateRecording(n)?{endpoint:`/api/frigate/${t.frigate.client_id}/recording/${t.frigate.camera_name}/start/${Math.floor(n.getStartTime().getTime()/1e3)}/end/${Math.floor(n.getEndTime().getTime()/1e3)}?download=true`,sign:!0}:null}generateDefaultEventQuery(e,t,n){const a=[...e.getCameraConfigs(t)],r=y(a.map((e=>e?.frigate.zones)),f),i=y(a.map((e=>e?.frigate.labels)),f);if(1===r.length&&1===i.length)return[{type:b.Event,cameraIDs:t,...i[0]&&{what:new Set(i[0])},...r[0]&&{where:new Set(r[0])},...n}];const s=[];for(const a of t){const t=e.getCameraConfig(a);t&&s.push({type:b.Event,cameraIDs:new Set([a]),...t.frigate.labels&&{what:new Set(t.frigate.labels)},...t.frigate.zones&&{where:new Set(t.frigate.zones)},...n})}return s.length?s:null}generateDefaultRecordingQuery(e,t,n){return[{type:b.Recording,cameraIDs:t,...n}]}generateDefaultRecordingSegmentsQuery(e,t,n){return n.start&&n.end?[{type:b.RecordingSegments,cameraIDs:t,start:n.start,end:n.end,...n}]:null}async favoriteMedia(e,t,n,a){Ie.isFrigateEvent(n)&&(await async function(e,t,n,a){const o={type:"frigate/event/retain",instance_id:t,event_id:n,retain:a},c=await r(e,Q,o,!0);if(!c.success)throw new i(s("error.failed_retain"),{request:o,response:c})}(e,t.frigate.client_id,n.getID(),a),n.setFavorite(a))}_buildInstanceToCameraIDMapFromQuery(e,t){const n=new Map;for(const a of t){const t=this._getQueryableCameraConfig(e,a),r=t?.frigate.client_id;r&&(n.has(r)||n.set(r,new Set),n.get(r)?.add(a))}return n}_getFrigateCameraNamesForCameraIDs(e,t){const n=new Set;for(const a of t){const t=this._getQueryableCameraConfig(e,a);t?.frigate.camera_name&&n.add(t.frigate.camera_name)}return n}async getEvents(e,t,n,a){const r=new Map,i=async(i,s)=>{if(!s||!s.size)return;const o={...n,cameraIDs:s},c=a?.useCache??1?this._requestCache.get(o):null;if(c)return void r.set(n,c);const g={instance_id:i,cameras:Array.from(this._getFrigateCameraNamesForCameraIDs(t,s)),...n.what&&{labels:Array.from(n.what)},...n.where&&{zones:Array.from(n.where)},...n.tags&&{sub_labels:Array.from(n.tags)},...n.end&&{before:Math.floor(n.end.getTime()/1e3)},...n.start&&{after:Math.floor(n.start.getTime()/1e3)},...n.limit&&{limit:n.limit},...n.hasClip&&{has_clip:n.hasClip},...n.hasSnapshot&&{has_snapshot:n.hasSnapshot},...n.favorite&&{favorites:n.favorite},limit:n?.limit??$},l={type:C.Event,engine:p.Frigate,instanceID:i,events:await L(e,g),expiry:v(new Date,{seconds:60}),cached:!1};(a?.useCache??1)&&this._requestCache.set(n,{...l,cached:!0},l.expiry),r.set(o,l)},s=this._buildInstanceToCameraIDMapFromQuery(t,n.cameraIDs);return await Promise.all(Array.from(s.keys()).map((e=>i(e,s.get(e))))),r.size?r:null}async getRecordings(e,t,n,a){const i=new Map,s=async(n,s)=>{const o={...n,cameraIDs:new Set([s])},c=a?.useCache??1?this._requestCache.get(o):null;if(c)return void i.set(o,c);const g=this._getQueryableCameraConfig(t,s);if(!g||!g.frigate.camera_name)return;const l=await(async(e,t,n)=>await r(e,U,{type:"frigate/recordings/summary",instance_id:t,camera:n,timezone:e.config.time_zone},!0))(e,g.frigate.client_id,g.frigate.camera_name);let u=[];for(const e of l??[])for(const t of e.hours){const n=v(e.day,{hours:t.hour}),a=x(n),r=H(n);(!o.start||a>=o.start)&&(!o.end||r<=o.end)&&u.push({cameraID:s,startTime:a,endTime:r,events:t.events})}void 0!==o.limit&&(u=S(u,(e=>e.startTime),"desc").slice(0,o.limit));const m={type:C.Recording,engine:p.Frigate,instanceID:g.frigate.client_id,recordings:u,expiry:v(new Date,{seconds:60}),cached:!1};(a?.useCache??1)&&this._requestCache.set(o,{...m,cached:!0},m.expiry),i.set(o,m)};return await Promise.all(Array.from(n.cameraIDs).map((e=>s(n,e)))),i.size?i:null}async getRecordingSegments(e,t,n,a){const i=new Map,s=async(n,s)=>{const o={...n,cameraIDs:new Set([s])},c=this._getQueryableCameraConfig(t,s);if(!c||!c.frigate.camera_name)return;const g={start:o.start,end:o.end},l=a?.useCache??1?this._recordingSegmentsCache.get(s,g):null;if(l)return void i.set(o,{type:C.RecordingSegments,engine:p.Frigate,instanceID:c.frigate.client_id,segments:l,cached:!0});const u={instance_id:c.frigate.client_id,camera:c.frigate.camera_name,after:Math.floor(o.start.getTime()/1e3),before:Math.floor(o.end.getTime()/1e3)},m=await(async(e,t)=>await r(e,W,{type:"frigate/recordings/get",...t},!0))(e,u);(a?.useCache??1)&&this._recordingSegmentsCache.add(s,g,m),i.set(o,{type:C.RecordingSegments,engine:p.Frigate,instanceID:c.frigate.client_id,segments:m,cached:!1})};return await Promise.all(Array.from(n.cameraIDs).map((e=>s(n,e)))),w((()=>this._throttledSegmentGarbageCollector(e,t))),i.size?i:null}_getCameraIDMatch(e,t,n,a){if(1===t.cameraIDs.size)return[...t.cameraIDs][0];for(const[t,r]of e.getCameraConfigEntries())if(r.frigate.client_id===n&&r.frigate.camera_name===a)return t;return null}generateMediaFromEvents(e,t,n,a){if(!Se.isFrigateEventQueryResults(a))return null;const r=[];for(const e of a.events){const i=this._getCameraIDMatch(t,n,a.instanceID,e.camera);if(!i)continue;const s=this._getQueryableCameraConfig(t,i);if(!s)continue;let o=null;if(n.hasClip||n.hasSnapshot||!e.has_clip&&!e.has_snapshot?n.hasSnapshot&&e.has_snapshot?o="snapshot":n.hasClip&&e.has_clip&&(o="clip"):o=e.has_clip?"clip":"snapshot",!o)continue;const c=Te.createEventViewMedia(o,i,s,e,e.sub_label?this._splitSubLabels(e.sub_label):void 0);c&&r.push(c)}return r}generateMediaFromRecordings(e,t,n,a){if(!Se.isFrigateRecordingQueryResults(a))return null;const r=[];for(const n of a.recordings){const a=this._getQueryableCameraConfig(t,n.cameraID);if(!a)continue;const i=Te.createRecordingViewMedia(n.cameraID,n,a,this.getCameraMetadata(e,a).title);i&&r.push(i)}return r}getQueryResultMaxAge(e){return e.type===b.Event||e.type===b.Recording?60:null}async getMediaSeekTime(e,t,n,a,r){const i=n.getStartTime(),s=n.getEndTime();if(!i||!s||as)return null;const o=n.getCameraID(),c={cameraIDs:new Set([o]),start:i,end:s,type:b.RecordingSegments},g=await this.getRecordingSegments(e,t,c,r);return g?this._getSeekTimeInSegments(i,a,Array.from(g.values())[0].segments):null}_getQueryableCameraConfig(e,t){const n=e.getCameraConfig(t);return!n||V(n)?null:n}_splitSubLabels(e){return e.split(",").map((e=>e.trim()))}async getMediaMetadata(e,t,n,a){const i=new Map;if((a?.useCache??1)&&this._requestCache.has(n)){const e=this._requestCache.get(n);if(e)return i.set(n,e),i}const s=new Set,o=new Set,c=new Set,g=new Set,l=this._buildInstanceToCameraIDMapFromQuery(t,n.cameraIDs),u=async(n,a)=>{const i=this._getFrigateCameraNamesForCameraIDs(t,a);for(const t of await(async(e,t)=>await r(e,k,{type:"frigate/events/summary",instance_id:t,timezone:e.config.time_zone},!0))(e,n))i.has(t.camera)&&(t.label&&s.add(t.label),t.zones.length&&t.zones.forEach(o.add,o),t.day&&c.add(t.day),t.sub_label&&this._splitSubLabels(t.sub_label).forEach(g.add,g))},m=async n=>{const r=await this.getRecordings(e,t,{type:b.Recording,cameraIDs:n},a);if(r)for(const e of r.values())if(Se.isFrigateRecordingQueryResults(e))for(const t of e.recordings)c.add(M(t.startTime))};await D([...l.entries()],(([e,t])=>(async()=>{await Promise.all([u(e,t),m(t)])})()));const d={type:C.MediaMetadata,engine:p.Frigate,metadata:{...s.size&&{what:s},...o.size&&{where:o},...c.size&&{days:c},...g.size&&{tags:g}},expiry:v(new Date,{seconds:60}),cached:!1};return(a?.useCache??1)&&this._requestCache.set(n,{...d,cached:!0},d.expiry),i.set(n,d),i}async _garbageCollectSegments(e,t){const n=this._recordingSegmentsCache.getCameraIDs(),a={cameraIDs:new Set(n),type:b.Recording},r=(e,t)=>`${e}/${t.getDate()}/${t.getHours()}`,i=await this.getRecordings(e,t,a);if(i)for(const[e,t]of i){if(!Se.isFrigateRecordingQueryResults(t))continue;const n=new Set;for(const e of t.recordings)n.add(r(e.cameraID,e.startTime));const a=Array.from(e.cameraIDs)[0];this._recordingSegmentsCache.expireMatches(a,(e=>{const t=r(a,j(e.start_time));return!n.has(t)}))}}_getSeekTimeInSegments(e,t,n){if(!n.length)return null;let a=0;for(const r of n){const n=j(r.start_time);if(n>t)break;const i=j(r.end_time),s=nt?t:i).getTime()-s.getTime()}return a/1e3}getMediaCapabilities(e){return{canFavorite:_.isEvent(e),canDownload:!0}}getCameraMetadata(e,t){const n=super.getCameraMetadata(e,t);return{title:t.title??T(e,t.camera_entity)??T(e,t.webrtc_card?.entity)??d(t.frigate?.camera_name)??t.id??"",icon:n.icon,engineLogo:I}}getCameraEndpoints(e,t){const n=(()=>{if(!e.frigate.url)return null;if(!e.frigate.camera_name)return{endpoint:e.frigate.url};const n=`${e.frigate.url}/cameras/`+e.frigate.camera_name;if("live"===t?.view)return{endpoint:n};const a=`${e.frigate.url}/events?camera=`+e.frigate.camera_name,r=`${e.frigate.url}/recording/`+e.frigate.camera_name;switch(t?.media?.getMediaType()){case"clip":case"snapshot":return{endpoint:a};case"recording":const e=t.media.getStartTime();if(e)return{endpoint:r+F(e,"yyyy-MM-dd/HH")}}switch(t?.view){case"clip":case"clips":case"snapshots":case"snapshot":return{endpoint:a};case"recording":case"recordings":return{endpoint:r}}return{endpoint:n}})(),a=E(e,{url:e.go2rtc?.url??`/api/frigate/${e.frigate.client_id}/mse`,stream:e.go2rtc?.stream??e.frigate.camera_name}),r={endpoint:`/api/frigate/${e.frigate.client_id}/jsmpeg/${e.frigate.camera_name}`,sign:!0},i=(()=>{const t=e.frigate.camera_name?e.frigate.camera_name:null;return t?{endpoint:t}:null})();return{...super.getCameraEndpoints(e,t),...n&&{ui:n},...a&&{go2rtc:a},...r&&{jsmpeg:r},...i&&{webrtcCard:i}}}async executePTZAction(e,t,n,a){const r=t.camera_entity;("preset"!==n||a?.preset)&&await e.callService("frigate","ptz",{entity_id:r,action:"stop"===a?.phase?"stop":"zoom_in"===n||"zoom_out"===n?"zoom":"preset"===n?"preset":"move",..."stop"!==a?.phase&&{argument:"zoom_in"===n?"in":"zoom_out"===n?"out":"preset"===n?a?.preset:n}})}}export{Me as FrigateCameraManagerEngine}; diff --git a/config/www/community/frigate-hass-card/engine-frigate-1cc4bb56.js.gz b/config/www/community/frigate-hass-card/engine-frigate-1cc4bb56.js.gz deleted file mode 100644 index d4334e4b3b3cee4701744a45af2b458ecf2468fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8636 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,e.number().min(0).max(23)),duration:e.number().min(0),events:e.number().min(0)}),Z=e.object({day:e.preprocess((e=>"string"==typeof e?t(e):e),e.date()),events:e.number(),hours:H.array()}).array(),U=e.object({start_time:e.number(),end_time:e.number(),id:e.string()}).array(),P=e.object({success:e.boolean(),message:e.string()}),Q=e.object({camera:e.string(),day:e.string(),label:e.string(),sub_label:e.string().nullable(),zones:e.string().array()}).array();const W=async(e,t)=>await r(e,j,{type:"frigate/events/get",...t},!0);function q(e){i(1,arguments);var t=o(e);return s(1e3*t)}var O={exports:{}},A={exports:{}},L={exports:{}};!function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n=function(e){if(!a[e]){var t=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:"America/New_York",year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date("2014-06-25T04:00:00.123Z")),r="06/25/2014, 00:00:00"===t||"‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00"===t;a[e]=r?new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:e,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:e,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})}return a[e]}(t);return n.formatToParts?function(e,t){try{for(var a=e.formatToParts(t),n=[],i=0;i=0&&(n[s]=parseInt(a[i].value,10))}return n}catch(e){if(e instanceof RangeError)return[NaN];throw e}}(n,e):function(e,t){var r=e.format(t).replace(/\u200E/g,""),a=/(\d+)\/(\d+)\/(\d+),? (\d+):(\d+):(\d+)/.exec(r);return[a[3],a[1],a[2],a[4],a[5],a[6]]}(n,e)};var r={year:0,month:1,day:2,hour:3,minute:4,second:5};var a={};e.exports=t.default}(L,L.exports);var V,k,G={exports:{}};V=G,k=G.exports,Object.defineProperty(k,"__esModule",{value:!0}),k.default=function(e,t,r,a,n,i,s){var o=new Date(0);return o.setUTCFullYear(e,t,r),o.setUTCHours(a,n,i,s),o},V.exports=k.default,function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){var n,l,d;if(!e)return 0;if(n=o.timezoneZ.exec(e))return 0;if(n=o.timezoneHH.exec(e))return u(d=parseInt(n[1],10))?-d*i:NaN;if(n=o.timezoneHHMM.exec(e)){d=parseInt(n[1],10);var m=parseInt(n[2],10);return u(d,m)?(l=Math.abs(d)*i+m*s,d>0?-l:l):NaN}if(function(e){if(g[e])return!0;try{return new Intl.DateTimeFormat(void 0,{timeZone:e}),g[e]=!0,!0}catch(e){return!1}}(e)){t=new Date(t||Date.now());var f=r?t:function(e){return(0,a.default)(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds())}(t),p=c(f,e),h=r?p:function(e,t,r){var a=e.getTime(),n=a-t,i=c(new Date(n),r);if(t===i)return t;n-=i-t;var s=c(new Date(n),r);if(i===s)return i;return Math.max(i,s)}(t,p,e);return-h}return NaN};var r=n(L.exports),a=n(G.exports);function n(e){return e&&e.__esModule?e:{default:e}}var i=36e5,s=6e4,o={timezone:/([Z+-].*)$/,timezoneZ:/^(Z)$/,timezoneHH:/^([+-]\d{2})$/,timezoneHHMM:/^([+-]\d{2}):?(\d{2})$/};function c(e,t){var n=(0,r.default)(e,t),i=(0,a.default)(n[0],n[1]-1,n[2],n[3]%24,n[4],n[5],0).getTime(),s=e.getTime(),o=s%1e3;return i-(s-=o>=0?o:1e3+o)}function u(e,t){return-23<=e&&e<=23&&(null==t||0<=t&&t<=59)}var g={};e.exports=t.default}(A,A.exports);var B={exports:{}},X={exports:{}};!function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if(null===e||!0===e||!1===e)return NaN;var t=Number(e);if(isNaN(t))return t;return t<0?Math.ceil(t):Math.floor(t)},e.exports=t.default}(X,X.exports);var J={exports:{}};!function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.setUTCFullYear(e.getFullYear()),e.getTime()-t.getTime()},e.exports=t.default}(J,J.exports);var K={exports:{}};!function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=/(Z|[+-]\d{2}(?::?\d{2})?| UTC| [a-zA-Z]+\/[a-zA-Z_]+(?:\/[a-zA-Z_]+)?)$/;t.default=r,e.exports=t.default}(K,K.exports),function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");if(null===e)return new Date(NaN);var i=t||{},s=null==i.additionalDigits?u:(0,r.default)(i.additionalDigits);if(2!==s&&1!==s&&0!==s)throw new RangeError("additionalDigits must be 0, 1 or 2");if(e instanceof Date||"object"==typeof e&&"[object Date]"===Object.prototype.toString.call(e))return new Date(e.getTime());if("number"==typeof e||"[object Number]"===Object.prototype.toString.call(e))return new Date(e);if("string"!=typeof e&&"[object String]"!==Object.prototype.toString.call(e))return new Date(NaN);var d=function(e){var t,r={},a=g.dateTimePattern.exec(e);a?(r.date=a[1],t=a[3]):(a=g.datePattern.exec(e))?(r.date=a[1],t=a[2]):(r.date=null,t=e);if(t){var n=g.timeZone.exec(t);n?(r.time=t.replace(n[1],""),r.timeZone=n[1].trim()):r.time=t}return r}(e),m=function(e,t){var r,a=g.YYY[t],n=g.YYYYY[t];if(r=g.YYYY.exec(e)||n.exec(e)){var i=r[1];return{year:parseInt(i,10),restDateString:e.slice(i.length)}}if(r=g.YY.exec(e)||a.exec(e)){var s=r[1];return{year:100*parseInt(s,10),restDateString:e.slice(s.length)}}return{year:null}}(d.date,s),y=m.year,v=function(e,t){if(null===t)return null;var r,a,n,i;if(0===e.length)return(a=new Date(0)).setUTCFullYear(t),a;if(r=g.MM.exec(e))return a=new Date(0),p(t,n=parseInt(r[1],10)-1)?(a.setUTCFullYear(t,n),a):new Date(NaN);if(r=g.DDD.exec(e)){a=new Date(0);var s=parseInt(r[1],10);return function(e,t){if(t<1)return!1;var r=f(e);if(r&&t>366)return!1;if(!r&&t>365)return!1;return!0}(t,s)?(a.setUTCFullYear(t,0,s),a):new Date(NaN)}if(r=g.MMDD.exec(e)){a=new Date(0),n=parseInt(r[1],10)-1;var o=parseInt(r[2],10);return p(t,n,o)?(a.setUTCFullYear(t,n,o),a):new Date(NaN)}if(r=g.Www.exec(e))return h(t,i=parseInt(r[1],10)-1)?l(t,i):new Date(NaN);if(r=g.WwwD.exec(e)){i=parseInt(r[1],10)-1;var c=parseInt(r[2],10)-1;return h(t,i,c)?l(t,i,c):new Date(NaN)}return null}(m.restDateString,y);if(isNaN(v))return new Date(NaN);if(v){var w,b=v.getTime(),C=0;if(d.time&&(C=function(e){var t,r,a;if(t=g.HH.exec(e))return _(r=parseFloat(t[1].replace(",",".")))?r%24*o:NaN;if(t=g.HHMM.exec(e))return _(r=parseInt(t[1],10),a=parseFloat(t[2].replace(",",".")))?r%24*o+a*c:NaN;if(t=g.HHMMSS.exec(e)){r=parseInt(t[1],10),a=parseInt(t[2],10);var n=parseFloat(t[3].replace(",","."));return _(r,a,n)?r%24*o+a*c+1e3*n:NaN}return null}(d.time),isNaN(C)))return new Date(NaN);if(d.timeZone||i.timeZone){if(w=(0,n.default)(d.timeZone||i.timeZone,new Date(b+C)),isNaN(w))return new Date(NaN)}else w=(0,a.default)(new Date(b+C)),w=(0,a.default)(new Date(b+C+w));return new Date(b+C+w)}return new Date(NaN)};var r=s(X.exports),a=s(J.exports),n=s(A.exports),i=s(K.exports);function s(e){return e&&e.__esModule?e:{default:e}}var o=36e5,c=6e4,u=2,g={dateTimePattern:/^([0-9W+-]+)(T| )(.*)/,datePattern:/^([0-9W+-]+)(.*)/,plainTime:/:/,YY:/^(\d{2})$/,YYY:[/^([+-]\d{2})$/,/^([+-]\d{3})$/,/^([+-]\d{4})$/],YYYY:/^(\d{4})/,YYYYY:[/^([+-]\d{4})/,/^([+-]\d{5})/,/^([+-]\d{6})/],MM:/^-(\d{2})$/,DDD:/^-?(\d{3})$/,MMDD:/^-?(\d{2})-?(\d{2})$/,Www:/^-?W(\d{2})$/,WwwD:/^-?W(\d{2})-?(\d{1})$/,HH:/^(\d{2}([.,]\d*)?)$/,HHMM:/^(\d{2}):?(\d{2}([.,]\d*)?)$/,HHMMSS:/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/,timeZone:i.default};function l(e,t,r){t=t||0,r=r||0;var a=new Date(0);a.setUTCFullYear(e,0,4);var n=7*t+r+1-(a.getUTCDay()||7);return a.setUTCDate(a.getUTCDate()+n),a}var d=[31,28,31,30,31,30,31,31,30,31,30,31],m=[31,29,31,30,31,30,31,31,30,31,30,31];function f(e){return e%400==0||e%4==0&&e%100!=0}function p(e,t,r){if(t<0||t>11)return!1;if(null!=r){if(r<1)return!1;var a=f(e);if(a&&r>m[t])return!1;if(!a&&r>d[t])return!1}return!0}function h(e,t,r){return!(t<0||t>52)&&(null==r||!(r<0||r>6))}function _(e,t,r){return(null==e||!(e<0||e>=25))&&((null==t||!(t<0||t>=60))&&(null==r||!(r<0||r>=60)))}e.exports=t.default}(B,B.exports),function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){var i=(0,a.default)(e,n),s=(0,r.default)(t,i,!0),o=new Date(i.getTime()-s),c=new Date(0);return c.setFullYear(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()),c.setHours(o.getUTCHours(),o.getUTCMinutes(),o.getUTCSeconds(),o.getUTCMilliseconds()),c};var r=n(A.exports),a=n(B.exports);function n(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default}(O,O.exports);var ee=E(O.exports);class te extends R{constructor(e,t,r,a,n,i){super(e,t),this._event=r,this._contentID=a,this._thumbnail=n,this._subLabels=i??null}getStartTime(){return q(this._event.start_time)}getEndTime(){return this._event.end_time?q(this._event.end_time):null}inProgress(){return!this.getEndTime()}getVideoContentType(){return Y.HLS}getID(){return this._event.id}getContentID(){return this._contentID}getTitle(){return(e=>{const t=Intl.DateTimeFormat().resolvedOptions().timeZone,r=Math.round(e.end_time?e.end_time-e.start_time:Date.now()/1e3-e.start_time),a=null!==e.top_score?` ${Math.round(100*e.top_score)}%`:"";return`${c(ee(1e3*e.start_time,t))} [${r}s, ${u(e.label)}${a}]`})(this._event)}getThumbnail(){return this._thumbnail}isFavorite(){return this._event.retain_indefinitely??null}setFavorite(e){this._event.retain_indefinitely=e}getWhat(){return[this._event.label]}getWhere(){const e=this._event.zones;return e.length?e:null}getScore(){return this._event.top_score}getTags(){return this._subLabels}isGroupableWith(e){return this.getMediaType()===e.getMediaType()&&g(this.getWhere(),e.getWhere())&&g(this.getWhat(),e.getWhat())}}class re extends R{constructor(e,t,r,a,n,i){super(e,t),this._recording=r,this._id=a,this._contentID=n,this._title=i}getID(){return this._id}getStartTime(){return this._recording.startTime}getEndTime(){return this._recording.endTime}inProgress(){return!this.getEndTime()}getVideoContentType(){return Y.HLS}getContentID(){return this._contentID}getTitle(){return this._title}getEventCount(){return this._recording.events}}class ae{static createEventViewMedia(e,t,r,a,n){return"clip"===e&&!a.has_clip||"snapshot"===e&&!a.has_snapshot||!r.frigate.client_id||!r.frigate.camera_name?null:new te(e,t,a,((e,t,r,a)=>`media-source://frigate/${e}/event/${a}/${t}/${r.id}`)(r.frigate.client_id,r.frigate.camera_name,a,"clip"===e?"clips":"snapshots"),((e,t)=>`/api/frigate/${e}/thumbnail/${t.id}`)(r.frigate.client_id,a),n)}static createRecordingViewMedia(e,t,r,a){return r.frigate.client_id&&r.frigate.camera_name?new re("recording",e,t,((e,t)=>`${e.frigate?.client_id??""}/${e.frigate.camera_name??""}/${t.startTime.getTime()}/${t.endTime.getTime()}`)(r,t),((e,t,r)=>["media-source://frigate",e,"recordings",t,`${r.startTime.getFullYear()}-${String(r.startTime.getMonth()+1).padStart(2,"0")}-${String(String(r.startTime.getDate()).padStart(2,"0"))}`,String(r.startTime.getHours()).padStart(2,"0")].join("/"))(r.frigate.client_id,r.frigate.camera_name,t),((e,t)=>`${e} ${c(t.startTime)}`)(a,t)):null}}class ne{static isFrigateMedia(e){return this.isFrigateEvent(e)||this.isFrigateRecording(e)}static isFrigateEvent(e){return e instanceof te}static isFrigateRecording(e){return e instanceof re}}const ie="birdseye";class se{static isFrigateEventQueryResults(e){return e.engine===m.Frigate&&e.type===w.Event}static isFrigateRecordingQueryResults(e){return e.engine===m.Frigate&&e.type===w.Recording}static isFrigateRecordingSegmentsResults(e){return e.engine===m.Frigate&&e.type===w.RecordingSegments}}class oe extends z{constructor(e,t,r){super(),this._throttledSegmentGarbageCollector=d(this._garbageCollectSegments.bind(this),36e5,{leading:!1,trailing:!0}),this._cardWideConfig=e,this._recordingSegmentsCache=t,this._requestCache=r}getEngineType(){return m.Frigate}async initializeCamera(e,t,r){const a=!!r.frigate?.camera_name,i=r.triggers.motion||r.triggers.occupancy;let s=null;const o=f(r);if(o&&(!a||i))try{s=await t.getEntity(e,o)}catch(e){throw new p(n("error.no_camera_entity"),r)}if(s&&!a){const e=this._getFrigateCameraNameFromEntity(s);e&&(r.frigate.camera_name=e)}if(i){const a=await t.getMatchingEntities(e,(e=>e.config_entry_id===s?.config_entry_id&&!e.disabled_by&&e.entity_id.startsWith("binary_sensor.")));if(r.triggers.motion){const e=this._getMotionSensor(r,[...a.values()]);e&&r.triggers.entities.push(e)}if(r.triggers.occupancy){const e=this._getOccupancySensor(r,[...a.values()]);e&&r.triggers.entities.push(...e)}r.triggers.entities=(c=r.triggers.entities)&&c.length?l(c):[]}var c;return r}_getFrigateCameraNameFromEntity(e){if("frigate"===e.platform&&e.unique_id&&"string"==typeof e.unique_id){const t=e.unique_id.match(/:camera:(?[^:]+)$/);if(t&&t.groups)return t.groups.camera}return null}_getMotionSensor(e,t){return e.frigate.camera_name?t.find((t=>"string"==typeof t.unique_id&&!!t.unique_id?.match(new RegExp(`:motion_sensor:${e.frigate.camera_name}`))))?.entity_id??null:null}_getOccupancySensor(e,t){const r=[],a=(e,a)=>{const n=t.find((t=>"string"==typeof t.unique_id&&!!t.unique_id?.match(new RegExp(`:occupancy_sensor:${e}_${a}`))))?.entity_id??null;n&&r.push(n)};if(e.frigate.camera_name){const t=e.frigate.zones?.length?e.frigate.zones:[e.frigate.camera_name],n=e.frigate.labels?.length?e.frigate.labels:["all"];for(const e of t)for(const t of n)a(e,t);if(r.length)return r}return null}async getMediaDownloadPath(e,t,r){return ne.isFrigateEvent(r)?{endpoint:`/api/frigate/${t.frigate.client_id}/notifications/${r.getID()}/`+(h.isClip(r)?"clip.mp4":"snapshot.jpg")+"?download=true",sign:!0}:ne.isFrigateRecording(r)?{endpoint:`/api/frigate/${t.frigate.client_id}/recording/${t.frigate.camera_name}/start/${Math.floor(r.getStartTime().getTime()/1e3)}/end/${Math.floor(r.getEndTime().getTime()/1e3)}?download=true`,sign:!0}:null}generateDefaultEventQuery(e,t,r){const a=Array.from(t).map((t=>e.get(t))),n=N(a.map((e=>e?.frigate.zones)),g),i=N(a.map((e=>e?.frigate.labels)),g);if(1===n.length&&1===i.length)return[{type:_.Event,cameraIDs:t,...i[0]&&{what:new Set(i[0])},...n[0]&&{where:new Set(n[0])},...r}];const s=[];for(const a of t){const t=e.get(a);t&&s.push({type:_.Event,cameraIDs:new Set([a]),...t.frigate.labels&&{what:new Set(t.frigate.labels)},...t.frigate.zones&&{where:new Set(t.frigate.zones)},...r})}return s.length?s:null}generateDefaultRecordingQuery(e,t,r){return[{type:_.Recording,cameraIDs:t,...r}]}generateDefaultRecordingSegmentsQuery(e,t,r){return r.start&&r.end?[{type:_.RecordingSegments,cameraIDs:t,start:r.start,end:r.end,...r}]:null}async favoriteMedia(e,t,i,s){ne.isFrigateEvent(i)&&(await async function(e,t,i,s){const o={type:"frigate/event/retain",instance_id:t,event_id:i,retain:s},c=await r(e,P,o,!0);if(!c.success)throw new a(n("error.failed_retain"),{request:o,response:c})}(e,t.frigate.client_id,i.getID(),s),i.setFavorite(s))}_buildInstanceToCameraIDMapFromQuery(e,t){const r=new Map;for(const a of t){const t=this._getQueryableCameraConfig(e,a)?.frigate.client_id;t&&(r.has(t)||r.set(t,new Set),r.get(t)?.add(a))}return r}_getFrigateCameraNamesForCameraIDs(e,t){const r=new Set;for(const a of t){const t=this._getQueryableCameraConfig(e,a);t?.frigate.camera_name&&r.add(t.frigate.camera_name)}return r}async getEvents(e,t,r,a){const n=new Map,i=async(i,s)=>{if(!s||!s.size)return;const o={...r,cameraIDs:s},c=a?.useCache??1?this._requestCache.get(o):null;if(c)return void n.set(r,c);const u={instance_id:i,cameras:Array.from(this._getFrigateCameraNamesForCameraIDs(t,s)),...r.what&&{labels:Array.from(r.what)},...r.where&&{zones:Array.from(r.where)},...r.tags&&{sub_labels:Array.from(r.tags)},...r.end&&{before:Math.floor(r.end.getTime()/1e3)},...r.start&&{after:Math.floor(r.start.getTime()/1e3)},...r.limit&&{limit:r.limit},...r.hasClip&&{has_clip:r.hasClip},...r.hasSnapshot&&{has_snapshot:r.hasSnapshot},...r.favorite&&{favorites:r.favorite},limit:r?.limit??$},g={type:w.Event,engine:m.Frigate,instanceID:i,events:await W(e,u),expiry:b(new Date,{seconds:60}),cached:!1};(a?.useCache??1)&&this._requestCache.set(r,{...g,cached:!0},g.expiry),n.set(o,g)},s=this._buildInstanceToCameraIDMapFromQuery(t,r.cameraIDs);return await Promise.all(Array.from(s.keys()).map((e=>i(e,s.get(e))))),n.size?n:null}async getRecordings(e,t,a,n){const i=new Map,s=async(a,s)=>{const o={...a,cameraIDs:new Set([s])},c=n?.useCache??1?this._requestCache.get(o):null;if(c)return void i.set(o,c);const u=this._getQueryableCameraConfig(t,s);if(!u||!u.frigate.camera_name)return;const g=await(async(e,t,a)=>await r(e,Z,{type:"frigate/recordings/summary",instance_id:t,camera:a,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone},!0))(e,u.frigate.client_id,u.frigate.camera_name);let l=[];for(const e of g??[])for(const t of e.hours){const r=b(e.day,{hours:t.hour}),a=T(r),n=M(r);(!o.start||a>=o.start)&&(!o.end||n<=o.end)&&l.push({cameraID:s,startTime:a,endTime:n,events:t.events})}void 0!==o.limit&&(l=S(l,(e=>e.startTime),"desc").slice(0,o.limit));const d={type:w.Recording,engine:m.Frigate,instanceID:u.frigate.client_id,recordings:l,expiry:b(new Date,{seconds:60}),cached:!1};(n?.useCache??1)&&this._requestCache.set(o,{...d,cached:!0},d.expiry),i.set(o,d)};return await Promise.all(Array.from(a.cameraIDs).map((e=>s(a,e)))),i.size?i:null}async getRecordingSegments(e,t,a,n){const i=new Map,s=async(a,s)=>{const o={...a,cameraIDs:new Set([s])},c=this._getQueryableCameraConfig(t,s);if(!c||!c.frigate.camera_name)return;const u={start:o.start,end:o.end},g=n?.useCache??1?this._recordingSegmentsCache.get(s,u):null;if(g)return void i.set(o,{type:w.RecordingSegments,engine:m.Frigate,instanceID:c.frigate.client_id,segments:g,cached:!0});const l={instance_id:c.frigate.client_id,camera:c.frigate.camera_name,after:Math.floor(o.start.getTime()/1e3),before:Math.floor(o.end.getTime()/1e3)},d=await(async(e,t)=>await r(e,U,{type:"frigate/recordings/get",...t},!0))(e,l);(n?.useCache??1)&&this._recordingSegmentsCache.add(s,u,d),i.set(o,{type:w.RecordingSegments,engine:m.Frigate,instanceID:c.frigate.client_id,segments:d,cached:!1})};return await Promise.all(Array.from(a.cameraIDs).map((e=>s(a,e)))),y((()=>this._throttledSegmentGarbageCollector(e,t))),i.size?i:null}_getCameraIDMatch(e,t,r,a){if(1===t.cameraIDs.size)return[...t.cameraIDs][0];for(const[t,n]of e.entries())if(n.frigate.client_id===r&&n.frigate.camera_name===a)return t;return null}generateMediaFromEvents(e,t,r,a){if(!se.isFrigateEventQueryResults(a))return null;const n=[];for(const e of a.events){const i=this._getCameraIDMatch(t,r,a.instanceID,e.camera);if(!i)continue;const s=this._getQueryableCameraConfig(t,i);if(!s)continue;let o=null;if(r.hasClip||r.hasSnapshot||!e.has_clip&&!e.has_snapshot?r.hasSnapshot&&e.has_snapshot?o="snapshot":r.hasClip&&e.has_clip&&(o="clip"):o=e.has_clip?"clip":"snapshot",!o)continue;const c=ae.createEventViewMedia(o,i,s,e,e.sub_label?this._splitSubLabels(e.sub_label):void 0);c&&n.push(c)}return n}generateMediaFromRecordings(e,t,r,a){if(!se.isFrigateRecordingQueryResults(a))return null;const n=[];for(const r of a.recordings){const a=this._getQueryableCameraConfig(t,r.cameraID);if(!a)continue;const i=ae.createRecordingViewMedia(r.cameraID,r,a,this.getCameraMetadata(e,a).title);i&&n.push(i)}return n}getQueryResultMaxAge(e){return e.type===_.Event||e.type===_.Recording?60:null}async getMediaSeekTime(e,t,r,a,n){const i=r.getStartTime(),s=r.getEndTime();if(!i||!s||as)return null;const o=r.getCameraID(),c={cameraIDs:new Set([o]),start:i,end:s,type:_.RecordingSegments},u=await this.getRecordingSegments(e,t,c,n);return u?this._getSeekTimeInSegments(i,a,Array.from(u.values())[0].segments):null}_getQueryableCameraConfig(e,t){const r=e.get(t);return r&&r.frigate.camera_name!=ie?r:null}_splitSubLabels(e){return e.split(",").map((e=>e.trim()))}async getMediaMetadata(e,t,a,n){const i=new Map;if((n?.useCache??1)&&this._requestCache.has(a)){const e=this._requestCache.get(a);if(e)return i.set(a,e),i}const s=new Set,o=new Set,c=new Set,u=new Set,g=this._buildInstanceToCameraIDMapFromQuery(t,a.cameraIDs),l=async(a,n)=>{const i=this._getFrigateCameraNamesForCameraIDs(t,n);for(const t of await(async(e,t)=>await r(e,Q,{type:"frigate/events/summary",instance_id:t,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone},!0))(e,a))i.has(t.camera)&&(t.label&&s.add(t.label),t.zones.length&&t.zones.forEach(o.add,o),t.day&&c.add(t.day),t.sub_label&&this._splitSubLabels(t.sub_label).forEach(u.add,u))},d=async r=>{const a=await this.getRecordings(e,t,{type:_.Recording,cameraIDs:r},n);if(a)for(const e of a.values())if(se.isFrigateRecordingQueryResults(e))for(const t of e.recordings)c.add(F(t.startTime))};await v([...g.entries()],(([e,t])=>(async()=>{await Promise.all([l(e,t),d(t)])})()));const f={type:w.MediaMetadata,engine:m.Frigate,metadata:{...s.size&&{what:s},...o.size&&{where:o},...c.size&&{days:c},...u.size&&{tags:u}},expiry:b(new Date,{seconds:60}),cached:!1};return(n?.useCache??1)&&this._requestCache.set(a,{...f,cached:!0},f.expiry),i.set(a,f),i}async _garbageCollectSegments(e,t){const r=this._recordingSegmentsCache.getCameraIDs(),a={cameraIDs:new Set(r),type:_.Recording},n=()=>I(r.map((e=>this._recordingSegmentsCache.getSize(e)??0))),i=n(),s=(e,t)=>`${e}/${t.getDate()}/${t.getHours()}`,o=await this.getRecordings(e,t,a);if(o){for(const[e,t]of o){if(!se.isFrigateRecordingQueryResults(t))continue;const r=new Set;for(const e of t.recordings)r.add(s(e.cameraID,e.startTime));const a=Array.from(e.cameraIDs)[0];this._recordingSegmentsCache.expireMatches(a,(e=>{const t=s(a,q(e.start_time));return!r.has(t)}))}C(this._cardWideConfig,`Frigate Card recording segment garbage collection: Released ${i-n()} segment(s)`)}}_getSeekTimeInSegments(e,t,r){if(!r.length)return null;let a=0;for(const n of r){const r=q(n.start_time);if(r>t)break;const i=q(n.end_time),s=rt?t:i).getTime()-s.getTime()}return a/1e3}getCameraCapabilities(e){const t=e.frigate.camera_name===ie;return{canFavoriteEvents:!t,canFavoriteRecordings:!t,canSeek:!0,supportsClips:!t,supportsSnapshots:!t,supportsRecordings:!t,supportsTimeline:!t}}getMediaCapabilities(e){return{canFavorite:h.isEvent(e),canDownload:!0}}getCameraMetadata(e,t){const r=super.getCameraMetadata(e,t);return{title:t.title??D(e,t.camera_entity)??D(e,t.webrtc_card?.entity)??u(t.frigate?.camera_name)??t.id??"",icon:r.icon,engineLogo:"data:image/svg+xml,%3csvg width='512' height='512' viewBox='0 0 512 512' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M130 446.5C131.6 459.3 145 468 137 470C129 472 94 406.5 86 378.5C78 350.5 73.5 319 75.4999 301C77.4999 283 181 255 181 247.5C181 240 147.5 247 146 241C144.5 235 171.3 238.6 178.5 229C189.75 214 204 216.5 213 208.5C222 200.5 233 170 235 157C237 144 215 129 209 119C203 109 222 102 268 83C314 64 460 22 462 27C464 32 414 53 379 66C344 79 287 104 287 111C287 118 290 123.5 288 139.5C286 155.5 285.76 162.971 282 173.5C279.5 180.5 277 197 282 212C286 224 299 233 305 235C310 235.333 323.8 235.8 339 235C358 234 385 236 385 241C385 246 344 243 344 250C344 257 386 249 385 256C384 263 350 260 332 260C317.6 260 296.333 259.333 287 256L285 263C281.667 263 274.7 265 267.5 265C258.5 265 258 268 241.5 268C225 268 230 267 215 266C200 265 144 308 134 322C124 336 130 370 130 385.5C130 399.428 128 430.5 130 446.5Z' fill='white'/%3e%3c/svg%3e"}}getCameraEndpoints(e,t){const r=(()=>{if(!e.frigate.url)return null;if(!e.frigate.camera_name)return{endpoint:e.frigate.url};const r=`${e.frigate.url}/cameras/`+e.frigate.camera_name;if("live"===t?.view)return{endpoint:r};const a=`${e.frigate.url}/events?camera=`+e.frigate.camera_name,n=`${e.frigate.url}/recording/`+e.frigate.camera_name;switch(t?.media?.getMediaType()){case"clip":case"snapshot":return{endpoint:a};case"recording":const e=t.media.getStartTime();if(e)return{endpoint:n+x(e,"yyyy-MM-dd/HH")}}switch(t?.view){case"clip":case"clips":case"snapshots":case"snapshot":return{endpoint:a};case"recording":case"recordings":return{endpoint:n}}return{endpoint:r}})(),a={endpoint:`/api/frigate/${e.frigate.client_id}/mse/api/ws?src=${e.go2rtc?.stream??e.frigate.camera_name}`,sign:!0},n={endpoint:`/api/frigate/${e.frigate.client_id}/jsmpeg/${e.frigate.camera_name}`,sign:!0},i=(()=>{const t=e.frigate.camera_name?e.frigate.camera_name:null;return t?{endpoint:t}:null})();return{...r&&{ui:r},...a&&{go2rtc:a},...n&&{jsmpeg:n},...i&&{webrtcCard:i}}}}export{oe as FrigateCameraManagerEngine}; diff --git a/config/www/community/frigate-hass-card/engine-frigate-2c5e3aa9.js.gz b/config/www/community/frigate-hass-card/engine-frigate-2c5e3aa9.js.gz deleted file mode 100644 index 6df4c649558ae2b153e0efadee4ab2d5cb650bd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8365 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 z46r{e5fCak)Number(e)),n.number().min(0).max(23)),duration:n.number().min(0),events:n.number().min(0)}),U=n.object({day:n.preprocess((e=>"string"==typeof e?a(e):e),n.date()),events:n.number(),hours:q.array()}).array(),W=n.object({start_time:n.number(),end_time:n.number(),id:n.string()}).array(),Q=n.object({success:n.boolean(),message:n.string()}),k=n.object({camera:n.string(),day:n.string(),label:n.string(),sub_label:n.string().nullable(),zones:n.string().array()}).array(),P=n.object({name:n.string().optional(),features:n.string().array().optional(),presets:n.string().array().optional()}),A=n.object({camera:n.string(),snapshot:n.object({frame_time:n.number()}).nullable(),has_clip:n.boolean(),has_snapshot:n.boolean(),label:n.string(),current_zones:n.string().array()}),O=n.object({before:A,after:A,type:n.enum(["new","update","end"])});const L=async(e,t)=>await r(e,Z,{type:"frigate/events/get",...t},!0),V=e=>"birdseye"===e.frigate.camera_name;class G extends z{constructor(e,t,n){super(e,t,n),this._frigateEventHandler=e=>{const t=!e.before.has_snapshot&&e.after.has_snapshot||e.before.snapshot?.frame_time!==e.after.snapshot?.frame_time,n=!e.before.has_clip&&e.after.has_clip,a=this.getConfig();if(a.frigate.zones?.length&&!a.frigate.zones.some((t=>e.after.current_zones.includes(t)))||a.frigate.labels?.length&&!a.frigate.labels.includes(e.after.label))return;const r=a.triggers.events;(r.includes("events")||r.includes("snapshots")&&t||r.includes("clips")&&n)&&this._eventCallback?.({fidelity:"high",cameraID:this.getID(),type:e.type,clip:n&&r.includes("clips"),snapshot:t&&r.includes("snapshots")})}}async initialize(e){return await this._initializeConfig(e.hass,e.entityRegistryManager),await this._initializeCapabilities(e.hass),await this._subscribeToEvents(e.hass,e.frigateEventWatcher),await super.initialize(e)}async _initializeConfig(e,n){const a=this.getConfig(),r=!!a.frigate?.camera_name,i=a.triggers.motion||a.triggers.occupancy;let g=null;const l=o(a);if(l&&(!r||i)&&(g=await n.getEntity(e,l),!g))throw new c(s("error.no_camera_entity"),a);if(g&&!r){const e=this._getFrigateCameraNameFromEntity(g);e&&(this._config.frigate.camera_name=e)}if(i){const r=await n.getMatchingEntities(e,(e=>e.config_entry_id===g?.config_entry_id&&!e.disabled_by&&e.entity_id.startsWith("binary_sensor.")));if(a.triggers.motion){const e=this._getMotionSensor(a,[...r.values()]);e&&a.triggers.entities.push(e)}if(a.triggers.occupancy){const e=this._getOccupancySensor(a,[...r.values()]);e&&a.triggers.entities.push(...e)}a.triggers.entities=(u=a.triggers.entities)&&u.length?t(u):[]}var u}async _initializeCapabilities(e){const t=this.getConfig(),n=g(this.getConfig()),a=await this._getPTZCapabilities(e,t),r=n||a?{...a,...n}:null,i=V(t);this._capabilities=new l({"favorite-events":!i,"favorite-recordings":!1,seek:!i,clips:!i,snapshots:!i,recordings:!i,live:!0,menu:!0,substream:!0,...r&&{ptz:r}},{disable:t.capabilities?.disable,disableExcept:t.capabilities?.disable_except})}_getFrigateCameraNameFromEntity(e){if("frigate"===e.platform&&e.unique_id&&"string"==typeof e.unique_id){const t=e.unique_id.match(/:camera:(?[^:]+)$/);if(t&&t.groups)return t.groups.camera}return null}async _getPTZCapabilities(e,t){if(!t.frigate.camera_name||V(t))return null;let n=null;try{n=await(async(e,t,n)=>await r(e,P,{type:"frigate/ptz/info",instance_id:t,camera:n},!0))(e,t.frigate.client_id,t.frigate.camera_name)}catch(e){return u(e),null}const a=[...n.features?.includes("pt")?["continuous"]:[]],i=[...n.features?.includes("zoom")?["continuous"]:[]],s=n.presets;return a.length||i.length||s?.length?{...a&&{left:a,right:a,up:a,down:a},...i&&{zoomIn:i,zoomOut:i},...s&&{presets:s}}:null}_getMotionSensor(e,t){return e.frigate.camera_name?t.find((t=>"string"==typeof t.unique_id&&!!t.unique_id?.match(new RegExp(`:motion_sensor:${e.frigate.camera_name}`))))?.entity_id??null:null}_getOccupancySensor(e,t){const n=[],a=(e,a)=>{const r=t.find((t=>"string"==typeof t.unique_id&&!!t.unique_id?.match(new RegExp(`:occupancy_sensor:${e}_${a}`))))?.entity_id??null;r&&n.push(r)};if(e.frigate.camera_name){const t=e.frigate.zones?.length?e.frigate.zones:[e.frigate.camera_name],r=e.frigate.labels?.length?e.frigate.labels:["all"];for(const e of t)for(const t of r)a(e,t);if(n.length)return n}return null}async _subscribeToEvents(e,t){const n=this.getConfig();if(!n.triggers.events.length||!n.frigate.camera_name)return; -/* istanbul ignore next -- exercising the matcher is not possible when the - test uses an event watcher -- @preserve */const a={instanceID:n.frigate.client_id,callback:e=>this._frigateEventHandler(e),matcher:e=>e.after.camera===n.frigate.camera_name};await t.subscribe(e,a),this._onDestroy((()=>t.unsubscribe(a)))}}class J{constructor(){this._requests=[],this._unsubscribeCallback={}}async subscribe(e,t){const n=!this._hasSubscribers(t.instanceID);this._requests.push(t),n&&(this._unsubscribeCallback[t.instanceID]=await e.connection.subscribeMessage((e=>this._receiveHandler(t.instanceID,e)),{type:"frigate/events/subscribe",instance_id:t.instanceID}))}async unsubscribe(e){this._requests=this._requests.filter((t=>t!==e)),this._hasSubscribers(e.instanceID)||(await this._unsubscribeCallback[e.instanceID](),delete this._unsubscribeCallback[e.instanceID])}_hasSubscribers(e){return!!this._requests.filter((t=>t.instanceID===e)).length}_receiveHandler(e,t){let n;try{n=JSON.parse(t)}catch(e){return void console.warn("Received non-JSON payload as Frigate event",t)}const a=O.safeParse(n);if(a.success)for(const t of this._requests)t.instanceID!==e||t.matcher&&!t.matcher(a.data)||t.callback(a.data);else console.warn("Received malformed Frigate event from Home Assistant",t)}}function B(e,t){const n=function(e){if(!X[e]){const t=new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:"America/New_York",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date("2014-06-25T04:00:00.123Z")),n="06/25/2014, 00:00:00"===t||"‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00"===t;X[e]=n?new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:e,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:e,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})}return X[e]}(t);return"formatToParts"in n?function(e,t){try{const n=e.formatToParts(t),a=[];for(let e=0;e=0?i:1e3+i,a-r}function se(e,t){return-23<=e&&e<=23&&(null==t||0<=t&&t<=59)}const oe={};function ce(e){const t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.setUTCFullYear(e.getFullYear()),+e-+t}const ge=36e5,le=6e4,ue=2,me={dateTimePattern:/^([0-9W+-]+)(T| )(.*)/,datePattern:/^([0-9W+-]+)(.*)/,plainTime:/:/,YY:/^(\d{2})$/,YYY:[/^([+-]\d{2})$/,/^([+-]\d{3})$/,/^([+-]\d{4})$/],YYYY:/^(\d{4})/,YYYYY:[/^([+-]\d{4})/,/^([+-]\d{5})/,/^([+-]\d{6})/],MM:/^-(\d{2})$/,DDD:/^-?(\d{3})$/,MMDD:/^-?(\d{2})-?(\d{2})$/,Www:/^-?W(\d{2})$/,WwwD:/^-?W(\d{2})-?(\d{1})$/,HH:/^(\d{2}([.,]\d*)?)$/,HHMM:/^(\d{2}):?(\d{2}([.,]\d*)?)$/,HHMMSS:/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/,timeZone:/(Z|[+-]\d{2}(?::?\d{2})?| UTC| [a-zA-Z]+\/[a-zA-Z_]+(?:\/[a-zA-Z_]+)?)$/};function de(e,t={}){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");if(null===e)return new Date(NaN);const n=null==t.additionalDigits?ue:Number(t.additionalDigits);if(2!==n&&1!==n&&0!==n)throw new RangeError("additionalDigits must be 0, 1 or 2");if(e instanceof Date||"object"==typeof e&&"[object Date]"===Object.prototype.toString.call(e))return new Date(e.getTime());if("number"==typeof e||"[object Number]"===Object.prototype.toString.call(e))return new Date(e);if("[object String]"!==Object.prototype.toString.call(e))return new Date(NaN);const a=function(e){const t={};let n,a=me.dateTimePattern.exec(e);a?(t.date=a[1],n=a[3]):(a=me.datePattern.exec(e),a?(t.date=a[1],n=a[2]):(t.date=null,n=e));if(n){const e=me.timeZone.exec(n);e?(t.time=n.replace(e[1],""),t.timeZone=e[1].trim()):t.time=n}return t}(e),{year:r,restDateString:i}=function(e,t){if(e){const n=me.YYY[t],a=me.YYYYY[t];let r=me.YYYY.exec(e)||a.exec(e);if(r){const t=r[1];return{year:parseInt(t,10),restDateString:e.slice(t.length)}}if(r=me.YY.exec(e)||n.exec(e),r){const t=r[1];return{year:100*parseInt(t,10),restDateString:e.slice(t.length)}}}return{year:null}}(a.date,n),s=function(e,t){if(null===t)return null;let n,a,r;if(!e||!e.length)return n=new Date(0),n.setUTCFullYear(t),n;let i=me.MM.exec(e);if(i)return n=new Date(0),a=parseInt(i[1],10)-1,ye(t,a)?(n.setUTCFullYear(t,a),n):new Date(NaN);if(i=me.DDD.exec(e),i){n=new Date(0);const e=parseInt(i[1],10);return function(e,t){if(t<1)return!1;const n=_e(e);if(n&&t>366)return!1;if(!n&&t>365)return!1;return!0}(t,e)?(n.setUTCFullYear(t,0,e),n):new Date(NaN)}if(i=me.MMDD.exec(e),i){n=new Date(0),a=parseInt(i[1],10)-1;const e=parseInt(i[2],10);return ye(t,a,e)?(n.setUTCFullYear(t,a,e),n):new Date(NaN)}if(i=me.Www.exec(e),i)return r=parseInt(i[1],10)-1,be(r)?fe(t,r):new Date(NaN);if(i=me.WwwD.exec(e),i){r=parseInt(i[1],10)-1;const e=parseInt(i[2],10)-1;return be(r,e)?fe(t,r,e):new Date(NaN)}return null}(i,r);if(null===s||isNaN(s.getTime()))return new Date(NaN);if(s){const e=s.getTime();let n,r=0;if(a.time&&(r=function(e){let t,n,a=me.HH.exec(e);if(a)return t=parseFloat(a[1].replace(",",".")),we(t)?t%24*ge:NaN;if(a=me.HHMM.exec(e),a)return t=parseInt(a[1],10),n=parseFloat(a[2].replace(",",".")),we(t,n)?t%24*ge+n*le:NaN;if(a=me.HHMMSS.exec(e),a){t=parseInt(a[1],10),n=parseInt(a[2],10);const e=parseFloat(a[3].replace(",","."));return we(t,n,e)?t%24*ge+n*le+1e3*e:NaN}return null}(a.time),null===r||isNaN(r)))return new Date(NaN);if(a.timeZone||t.timeZone){if(n=re(a.timeZone||t.timeZone,new Date(e+r)),isNaN(n))return new Date(NaN)}else n=ce(new Date(e+r)),n=ce(new Date(e+r+n));return new Date(e+r+n)}return new Date(NaN)}function fe(e,t,n){t=t||0,n=n||0;const a=new Date(0);a.setUTCFullYear(e,0,4);const r=7*t+n+1-(a.getUTCDay()||7);return a.setUTCDate(a.getUTCDate()+r),a}const he=[31,28,31,30,31,30,31,31,30,31,30,31],pe=[31,29,31,30,31,30,31,31,30,31,30,31];function _e(e){return e%400==0||e%4==0&&e%100!=0}function ye(e,t,n){if(t<0||t>11)return!1;if(null!=n){if(n<1)return!1;const a=_e(e);if(a&&n>pe[t])return!1;if(!a&&n>he[t])return!1}return!0}function be(e,t){return!(e<0||e>52)&&(null==t||!(t<0||t>6))}function we(e,t,n){return!(e<0||e>=25)&&((null==t||!(t<0||t>=60))&&(null==n||!(n<0||n>=60)))}const De=e=>{const t=Intl.DateTimeFormat().resolvedOptions().timeZone,n=Math.round(e.end_time?e.end_time-e.start_time:Date.now()/1e3-e.start_time),a=null!==e.top_score?` ${Math.round(100*e.top_score)}%`:"";return`${m(function(e,t,n){const a=re(t,e=de(e,n),!0),r=new Date(e.getTime()-a),i=new Date(0);return i.setFullYear(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate()),i.setHours(r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()),i}(1e3*e.start_time,t))} [${n}s, ${d(e.label)}${a}]`};class Ce extends R{constructor(e,t,n,a,r,i){super(e,t),this._event=n,this._contentID=a,this._thumbnail=r,this._subLabels=i??null}getStartTime(){return j(this._event.start_time)}getEndTime(){return this._event.end_time?j(this._event.end_time):null}inProgress(){return!this.getEndTime()}getVideoContentType(){return Y.HLS}getID(){return this._event.id}getContentID(){return this._contentID}getTitle(){return De(this._event)}getThumbnail(){return this._thumbnail}isFavorite(){return this._event.retain_indefinitely??null}setFavorite(e){this._event.retain_indefinitely=e}getWhat(){return[this._event.label]}getWhere(){const e=this._event.zones;return e.length?e:null}getScore(){return this._event.top_score}getTags(){return this._subLabels}isGroupableWith(e){return this.getMediaType()===e.getMediaType()&&f(this.getWhere(),e.getWhere())&&f(this.getWhat(),e.getWhat())}}class ve extends R{constructor(e,t,n,a,r,i){super(e,t),this._recording=n,this._id=a,this._contentID=r,this._title=i}getID(){return this._id}getStartTime(){return this._recording.startTime}getEndTime(){return this._recording.endTime}inProgress(){return!this.getEndTime()}getVideoContentType(){return Y.HLS}getContentID(){return this._contentID}getTitle(){return this._title}getEventCount(){return this._recording.events}}class Te{static createEventViewMedia(e,t,n,a,r){return"clip"===e&&!a.has_clip||"snapshot"===e&&!a.has_snapshot||!n.frigate.client_id||!n.frigate.camera_name?null:new Ce(e,t,a,((e,t,n,a)=>`media-source://frigate/${e}/event/${a}/${t}/${n.id}`)(n.frigate.client_id,n.frigate.camera_name,a,"clip"===e?"clips":"snapshots"),((e,t)=>`/api/frigate/${e}/thumbnail/${t.id}`)(n.frigate.client_id,a),r)}static createRecordingViewMedia(e,t,n,a){return n.frigate.client_id&&n.frigate.camera_name?new ve("recording",e,t,((e,t)=>`${e.frigate?.client_id??""}/${e.frigate.camera_name??""}/${t.startTime.getTime()}/${t.endTime.getTime()}`)(n,t),((e,t,n)=>["media-source://frigate",e,"recordings",t,`${n.startTime.getFullYear()}-${String(n.startTime.getMonth()+1).padStart(2,"0")}-${String(String(n.startTime.getDate()).padStart(2,"0"))}`,String(n.startTime.getHours()).padStart(2,"0")].join("/"))(n.frigate.client_id,n.frigate.camera_name,t),((e,t)=>`${e} ${m(t.startTime)}`)(a,t)):null}}class Ie{static isFrigateMedia(e){return this.isFrigateEvent(e)||this.isFrigateRecording(e)}static isFrigateEvent(e){return e instanceof Ce}static isFrigateRecording(e){return e instanceof ve}}class Se{static isFrigateEventQueryResults(e){return e.engine===p.Frigate&&e.type===C.Event}static isFrigateRecordingQueryResults(e){return e.engine===p.Frigate&&e.type===C.Recording}static isFrigateRecordingSegmentsResults(e){return e.engine===p.Frigate&&e.type===C.RecordingSegments}}class Me extends N{constructor(e,t,n,a,r){super(t,r),this._throttledSegmentGarbageCollector=h(this._garbageCollectSegments.bind(this),36e5,{leading:!1,trailing:!0}),this._entityRegistryManager=e,this._frigateEventWatcher=new J,this._recordingSegmentsCache=n,this._requestCache=a}getEngineType(){return p.Frigate}async createCamera(e,t){const n=new G(t,this,{eventCallback:this._eventCallback});return await n.initialize({hass:e,entityRegistryManager:this._entityRegistryManager,stateWatcher:this._stateWatcher,frigateEventWatcher:this._frigateEventWatcher})}async getMediaDownloadPath(e,t,n){return Ie.isFrigateEvent(n)?{endpoint:`/api/frigate/${t.frigate.client_id}/notifications/${n.getID()}/`+(_.isClip(n)?"clip.mp4":"snapshot.jpg")+"?download=true",sign:!0}:Ie.isFrigateRecording(n)?{endpoint:`/api/frigate/${t.frigate.client_id}/recording/${t.frigate.camera_name}/start/${Math.floor(n.getStartTime().getTime()/1e3)}/end/${Math.floor(n.getEndTime().getTime()/1e3)}?download=true`,sign:!0}:null}generateDefaultEventQuery(e,t,n){const a=[...e.getCameraConfigs(t)],r=y(a.map((e=>e?.frigate.zones)),f),i=y(a.map((e=>e?.frigate.labels)),f);if(1===r.length&&1===i.length)return[{type:b.Event,cameraIDs:t,...i[0]&&{what:new Set(i[0])},...r[0]&&{where:new Set(r[0])},...n}];const s=[];for(const a of t){const t=e.getCameraConfig(a);t&&s.push({type:b.Event,cameraIDs:new Set([a]),...t.frigate.labels&&{what:new Set(t.frigate.labels)},...t.frigate.zones&&{where:new Set(t.frigate.zones)},...n})}return s.length?s:null}generateDefaultRecordingQuery(e,t,n){return[{type:b.Recording,cameraIDs:t,...n}]}generateDefaultRecordingSegmentsQuery(e,t,n){return n.start&&n.end?[{type:b.RecordingSegments,cameraIDs:t,start:n.start,end:n.end,...n}]:null}async favoriteMedia(e,t,n,a){Ie.isFrigateEvent(n)&&(await async function(e,t,n,a){const o={type:"frigate/event/retain",instance_id:t,event_id:n,retain:a},c=await r(e,Q,o,!0);if(!c.success)throw new i(s("error.failed_retain"),{request:o,response:c})}(e,t.frigate.client_id,n.getID(),a),n.setFavorite(a))}_buildInstanceToCameraIDMapFromQuery(e,t){const n=new Map;for(const a of t){const t=this._getQueryableCameraConfig(e,a),r=t?.frigate.client_id;r&&(n.has(r)||n.set(r,new Set),n.get(r)?.add(a))}return n}_getFrigateCameraNamesForCameraIDs(e,t){const n=new Set;for(const a of t){const t=this._getQueryableCameraConfig(e,a);t?.frigate.camera_name&&n.add(t.frigate.camera_name)}return n}async getEvents(e,t,n,a){const r=new Map,i=async(i,s)=>{if(!s||!s.size)return;const o={...n,cameraIDs:s},c=a?.useCache??1?this._requestCache.get(o):null;if(c)return void r.set(n,c);const g={instance_id:i,cameras:Array.from(this._getFrigateCameraNamesForCameraIDs(t,s)),...n.what&&{labels:Array.from(n.what)},...n.where&&{zones:Array.from(n.where)},...n.tags&&{sub_labels:Array.from(n.tags)},...n.end&&{before:Math.floor(n.end.getTime()/1e3)},...n.start&&{after:Math.floor(n.start.getTime()/1e3)},...n.limit&&{limit:n.limit},...n.hasClip&&{has_clip:n.hasClip},...n.hasSnapshot&&{has_snapshot:n.hasSnapshot},...n.favorite&&{favorites:n.favorite},limit:n?.limit??$},l={type:C.Event,engine:p.Frigate,instanceID:i,events:await L(e,g),expiry:v(new Date,{seconds:60}),cached:!1};(a?.useCache??1)&&this._requestCache.set(n,{...l,cached:!0},l.expiry),r.set(o,l)},s=this._buildInstanceToCameraIDMapFromQuery(t,n.cameraIDs);return await Promise.all(Array.from(s.keys()).map((e=>i(e,s.get(e))))),r.size?r:null}async getRecordings(e,t,n,a){const i=new Map,s=async(n,s)=>{const o={...n,cameraIDs:new Set([s])},c=a?.useCache??1?this._requestCache.get(o):null;if(c)return void i.set(o,c);const g=this._getQueryableCameraConfig(t,s);if(!g||!g.frigate.camera_name)return;const l=await(async(e,t,n)=>await r(e,U,{type:"frigate/recordings/summary",instance_id:t,camera:n,timezone:e.config.time_zone},!0))(e,g.frigate.client_id,g.frigate.camera_name);let u=[];for(const e of l??[])for(const t of e.hours){const n=v(e.day,{hours:t.hour}),a=x(n),r=H(n);(!o.start||a>=o.start)&&(!o.end||r<=o.end)&&u.push({cameraID:s,startTime:a,endTime:r,events:t.events})}void 0!==o.limit&&(u=S(u,(e=>e.startTime),"desc").slice(0,o.limit));const m={type:C.Recording,engine:p.Frigate,instanceID:g.frigate.client_id,recordings:u,expiry:v(new Date,{seconds:60}),cached:!1};(a?.useCache??1)&&this._requestCache.set(o,{...m,cached:!0},m.expiry),i.set(o,m)};return await Promise.all(Array.from(n.cameraIDs).map((e=>s(n,e)))),i.size?i:null}async getRecordingSegments(e,t,n,a){const i=new Map,s=async(n,s)=>{const o={...n,cameraIDs:new Set([s])},c=this._getQueryableCameraConfig(t,s);if(!c||!c.frigate.camera_name)return;const g={start:o.start,end:o.end},l=a?.useCache??1?this._recordingSegmentsCache.get(s,g):null;if(l)return void i.set(o,{type:C.RecordingSegments,engine:p.Frigate,instanceID:c.frigate.client_id,segments:l,cached:!0});const u={instance_id:c.frigate.client_id,camera:c.frigate.camera_name,after:Math.floor(o.start.getTime()/1e3),before:Math.floor(o.end.getTime()/1e3)},m=await(async(e,t)=>await r(e,W,{type:"frigate/recordings/get",...t},!0))(e,u);(a?.useCache??1)&&this._recordingSegmentsCache.add(s,g,m),i.set(o,{type:C.RecordingSegments,engine:p.Frigate,instanceID:c.frigate.client_id,segments:m,cached:!1})};return await Promise.all(Array.from(n.cameraIDs).map((e=>s(n,e)))),w((()=>this._throttledSegmentGarbageCollector(e,t))),i.size?i:null}_getCameraIDMatch(e,t,n,a){if(1===t.cameraIDs.size)return[...t.cameraIDs][0];for(const[t,r]of e.getCameraConfigEntries())if(r.frigate.client_id===n&&r.frigate.camera_name===a)return t;return null}generateMediaFromEvents(e,t,n,a){if(!Se.isFrigateEventQueryResults(a))return null;const r=[];for(const e of a.events){const i=this._getCameraIDMatch(t,n,a.instanceID,e.camera);if(!i)continue;const s=this._getQueryableCameraConfig(t,i);if(!s)continue;let o=null;if(n.hasClip||n.hasSnapshot||!e.has_clip&&!e.has_snapshot?n.hasSnapshot&&e.has_snapshot?o="snapshot":n.hasClip&&e.has_clip&&(o="clip"):o=e.has_clip?"clip":"snapshot",!o)continue;const c=Te.createEventViewMedia(o,i,s,e,e.sub_label?this._splitSubLabels(e.sub_label):void 0);c&&r.push(c)}return r}generateMediaFromRecordings(e,t,n,a){if(!Se.isFrigateRecordingQueryResults(a))return null;const r=[];for(const n of a.recordings){const a=this._getQueryableCameraConfig(t,n.cameraID);if(!a)continue;const i=Te.createRecordingViewMedia(n.cameraID,n,a,this.getCameraMetadata(e,a).title);i&&r.push(i)}return r}getQueryResultMaxAge(e){return e.type===b.Event||e.type===b.Recording?60:null}async getMediaSeekTime(e,t,n,a,r){const i=n.getStartTime(),s=n.getEndTime();if(!i||!s||as)return null;const o=n.getCameraID(),c={cameraIDs:new Set([o]),start:i,end:s,type:b.RecordingSegments},g=await this.getRecordingSegments(e,t,c,r);return g?this._getSeekTimeInSegments(i,a,Array.from(g.values())[0].segments):null}_getQueryableCameraConfig(e,t){const n=e.getCameraConfig(t);return!n||V(n)?null:n}_splitSubLabels(e){return e.split(",").map((e=>e.trim()))}async getMediaMetadata(e,t,n,a){const i=new Map;if((a?.useCache??1)&&this._requestCache.has(n)){const e=this._requestCache.get(n);if(e)return i.set(n,e),i}const s=new Set,o=new Set,c=new Set,g=new Set,l=this._buildInstanceToCameraIDMapFromQuery(t,n.cameraIDs),u=async(n,a)=>{const i=this._getFrigateCameraNamesForCameraIDs(t,a);for(const t of await(async(e,t)=>await r(e,k,{type:"frigate/events/summary",instance_id:t,timezone:e.config.time_zone},!0))(e,n))i.has(t.camera)&&(t.label&&s.add(t.label),t.zones.length&&t.zones.forEach(o.add,o),t.day&&c.add(t.day),t.sub_label&&this._splitSubLabels(t.sub_label).forEach(g.add,g))},m=async n=>{const r=await this.getRecordings(e,t,{type:b.Recording,cameraIDs:n},a);if(r)for(const e of r.values())if(Se.isFrigateRecordingQueryResults(e))for(const t of e.recordings)c.add(M(t.startTime))};await D([...l.entries()],(([e,t])=>(async()=>{await Promise.all([u(e,t),m(t)])})()));const d={type:C.MediaMetadata,engine:p.Frigate,metadata:{...s.size&&{what:s},...o.size&&{where:o},...c.size&&{days:c},...g.size&&{tags:g}},expiry:v(new Date,{seconds:60}),cached:!1};return(a?.useCache??1)&&this._requestCache.set(n,{...d,cached:!0},d.expiry),i.set(n,d),i}async _garbageCollectSegments(e,t){const n=this._recordingSegmentsCache.getCameraIDs(),a={cameraIDs:new Set(n),type:b.Recording},r=(e,t)=>`${e}/${t.getDate()}/${t.getHours()}`,i=await this.getRecordings(e,t,a);if(i)for(const[e,t]of i){if(!Se.isFrigateRecordingQueryResults(t))continue;const n=new Set;for(const e of t.recordings)n.add(r(e.cameraID,e.startTime));const a=Array.from(e.cameraIDs)[0];this._recordingSegmentsCache.expireMatches(a,(e=>{const t=r(a,j(e.start_time));return!n.has(t)}))}}_getSeekTimeInSegments(e,t,n){if(!n.length)return null;let a=0;for(const r of n){const n=j(r.start_time);if(n>t)break;const i=j(r.end_time),s=nt?t:i).getTime()-s.getTime()}return a/1e3}getMediaCapabilities(e){return{canFavorite:_.isEvent(e),canDownload:!0}}getCameraMetadata(e,t){const n=super.getCameraMetadata(e,t);return{title:t.title??T(e,t.camera_entity)??T(e,t.webrtc_card?.entity)??d(t.frigate?.camera_name)??t.id??"",icon:n.icon,engineLogo:I}}getCameraEndpoints(e,t){const n=(()=>{if(!e.frigate.url)return null;if(!e.frigate.camera_name)return{endpoint:e.frigate.url};const n=`${e.frigate.url}/cameras/`+e.frigate.camera_name;if("live"===t?.view)return{endpoint:n};const a=`${e.frigate.url}/events?camera=`+e.frigate.camera_name,r=`${e.frigate.url}/recording/`+e.frigate.camera_name;switch(t?.media?.getMediaType()){case"clip":case"snapshot":return{endpoint:a};case"recording":const e=t.media.getStartTime();if(e)return{endpoint:r+F(e,"yyyy-MM-dd/HH")}}switch(t?.view){case"clip":case"clips":case"snapshots":case"snapshot":return{endpoint:a};case"recording":case"recordings":return{endpoint:r}}return{endpoint:n}})(),a=E(e,{url:e.go2rtc?.url??`/api/frigate/${e.frigate.client_id}/mse`,stream:e.go2rtc?.stream??e.frigate.camera_name}),r={endpoint:`/api/frigate/${e.frigate.client_id}/jsmpeg/${e.frigate.camera_name}`,sign:!0},i=(()=>{const t=e.frigate.camera_name?e.frigate.camera_name:null;return t?{endpoint:t}:null})();return{...super.getCameraEndpoints(e,t),...n&&{ui:n},...a&&{go2rtc:a},...r&&{jsmpeg:r},...i&&{webrtcCard:i}}}async executePTZAction(e,t,n,a){const r=t.camera_entity;("preset"!==n||a?.preset)&&await e.callService("frigate","ptz",{entity_id:r,action:"stop"===a?.phase?"stop":"zoom_in"===n||"zoom_out"===n?"zoom":"preset"===n?"preset":"move",..."stop"!==a?.phase&&{argument:"zoom_in"===n?"in":"zoom_out"===n?"out":"preset"===n?a?.preset:n}})}}export{Me as FrigateCameraManagerEngine}; diff --git a/config/www/community/frigate-hass-card/engine-frigate-3f150159.js.gz b/config/www/community/frigate-hass-card/engine-frigate-3f150159.js.gz deleted file mode 100644 index b91d8fc21a4db8edd45ea1c3afdf2defbe23c94e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8638 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 QmWO}&e{bA;=F(^Y04V&r!vFvP diff --git a/config/www/community/frigate-hass-card/engine-frigate-69a32a9e.js b/config/www/community/frigate-hass-card/engine-frigate-69a32a9e.js deleted file mode 100644 index 57802294..00000000 --- a/config/www/community/frigate-hass-card/engine-frigate-69a32a9e.js +++ /dev/null @@ -1,3 +0,0 @@ -import{c$ as e,dX as t,dY as n,dZ as a,d_ as r,d$ as i,l as s,e0 as o,e1 as c,e2 as g,e3 as l,d7 as u,dQ as m,k as d,i as f,dd as h,e4 as p,dj as _,d5 as y,d3 as b,e5 as w,e6 as D,e7 as C,dN as v,j as T,e8 as I,d8 as S,da as M,d9 as F}from"./card-320adb66.js";import{C as $}from"./engine-86b0096c.js";import{C as z,G as N,g as E}from"./engine-generic-39deaa91.js";import{a as R,V as Y}from"./media-c9012082.js";import{s as x,e as H}from"./startOfHour-b41e160a.js";function j(t){return e(1e3*t)}const Z=n.object({camera:n.string(),end_time:n.number().nullable(),false_positive:n.boolean().nullable(),has_clip:n.boolean(),has_snapshot:n.boolean(),id:n.string(),label:n.string(),sub_label:n.string().nullable(),start_time:n.number(),top_score:n.number().nullable(),zones:n.string().array(),retain_indefinitely:n.boolean().optional()}).array(),q=n.object({hour:n.preprocess((e=>Number(e)),n.number().min(0).max(23)),duration:n.number().min(0),events:n.number().min(0)}),U=n.object({day:n.preprocess((e=>"string"==typeof e?a(e):e),n.date()),events:n.number(),hours:q.array()}).array(),W=n.object({start_time:n.number(),end_time:n.number(),id:n.string()}).array(),Q=n.object({success:n.boolean(),message:n.string()}),k=n.object({camera:n.string(),day:n.string(),label:n.string(),sub_label:n.string().nullable(),zones:n.string().array()}).array(),P=n.object({name:n.string().optional(),features:n.string().array().optional(),presets:n.string().array().optional()}),A=n.object({camera:n.string(),snapshot:n.object({frame_time:n.number()}).nullable(),has_clip:n.boolean(),has_snapshot:n.boolean(),label:n.string(),current_zones:n.string().array()}),O=n.object({before:A,after:A,type:n.enum(["new","update","end"])});const L=async(e,t)=>await r(e,Z,{type:"frigate/events/get",...t},!0),V=e=>"birdseye"===e.frigate.camera_name;class G extends z{constructor(e,t,n){super(e,t,n),this._frigateEventHandler=e=>{const t=!e.before.has_snapshot&&e.after.has_snapshot||e.before.snapshot?.frame_time!==e.after.snapshot?.frame_time,n=!e.before.has_clip&&e.after.has_clip,a=this.getConfig();if(a.frigate.zones?.length&&!a.frigate.zones.some((t=>e.after.current_zones.includes(t)))||a.frigate.labels?.length&&!a.frigate.labels.includes(e.after.label))return;const r=a.triggers.events;(r.includes("events")||r.includes("snapshots")&&t||r.includes("clips")&&n)&&this._eventCallback?.({fidelity:"high",cameraID:this.getID(),type:e.type,clip:n&&r.includes("clips"),snapshot:t&&r.includes("snapshots")})}}async initialize(e){return await this._initializeConfig(e.hass,e.entityRegistryManager),await this._initializeCapabilities(e.hass),await this._subscribeToEvents(e.hass,e.frigateEventWatcher),await super.initialize(e)}async _initializeConfig(e,n){const a=this.getConfig(),r=!!a.frigate?.camera_name,i=a.triggers.motion||a.triggers.occupancy;let g=null;const l=o(a);if(l&&(!r||i)&&(g=await n.getEntity(e,l),!g))throw new c(s("error.no_camera_entity"),a);if(g&&!r){const e=this._getFrigateCameraNameFromEntity(g);e&&(this._config.frigate.camera_name=e)}if(i){const r=await n.getMatchingEntities(e,(e=>e.config_entry_id===g?.config_entry_id&&!e.disabled_by&&e.entity_id.startsWith("binary_sensor.")));if(a.triggers.motion){const e=this._getMotionSensor(a,[...r.values()]);e&&a.triggers.entities.push(e)}if(a.triggers.occupancy){const e=this._getOccupancySensor(a,[...r.values()]);e&&a.triggers.entities.push(...e)}a.triggers.entities=(u=a.triggers.entities)&&u.length?t(u):[]}var u}async _initializeCapabilities(e){const t=this.getConfig(),n=g(this.getConfig()),a=await this._getPTZCapabilities(e,t),r=n||a?{...a,...n}:null,i=V(t);this._capabilities=new l({"favorite-events":!i,"favorite-recordings":!1,seek:!i,clips:!i,snapshots:!i,recordings:!i,live:!0,menu:!0,substream:!0,...r&&{ptz:r}},{disable:t.capabilities?.disable,disableExcept:t.capabilities?.disable_except})}_getFrigateCameraNameFromEntity(e){if("frigate"===e.platform&&e.unique_id&&"string"==typeof e.unique_id){const t=e.unique_id.match(/:camera:(?[^:]+)$/);if(t&&t.groups)return t.groups.camera}return null}async _getPTZCapabilities(e,t){if(!t.frigate.camera_name||V(t))return null;let n=null;try{n=await(async(e,t,n)=>await r(e,P,{type:"frigate/ptz/info",instance_id:t,camera:n},!0))(e,t.frigate.client_id,t.frigate.camera_name)}catch(e){return u(e),null}const a=[...n.features?.includes("pt")?["continuous"]:[]],i=[...n.features?.includes("zoom")?["continuous"]:[]],s=n.presets;return a.length||i.length||s?.length?{...a&&{left:a,right:a,up:a,down:a},...i&&{zoomIn:i,zoomOut:i},...s&&{presets:s}}:null}_getMotionSensor(e,t){return e.frigate.camera_name?t.find((t=>"string"==typeof t.unique_id&&!!t.unique_id?.match(new RegExp(`:motion_sensor:${e.frigate.camera_name}`))))?.entity_id??null:null}_getOccupancySensor(e,t){const n=[],a=(e,a)=>{const r=t.find((t=>"string"==typeof t.unique_id&&!!t.unique_id?.match(new RegExp(`:occupancy_sensor:${e}_${a}`))))?.entity_id??null;r&&n.push(r)};if(e.frigate.camera_name){const t=e.frigate.zones?.length?e.frigate.zones:[e.frigate.camera_name],r=e.frigate.labels?.length?e.frigate.labels:["all"];for(const e of t)for(const t of r)a(e,t);if(n.length)return n}return null}async _subscribeToEvents(e,t){const n=this.getConfig();if(!n.triggers.events.length||!n.frigate.camera_name)return; -/* istanbul ignore next -- exercising the matcher is not possible when the - test uses an event watcher -- @preserve */const a={instanceID:n.frigate.client_id,callback:e=>this._frigateEventHandler(e),matcher:e=>e.after.camera===n.frigate.camera_name};await t.subscribe(e,a),this._onDestroy((()=>t.unsubscribe(a)))}}class J{constructor(){this._requests=[],this._unsubscribeCallback={}}async subscribe(e,t){const n=!this._hasSubscribers(t.instanceID);this._requests.push(t),n&&(this._unsubscribeCallback[t.instanceID]=await e.connection.subscribeMessage((e=>this._receiveHandler(t.instanceID,e)),{type:"frigate/events/subscribe",instance_id:t.instanceID}))}async unsubscribe(e){this._requests=this._requests.filter((t=>t!==e)),this._hasSubscribers(e.instanceID)||(await this._unsubscribeCallback[e.instanceID](),delete this._unsubscribeCallback[e.instanceID])}_hasSubscribers(e){return!!this._requests.filter((t=>t.instanceID===e)).length}_receiveHandler(e,t){let n;try{n=JSON.parse(t)}catch(e){return void console.warn("Received non-JSON payload as Frigate event",t)}const a=O.safeParse(n);if(a.success)for(const t of this._requests)t.instanceID!==e||t.matcher&&!t.matcher(a.data)||t.callback(a.data);else console.warn("Received malformed Frigate event from Home Assistant",t)}}function X(e,t){const n=function(e){if(!K[e]){const t=new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:"America/New_York",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date("2014-06-25T04:00:00.123Z")),n="06/25/2014, 00:00:00"===t||"‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00"===t;K[e]=n?new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:e,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:e,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})}return K[e]}(t);return"formatToParts"in n?function(e,t){try{const n=e.formatToParts(t),a=[];for(let e=0;e=0?i:1e3+i,a-r}function se(e,t){return-23<=e&&e<=23&&(null==t||0<=t&&t<=59)}const oe={};function ce(e){const t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.setUTCFullYear(e.getFullYear()),+e-+t}const ge=36e5,le=6e4,ue=2,me={dateTimePattern:/^([0-9W+-]+)(T| )(.*)/,datePattern:/^([0-9W+-]+)(.*)/,plainTime:/:/,YY:/^(\d{2})$/,YYY:[/^([+-]\d{2})$/,/^([+-]\d{3})$/,/^([+-]\d{4})$/],YYYY:/^(\d{4})/,YYYYY:[/^([+-]\d{4})/,/^([+-]\d{5})/,/^([+-]\d{6})/],MM:/^-(\d{2})$/,DDD:/^-?(\d{3})$/,MMDD:/^-?(\d{2})-?(\d{2})$/,Www:/^-?W(\d{2})$/,WwwD:/^-?W(\d{2})-?(\d{1})$/,HH:/^(\d{2}([.,]\d*)?)$/,HHMM:/^(\d{2}):?(\d{2}([.,]\d*)?)$/,HHMMSS:/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/,timeZone:/(Z|[+-]\d{2}(?::?\d{2})?| UTC| [a-zA-Z]+\/[a-zA-Z_]+(?:\/[a-zA-Z_]+)?)$/};function de(e,t={}){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");if(null===e)return new Date(NaN);const n=null==t.additionalDigits?ue:Number(t.additionalDigits);if(2!==n&&1!==n&&0!==n)throw new RangeError("additionalDigits must be 0, 1 or 2");if(e instanceof Date||"object"==typeof e&&"[object Date]"===Object.prototype.toString.call(e))return new Date(e.getTime());if("number"==typeof e||"[object Number]"===Object.prototype.toString.call(e))return new Date(e);if("[object String]"!==Object.prototype.toString.call(e))return new Date(NaN);const a=function(e){const t={};let n,a=me.dateTimePattern.exec(e);a?(t.date=a[1],n=a[3]):(a=me.datePattern.exec(e),a?(t.date=a[1],n=a[2]):(t.date=null,n=e));if(n){const e=me.timeZone.exec(n);e?(t.time=n.replace(e[1],""),t.timeZone=e[1].trim()):t.time=n}return t}(e),{year:r,restDateString:i}=function(e,t){if(e){const n=me.YYY[t],a=me.YYYYY[t];let r=me.YYYY.exec(e)||a.exec(e);if(r){const t=r[1];return{year:parseInt(t,10),restDateString:e.slice(t.length)}}if(r=me.YY.exec(e)||n.exec(e),r){const t=r[1];return{year:100*parseInt(t,10),restDateString:e.slice(t.length)}}}return{year:null}}(a.date,n),s=function(e,t){if(null===t)return null;let n,a,r;if(!e||!e.length)return n=new Date(0),n.setUTCFullYear(t),n;let i=me.MM.exec(e);if(i)return n=new Date(0),a=parseInt(i[1],10)-1,ye(t,a)?(n.setUTCFullYear(t,a),n):new Date(NaN);if(i=me.DDD.exec(e),i){n=new Date(0);const e=parseInt(i[1],10);return function(e,t){if(t<1)return!1;const n=_e(e);if(n&&t>366)return!1;if(!n&&t>365)return!1;return!0}(t,e)?(n.setUTCFullYear(t,0,e),n):new Date(NaN)}if(i=me.MMDD.exec(e),i){n=new Date(0),a=parseInt(i[1],10)-1;const e=parseInt(i[2],10);return ye(t,a,e)?(n.setUTCFullYear(t,a,e),n):new Date(NaN)}if(i=me.Www.exec(e),i)return r=parseInt(i[1],10)-1,be(r)?fe(t,r):new Date(NaN);if(i=me.WwwD.exec(e),i){r=parseInt(i[1],10)-1;const e=parseInt(i[2],10)-1;return be(r,e)?fe(t,r,e):new Date(NaN)}return null}(i,r);if(null===s||isNaN(s.getTime()))return new Date(NaN);if(s){const e=s.getTime();let n,r=0;if(a.time&&(r=function(e){let t,n,a=me.HH.exec(e);if(a)return t=parseFloat(a[1].replace(",",".")),we(t)?t%24*ge:NaN;if(a=me.HHMM.exec(e),a)return t=parseInt(a[1],10),n=parseFloat(a[2].replace(",",".")),we(t,n)?t%24*ge+n*le:NaN;if(a=me.HHMMSS.exec(e),a){t=parseInt(a[1],10),n=parseInt(a[2],10);const e=parseFloat(a[3].replace(",","."));return we(t,n,e)?t%24*ge+n*le+1e3*e:NaN}return null}(a.time),null===r||isNaN(r)))return new Date(NaN);if(a.timeZone||t.timeZone){if(n=re(a.timeZone||t.timeZone,new Date(e+r)),isNaN(n))return new Date(NaN)}else n=ce(new Date(e+r)),n=ce(new Date(e+r+n));return new Date(e+r+n)}return new Date(NaN)}function fe(e,t,n){t=t||0,n=n||0;const a=new Date(0);a.setUTCFullYear(e,0,4);const r=7*t+n+1-(a.getUTCDay()||7);return a.setUTCDate(a.getUTCDate()+r),a}const he=[31,28,31,30,31,30,31,31,30,31,30,31],pe=[31,29,31,30,31,30,31,31,30,31,30,31];function _e(e){return e%400==0||e%4==0&&e%100!=0}function ye(e,t,n){if(t<0||t>11)return!1;if(null!=n){if(n<1)return!1;const a=_e(e);if(a&&n>pe[t])return!1;if(!a&&n>he[t])return!1}return!0}function be(e,t){return!(e<0||e>52)&&(null==t||!(t<0||t>6))}function we(e,t,n){return!(e<0||e>=25)&&((null==t||!(t<0||t>=60))&&(null==n||!(n<0||n>=60)))}const De=e=>{const t=Intl.DateTimeFormat().resolvedOptions().timeZone,n=Math.round(e.end_time?e.end_time-e.start_time:Date.now()/1e3-e.start_time),a=null!==e.top_score?` ${Math.round(100*e.top_score)}%`:"";return`${m(function(e,t,n){const a=re(t,e=de(e,n),!0),r=new Date(e.getTime()-a),i=new Date(0);return i.setFullYear(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate()),i.setHours(r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()),i}(1e3*e.start_time,t))} [${n}s, ${d(e.label)}${a}]`};class Ce extends R{constructor(e,t,n,a,r,i){super(e,t),this._event=n,this._contentID=a,this._thumbnail=r,this._subLabels=i??null}getStartTime(){return j(this._event.start_time)}getEndTime(){return this._event.end_time?j(this._event.end_time):null}inProgress(){return!this.getEndTime()}getVideoContentType(){return Y.HLS}getID(){return this._event.id}getContentID(){return this._contentID}getTitle(){return De(this._event)}getThumbnail(){return this._thumbnail}isFavorite(){return this._event.retain_indefinitely??null}setFavorite(e){this._event.retain_indefinitely=e}getWhat(){return[this._event.label]}getWhere(){const e=this._event.zones;return e.length?e:null}getScore(){return this._event.top_score}getTags(){return this._subLabels}isGroupableWith(e){return this.getMediaType()===e.getMediaType()&&f(this.getWhere(),e.getWhere())&&f(this.getWhat(),e.getWhat())}}class ve extends R{constructor(e,t,n,a,r,i){super(e,t),this._recording=n,this._id=a,this._contentID=r,this._title=i}getID(){return this._id}getStartTime(){return this._recording.startTime}getEndTime(){return this._recording.endTime}inProgress(){return!this.getEndTime()}getVideoContentType(){return Y.HLS}getContentID(){return this._contentID}getTitle(){return this._title}getEventCount(){return this._recording.events}}class Te{static createEventViewMedia(e,t,n,a,r){return"clip"===e&&!a.has_clip||"snapshot"===e&&!a.has_snapshot||!n.frigate.client_id||!n.frigate.camera_name?null:new Ce(e,t,a,((e,t,n,a)=>`media-source://frigate/${e}/event/${a}/${t}/${n.id}`)(n.frigate.client_id,n.frigate.camera_name,a,"clip"===e?"clips":"snapshots"),((e,t)=>`/api/frigate/${e}/thumbnail/${t.id}`)(n.frigate.client_id,a),r)}static createRecordingViewMedia(e,t,n,a){return n.frigate.client_id&&n.frigate.camera_name?new ve("recording",e,t,((e,t)=>`${e.frigate?.client_id??""}/${e.frigate.camera_name??""}/${t.startTime.getTime()}/${t.endTime.getTime()}`)(n,t),((e,t,n)=>["media-source://frigate",e,"recordings",t,`${n.startTime.getFullYear()}-${String(n.startTime.getMonth()+1).padStart(2,"0")}-${String(String(n.startTime.getDate()).padStart(2,"0"))}`,String(n.startTime.getHours()).padStart(2,"0")].join("/"))(n.frigate.client_id,n.frigate.camera_name,t),((e,t)=>`${e} ${m(t.startTime)}`)(a,t)):null}}class Ie{static isFrigateMedia(e){return this.isFrigateEvent(e)||this.isFrigateRecording(e)}static isFrigateEvent(e){return e instanceof Ce}static isFrigateRecording(e){return e instanceof ve}}class Se{static isFrigateEventQueryResults(e){return e.engine===p.Frigate&&e.type===C.Event}static isFrigateRecordingQueryResults(e){return e.engine===p.Frigate&&e.type===C.Recording}static isFrigateRecordingSegmentsResults(e){return e.engine===p.Frigate&&e.type===C.RecordingSegments}}class Me extends N{constructor(e,t,n,a,r){super(t,r),this._throttledSegmentGarbageCollector=h(this._garbageCollectSegments.bind(this),36e5,{leading:!1,trailing:!0}),this._entityRegistryManager=e,this._frigateEventWatcher=new J,this._recordingSegmentsCache=n,this._requestCache=a}getEngineType(){return p.Frigate}async createCamera(e,t){const n=new G(t,this,{eventCallback:this._eventCallback});return await n.initialize({hass:e,entityRegistryManager:this._entityRegistryManager,stateWatcher:this._stateWatcher,frigateEventWatcher:this._frigateEventWatcher})}async getMediaDownloadPath(e,t,n){return Ie.isFrigateEvent(n)?{endpoint:`/api/frigate/${t.frigate.client_id}/notifications/${n.getID()}/`+(_.isClip(n)?"clip.mp4":"snapshot.jpg")+"?download=true",sign:!0}:Ie.isFrigateRecording(n)?{endpoint:`/api/frigate/${t.frigate.client_id}/recording/${t.frigate.camera_name}/start/${Math.floor(n.getStartTime().getTime()/1e3)}/end/${Math.floor(n.getEndTime().getTime()/1e3)}?download=true`,sign:!0}:null}generateDefaultEventQuery(e,t,n){const a=[...e.getCameraConfigs(t)],r=y(a.map((e=>e?.frigate.zones)),f),i=y(a.map((e=>e?.frigate.labels)),f);if(1===r.length&&1===i.length)return[{type:b.Event,cameraIDs:t,...i[0]&&{what:new Set(i[0])},...r[0]&&{where:new Set(r[0])},...n}];const s=[];for(const a of t){const t=e.getCameraConfig(a);t&&s.push({type:b.Event,cameraIDs:new Set([a]),...t.frigate.labels&&{what:new Set(t.frigate.labels)},...t.frigate.zones&&{where:new Set(t.frigate.zones)},...n})}return s.length?s:null}generateDefaultRecordingQuery(e,t,n){return[{type:b.Recording,cameraIDs:t,...n}]}generateDefaultRecordingSegmentsQuery(e,t,n){return n.start&&n.end?[{type:b.RecordingSegments,cameraIDs:t,start:n.start,end:n.end,...n}]:null}async favoriteMedia(e,t,n,a){Ie.isFrigateEvent(n)&&(await async function(e,t,n,a){const o={type:"frigate/event/retain",instance_id:t,event_id:n,retain:a},c=await r(e,Q,o,!0);if(!c.success)throw new i(s("error.failed_retain"),{request:o,response:c})}(e,t.frigate.client_id,n.getID(),a),n.setFavorite(a))}_buildInstanceToCameraIDMapFromQuery(e,t){const n=new Map;for(const a of t){const t=this._getQueryableCameraConfig(e,a),r=t?.frigate.client_id;r&&(n.has(r)||n.set(r,new Set),n.get(r)?.add(a))}return n}_getFrigateCameraNamesForCameraIDs(e,t){const n=new Set;for(const a of t){const t=this._getQueryableCameraConfig(e,a);t?.frigate.camera_name&&n.add(t.frigate.camera_name)}return n}async getEvents(e,t,n,a){const r=new Map,i=async(i,s)=>{if(!s||!s.size)return;const o={...n,cameraIDs:s},c=a?.useCache??1?this._requestCache.get(o):null;if(c)return void r.set(n,c);const g={instance_id:i,cameras:Array.from(this._getFrigateCameraNamesForCameraIDs(t,s)),...n.what&&{labels:Array.from(n.what)},...n.where&&{zones:Array.from(n.where)},...n.tags&&{sub_labels:Array.from(n.tags)},...n.end&&{before:Math.floor(n.end.getTime()/1e3)},...n.start&&{after:Math.floor(n.start.getTime()/1e3)},...n.limit&&{limit:n.limit},...n.hasClip&&{has_clip:n.hasClip},...n.hasSnapshot&&{has_snapshot:n.hasSnapshot},...n.favorite&&{favorites:n.favorite},limit:n?.limit??$},l={type:C.Event,engine:p.Frigate,instanceID:i,events:await L(e,g),expiry:v(new Date,{seconds:60}),cached:!1};(a?.useCache??1)&&this._requestCache.set(n,{...l,cached:!0},l.expiry),r.set(o,l)},s=this._buildInstanceToCameraIDMapFromQuery(t,n.cameraIDs);return await Promise.all(Array.from(s.keys()).map((e=>i(e,s.get(e))))),r.size?r:null}async getRecordings(e,t,n,a){const i=new Map,s=async(n,s)=>{const o={...n,cameraIDs:new Set([s])},c=a?.useCache??1?this._requestCache.get(o):null;if(c)return void i.set(o,c);const g=this._getQueryableCameraConfig(t,s);if(!g||!g.frigate.camera_name)return;const l=await(async(e,t,n)=>await r(e,U,{type:"frigate/recordings/summary",instance_id:t,camera:n,timezone:e.config.time_zone},!0))(e,g.frigate.client_id,g.frigate.camera_name);let u=[];for(const e of l??[])for(const t of e.hours){const n=v(e.day,{hours:t.hour}),a=x(n),r=H(n);(!o.start||a>=o.start)&&(!o.end||r<=o.end)&&u.push({cameraID:s,startTime:a,endTime:r,events:t.events})}void 0!==o.limit&&(u=S(u,(e=>e.startTime),"desc").slice(0,o.limit));const m={type:C.Recording,engine:p.Frigate,instanceID:g.frigate.client_id,recordings:u,expiry:v(new Date,{seconds:60}),cached:!1};(a?.useCache??1)&&this._requestCache.set(o,{...m,cached:!0},m.expiry),i.set(o,m)};return await Promise.all(Array.from(n.cameraIDs).map((e=>s(n,e)))),i.size?i:null}async getRecordingSegments(e,t,n,a){const i=new Map,s=async(n,s)=>{const o={...n,cameraIDs:new Set([s])},c=this._getQueryableCameraConfig(t,s);if(!c||!c.frigate.camera_name)return;const g={start:o.start,end:o.end},l=a?.useCache??1?this._recordingSegmentsCache.get(s,g):null;if(l)return void i.set(o,{type:C.RecordingSegments,engine:p.Frigate,instanceID:c.frigate.client_id,segments:l,cached:!0});const u={instance_id:c.frigate.client_id,camera:c.frigate.camera_name,after:Math.floor(o.start.getTime()/1e3),before:Math.floor(o.end.getTime()/1e3)},m=await(async(e,t)=>await r(e,W,{type:"frigate/recordings/get",...t},!0))(e,u);(a?.useCache??1)&&this._recordingSegmentsCache.add(s,g,m),i.set(o,{type:C.RecordingSegments,engine:p.Frigate,instanceID:c.frigate.client_id,segments:m,cached:!1})};return await Promise.all(Array.from(n.cameraIDs).map((e=>s(n,e)))),w((()=>this._throttledSegmentGarbageCollector(e,t))),i.size?i:null}_getCameraIDMatch(e,t,n,a){if(1===t.cameraIDs.size)return[...t.cameraIDs][0];for(const[t,r]of e.getCameraConfigEntries())if(r.frigate.client_id===n&&r.frigate.camera_name===a)return t;return null}generateMediaFromEvents(e,t,n,a){if(!Se.isFrigateEventQueryResults(a))return null;const r=[];for(const e of a.events){const i=this._getCameraIDMatch(t,n,a.instanceID,e.camera);if(!i)continue;const s=this._getQueryableCameraConfig(t,i);if(!s)continue;let o=null;if(n.hasClip||n.hasSnapshot||!e.has_clip&&!e.has_snapshot?n.hasSnapshot&&e.has_snapshot?o="snapshot":n.hasClip&&e.has_clip&&(o="clip"):o=e.has_clip?"clip":"snapshot",!o)continue;const c=Te.createEventViewMedia(o,i,s,e,e.sub_label?this._splitSubLabels(e.sub_label):void 0);c&&r.push(c)}return r}generateMediaFromRecordings(e,t,n,a){if(!Se.isFrigateRecordingQueryResults(a))return null;const r=[];for(const n of a.recordings){const a=this._getQueryableCameraConfig(t,n.cameraID);if(!a)continue;const i=Te.createRecordingViewMedia(n.cameraID,n,a,this.getCameraMetadata(e,a).title);i&&r.push(i)}return r}getQueryResultMaxAge(e){return e.type===b.Event||e.type===b.Recording?60:null}async getMediaSeekTime(e,t,n,a,r){const i=n.getStartTime(),s=n.getEndTime();if(!i||!s||as)return null;const o=n.getCameraID(),c={cameraIDs:new Set([o]),start:i,end:s,type:b.RecordingSegments},g=await this.getRecordingSegments(e,t,c,r);return g?this._getSeekTimeInSegments(i,a,Array.from(g.values())[0].segments):null}_getQueryableCameraConfig(e,t){const n=e.getCameraConfig(t);return!n||V(n)?null:n}_splitSubLabels(e){return e.split(",").map((e=>e.trim()))}async getMediaMetadata(e,t,n,a){const i=new Map;if((a?.useCache??1)&&this._requestCache.has(n)){const e=this._requestCache.get(n);if(e)return i.set(n,e),i}const s=new Set,o=new Set,c=new Set,g=new Set,l=this._buildInstanceToCameraIDMapFromQuery(t,n.cameraIDs),u=async(n,a)=>{const i=this._getFrigateCameraNamesForCameraIDs(t,a);for(const t of await(async(e,t)=>await r(e,k,{type:"frigate/events/summary",instance_id:t,timezone:e.config.time_zone},!0))(e,n))i.has(t.camera)&&(t.label&&s.add(t.label),t.zones.length&&t.zones.forEach(o.add,o),t.day&&c.add(t.day),t.sub_label&&this._splitSubLabels(t.sub_label).forEach(g.add,g))},m=async n=>{const r=await this.getRecordings(e,t,{type:b.Recording,cameraIDs:n},a);if(r)for(const e of r.values())if(Se.isFrigateRecordingQueryResults(e))for(const t of e.recordings)c.add(M(t.startTime))};await D([...l.entries()],(([e,t])=>(async()=>{await Promise.all([u(e,t),m(t)])})()));const d={type:C.MediaMetadata,engine:p.Frigate,metadata:{...s.size&&{what:s},...o.size&&{where:o},...c.size&&{days:c},...g.size&&{tags:g}},expiry:v(new Date,{seconds:60}),cached:!1};return(a?.useCache??1)&&this._requestCache.set(n,{...d,cached:!0},d.expiry),i.set(n,d),i}async _garbageCollectSegments(e,t){const n=this._recordingSegmentsCache.getCameraIDs(),a={cameraIDs:new Set(n),type:b.Recording},r=(e,t)=>`${e}/${t.getDate()}/${t.getHours()}`,i=await this.getRecordings(e,t,a);if(i)for(const[e,t]of i){if(!Se.isFrigateRecordingQueryResults(t))continue;const n=new Set;for(const e of t.recordings)n.add(r(e.cameraID,e.startTime));const a=Array.from(e.cameraIDs)[0];this._recordingSegmentsCache.expireMatches(a,(e=>{const t=r(a,j(e.start_time));return!n.has(t)}))}}_getSeekTimeInSegments(e,t,n){if(!n.length)return null;let a=0;for(const r of n){const n=j(r.start_time);if(n>t)break;const i=j(r.end_time),s=nt?t:i).getTime()-s.getTime()}return a/1e3}getMediaCapabilities(e){return{canFavorite:_.isEvent(e),canDownload:!0}}getCameraMetadata(e,t){const n=super.getCameraMetadata(e,t);return{title:t.title??T(e,t.camera_entity)??T(e,t.webrtc_card?.entity)??d(t.frigate?.camera_name)??t.id??"",icon:n.icon,engineLogo:I}}getCameraEndpoints(e,t){const n=(()=>{if(!e.frigate.url)return null;if(!e.frigate.camera_name)return{endpoint:e.frigate.url};const n=`${e.frigate.url}/cameras/`+e.frigate.camera_name;if("live"===t?.view)return{endpoint:n};const a=`${e.frigate.url}/events?camera=`+e.frigate.camera_name,r=`${e.frigate.url}/recording/`+e.frigate.camera_name;switch(t?.media?.getMediaType()){case"clip":case"snapshot":return{endpoint:a};case"recording":const e=t.media.getStartTime();if(e)return{endpoint:r+F(e,"yyyy-MM-dd/HH")}}switch(t?.view){case"clip":case"clips":case"snapshots":case"snapshot":return{endpoint:a};case"recording":case"recordings":return{endpoint:r}}return{endpoint:n}})(),a=E(e,{url:e.go2rtc?.url??`/api/frigate/${e.frigate.client_id}/mse`,stream:e.go2rtc?.stream??e.frigate.camera_name}),r={endpoint:`/api/frigate/${e.frigate.client_id}/jsmpeg/${e.frigate.camera_name}`,sign:!0},i=(()=>{const t=e.frigate.camera_name?e.frigate.camera_name:null;return t?{endpoint:t}:null})();return{...super.getCameraEndpoints(e,t),...n&&{ui:n},...a&&{go2rtc:a},...r&&{jsmpeg:r},...i&&{webrtcCard:i}}}async executePTZAction(e,t,n,a){const r=t.camera_entity;("preset"!==n||a?.preset)&&await e.callService("frigate","ptz",{entity_id:r,action:"stop"===a?.phase?"stop":"zoom_in"===n||"zoom_out"===n?"zoom":"preset"===n?"preset":"move",..."stop"!==a?.phase&&{argument:"zoom_in"===n?"in":"zoom_out"===n?"out":"preset"===n?a?.preset:n}})}}export{Me as FrigateCameraManagerEngine}; diff --git a/config/www/community/frigate-hass-card/engine-frigate-69a32a9e.js.gz b/config/www/community/frigate-hass-card/engine-frigate-69a32a9e.js.gz deleted file mode 100644 index 30cd08cf4b0d3c567e11876d70cf8a2dbf297ab9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8638 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 QdGMG22TV@{VA5y+0Prz_9{>OV diff --git a/config/www/community/frigate-hass-card/engine-frigate-7cd5392b.js b/config/www/community/frigate-hass-card/engine-frigate-7cd5392b.js deleted file mode 100644 index 3c65f46b..00000000 --- a/config/www/community/frigate-hass-card/engine-frigate-7cd5392b.js +++ /dev/null @@ -1,3 +0,0 @@ -import{d3 as e,d_ as t,d$ as n,e0 as a,e1 as r,e2 as i,l as s,e3 as o,e4 as c,e5 as g,e6 as l,db as u,dT as m,k as d,i as f,dh as h,e7 as p,dn as _,d9 as y,d7 as b,e8 as w,e9 as D,ea as C,dQ as v,j as T,eb as I,dc as S,de as M,dd as F}from"./card-09c4bade.js";import{C as $}from"./engine-86b0096c.js";import{C as z,G as N,g as E}from"./engine-generic-458c9005.js";import{a as R,V as Y}from"./media-c9012082.js";import{s as x,e as H}from"./startOfHour-7a3519fb.js";function j(t){return e(1e3*t)}const Z=n.object({camera:n.string(),end_time:n.number().nullable(),false_positive:n.boolean().nullable(),has_clip:n.boolean(),has_snapshot:n.boolean(),id:n.string(),label:n.string(),sub_label:n.string().nullable(),start_time:n.number(),top_score:n.number().nullable(),zones:n.string().array(),retain_indefinitely:n.boolean().optional()}).array(),q=n.object({hour:n.preprocess((e=>Number(e)),n.number().min(0).max(23)),duration:n.number().min(0),events:n.number().min(0)}),U=n.object({day:n.preprocess((e=>"string"==typeof e?a(e):e),n.date()),events:n.number(),hours:q.array()}).array(),W=n.object({start_time:n.number(),end_time:n.number(),id:n.string()}).array(),Q=n.object({success:n.boolean(),message:n.string()}),k=n.object({camera:n.string(),day:n.string(),label:n.string(),sub_label:n.string().nullable(),zones:n.string().array()}).array(),P=n.object({name:n.string().optional(),features:n.string().array().optional(),presets:n.string().array().optional()}),A=n.object({camera:n.string(),snapshot:n.object({frame_time:n.number()}).nullable(),has_clip:n.boolean(),has_snapshot:n.boolean(),label:n.string(),current_zones:n.string().array()}),O=n.object({before:A,after:A,type:n.enum(["new","update","end"])});const L=async(e,t)=>await r(e,Z,{type:"frigate/events/get",...t},!0),V=e=>"birdseye"===e.frigate.camera_name;class G extends z{constructor(e,t,n){super(e,t,n),this._frigateEventHandler=e=>{const t=!e.before.has_snapshot&&e.after.has_snapshot||e.before.snapshot?.frame_time!==e.after.snapshot?.frame_time,n=!e.before.has_clip&&e.after.has_clip,a=this.getConfig();if(a.frigate.zones?.length&&!a.frigate.zones.some((t=>e.after.current_zones.includes(t)))||a.frigate.labels?.length&&!a.frigate.labels.includes(e.after.label))return;const r=a.triggers.events;(r.includes("events")||r.includes("snapshots")&&t||r.includes("clips")&&n)&&this._eventCallback?.({fidelity:"high",cameraID:this.getID(),type:e.type,clip:n&&r.includes("clips"),snapshot:t&&r.includes("snapshots")})}}async initialize(e){return await this._initializeConfig(e.hass,e.entityRegistryManager),await this._initializeCapabilities(e.hass),await this._subscribeToEvents(e.hass,e.frigateEventWatcher),await super.initialize(e)}async _initializeConfig(e,n){const a=this.getConfig(),r=!!a.frigate?.camera_name,i=a.triggers.motion||a.triggers.occupancy;let g=null;const l=o(a);if(l&&(!r||i)&&(g=await n.getEntity(e,l),!g))throw new c(s("error.no_camera_entity"),a);if(g&&!r){const e=this._getFrigateCameraNameFromEntity(g);e&&(this._config.frigate.camera_name=e)}if(i){const r=await n.getMatchingEntities(e,(e=>e.config_entry_id===g?.config_entry_id&&!e.disabled_by&&e.entity_id.startsWith("binary_sensor.")));if(a.triggers.motion){const e=this._getMotionSensor(a,[...r.values()]);e&&a.triggers.entities.push(e)}if(a.triggers.occupancy){const e=this._getOccupancySensor(a,[...r.values()]);e&&a.triggers.entities.push(...e)}a.triggers.entities=(u=a.triggers.entities)&&u.length?t(u):[]}var u}async _initializeCapabilities(e){const t=this.getConfig(),n=g(this.getConfig()),a=await this._getPTZCapabilities(e,t),r=n||a?{...a,...n}:null,i=V(t);this._capabilities=new l({"favorite-events":!i,"favorite-recordings":!1,seek:!i,clips:!i,snapshots:!i,recordings:!i,live:!0,menu:!0,substream:!0,...r&&{ptz:r}},{disable:t.capabilities?.disable,disableExcept:t.capabilities?.disable_except})}_getFrigateCameraNameFromEntity(e){if("frigate"===e.platform&&e.unique_id&&"string"==typeof e.unique_id){const t=e.unique_id.match(/:camera:(?[^:]+)$/);if(t&&t.groups)return t.groups.camera}return null}async _getPTZCapabilities(e,t){if(!t.frigate.camera_name||V(t))return null;let n=null;try{n=await(async(e,t,n)=>await r(e,P,{type:"frigate/ptz/info",instance_id:t,camera:n},!0))(e,t.frigate.client_id,t.frigate.camera_name)}catch(e){return u(e),null}const a=[...n.features?.includes("pt")?["continuous"]:[]],i=[...n.features?.includes("zoom")?["continuous"]:[]],s=n.presets;return a.length||i.length||s?.length?{...a&&{left:a,right:a,up:a,down:a},...i&&{zoomIn:i,zoomOut:i},...s&&{presets:s}}:null}_getMotionSensor(e,t){return e.frigate.camera_name?t.find((t=>"string"==typeof t.unique_id&&!!t.unique_id?.match(new RegExp(`:motion_sensor:${e.frigate.camera_name}`))))?.entity_id??null:null}_getOccupancySensor(e,t){const n=[],a=(e,a)=>{const r=t.find((t=>"string"==typeof t.unique_id&&!!t.unique_id?.match(new RegExp(`:occupancy_sensor:${e}_${a}`))))?.entity_id??null;r&&n.push(r)};if(e.frigate.camera_name){const t=e.frigate.zones?.length?e.frigate.zones:[e.frigate.camera_name],r=e.frigate.labels?.length?e.frigate.labels:["all"];for(const e of t)for(const t of r)a(e,t);if(n.length)return n}return null}async _subscribeToEvents(e,t){const n=this.getConfig();if(!n.triggers.events.length||!n.frigate.camera_name)return; -/* istanbul ignore next -- exercising the matcher is not possible when the - test uses an event watcher -- @preserve */const a={instanceID:n.frigate.client_id,callback:e=>this._frigateEventHandler(e),matcher:e=>e.after.camera===n.frigate.camera_name};await t.subscribe(e,a),this._onDestroy((()=>t.unsubscribe(a)))}}class J{constructor(){this._requests=[],this._unsubscribeCallback={}}async subscribe(e,t){const n=!this._hasSubscribers(t.instanceID);this._requests.push(t),n&&(this._unsubscribeCallback[t.instanceID]=await e.connection.subscribeMessage((e=>this._receiveHandler(t.instanceID,e)),{type:"frigate/events/subscribe",instance_id:t.instanceID}))}async unsubscribe(e){this._requests=this._requests.filter((t=>t!==e)),this._hasSubscribers(e.instanceID)||(await this._unsubscribeCallback[e.instanceID](),delete this._unsubscribeCallback[e.instanceID])}_hasSubscribers(e){return!!this._requests.filter((t=>t.instanceID===e)).length}_receiveHandler(e,t){let n;try{n=JSON.parse(t)}catch(e){return void console.warn("Received non-JSON payload as Frigate event",t)}const a=O.safeParse(n);if(a.success)for(const t of this._requests)t.instanceID!==e||t.matcher&&!t.matcher(a.data)||t.callback(a.data);else console.warn("Received malformed Frigate event from Home Assistant",t)}}function B(e,t){const n=function(e){if(!X[e]){const t=new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:"America/New_York",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date("2014-06-25T04:00:00.123Z")),n="06/25/2014, 00:00:00"===t||"‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00"===t;X[e]=n?new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:e,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:e,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})}return X[e]}(t);return"formatToParts"in n?function(e,t){try{const n=e.formatToParts(t),a=[];for(let e=0;e=0?i:1e3+i,a-r}function se(e,t){return-23<=e&&e<=23&&(null==t||0<=t&&t<=59)}const oe={};function ce(e){const t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.setUTCFullYear(e.getFullYear()),+e-+t}const ge=36e5,le=6e4,ue=2,me={dateTimePattern:/^([0-9W+-]+)(T| )(.*)/,datePattern:/^([0-9W+-]+)(.*)/,plainTime:/:/,YY:/^(\d{2})$/,YYY:[/^([+-]\d{2})$/,/^([+-]\d{3})$/,/^([+-]\d{4})$/],YYYY:/^(\d{4})/,YYYYY:[/^([+-]\d{4})/,/^([+-]\d{5})/,/^([+-]\d{6})/],MM:/^-(\d{2})$/,DDD:/^-?(\d{3})$/,MMDD:/^-?(\d{2})-?(\d{2})$/,Www:/^-?W(\d{2})$/,WwwD:/^-?W(\d{2})-?(\d{1})$/,HH:/^(\d{2}([.,]\d*)?)$/,HHMM:/^(\d{2}):?(\d{2}([.,]\d*)?)$/,HHMMSS:/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/,timeZone:/(Z|[+-]\d{2}(?::?\d{2})?| UTC| [a-zA-Z]+\/[a-zA-Z_]+(?:\/[a-zA-Z_]+)?)$/};function de(e,t={}){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");if(null===e)return new Date(NaN);const n=null==t.additionalDigits?ue:Number(t.additionalDigits);if(2!==n&&1!==n&&0!==n)throw new RangeError("additionalDigits must be 0, 1 or 2");if(e instanceof Date||"object"==typeof e&&"[object Date]"===Object.prototype.toString.call(e))return new Date(e.getTime());if("number"==typeof e||"[object Number]"===Object.prototype.toString.call(e))return new Date(e);if("[object String]"!==Object.prototype.toString.call(e))return new Date(NaN);const a=function(e){const t={};let n,a=me.dateTimePattern.exec(e);a?(t.date=a[1],n=a[3]):(a=me.datePattern.exec(e),a?(t.date=a[1],n=a[2]):(t.date=null,n=e));if(n){const e=me.timeZone.exec(n);e?(t.time=n.replace(e[1],""),t.timeZone=e[1].trim()):t.time=n}return t}(e),{year:r,restDateString:i}=function(e,t){if(e){const n=me.YYY[t],a=me.YYYYY[t];let r=me.YYYY.exec(e)||a.exec(e);if(r){const t=r[1];return{year:parseInt(t,10),restDateString:e.slice(t.length)}}if(r=me.YY.exec(e)||n.exec(e),r){const t=r[1];return{year:100*parseInt(t,10),restDateString:e.slice(t.length)}}}return{year:null}}(a.date,n),s=function(e,t){if(null===t)return null;let n,a,r;if(!e||!e.length)return n=new Date(0),n.setUTCFullYear(t),n;let i=me.MM.exec(e);if(i)return n=new Date(0),a=parseInt(i[1],10)-1,ye(t,a)?(n.setUTCFullYear(t,a),n):new Date(NaN);if(i=me.DDD.exec(e),i){n=new Date(0);const e=parseInt(i[1],10);return function(e,t){if(t<1)return!1;const n=_e(e);if(n&&t>366)return!1;if(!n&&t>365)return!1;return!0}(t,e)?(n.setUTCFullYear(t,0,e),n):new Date(NaN)}if(i=me.MMDD.exec(e),i){n=new Date(0),a=parseInt(i[1],10)-1;const e=parseInt(i[2],10);return ye(t,a,e)?(n.setUTCFullYear(t,a,e),n):new Date(NaN)}if(i=me.Www.exec(e),i)return r=parseInt(i[1],10)-1,be(r)?fe(t,r):new Date(NaN);if(i=me.WwwD.exec(e),i){r=parseInt(i[1],10)-1;const e=parseInt(i[2],10)-1;return be(r,e)?fe(t,r,e):new Date(NaN)}return null}(i,r);if(null===s||isNaN(s.getTime()))return new Date(NaN);if(s){const e=s.getTime();let n,r=0;if(a.time&&(r=function(e){let t,n,a=me.HH.exec(e);if(a)return t=parseFloat(a[1].replace(",",".")),we(t)?t%24*ge:NaN;if(a=me.HHMM.exec(e),a)return t=parseInt(a[1],10),n=parseFloat(a[2].replace(",",".")),we(t,n)?t%24*ge+n*le:NaN;if(a=me.HHMMSS.exec(e),a){t=parseInt(a[1],10),n=parseInt(a[2],10);const e=parseFloat(a[3].replace(",","."));return we(t,n,e)?t%24*ge+n*le+1e3*e:NaN}return null}(a.time),null===r||isNaN(r)))return new Date(NaN);if(a.timeZone||t.timeZone){if(n=re(a.timeZone||t.timeZone,new Date(e+r)),isNaN(n))return new Date(NaN)}else n=ce(new Date(e+r)),n=ce(new Date(e+r+n));return new Date(e+r+n)}return new Date(NaN)}function fe(e,t,n){t=t||0,n=n||0;const a=new Date(0);a.setUTCFullYear(e,0,4);const r=7*t+n+1-(a.getUTCDay()||7);return a.setUTCDate(a.getUTCDate()+r),a}const he=[31,28,31,30,31,30,31,31,30,31,30,31],pe=[31,29,31,30,31,30,31,31,30,31,30,31];function _e(e){return e%400==0||e%4==0&&e%100!=0}function ye(e,t,n){if(t<0||t>11)return!1;if(null!=n){if(n<1)return!1;const a=_e(e);if(a&&n>pe[t])return!1;if(!a&&n>he[t])return!1}return!0}function be(e,t){return!(e<0||e>52)&&(null==t||!(t<0||t>6))}function we(e,t,n){return!(e<0||e>=25)&&((null==t||!(t<0||t>=60))&&(null==n||!(n<0||n>=60)))}const De=e=>{const t=Intl.DateTimeFormat().resolvedOptions().timeZone,n=Math.round(e.end_time?e.end_time-e.start_time:Date.now()/1e3-e.start_time),a=null!==e.top_score?` ${Math.round(100*e.top_score)}%`:"";return`${m(function(e,t,n){const a=re(t,e=de(e,n),!0),r=new Date(e.getTime()-a),i=new Date(0);return i.setFullYear(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate()),i.setHours(r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()),i}(1e3*e.start_time,t))} [${n}s, ${d(e.label)}${a}]`};class Ce extends R{constructor(e,t,n,a,r,i){super(e,t),this._event=n,this._contentID=a,this._thumbnail=r,this._subLabels=i??null}getStartTime(){return j(this._event.start_time)}getEndTime(){return this._event.end_time?j(this._event.end_time):null}inProgress(){return!this.getEndTime()}getVideoContentType(){return Y.HLS}getID(){return this._event.id}getContentID(){return this._contentID}getTitle(){return De(this._event)}getThumbnail(){return this._thumbnail}isFavorite(){return this._event.retain_indefinitely??null}setFavorite(e){this._event.retain_indefinitely=e}getWhat(){return[this._event.label]}getWhere(){const e=this._event.zones;return e.length?e:null}getScore(){return this._event.top_score}getTags(){return this._subLabels}isGroupableWith(e){return this.getMediaType()===e.getMediaType()&&f(this.getWhere(),e.getWhere())&&f(this.getWhat(),e.getWhat())}}class ve extends R{constructor(e,t,n,a,r,i){super(e,t),this._recording=n,this._id=a,this._contentID=r,this._title=i}getID(){return this._id}getStartTime(){return this._recording.startTime}getEndTime(){return this._recording.endTime}inProgress(){return!this.getEndTime()}getVideoContentType(){return Y.HLS}getContentID(){return this._contentID}getTitle(){return this._title}getEventCount(){return this._recording.events}}class Te{static createEventViewMedia(e,t,n,a,r){return"clip"===e&&!a.has_clip||"snapshot"===e&&!a.has_snapshot||!n.frigate.client_id||!n.frigate.camera_name?null:new Ce(e,t,a,((e,t,n,a)=>`media-source://frigate/${e}/event/${a}/${t}/${n.id}`)(n.frigate.client_id,n.frigate.camera_name,a,"clip"===e?"clips":"snapshots"),((e,t)=>`/api/frigate/${e}/thumbnail/${t.id}`)(n.frigate.client_id,a),r)}static createRecordingViewMedia(e,t,n,a){return n.frigate.client_id&&n.frigate.camera_name?new ve("recording",e,t,((e,t)=>`${e.frigate?.client_id??""}/${e.frigate.camera_name??""}/${t.startTime.getTime()}/${t.endTime.getTime()}`)(n,t),((e,t,n)=>["media-source://frigate",e,"recordings",t,`${n.startTime.getFullYear()}-${String(n.startTime.getMonth()+1).padStart(2,"0")}-${String(String(n.startTime.getDate()).padStart(2,"0"))}`,String(n.startTime.getHours()).padStart(2,"0")].join("/"))(n.frigate.client_id,n.frigate.camera_name,t),((e,t)=>`${e} ${m(t.startTime)}`)(a,t)):null}}class Ie{static isFrigateMedia(e){return this.isFrigateEvent(e)||this.isFrigateRecording(e)}static isFrigateEvent(e){return e instanceof Ce}static isFrigateRecording(e){return e instanceof ve}}class Se{static isFrigateEventQueryResults(e){return e.engine===p.Frigate&&e.type===C.Event}static isFrigateRecordingQueryResults(e){return e.engine===p.Frigate&&e.type===C.Recording}static isFrigateRecordingSegmentsResults(e){return e.engine===p.Frigate&&e.type===C.RecordingSegments}}class Me extends N{constructor(e,t,n,a,r){super(t,r),this._throttledSegmentGarbageCollector=h(this._garbageCollectSegments.bind(this),36e5,{leading:!1,trailing:!0}),this._entityRegistryManager=e,this._frigateEventWatcher=new J,this._recordingSegmentsCache=n,this._requestCache=a}getEngineType(){return p.Frigate}async createCamera(e,t){const n=new G(t,this,{eventCallback:this._eventCallback});return await n.initialize({hass:e,entityRegistryManager:this._entityRegistryManager,stateWatcher:this._stateWatcher,frigateEventWatcher:this._frigateEventWatcher})}async getMediaDownloadPath(e,t,n){return Ie.isFrigateEvent(n)?{endpoint:`/api/frigate/${t.frigate.client_id}/notifications/${n.getID()}/`+(_.isClip(n)?"clip.mp4":"snapshot.jpg")+"?download=true",sign:!0}:Ie.isFrigateRecording(n)?{endpoint:`/api/frigate/${t.frigate.client_id}/recording/${t.frigate.camera_name}/start/${Math.floor(n.getStartTime().getTime()/1e3)}/end/${Math.floor(n.getEndTime().getTime()/1e3)}?download=true`,sign:!0}:null}generateDefaultEventQuery(e,t,n){const a=[...e.getCameraConfigs(t)],r=y(a.map((e=>e?.frigate.zones)),f),i=y(a.map((e=>e?.frigate.labels)),f);if(1===r.length&&1===i.length)return[{type:b.Event,cameraIDs:t,...i[0]&&{what:new Set(i[0])},...r[0]&&{where:new Set(r[0])},...n}];const s=[];for(const a of t){const t=e.getCameraConfig(a);t&&s.push({type:b.Event,cameraIDs:new Set([a]),...t.frigate.labels&&{what:new Set(t.frigate.labels)},...t.frigate.zones&&{where:new Set(t.frigate.zones)},...n})}return s.length?s:null}generateDefaultRecordingQuery(e,t,n){return[{type:b.Recording,cameraIDs:t,...n}]}generateDefaultRecordingSegmentsQuery(e,t,n){return n.start&&n.end?[{type:b.RecordingSegments,cameraIDs:t,start:n.start,end:n.end,...n}]:null}async favoriteMedia(e,t,n,a){Ie.isFrigateEvent(n)&&(await async function(e,t,n,a){const o={type:"frigate/event/retain",instance_id:t,event_id:n,retain:a},c=await r(e,Q,o,!0);if(!c.success)throw new i(s("error.failed_retain"),{request:o,response:c})}(e,t.frigate.client_id,n.getID(),a),n.setFavorite(a))}_buildInstanceToCameraIDMapFromQuery(e,t){const n=new Map;for(const a of t){const t=this._getQueryableCameraConfig(e,a),r=t?.frigate.client_id;r&&(n.has(r)||n.set(r,new Set),n.get(r)?.add(a))}return n}_getFrigateCameraNamesForCameraIDs(e,t){const n=new Set;for(const a of t){const t=this._getQueryableCameraConfig(e,a);t?.frigate.camera_name&&n.add(t.frigate.camera_name)}return n}async getEvents(e,t,n,a){const r=new Map,i=async(i,s)=>{if(!s||!s.size)return;const o={...n,cameraIDs:s},c=a?.useCache??1?this._requestCache.get(o):null;if(c)return void r.set(n,c);const g={instance_id:i,cameras:Array.from(this._getFrigateCameraNamesForCameraIDs(t,s)),...n.what&&{labels:Array.from(n.what)},...n.where&&{zones:Array.from(n.where)},...n.tags&&{sub_labels:Array.from(n.tags)},...n.end&&{before:Math.floor(n.end.getTime()/1e3)},...n.start&&{after:Math.floor(n.start.getTime()/1e3)},...n.limit&&{limit:n.limit},...n.hasClip&&{has_clip:n.hasClip},...n.hasSnapshot&&{has_snapshot:n.hasSnapshot},...n.favorite&&{favorites:n.favorite},limit:n?.limit??$},l={type:C.Event,engine:p.Frigate,instanceID:i,events:await L(e,g),expiry:v(new Date,{seconds:60}),cached:!1};(a?.useCache??1)&&this._requestCache.set(n,{...l,cached:!0},l.expiry),r.set(o,l)},s=this._buildInstanceToCameraIDMapFromQuery(t,n.cameraIDs);return await Promise.all(Array.from(s.keys()).map((e=>i(e,s.get(e))))),r.size?r:null}async getRecordings(e,t,n,a){const i=new Map,s=async(n,s)=>{const o={...n,cameraIDs:new Set([s])},c=a?.useCache??1?this._requestCache.get(o):null;if(c)return void i.set(o,c);const g=this._getQueryableCameraConfig(t,s);if(!g||!g.frigate.camera_name)return;const l=await(async(e,t,n)=>await r(e,U,{type:"frigate/recordings/summary",instance_id:t,camera:n,timezone:e.config.time_zone},!0))(e,g.frigate.client_id,g.frigate.camera_name);let u=[];for(const e of l??[])for(const t of e.hours){const n=v(e.day,{hours:t.hour}),a=x(n),r=H(n);(!o.start||a>=o.start)&&(!o.end||r<=o.end)&&u.push({cameraID:s,startTime:a,endTime:r,events:t.events})}void 0!==o.limit&&(u=S(u,(e=>e.startTime),"desc").slice(0,o.limit));const m={type:C.Recording,engine:p.Frigate,instanceID:g.frigate.client_id,recordings:u,expiry:v(new Date,{seconds:60}),cached:!1};(a?.useCache??1)&&this._requestCache.set(o,{...m,cached:!0},m.expiry),i.set(o,m)};return await Promise.all(Array.from(n.cameraIDs).map((e=>s(n,e)))),i.size?i:null}async getRecordingSegments(e,t,n,a){const i=new Map,s=async(n,s)=>{const o={...n,cameraIDs:new Set([s])},c=this._getQueryableCameraConfig(t,s);if(!c||!c.frigate.camera_name)return;const g={start:o.start,end:o.end},l=a?.useCache??1?this._recordingSegmentsCache.get(s,g):null;if(l)return void i.set(o,{type:C.RecordingSegments,engine:p.Frigate,instanceID:c.frigate.client_id,segments:l,cached:!0});const u={instance_id:c.frigate.client_id,camera:c.frigate.camera_name,after:Math.floor(o.start.getTime()/1e3),before:Math.floor(o.end.getTime()/1e3)},m=await(async(e,t)=>await r(e,W,{type:"frigate/recordings/get",...t},!0))(e,u);(a?.useCache??1)&&this._recordingSegmentsCache.add(s,g,m),i.set(o,{type:C.RecordingSegments,engine:p.Frigate,instanceID:c.frigate.client_id,segments:m,cached:!1})};return await Promise.all(Array.from(n.cameraIDs).map((e=>s(n,e)))),w((()=>this._throttledSegmentGarbageCollector(e,t))),i.size?i:null}_getCameraIDMatch(e,t,n,a){if(1===t.cameraIDs.size)return[...t.cameraIDs][0];for(const[t,r]of e.getCameraConfigEntries())if(r.frigate.client_id===n&&r.frigate.camera_name===a)return t;return null}generateMediaFromEvents(e,t,n,a){if(!Se.isFrigateEventQueryResults(a))return null;const r=[];for(const e of a.events){const i=this._getCameraIDMatch(t,n,a.instanceID,e.camera);if(!i)continue;const s=this._getQueryableCameraConfig(t,i);if(!s)continue;let o=null;if(n.hasClip||n.hasSnapshot||!e.has_clip&&!e.has_snapshot?n.hasSnapshot&&e.has_snapshot?o="snapshot":n.hasClip&&e.has_clip&&(o="clip"):o=e.has_clip?"clip":"snapshot",!o)continue;const c=Te.createEventViewMedia(o,i,s,e,e.sub_label?this._splitSubLabels(e.sub_label):void 0);c&&r.push(c)}return r}generateMediaFromRecordings(e,t,n,a){if(!Se.isFrigateRecordingQueryResults(a))return null;const r=[];for(const n of a.recordings){const a=this._getQueryableCameraConfig(t,n.cameraID);if(!a)continue;const i=Te.createRecordingViewMedia(n.cameraID,n,a,this.getCameraMetadata(e,a).title);i&&r.push(i)}return r}getQueryResultMaxAge(e){return e.type===b.Event||e.type===b.Recording?60:null}async getMediaSeekTime(e,t,n,a,r){const i=n.getStartTime(),s=n.getEndTime();if(!i||!s||as)return null;const o=n.getCameraID(),c={cameraIDs:new Set([o]),start:i,end:s,type:b.RecordingSegments},g=await this.getRecordingSegments(e,t,c,r);return g?this._getSeekTimeInSegments(i,a,Array.from(g.values())[0].segments):null}_getQueryableCameraConfig(e,t){const n=e.getCameraConfig(t);return!n||V(n)?null:n}_splitSubLabels(e){return e.split(",").map((e=>e.trim()))}async getMediaMetadata(e,t,n,a){const i=new Map;if((a?.useCache??1)&&this._requestCache.has(n)){const e=this._requestCache.get(n);if(e)return i.set(n,e),i}const s=new Set,o=new Set,c=new Set,g=new Set,l=this._buildInstanceToCameraIDMapFromQuery(t,n.cameraIDs),u=async(n,a)=>{const i=this._getFrigateCameraNamesForCameraIDs(t,a);for(const t of await(async(e,t)=>await r(e,k,{type:"frigate/events/summary",instance_id:t,timezone:e.config.time_zone},!0))(e,n))i.has(t.camera)&&(t.label&&s.add(t.label),t.zones.length&&t.zones.forEach(o.add,o),t.day&&c.add(t.day),t.sub_label&&this._splitSubLabels(t.sub_label).forEach(g.add,g))},m=async n=>{const r=await this.getRecordings(e,t,{type:b.Recording,cameraIDs:n},a);if(r)for(const e of r.values())if(Se.isFrigateRecordingQueryResults(e))for(const t of e.recordings)c.add(M(t.startTime))};await D([...l.entries()],(([e,t])=>(async()=>{await Promise.all([u(e,t),m(t)])})()));const d={type:C.MediaMetadata,engine:p.Frigate,metadata:{...s.size&&{what:s},...o.size&&{where:o},...c.size&&{days:c},...g.size&&{tags:g}},expiry:v(new Date,{seconds:60}),cached:!1};return(a?.useCache??1)&&this._requestCache.set(n,{...d,cached:!0},d.expiry),i.set(n,d),i}async _garbageCollectSegments(e,t){const n=this._recordingSegmentsCache.getCameraIDs(),a={cameraIDs:new Set(n),type:b.Recording},r=(e,t)=>`${e}/${t.getDate()}/${t.getHours()}`,i=await this.getRecordings(e,t,a);if(i)for(const[e,t]of i){if(!Se.isFrigateRecordingQueryResults(t))continue;const n=new Set;for(const e of t.recordings)n.add(r(e.cameraID,e.startTime));const a=Array.from(e.cameraIDs)[0];this._recordingSegmentsCache.expireMatches(a,(e=>{const t=r(a,j(e.start_time));return!n.has(t)}))}}_getSeekTimeInSegments(e,t,n){if(!n.length)return null;let a=0;for(const r of n){const n=j(r.start_time);if(n>t)break;const i=j(r.end_time),s=nt?t:i).getTime()-s.getTime()}return a/1e3}getMediaCapabilities(e){return{canFavorite:_.isEvent(e),canDownload:!0}}getCameraMetadata(e,t){const n=super.getCameraMetadata(e,t);return{title:t.title??T(e,t.camera_entity)??T(e,t.webrtc_card?.entity)??d(t.frigate?.camera_name)??t.id??"",icon:n.icon,engineLogo:I}}getCameraEndpoints(e,t){const n=(()=>{if(!e.frigate.url)return null;if(!e.frigate.camera_name)return{endpoint:e.frigate.url};const n=`${e.frigate.url}/cameras/`+e.frigate.camera_name;if("live"===t?.view)return{endpoint:n};const a=`${e.frigate.url}/events?camera=`+e.frigate.camera_name,r=`${e.frigate.url}/recording/`+e.frigate.camera_name;switch(t?.media?.getMediaType()){case"clip":case"snapshot":return{endpoint:a};case"recording":const e=t.media.getStartTime();if(e)return{endpoint:r+F(e,"yyyy-MM-dd/HH")}}switch(t?.view){case"clip":case"clips":case"snapshots":case"snapshot":return{endpoint:a};case"recording":case"recordings":return{endpoint:r}}return{endpoint:n}})(),a=E(e,{url:e.go2rtc?.url??`/api/frigate/${e.frigate.client_id}/mse`,stream:e.go2rtc?.stream??e.frigate.camera_name}),r={endpoint:`/api/frigate/${e.frigate.client_id}/jsmpeg/${e.frigate.camera_name}`,sign:!0},i=(()=>{const t=e.frigate.camera_name?e.frigate.camera_name:null;return t?{endpoint:t}:null})();return{...super.getCameraEndpoints(e,t),...n&&{ui:n},...a&&{go2rtc:a},...r&&{jsmpeg:r},...i&&{webrtcCard:i}}}async executePTZAction(e,t,n,a){const r=t.camera_entity;("preset"!==n||a?.preset)&&await e.callService("frigate","ptz",{entity_id:r,action:"stop"===a?.phase?"stop":"zoom_in"===n||"zoom_out"===n?"zoom":"preset"===n?"preset":"move",..."stop"!==a?.phase&&{argument:"zoom_in"===n?"in":"zoom_out"===n?"out":"preset"===n?a?.preset:n}})}}export{Me as FrigateCameraManagerEngine}; diff --git a/config/www/community/frigate-hass-card/engine-frigate-7cd5392b.js.gz b/config/www/community/frigate-hass-card/engine-frigate-7cd5392b.js.gz deleted file mode 100644 index fa36bfa2b62ab424cb8efcbab09f811fb6901886..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8637 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 P!QcKLCY9LN(r5qxTh_q~ diff --git a/config/www/community/frigate-hass-card/engine-frigate-a6e3bd9e.js b/config/www/community/frigate-hass-card/engine-frigate-a6e3bd9e.js deleted file mode 100644 index 52621318..00000000 --- a/config/www/community/frigate-hass-card/engine-frigate-a6e3bd9e.js +++ /dev/null @@ -1,3 +0,0 @@ -import{d3 as e,d_ as t,d$ as n,e0 as a,e1 as r,e2 as i,l as s,e3 as o,e4 as c,e5 as g,e6 as l,db as u,dT as m,k as d,i as f,dh as h,e7 as p,dn as _,d9 as y,d7 as b,e8 as w,e9 as D,ea as C,dQ as v,j as T,eb as I,dc as S,de as M,dd as F}from"./card-7cd05290.js";import{C as $}from"./engine-86b0096c.js";import{C as z,G as N,g as E}from"./engine-generic-96b32038.js";import{a as R,V as Y}from"./media-c9012082.js";import{s as x,e as H}from"./startOfHour-f3ea02fd.js";function j(t){return e(1e3*t)}const Z=n.object({camera:n.string(),end_time:n.number().nullable(),false_positive:n.boolean().nullable(),has_clip:n.boolean(),has_snapshot:n.boolean(),id:n.string(),label:n.string(),sub_label:n.string().nullable(),start_time:n.number(),top_score:n.number().nullable(),zones:n.string().array(),retain_indefinitely:n.boolean().optional()}).array(),q=n.object({hour:n.preprocess((e=>Number(e)),n.number().min(0).max(23)),duration:n.number().min(0),events:n.number().min(0)}),U=n.object({day:n.preprocess((e=>"string"==typeof e?a(e):e),n.date()),events:n.number(),hours:q.array()}).array(),W=n.object({start_time:n.number(),end_time:n.number(),id:n.string()}).array(),Q=n.object({success:n.boolean(),message:n.string()}),k=n.object({camera:n.string(),day:n.string(),label:n.string(),sub_label:n.string().nullable(),zones:n.string().array()}).array(),P=n.object({name:n.string().optional(),features:n.string().array().optional(),presets:n.string().array().optional()}),A=n.object({camera:n.string(),snapshot:n.object({frame_time:n.number()}).nullable(),has_clip:n.boolean(),has_snapshot:n.boolean(),label:n.string(),current_zones:n.string().array()}),O=n.object({before:A,after:A,type:n.enum(["new","update","end"])});const L=async(e,t)=>await r(e,Z,{type:"frigate/events/get",...t},!0),V=e=>"birdseye"===e.frigate.camera_name;class G extends z{constructor(e,t,n){super(e,t,n),this._frigateEventHandler=e=>{const t=!e.before.has_snapshot&&e.after.has_snapshot||e.before.snapshot?.frame_time!==e.after.snapshot?.frame_time,n=!e.before.has_clip&&e.after.has_clip,a=this.getConfig();if(a.frigate.zones?.length&&!a.frigate.zones.some((t=>e.after.current_zones.includes(t)))||a.frigate.labels?.length&&!a.frigate.labels.includes(e.after.label))return;const r=a.triggers.events;(r.includes("events")||r.includes("snapshots")&&t||r.includes("clips")&&n)&&this._eventCallback?.({fidelity:"high",cameraID:this.getID(),type:e.type,clip:n&&r.includes("clips"),snapshot:t&&r.includes("snapshots")})}}async initialize(e){return await this._initializeConfig(e.hass,e.entityRegistryManager),await this._initializeCapabilities(e.hass),await this._subscribeToEvents(e.hass,e.frigateEventWatcher),await super.initialize(e)}async _initializeConfig(e,n){const a=this.getConfig(),r=!!a.frigate?.camera_name,i=a.triggers.motion||a.triggers.occupancy;let g=null;const l=o(a);if(l&&(!r||i)&&(g=await n.getEntity(e,l),!g))throw new c(s("error.no_camera_entity"),a);if(g&&!r){const e=this._getFrigateCameraNameFromEntity(g);e&&(this._config.frigate.camera_name=e)}if(i){const r=await n.getMatchingEntities(e,(e=>e.config_entry_id===g?.config_entry_id&&!e.disabled_by&&e.entity_id.startsWith("binary_sensor.")));if(a.triggers.motion){const e=this._getMotionSensor(a,[...r.values()]);e&&a.triggers.entities.push(e)}if(a.triggers.occupancy){const e=this._getOccupancySensor(a,[...r.values()]);e&&a.triggers.entities.push(...e)}a.triggers.entities=(u=a.triggers.entities)&&u.length?t(u):[]}var u}async _initializeCapabilities(e){const t=this.getConfig(),n=g(this.getConfig()),a=await this._getPTZCapabilities(e,t),r=n||a?{...a,...n}:null,i=V(t);this._capabilities=new l({"favorite-events":!i,"favorite-recordings":!1,seek:!i,clips:!i,snapshots:!i,recordings:!i,live:!0,menu:!0,substream:!0,...r&&{ptz:r}},{disable:t.capabilities?.disable,disableExcept:t.capabilities?.disable_except})}_getFrigateCameraNameFromEntity(e){if("frigate"===e.platform&&e.unique_id&&"string"==typeof e.unique_id){const t=e.unique_id.match(/:camera:(?[^:]+)$/);if(t&&t.groups)return t.groups.camera}return null}async _getPTZCapabilities(e,t){if(!t.frigate.camera_name||V(t))return null;let n=null;try{n=await(async(e,t,n)=>await r(e,P,{type:"frigate/ptz/info",instance_id:t,camera:n},!0))(e,t.frigate.client_id,t.frigate.camera_name)}catch(e){return u(e),null}const a=[...n.features?.includes("pt")?["continuous"]:[]],i=[...n.features?.includes("zoom")?["continuous"]:[]],s=n.presets;return a.length||i.length||s?.length?{...a&&{left:a,right:a,up:a,down:a},...i&&{zoomIn:i,zoomOut:i},...s&&{presets:s}}:null}_getMotionSensor(e,t){return e.frigate.camera_name?t.find((t=>"string"==typeof t.unique_id&&!!t.unique_id?.match(new RegExp(`:motion_sensor:${e.frigate.camera_name}`))))?.entity_id??null:null}_getOccupancySensor(e,t){const n=[],a=(e,a)=>{const r=t.find((t=>"string"==typeof t.unique_id&&!!t.unique_id?.match(new RegExp(`:occupancy_sensor:${e}_${a}`))))?.entity_id??null;r&&n.push(r)};if(e.frigate.camera_name){const t=e.frigate.zones?.length?e.frigate.zones:[e.frigate.camera_name],r=e.frigate.labels?.length?e.frigate.labels:["all"];for(const e of t)for(const t of r)a(e,t);if(n.length)return n}return null}async _subscribeToEvents(e,t){const n=this.getConfig();if(!n.triggers.events.length||!n.frigate.camera_name)return; -/* istanbul ignore next -- exercising the matcher is not possible when the - test uses an event watcher -- @preserve */const a={instanceID:n.frigate.client_id,callback:e=>this._frigateEventHandler(e),matcher:e=>e.after.camera===n.frigate.camera_name};await t.subscribe(e,a),this._onDestroy((()=>t.unsubscribe(a)))}}class J{constructor(){this._requests=[],this._unsubscribeCallback={}}async subscribe(e,t){const n=!this._hasSubscribers(t.instanceID);this._requests.push(t),n&&(this._unsubscribeCallback[t.instanceID]=await e.connection.subscribeMessage((e=>this._receiveHandler(t.instanceID,e)),{type:"frigate/events/subscribe",instance_id:t.instanceID}))}async unsubscribe(e){this._requests=this._requests.filter((t=>t!==e)),this._hasSubscribers(e.instanceID)||(await this._unsubscribeCallback[e.instanceID](),delete this._unsubscribeCallback[e.instanceID])}_hasSubscribers(e){return!!this._requests.filter((t=>t.instanceID===e)).length}_receiveHandler(e,t){let n;try{n=JSON.parse(t)}catch(e){return void console.warn("Received non-JSON payload as Frigate event",t)}const a=O.safeParse(n);if(a.success)for(const t of this._requests)t.instanceID!==e||t.matcher&&!t.matcher(a.data)||t.callback(a.data);else console.warn("Received malformed Frigate event from Home Assistant",t)}}function B(e,t){const n=function(e){if(!X[e]){const t=new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:"America/New_York",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date("2014-06-25T04:00:00.123Z")),n="06/25/2014, 00:00:00"===t||"‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00"===t;X[e]=n?new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:e,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:e,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})}return X[e]}(t);return"formatToParts"in n?function(e,t){try{const n=e.formatToParts(t),a=[];for(let e=0;e=0?i:1e3+i,a-r}function se(e,t){return-23<=e&&e<=23&&(null==t||0<=t&&t<=59)}const oe={};function ce(e){const t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.setUTCFullYear(e.getFullYear()),+e-+t}const ge=36e5,le=6e4,ue=2,me={dateTimePattern:/^([0-9W+-]+)(T| )(.*)/,datePattern:/^([0-9W+-]+)(.*)/,plainTime:/:/,YY:/^(\d{2})$/,YYY:[/^([+-]\d{2})$/,/^([+-]\d{3})$/,/^([+-]\d{4})$/],YYYY:/^(\d{4})/,YYYYY:[/^([+-]\d{4})/,/^([+-]\d{5})/,/^([+-]\d{6})/],MM:/^-(\d{2})$/,DDD:/^-?(\d{3})$/,MMDD:/^-?(\d{2})-?(\d{2})$/,Www:/^-?W(\d{2})$/,WwwD:/^-?W(\d{2})-?(\d{1})$/,HH:/^(\d{2}([.,]\d*)?)$/,HHMM:/^(\d{2}):?(\d{2}([.,]\d*)?)$/,HHMMSS:/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/,timeZone:/(Z|[+-]\d{2}(?::?\d{2})?| UTC| [a-zA-Z]+\/[a-zA-Z_]+(?:\/[a-zA-Z_]+)?)$/};function de(e,t={}){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");if(null===e)return new Date(NaN);const n=null==t.additionalDigits?ue:Number(t.additionalDigits);if(2!==n&&1!==n&&0!==n)throw new RangeError("additionalDigits must be 0, 1 or 2");if(e instanceof Date||"object"==typeof e&&"[object Date]"===Object.prototype.toString.call(e))return new Date(e.getTime());if("number"==typeof e||"[object Number]"===Object.prototype.toString.call(e))return new Date(e);if("[object String]"!==Object.prototype.toString.call(e))return new Date(NaN);const a=function(e){const t={};let n,a=me.dateTimePattern.exec(e);a?(t.date=a[1],n=a[3]):(a=me.datePattern.exec(e),a?(t.date=a[1],n=a[2]):(t.date=null,n=e));if(n){const e=me.timeZone.exec(n);e?(t.time=n.replace(e[1],""),t.timeZone=e[1].trim()):t.time=n}return t}(e),{year:r,restDateString:i}=function(e,t){if(e){const n=me.YYY[t],a=me.YYYYY[t];let r=me.YYYY.exec(e)||a.exec(e);if(r){const t=r[1];return{year:parseInt(t,10),restDateString:e.slice(t.length)}}if(r=me.YY.exec(e)||n.exec(e),r){const t=r[1];return{year:100*parseInt(t,10),restDateString:e.slice(t.length)}}}return{year:null}}(a.date,n),s=function(e,t){if(null===t)return null;let n,a,r;if(!e||!e.length)return n=new Date(0),n.setUTCFullYear(t),n;let i=me.MM.exec(e);if(i)return n=new Date(0),a=parseInt(i[1],10)-1,ye(t,a)?(n.setUTCFullYear(t,a),n):new Date(NaN);if(i=me.DDD.exec(e),i){n=new Date(0);const e=parseInt(i[1],10);return function(e,t){if(t<1)return!1;const n=_e(e);if(n&&t>366)return!1;if(!n&&t>365)return!1;return!0}(t,e)?(n.setUTCFullYear(t,0,e),n):new Date(NaN)}if(i=me.MMDD.exec(e),i){n=new Date(0),a=parseInt(i[1],10)-1;const e=parseInt(i[2],10);return ye(t,a,e)?(n.setUTCFullYear(t,a,e),n):new Date(NaN)}if(i=me.Www.exec(e),i)return r=parseInt(i[1],10)-1,be(r)?fe(t,r):new Date(NaN);if(i=me.WwwD.exec(e),i){r=parseInt(i[1],10)-1;const e=parseInt(i[2],10)-1;return be(r,e)?fe(t,r,e):new Date(NaN)}return null}(i,r);if(null===s||isNaN(s.getTime()))return new Date(NaN);if(s){const e=s.getTime();let n,r=0;if(a.time&&(r=function(e){let t,n,a=me.HH.exec(e);if(a)return t=parseFloat(a[1].replace(",",".")),we(t)?t%24*ge:NaN;if(a=me.HHMM.exec(e),a)return t=parseInt(a[1],10),n=parseFloat(a[2].replace(",",".")),we(t,n)?t%24*ge+n*le:NaN;if(a=me.HHMMSS.exec(e),a){t=parseInt(a[1],10),n=parseInt(a[2],10);const e=parseFloat(a[3].replace(",","."));return we(t,n,e)?t%24*ge+n*le+1e3*e:NaN}return null}(a.time),null===r||isNaN(r)))return new Date(NaN);if(a.timeZone||t.timeZone){if(n=re(a.timeZone||t.timeZone,new Date(e+r)),isNaN(n))return new Date(NaN)}else n=ce(new Date(e+r)),n=ce(new Date(e+r+n));return new Date(e+r+n)}return new Date(NaN)}function fe(e,t,n){t=t||0,n=n||0;const a=new Date(0);a.setUTCFullYear(e,0,4);const r=7*t+n+1-(a.getUTCDay()||7);return a.setUTCDate(a.getUTCDate()+r),a}const he=[31,28,31,30,31,30,31,31,30,31,30,31],pe=[31,29,31,30,31,30,31,31,30,31,30,31];function _e(e){return e%400==0||e%4==0&&e%100!=0}function ye(e,t,n){if(t<0||t>11)return!1;if(null!=n){if(n<1)return!1;const a=_e(e);if(a&&n>pe[t])return!1;if(!a&&n>he[t])return!1}return!0}function be(e,t){return!(e<0||e>52)&&(null==t||!(t<0||t>6))}function we(e,t,n){return!(e<0||e>=25)&&((null==t||!(t<0||t>=60))&&(null==n||!(n<0||n>=60)))}const De=e=>{const t=Intl.DateTimeFormat().resolvedOptions().timeZone,n=Math.round(e.end_time?e.end_time-e.start_time:Date.now()/1e3-e.start_time),a=null!==e.top_score?` ${Math.round(100*e.top_score)}%`:"";return`${m(function(e,t,n){const a=re(t,e=de(e,n),!0),r=new Date(e.getTime()-a),i=new Date(0);return i.setFullYear(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate()),i.setHours(r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()),i}(1e3*e.start_time,t))} [${n}s, ${d(e.label)}${a}]`};class Ce extends R{constructor(e,t,n,a,r,i){super(e,t),this._event=n,this._contentID=a,this._thumbnail=r,this._subLabels=i??null}getStartTime(){return j(this._event.start_time)}getEndTime(){return this._event.end_time?j(this._event.end_time):null}inProgress(){return!this.getEndTime()}getVideoContentType(){return Y.HLS}getID(){return this._event.id}getContentID(){return this._contentID}getTitle(){return De(this._event)}getThumbnail(){return this._thumbnail}isFavorite(){return this._event.retain_indefinitely??null}setFavorite(e){this._event.retain_indefinitely=e}getWhat(){return[this._event.label]}getWhere(){const e=this._event.zones;return e.length?e:null}getScore(){return this._event.top_score}getTags(){return this._subLabels}isGroupableWith(e){return this.getMediaType()===e.getMediaType()&&f(this.getWhere(),e.getWhere())&&f(this.getWhat(),e.getWhat())}}class ve extends R{constructor(e,t,n,a,r,i){super(e,t),this._recording=n,this._id=a,this._contentID=r,this._title=i}getID(){return this._id}getStartTime(){return this._recording.startTime}getEndTime(){return this._recording.endTime}inProgress(){return!this.getEndTime()}getVideoContentType(){return Y.HLS}getContentID(){return this._contentID}getTitle(){return this._title}getEventCount(){return this._recording.events}}class Te{static createEventViewMedia(e,t,n,a,r){return"clip"===e&&!a.has_clip||"snapshot"===e&&!a.has_snapshot||!n.frigate.client_id||!n.frigate.camera_name?null:new Ce(e,t,a,((e,t,n,a)=>`media-source://frigate/${e}/event/${a}/${t}/${n.id}`)(n.frigate.client_id,n.frigate.camera_name,a,"clip"===e?"clips":"snapshots"),((e,t)=>`/api/frigate/${e}/thumbnail/${t.id}`)(n.frigate.client_id,a),r)}static createRecordingViewMedia(e,t,n,a){return n.frigate.client_id&&n.frigate.camera_name?new ve("recording",e,t,((e,t)=>`${e.frigate?.client_id??""}/${e.frigate.camera_name??""}/${t.startTime.getTime()}/${t.endTime.getTime()}`)(n,t),((e,t,n)=>["media-source://frigate",e,"recordings",t,`${n.startTime.getFullYear()}-${String(n.startTime.getMonth()+1).padStart(2,"0")}-${String(String(n.startTime.getDate()).padStart(2,"0"))}`,String(n.startTime.getHours()).padStart(2,"0")].join("/"))(n.frigate.client_id,n.frigate.camera_name,t),((e,t)=>`${e} ${m(t.startTime)}`)(a,t)):null}}class Ie{static isFrigateMedia(e){return this.isFrigateEvent(e)||this.isFrigateRecording(e)}static isFrigateEvent(e){return e instanceof Ce}static isFrigateRecording(e){return e instanceof ve}}class Se{static isFrigateEventQueryResults(e){return e.engine===p.Frigate&&e.type===C.Event}static isFrigateRecordingQueryResults(e){return e.engine===p.Frigate&&e.type===C.Recording}static isFrigateRecordingSegmentsResults(e){return e.engine===p.Frigate&&e.type===C.RecordingSegments}}class Me extends N{constructor(e,t,n,a,r){super(t,r),this._throttledSegmentGarbageCollector=h(this._garbageCollectSegments.bind(this),36e5,{leading:!1,trailing:!0}),this._entityRegistryManager=e,this._frigateEventWatcher=new J,this._recordingSegmentsCache=n,this._requestCache=a}getEngineType(){return p.Frigate}async createCamera(e,t){const n=new G(t,this,{eventCallback:this._eventCallback});return await n.initialize({hass:e,entityRegistryManager:this._entityRegistryManager,stateWatcher:this._stateWatcher,frigateEventWatcher:this._frigateEventWatcher})}async getMediaDownloadPath(e,t,n){return Ie.isFrigateEvent(n)?{endpoint:`/api/frigate/${t.frigate.client_id}/notifications/${n.getID()}/`+(_.isClip(n)?"clip.mp4":"snapshot.jpg")+"?download=true",sign:!0}:Ie.isFrigateRecording(n)?{endpoint:`/api/frigate/${t.frigate.client_id}/recording/${t.frigate.camera_name}/start/${Math.floor(n.getStartTime().getTime()/1e3)}/end/${Math.floor(n.getEndTime().getTime()/1e3)}?download=true`,sign:!0}:null}generateDefaultEventQuery(e,t,n){const a=[...e.getCameraConfigs(t)],r=y(a.map((e=>e?.frigate.zones)),f),i=y(a.map((e=>e?.frigate.labels)),f);if(1===r.length&&1===i.length)return[{type:b.Event,cameraIDs:t,...i[0]&&{what:new Set(i[0])},...r[0]&&{where:new Set(r[0])},...n}];const s=[];for(const a of t){const t=e.getCameraConfig(a);t&&s.push({type:b.Event,cameraIDs:new Set([a]),...t.frigate.labels&&{what:new Set(t.frigate.labels)},...t.frigate.zones&&{where:new Set(t.frigate.zones)},...n})}return s.length?s:null}generateDefaultRecordingQuery(e,t,n){return[{type:b.Recording,cameraIDs:t,...n}]}generateDefaultRecordingSegmentsQuery(e,t,n){return n.start&&n.end?[{type:b.RecordingSegments,cameraIDs:t,start:n.start,end:n.end,...n}]:null}async favoriteMedia(e,t,n,a){Ie.isFrigateEvent(n)&&(await async function(e,t,n,a){const o={type:"frigate/event/retain",instance_id:t,event_id:n,retain:a},c=await r(e,Q,o,!0);if(!c.success)throw new i(s("error.failed_retain"),{request:o,response:c})}(e,t.frigate.client_id,n.getID(),a),n.setFavorite(a))}_buildInstanceToCameraIDMapFromQuery(e,t){const n=new Map;for(const a of t){const t=this._getQueryableCameraConfig(e,a),r=t?.frigate.client_id;r&&(n.has(r)||n.set(r,new Set),n.get(r)?.add(a))}return n}_getFrigateCameraNamesForCameraIDs(e,t){const n=new Set;for(const a of t){const t=this._getQueryableCameraConfig(e,a);t?.frigate.camera_name&&n.add(t.frigate.camera_name)}return n}async getEvents(e,t,n,a){const r=new Map,i=async(i,s)=>{if(!s||!s.size)return;const o={...n,cameraIDs:s},c=a?.useCache??1?this._requestCache.get(o):null;if(c)return void r.set(n,c);const g={instance_id:i,cameras:Array.from(this._getFrigateCameraNamesForCameraIDs(t,s)),...n.what&&{labels:Array.from(n.what)},...n.where&&{zones:Array.from(n.where)},...n.tags&&{sub_labels:Array.from(n.tags)},...n.end&&{before:Math.floor(n.end.getTime()/1e3)},...n.start&&{after:Math.floor(n.start.getTime()/1e3)},...n.limit&&{limit:n.limit},...n.hasClip&&{has_clip:n.hasClip},...n.hasSnapshot&&{has_snapshot:n.hasSnapshot},...n.favorite&&{favorites:n.favorite},limit:n?.limit??$},l={type:C.Event,engine:p.Frigate,instanceID:i,events:await L(e,g),expiry:v(new Date,{seconds:60}),cached:!1};(a?.useCache??1)&&this._requestCache.set(n,{...l,cached:!0},l.expiry),r.set(o,l)},s=this._buildInstanceToCameraIDMapFromQuery(t,n.cameraIDs);return await Promise.all(Array.from(s.keys()).map((e=>i(e,s.get(e))))),r.size?r:null}async getRecordings(e,t,n,a){const i=new Map,s=async(n,s)=>{const o={...n,cameraIDs:new Set([s])},c=a?.useCache??1?this._requestCache.get(o):null;if(c)return void i.set(o,c);const g=this._getQueryableCameraConfig(t,s);if(!g||!g.frigate.camera_name)return;const l=await(async(e,t,n)=>await r(e,U,{type:"frigate/recordings/summary",instance_id:t,camera:n,timezone:e.config.time_zone},!0))(e,g.frigate.client_id,g.frigate.camera_name);let u=[];for(const e of l??[])for(const t of e.hours){const n=v(e.day,{hours:t.hour}),a=x(n),r=H(n);(!o.start||a>=o.start)&&(!o.end||r<=o.end)&&u.push({cameraID:s,startTime:a,endTime:r,events:t.events})}void 0!==o.limit&&(u=S(u,(e=>e.startTime),"desc").slice(0,o.limit));const m={type:C.Recording,engine:p.Frigate,instanceID:g.frigate.client_id,recordings:u,expiry:v(new Date,{seconds:60}),cached:!1};(a?.useCache??1)&&this._requestCache.set(o,{...m,cached:!0},m.expiry),i.set(o,m)};return await Promise.all(Array.from(n.cameraIDs).map((e=>s(n,e)))),i.size?i:null}async getRecordingSegments(e,t,n,a){const i=new Map,s=async(n,s)=>{const o={...n,cameraIDs:new Set([s])},c=this._getQueryableCameraConfig(t,s);if(!c||!c.frigate.camera_name)return;const g={start:o.start,end:o.end},l=a?.useCache??1?this._recordingSegmentsCache.get(s,g):null;if(l)return void i.set(o,{type:C.RecordingSegments,engine:p.Frigate,instanceID:c.frigate.client_id,segments:l,cached:!0});const u={instance_id:c.frigate.client_id,camera:c.frigate.camera_name,after:Math.floor(o.start.getTime()/1e3),before:Math.floor(o.end.getTime()/1e3)},m=await(async(e,t)=>await r(e,W,{type:"frigate/recordings/get",...t},!0))(e,u);(a?.useCache??1)&&this._recordingSegmentsCache.add(s,g,m),i.set(o,{type:C.RecordingSegments,engine:p.Frigate,instanceID:c.frigate.client_id,segments:m,cached:!1})};return await Promise.all(Array.from(n.cameraIDs).map((e=>s(n,e)))),w((()=>this._throttledSegmentGarbageCollector(e,t))),i.size?i:null}_getCameraIDMatch(e,t,n,a){if(1===t.cameraIDs.size)return[...t.cameraIDs][0];for(const[t,r]of e.getCameraConfigEntries())if(r.frigate.client_id===n&&r.frigate.camera_name===a)return t;return null}generateMediaFromEvents(e,t,n,a){if(!Se.isFrigateEventQueryResults(a))return null;const r=[];for(const e of a.events){const i=this._getCameraIDMatch(t,n,a.instanceID,e.camera);if(!i)continue;const s=this._getQueryableCameraConfig(t,i);if(!s)continue;let o=null;if(n.hasClip||n.hasSnapshot||!e.has_clip&&!e.has_snapshot?n.hasSnapshot&&e.has_snapshot?o="snapshot":n.hasClip&&e.has_clip&&(o="clip"):o=e.has_clip?"clip":"snapshot",!o)continue;const c=Te.createEventViewMedia(o,i,s,e,e.sub_label?this._splitSubLabels(e.sub_label):void 0);c&&r.push(c)}return r}generateMediaFromRecordings(e,t,n,a){if(!Se.isFrigateRecordingQueryResults(a))return null;const r=[];for(const n of a.recordings){const a=this._getQueryableCameraConfig(t,n.cameraID);if(!a)continue;const i=Te.createRecordingViewMedia(n.cameraID,n,a,this.getCameraMetadata(e,a).title);i&&r.push(i)}return r}getQueryResultMaxAge(e){return e.type===b.Event||e.type===b.Recording?60:null}async getMediaSeekTime(e,t,n,a,r){const i=n.getStartTime(),s=n.getEndTime();if(!i||!s||as)return null;const o=n.getCameraID(),c={cameraIDs:new Set([o]),start:i,end:s,type:b.RecordingSegments},g=await this.getRecordingSegments(e,t,c,r);return g?this._getSeekTimeInSegments(i,a,Array.from(g.values())[0].segments):null}_getQueryableCameraConfig(e,t){const n=e.getCameraConfig(t);return!n||V(n)?null:n}_splitSubLabels(e){return e.split(",").map((e=>e.trim()))}async getMediaMetadata(e,t,n,a){const i=new Map;if((a?.useCache??1)&&this._requestCache.has(n)){const e=this._requestCache.get(n);if(e)return i.set(n,e),i}const s=new Set,o=new Set,c=new Set,g=new Set,l=this._buildInstanceToCameraIDMapFromQuery(t,n.cameraIDs),u=async(n,a)=>{const i=this._getFrigateCameraNamesForCameraIDs(t,a);for(const t of await(async(e,t)=>await r(e,k,{type:"frigate/events/summary",instance_id:t,timezone:e.config.time_zone},!0))(e,n))i.has(t.camera)&&(t.label&&s.add(t.label),t.zones.length&&t.zones.forEach(o.add,o),t.day&&c.add(t.day),t.sub_label&&this._splitSubLabels(t.sub_label).forEach(g.add,g))},m=async n=>{const r=await this.getRecordings(e,t,{type:b.Recording,cameraIDs:n},a);if(r)for(const e of r.values())if(Se.isFrigateRecordingQueryResults(e))for(const t of e.recordings)c.add(M(t.startTime))};await D([...l.entries()],(([e,t])=>(async()=>{await Promise.all([u(e,t),m(t)])})()));const d={type:C.MediaMetadata,engine:p.Frigate,metadata:{...s.size&&{what:s},...o.size&&{where:o},...c.size&&{days:c},...g.size&&{tags:g}},expiry:v(new Date,{seconds:60}),cached:!1};return(a?.useCache??1)&&this._requestCache.set(n,{...d,cached:!0},d.expiry),i.set(n,d),i}async _garbageCollectSegments(e,t){const n=this._recordingSegmentsCache.getCameraIDs(),a={cameraIDs:new Set(n),type:b.Recording},r=(e,t)=>`${e}/${t.getDate()}/${t.getHours()}`,i=await this.getRecordings(e,t,a);if(i)for(const[e,t]of i){if(!Se.isFrigateRecordingQueryResults(t))continue;const n=new Set;for(const e of t.recordings)n.add(r(e.cameraID,e.startTime));const a=Array.from(e.cameraIDs)[0];this._recordingSegmentsCache.expireMatches(a,(e=>{const t=r(a,j(e.start_time));return!n.has(t)}))}}_getSeekTimeInSegments(e,t,n){if(!n.length)return null;let a=0;for(const r of n){const n=j(r.start_time);if(n>t)break;const i=j(r.end_time),s=nt?t:i).getTime()-s.getTime()}return a/1e3}getMediaCapabilities(e){return{canFavorite:_.isEvent(e),canDownload:!0}}getCameraMetadata(e,t){const n=super.getCameraMetadata(e,t);return{title:t.title??T(e,t.camera_entity)??T(e,t.webrtc_card?.entity)??d(t.frigate?.camera_name)??t.id??"",icon:n.icon,engineLogo:I}}getCameraEndpoints(e,t){const n=(()=>{if(!e.frigate.url)return null;if(!e.frigate.camera_name)return{endpoint:e.frigate.url};const n=`${e.frigate.url}/cameras/`+e.frigate.camera_name;if("live"===t?.view)return{endpoint:n};const a=`${e.frigate.url}/events?camera=`+e.frigate.camera_name,r=`${e.frigate.url}/recording/`+e.frigate.camera_name;switch(t?.media?.getMediaType()){case"clip":case"snapshot":return{endpoint:a};case"recording":const e=t.media.getStartTime();if(e)return{endpoint:r+F(e,"yyyy-MM-dd/HH")}}switch(t?.view){case"clip":case"clips":case"snapshots":case"snapshot":return{endpoint:a};case"recording":case"recordings":return{endpoint:r}}return{endpoint:n}})(),a=E(e,{url:e.go2rtc?.url??`/api/frigate/${e.frigate.client_id}/mse`,stream:e.go2rtc?.stream??e.frigate.camera_name}),r={endpoint:`/api/frigate/${e.frigate.client_id}/jsmpeg/${e.frigate.camera_name}`,sign:!0},i=(()=>{const t=e.frigate.camera_name?e.frigate.camera_name:null;return t?{endpoint:t}:null})();return{...super.getCameraEndpoints(e,t),...n&&{ui:n},...a&&{go2rtc:a},...r&&{jsmpeg:r},...i&&{webrtcCard:i}}}async executePTZAction(e,t,n,a){const r=t.camera_entity;("preset"!==n||a?.preset)&&await e.callService("frigate","ptz",{entity_id:r,action:"stop"===a?.phase?"stop":"zoom_in"===n||"zoom_out"===n?"zoom":"preset"===n?"preset":"move",..."stop"!==a?.phase&&{argument:"zoom_in"===n?"in":"zoom_out"===n?"out":"preset"===n?a?.preset:n}})}}export{Me as FrigateCameraManagerEngine}; diff --git a/config/www/community/frigate-hass-card/engine-frigate-a6e3bd9e.js.gz b/config/www/community/frigate-hass-card/engine-frigate-a6e3bd9e.js.gz deleted file mode 100644 index aef7b531f5d36786e8d76993934d7f914d4b60f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8638 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 QdH9$A2Vq~v2hwN&0BLZk(f|Me diff --git a/config/www/community/frigate-hass-card/engine-frigate-be325e58.js b/config/www/community/frigate-hass-card/engine-frigate-be325e58.js deleted file mode 100644 index d3a3d6b8..00000000 --- a/config/www/community/frigate-hass-card/engine-frigate-be325e58.js +++ /dev/null @@ -1,3 +0,0 @@ -import{c_ as e,dW as t,dX as n,dY as a,dZ as r,d_ as i,l as s,d$ as o,e0 as c,e1 as g,e2 as l,d6 as u,dP as m,k as d,i as f,dc as h,e3 as p,di as _,d4 as y,d2 as b,e4 as w,e5 as D,e6 as C,dM as v,j as T,d7 as I,d9 as S,d8 as M}from"./card-e5d55e5b.js";import{C as F}from"./engine-86b0096c.js";import{C as $,G as z,g as N}from"./engine-generic-93cdbee6.js";import{a as E,V as R}from"./media-c9012082.js";import{s as Y,e as x}from"./startOfHour-34edc6a8.js";function H(t){return e(1e3*t)}const j=n.object({camera:n.string(),end_time:n.number().nullable(),false_positive:n.boolean().nullable(),has_clip:n.boolean(),has_snapshot:n.boolean(),id:n.string(),label:n.string(),sub_label:n.string().nullable(),start_time:n.number(),top_score:n.number().nullable(),zones:n.string().array(),retain_indefinitely:n.boolean().optional()}).array(),Z=n.object({hour:n.preprocess((e=>Number(e)),n.number().min(0).max(23)),duration:n.number().min(0),events:n.number().min(0)}),q=n.object({day:n.preprocess((e=>"string"==typeof e?a(e):e),n.date()),events:n.number(),hours:Z.array()}).array(),U=n.object({start_time:n.number(),end_time:n.number(),id:n.string()}).array(),W=n.object({success:n.boolean(),message:n.string()}),Q=n.object({camera:n.string(),day:n.string(),label:n.string(),sub_label:n.string().nullable(),zones:n.string().array()}).array(),P=n.object({name:n.string().optional(),features:n.string().array().optional(),presets:n.string().array().optional()}),k=n.object({camera:n.string(),snapshot:n.object({frame_time:n.number()}).nullable(),has_clip:n.boolean(),has_snapshot:n.boolean(),label:n.string(),current_zones:n.string().array()}),A=n.object({before:k,after:k,type:n.enum(["new","update","end"])});const O=async(e,t)=>await r(e,j,{type:"frigate/events/get",...t},!0),L=e=>"birdseye"===e.frigate.camera_name;class V extends ${constructor(e,t,n){super(e,t,n),this._frigateEventHandler=e=>{const t=!e.before.has_snapshot&&e.after.has_snapshot||e.before.snapshot?.frame_time!==e.after.snapshot?.frame_time,n=!e.before.has_clip&&e.after.has_clip,a=this.getConfig();if(a.frigate.zones?.length&&!a.frigate.zones.some((t=>e.after.current_zones.includes(t)))||a.frigate.labels?.length&&!a.frigate.labels.includes(e.after.label))return;const r=a.triggers.events;(r.includes("events")||r.includes("snapshots")&&t||r.includes("clips")&&n)&&this._eventCallback?.({fidelity:"high",cameraID:this.getID(),type:e.type,clip:n&&r.includes("clips"),snapshot:t&&r.includes("snapshots")})}}async initialize(e){return await this._initializeConfig(e.hass,e.entityRegistryManager),await this._initializeCapabilities(e.hass),await this._subscribeToEvents(e.hass,e.frigateEventWatcher),await super.initialize(e)}async _initializeConfig(e,n){const a=this.getConfig(),r=!!a.frigate?.camera_name,i=a.triggers.motion||a.triggers.occupancy;let g=null;const l=o(a);if(l&&(!r||i)&&(g=await n.getEntity(e,l),!g))throw new c(s("error.no_camera_entity"),a);if(g&&!r){const e=this._getFrigateCameraNameFromEntity(g);e&&(this._config.frigate.camera_name=e)}if(i){const r=await n.getMatchingEntities(e,(e=>e.config_entry_id===g?.config_entry_id&&!e.disabled_by&&e.entity_id.startsWith("binary_sensor.")));if(a.triggers.motion){const e=this._getMotionSensor(a,[...r.values()]);e&&a.triggers.entities.push(e)}if(a.triggers.occupancy){const e=this._getOccupancySensor(a,[...r.values()]);e&&a.triggers.entities.push(...e)}a.triggers.entities=(u=a.triggers.entities)&&u.length?t(u):[]}var u}async _initializeCapabilities(e){const t=this.getConfig(),n=g(this.getConfig()),a=await this._getPTZCapabilities(e,t),r=n||a?{...a,...n}:null,i=L(t);this._capabilities=new l({"favorite-events":!i,"favorite-recordings":!1,seek:!i,clips:!i,snapshots:!i,recordings:!i,live:!0,menu:!0,substream:!0,...r&&{ptz:r}},{disable:t.capabilities?.disable,disableExcept:t.capabilities?.disable_except})}_getFrigateCameraNameFromEntity(e){if("frigate"===e.platform&&e.unique_id&&"string"==typeof e.unique_id){const t=e.unique_id.match(/:camera:(?[^:]+)$/);if(t&&t.groups)return t.groups.camera}return null}async _getPTZCapabilities(e,t){if(!t.frigate.camera_name||L(t))return null;let n=null;try{n=await(async(e,t,n)=>await r(e,P,{type:"frigate/ptz/info",instance_id:t,camera:n},!0))(e,t.frigate.client_id,t.frigate.camera_name)}catch(e){return u(e),null}const a=[...n.features?.includes("pt")?["continuous"]:[]],i=[...n.features?.includes("zoom")?["continuous"]:[]],s=n.presets;return a.length||i.length||s?.length?{...a&&{left:a,right:a,up:a,down:a},...i&&{zoomIn:i,zoomOut:i},...s&&{presets:s}}:null}_getMotionSensor(e,t){return e.frigate.camera_name?t.find((t=>"string"==typeof t.unique_id&&!!t.unique_id?.match(new RegExp(`:motion_sensor:${e.frigate.camera_name}`))))?.entity_id??null:null}_getOccupancySensor(e,t){const n=[],a=(e,a)=>{const r=t.find((t=>"string"==typeof t.unique_id&&!!t.unique_id?.match(new RegExp(`:occupancy_sensor:${e}_${a}`))))?.entity_id??null;r&&n.push(r)};if(e.frigate.camera_name){const t=e.frigate.zones?.length?e.frigate.zones:[e.frigate.camera_name],r=e.frigate.labels?.length?e.frigate.labels:["all"];for(const e of t)for(const t of r)a(e,t);if(n.length)return n}return null}async _subscribeToEvents(e,t){const n=this.getConfig();if(!n.triggers.events.length||!n.frigate.camera_name)return; -/* istanbul ignore next -- exercising the matcher is not possible when the - test uses an event watcher -- @preserve */const a={instanceID:n.frigate.client_id,callback:e=>this._frigateEventHandler(e),matcher:e=>e.after.camera===n.frigate.camera_name};await t.subscribe(e,a),this._onDestroy((()=>t.unsubscribe(a)))}}class G{constructor(){this._requests=[],this._unsubscribeCallback={}}async subscribe(e,t){const n=!this._hasSubscribers(t.instanceID);this._requests.push(t),n&&(this._unsubscribeCallback[t.instanceID]=await e.connection.subscribeMessage((e=>this._receiveHandler(t.instanceID,e)),{type:"frigate/events/subscribe",instance_id:t.instanceID}))}async unsubscribe(e){this._requests=this._requests.filter((t=>t!==e)),this._hasSubscribers(e.instanceID)||(await this._unsubscribeCallback[e.instanceID](),delete this._unsubscribeCallback[e.instanceID])}_hasSubscribers(e){return!!this._requests.filter((t=>t.instanceID===e)).length}_receiveHandler(e,t){let n;try{n=JSON.parse(t)}catch(e){return void console.warn("Received non-JSON payload as Frigate event",t)}const a=A.safeParse(n);if(a.success)for(const t of this._requests)t.instanceID!==e||t.matcher&&!t.matcher(a.data)||t.callback(a.data);else console.warn("Received malformed Frigate event from Home Assistant",t)}}function J(e,t){const n=function(e){if(!B[e]){const t=new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:"America/New_York",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date("2014-06-25T04:00:00.123Z")),n="06/25/2014, 00:00:00"===t||"‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00"===t;B[e]=n?new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:e,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:e,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})}return B[e]}(t);return"formatToParts"in n?function(e,t){try{const n=e.formatToParts(t),a=[];for(let e=0;e=0?i:1e3+i,a-r}function ie(e,t){return-23<=e&&e<=23&&(null==t||0<=t&&t<=59)}const se={};function oe(e){const t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.setUTCFullYear(e.getFullYear()),+e-+t}const ce=36e5,ge=6e4,le=2,ue={dateTimePattern:/^([0-9W+-]+)(T| )(.*)/,datePattern:/^([0-9W+-]+)(.*)/,plainTime:/:/,YY:/^(\d{2})$/,YYY:[/^([+-]\d{2})$/,/^([+-]\d{3})$/,/^([+-]\d{4})$/],YYYY:/^(\d{4})/,YYYYY:[/^([+-]\d{4})/,/^([+-]\d{5})/,/^([+-]\d{6})/],MM:/^-(\d{2})$/,DDD:/^-?(\d{3})$/,MMDD:/^-?(\d{2})-?(\d{2})$/,Www:/^-?W(\d{2})$/,WwwD:/^-?W(\d{2})-?(\d{1})$/,HH:/^(\d{2}([.,]\d*)?)$/,HHMM:/^(\d{2}):?(\d{2}([.,]\d*)?)$/,HHMMSS:/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/,timeZone:/(Z|[+-]\d{2}(?::?\d{2})?| UTC| [a-zA-Z]+\/[a-zA-Z_]+(?:\/[a-zA-Z_]+)?)$/};function me(e,t={}){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");if(null===e)return new Date(NaN);const n=null==t.additionalDigits?le:Number(t.additionalDigits);if(2!==n&&1!==n&&0!==n)throw new RangeError("additionalDigits must be 0, 1 or 2");if(e instanceof Date||"object"==typeof e&&"[object Date]"===Object.prototype.toString.call(e))return new Date(e.getTime());if("number"==typeof e||"[object Number]"===Object.prototype.toString.call(e))return new Date(e);if("[object String]"!==Object.prototype.toString.call(e))return new Date(NaN);const a=function(e){const t={};let n,a=ue.dateTimePattern.exec(e);a?(t.date=a[1],n=a[3]):(a=ue.datePattern.exec(e),a?(t.date=a[1],n=a[2]):(t.date=null,n=e));if(n){const e=ue.timeZone.exec(n);e?(t.time=n.replace(e[1],""),t.timeZone=e[1].trim()):t.time=n}return t}(e),{year:r,restDateString:i}=function(e,t){if(e){const n=ue.YYY[t],a=ue.YYYYY[t];let r=ue.YYYY.exec(e)||a.exec(e);if(r){const t=r[1];return{year:parseInt(t,10),restDateString:e.slice(t.length)}}if(r=ue.YY.exec(e)||n.exec(e),r){const t=r[1];return{year:100*parseInt(t,10),restDateString:e.slice(t.length)}}}return{year:null}}(a.date,n),s=function(e,t){if(null===t)return null;let n,a,r;if(!e||!e.length)return n=new Date(0),n.setUTCFullYear(t),n;let i=ue.MM.exec(e);if(i)return n=new Date(0),a=parseInt(i[1],10)-1,_e(t,a)?(n.setUTCFullYear(t,a),n):new Date(NaN);if(i=ue.DDD.exec(e),i){n=new Date(0);const e=parseInt(i[1],10);return function(e,t){if(t<1)return!1;const n=pe(e);if(n&&t>366)return!1;if(!n&&t>365)return!1;return!0}(t,e)?(n.setUTCFullYear(t,0,e),n):new Date(NaN)}if(i=ue.MMDD.exec(e),i){n=new Date(0),a=parseInt(i[1],10)-1;const e=parseInt(i[2],10);return _e(t,a,e)?(n.setUTCFullYear(t,a,e),n):new Date(NaN)}if(i=ue.Www.exec(e),i)return r=parseInt(i[1],10)-1,ye(r)?de(t,r):new Date(NaN);if(i=ue.WwwD.exec(e),i){r=parseInt(i[1],10)-1;const e=parseInt(i[2],10)-1;return ye(r,e)?de(t,r,e):new Date(NaN)}return null}(i,r);if(null===s||isNaN(s.getTime()))return new Date(NaN);if(s){const e=s.getTime();let n,r=0;if(a.time&&(r=function(e){let t,n,a=ue.HH.exec(e);if(a)return t=parseFloat(a[1].replace(",",".")),be(t)?t%24*ce:NaN;if(a=ue.HHMM.exec(e),a)return t=parseInt(a[1],10),n=parseFloat(a[2].replace(",",".")),be(t,n)?t%24*ce+n*ge:NaN;if(a=ue.HHMMSS.exec(e),a){t=parseInt(a[1],10),n=parseInt(a[2],10);const e=parseFloat(a[3].replace(",","."));return be(t,n,e)?t%24*ce+n*ge+1e3*e:NaN}return null}(a.time),null===r||isNaN(r)))return new Date(NaN);if(a.timeZone||t.timeZone){if(n=ae(a.timeZone||t.timeZone,new Date(e+r)),isNaN(n))return new Date(NaN)}else n=oe(new Date(e+r)),n=oe(new Date(e+r+n));return new Date(e+r+n)}return new Date(NaN)}function de(e,t,n){t=t||0,n=n||0;const a=new Date(0);a.setUTCFullYear(e,0,4);const r=7*t+n+1-(a.getUTCDay()||7);return a.setUTCDate(a.getUTCDate()+r),a}const fe=[31,28,31,30,31,30,31,31,30,31,30,31],he=[31,29,31,30,31,30,31,31,30,31,30,31];function pe(e){return e%400==0||e%4==0&&e%100!=0}function _e(e,t,n){if(t<0||t>11)return!1;if(null!=n){if(n<1)return!1;const a=pe(e);if(a&&n>he[t])return!1;if(!a&&n>fe[t])return!1}return!0}function ye(e,t){return!(e<0||e>52)&&(null==t||!(t<0||t>6))}function be(e,t,n){return!(e<0||e>=25)&&((null==t||!(t<0||t>=60))&&(null==n||!(n<0||n>=60)))}const we=e=>{const t=Intl.DateTimeFormat().resolvedOptions().timeZone,n=Math.round(e.end_time?e.end_time-e.start_time:Date.now()/1e3-e.start_time),a=null!==e.top_score?` ${Math.round(100*e.top_score)}%`:"";return`${m(function(e,t,n){const a=ae(t,e=me(e,n),!0),r=new Date(e.getTime()-a),i=new Date(0);return i.setFullYear(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate()),i.setHours(r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()),i}(1e3*e.start_time,t))} [${n}s, ${d(e.label)}${a}]`};class De extends E{constructor(e,t,n,a,r,i){super(e,t),this._event=n,this._contentID=a,this._thumbnail=r,this._subLabels=i??null}getStartTime(){return H(this._event.start_time)}getEndTime(){return this._event.end_time?H(this._event.end_time):null}inProgress(){return!this.getEndTime()}getVideoContentType(){return R.HLS}getID(){return this._event.id}getContentID(){return this._contentID}getTitle(){return we(this._event)}getThumbnail(){return this._thumbnail}isFavorite(){return this._event.retain_indefinitely??null}setFavorite(e){this._event.retain_indefinitely=e}getWhat(){return[this._event.label]}getWhere(){const e=this._event.zones;return e.length?e:null}getScore(){return this._event.top_score}getTags(){return this._subLabels}isGroupableWith(e){return this.getMediaType()===e.getMediaType()&&f(this.getWhere(),e.getWhere())&&f(this.getWhat(),e.getWhat())}}class Ce extends E{constructor(e,t,n,a,r,i){super(e,t),this._recording=n,this._id=a,this._contentID=r,this._title=i}getID(){return this._id}getStartTime(){return this._recording.startTime}getEndTime(){return this._recording.endTime}inProgress(){return!this.getEndTime()}getVideoContentType(){return R.HLS}getContentID(){return this._contentID}getTitle(){return this._title}getEventCount(){return this._recording.events}}class ve{static createEventViewMedia(e,t,n,a,r){return"clip"===e&&!a.has_clip||"snapshot"===e&&!a.has_snapshot||!n.frigate.client_id||!n.frigate.camera_name?null:new De(e,t,a,((e,t,n,a)=>`media-source://frigate/${e}/event/${a}/${t}/${n.id}`)(n.frigate.client_id,n.frigate.camera_name,a,"clip"===e?"clips":"snapshots"),((e,t)=>`/api/frigate/${e}/thumbnail/${t.id}`)(n.frigate.client_id,a),r)}static createRecordingViewMedia(e,t,n,a){return n.frigate.client_id&&n.frigate.camera_name?new Ce("recording",e,t,((e,t)=>`${e.frigate?.client_id??""}/${e.frigate.camera_name??""}/${t.startTime.getTime()}/${t.endTime.getTime()}`)(n,t),((e,t,n)=>["media-source://frigate",e,"recordings",t,`${n.startTime.getFullYear()}-${String(n.startTime.getMonth()+1).padStart(2,"0")}-${String(String(n.startTime.getDate()).padStart(2,"0"))}`,String(n.startTime.getHours()).padStart(2,"0")].join("/"))(n.frigate.client_id,n.frigate.camera_name,t),((e,t)=>`${e} ${m(t.startTime)}`)(a,t)):null}}class Te{static isFrigateMedia(e){return this.isFrigateEvent(e)||this.isFrigateRecording(e)}static isFrigateEvent(e){return e instanceof De}static isFrigateRecording(e){return e instanceof Ce}}class Ie{static isFrigateEventQueryResults(e){return e.engine===p.Frigate&&e.type===C.Event}static isFrigateRecordingQueryResults(e){return e.engine===p.Frigate&&e.type===C.Recording}static isFrigateRecordingSegmentsResults(e){return e.engine===p.Frigate&&e.type===C.RecordingSegments}}class Se extends z{constructor(e,t,n,a,r){super(t,r),this._throttledSegmentGarbageCollector=h(this._garbageCollectSegments.bind(this),36e5,{leading:!1,trailing:!0}),this._entityRegistryManager=e,this._frigateEventWatcher=new G,this._recordingSegmentsCache=n,this._requestCache=a}getEngineType(){return p.Frigate}async createCamera(e,t){const n=new V(t,this,{eventCallback:this._eventCallback});return await n.initialize({hass:e,entityRegistryManager:this._entityRegistryManager,stateWatcher:this._stateWatcher,frigateEventWatcher:this._frigateEventWatcher})}async getMediaDownloadPath(e,t,n){return Te.isFrigateEvent(n)?{endpoint:`/api/frigate/${t.frigate.client_id}/notifications/${n.getID()}/`+(_.isClip(n)?"clip.mp4":"snapshot.jpg")+"?download=true",sign:!0}:Te.isFrigateRecording(n)?{endpoint:`/api/frigate/${t.frigate.client_id}/recording/${t.frigate.camera_name}/start/${Math.floor(n.getStartTime().getTime()/1e3)}/end/${Math.floor(n.getEndTime().getTime()/1e3)}?download=true`,sign:!0}:null}generateDefaultEventQuery(e,t,n){const a=[...e.getCameraConfigs(t)],r=y(a.map((e=>e?.frigate.zones)),f),i=y(a.map((e=>e?.frigate.labels)),f);if(1===r.length&&1===i.length)return[{type:b.Event,cameraIDs:t,...i[0]&&{what:new Set(i[0])},...r[0]&&{where:new Set(r[0])},...n}];const s=[];for(const a of t){const t=e.getCameraConfig(a);t&&s.push({type:b.Event,cameraIDs:new Set([a]),...t.frigate.labels&&{what:new Set(t.frigate.labels)},...t.frigate.zones&&{where:new Set(t.frigate.zones)},...n})}return s.length?s:null}generateDefaultRecordingQuery(e,t,n){return[{type:b.Recording,cameraIDs:t,...n}]}generateDefaultRecordingSegmentsQuery(e,t,n){return n.start&&n.end?[{type:b.RecordingSegments,cameraIDs:t,start:n.start,end:n.end,...n}]:null}async favoriteMedia(e,t,n,a){Te.isFrigateEvent(n)&&(await async function(e,t,n,a){const o={type:"frigate/event/retain",instance_id:t,event_id:n,retain:a},c=await r(e,W,o,!0);if(!c.success)throw new i(s("error.failed_retain"),{request:o,response:c})}(e,t.frigate.client_id,n.getID(),a),n.setFavorite(a))}_buildInstanceToCameraIDMapFromQuery(e,t){const n=new Map;for(const a of t){const t=this._getQueryableCameraConfig(e,a),r=t?.frigate.client_id;r&&(n.has(r)||n.set(r,new Set),n.get(r)?.add(a))}return n}_getFrigateCameraNamesForCameraIDs(e,t){const n=new Set;for(const a of t){const t=this._getQueryableCameraConfig(e,a);t?.frigate.camera_name&&n.add(t.frigate.camera_name)}return n}async getEvents(e,t,n,a){const r=new Map,i=async(i,s)=>{if(!s||!s.size)return;const o={...n,cameraIDs:s},c=a?.useCache??1?this._requestCache.get(o):null;if(c)return void r.set(n,c);const g={instance_id:i,cameras:Array.from(this._getFrigateCameraNamesForCameraIDs(t,s)),...n.what&&{labels:Array.from(n.what)},...n.where&&{zones:Array.from(n.where)},...n.tags&&{sub_labels:Array.from(n.tags)},...n.end&&{before:Math.floor(n.end.getTime()/1e3)},...n.start&&{after:Math.floor(n.start.getTime()/1e3)},...n.limit&&{limit:n.limit},...n.hasClip&&{has_clip:n.hasClip},...n.hasSnapshot&&{has_snapshot:n.hasSnapshot},...n.favorite&&{favorites:n.favorite},limit:n?.limit??F},l={type:C.Event,engine:p.Frigate,instanceID:i,events:await O(e,g),expiry:v(new Date,{seconds:60}),cached:!1};(a?.useCache??1)&&this._requestCache.set(n,{...l,cached:!0},l.expiry),r.set(o,l)},s=this._buildInstanceToCameraIDMapFromQuery(t,n.cameraIDs);return await Promise.all(Array.from(s.keys()).map((e=>i(e,s.get(e))))),r.size?r:null}async getRecordings(e,t,n,a){const i=new Map,s=async(n,s)=>{const o={...n,cameraIDs:new Set([s])},c=a?.useCache??1?this._requestCache.get(o):null;if(c)return void i.set(o,c);const g=this._getQueryableCameraConfig(t,s);if(!g||!g.frigate.camera_name)return;const l=await(async(e,t,n)=>await r(e,q,{type:"frigate/recordings/summary",instance_id:t,camera:n,timezone:e.config.time_zone},!0))(e,g.frigate.client_id,g.frigate.camera_name);let u=[];for(const e of l??[])for(const t of e.hours){const n=v(e.day,{hours:t.hour}),a=Y(n),r=x(n);(!o.start||a>=o.start)&&(!o.end||r<=o.end)&&u.push({cameraID:s,startTime:a,endTime:r,events:t.events})}void 0!==o.limit&&(u=I(u,(e=>e.startTime),"desc").slice(0,o.limit));const m={type:C.Recording,engine:p.Frigate,instanceID:g.frigate.client_id,recordings:u,expiry:v(new Date,{seconds:60}),cached:!1};(a?.useCache??1)&&this._requestCache.set(o,{...m,cached:!0},m.expiry),i.set(o,m)};return await Promise.all(Array.from(n.cameraIDs).map((e=>s(n,e)))),i.size?i:null}async getRecordingSegments(e,t,n,a){const i=new Map,s=async(n,s)=>{const o={...n,cameraIDs:new Set([s])},c=this._getQueryableCameraConfig(t,s);if(!c||!c.frigate.camera_name)return;const g={start:o.start,end:o.end},l=a?.useCache??1?this._recordingSegmentsCache.get(s,g):null;if(l)return void i.set(o,{type:C.RecordingSegments,engine:p.Frigate,instanceID:c.frigate.client_id,segments:l,cached:!0});const u={instance_id:c.frigate.client_id,camera:c.frigate.camera_name,after:Math.floor(o.start.getTime()/1e3),before:Math.floor(o.end.getTime()/1e3)},m=await(async(e,t)=>await r(e,U,{type:"frigate/recordings/get",...t},!0))(e,u);(a?.useCache??1)&&this._recordingSegmentsCache.add(s,g,m),i.set(o,{type:C.RecordingSegments,engine:p.Frigate,instanceID:c.frigate.client_id,segments:m,cached:!1})};return await Promise.all(Array.from(n.cameraIDs).map((e=>s(n,e)))),w((()=>this._throttledSegmentGarbageCollector(e,t))),i.size?i:null}_getCameraIDMatch(e,t,n,a){if(1===t.cameraIDs.size)return[...t.cameraIDs][0];for(const[t,r]of e.getCameraConfigEntries())if(r.frigate.client_id===n&&r.frigate.camera_name===a)return t;return null}generateMediaFromEvents(e,t,n,a){if(!Ie.isFrigateEventQueryResults(a))return null;const r=[];for(const e of a.events){const i=this._getCameraIDMatch(t,n,a.instanceID,e.camera);if(!i)continue;const s=this._getQueryableCameraConfig(t,i);if(!s)continue;let o=null;if(n.hasClip||n.hasSnapshot||!e.has_clip&&!e.has_snapshot?n.hasSnapshot&&e.has_snapshot?o="snapshot":n.hasClip&&e.has_clip&&(o="clip"):o=e.has_clip?"clip":"snapshot",!o)continue;const c=ve.createEventViewMedia(o,i,s,e,e.sub_label?this._splitSubLabels(e.sub_label):void 0);c&&r.push(c)}return r}generateMediaFromRecordings(e,t,n,a){if(!Ie.isFrigateRecordingQueryResults(a))return null;const r=[];for(const n of a.recordings){const a=this._getQueryableCameraConfig(t,n.cameraID);if(!a)continue;const i=ve.createRecordingViewMedia(n.cameraID,n,a,this.getCameraMetadata(e,a).title);i&&r.push(i)}return r}getQueryResultMaxAge(e){return e.type===b.Event||e.type===b.Recording?60:null}async getMediaSeekTime(e,t,n,a,r){const i=n.getStartTime(),s=n.getEndTime();if(!i||!s||as)return null;const o=n.getCameraID(),c={cameraIDs:new Set([o]),start:i,end:s,type:b.RecordingSegments},g=await this.getRecordingSegments(e,t,c,r);return g?this._getSeekTimeInSegments(i,a,Array.from(g.values())[0].segments):null}_getQueryableCameraConfig(e,t){const n=e.getCameraConfig(t);return!n||L(n)?null:n}_splitSubLabels(e){return e.split(",").map((e=>e.trim()))}async getMediaMetadata(e,t,n,a){const i=new Map;if((a?.useCache??1)&&this._requestCache.has(n)){const e=this._requestCache.get(n);if(e)return i.set(n,e),i}const s=new Set,o=new Set,c=new Set,g=new Set,l=this._buildInstanceToCameraIDMapFromQuery(t,n.cameraIDs),u=async(n,a)=>{const i=this._getFrigateCameraNamesForCameraIDs(t,a);for(const t of await(async(e,t)=>await r(e,Q,{type:"frigate/events/summary",instance_id:t,timezone:e.config.time_zone},!0))(e,n))i.has(t.camera)&&(t.label&&s.add(t.label),t.zones.length&&t.zones.forEach(o.add,o),t.day&&c.add(t.day),t.sub_label&&this._splitSubLabels(t.sub_label).forEach(g.add,g))},m=async n=>{const r=await this.getRecordings(e,t,{type:b.Recording,cameraIDs:n},a);if(r)for(const e of r.values())if(Ie.isFrigateRecordingQueryResults(e))for(const t of e.recordings)c.add(S(t.startTime))};await D([...l.entries()],(([e,t])=>(async()=>{await Promise.all([u(e,t),m(t)])})()));const d={type:C.MediaMetadata,engine:p.Frigate,metadata:{...s.size&&{what:s},...o.size&&{where:o},...c.size&&{days:c},...g.size&&{tags:g}},expiry:v(new Date,{seconds:60}),cached:!1};return(a?.useCache??1)&&this._requestCache.set(n,{...d,cached:!0},d.expiry),i.set(n,d),i}async _garbageCollectSegments(e,t){const n=this._recordingSegmentsCache.getCameraIDs(),a={cameraIDs:new Set(n),type:b.Recording},r=(e,t)=>`${e}/${t.getDate()}/${t.getHours()}`,i=await this.getRecordings(e,t,a);if(i)for(const[e,t]of i){if(!Ie.isFrigateRecordingQueryResults(t))continue;const n=new Set;for(const e of t.recordings)n.add(r(e.cameraID,e.startTime));const a=Array.from(e.cameraIDs)[0];this._recordingSegmentsCache.expireMatches(a,(e=>{const t=r(a,H(e.start_time));return!n.has(t)}))}}_getSeekTimeInSegments(e,t,n){if(!n.length)return null;let a=0;for(const r of n){const n=H(r.start_time);if(n>t)break;const i=H(r.end_time),s=nt?t:i).getTime()-s.getTime()}return a/1e3}getMediaCapabilities(e){return{canFavorite:_.isEvent(e),canDownload:!0}}getCameraMetadata(e,t){return{...super.getCameraMetadata(e,t),title:t.title??T(e,t.camera_entity)??T(e,t.webrtc_card?.entity)??d(t.frigate?.camera_name)??t.id??"",engineIcon:"frigate"}}getCameraEndpoints(e,t){const n=(()=>{if(!e.frigate.url)return null;if(!e.frigate.camera_name)return{endpoint:e.frigate.url};const n=`${e.frigate.url}/cameras/`+e.frigate.camera_name;if("live"===t?.view)return{endpoint:n};const a=`${e.frigate.url}/events?camera=`+e.frigate.camera_name,r=`${e.frigate.url}/recording/`+e.frigate.camera_name;switch(t?.media?.getMediaType()){case"clip":case"snapshot":return{endpoint:a};case"recording":const e=t.media.getStartTime();if(e)return{endpoint:r+M(e,"yyyy-MM-dd/HH")}}switch(t?.view){case"clip":case"clips":case"snapshots":case"snapshot":return{endpoint:a};case"recording":case"recordings":return{endpoint:r}}return{endpoint:n}})(),a=N(e,{url:e.go2rtc?.url??`/api/frigate/${e.frigate.client_id}/mse`,stream:e.go2rtc?.stream??e.frigate.camera_name}),r={endpoint:`/api/frigate/${e.frigate.client_id}/jsmpeg/${e.frigate.camera_name}`,sign:!0},i=(()=>{const t=e.frigate.camera_name?e.frigate.camera_name:null;return t?{endpoint:t}:null})();return{...super.getCameraEndpoints(e,t),...n&&{ui:n},...a&&{go2rtc:a},...r&&{jsmpeg:r},...i&&{webrtcCard:i}}}async executePTZAction(e,t,n,a){const r=t.camera_entity;("preset"!==n||a?.preset)&&await e.callService("frigate","ptz",{entity_id:r,action:"stop"===a?.phase?"stop":"zoom_in"===n||"zoom_out"===n?"zoom":"preset"===n?"preset":"move",..."stop"!==a?.phase&&{argument:"zoom_in"===n?"in":"zoom_out"===n?"out":"preset"===n?a?.preset:n}})}}export{Se as FrigateCameraManagerEngine}; diff --git a/config/www/community/frigate-hass-card/engine-frigate-be325e58.js.gz b/config/www/community/frigate-hass-card/engine-frigate-be325e58.js.gz deleted file mode 100644 index a6c55ab7a820271ba42a3df7fb5ebabaa61fe304..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8620 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 diff --git a/config/www/community/frigate-hass-card/engine-frigate-f675aa79.js b/config/www/community/frigate-hass-card/engine-frigate-f675aa79.js deleted file mode 100644 index 574841cf..00000000 --- a/config/www/community/frigate-hass-card/engine-frigate-f675aa79.js +++ /dev/null @@ -1,3 +0,0 @@ -import{d3 as e,d_ as t,d$ as n,e0 as a,e1 as r,e2 as i,l as s,e3 as o,e4 as c,e5 as g,e6 as l,db as u,dT as m,k as d,i as f,dh as h,e7 as p,dn as _,d9 as y,d7 as b,e8 as w,e9 as D,ea as C,dQ as v,j as T,eb as I,dc as S,de as M,dd as F}from"./card-769e2b91.js";import{C as $}from"./engine-86b0096c.js";import{C as z,G as N,g as E}from"./engine-generic-97fdd47e.js";import{a as R,V as Y}from"./media-c9012082.js";import{s as x,e as H}from"./startOfHour-1a5ce3ae.js";function j(t){return e(1e3*t)}const Z=n.object({camera:n.string(),end_time:n.number().nullable(),false_positive:n.boolean().nullable(),has_clip:n.boolean(),has_snapshot:n.boolean(),id:n.string(),label:n.string(),sub_label:n.string().nullable(),start_time:n.number(),top_score:n.number().nullable(),zones:n.string().array(),retain_indefinitely:n.boolean().optional()}).array(),q=n.object({hour:n.preprocess((e=>Number(e)),n.number().min(0).max(23)),duration:n.number().min(0),events:n.number().min(0)}),U=n.object({day:n.preprocess((e=>"string"==typeof e?a(e):e),n.date()),events:n.number(),hours:q.array()}).array(),W=n.object({start_time:n.number(),end_time:n.number(),id:n.string()}).array(),Q=n.object({success:n.boolean(),message:n.string()}),k=n.object({camera:n.string(),day:n.string(),label:n.string(),sub_label:n.string().nullable(),zones:n.string().array()}).array(),P=n.object({name:n.string().optional(),features:n.string().array().optional(),presets:n.string().array().optional()}),A=n.object({camera:n.string(),snapshot:n.object({frame_time:n.number()}).nullable(),has_clip:n.boolean(),has_snapshot:n.boolean(),label:n.string(),current_zones:n.string().array()}),O=n.object({before:A,after:A,type:n.enum(["new","update","end"])});const L=async(e,t)=>await r(e,Z,{type:"frigate/events/get",...t},!0),V=e=>"birdseye"===e.frigate.camera_name;class G extends z{constructor(e,t,n){super(e,t,n),this._frigateEventHandler=e=>{const t=!e.before.has_snapshot&&e.after.has_snapshot||e.before.snapshot?.frame_time!==e.after.snapshot?.frame_time,n=!e.before.has_clip&&e.after.has_clip,a=this.getConfig();if(a.frigate.zones?.length&&!a.frigate.zones.some((t=>e.after.current_zones.includes(t)))||a.frigate.labels?.length&&!a.frigate.labels.includes(e.after.label))return;const r=a.triggers.events;(r.includes("events")||r.includes("snapshots")&&t||r.includes("clips")&&n)&&this._eventCallback?.({fidelity:"high",cameraID:this.getID(),type:e.type,clip:n&&r.includes("clips"),snapshot:t&&r.includes("snapshots")})}}async initialize(e){return await this._initializeConfig(e.hass,e.entityRegistryManager),await this._initializeCapabilities(e.hass),await this._subscribeToEvents(e.hass,e.frigateEventWatcher),await super.initialize(e)}async _initializeConfig(e,n){const a=this.getConfig(),r=!!a.frigate?.camera_name,i=a.triggers.motion||a.triggers.occupancy;let g=null;const l=o(a);if(l&&(!r||i)&&(g=await n.getEntity(e,l),!g))throw new c(s("error.no_camera_entity"),a);if(g&&!r){const e=this._getFrigateCameraNameFromEntity(g);e&&(this._config.frigate.camera_name=e)}if(i){const r=await n.getMatchingEntities(e,(e=>e.config_entry_id===g?.config_entry_id&&!e.disabled_by&&e.entity_id.startsWith("binary_sensor.")));if(a.triggers.motion){const e=this._getMotionSensor(a,[...r.values()]);e&&a.triggers.entities.push(e)}if(a.triggers.occupancy){const e=this._getOccupancySensor(a,[...r.values()]);e&&a.triggers.entities.push(...e)}a.triggers.entities=(u=a.triggers.entities)&&u.length?t(u):[]}var u}async _initializeCapabilities(e){const t=this.getConfig(),n=g(this.getConfig()),a=await this._getPTZCapabilities(e,t),r=n||a?{...a,...n}:null,i=V(t);this._capabilities=new l({"favorite-events":!i,"favorite-recordings":!1,seek:!i,clips:!i,snapshots:!i,recordings:!i,live:!0,menu:!0,substream:!0,...r&&{ptz:r}},{disable:t.capabilities?.disable,disableExcept:t.capabilities?.disable_except})}_getFrigateCameraNameFromEntity(e){if("frigate"===e.platform&&e.unique_id&&"string"==typeof e.unique_id){const t=e.unique_id.match(/:camera:(?[^:]+)$/);if(t&&t.groups)return t.groups.camera}return null}async _getPTZCapabilities(e,t){if(!t.frigate.camera_name||V(t))return null;let n=null;try{n=await(async(e,t,n)=>await r(e,P,{type:"frigate/ptz/info",instance_id:t,camera:n},!0))(e,t.frigate.client_id,t.frigate.camera_name)}catch(e){return u(e),null}const a=[...n.features?.includes("pt")?["continuous"]:[]],i=[...n.features?.includes("zoom")?["continuous"]:[]],s=n.presets;return a.length||i.length||s?.length?{...a&&{left:a,right:a,up:a,down:a},...i&&{zoomIn:i,zoomOut:i},...s&&{presets:s}}:null}_getMotionSensor(e,t){return e.frigate.camera_name?t.find((t=>"string"==typeof t.unique_id&&!!t.unique_id?.match(new RegExp(`:motion_sensor:${e.frigate.camera_name}`))))?.entity_id??null:null}_getOccupancySensor(e,t){const n=[],a=(e,a)=>{const r=t.find((t=>"string"==typeof t.unique_id&&!!t.unique_id?.match(new RegExp(`:occupancy_sensor:${e}_${a}`))))?.entity_id??null;r&&n.push(r)};if(e.frigate.camera_name){const t=e.frigate.zones?.length?e.frigate.zones:[e.frigate.camera_name],r=e.frigate.labels?.length?e.frigate.labels:["all"];for(const e of t)for(const t of r)a(e,t);if(n.length)return n}return null}async _subscribeToEvents(e,t){const n=this.getConfig();if(!n.triggers.events.length||!n.frigate.camera_name)return; -/* istanbul ignore next -- exercising the matcher is not possible when the - test uses an event watcher -- @preserve */const a={instanceID:n.frigate.client_id,callback:e=>this._frigateEventHandler(e),matcher:e=>e.after.camera===n.frigate.camera_name};await t.subscribe(e,a),this._onDestroy((()=>t.unsubscribe(a)))}}class J{constructor(){this._requests=[],this._unsubscribeCallback={}}async subscribe(e,t){const n=!this._hasSubscribers(t.instanceID);this._requests.push(t),n&&(this._unsubscribeCallback[t.instanceID]=await e.connection.subscribeMessage((e=>this._receiveHandler(t.instanceID,e)),{type:"frigate/events/subscribe",instance_id:t.instanceID}))}async unsubscribe(e){this._requests=this._requests.filter((t=>t!==e)),this._hasSubscribers(e.instanceID)||(await this._unsubscribeCallback[e.instanceID](),delete this._unsubscribeCallback[e.instanceID])}_hasSubscribers(e){return!!this._requests.filter((t=>t.instanceID===e)).length}_receiveHandler(e,t){let n;try{n=JSON.parse(t)}catch(e){return void console.warn("Received non-JSON payload as Frigate event",t)}const a=O.safeParse(n);if(a.success)for(const t of this._requests)t.instanceID!==e||t.matcher&&!t.matcher(a.data)||t.callback(a.data);else console.warn("Received malformed Frigate event from Home Assistant",t)}}function B(e,t){const n=function(e){if(!X[e]){const t=new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:"America/New_York",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date("2014-06-25T04:00:00.123Z")),n="06/25/2014, 00:00:00"===t||"‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00"===t;X[e]=n?new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:e,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:e,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})}return X[e]}(t);return"formatToParts"in n?function(e,t){try{const n=e.formatToParts(t),a=[];for(let e=0;e=0?i:1e3+i,a-r}function se(e,t){return-23<=e&&e<=23&&(null==t||0<=t&&t<=59)}const oe={};function ce(e){const t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.setUTCFullYear(e.getFullYear()),+e-+t}const ge=36e5,le=6e4,ue=2,me={dateTimePattern:/^([0-9W+-]+)(T| )(.*)/,datePattern:/^([0-9W+-]+)(.*)/,plainTime:/:/,YY:/^(\d{2})$/,YYY:[/^([+-]\d{2})$/,/^([+-]\d{3})$/,/^([+-]\d{4})$/],YYYY:/^(\d{4})/,YYYYY:[/^([+-]\d{4})/,/^([+-]\d{5})/,/^([+-]\d{6})/],MM:/^-(\d{2})$/,DDD:/^-?(\d{3})$/,MMDD:/^-?(\d{2})-?(\d{2})$/,Www:/^-?W(\d{2})$/,WwwD:/^-?W(\d{2})-?(\d{1})$/,HH:/^(\d{2}([.,]\d*)?)$/,HHMM:/^(\d{2}):?(\d{2}([.,]\d*)?)$/,HHMMSS:/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/,timeZone:/(Z|[+-]\d{2}(?::?\d{2})?| UTC| [a-zA-Z]+\/[a-zA-Z_]+(?:\/[a-zA-Z_]+)?)$/};function de(e,t={}){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");if(null===e)return new Date(NaN);const n=null==t.additionalDigits?ue:Number(t.additionalDigits);if(2!==n&&1!==n&&0!==n)throw new RangeError("additionalDigits must be 0, 1 or 2");if(e instanceof Date||"object"==typeof e&&"[object Date]"===Object.prototype.toString.call(e))return new Date(e.getTime());if("number"==typeof e||"[object Number]"===Object.prototype.toString.call(e))return new Date(e);if("[object String]"!==Object.prototype.toString.call(e))return new Date(NaN);const a=function(e){const t={};let n,a=me.dateTimePattern.exec(e);a?(t.date=a[1],n=a[3]):(a=me.datePattern.exec(e),a?(t.date=a[1],n=a[2]):(t.date=null,n=e));if(n){const e=me.timeZone.exec(n);e?(t.time=n.replace(e[1],""),t.timeZone=e[1].trim()):t.time=n}return t}(e),{year:r,restDateString:i}=function(e,t){if(e){const n=me.YYY[t],a=me.YYYYY[t];let r=me.YYYY.exec(e)||a.exec(e);if(r){const t=r[1];return{year:parseInt(t,10),restDateString:e.slice(t.length)}}if(r=me.YY.exec(e)||n.exec(e),r){const t=r[1];return{year:100*parseInt(t,10),restDateString:e.slice(t.length)}}}return{year:null}}(a.date,n),s=function(e,t){if(null===t)return null;let n,a,r;if(!e||!e.length)return n=new Date(0),n.setUTCFullYear(t),n;let i=me.MM.exec(e);if(i)return n=new Date(0),a=parseInt(i[1],10)-1,ye(t,a)?(n.setUTCFullYear(t,a),n):new Date(NaN);if(i=me.DDD.exec(e),i){n=new Date(0);const e=parseInt(i[1],10);return function(e,t){if(t<1)return!1;const n=_e(e);if(n&&t>366)return!1;if(!n&&t>365)return!1;return!0}(t,e)?(n.setUTCFullYear(t,0,e),n):new Date(NaN)}if(i=me.MMDD.exec(e),i){n=new Date(0),a=parseInt(i[1],10)-1;const e=parseInt(i[2],10);return ye(t,a,e)?(n.setUTCFullYear(t,a,e),n):new Date(NaN)}if(i=me.Www.exec(e),i)return r=parseInt(i[1],10)-1,be(r)?fe(t,r):new Date(NaN);if(i=me.WwwD.exec(e),i){r=parseInt(i[1],10)-1;const e=parseInt(i[2],10)-1;return be(r,e)?fe(t,r,e):new Date(NaN)}return null}(i,r);if(null===s||isNaN(s.getTime()))return new Date(NaN);if(s){const e=s.getTime();let n,r=0;if(a.time&&(r=function(e){let t,n,a=me.HH.exec(e);if(a)return t=parseFloat(a[1].replace(",",".")),we(t)?t%24*ge:NaN;if(a=me.HHMM.exec(e),a)return t=parseInt(a[1],10),n=parseFloat(a[2].replace(",",".")),we(t,n)?t%24*ge+n*le:NaN;if(a=me.HHMMSS.exec(e),a){t=parseInt(a[1],10),n=parseInt(a[2],10);const e=parseFloat(a[3].replace(",","."));return we(t,n,e)?t%24*ge+n*le+1e3*e:NaN}return null}(a.time),null===r||isNaN(r)))return new Date(NaN);if(a.timeZone||t.timeZone){if(n=re(a.timeZone||t.timeZone,new Date(e+r)),isNaN(n))return new Date(NaN)}else n=ce(new Date(e+r)),n=ce(new Date(e+r+n));return new Date(e+r+n)}return new Date(NaN)}function fe(e,t,n){t=t||0,n=n||0;const a=new Date(0);a.setUTCFullYear(e,0,4);const r=7*t+n+1-(a.getUTCDay()||7);return a.setUTCDate(a.getUTCDate()+r),a}const he=[31,28,31,30,31,30,31,31,30,31,30,31],pe=[31,29,31,30,31,30,31,31,30,31,30,31];function _e(e){return e%400==0||e%4==0&&e%100!=0}function ye(e,t,n){if(t<0||t>11)return!1;if(null!=n){if(n<1)return!1;const a=_e(e);if(a&&n>pe[t])return!1;if(!a&&n>he[t])return!1}return!0}function be(e,t){return!(e<0||e>52)&&(null==t||!(t<0||t>6))}function we(e,t,n){return!(e<0||e>=25)&&((null==t||!(t<0||t>=60))&&(null==n||!(n<0||n>=60)))}const De=e=>{const t=Intl.DateTimeFormat().resolvedOptions().timeZone,n=Math.round(e.end_time?e.end_time-e.start_time:Date.now()/1e3-e.start_time),a=null!==e.top_score?` ${Math.round(100*e.top_score)}%`:"";return`${m(function(e,t,n){const a=re(t,e=de(e,n),!0),r=new Date(e.getTime()-a),i=new Date(0);return i.setFullYear(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate()),i.setHours(r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()),i}(1e3*e.start_time,t))} [${n}s, ${d(e.label)}${a}]`};class Ce extends R{constructor(e,t,n,a,r,i){super(e,t),this._event=n,this._contentID=a,this._thumbnail=r,this._subLabels=i??null}getStartTime(){return j(this._event.start_time)}getEndTime(){return this._event.end_time?j(this._event.end_time):null}inProgress(){return!this.getEndTime()}getVideoContentType(){return Y.HLS}getID(){return this._event.id}getContentID(){return this._contentID}getTitle(){return De(this._event)}getThumbnail(){return this._thumbnail}isFavorite(){return this._event.retain_indefinitely??null}setFavorite(e){this._event.retain_indefinitely=e}getWhat(){return[this._event.label]}getWhere(){const e=this._event.zones;return e.length?e:null}getScore(){return this._event.top_score}getTags(){return this._subLabels}isGroupableWith(e){return this.getMediaType()===e.getMediaType()&&f(this.getWhere(),e.getWhere())&&f(this.getWhat(),e.getWhat())}}class ve extends R{constructor(e,t,n,a,r,i){super(e,t),this._recording=n,this._id=a,this._contentID=r,this._title=i}getID(){return this._id}getStartTime(){return this._recording.startTime}getEndTime(){return this._recording.endTime}inProgress(){return!this.getEndTime()}getVideoContentType(){return Y.HLS}getContentID(){return this._contentID}getTitle(){return this._title}getEventCount(){return this._recording.events}}class Te{static createEventViewMedia(e,t,n,a,r){return"clip"===e&&!a.has_clip||"snapshot"===e&&!a.has_snapshot||!n.frigate.client_id||!n.frigate.camera_name?null:new Ce(e,t,a,((e,t,n,a)=>`media-source://frigate/${e}/event/${a}/${t}/${n.id}`)(n.frigate.client_id,n.frigate.camera_name,a,"clip"===e?"clips":"snapshots"),((e,t)=>`/api/frigate/${e}/thumbnail/${t.id}`)(n.frigate.client_id,a),r)}static createRecordingViewMedia(e,t,n,a){return n.frigate.client_id&&n.frigate.camera_name?new ve("recording",e,t,((e,t)=>`${e.frigate?.client_id??""}/${e.frigate.camera_name??""}/${t.startTime.getTime()}/${t.endTime.getTime()}`)(n,t),((e,t,n)=>["media-source://frigate",e,"recordings",t,`${n.startTime.getFullYear()}-${String(n.startTime.getMonth()+1).padStart(2,"0")}-${String(String(n.startTime.getDate()).padStart(2,"0"))}`,String(n.startTime.getHours()).padStart(2,"0")].join("/"))(n.frigate.client_id,n.frigate.camera_name,t),((e,t)=>`${e} ${m(t.startTime)}`)(a,t)):null}}class Ie{static isFrigateMedia(e){return this.isFrigateEvent(e)||this.isFrigateRecording(e)}static isFrigateEvent(e){return e instanceof Ce}static isFrigateRecording(e){return e instanceof ve}}class Se{static isFrigateEventQueryResults(e){return e.engine===p.Frigate&&e.type===C.Event}static isFrigateRecordingQueryResults(e){return e.engine===p.Frigate&&e.type===C.Recording}static isFrigateRecordingSegmentsResults(e){return e.engine===p.Frigate&&e.type===C.RecordingSegments}}class Me extends N{constructor(e,t,n,a,r){super(t,r),this._throttledSegmentGarbageCollector=h(this._garbageCollectSegments.bind(this),36e5,{leading:!1,trailing:!0}),this._entityRegistryManager=e,this._frigateEventWatcher=new J,this._recordingSegmentsCache=n,this._requestCache=a}getEngineType(){return p.Frigate}async createCamera(e,t){const n=new G(t,this,{eventCallback:this._eventCallback});return await n.initialize({hass:e,entityRegistryManager:this._entityRegistryManager,stateWatcher:this._stateWatcher,frigateEventWatcher:this._frigateEventWatcher})}async getMediaDownloadPath(e,t,n){return Ie.isFrigateEvent(n)?{endpoint:`/api/frigate/${t.frigate.client_id}/notifications/${n.getID()}/`+(_.isClip(n)?"clip.mp4":"snapshot.jpg")+"?download=true",sign:!0}:Ie.isFrigateRecording(n)?{endpoint:`/api/frigate/${t.frigate.client_id}/recording/${t.frigate.camera_name}/start/${Math.floor(n.getStartTime().getTime()/1e3)}/end/${Math.floor(n.getEndTime().getTime()/1e3)}?download=true`,sign:!0}:null}generateDefaultEventQuery(e,t,n){const a=[...e.getCameraConfigs(t)],r=y(a.map((e=>e?.frigate.zones)),f),i=y(a.map((e=>e?.frigate.labels)),f);if(1===r.length&&1===i.length)return[{type:b.Event,cameraIDs:t,...i[0]&&{what:new Set(i[0])},...r[0]&&{where:new Set(r[0])},...n}];const s=[];for(const a of t){const t=e.getCameraConfig(a);t&&s.push({type:b.Event,cameraIDs:new Set([a]),...t.frigate.labels&&{what:new Set(t.frigate.labels)},...t.frigate.zones&&{where:new Set(t.frigate.zones)},...n})}return s.length?s:null}generateDefaultRecordingQuery(e,t,n){return[{type:b.Recording,cameraIDs:t,...n}]}generateDefaultRecordingSegmentsQuery(e,t,n){return n.start&&n.end?[{type:b.RecordingSegments,cameraIDs:t,start:n.start,end:n.end,...n}]:null}async favoriteMedia(e,t,n,a){Ie.isFrigateEvent(n)&&(await async function(e,t,n,a){const o={type:"frigate/event/retain",instance_id:t,event_id:n,retain:a},c=await r(e,Q,o,!0);if(!c.success)throw new i(s("error.failed_retain"),{request:o,response:c})}(e,t.frigate.client_id,n.getID(),a),n.setFavorite(a))}_buildInstanceToCameraIDMapFromQuery(e,t){const n=new Map;for(const a of t){const t=this._getQueryableCameraConfig(e,a),r=t?.frigate.client_id;r&&(n.has(r)||n.set(r,new Set),n.get(r)?.add(a))}return n}_getFrigateCameraNamesForCameraIDs(e,t){const n=new Set;for(const a of t){const t=this._getQueryableCameraConfig(e,a);t?.frigate.camera_name&&n.add(t.frigate.camera_name)}return n}async getEvents(e,t,n,a){const r=new Map,i=async(i,s)=>{if(!s||!s.size)return;const o={...n,cameraIDs:s},c=a?.useCache??1?this._requestCache.get(o):null;if(c)return void r.set(n,c);const g={instance_id:i,cameras:Array.from(this._getFrigateCameraNamesForCameraIDs(t,s)),...n.what&&{labels:Array.from(n.what)},...n.where&&{zones:Array.from(n.where)},...n.tags&&{sub_labels:Array.from(n.tags)},...n.end&&{before:Math.floor(n.end.getTime()/1e3)},...n.start&&{after:Math.floor(n.start.getTime()/1e3)},...n.limit&&{limit:n.limit},...n.hasClip&&{has_clip:n.hasClip},...n.hasSnapshot&&{has_snapshot:n.hasSnapshot},...n.favorite&&{favorites:n.favorite},limit:n?.limit??$},l={type:C.Event,engine:p.Frigate,instanceID:i,events:await L(e,g),expiry:v(new Date,{seconds:60}),cached:!1};(a?.useCache??1)&&this._requestCache.set(n,{...l,cached:!0},l.expiry),r.set(o,l)},s=this._buildInstanceToCameraIDMapFromQuery(t,n.cameraIDs);return await Promise.all(Array.from(s.keys()).map((e=>i(e,s.get(e))))),r.size?r:null}async getRecordings(e,t,n,a){const i=new Map,s=async(n,s)=>{const o={...n,cameraIDs:new Set([s])},c=a?.useCache??1?this._requestCache.get(o):null;if(c)return void i.set(o,c);const g=this._getQueryableCameraConfig(t,s);if(!g||!g.frigate.camera_name)return;const l=await(async(e,t,n)=>await r(e,U,{type:"frigate/recordings/summary",instance_id:t,camera:n,timezone:e.config.time_zone},!0))(e,g.frigate.client_id,g.frigate.camera_name);let u=[];for(const e of l??[])for(const t of e.hours){const n=v(e.day,{hours:t.hour}),a=x(n),r=H(n);(!o.start||a>=o.start)&&(!o.end||r<=o.end)&&u.push({cameraID:s,startTime:a,endTime:r,events:t.events})}void 0!==o.limit&&(u=S(u,(e=>e.startTime),"desc").slice(0,o.limit));const m={type:C.Recording,engine:p.Frigate,instanceID:g.frigate.client_id,recordings:u,expiry:v(new Date,{seconds:60}),cached:!1};(a?.useCache??1)&&this._requestCache.set(o,{...m,cached:!0},m.expiry),i.set(o,m)};return await Promise.all(Array.from(n.cameraIDs).map((e=>s(n,e)))),i.size?i:null}async getRecordingSegments(e,t,n,a){const i=new Map,s=async(n,s)=>{const o={...n,cameraIDs:new Set([s])},c=this._getQueryableCameraConfig(t,s);if(!c||!c.frigate.camera_name)return;const g={start:o.start,end:o.end},l=a?.useCache??1?this._recordingSegmentsCache.get(s,g):null;if(l)return void i.set(o,{type:C.RecordingSegments,engine:p.Frigate,instanceID:c.frigate.client_id,segments:l,cached:!0});const u={instance_id:c.frigate.client_id,camera:c.frigate.camera_name,after:Math.floor(o.start.getTime()/1e3),before:Math.floor(o.end.getTime()/1e3)},m=await(async(e,t)=>await r(e,W,{type:"frigate/recordings/get",...t},!0))(e,u);(a?.useCache??1)&&this._recordingSegmentsCache.add(s,g,m),i.set(o,{type:C.RecordingSegments,engine:p.Frigate,instanceID:c.frigate.client_id,segments:m,cached:!1})};return await Promise.all(Array.from(n.cameraIDs).map((e=>s(n,e)))),w((()=>this._throttledSegmentGarbageCollector(e,t))),i.size?i:null}_getCameraIDMatch(e,t,n,a){if(1===t.cameraIDs.size)return[...t.cameraIDs][0];for(const[t,r]of e.getCameraConfigEntries())if(r.frigate.client_id===n&&r.frigate.camera_name===a)return t;return null}generateMediaFromEvents(e,t,n,a){if(!Se.isFrigateEventQueryResults(a))return null;const r=[];for(const e of a.events){const i=this._getCameraIDMatch(t,n,a.instanceID,e.camera);if(!i)continue;const s=this._getQueryableCameraConfig(t,i);if(!s)continue;let o=null;if(n.hasClip||n.hasSnapshot||!e.has_clip&&!e.has_snapshot?n.hasSnapshot&&e.has_snapshot?o="snapshot":n.hasClip&&e.has_clip&&(o="clip"):o=e.has_clip?"clip":"snapshot",!o)continue;const c=Te.createEventViewMedia(o,i,s,e,e.sub_label?this._splitSubLabels(e.sub_label):void 0);c&&r.push(c)}return r}generateMediaFromRecordings(e,t,n,a){if(!Se.isFrigateRecordingQueryResults(a))return null;const r=[];for(const n of a.recordings){const a=this._getQueryableCameraConfig(t,n.cameraID);if(!a)continue;const i=Te.createRecordingViewMedia(n.cameraID,n,a,this.getCameraMetadata(e,a).title);i&&r.push(i)}return r}getQueryResultMaxAge(e){return e.type===b.Event||e.type===b.Recording?60:null}async getMediaSeekTime(e,t,n,a,r){const i=n.getStartTime(),s=n.getEndTime();if(!i||!s||as)return null;const o=n.getCameraID(),c={cameraIDs:new Set([o]),start:i,end:s,type:b.RecordingSegments},g=await this.getRecordingSegments(e,t,c,r);return g?this._getSeekTimeInSegments(i,a,Array.from(g.values())[0].segments):null}_getQueryableCameraConfig(e,t){const n=e.getCameraConfig(t);return!n||V(n)?null:n}_splitSubLabels(e){return e.split(",").map((e=>e.trim()))}async getMediaMetadata(e,t,n,a){const i=new Map;if((a?.useCache??1)&&this._requestCache.has(n)){const e=this._requestCache.get(n);if(e)return i.set(n,e),i}const s=new Set,o=new Set,c=new Set,g=new Set,l=this._buildInstanceToCameraIDMapFromQuery(t,n.cameraIDs),u=async(n,a)=>{const i=this._getFrigateCameraNamesForCameraIDs(t,a);for(const t of await(async(e,t)=>await r(e,k,{type:"frigate/events/summary",instance_id:t,timezone:e.config.time_zone},!0))(e,n))i.has(t.camera)&&(t.label&&s.add(t.label),t.zones.length&&t.zones.forEach(o.add,o),t.day&&c.add(t.day),t.sub_label&&this._splitSubLabels(t.sub_label).forEach(g.add,g))},m=async n=>{const r=await this.getRecordings(e,t,{type:b.Recording,cameraIDs:n},a);if(r)for(const e of r.values())if(Se.isFrigateRecordingQueryResults(e))for(const t of e.recordings)c.add(M(t.startTime))};await D([...l.entries()],(([e,t])=>(async()=>{await Promise.all([u(e,t),m(t)])})()));const d={type:C.MediaMetadata,engine:p.Frigate,metadata:{...s.size&&{what:s},...o.size&&{where:o},...c.size&&{days:c},...g.size&&{tags:g}},expiry:v(new Date,{seconds:60}),cached:!1};return(a?.useCache??1)&&this._requestCache.set(n,{...d,cached:!0},d.expiry),i.set(n,d),i}async _garbageCollectSegments(e,t){const n=this._recordingSegmentsCache.getCameraIDs(),a={cameraIDs:new Set(n),type:b.Recording},r=(e,t)=>`${e}/${t.getDate()}/${t.getHours()}`,i=await this.getRecordings(e,t,a);if(i)for(const[e,t]of i){if(!Se.isFrigateRecordingQueryResults(t))continue;const n=new Set;for(const e of t.recordings)n.add(r(e.cameraID,e.startTime));const a=Array.from(e.cameraIDs)[0];this._recordingSegmentsCache.expireMatches(a,(e=>{const t=r(a,j(e.start_time));return!n.has(t)}))}}_getSeekTimeInSegments(e,t,n){if(!n.length)return null;let a=0;for(const r of n){const n=j(r.start_time);if(n>t)break;const i=j(r.end_time),s=nt?t:i).getTime()-s.getTime()}return a/1e3}getMediaCapabilities(e){return{canFavorite:_.isEvent(e),canDownload:!0}}getCameraMetadata(e,t){const n=super.getCameraMetadata(e,t);return{title:t.title??T(e,t.camera_entity)??T(e,t.webrtc_card?.entity)??d(t.frigate?.camera_name)??t.id??"",icon:n.icon,engineLogo:I}}getCameraEndpoints(e,t){const n=(()=>{if(!e.frigate.url)return null;if(!e.frigate.camera_name)return{endpoint:e.frigate.url};const n=`${e.frigate.url}/cameras/`+e.frigate.camera_name;if("live"===t?.view)return{endpoint:n};const a=`${e.frigate.url}/events?camera=`+e.frigate.camera_name,r=`${e.frigate.url}/recording/`+e.frigate.camera_name;switch(t?.media?.getMediaType()){case"clip":case"snapshot":return{endpoint:a};case"recording":const e=t.media.getStartTime();if(e)return{endpoint:r+F(e,"yyyy-MM-dd/HH")}}switch(t?.view){case"clip":case"clips":case"snapshots":case"snapshot":return{endpoint:a};case"recording":case"recordings":return{endpoint:r}}return{endpoint:n}})(),a=E(e,{url:e.go2rtc?.url??`/api/frigate/${e.frigate.client_id}/mse`,stream:e.go2rtc?.stream??e.frigate.camera_name}),r={endpoint:`/api/frigate/${e.frigate.client_id}/jsmpeg/${e.frigate.camera_name}`,sign:!0},i=(()=>{const t=e.frigate.camera_name?e.frigate.camera_name:null;return t?{endpoint:t}:null})();return{...super.getCameraEndpoints(e,t),...n&&{ui:n},...a&&{go2rtc:a},...r&&{jsmpeg:r},...i&&{webrtcCard:i}}}async executePTZAction(e,t,n,a){const r=t.camera_entity;("preset"!==n||a?.preset)&&await e.callService("frigate","ptz",{entity_id:r,action:"stop"===a?.phase?"stop":"zoom_in"===n||"zoom_out"===n?"zoom":"preset"===n?"preset":"move",..."stop"!==a?.phase&&{argument:"zoom_in"===n?"in":"zoom_out"===n?"out":"preset"===n?a?.preset:n}})}}export{Me as FrigateCameraManagerEngine}; diff --git a/config/www/community/frigate-hass-card/engine-frigate-f675aa79.js.gz b/config/www/community/frigate-hass-card/engine-frigate-f675aa79.js.gz deleted file mode 100644 index eed530c55522f2a77ff0ef3e898811dc8066e565..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8637 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 P@VEa5^@Vnj(r5qxN|v18 diff --git a/config/www/community/frigate-hass-card/engine-generic-31c14ad9.js b/config/www/community/frigate-hass-card/engine-generic-31c14ad9.js deleted file mode 100644 index 6879389a..00000000 --- a/config/www/community/frigate-hass-card/engine-generic-31c14ad9.js +++ /dev/null @@ -1 +0,0 @@ -import{eB as e,eC as t,l as i,e7 as a,e6 as n,e5 as s,e3 as r,j as c,eD as l}from"./card-45855f1f.js";class o{constructor(t,i,a){this._destroyCallbacks=[],this._stateChangeHandler=t=>{this._eventCallback?.({cameraID:this.getID(),type:e(t.newState.state)?"new":"end"})},this._config=t,this._engine=i,this._capabilities=a?.capabilities,this._eventCallback=a?.eventCallback}async initialize(e){return e.stateWatcher.subscribe(this._stateChangeHandler,this._config.triggers.entities),this._onDestroy((()=>e.stateWatcher.unsubscribe(this._stateChangeHandler))),this}async destroy(){this._destroyCallbacks.forEach((e=>e()))}getConfig(){return this._config}setID(e){this._config.id=e}getID(){if(this._config.id)return this._config.id;throw new t(i("error.no_camera_id"))}getEngine(){return this._engine}getCapabilities(){return this._capabilities??null}getProxyConfig(){return{dynamic:this._config.proxy.dynamic,media:"auto"!==this._config.proxy.media&&this._config.proxy.media,ssl_verification:!1!==this._config.proxy.ssl_verification,ssl_ciphers:"auto"===this._config.proxy.ssl_ciphers?"default":this._config.proxy.ssl_ciphers}}_onDestroy(e){this._destroyCallbacks.push(e)}}const u=(e,t)=>{const i=t?.url??e.go2rtc?.url,a=t?.stream??e.go2rtc?.stream;if(!i||!a)return null;const n=`${i}/api/ws?src=${a}`;return{endpoint:n,sign:n.startsWith("/")}};class g{constructor(e,t){this._stateWatcher=e,this._eventCallback=t}getEngineType(){return a.Generic}async createCamera(e,t){return await new o(t,this,{capabilities:new n({"favorite-events":!1,"favorite-recordings":!1,clips:!1,live:!0,menu:!0,recordings:!1,seek:!1,snapshots:!1,substream:!0,ptz:s(t)??void 0},{disable:t.capabilities?.disable,disableExcept:t.capabilities?.disable_except}),eventCallback:this._eventCallback}).initialize({stateWatcher:this._stateWatcher})}generateDefaultEventQuery(e,t,i){return null}generateDefaultRecordingQuery(e,t,i){return null}generateDefaultRecordingSegmentsQuery(e,t,i){return null}async getEvents(e,t,i,a){return null}async getRecordings(e,t,i,a){return null}async getRecordingSegments(e,t,i,a){return null}generateMediaFromEvents(e,t,i,a){return null}generateMediaFromRecordings(e,t,i,a){return null}async getMediaDownloadPath(e,t,i){return null}async favoriteMedia(e,t,i,a){}getQueryResultMaxAge(e){return null}async getMediaSeekTime(e,t,i,a,n){return null}async getMediaMetadata(e,t,i,a){return null}getCameraMetadata(e,t){const i=r(t);return{title:t.title??c(e,t.camera_entity)??c(e,t.webrtc_card?.entity)??t.id??"",icon:t?.icon??(i?l(e,i,"mdi:video"):"mdi:video")}}getMediaCapabilities(e){return null}getCameraEndpoints(e,t){const i=u(e);return i?{go2rtc:i}:null}async executePTZAction(e,t,i,a){}}var d=Object.freeze({__proto__:null,GenericCameraManagerEngine:g});export{o as C,g as G,d as e,u as g}; diff --git a/config/www/community/frigate-hass-card/engine-generic-31c14ad9.js.gz b/config/www/community/frigate-hass-card/engine-generic-31c14ad9.js.gz deleted file mode 100644 index d257e72696c7617ce281bf4be811cc834d5c665b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1149 zcmV-@1cLh?iwFqNQ&?vL|7C7xX>MgLXJu|>a%p2NGcjW^G+|^pE^2cCl~!AC+cp$_ z->-0lqL2VqX}4t?WT-+HXI&qHWlewr8wQuAj^)$Jq(D-3T$TTQBt<21VrSjck=e{Ol+t@ROsQz?q|pzz>c}^2rfKVCHCTmQt*v^psIq zzWDL%m$S3wt7ZC0MN?K&r6!_df-5asriF|(K|+&GuTZ7)5-eZr&S_mQDEqAPzyBe< zL}{wwd_{Q$zf)e;Aak9+4rZ_ct_PzcjXOryAnChV=H(UWce6Mlde=Y(u}(Q`ubsct zdrgYSGNLR3UPdM{;Y15^iB+z{FYpRE8|((ykzfXeCYF$`5Z&L+sM z39a!9#E^6nbSwEJ0Q*2STY*efyHHHx!a_e1i#^DxmRMCFRcep(fRZ2=eAWjzj^iYM z{ot6E|Mx*j()$YNL%!l;`Ae5VUQo7*W3b1?*4o%)oO_t@-F3&{jq=HY!DF}*mN}S^ z#}1eA17UK&lVwl!N{a2oW_O}vj3baz$drqDUmtTUqaM+PPwqoReab!JQFb5U9?6P= zw{`6-uB5o#J-BFB?l@f|%l2S4PBRT6vW60A7SUFV=p@e%XnKw3&yPunQuTZT5|_xR zM!~a_SBD)vRP>e%8(Rx1Ajppz2E8IGVM*IsN7>Vg#*C^Dj@C=ls+AQR<444#&0`?i zmTEsTCYb9YZDm~)kXGV*shR&J)bXt=pzE=y=S*$AoZ#25Cv+$im!xU$k>?+ub!bj$ zgQr_nD9Q3?9W@`PA!T+ZGy=KKY~7RWp~-SM zI2`nS5#HD#bzfpMeGA;?h=qn@_CmHLefjoh42oNd+E==W`;kSuab;#s#N#en(v6U) z;e|(_B3mBho+*I|St74`0jsf5?xV&HWG63edGglLdp##r0G~bOv{5Ued!`*GKK@R> z(O)tZ>!c_)0?WxuL%I?bUDS~2z1dl$flmUxxMk4jV_I|YVv~@)fMy4RY?5>|Y`bw* zvd4)sZZ6o!Th6Sn@C)bc&lcp)1)ktt=tIlzDZd}$^S=$Qp<27d95w69tF9=bh@f?!*-7YVQN&o()(T0qE-~9+2_j0e z@sBaXW%d>v9J$Ixn1yQpF0C~PcbQ<(^}{zqlZ}D~x4>ErS2usXVQ$xq@?#;PlSbMgLXJu|>a%p2NGdVS4IAb$_vX< ztrh{e03+p%iB?N*rCzhm!}xOwtUis$$V9S(OPzT*2;SiuN-eVu8u?u!Z%>e>)cO?s zfT?9gCj0M%1!j5E$X!hA*!xR*Lau{Ed;zqp`)=Ss;5>eyJx4`w-;ClKi+{lHX47We z*;k`2s9zvYmz7w<#xnIy_GO#q-LxLiHTurs?MH?qyw-1l__CxNhawSNL(fq_fxxA! zOZTh}U^_@9BpN3iw>C+P55{SWe{AF=+1?D^S6s2AkN&wQ@h-+OsU!)*h*E1NoW$NH ziJUDI=87g8QfR|^PizVWtVlPX0Nq}fDg|@jE82~A^6^V_;M|X}4|vu5(Upb≀Aa zaEFfLjKRAwP`D>6M^3N4Zhmg#Yniq}pC@`E^USEiQvVW{this._eventCallback?.({cameraID:this.getID(),type:e(t.newState.state)?"new":"end"})},this._config=t,this._engine=i,this._capabilities=a?.capabilities,this._eventCallback=a?.eventCallback}async initialize(e){return e.stateWatcher.subscribe(this._stateChangeHandler,this._config.triggers.entities),this._onDestroy((()=>e.stateWatcher.unsubscribe(this._stateChangeHandler))),this}async destroy(){this._destroyCallbacks.forEach((e=>e()))}getConfig(){return this._config}setID(e){this._config.id=e}getID(){if(this._config.id)return this._config.id;throw new t(i("error.no_camera_id"))}getEngine(){return this._engine}getCapabilities(){return this._capabilities??null}getProxyConfig(){return{dynamic:this._config.proxy.dynamic,media:"auto"!==this._config.proxy.media&&this._config.proxy.media,ssl_verification:!1!==this._config.proxy.ssl_verification,ssl_ciphers:"auto"===this._config.proxy.ssl_ciphers?"default":this._config.proxy.ssl_ciphers}}_onDestroy(e){this._destroyCallbacks.push(e)}}const u=(e,t)=>{const i=t?.url??e.go2rtc?.url,a=t?.stream??e.go2rtc?.stream;if(!i||!a)return null;const n=`${i}/api/ws?src=${a}`;return{endpoint:n,sign:n.startsWith("/")}};class g{constructor(e,t){this._stateWatcher=e,this._eventCallback=t}getEngineType(){return a.Generic}async createCamera(e,t){return await new o(t,this,{capabilities:new n({"favorite-events":!1,"favorite-recordings":!1,clips:!1,live:!0,menu:!0,recordings:!1,seek:!1,snapshots:!1,substream:!0,ptz:s(t)??void 0},{disable:t.capabilities?.disable,disableExcept:t.capabilities?.disable_except}),eventCallback:this._eventCallback}).initialize({stateWatcher:this._stateWatcher})}generateDefaultEventQuery(e,t,i){return null}generateDefaultRecordingQuery(e,t,i){return null}generateDefaultRecordingSegmentsQuery(e,t,i){return null}async getEvents(e,t,i,a){return null}async getRecordings(e,t,i,a){return null}async getRecordingSegments(e,t,i,a){return null}generateMediaFromEvents(e,t,i,a){return null}generateMediaFromRecordings(e,t,i,a){return null}async getMediaDownloadPath(e,t,i){return null}async favoriteMedia(e,t,i,a){}getQueryResultMaxAge(e){return null}async getMediaSeekTime(e,t,i,a,n){return null}async getMediaMetadata(e,t,i,a){return null}getCameraMetadata(e,t){const i=r(t);return{title:t.title??c(e,t.camera_entity)??c(e,t.webrtc_card?.entity)??t.id??"",icon:t?.icon??(i?l(e,i,"mdi:video"):"mdi:video")}}getMediaCapabilities(e){return null}getCameraEndpoints(e,t){const i=u(e);return i?{go2rtc:i}:null}async executePTZAction(e,t,i,a){}}var d=Object.freeze({__proto__:null,GenericCameraManagerEngine:g});export{o as C,g as G,d as e,u as g}; diff --git a/config/www/community/frigate-hass-card/engine-generic-39deaa91.js.gz b/config/www/community/frigate-hass-card/engine-generic-39deaa91.js.gz deleted file mode 100644 index 81c1261bc0f0f7c678a3888f1a76a008f9888993..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1147 zcmV->1cdt^iwFoDf?;O@|7C7xX>MgLXJu|>a%p2NGdW~sVPQEjE^2cCl~!AC+cp$_ z->*=FqL2Vq$=ab0GE^Z*vaSz7vnD`+4TDQl$MQ*K(jX~2j>`W&lA;nhv9s>!Nax0n z=Sp0zgw!2uBdQ`GaPO!ljU!0lH%BRfcaCxbZyi+xP8^lw))7YF)X~PwrC7$UL%JB2Ps|A88)a9R6)yZ{7?3vaymN;E4}PZ9Mg_lQT?eTI7^D@)!s zjkCCt;%@uoqFuG+bcrnAfw^*;SrCyWR7mrfwpzqTMX^WIYrKAaNJ5lqrfZNmM@BUY zo*(_X-_cV=Z^>|FYe5AB#X-ZMSH>00Y1`;He_7F(QT4&WdRetK`1Yzpb4*uw zyiui+ta#N?^KBARW@o}mAlJDK57s>Au4klHUr{fT_&Byu!&s|##+rlOjk+i_Spj>8 zgMKW+8#|;PON?e8f!iFh&~VIN$hM>}-~Nn2aYIr2N*75#vPd_s%-o51(#3PS77{hQ z@d#9G%Y!^JB`_f?1vAI6w{_oTy!u{+wgfv083 zoMsj_l;7anbl`4aW(V8Uy{yXYL8k4hE6X@0Xx-;_5;|Iz36_nuLJ}`4%-2|fh|_%h zW6W@wodpL6u5uA(q1wGmYYoC(A}qUp_~vNxQPAKHSgYac=C4!ccFibHW=&;O6`yCf zz;rg30Iof!Q@cX6m`=SH5~g4XDdp6@Z~A$e*Cw67oqxUx_x?O1wId%%)xTw1M`|{this._eventCallback?.({cameraID:this.getID(),type:e(t.newState.state)?"new":"end"})},this._config=t,this._engine=i,this._capabilities=a?.capabilities,this._eventCallback=a?.eventCallback}async initialize(e){return e.stateWatcher.subscribe(this._stateChangeHandler,this._config.triggers.entities),this._onDestroy((()=>e.stateWatcher.unsubscribe(this._stateChangeHandler))),this}async destroy(){this._destroyCallbacks.forEach((e=>e()))}getConfig(){return this._config}setID(e){this._config.id=e}getID(){if(this._config.id)return this._config.id;throw new t(i("error.no_camera_id"))}getEngine(){return this._engine}getCapabilities(){return this._capabilities??null}getProxyConfig(){return{dynamic:this._config.proxy.dynamic,media:"auto"!==this._config.proxy.media&&this._config.proxy.media,ssl_verification:!1!==this._config.proxy.ssl_verification,ssl_ciphers:"auto"===this._config.proxy.ssl_ciphers?"default":this._config.proxy.ssl_ciphers}}_onDestroy(e){this._destroyCallbacks.push(e)}}const u=(e,t)=>{const i=t?.url??e.go2rtc?.url,a=t?.stream??e.go2rtc?.stream;if(!i||!a)return null;const n=`${i}/api/ws?src=${a}`;return{endpoint:n,sign:n.startsWith("/")}};class g{constructor(e,t){this._stateWatcher=e,this._eventCallback=t}getEngineType(){return a.Generic}async createCamera(e,t){return await new o(t,this,{capabilities:new n({"favorite-events":!1,"favorite-recordings":!1,clips:!1,live:!0,menu:!0,recordings:!1,seek:!1,snapshots:!1,substream:!0,ptz:s(t)??void 0},{disable:t.capabilities?.disable,disableExcept:t.capabilities?.disable_except}),eventCallback:this._eventCallback}).initialize({stateWatcher:this._stateWatcher})}generateDefaultEventQuery(e,t,i){return null}generateDefaultRecordingQuery(e,t,i){return null}generateDefaultRecordingSegmentsQuery(e,t,i){return null}async getEvents(e,t,i,a){return null}async getRecordings(e,t,i,a){return null}async getRecordingSegments(e,t,i,a){return null}generateMediaFromEvents(e,t,i,a){return null}generateMediaFromRecordings(e,t,i,a){return null}async getMediaDownloadPath(e,t,i){return null}async favoriteMedia(e,t,i,a){}getQueryResultMaxAge(e){return null}async getMediaSeekTime(e,t,i,a,n){return null}async getMediaMetadata(e,t,i,a){return null}getCameraMetadata(e,t){const i=r(t);return{title:t.title??c(e,t.camera_entity)??c(e,t.webrtc_card?.entity)??t.id??"",icon:t?.icon??(i?l(e,i,"mdi:video"):"mdi:video")}}getMediaCapabilities(e){return null}getCameraEndpoints(e,t){const i=u(e);return i?{go2rtc:i}:null}async executePTZAction(e,t,i,a){}}var d=Object.freeze({__proto__:null,GenericCameraManagerEngine:g});export{o as C,g as G,d as e,u as g}; diff --git a/config/www/community/frigate-hass-card/engine-generic-458c9005.js.gz b/config/www/community/frigate-hass-card/engine-generic-458c9005.js.gz deleted file mode 100644 index 628c42fc4bd47168eb0b9f1bd7939c52e37feb55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1146 zcmV-=1cmz_iwFo>dR%7$|7C7xX>MgLXJu|>a%p2NG&MM5IWRCaE^2cCl~!AC+cp$_ z->-0lqL2Vq$?lj8Rp{cZ>qD@t2~c3e;L_Bwd{UVdNXm|@^1qLys6#Lz(uOXuMvb6yTBPHDasZXn*<%>0cAQO+TN7I2 zXNV!`BlBD+)(1(1*$MTmhg}k6_6~|zYi>$vF2gXj7RiOudr#~4Q-rI0BX^S(ajSVldf3!mJ_i29U!#G~v!!99`{1#j!x zSzJkRw|jKauH13DMwactY@B8qL}U#m(k!B_7STzbAJFs~FJB&$5T)w*1|%+#QH_FU zC*K}+^jOhbGHh%usDL0pY8dp2sDveLYaM0JD;hJZJ~&!0O{-Q`Y>XcflQxfmXj`iN z$e3WRi?o$>Q9xRW@1$n_mr%#Iu7Iw`qMkFg^>Tt=zMRmZOk9$ty+@vZe9@sfr462L zRiPxyUv$)boQ9Oyna~L2IQx+_Miy!qYt`OZbFjNn7lkIv;oxx4 z4@G!mhtxxf(ey2FnBg0rIT4S$Xh}ChqJ~!< zfr@N-kO!s&CS-}c>IJOEM!Am~H;|p2+4AJAqYrvcssKKD%4wrkLibENOnm&EexpBU zD%MF+Yy_5*Gef!(6Al%mq=8QYy|`o0=wn)Q@M4pYy?|y1f^3p>G;F(ZR+1Xi>yi)Yb|~v@S8*U{this._eventCallback?.({cameraID:this.getID(),type:e(t.newState.state)?"new":"end"})},this._config=t,this._engine=i,this._capabilities=a?.capabilities,this._eventCallback=a?.eventCallback}async initialize(e){return e.stateWatcher.subscribe(this._stateChangeHandler,this._config.triggers.entities),this._onDestroy((()=>e.stateWatcher.unsubscribe(this._stateChangeHandler))),this}async destroy(){this._destroyCallbacks.forEach((e=>e()))}getConfig(){return this._config}setID(e){this._config.id=e}getID(){if(this._config.id)return this._config.id;throw new t(i("error.no_camera_id"))}getEngine(){return this._engine}getCapabilities(){return this._capabilities??null}getProxyConfig(){return{dynamic:this._config.proxy.dynamic,media:"auto"!==this._config.proxy.media&&this._config.proxy.media,ssl_verification:!1!==this._config.proxy.ssl_verification,ssl_ciphers:"auto"===this._config.proxy.ssl_ciphers?"default":this._config.proxy.ssl_ciphers}}_onDestroy(e){this._destroyCallbacks.push(e)}}const o=(e,t)=>{const i=t?.url??e.go2rtc?.url,a=t?.stream??e.go2rtc?.stream;if(!i||!a)return null;const n=`${i}/api/ws?src=${a}`;return{endpoint:n,sign:n.startsWith("/")}};class u{constructor(e,t){this._stateWatcher=e,this._eventCallback=t}getEngineType(){return a.Generic}async createCamera(e,t){return await new l(t,this,{capabilities:new n({"favorite-events":!1,"favorite-recordings":!1,clips:!1,live:!0,menu:!0,recordings:!1,seek:!1,snapshots:!1,substream:!0,ptz:s(t)??void 0},{disable:t.capabilities?.disable,disableExcept:t.capabilities?.disable_except}),eventCallback:this._eventCallback}).initialize({stateWatcher:this._stateWatcher})}generateDefaultEventQuery(e,t,i){return null}generateDefaultRecordingQuery(e,t,i){return null}generateDefaultRecordingSegmentsQuery(e,t,i){return null}async getEvents(e,t,i,a){return null}async getRecordings(e,t,i,a){return null}async getRecordingSegments(e,t,i,a){return null}generateMediaFromEvents(e,t,i,a){return null}generateMediaFromRecordings(e,t,i,a){return null}async getMediaDownloadPath(e,t,i){return null}async favoriteMedia(e,t,i,a){}getQueryResultMaxAge(e){return null}async getMediaSeekTime(e,t,i,a,n){return null}async getMediaMetadata(e,t,i,a){return null}getCameraMetadata(e,t){const i=r(t);return{title:t.title??c(e,t.camera_entity)??c(e,t.webrtc_card?.entity)??t.id??"",icon:{entity:i??void 0,icon:t.icon,fallback:"mdi:video"}}}getMediaCapabilities(e){return null}getCameraEndpoints(e,t){const i=o(e);return i?{go2rtc:i}:null}async executePTZAction(e,t,i,a){}}var g=Object.freeze({__proto__:null,GenericCameraManagerEngine:u});export{l as C,u as G,g as e,o as g}; diff --git a/config/www/community/frigate-hass-card/engine-generic-93cdbee6.js.gz b/config/www/community/frigate-hass-card/engine-generic-93cdbee6.js.gz deleted file mode 100644 index 9d64cc0fa92b27e91e030e3e6d6bbade0f0ed09a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1142 zcmV-+1d00}iwFo$^lE1U|7C7xX>MgLXJu|>a%p2NIWuEqVr6AEE^2cCl~!AC+cp$_ z->*=FppXDoX*=XahAI?E*7YG+)&wZ9VQ^{cSU#yt3MA#kRr%jXQdA-*cGf)|>D>77 zT#4&eNZmshQ56A!jiZ`0jv#?w9i;@`Im!vVbySh+*ilJt9bslE#X8PT7?ss)IIT`k z;dGJRs(8j4s#MhUOmL-T$Fz`%CP--7>lLbOUV-I{?HO&F1!dn<@%KMukSI+xoUJIY z;djcb24ta&_rVM{!1ZWUW=YTJ8YKO6o_l!>`qO!m61{C9heT%_?yjA`%zI7C*fQcg z242M`HQ_`Ha*1`J!!Pg}ITScbX-gN_phi#yEwkxA*@MdI>@W;fTh1cn)`T|r9TG@; z3A&R!3c$Wl%~l{Y)h!g0xUkR<#9{|>rX|)jNR`>+JfJkl1wS7GoFqwFynk{`$N&4F zG#z{e^dVo#q5Ne_AulLfB?;K$5^HU2GR{2A`xF@o*(L zStpyagsc|tq-Oq?P{+5ffUc*afitu9a)dvA9MQ2%T#{ykM_znA?$Mmk7EkU}sU$0o zduqPULdxt+Xa#be+wfq`bMAUZYV`&6Dv3{G3pI?jZfC4H*!`r7LX#D+cR1+BBD}Ff z>aoOV_7S+v5ep5+?1gMg`tlvl7!~g*YG3J1GK?(JPb)KbBA)c|l5T`V4X-@{72EP4 zk4y$BEJuvMs@$q;1t^S^?M5krB z5m-fU4CyOWbkRVrcV=gq1wIM%;+{dP4{6Q8i%m*)0-Em$vPrYau zZ#m~fgjQH;XOb_op)#tAKNh#ZbheZL zu1)82yGpc}&%GBCreO#z<KXBm*pH+h-m=1x+RT3W7qKDD Ir{oF%0AB?&wEzGB diff --git a/config/www/community/frigate-hass-card/engine-generic-96b32038.js b/config/www/community/frigate-hass-card/engine-generic-96b32038.js deleted file mode 100644 index 3230f56d..00000000 --- a/config/www/community/frigate-hass-card/engine-generic-96b32038.js +++ /dev/null @@ -1 +0,0 @@ -import{eB as e,eC as t,l as i,e7 as a,e6 as n,e5 as s,e3 as r,j as c,eD as l}from"./card-7cd05290.js";class o{constructor(t,i,a){this._destroyCallbacks=[],this._stateChangeHandler=t=>{this._eventCallback?.({cameraID:this.getID(),type:e(t.newState.state)?"new":"end"})},this._config=t,this._engine=i,this._capabilities=a?.capabilities,this._eventCallback=a?.eventCallback}async initialize(e){return e.stateWatcher.subscribe(this._stateChangeHandler,this._config.triggers.entities),this._onDestroy((()=>e.stateWatcher.unsubscribe(this._stateChangeHandler))),this}async destroy(){this._destroyCallbacks.forEach((e=>e()))}getConfig(){return this._config}setID(e){this._config.id=e}getID(){if(this._config.id)return this._config.id;throw new t(i("error.no_camera_id"))}getEngine(){return this._engine}getCapabilities(){return this._capabilities??null}getProxyConfig(){return{dynamic:this._config.proxy.dynamic,media:"auto"!==this._config.proxy.media&&this._config.proxy.media,ssl_verification:!1!==this._config.proxy.ssl_verification,ssl_ciphers:"auto"===this._config.proxy.ssl_ciphers?"default":this._config.proxy.ssl_ciphers}}_onDestroy(e){this._destroyCallbacks.push(e)}}const u=(e,t)=>{const i=t?.url??e.go2rtc?.url,a=t?.stream??e.go2rtc?.stream;if(!i||!a)return null;const n=`${i}/api/ws?src=${a}`;return{endpoint:n,sign:n.startsWith("/")}};class g{constructor(e,t){this._stateWatcher=e,this._eventCallback=t}getEngineType(){return a.Generic}async createCamera(e,t){return await new o(t,this,{capabilities:new n({"favorite-events":!1,"favorite-recordings":!1,clips:!1,live:!0,menu:!0,recordings:!1,seek:!1,snapshots:!1,substream:!0,ptz:s(t)??void 0},{disable:t.capabilities?.disable,disableExcept:t.capabilities?.disable_except}),eventCallback:this._eventCallback}).initialize({stateWatcher:this._stateWatcher})}generateDefaultEventQuery(e,t,i){return null}generateDefaultRecordingQuery(e,t,i){return null}generateDefaultRecordingSegmentsQuery(e,t,i){return null}async getEvents(e,t,i,a){return null}async getRecordings(e,t,i,a){return null}async getRecordingSegments(e,t,i,a){return null}generateMediaFromEvents(e,t,i,a){return null}generateMediaFromRecordings(e,t,i,a){return null}async getMediaDownloadPath(e,t,i){return null}async favoriteMedia(e,t,i,a){}getQueryResultMaxAge(e){return null}async getMediaSeekTime(e,t,i,a,n){return null}async getMediaMetadata(e,t,i,a){return null}getCameraMetadata(e,t){const i=r(t);return{title:t.title??c(e,t.camera_entity)??c(e,t.webrtc_card?.entity)??t.id??"",icon:t?.icon??(i?l(e,i,"mdi:video"):"mdi:video")}}getMediaCapabilities(e){return null}getCameraEndpoints(e,t){const i=u(e);return i?{go2rtc:i}:null}async executePTZAction(e,t,i,a){}}var d=Object.freeze({__proto__:null,GenericCameraManagerEngine:g});export{o as C,g as G,d as e,u as g}; diff --git a/config/www/community/frigate-hass-card/engine-generic-96b32038.js.gz b/config/www/community/frigate-hass-card/engine-generic-96b32038.js.gz deleted file mode 100644 index 962b738d0344450b8d36f6b95055c44d692d86e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1149 zcmV-@1cLh?iwFp8_*Q2E|7C7xX>MgLXJu|>a%p2NIW}T5GB7hZE^2cCl~!AC+cp$_ z->*=FqL2Vq$vSk!WT-+HXI&qHWlewr8wQuAj^)$Jq(M@4T$TTQBt<21VrSjckdHzOUi5bo${&yS?J2&$lEHvT6EP&u7FhM{W5S%lo0 z&<4Lk0%<2fw~|Kz*hi|_5@e>@xndIM7W$D`>_N`7#JUElGJBi{lm@xr(>}mSlBC6( z2gkJhzYj{&-d8{$@|7IRU$zkPg0f|jfITj;*2X5|+`~-nt~&;Alus569>bNeD!_z1 zcDP6$2-5?eEPJAtQfwoe-AE^x#2}@R85gs@K4w_OJ)#Sr+=qzzlzYUZ>^{Ohl9eTI zo5opONpZV-aM7;Xak@g5@4;L<%`Aw>3M!;|Oj|ADlcG4F={24|KPDkcHM0#!Tp*(w z1E1R-}tQIe&X8xB@$G5J4uEwICGqLq@g5SQK(4kCRk|w=JUVM7ip*f{% zJl(2NNme}TsQEMrDYG+SEs*Qnh6ih&bJsIctB z!$IE{;f)$r&$PqD$KUC% z_19b_IxWkMz$!X3q^nTTc>}rLo1JAA_$1JaTLx==Olt;SY*Mlp(ELD^5I%bE5Se&L+`*@E1;z!SU+eQ5bTmqlSGUxO(vk>{Z+f zJ*af&_q!Db0EhJl*q3hB{AL&ZQz#xOe>WO$F%?_h2wGiH+iOQ7G1RU%xp(V2%E#~n zC>!5Pdi%B>@7M$9UE4Cg!4(Wn2!BfZ5;U!-rpK{LFt>wk=3Z81b|=$z)s}b@SI-=61~}Pi8}9R26^B zKLgX*LISw{this._eventCallback?.({cameraID:this.getID(),type:e(t.newState.state)?"new":"end"})},this._config=t,this._engine=i,this._capabilities=a?.capabilities,this._eventCallback=a?.eventCallback}async initialize(e){return e.stateWatcher.subscribe(this._stateChangeHandler,this._config.triggers.entities),this._onDestroy((()=>e.stateWatcher.unsubscribe(this._stateChangeHandler))),this}async destroy(){this._destroyCallbacks.forEach((e=>e()))}getConfig(){return this._config}setID(e){this._config.id=e}getID(){if(this._config.id)return this._config.id;throw new t(i("error.no_camera_id"))}getEngine(){return this._engine}getCapabilities(){return this._capabilities??null}getProxyConfig(){return{dynamic:this._config.proxy.dynamic,media:"auto"!==this._config.proxy.media&&this._config.proxy.media,ssl_verification:!1!==this._config.proxy.ssl_verification,ssl_ciphers:"auto"===this._config.proxy.ssl_ciphers?"default":this._config.proxy.ssl_ciphers}}_onDestroy(e){this._destroyCallbacks.push(e)}}const u=(e,t)=>{const i=t?.url??e.go2rtc?.url,a=t?.stream??e.go2rtc?.stream;if(!i||!a)return null;const n=`${i}/api/ws?src=${a}`;return{endpoint:n,sign:n.startsWith("/")}};class g{constructor(e,t){this._stateWatcher=e,this._eventCallback=t}getEngineType(){return a.Generic}async createCamera(e,t){return await new o(t,this,{capabilities:new n({"favorite-events":!1,"favorite-recordings":!1,clips:!1,live:!0,menu:!0,recordings:!1,seek:!1,snapshots:!1,substream:!0,ptz:s(t)??void 0},{disable:t.capabilities?.disable,disableExcept:t.capabilities?.disable_except}),eventCallback:this._eventCallback}).initialize({stateWatcher:this._stateWatcher})}generateDefaultEventQuery(e,t,i){return null}generateDefaultRecordingQuery(e,t,i){return null}generateDefaultRecordingSegmentsQuery(e,t,i){return null}async getEvents(e,t,i,a){return null}async getRecordings(e,t,i,a){return null}async getRecordingSegments(e,t,i,a){return null}generateMediaFromEvents(e,t,i,a){return null}generateMediaFromRecordings(e,t,i,a){return null}async getMediaDownloadPath(e,t,i){return null}async favoriteMedia(e,t,i,a){}getQueryResultMaxAge(e){return null}async getMediaSeekTime(e,t,i,a,n){return null}async getMediaMetadata(e,t,i,a){return null}getCameraMetadata(e,t){const i=r(t);return{title:t.title??c(e,t.camera_entity)??c(e,t.webrtc_card?.entity)??t.id??"",icon:t?.icon??(i?l(e,i,"mdi:video"):"mdi:video")}}getMediaCapabilities(e){return null}getCameraEndpoints(e,t){const i=u(e);return i?{go2rtc:i}:null}async executePTZAction(e,t,i,a){}}var d=Object.freeze({__proto__:null,GenericCameraManagerEngine:g});export{o as C,g as G,d as e,u as g}; diff --git a/config/www/community/frigate-hass-card/engine-generic-97fdd47e.js.gz b/config/www/community/frigate-hass-card/engine-generic-97fdd47e.js.gz deleted file mode 100644 index d2ef2f8f46df407d47fc38e25f1904aa17b75dd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1149 zcmV-@1cLh?iwFowdR%7$|7C7xX>MgLXJu|>a%p2NIX7lxWHdKrE^2cCl~!AC+cp$_ z->*=FqL2VqX*;Y%WvD_IXI&qHWlewr8wQuAj^)$Jq(M@4T$TTQBt<21VrSjck+;XS%5mZ6TZ2V6SpmI8U3`5n9vk190 zp$&e61kz4|ZY7TbuuoL8CCE&*bHyaiE%YO?*n^yDiFFN9W%f7^C=GJKr+t8vBuR_6 z_l{}#e;<^ly{~{i~N9X6Q&0|S@uLPrPxL`yOB;Xi9t#sGcIO*eax_mdqn3xx%UzEDffs+*?oX}Br8ka zHjT5ml;UQ0@1k9`<8*~A--Ee!npqH$6;w#`n6_HPCq;2U(`!6^dQ3u;YGxadxIjiV z3Z9?5IPB=YqPJwYwzZ%Fg5s!Q&@1B#7PM`2oIkE;%&7X{XuYgkwX|Ym{D_F!A_1ap zsrDly!a|o>E1R-}tQIe&X8xB@$G5J4uEwICGqLq@g5STN(4kCRk|w=JUVMJip*f{% zJl(2NNme}RsQEkzDYG+SEs*Qnh6ih&bJsIct52wxNqibxs9~(tdt=SP?nYe{nyi3> z!$IE_;k6x7cO^!%_rPtASZFwAFJxQNmv4W@ptz-|eWi<}A6cXuS7z=+Jn7;E-3W;q zo_Pc+w&g+Ym=c(f74o_lum;!4eKfd%{N%YUPu@Cur{|;!;H#&cuGLcLo@s}PkH6Dj z>uS036mIU|+ad^P64tkD+*={KIIx#Z+v0BWQI=ZLb}T#8A85Zv#)u zk~z&RY$(6Mcj>_0!rTtFnR{84*{w|5RacgAOwhW|?Id)xEE6mnYlS3URhVzE0uiVA z_{W&xGJ6XSj$GwD%tEz)m)07DyF^%a{qW7vB3kl%bb2hUpM2p$Xdm&*8hLBQD?fa&mmw9c{3EcSSt8nknGg3S9o>cu?wsoX7 Plb`+t$vF`m{this._eventCallback?.({cameraID:this.getID(),type:e(t.newState.state)?"new":"end"})},this._config=t,this._engine=i,this._capabilities=a?.capabilities,this._eventCallback=a?.eventCallback}async initialize(e){return e.stateWatcher.subscribe(this._stateChangeHandler,this._config.triggers.entities),this._onDestroy((()=>e.stateWatcher.unsubscribe(this._stateChangeHandler))),this}async destroy(){this._destroyCallbacks.forEach((e=>e()))}getConfig(){return this._config}setID(e){this._config.id=e}getID(){if(this._config.id)return this._config.id;throw new t(i("error.no_camera_id"))}getEngine(){return this._engine}getCapabilities(){return this._capabilities??null}getProxyConfig(){return{dynamic:this._config.proxy.dynamic,media:"auto"!==this._config.proxy.media&&this._config.proxy.media,ssl_verification:!1!==this._config.proxy.ssl_verification,ssl_ciphers:"auto"===this._config.proxy.ssl_ciphers?"default":this._config.proxy.ssl_ciphers}}_onDestroy(e){this._destroyCallbacks.push(e)}}const u=(e,t)=>{const i=t?.url??e.go2rtc?.url,a=t?.stream??e.go2rtc?.stream;if(!i||!a)return null;const n=`${i}/api/ws?src=${a}`;return{endpoint:n,sign:n.startsWith("/")}};class g{constructor(e,t){this._stateWatcher=e,this._eventCallback=t}getEngineType(){return a.Generic}async createCamera(e,t){return await new o(t,this,{capabilities:new n({"favorite-events":!1,"favorite-recordings":!1,clips:!1,live:!0,menu:!0,recordings:!1,seek:!1,snapshots:!1,substream:!0,ptz:s(t)??void 0},{disable:t.capabilities?.disable,disableExcept:t.capabilities?.disable_except}),eventCallback:this._eventCallback}).initialize({stateWatcher:this._stateWatcher})}generateDefaultEventQuery(e,t,i){return null}generateDefaultRecordingQuery(e,t,i){return null}generateDefaultRecordingSegmentsQuery(e,t,i){return null}async getEvents(e,t,i,a){return null}async getRecordings(e,t,i,a){return null}async getRecordingSegments(e,t,i,a){return null}generateMediaFromEvents(e,t,i,a){return null}generateMediaFromRecordings(e,t,i,a){return null}async getMediaDownloadPath(e,t,i){return null}async favoriteMedia(e,t,i,a){}getQueryResultMaxAge(e){return null}async getMediaSeekTime(e,t,i,a,n){return null}async getMediaMetadata(e,t,i,a){return null}getCameraMetadata(e,t){const i=r(t);return{title:t.title??c(e,t.camera_entity)??c(e,t.webrtc_card?.entity)??t.id??"",icon:t?.icon??(i?l(e,i,"mdi:video"):"mdi:video")}}getMediaCapabilities(e){return null}getCameraEndpoints(e,t){const i=u(e);return i?{go2rtc:i}:null}async executePTZAction(e,t,i,a){}}var d=Object.freeze({__proto__:null,GenericCameraManagerEngine:g});export{o as C,g as G,d as e,u as g}; diff --git a/config/www/community/frigate-hass-card/engine-generic-bb62ddef.js.gz b/config/www/community/frigate-hass-card/engine-generic-bb62ddef.js.gz deleted file mode 100644 index 8abd426fbd75dc02a55c8b59bdc89171e5535cc0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1148 zcmV-?1cUn@iwFn;u32XS|7C7xX>MgLXJu|>a%p2NVq!KjWMpM#E^2cCl~!AC+cp$_ z->*=FqL2Vq>AJ23WT-+HXKf#XWlewr8wQuAj^)$Jq(M@4T$TTQBt<21VrSjckgdFeUL%JB2Ps|CIX0*fR6)yZ{7(*`ayokqL)DJ62)Q+( z4Ss_J(oTYIC65BIPgJud$V|0!#U#!x^dqs@gPduJbq!Kw_BanH4RXP!eSniBNsBl4 zj%oRSAC#uOuYf+}D>;_GY$4=1Wy>T1dt73zjZMaxhnd`7cMRSrpDY+WhAUxJfC+i* zaFN^-rUyJ(_CznG*hV(Hkxnp)K}sPrE@pjw%&>}kMCU%a_Yw6e_lQT?eSmu;D@)!s zjkCCv;%0a6qFuG)bcHP6gSmE^SrCyGR7mrfwpzp|MR7pWYdn2=OhS}uW*d;WKt?qR zo}c`D*wKAOZ^>|NYe5AB#ZkkcSH=}AXxr#Ge_YX+QT4&mdRez>X~o9)5fQaT0z}(V z?MFt0g)XyJHf0G}EnY~?{4b%7Z(RXhjYU0YV(aAuzkffWLz%cFO?r>K`23_pb4u5E zx>co;ta#E<^LY|dW@o}$AlJDK57s>Au4klHpHMH8_%yaq!&s~L#+rlOjk+i_Spf%! zgT5=mYdfUwN{nXjfZH6g&~VIN$hM>}-~Nn2aZ6GAN*75#vPd_s%-o51(!~q95fU{# z^9WRI%Y)o8B`_f?@2guCxM>dFj(tjS~KuslajrF<_Cgo(rh$ryKz?X zhlw(7F4)Lh&a|)abLZ^O7Ua$ap5SfhL(A_ee;nfTzYVUSUb(~^HS7z))r(JHui{qd zL8V*2Kdd+aIIKUwzHqbVcf05xL-9cQhtYV8so3&H(CU)fUOO6zp?1B=om%ZPIw`)duG8-zRs`z96 z1(?nj62P_RY-U%87PFc6Lc$abA*Gz!_f0=9^V*~nxbe?d;ohHTq;}*Tsrt8U>qu=T OKm7|26C-%!3IG5JS}xiE diff --git a/config/www/community/frigate-hass-card/engine-motioneye-205f9ce6.js b/config/www/community/frigate-hass-card/engine-motioneye-205f9ce6.js deleted file mode 100644 index 4fd404ee..00000000 --- a/config/www/community/frigate-hass-card/engine-motioneye-205f9ce6.js +++ /dev/null @@ -1 +0,0 @@ -import{e9 as e,e4 as t,e3 as a,e2 as s,ea as i,d0 as n,e6 as r,e7 as o,dN as c,eb as d,ec as m,ed as l,ee as h,d8 as u,da as y}from"./card-320adb66.js";import{B as g,a as p,g as _,i as M}from"./within-dates-c613e3cb.js";import{C as f}from"./engine-86b0096c.js";import{p as C}from"./parse-7f4a6e12.js";import{e as w}from"./endOfDay-086a6977.js";import"./engine-generic-39deaa91.js";import"./media-c9012082.js";class D extends g{getProxyConfig(){return{...super.getProxyConfig(),media:"auto"===this._config.proxy.media||this._config.proxy.media}}}class E{static isMotionEyeEventQueryResults(e){return e.engine===t.MotionEye&&e.type===o.Event}}const v={"%Y":"yyyy","%m":"MM","%d":"dd","%H":"HH","%M":"mm","%S":"ss"},x=new RegExp(/(%Y|%m|%d|%H|%M|%S)/g);class b extends p{constructor(){super(...arguments),this._directoryCache=new e,this._fileCache=new e}getEngineType(){return t.MotionEye}async createCamera(e,t){const i=new D(t,this,{capabilities:new a({"favorite-events":!1,"favorite-recordings":!1,clips:!0,live:!0,menu:!0,recordings:!1,seek:!1,snapshots:!0,substream:!0,ptz:s(t)??void 0},{disable:t.capabilities?.disable,disableExcept:t.capabilities?.disable_except}),eventCallback:this._eventCallback});return await i.initialize({entityRegistryManager:this._entityRegistryManager,hass:e,stateWatcher:this._stateWatcher})}_convertMotionEyeTimeFormatToDateFNS(e){return e.replace(x,((e,t)=>v[t]))}_motionEyeMetadataGeneratorFile(e,t,a,s){let n=s?._metadata?.startDate??new Date;if(t){const e=a.title.replace(/\.[^/.]+$/,"");if(n=C(e,t,n),!i(n))return null}return{cameraID:e,startDate:n,endDate:n}}_motionEyeMetadataGeneratorDirectory(e,t,a,s){let r=s?._metadata?.startDate??new Date;if(t){const e=C(a.title,t,r);if(!i(e))return null;r=n(e)}return{cameraID:e,startDate:r,endDate:s?._metadata?.endDate??w(r)}}async _getMatchingDirectories(e,t,a,s,i){const n=t.getCamera(a),r=n?.getConfig();if(!(n instanceof g&&r))return null;const o=n.getEntity(),c=o?.config_entry_id,d=o?.device_id;if(!c||!d)return null;const m=(e,t)=>{const i=e.shift();if(!i)return[];const n=i.includes("%")?this._convertMotionEyeTimeFormatToDateFNS(i):null;return[{targets:t,metadataGenerator:(e,t)=>this._motionEyeMetadataGeneratorDirectory(a,n,e,t),matcher:e=>e.can_expand&&(!!n||e.title===i)&&M(e,s?.start,s?.end),advance:t=>m(e,t)}]};return await this._browseMediaManager.walkBrowseMedias(e,[...!1===s?.hasClip||s?.hasSnapshot?[]:m(r.motioneye.movies.directory_pattern.split("/"),[`media-source://motioneye/${c}#${d}#movies`]),...!1===s?.hasSnapshot||s?.hasClip?[]:m(r.motioneye.images.directory_pattern.split("/"),[`media-source://motioneye/${c}#${d}#images`])],{...!1!==i?.useCache&&{cache:this._directoryCache}})}async getEvents(e,a,s,i){if(s.favorite||s.tags?.size||s.what?.size||s.where?.size)return null;const n=new Map,c=async r=>{const c={...s,cameraIDs:new Set([r])},d=i?.useCache??1?this._requestCache.get(c):null;if(d)return void n.set(c,d);const m=a.getCameraConfig(r);if(!m)return;const y=await this._getMatchingDirectories(e,a,r,c,i);if(!y||!y.length)return;const g=this._convertMotionEyeTimeFormatToDateFNS(m.motioneye.movies.file_pattern),p=this._convertMotionEyeTimeFormatToDateFNS(m.motioneye.images.file_pattern),_=c.limit??f,C=await this._browseMediaManager.walkBrowseMedias(e,[{targets:y,metadataGenerator:(e,t)=>e.media_class===l||e.media_class===h?this._motionEyeMetadataGeneratorFile(r,e.media_class===l?p:g,e,t):null,earlyExit:e=>e.length>=_,matcher:e=>!e.can_expand&&M(e,c.start,c.end)}],{...!1!==i?.useCache&&{cache:this._fileCache}}),w=u(C,(e=>e._metadata?.startDate),"desc").slice(0,c.limit??f),D={type:o.Event,engine:t.MotionEye,browseMedia:w};(i?.useCache??1)&&this._requestCache.set(c,{...D,cached:!0},D.expiry),n.set(c,D)};return await r(s.cameraIDs,(e=>c(e))),n.size?n:null}generateMediaFromEvents(e,t,a,s){return E.isMotionEyeEventQueryResults(s)?_(s.browseMedia):null}async getMediaMetadata(e,a,s,i){const n=new Map;if((i?.useCache??1)&&this._requestCache.has(s)){const e=this._requestCache.get(s);if(e)return n.set(s,e),n}const m=new Set,l=async t=>{const s=await this._getMatchingDirectories(e,a,t,null,i);for(const e of s??[])e._metadata&&m.add(y(e._metadata?.startDate))};await r(s.cameraIDs,(e=>l(e)));const h={type:o.MediaMetadata,engine:t.MotionEye,metadata:{...m.size&&{days:m}},expiry:c(new Date,{seconds:d}),cached:!1};return(i?.useCache??1)&&this._requestCache.set(s,{...h,cached:!0},h.expiry),n.set(s,h),n}getCameraMetadata(e,t){return{...super.getCameraMetadata(e,t),engineLogo:m}}getCameraEndpoints(e,t){const a=e.motioneye?.url?{endpoint:e.motioneye.url}:null;return{...super.getCameraEndpoints(e,t),...a&&{ui:a}}}}export{b as MotionEyeCameraManagerEngine}; diff --git a/config/www/community/frigate-hass-card/engine-motioneye-205f9ce6.js.gz b/config/www/community/frigate-hass-card/engine-motioneye-205f9ce6.js.gz deleted file mode 100644 index 1e859642de58866ac56d0c345938659221c6b0f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1951 zcmV;Q2VnRgiwFoEf?;O@|7C7xX>MgLZEtjGZ*FCIWi2u=HD)e;c_ODx7(R0Y2%&gWL#H)$SVn5z6wB+8H)eC7Y|aDBX8VH z{RI$kd7tMV0A^WPa9P96fQkVS_*RXQz?B*)fwyWD1gIJrNyci-30$j@6L_b_f+Rnv zF($B3V?rQSV@4oRV@d$jxF*SaHEu|v^;ON17n$RaV#-a+HZGEu33JOPzmB9zP`MIt9a4ZF;U{nRvhvb%i-ev^=v0DKd-vg&tV42R&$s#L3muRllqMK0uE8`jSG&raY}_~#JkJj3~H zre+Dwl0?lu;q22VHJjlq%hc>1XF@m)c?xsb4Ss^v-Bam~-1DFJ=h^-|*`I&fpU?K^ z_ugpb*`zMIq?WZd&o{9wIA&Dm(Zz&PzS?BypYVvuO~N=Rp=v_oHE3I4x0Wo0-fDwo zxYNOZ#!$O54SIQKsHpOI5OYA#PG|<4x~R=F-VB&lG472649F@_O{R(c4f=nVHR}7u5W;CZO;H{cddt{A}2!JSj z!#}9RI=1rtrN(Pie{6xvu8f~q1|JKaQTe%;qUgsT?vGl4Lz&VT+$ZAd@`fL_5AxAN zO z7-xF0Kl-Qt@UM~o_~$nx;y9j?&clhel6&Ngxw+?Ar}IskHkMan4a~nzO>&IQ0I5Gu z%&hrZ9MiU6j)UR^BdOw{0-0 zmEv@hV5rWy<3-)E@Vl^QUSKL=RMwbxj70>JWY3WiShtMw*C2=zL>+!ZGTWXIegNc= z99g5Jc`_WjXJ`3-4+bcBx-f4zoS_|I5vC?sX^+rktI80_@I$8kXdatmIx%i7c(D`c z6P|&VC;S~vzkGLCR%m#@lj7_W?V)<4kqNTwesAXYmO`V4#~^dLZ{masaJEG(`Q3ps zFR7Hkb6=E5imo$qJo501xe6w8XA5_ITG9aj0)lq@@jW#NLB+ANZr!V9WKQ ziK0u}6&(Jv0U`CO>RUIqEr4!!?Whk)OsU!?iPv=|J+Ovl3QKL7{nAQSVIPz)vJxen z#F#RzqC!5X{1oqBa(%3A6~4Zqv)>|C-E&%$c%=M;$}H}VmCeK0Pg%xf6fMal`~#iX zF;4X|8g2EOLg~8>?X1cH|~VE+UTis)*}wmd+d0=NbwMH$K;TCk4(c_ z-OmGiJ16E6AM~!Sq*sq%*W9|t&4IjoqCE`$RVY)UJx}m1*^sG^p)+22q-~L@_l%7> zQb5<3I;>b7{`w1S^(fcbZdRr`#;uR|F6+3&-aV|+JO8Wi7vV*7G}sH#RP(@528TAS z2da9;GO7<>l^A4aGWh9pH{KdkT21nLyzv)8)rT zNN6R3tZ9gWQV_fCJ(AP{A2;~Q3li*$7Iv2{z+Mepp@F;Z19$xlxPq)zDLPK?0YsjB zrk@bAA%9=23KdT$beAV(!7P|tq|gu!l!|fiG{TpU5e#};YNzSn%uaZ5Y(U*5u)Ot# l1?u(RV4&(>9{S%pT`jEphK|i!x4He(e*yS<8=6ZJ008No+Nl5l diff --git a/config/www/community/frigate-hass-card/engine-motioneye-3521f17f.js b/config/www/community/frigate-hass-card/engine-motioneye-3521f17f.js deleted file mode 100644 index a1310cd3..00000000 --- a/config/www/community/frigate-hass-card/engine-motioneye-3521f17f.js +++ /dev/null @@ -1 +0,0 @@ -import{ec as e,e7 as t,e6 as a,e5 as s,ed as i,d4 as n,e9 as r,ea as o,dQ as c,ee as d,ef as m,eg as l,eh as h,dc as u,de as y}from"./card-09c4bade.js";import{B as g,a as p,g as _,i as M}from"./within-dates-cc9f8404.js";import{C as f}from"./engine-86b0096c.js";import{p as C}from"./parse-645a86cb.js";import{e as w}from"./endOfDay-8be4da1b.js";import"./engine-generic-458c9005.js";import"./media-c9012082.js";class D extends g{getProxyConfig(){return{...super.getProxyConfig(),media:"auto"===this._config.proxy.media||this._config.proxy.media}}}class E{static isMotionEyeEventQueryResults(e){return e.engine===t.MotionEye&&e.type===o.Event}}const v={"%Y":"yyyy","%m":"MM","%d":"dd","%H":"HH","%M":"mm","%S":"ss"},x=new RegExp(/(%Y|%m|%d|%H|%M|%S)/g);class b extends p{constructor(){super(...arguments),this._directoryCache=new e,this._fileCache=new e}getEngineType(){return t.MotionEye}async createCamera(e,t){const i=new D(t,this,{capabilities:new a({"favorite-events":!1,"favorite-recordings":!1,clips:!0,live:!0,menu:!0,recordings:!1,seek:!1,snapshots:!0,substream:!0,ptz:s(t)??void 0},{disable:t.capabilities?.disable,disableExcept:t.capabilities?.disable_except}),eventCallback:this._eventCallback});return await i.initialize({entityRegistryManager:this._entityRegistryManager,hass:e,stateWatcher:this._stateWatcher})}_convertMotionEyeTimeFormatToDateFNS(e){return e.replace(x,((e,t)=>v[t]))}_motionEyeMetadataGeneratorFile(e,t,a,s){let n=s?._metadata?.startDate??new Date;if(t){const e=a.title.replace(/\.[^/.]+$/,"");if(n=C(e,t,n),!i(n))return null}return{cameraID:e,startDate:n,endDate:n}}_motionEyeMetadataGeneratorDirectory(e,t,a,s){let r=s?._metadata?.startDate??new Date;if(t){const e=C(a.title,t,r);if(!i(e))return null;r=n(e)}return{cameraID:e,startDate:r,endDate:s?._metadata?.endDate??w(r)}}async _getMatchingDirectories(e,t,a,s,i){const n=t.getCamera(a),r=n?.getConfig();if(!(n instanceof g&&r))return null;const o=n.getEntity(),c=o?.config_entry_id,d=o?.device_id;if(!c||!d)return null;const m=(e,t)=>{const i=e.shift();if(!i)return[];const n=i.includes("%")?this._convertMotionEyeTimeFormatToDateFNS(i):null;return[{targets:t,metadataGenerator:(e,t)=>this._motionEyeMetadataGeneratorDirectory(a,n,e,t),matcher:e=>e.can_expand&&(!!n||e.title===i)&&M(e,s?.start,s?.end),advance:t=>m(e,t)}]};return await this._browseMediaManager.walkBrowseMedias(e,[...!1===s?.hasClip||s?.hasSnapshot?[]:m(r.motioneye.movies.directory_pattern.split("/"),[`media-source://motioneye/${c}#${d}#movies`]),...!1===s?.hasSnapshot||s?.hasClip?[]:m(r.motioneye.images.directory_pattern.split("/"),[`media-source://motioneye/${c}#${d}#images`])],{...!1!==i?.useCache&&{cache:this._directoryCache}})}async getEvents(e,a,s,i){if(s.favorite||s.tags?.size||s.what?.size||s.where?.size)return null;const n=new Map,c=async r=>{const c={...s,cameraIDs:new Set([r])},d=i?.useCache??1?this._requestCache.get(c):null;if(d)return void n.set(c,d);const m=a.getCameraConfig(r);if(!m)return;const y=await this._getMatchingDirectories(e,a,r,c,i);if(!y||!y.length)return;const g=this._convertMotionEyeTimeFormatToDateFNS(m.motioneye.movies.file_pattern),p=this._convertMotionEyeTimeFormatToDateFNS(m.motioneye.images.file_pattern),_=c.limit??f,C=await this._browseMediaManager.walkBrowseMedias(e,[{targets:y,metadataGenerator:(e,t)=>e.media_class===l||e.media_class===h?this._motionEyeMetadataGeneratorFile(r,e.media_class===l?p:g,e,t):null,earlyExit:e=>e.length>=_,matcher:e=>!e.can_expand&&M(e,c.start,c.end)}],{...!1!==i?.useCache&&{cache:this._fileCache}}),w=u(C,(e=>e._metadata?.startDate),"desc").slice(0,c.limit??f),D={type:o.Event,engine:t.MotionEye,browseMedia:w};(i?.useCache??1)&&this._requestCache.set(c,{...D,cached:!0},D.expiry),n.set(c,D)};return await r(s.cameraIDs,(e=>c(e))),n.size?n:null}generateMediaFromEvents(e,t,a,s){return E.isMotionEyeEventQueryResults(s)?_(s.browseMedia):null}async getMediaMetadata(e,a,s,i){const n=new Map;if((i?.useCache??1)&&this._requestCache.has(s)){const e=this._requestCache.get(s);if(e)return n.set(s,e),n}const m=new Set,l=async t=>{const s=await this._getMatchingDirectories(e,a,t,null,i);for(const e of s??[])e._metadata&&m.add(y(e._metadata?.startDate))};await r(s.cameraIDs,(e=>l(e)));const h={type:o.MediaMetadata,engine:t.MotionEye,metadata:{...m.size&&{days:m}},expiry:c(new Date,{seconds:d}),cached:!1};return(i?.useCache??1)&&this._requestCache.set(s,{...h,cached:!0},h.expiry),n.set(s,h),n}getCameraMetadata(e,t){return{...super.getCameraMetadata(e,t),engineLogo:m}}getCameraEndpoints(e,t){const a=e.motioneye?.url?{endpoint:e.motioneye.url}:null;return{...super.getCameraEndpoints(e,t),...a&&{ui:a}}}}export{b as MotionEyeCameraManagerEngine}; diff --git a/config/www/community/frigate-hass-card/engine-motioneye-3521f17f.js.gz b/config/www/community/frigate-hass-card/engine-motioneye-3521f17f.js.gz deleted file mode 100644 index 376fce2116dec87964372ac0420722a95184c312..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1948 zcmV;N2V?jjiwFo>dR%7$|7C7xX>MgLZEtjGZ*FCIWi2x`GBIW`H)bwsa{#SaYj5MY z75&~{;bwU zw3U)*Wpl#RFl)cvF}Y^>MM5Qri#Wbr-dv5Z`Z^{`eA$XazG69C+*~ilOH-=ju(A7?fdSaF!}p(N~?>T1zaWcvM+kDw}Kovi!ZL;-^91$@%v+; z3=&2!aO3jZ@y)k-FHWftgXsXCC0f8F)GLtx;Kg$_De@&-xn9jdZg^h%zArWZbB{?jjvjtCBzA_te%1RNOjY-P3phk>sqsD`r5)%Ml^qA99tP80>5t{{O z2xz8$l=7EAxYCQFZNZYkxFL1I1YM*MNWbrAdZ;YDROq0^X`QwMW(ni2#VgH~f=I ztYa(RUuwKY^~V;t?8^9=W$>}!8I_-lDT;pl+rv={a41t6gZoTeUEc7+_EA20s3~hz z%s^6PF8XIh4;1nB5y7N{2_?d-Q;>r^#5Bz_D;W9c6_?6f6ls{??2awn4m}W3ALC39 z_DBEnAOAh_pZ@r6L>$Lc(s?-1R&tM=F*o-->vX2_ce7WkRo}< zVG;R;k`;1!HD?J))M5f#76bm&+T;EHEIFYs3oYn6RsmnE*-~1snEmGQ>8=e%wNjjJ z5)9Qjcf6=O7Jd`<%nM86h;g%L)yTcv75QqCHfPG%`V!-S5r(!BS}S_!ML=_f4Eo0nWCFCBHjR<|UO9 zcn4c$lA=fABjF#9{#vbqbA`bNpinO$0j@So~?jwKl8f>{Q<=rxv9fs>`zgzqjG`r(gukN`JI1MA zXB;q>+PS_3V!Nb@GLDzl(Qna`KA`b5d8sQZgOz3}jRJfa@wB>sX3~(ADaVI!-siBh zV-iz@69+!(V@atsdn%+s(>U$GG(o-(?+_*t>^SdhdVr{UW?*js|-nnra?6%HYtZ^*~iG zSVr~Xn-YWUj7ATaomZ$u=*~V6o6Z(K$}tU1ODUGLNNNdAb_6HhN+Nh2RM15pS>kKR z`ZT~Ri-_?2@Opq64l|!7iHo2nnr3 zkTnf4PzqwVy+@K-;Nu2gc|n4G(ZcSs1=yQ`D>QJ|ec-NN09TN;Dn-ZXJ%GrQ&-4>w zHsrq+t3t)o3Ek&OSuhLc7AZ7@1EpddJdN<>V+4cVmfC6hH?tF792-z~2`q2DVS#%6 iHyEh;m&Zc?%cZS_b>GmjdFwWJfA}v|O(QW&5&!_;{Kjzr diff --git a/config/www/community/frigate-hass-card/engine-motioneye-381004ee.js b/config/www/community/frigate-hass-card/engine-motioneye-381004ee.js deleted file mode 100644 index bcb4f70c..00000000 --- a/config/www/community/frigate-hass-card/engine-motioneye-381004ee.js +++ /dev/null @@ -1 +0,0 @@ -import{ec as e,e7 as t,e6 as a,e5 as s,ed as i,d4 as n,e9 as r,ea as o,dQ as c,ee as d,ef as m,eg as l,eh as h,dc as u,de as y}from"./card-c642ee74.js";import{B as g,a as p,g as _,i as M}from"./within-dates-cc65dfa5.js";import{C as f}from"./engine-86b0096c.js";import{p as C}from"./parse-a53fb39b.js";import{e as w}from"./endOfDay-97ae2cc7.js";import"./engine-generic-bb62ddef.js";import"./media-c9012082.js";class D extends g{getProxyConfig(){return{...super.getProxyConfig(),media:"auto"===this._config.proxy.media||this._config.proxy.media}}}class E{static isMotionEyeEventQueryResults(e){return e.engine===t.MotionEye&&e.type===o.Event}}const v={"%Y":"yyyy","%m":"MM","%d":"dd","%H":"HH","%M":"mm","%S":"ss"},x=new RegExp(/(%Y|%m|%d|%H|%M|%S)/g);class b extends p{constructor(){super(...arguments),this._directoryCache=new e,this._fileCache=new e}getEngineType(){return t.MotionEye}async createCamera(e,t){const i=new D(t,this,{capabilities:new a({"favorite-events":!1,"favorite-recordings":!1,clips:!0,live:!0,menu:!0,recordings:!1,seek:!1,snapshots:!0,substream:!0,ptz:s(t)??void 0},{disable:t.capabilities?.disable,disableExcept:t.capabilities?.disable_except}),eventCallback:this._eventCallback});return await i.initialize({entityRegistryManager:this._entityRegistryManager,hass:e,stateWatcher:this._stateWatcher})}_convertMotionEyeTimeFormatToDateFNS(e){return e.replace(x,((e,t)=>v[t]))}_motionEyeMetadataGeneratorFile(e,t,a,s){let n=s?._metadata?.startDate??new Date;if(t){const e=a.title.replace(/\.[^/.]+$/,"");if(n=C(e,t,n),!i(n))return null}return{cameraID:e,startDate:n,endDate:n}}_motionEyeMetadataGeneratorDirectory(e,t,a,s){let r=s?._metadata?.startDate??new Date;if(t){const e=C(a.title,t,r);if(!i(e))return null;r=n(e)}return{cameraID:e,startDate:r,endDate:s?._metadata?.endDate??w(r)}}async _getMatchingDirectories(e,t,a,s,i){const n=t.getCamera(a),r=n?.getConfig();if(!(n instanceof g&&r))return null;const o=n.getEntity(),c=o?.config_entry_id,d=o?.device_id;if(!c||!d)return null;const m=(e,t)=>{const i=e.shift();if(!i)return[];const n=i.includes("%")?this._convertMotionEyeTimeFormatToDateFNS(i):null;return[{targets:t,metadataGenerator:(e,t)=>this._motionEyeMetadataGeneratorDirectory(a,n,e,t),matcher:e=>e.can_expand&&(!!n||e.title===i)&&M(e,s?.start,s?.end),advance:t=>m(e,t)}]};return await this._browseMediaManager.walkBrowseMedias(e,[...!1===s?.hasClip||s?.hasSnapshot?[]:m(r.motioneye.movies.directory_pattern.split("/"),[`media-source://motioneye/${c}#${d}#movies`]),...!1===s?.hasSnapshot||s?.hasClip?[]:m(r.motioneye.images.directory_pattern.split("/"),[`media-source://motioneye/${c}#${d}#images`])],{...!1!==i?.useCache&&{cache:this._directoryCache}})}async getEvents(e,a,s,i){if(s.favorite||s.tags?.size||s.what?.size||s.where?.size)return null;const n=new Map,c=async r=>{const c={...s,cameraIDs:new Set([r])},d=i?.useCache??1?this._requestCache.get(c):null;if(d)return void n.set(c,d);const m=a.getCameraConfig(r);if(!m)return;const y=await this._getMatchingDirectories(e,a,r,c,i);if(!y||!y.length)return;const g=this._convertMotionEyeTimeFormatToDateFNS(m.motioneye.movies.file_pattern),p=this._convertMotionEyeTimeFormatToDateFNS(m.motioneye.images.file_pattern),_=c.limit??f,C=await this._browseMediaManager.walkBrowseMedias(e,[{targets:y,metadataGenerator:(e,t)=>e.media_class===l||e.media_class===h?this._motionEyeMetadataGeneratorFile(r,e.media_class===l?p:g,e,t):null,earlyExit:e=>e.length>=_,matcher:e=>!e.can_expand&&M(e,c.start,c.end)}],{...!1!==i?.useCache&&{cache:this._fileCache}}),w=u(C,(e=>e._metadata?.startDate),"desc").slice(0,c.limit??f),D={type:o.Event,engine:t.MotionEye,browseMedia:w};(i?.useCache??1)&&this._requestCache.set(c,{...D,cached:!0},D.expiry),n.set(c,D)};return await r(s.cameraIDs,(e=>c(e))),n.size?n:null}generateMediaFromEvents(e,t,a,s){return E.isMotionEyeEventQueryResults(s)?_(s.browseMedia):null}async getMediaMetadata(e,a,s,i){const n=new Map;if((i?.useCache??1)&&this._requestCache.has(s)){const e=this._requestCache.get(s);if(e)return n.set(s,e),n}const m=new Set,l=async t=>{const s=await this._getMatchingDirectories(e,a,t,null,i);for(const e of s??[])e._metadata&&m.add(y(e._metadata?.startDate))};await r(s.cameraIDs,(e=>l(e)));const h={type:o.MediaMetadata,engine:t.MotionEye,metadata:{...m.size&&{days:m}},expiry:c(new Date,{seconds:d}),cached:!1};return(i?.useCache??1)&&this._requestCache.set(s,{...h,cached:!0},h.expiry),n.set(s,h),n}getCameraMetadata(e,t){return{...super.getCameraMetadata(e,t),engineLogo:m}}getCameraEndpoints(e,t){const a=e.motioneye?.url?{endpoint:e.motioneye.url}:null;return{...super.getCameraEndpoints(e,t),...a&&{ui:a}}}}export{b as MotionEyeCameraManagerEngine}; diff --git a/config/www/community/frigate-hass-card/engine-motioneye-381004ee.js.gz b/config/www/community/frigate-hass-card/engine-motioneye-381004ee.js.gz deleted file mode 100644 index b92af3870b2edbe47d23f852546ffc9479a588f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1950 zcmV;P2VwXhiwFn;u32XS|7C7xX>MgLZEtjGZ*FCIWi2x}F)%PRWo0gEa{#SaYjfka z75&~{Av0?YIfW_P+4aWsa5)o6+wDx%Hu27MGOnvY;FW|fUj-n^ip2lkiw7ynkvDFp z{sIWNyw7tF0Q0;mh1vn@QP~3m@Aaq%+~|=Kc&A56Ak`x$>03P(1a9>x2v9wiB>h2; zi~#5{B{0`xPGF(OjKETlOOhHpE0P+yZ9Nxd?u7$JMS8(*-d+Q|e;fW=dUxFV^}QBb z5M!kxM%k2bJxrQ!H(V`wagkC5@`ACOcj=tI>*^S4@p&T-#ex@b@!ier^78hEbpu;a>n<~L1Fs0`G{^WZr@Y5X6$`O^k8oR1qjYAX0w~?G==%G zP!1`l7wq=(>iY7#YqQ5PDrIlfgC~U+FbTT_sK1NyX*(>7IbZm}PJmj8Vi$&?TvZ^# z=K{p2jXb(ir5DFB=1GQAW_H6$ONK^bzkg|`u50VZcqbKAob|Yzl!}+dcnjk-6zYc+ zi0zLcSDBJNG(Pnpv~g>zVf#hD524ytdbJGA=cvCdr0T8Xop=6|7kOL!^N4qz<9ssF zvlM4(s%M{Y_UV(JO>maydUlU9DZQFJ#RY77Kf+@CRQUt{{HOhSzCTa*=b!fHll}R9 zFjxdGsk1hz)y|j~E2c_;88vzIF`-l}Ryq1717dTNasgUsJEUw0#um7(InSW8T4Nc; zCiu@7YFnmWCl581+k*9&00ixj<{+q#+5+oMj~hiJUl{{r$7n@oJmZRkjPw@ucixq%lFOl?BkR{2f2EQ3geT|bl1trItnpBPl?C8;Tx?K&VPoFUD! z8D(E0o8hCiI=FKgr5nmITOlt{8O``F;O|h7D+J_%qtn|7E$9M7qvq5eSt2ANAR6EB z52~<^jeK{h4r<*WYY?g}<7b}3$5P}}eJ)2R`th&#M=ciTI|x@rU(;dJIrg z-l&*>qR3qIPnsSm;_D-VNedH7WU$LX^@&RvA_$z*#VX5c$1BVL^Uouj9BVT|>Mv3| ztG^b(qdgoq{w8z44!k!0_t%Oy%!@OfGGEyXej*Q5;WtG1ML6jis@Eel5_JsHYAdeKt z8WkBbf9*00^* zIY#yWaKkD>Hy+8(IC6&hPr{Y7hho2v4T)oP>Kv_+R&C2^0z<*XCm08t&>oeB^=yuzV=8(jc>TQw+ZD-O0YdEHG)Rwz1o#Zy|g7QUHqC^me zDKjdz$Oqdn!~2(79&1~~uW#u5*ND~koCYNUseY$2hr45C)0l-B&$&vHIT^;kqZ3=k z*}lv;U@x^(a|^_F$uwmgFD;Ybq9t=c<7x6-S5id_!%_wX_%IULcKpPZB`aHw5An3i zVQ0rArU{EVzG8;1>Q}W?d;i34BAa;S4~cJ#o;qg(;vu~=F9>CZhlqbk4w(A#9rc~&efH4>Je?~JO8*jkathChsD1RWkihUDc&V(G72$tF17(_T4WSFV`G67 z&^D$Ci|NDPe1WZ=6eipC!dAz+^%37?Etj~vhf_KZzxsZWK{7>yoe*s`4;*E2=+b(i zs%I>t`|wqXL3T!?hs(|j)FMr1ABfFl3m@f}hPt5?M_MFv1gBbpldmNaybfyUB9F}R zHROEi;gv-uczy&OK=u21NYm8E+udoDVI5y8U}g&FC~4UO?kKaTfY+FbG>&pper$x4 zZe^6$HL*~NnBUwZ$xh`0}xWQD;l<)ZLre2``Qf=(_}#cemn^ ke*M=NsQ#D7%>2uxsfBaj(y@K()^~sSFH&tag-a3u0O$X_od5s; diff --git a/config/www/community/frigate-hass-card/engine-motioneye-7a5554b3.js b/config/www/community/frigate-hass-card/engine-motioneye-7a5554b3.js deleted file mode 100644 index f5f4a1d7..00000000 --- a/config/www/community/frigate-hass-card/engine-motioneye-7a5554b3.js +++ /dev/null @@ -1 +0,0 @@ -import{ec as e,e7 as t,e6 as a,e5 as s,ed as i,d4 as n,e9 as r,ea as o,dQ as c,ee as d,ef as m,eg as l,eh as h,dc as u,de as y}from"./card-769e2b91.js";import{B as g,a as p,g as _,i as M}from"./within-dates-a146acf5.js";import{C as f}from"./engine-86b0096c.js";import{p as C}from"./parse-7dfc1897.js";import{e as w}from"./endOfDay-696ac7f4.js";import"./engine-generic-97fdd47e.js";import"./media-c9012082.js";class D extends g{getProxyConfig(){return{...super.getProxyConfig(),media:"auto"===this._config.proxy.media||this._config.proxy.media}}}class E{static isMotionEyeEventQueryResults(e){return e.engine===t.MotionEye&&e.type===o.Event}}const v={"%Y":"yyyy","%m":"MM","%d":"dd","%H":"HH","%M":"mm","%S":"ss"},x=new RegExp(/(%Y|%m|%d|%H|%M|%S)/g);class b extends p{constructor(){super(...arguments),this._directoryCache=new e,this._fileCache=new e}getEngineType(){return t.MotionEye}async createCamera(e,t){const i=new D(t,this,{capabilities:new a({"favorite-events":!1,"favorite-recordings":!1,clips:!0,live:!0,menu:!0,recordings:!1,seek:!1,snapshots:!0,substream:!0,ptz:s(t)??void 0},{disable:t.capabilities?.disable,disableExcept:t.capabilities?.disable_except}),eventCallback:this._eventCallback});return await i.initialize({entityRegistryManager:this._entityRegistryManager,hass:e,stateWatcher:this._stateWatcher})}_convertMotionEyeTimeFormatToDateFNS(e){return e.replace(x,((e,t)=>v[t]))}_motionEyeMetadataGeneratorFile(e,t,a,s){let n=s?._metadata?.startDate??new Date;if(t){const e=a.title.replace(/\.[^/.]+$/,"");if(n=C(e,t,n),!i(n))return null}return{cameraID:e,startDate:n,endDate:n}}_motionEyeMetadataGeneratorDirectory(e,t,a,s){let r=s?._metadata?.startDate??new Date;if(t){const e=C(a.title,t,r);if(!i(e))return null;r=n(e)}return{cameraID:e,startDate:r,endDate:s?._metadata?.endDate??w(r)}}async _getMatchingDirectories(e,t,a,s,i){const n=t.getCamera(a),r=n?.getConfig();if(!(n instanceof g&&r))return null;const o=n.getEntity(),c=o?.config_entry_id,d=o?.device_id;if(!c||!d)return null;const m=(e,t)=>{const i=e.shift();if(!i)return[];const n=i.includes("%")?this._convertMotionEyeTimeFormatToDateFNS(i):null;return[{targets:t,metadataGenerator:(e,t)=>this._motionEyeMetadataGeneratorDirectory(a,n,e,t),matcher:e=>e.can_expand&&(!!n||e.title===i)&&M(e,s?.start,s?.end),advance:t=>m(e,t)}]};return await this._browseMediaManager.walkBrowseMedias(e,[...!1===s?.hasClip||s?.hasSnapshot?[]:m(r.motioneye.movies.directory_pattern.split("/"),[`media-source://motioneye/${c}#${d}#movies`]),...!1===s?.hasSnapshot||s?.hasClip?[]:m(r.motioneye.images.directory_pattern.split("/"),[`media-source://motioneye/${c}#${d}#images`])],{...!1!==i?.useCache&&{cache:this._directoryCache}})}async getEvents(e,a,s,i){if(s.favorite||s.tags?.size||s.what?.size||s.where?.size)return null;const n=new Map,c=async r=>{const c={...s,cameraIDs:new Set([r])},d=i?.useCache??1?this._requestCache.get(c):null;if(d)return void n.set(c,d);const m=a.getCameraConfig(r);if(!m)return;const y=await this._getMatchingDirectories(e,a,r,c,i);if(!y||!y.length)return;const g=this._convertMotionEyeTimeFormatToDateFNS(m.motioneye.movies.file_pattern),p=this._convertMotionEyeTimeFormatToDateFNS(m.motioneye.images.file_pattern),_=c.limit??f,C=await this._browseMediaManager.walkBrowseMedias(e,[{targets:y,metadataGenerator:(e,t)=>e.media_class===l||e.media_class===h?this._motionEyeMetadataGeneratorFile(r,e.media_class===l?p:g,e,t):null,earlyExit:e=>e.length>=_,matcher:e=>!e.can_expand&&M(e,c.start,c.end)}],{...!1!==i?.useCache&&{cache:this._fileCache}}),w=u(C,(e=>e._metadata?.startDate),"desc").slice(0,c.limit??f),D={type:o.Event,engine:t.MotionEye,browseMedia:w};(i?.useCache??1)&&this._requestCache.set(c,{...D,cached:!0},D.expiry),n.set(c,D)};return await r(s.cameraIDs,(e=>c(e))),n.size?n:null}generateMediaFromEvents(e,t,a,s){return E.isMotionEyeEventQueryResults(s)?_(s.browseMedia):null}async getMediaMetadata(e,a,s,i){const n=new Map;if((i?.useCache??1)&&this._requestCache.has(s)){const e=this._requestCache.get(s);if(e)return n.set(s,e),n}const m=new Set,l=async t=>{const s=await this._getMatchingDirectories(e,a,t,null,i);for(const e of s??[])e._metadata&&m.add(y(e._metadata?.startDate))};await r(s.cameraIDs,(e=>l(e)));const h={type:o.MediaMetadata,engine:t.MotionEye,metadata:{...m.size&&{days:m}},expiry:c(new Date,{seconds:d}),cached:!1};return(i?.useCache??1)&&this._requestCache.set(s,{...h,cached:!0},h.expiry),n.set(s,h),n}getCameraMetadata(e,t){return{...super.getCameraMetadata(e,t),engineLogo:m}}getCameraEndpoints(e,t){const a=e.motioneye?.url?{endpoint:e.motioneye.url}:null;return{...super.getCameraEndpoints(e,t),...a&&{ui:a}}}}export{b as MotionEyeCameraManagerEngine}; diff --git a/config/www/community/frigate-hass-card/engine-motioneye-7a5554b3.js.gz b/config/www/community/frigate-hass-card/engine-motioneye-7a5554b3.js.gz deleted file mode 100644 index 36b579b9bcb2ae4f928e11fcddc781517d660274..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1951 zcmV;Q2VnRgiwFowdR%7$|7C7xX>MgLZEtjGZ*FCIWi2;hH8nLfVlyska{#SaYjfka z75&~{Au($WIfW^EXJfDF;c_ODx7(R0ZQ`BjWL#H)$SVn5z6wB+8H)eC7Y|aDBX8VH z{RI$kd7tMV0A^WPa9Kku1TWpY)GQzs%FWH%<;!D<;nT=)eXE|++6zq7S1g*etoCJ zRzzDViB>izObxU4+Z~f@mY*k7f;gv_@2+UP{I;)SqQsZ2IOHpq!}?w~OF+j2^)^Q#*)eZ73w6Ft~lK@Ob7=Qr2OBzboY z$3ht-jGo6g7ng4@-oMp*aY}_4Ob75J(E=u+UV;2OFP^GNkuTZG^=b}s!}HqreX%Kl z`_Bc4RvS2UBMT=CL(G%#=ds@POC{-RiT(biou+AwA9uBoRI+%$#H^64$nPq++d?jX z+yJkB0!&u06x zdvCn*Y*H6pQp;MK=bKm-95br(=wd=CUu`n&nz~XOAazVjx?m}j3`C%|s9QTr zx-B@9a1JVu!U=|#wro-aW-o%9o_(ptl>3=x`=9 zO&2u&5||7htu@}Q%_!YbhS~C2j>>4teg(HiK_(H9D~3*2Gn&&C@K(*KJ+ekf1V9wN z;U83D9b5VSQsXtMKeoVSSH{mQgO3HzsQg?^QS{>v_eU+jp-gEE?h|o!dBYFe2l?os zrmR&l14)s&=wB2)P{h|q1d|dblnAd*K@Rc|(=^YlVC17$Tq<)>q+x=yTefsN^gu{` zj59shAOF*T_}AEf{PUYJaU4%c=ix+K$vrY;Zti*3>3ox>jpdbC1M{y_lN@6+KeMg7k$l+Ta=D74#zj^2Pu>*EBigqsd8rzt2Y~h)z zJ2ple2%@zOg|ODW9N7(JZ3|P6peK=Du@tQRb@Ks3X`07SEC;L6h#$LebQNLlYwA!S zMe>frBJvF-E9CNO&JvQS#RRr22K=eD$NT*-IiW8LE$BK{0bi`yQd+N={pR8EwhczL zQk-rQ4AnVvyr?@Cei!!43rr=9${O>Iv4}vD>^U+5>y}ae8U#^-sKakaX4@0O4}d(9 zBWsj2PevnmIL!BZFhIf6g?XdV4DASuFg3wSdxR!iRfa%@A2RJn^Vl5IiE(Sei=9B9 z@C>v(;qPer<-5bOLc;@|6vIojhw70=Cdjh;y_w%z3XL8fgUsc=i4!Wo*%qi9yxZSHQl zEW@b&A8r^$=*A9`eWK22iCtyv@vbl8P~V_POB?2hy$9(&@JFw~mg_|m zMVGcKIQ(Y=Lh4o3w{C1(0Nw7|Q6G|+QngJIuj@>DU=7O@mfAA=rIoD0J}6&gB}zDn zF=bjsg?v!?Dc-;2`dHg4e0@V_zeTLN=d>vCNcjhqS==2fn}@NVvW&?nT9Qfl2RgB1 zoa$x90duLH>suhUOR6a2cxfH|9xdqu8c&nwx}q{zX_nF`z=sh}tGg#A4Oy9TdQ(qs(DpQb@xx~CbA1R?u5A7=&5toBM#Dg?0CLN@epw@$RYC{nTEBx zp9l7KPRu1f=v`e&uO7j!xpj}519|sEdl>wyP^LtCp5R@wAyXeiXT0)A+ago%85?t? zfUYrhSg|_%^%vOcQLeMytW0%`TOaXV)^UlwdswA+{#V~G!i(l;uot4K=7FOO4sBWw zRP~HyR3E-7G04tn^l;gEfm(#_>;tjsY~iCE)6le(Vo8gnmf&PZaN@Njg4aO>UF4A^ zzJ{z%1H7_`2+t3%2dL2~^J$W}c)L4|GOXiE1x$4TEhVixz#V1w6!2Ozfx=Oy%a4ta z&`JbZ(+~rtAa>h(B&h{HZt#^CB-j@%>@Hh?y&AYe19#mA?)n*U1zD?7be!G;h&=gB zKOtsA{=QfhDxOa0E>FsWSunRqp&=Y7731J(gfAZ>81%N(PSd}co$%t=fVxXydFu@e l)a$>&K-IrI7W!WE[t]))}_motionEyeMetadataGeneratorFile(e,t,a,s){let n=s?._metadata?.startDate??new Date;if(t){const e=a.title.replace(/\.[^/.]+$/,"");if(n=f(e,t,n),!i(n))return null}return{cameraID:e,startDate:n,endDate:n}}_motionEyeMetadataGeneratorDirectory(e,t,a,s){let r=s?._metadata?.startDate??new Date;if(t){const e=f(a.title,t,r);if(!i(e))return null;r=n(e)}return{cameraID:e,startDate:r,endDate:s?._metadata?.endDate??C(r)}}async _getMatchingDirectories(e,t,a,s,i){const n=t.getCamera(a),r=n?.getConfig();if(!(n instanceof y&&r))return null;const o=n.getEntity(),c=o?.config_entry_id,d=o?.device_id;if(!c||!d)return null;const m=(e,t)=>{const i=e.shift();if(!i)return[];const n=i.includes("%")?this._convertMotionEyeTimeFormatToDateFNS(i):null;return[{targets:t,metadataGenerator:(e,t)=>this._motionEyeMetadataGeneratorDirectory(a,n,e,t),matcher:e=>e.can_expand&&(!!n||e.title===i)&&_(e,s?.start,s?.end),advance:t=>m(e,t)}]};return await this._browseMediaManager.walkBrowseMedias(e,[...!1===s?.hasClip||s?.hasSnapshot?[]:m(r.motioneye.movies.directory_pattern.split("/"),[`media-source://motioneye/${c}#${d}#movies`]),...!1===s?.hasSnapshot||s?.hasClip?[]:m(r.motioneye.images.directory_pattern.split("/"),[`media-source://motioneye/${c}#${d}#images`])],{...!1!==i?.useCache&&{cache:this._directoryCache}})}async getEvents(e,a,s,i){if(s.favorite||s.tags?.size||s.what?.size||s.where?.size)return null;const n=new Map,c=async r=>{const c={...s,cameraIDs:new Set([r])},d=i?.useCache??1?this._requestCache.get(c):null;if(d)return void n.set(c,d);const u=a.getCameraConfig(r);if(!u)return;const y=await this._getMatchingDirectories(e,a,r,c,i);if(!y||!y.length)return;const g=this._convertMotionEyeTimeFormatToDateFNS(u.motioneye.movies.file_pattern),p=this._convertMotionEyeTimeFormatToDateFNS(u.motioneye.images.file_pattern),f=c.limit??M,C=await this._browseMediaManager.walkBrowseMedias(e,[{targets:y,metadataGenerator:(e,t)=>e.media_class===m||e.media_class===l?this._motionEyeMetadataGeneratorFile(r,e.media_class===m?p:g,e,t):null,earlyExit:e=>e.length>=f,matcher:e=>!e.can_expand&&_(e,c.start,c.end)}],{...!1!==i?.useCache&&{cache:this._fileCache}}),w=h(C,(e=>e._metadata?.startDate),"desc").slice(0,c.limit??M),D={type:o.Event,engine:t.MotionEye,browseMedia:w};(i?.useCache??1)&&this._requestCache.set(c,{...D,cached:!0},D.expiry),n.set(c,D)};return await r(s.cameraIDs,(e=>c(e))),n.size?n:null}generateMediaFromEvents(e,t,a,s){return D.isMotionEyeEventQueryResults(s)?p(s.browseMedia):null}async getMediaMetadata(e,a,s,i){const n=new Map;if((i?.useCache??1)&&this._requestCache.has(s)){const e=this._requestCache.get(s);if(e)return n.set(s,e),n}const m=new Set,l=async t=>{const s=await this._getMatchingDirectories(e,a,t,null,i);for(const e of s??[])e._metadata&&m.add(u(e._metadata?.startDate))};await r(s.cameraIDs,(e=>l(e)));const h={type:o.MediaMetadata,engine:t.MotionEye,metadata:{...m.size&&{days:m}},expiry:c(new Date,{seconds:d}),cached:!1};return(i?.useCache??1)&&this._requestCache.set(s,{...h,cached:!0},h.expiry),n.set(s,h),n}getCameraMetadata(e,t){return{...super.getCameraMetadata(e,t),engineIcon:"motioneye"}}getCameraEndpoints(e,t){const a=e.motioneye?.url?{endpoint:e.motioneye.url}:null;return{...super.getCameraEndpoints(e,t),...a&&{ui:a}}}}export{x as MotionEyeCameraManagerEngine}; diff --git a/config/www/community/frigate-hass-card/engine-motioneye-aba6e54b.js.gz b/config/www/community/frigate-hass-card/engine-motioneye-aba6e54b.js.gz deleted file mode 100644 index db70a4e7275c4a6f9634d047b094ec6b0354ed43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1952 zcmV;R2VeLfiwFo#^lE1U|7C7xX>MgLZEtjGZ*FCIWi4T1VK!woG-57la{#SaTXW;K z6@KrpkeRiHoWhj7yLN1PxSWaP?dCyA8}Cdf*1mMcE#0#7bhuIAWz=EzhD>d-<|I27;EuqCl1A&7jSZU@pyWAb-{K8D=j$d z1S={eoV-1IpMHBuXS;Hs<;Giu>5sDsZBE#XU9rnOm0NprC_r#_a`ld-j{q0@LOGBVu3d6MA+GrM7>B|{^z*}SyVwypJJvX+V}&IVjgOU29Lrh%I!6zU%}h~_7d zb*7{bolgS@ZQR;w*ncq`La3Tbua=?t9QBulRD+v%?H&K@MP7q{9`TNIoKL5Emf|c; z_3RVQK7G=&DbDg-&u(!hrPq>WT)=AZ6U=X(Du3i3|GYWQH^=Gb_|xWix;efLM)SZW z^{G$ld~M8&nyFG?Mok`lOehueI!FIxKx}SOE{08!Y3MjE+u8#+RT+jIGw=R!)mafG=h&XeAe=GM~u$5iEN^_>y%6Sm_ek%T|bl1trIuiJTa)$OHvPDw%dT1aK<#t9x3}0 z*$nTkwZXN^C|yyG*$R1q%4o)a1AmQzTp=Lm9Gz~aw4iekoti^?WPy-~fM|TfKdHhx zcJjMRZP4oeSb|V}89(zJK9(Y<>T@|k(T_je?zMn`Dx(biCGkyp;}17?>OMeCd8c9u ziXwB-ziE1)h_8RX zldfO(gAxC8Ff-qUgKC8F9UX=}hp$Ck;L=z97QNs54!G4M8T%q=U1L6A3r}_3u`#+p z5UpJ(gm>;0$Zja>T9^g|JxR=pqhRB&Uko@((}F=c8#KeA*mvLRD&rzF)S*F&5qj!ggp-;TM4Ujjd{mdWTZ&`92t>w%PM~jf+#`M;Ws3A?FsP*KprWOH7Z)9 z!=Zn4RBSe2fr6(C4~D}Bv?CqD^aLv%5SlJ^86p*b$c-QEeY;O5)~!cTt|a<|XQ1PW za7D8(-))yQ8t(9qIH3WYEfGs$f1o^6R4EWe zC@UmI-y3-Wx%$LsGD*ELegxiH5<1iq3UG zk>~ZV)q<+sUm(E#JkSe;IZ>yy!mhIRMBf)IHa95J(S|)@Z$bHY;y!4x<#wV;k~7y8 z0{&BjRAyE8trnnMy(s<%lRIB#lX=$a z6%F!16J~h-Qj2|U^Z4}*UH=}j`kvFFBp}tFROWEEuWS~xFylE_Nirql_)m0V&p6G? zj05&k`(SQ?*e=FZ?m_jnPBrY(PAucjg75%WeLs)f z?VQ+4e6(|QB|G(qR_(RF-yF!h2in8pUxzXw#`6^Kk}a8p7&;eCK)M#01kc!5AO-Y| zX~JUq@Hbyzt0#rYc00G#v2K0DcUjLR?(X4~PQtIgUu2L}XmBS)Tg@#;Ssc2wZmH@S z%jiCQRbr5x(dhQF^8&R<)7e{MGugt&IHsZP4tqyhBy$9(dV-U$B@w(1YUm=5%Y`DMJ9ND1UrBl4)c(vsbBjqpbYEyQUNnlKu1Z79&me^Jp{bYOr&v?oAP5Lq_mMy z-nPU-DPn$ik0fh}j~jgDMJe`02fMQlV6O(QG{9Z#0(bEYxRNY%DSA%d0f;*IOg|vz zLjE3I#3Af=f{)zZ%S7c7l{const i=t??a;return!i||!!e._metadata&&p({start:e._metadata.startDate,end:e._metadata.endDate},{start:t??i,end:a??i})};class S extends k{constructor(e,t,a){super(),this._cameraEntities=new Map,this._browseMediaManager=e,this._resolvedMediaCache=t,this._requestCache=a}async initializeCamera(e,t,a){const i=a.camera_entity?await t.getEntity(e,a.camera_entity):null;if(!i||!a.camera_entity)throw new r(o("error.no_camera_entity"),a);return this._cameraEntities.set(a.camera_entity,i),a}generateDefaultEventQuery(e,t,a){return[{type:s.Event,cameraIDs:t,...a}]}async getMediaDownloadPath(e,t,a){const i=a.getContentID();if(!i)return null;const c=await n(e,i,this._resolvedMediaCache);return c?{endpoint:l(e,c.url)}:null}getQueryResultMaxAge(e){return e.type===s.Event?d:null}getCameraCapabilities(e){const t=super.getCameraCapabilities(e);return t?{...t,supportsClips:!0,supportsSnapshots:!0,supportsTimeline:!0}:null}getMediaCapabilities(e){return{canFavorite:!1,canDownload:!0}}}class T{static isMotionEyeEventQueryResults(e){return e.engine===f.MotionEye&&e.type===g.Event}}const F={"%Y":"yyyy","%m":"MM","%d":"dd","%H":"HH","%M":"mm","%S":"ss"},B=new RegExp(/(%Y|%m|%d|%H|%M|%S)/g);class z extends S{getEngineType(){return f.MotionEye}_convertMotionEyeTimeFormatToDateFNS(e){return e.replace(B,((e,t)=>F[t]))}_motionEyeMetadataGeneratorFile(e,t,a,i){let c=i?._metadata?.startDate??new Date;if(t){const e=a.title.replace(/\.[^/.]+$/,"");if(c=x(e,t,c),!u(c))return null}return{cameraID:e,startDate:c,endDate:c}}_motionEyeMetadataGeneratorDirectory(e,t,a,i){let c=i?._metadata?.startDate??new Date;if(t){const e=x(a.title,t,c);if(!u(e))return null;c=m(e)}return{cameraID:e,startDate:c,endDate:i?._metadata?.endDate??y(c)}}async _getMatchingDirectories(e,t,a,i,c){const r=t.get(a)?.camera_entity,o=r?this._cameraEntities.get(r):null,s=o?.config_entry_id,n=o?.device_id,l=t.get(a);if(!s||!n||!l)return null;const d=(e,t)=>{const c=e.shift();if(!c)return[];const r=c.includes("%")?this._convertMotionEyeTimeFormatToDateFNS(c):null;return[{targets:t,metadataGenerator:(e,t)=>this._motionEyeMetadataGeneratorDirectory(a,r,e,t),matcher:e=>e.can_expand&&(!!r||e.title===c)&&E(e,i?.start,i?.end),advance:t=>d(e,t)}]};return await this._browseMediaManager.walkBrowseMedias(e,[...!1===i?.hasClip||i?.hasSnapshot?[]:d(l.motioneye.movies.directory_pattern.split("/"),[`media-source://motioneye/${s}#${n}#movies`]),...!1===i?.hasSnapshot||i?.hasClip?[]:d(l.motioneye.images.directory_pattern.split("/"),[`media-source://motioneye/${s}#${n}#images`])],{useCache:c?.useCache})}async getEvents(e,t,a,r){if(a.favorite||a.tags?.size||a.what?.size||a.where?.size)return null;const o=new Map,s=async s=>{const n={...a,cameraIDs:new Set([s])},l=r?.useCache??1?this._requestCache.get(n):null;if(l)return void o.set(n,l);const d=t.get(s);if(!d)return;const p=await this._getMatchingDirectories(e,t,s,n,r);if(!p||!p.length)return;const u=this._convertMotionEyeTimeFormatToDateFNS(d.motioneye.movies.file_pattern),m=this._convertMotionEyeTimeFormatToDateFNS(d.motioneye.images.file_pattern),y=await this._browseMediaManager.walkBrowseMedias(e,[{targets:p,metadataGenerator:(e,t)=>e.media_class===c||e.media_class===i?this._motionEyeMetadataGeneratorFile(s,e.media_class===c?m:u,e,t):null,matcher:e=>!e.can_expand&&E(e,n.start,n.end)}],{useCache:r?.useCache}),h=_(y,(e=>e._metadata?.startDate),"desc").slice(0,n.limit??M),w={type:g.Event,engine:f.MotionEye,browseMedia:h};(r?.useCache??1)&&this._requestCache.set(n,{...w,cached:!0},w.expiry),o.set(n,w)};return await h(a.cameraIDs,(e=>s(e))),o.size?o:null}generateMediaFromEvents(e,t,a,r){return T.isMotionEyeEventQueryResults(r)?(e=>{const t=new Map;for(const a of e){const e=a._metadata?.cameraID;if(!e)continue;const r=a.media_class===i?"clip":a.media_class===c?"snapshot":null;if(!r)continue;const o=D.createEventViewMedia(r,a,e);if(o){const e=o.getID(),a=t.get(e);(!a||"snapshot"===a.getMediaType()&&"clip"===o.getMediaType())&&t.set(e,o)}}return[...t.values()]})(r.browseMedia):null}async getMediaMetadata(e,t,a,i){const c=new Map;if((i?.useCache??1)&&this._requestCache.has(a)){const e=this._requestCache.get(a);if(e)return c.set(a,e),c}const r=new Set,o=async a=>{const c=await this._getMatchingDirectories(e,t,a,null,i);for(const e of c??[])e._metadata&&r.add(b(e._metadata?.startDate))};await h(a.cameraIDs,(e=>o(e)));const s={type:g.MediaMetadata,engine:f.MotionEye,metadata:{...r.size&&{days:r}},expiry:w(new Date,{seconds:d}),cached:!1};return(i?.useCache??1)&&this._requestCache.set(a,{...s,cached:!0},s.expiry),c.set(a,s),c}getCameraMetadata(e,t){return{...super.getCameraMetadata(e,t),engineLogo:"data:image/svg+xml,%3c%3fxml version='1.0' encoding='UTF-8' standalone='no'%3f%3e%3c!-- Created with Inkscape (http://www.inkscape.org/) --%3e%3csvg xmlns:dc='http://purl.org/dc/elements/1.1/' xmlns:cc='http://creativecommons.org/ns%23' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns%23' xmlns:svg='http://www.w3.org/2000/svg' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd' xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape' id='svg2' version='1.1' inkscape:version='0.91 r13725' width='64' height='64' xml:space='preserve' sodipodi:docname='motioneye-icon.svg' inkscape:export-filename='/home/ccrisan/projects/motioneye/static/img/motioneye-logo.png' inkscape:export-xdpi='960' inkscape:export-ydpi='960'%3e%3cmetadata id='metadata8'%3e%3crdf:RDF%3e%3ccc:Work rdf:about=''%3e%3cdc:format%3eimage/svg%2bxml%3c/dc:format%3e%3cdc:type rdf:resource='http://purl.org/dc/dcmitype/StillImage' /%3e%3cdc:title /%3e%3c/cc:Work%3e%3c/rdf:RDF%3e%3c/metadata%3e%3cdefs id='defs6'%3e%3clinearGradient id='linearGradient4351' inkscape:collect='always'%3e%3cstop id='stop4353' offset='0' style='stop-color:%23737373%3bstop-opacity:1' /%3e%3cstop id='stop4355' offset='1' style='stop-color:%23585858%3bstop-opacity:1' /%3e%3c/linearGradient%3e%3clinearGradient inkscape:collect='always' id='linearGradient4205'%3e%3cstop style='stop-color:%234aa3e0%3bstop-opacity:1' offset='0' id='stop4207' /%3e%3cstop style='stop-color:%233096db%3bstop-opacity:1' offset='1' id='stop4209' /%3e%3c/linearGradient%3e%3clinearGradient inkscape:collect='always' id='linearGradient4197'%3e%3cstop style='stop-color:%23787878%3bstop-opacity:1' offset='0' id='stop4199' /%3e%3cstop style='stop-color:%23585858%3bstop-opacity:1' offset='1' id='stop4201' /%3e%3c/linearGradient%3e%3clinearGradient inkscape:collect='always' xlink:href='%23linearGradient4351' id='linearGradient4203' x1='26.445793' y1='47.517574' x2='26.445793' y2='3.8183768' gradientUnits='userSpaceOnUse' /%3e%3clinearGradient inkscape:collect='always' xlink:href='%23linearGradient4205' id='linearGradient4211' x1='26.602072' y1='43.034946' x2='26.602072' y2='29.466328' gradientUnits='userSpaceOnUse' gradientTransform='matrix(0.96428571%2c0%2c0%2c0.96428571%2c0.91428571%2c0.91428571)' /%3e%3cfilter style='color-interpolation-filters:sRGB%3b' inkscape:label='Drop Shadow' id='filter4285'%3e%3cfeFlood flood-opacity='0.588235' flood-color='rgb(0%2c0%2c0)' result='flood' id='feFlood4287' /%3e%3cfeComposite in='flood' in2='SourceGraphic' operator='in' result='composite1' id='feComposite4289' /%3e%3cfeGaussianBlur in='composite1' stdDeviation='0.6' result='blur' id='feGaussianBlur4291' /%3e%3cfeOffset dx='0' dy='-1' result='offset' id='feOffset4293' /%3e%3cfeComposite in='SourceGraphic' in2='offset' operator='over' result='composite2' id='feComposite4295' /%3e%3c/filter%3e%3clinearGradient inkscape:collect='always' xlink:href='%23linearGradient4197' id='linearGradient4309' gradientUnits='userSpaceOnUse' x1='26.445793' y1='47.517574' x2='26.445793' y2='3.8183768' /%3e%3clinearGradient inkscape:collect='always' xlink:href='%23linearGradient4197' id='linearGradient4311' gradientUnits='userSpaceOnUse' x1='26.445793' y1='47.517574' x2='26.445793' y2='3.8183768' /%3e%3clinearGradient inkscape:collect='always' xlink:href='%23linearGradient4197' id='linearGradient4313' gradientUnits='userSpaceOnUse' x1='26.445793' y1='47.517574' x2='26.445793' y2='3.8183768' /%3e%3cfilter style='color-interpolation-filters:sRGB%3b' inkscape:label='Drop Shadow' id='filter4315' x='-0.10000000000000001' y='-0.16000000000000003'%3e%3cfeFlood flood-opacity='0.588235' flood-color='rgb(0%2c0%2c0)' result='flood' id='feFlood4317' /%3e%3cfeComposite in='flood' in2='SourceGraphic' operator='in' result='composite1' id='feComposite4319' /%3e%3cfeGaussianBlur in='composite1' stdDeviation='0.6' result='blur' id='feGaussianBlur4321' /%3e%3cfeOffset dx='0' dy='-1' result='offset' id='feOffset4323' /%3e%3cfeComposite in='SourceGraphic' in2='offset' operator='over' result='composite2' id='feComposite4325' /%3e%3c/filter%3e%3cfilter style='color-interpolation-filters:sRGB%3b' inkscape:label='Drop Shadow' id='filter4327'%3e%3cfeFlood flood-opacity='0.588235' flood-color='rgb(0%2c0%2c0)' result='flood' id='feFlood4329' /%3e%3cfeComposite in='flood' in2='SourceGraphic' operator='in' result='composite1' id='feComposite4331' /%3e%3cfeGaussianBlur in='composite1' stdDeviation='0.6' result='blur' id='feGaussianBlur4333' /%3e%3cfeOffset dx='0' dy='-1' result='offset' id='feOffset4335' /%3e%3cfeComposite in='SourceGraphic' in2='offset' operator='over' result='composite2' id='feComposite4337' /%3e%3c/filter%3e%3cfilter style='color-interpolation-filters:sRGB%3b' inkscape:label='Drop Shadow' id='filter4339'%3e%3cfeFlood flood-opacity='0.588235' flood-color='rgb(0%2c0%2c0)' result='flood' id='feFlood4341' /%3e%3cfeComposite in='flood' in2='SourceGraphic' operator='in' result='composite1' id='feComposite4343' /%3e%3cfeGaussianBlur in='composite1' stdDeviation='0.2' result='blur' id='feGaussianBlur4345' /%3e%3cfeOffset dx='0' dy='-0.5' result='offset' id='feOffset4347' /%3e%3cfeComposite in='SourceGraphic' in2='offset' operator='over' result='composite2' id='feComposite4349' /%3e%3c/filter%3e%3c/defs%3e%3csodipodi:namedview pagecolor='white' bordercolor='%23666666' borderopacity='1' objecttolerance='10' gridtolerance='10' guidetolerance='10' inkscape:pageopacity='0' inkscape:pageshadow='2' inkscape:window-width='1920' inkscape:window-height='1025' id='namedview4' showgrid='false' inkscape:zoom='2' inkscape:cx='-94.597631' inkscape:cy='10.226517' inkscape:window-x='0' inkscape:window-y='27' inkscape:window-maximized='1' inkscape:current-layer='g10' showguides='true' inkscape:guide-bbox='true' /%3e%3cg id='g10' inkscape:groupmode='layer' inkscape:label='ink_ext_XXXXXX' transform='matrix(1.25%2c0%2c0%2c-1.25%2c0%2c64)'%3e%3cg id='g4170' style='fill:url(%23linearGradient4203)%3bfill-opacity:1%3bfilter:url(%23filter4327)' transform='matrix(0.96428571%2c0%2c0%2c0.96428571%2c0.91428571%2c0.91428571)'%3e%3cpath id='path4244' d='M 8.9346154%2c40.515385 C 5.3647588%2c36.547307 3.2%2c31.357779 3.2%2c25.6 3.2%2c13.228821 13.228821%2c3.2 25.6%2c3.2 37.971179%2c3.2 48%2c13.228821 48%2c25.6 c 0%2c5.736682 -2.161128%2c10.952493 -5.707692%2c14.915385 -1.695935%2c-0.623286 -3.387833%2c-1.349065 -5.061539%2c-2.288462 3.2394%2c-0.937363 5.6%2c-3.937988 5.6%2c-7.457692 0%2c-4.260339 -3.469626%2c-7.753846 -7.753846%2c-7.753846 -3.633936%2c0 -6.690552%2c2.51055 -7.538461%2c5.869231 l -3.876924%2c0 c -0.840685%2c-3.360193 -3.903443%2c-5.869231 -7.538461%2c-5.869231 -4.284219%2c0 -7.7807693%2c3.493507 -7.7807693%2c7.753846 0%2c3.56112 2.4570323%2c6.5856 5.7615383%2c7.484616 -1.676267%2c0.912203 -3.404813%2c1.620556 -5.1692306%2c2.261538 z M 25.6%2c26.461538 c 0.532632%2c-1.981435 1.101793%2c-3.947553 3.446154%2c-5.16923 L 25.6%2c16.123077 22.153846%2c21.292308 c 2.053593%2c1.454966 3.000771%2c3.237758 3.446154%2c5.16923 z' style='fill:url(%23linearGradient4309)%3bfill-opacity:1%3bstroke:none' inkscape:connector-curvature='0' /%3e%3cpath id='path4242' d='m 16.123077%2c33.353847 c -1.427443%2c0 -2.584616%2c-1.157173 -2.584616%2c-2.584616 0%2c-1.427444 1.157173%2c-2.584615 2.584616%2c-2.584615 1.427444%2c0 2.584615%2c1.157171 2.584615%2c2.584615 0%2c1.427443 -1.157171%2c2.584616 -2.584615%2c2.584616 z' style='fill:url(%23linearGradient4311)%3bfill-opacity:1%3bstroke:none' inkscape:connector-curvature='0' /%3e%3cpath id='path4240' d='m 35.076923%2c33.353847 c -1.427443%2c0 -2.584615%2c-1.157173 -2.584615%2c-2.584616 0%2c-1.427444 1.157172%2c-2.584615 2.584615%2c-2.584615 1.427443%2c0 2.584616%2c1.157171 2.584616%2c2.584615 0%2c1.427443 -1.157173%2c2.584616 -2.584616%2c2.584616 z' style='fill:url(%23linearGradient4313)%3bfill-opacity:1%3bstroke:none' inkscape:connector-curvature='0' /%3e%3c/g%3e%3cpath inkscape:connector-curvature='0' style='fill:%23737373%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4339)' d='m 25.6%2c47.2 c -4.373944%2c0 -8.437159%2c-1.399808 -11.838461%2c-3.634616 3.677605%2c-0.394237 7.305921%2c-1.342945 11.423077%2c-3.375 4.166157%2c2.122533 8.434154%2c3.008875 12.279808%2c3.452886 C 34.057131%2c45.890032 29.986674%2c47.2 25.6%2c47.2 Z' id='path4248' /%3e%3cpath inkscape:connector-curvature='0' style='fill:url(%23linearGradient4211)%3bfill-opacity:1%3bstroke:none%3bfilter:url(%23filter4315)' d='M 39.723077%2c42.552884 C 35.394064%2c42.5242 29.479588%2c40.397223 25.184616%2c38.432418 20.668821%2c40.064102 16.035448%2c42.649343 10.801923%2c42.526924 10.453022%2c42.51873 10.118061%2c42.50105 9.7634616%2c42.475 L 5.6615384%2c42.1375 9.5557693%2c40.839424 c 5.3417977%2c-1.74056 10.0398397%2c-2.851302 14.1749997%2c-10.025963 0.959101%2c0 2.845924%2c-4.15e-4 3.738462%2c-4.15e-4 4.11884%2c7.134039 9.059296%2c8.324614 14.149039%2c10.026378 L 45.460577%2c42.085577 41.4625%2c42.475 c -0.544847%2c0.05181 -1.120992%2c0.08198 -1.739423%2c0.07788 z' id='path4246' sodipodi:nodetypes='cccccccccccc' /%3e%3c/g%3e%3c/svg%3e"}}getCameraEndpoints(e,t){const a=e.motioneye?.url?{endpoint:e.motioneye.url}:null;return{...a&&{ui:a}}}}export{z as MotionEyeCameraManagerEngine}; diff --git a/config/www/community/frigate-hass-card/engine-motioneye-ae70fe08.js.gz b/config/www/community/frigate-hass-card/engine-motioneye-ae70fe08.js.gz deleted file mode 100644 index 4f3e3531e85dd8a783851fe5bdb963ae6e1f372b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4944 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 OAO8#DFU!9II{*O4QL4=V diff --git a/config/www/community/frigate-hass-card/engine-motioneye-d04d1919.js b/config/www/community/frigate-hass-card/engine-motioneye-d04d1919.js deleted file mode 100644 index fe2becc3..00000000 --- a/config/www/community/frigate-hass-card/engine-motioneye-d04d1919.js +++ /dev/null @@ -1 +0,0 @@ -import{ec as e,e7 as t,e6 as a,e5 as s,ed as i,d4 as n,e9 as r,ea as o,dQ as c,ee as d,ef as m,eg as l,eh as h,dc as u,de as y}from"./card-7cd05290.js";import{B as g,a as p,g as _,i as M}from"./within-dates-2bb98b10.js";import{C as f}from"./engine-86b0096c.js";import{p as C}from"./parse-feacefaa.js";import{e as w}from"./endOfDay-0c5086cb.js";import"./engine-generic-96b32038.js";import"./media-c9012082.js";class D extends g{getProxyConfig(){return{...super.getProxyConfig(),media:"auto"===this._config.proxy.media||this._config.proxy.media}}}class E{static isMotionEyeEventQueryResults(e){return e.engine===t.MotionEye&&e.type===o.Event}}const v={"%Y":"yyyy","%m":"MM","%d":"dd","%H":"HH","%M":"mm","%S":"ss"},x=new RegExp(/(%Y|%m|%d|%H|%M|%S)/g);class b extends p{constructor(){super(...arguments),this._directoryCache=new e,this._fileCache=new e}getEngineType(){return t.MotionEye}async createCamera(e,t){const i=new D(t,this,{capabilities:new a({"favorite-events":!1,"favorite-recordings":!1,clips:!0,live:!0,menu:!0,recordings:!1,seek:!1,snapshots:!0,substream:!0,ptz:s(t)??void 0},{disable:t.capabilities?.disable,disableExcept:t.capabilities?.disable_except}),eventCallback:this._eventCallback});return await i.initialize({entityRegistryManager:this._entityRegistryManager,hass:e,stateWatcher:this._stateWatcher})}_convertMotionEyeTimeFormatToDateFNS(e){return e.replace(x,((e,t)=>v[t]))}_motionEyeMetadataGeneratorFile(e,t,a,s){let n=s?._metadata?.startDate??new Date;if(t){const e=a.title.replace(/\.[^/.]+$/,"");if(n=C(e,t,n),!i(n))return null}return{cameraID:e,startDate:n,endDate:n}}_motionEyeMetadataGeneratorDirectory(e,t,a,s){let r=s?._metadata?.startDate??new Date;if(t){const e=C(a.title,t,r);if(!i(e))return null;r=n(e)}return{cameraID:e,startDate:r,endDate:s?._metadata?.endDate??w(r)}}async _getMatchingDirectories(e,t,a,s,i){const n=t.getCamera(a),r=n?.getConfig();if(!(n instanceof g&&r))return null;const o=n.getEntity(),c=o?.config_entry_id,d=o?.device_id;if(!c||!d)return null;const m=(e,t)=>{const i=e.shift();if(!i)return[];const n=i.includes("%")?this._convertMotionEyeTimeFormatToDateFNS(i):null;return[{targets:t,metadataGenerator:(e,t)=>this._motionEyeMetadataGeneratorDirectory(a,n,e,t),matcher:e=>e.can_expand&&(!!n||e.title===i)&&M(e,s?.start,s?.end),advance:t=>m(e,t)}]};return await this._browseMediaManager.walkBrowseMedias(e,[...!1===s?.hasClip||s?.hasSnapshot?[]:m(r.motioneye.movies.directory_pattern.split("/"),[`media-source://motioneye/${c}#${d}#movies`]),...!1===s?.hasSnapshot||s?.hasClip?[]:m(r.motioneye.images.directory_pattern.split("/"),[`media-source://motioneye/${c}#${d}#images`])],{...!1!==i?.useCache&&{cache:this._directoryCache}})}async getEvents(e,a,s,i){if(s.favorite||s.tags?.size||s.what?.size||s.where?.size)return null;const n=new Map,c=async r=>{const c={...s,cameraIDs:new Set([r])},d=i?.useCache??1?this._requestCache.get(c):null;if(d)return void n.set(c,d);const m=a.getCameraConfig(r);if(!m)return;const y=await this._getMatchingDirectories(e,a,r,c,i);if(!y||!y.length)return;const g=this._convertMotionEyeTimeFormatToDateFNS(m.motioneye.movies.file_pattern),p=this._convertMotionEyeTimeFormatToDateFNS(m.motioneye.images.file_pattern),_=c.limit??f,C=await this._browseMediaManager.walkBrowseMedias(e,[{targets:y,metadataGenerator:(e,t)=>e.media_class===l||e.media_class===h?this._motionEyeMetadataGeneratorFile(r,e.media_class===l?p:g,e,t):null,earlyExit:e=>e.length>=_,matcher:e=>!e.can_expand&&M(e,c.start,c.end)}],{...!1!==i?.useCache&&{cache:this._fileCache}}),w=u(C,(e=>e._metadata?.startDate),"desc").slice(0,c.limit??f),D={type:o.Event,engine:t.MotionEye,browseMedia:w};(i?.useCache??1)&&this._requestCache.set(c,{...D,cached:!0},D.expiry),n.set(c,D)};return await r(s.cameraIDs,(e=>c(e))),n.size?n:null}generateMediaFromEvents(e,t,a,s){return E.isMotionEyeEventQueryResults(s)?_(s.browseMedia):null}async getMediaMetadata(e,a,s,i){const n=new Map;if((i?.useCache??1)&&this._requestCache.has(s)){const e=this._requestCache.get(s);if(e)return n.set(s,e),n}const m=new Set,l=async t=>{const s=await this._getMatchingDirectories(e,a,t,null,i);for(const e of s??[])e._metadata&&m.add(y(e._metadata?.startDate))};await r(s.cameraIDs,(e=>l(e)));const h={type:o.MediaMetadata,engine:t.MotionEye,metadata:{...m.size&&{days:m}},expiry:c(new Date,{seconds:d}),cached:!1};return(i?.useCache??1)&&this._requestCache.set(s,{...h,cached:!0},h.expiry),n.set(s,h),n}getCameraMetadata(e,t){return{...super.getCameraMetadata(e,t),engineLogo:m}}getCameraEndpoints(e,t){const a=e.motioneye?.url?{endpoint:e.motioneye.url}:null;return{...super.getCameraEndpoints(e,t),...a&&{ui:a}}}}export{b as MotionEyeCameraManagerEngine}; diff --git a/config/www/community/frigate-hass-card/engine-motioneye-d04d1919.js.gz b/config/www/community/frigate-hass-card/engine-motioneye-d04d1919.js.gz deleted file mode 100644 index de7f7d55d0697f3a9f3d7b620b0ddba9b5624e8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1950 zcmV;P2VwXhiwFp8_*Q2E|7C7xX>MgLZEtjGZ*FCIWi4bdG-NS3F*z=3a{#SaYjfka z75&~{Av0?YIfW_N={jqAxSWaP?Pexwn|NnB8P`=H@=8LMuL6){hT?zk#e)>($Qw6P ze*pws-siaofLT@+T-Fc|s2Bi&Z`3FWT&s~1c&kQ1AWSpZ!BAi=h{Q6dj zt%$Z#60K}bm>Op7w>u`+EWb#o1aWb-Slql@TpsC|DDh=04*81ZaPjVXF&^Js$9=(4 z2~JwUl5znTOQ10IL-1u)s@1~RpQHXF7jm!-Yv=qYCvYnKbBJ@E;e0kz zvjk^JqGlg)_VJ^d&2W}wYIct^A)JOhg*og7Kf>znsdPu~`A_@vY=55Y&p+EJ(Ms9l)`y*xBjRCzpzIUr~!Gy_gu)aDs)223lOx>6e;bxcdTU@4OfM4+~)TRTg- zEjW{K0Va3(ZO z7c~AHm<%7SHQuewDBV$p+45PA%4o`d1-C{)CJ~S;hE7*An$s2VR?VqBvPMV*Koq{= zpHyNUTlxM{<29;3w!mdq#!oDR4+YPt{8UU)^uyook6M63nIe0*PsG*b4c~7c$|+k&j++smw)@h6&DY+0yOM10nS> z&h%h^^e_M6-y{F=&u>P=aXclRhZAij_sAJ@bI-F*=bJQbEU&~GnBPrJa*WLYsXtH5 ztoc$L)3#rZgW>;kFca5?gKD_;9UX=vhi`e9d%?AvnX&ytd9IS>ze(b){RfM^(sY8Jj z$vX~<$TyU%kjtw%OGu&?6WFpC@Tb-u@AqfP34K{;LD#Vg_+rhL(t5@0HxG}uZ7`~p z;&hW>sLr|LMcuLRyRc_oU@Bo$)|hvUMFf&$&yf*Ww~X@FAczt~9ezVH+nx}<2jr0) zS)-(RG90>RXZd~)1}J#CFmE`Vp&elnrY2ZvkI-bR$`Hu#eWv|r9-Cu2F>Wn*u@mSM zo`IGp{2fg{e|uO~Xn4Sr;_MRbp?ai|39{^dZ|3)wLZgSrAal8I;)DutwnZ%Y-GMSM zsg%HTUzA9St}}8x^6;~{5r|^L(c96e`+W4Kj+?LE)JgM|QS|epM~>ZSO}DNnw|?se z%P^|{hZ{x_y75SA?Z_GCKk_%i9E!ssHYAS0sdKbJS~V@FkgpFiOsj1%1gY@b6Agp$ zC0(h4BG0Q|yET>lU%-c-I$ksBciDr44h$-h*@>_@mcg%k`p( zqD$Kq9R9NbA@!>2TQ{~XfNpo~s1Hd@soExq*L5a6u!dy{OKq9`(n?lgACxb$5+$6( zm@=)RLO!Vc6z^YheXMO2zP_Qe-y&Asb6S*mr2K=*Ebfk#&BNGFS;k}(Ey*PO1D)70 zPW3Y5fVtGp^(_$FB~_GhytIyfkCyZSjiQ(qs(DpQb@xx~CbA1R?u5A7=&5toBM#Dg?0CLN@epyxjEy-` zK-ZW$tXLiX`U`CJDA(C;R;D_}tq=Gv>$t?;J*?6@|BLSz;YD*a*bC8A^T1IChc>MT zs(QvUst;e47-VNOdbsSoKrKRd_JP=Rw(wDoX=qwXv7|*(OK`FyIPqE%!Rw%cF7n6{ zUqjZX0bW@|gy)CX1JrPs`7}vfyxpBf8P@To0;alvmXg*T;EpnT3V5xVK;bCU<;O-y zXeENIX^4SR5WDR?lGFkpH~7j666}i>c9$){UJYEKfxGSlcl`{wf~-|3I!^BaM4o)6 zpAfSle_yN$6;CI0mnUVxESOuQ&=3xkigEBX!k3Q`40>B?r|I9!PIz%_K;0#h<4Xpz2>93;i#bwiecXL&xT=+uZ)?zrzlp>`M{=0IfvIng9R* diff --git a/config/www/community/frigate-hass-card/engine-motioneye-fa799851.js b/config/www/community/frigate-hass-card/engine-motioneye-fa799851.js deleted file mode 100644 index 06f83c89..00000000 --- a/config/www/community/frigate-hass-card/engine-motioneye-fa799851.js +++ /dev/null @@ -1 +0,0 @@ -import{ec as e,e7 as t,e6 as a,e5 as s,ed as i,d4 as n,e9 as r,ea as o,dQ as c,ee as d,ef as m,eg as l,eh as h,dc as u,de as y}from"./card-45855f1f.js";import{B as g,a as p,g as _,i as M}from"./within-dates-a663657f.js";import{C as f}from"./engine-86b0096c.js";import{p as C}from"./parse-114e8d53.js";import{e as w}from"./endOfDay-24d35e3f.js";import"./engine-generic-31c14ad9.js";import"./media-c9012082.js";class D extends g{getProxyConfig(){return{...super.getProxyConfig(),media:"auto"===this._config.proxy.media||this._config.proxy.media}}}class E{static isMotionEyeEventQueryResults(e){return e.engine===t.MotionEye&&e.type===o.Event}}const v={"%Y":"yyyy","%m":"MM","%d":"dd","%H":"HH","%M":"mm","%S":"ss"},x=new RegExp(/(%Y|%m|%d|%H|%M|%S)/g);class b extends p{constructor(){super(...arguments),this._directoryCache=new e,this._fileCache=new e}getEngineType(){return t.MotionEye}async createCamera(e,t){const i=new D(t,this,{capabilities:new a({"favorite-events":!1,"favorite-recordings":!1,clips:!0,live:!0,menu:!0,recordings:!1,seek:!1,snapshots:!0,substream:!0,ptz:s(t)??void 0},{disable:t.capabilities?.disable,disableExcept:t.capabilities?.disable_except}),eventCallback:this._eventCallback});return await i.initialize({entityRegistryManager:this._entityRegistryManager,hass:e,stateWatcher:this._stateWatcher})}_convertMotionEyeTimeFormatToDateFNS(e){return e.replace(x,((e,t)=>v[t]))}_motionEyeMetadataGeneratorFile(e,t,a,s){let n=s?._metadata?.startDate??new Date;if(t){const e=a.title.replace(/\.[^/.]+$/,"");if(n=C(e,t,n),!i(n))return null}return{cameraID:e,startDate:n,endDate:n}}_motionEyeMetadataGeneratorDirectory(e,t,a,s){let r=s?._metadata?.startDate??new Date;if(t){const e=C(a.title,t,r);if(!i(e))return null;r=n(e)}return{cameraID:e,startDate:r,endDate:s?._metadata?.endDate??w(r)}}async _getMatchingDirectories(e,t,a,s,i){const n=t.getCamera(a),r=n?.getConfig();if(!(n instanceof g&&r))return null;const o=n.getEntity(),c=o?.config_entry_id,d=o?.device_id;if(!c||!d)return null;const m=(e,t)=>{const i=e.shift();if(!i)return[];const n=i.includes("%")?this._convertMotionEyeTimeFormatToDateFNS(i):null;return[{targets:t,metadataGenerator:(e,t)=>this._motionEyeMetadataGeneratorDirectory(a,n,e,t),matcher:e=>e.can_expand&&(!!n||e.title===i)&&M(e,s?.start,s?.end),advance:t=>m(e,t)}]};return await this._browseMediaManager.walkBrowseMedias(e,[...!1===s?.hasClip||s?.hasSnapshot?[]:m(r.motioneye.movies.directory_pattern.split("/"),[`media-source://motioneye/${c}#${d}#movies`]),...!1===s?.hasSnapshot||s?.hasClip?[]:m(r.motioneye.images.directory_pattern.split("/"),[`media-source://motioneye/${c}#${d}#images`])],{...!1!==i?.useCache&&{cache:this._directoryCache}})}async getEvents(e,a,s,i){if(s.favorite||s.tags?.size||s.what?.size||s.where?.size)return null;const n=new Map,c=async r=>{const c={...s,cameraIDs:new Set([r])},d=i?.useCache??1?this._requestCache.get(c):null;if(d)return void n.set(c,d);const m=a.getCameraConfig(r);if(!m)return;const y=await this._getMatchingDirectories(e,a,r,c,i);if(!y||!y.length)return;const g=this._convertMotionEyeTimeFormatToDateFNS(m.motioneye.movies.file_pattern),p=this._convertMotionEyeTimeFormatToDateFNS(m.motioneye.images.file_pattern),_=c.limit??f,C=await this._browseMediaManager.walkBrowseMedias(e,[{targets:y,metadataGenerator:(e,t)=>e.media_class===l||e.media_class===h?this._motionEyeMetadataGeneratorFile(r,e.media_class===l?p:g,e,t):null,earlyExit:e=>e.length>=_,matcher:e=>!e.can_expand&&M(e,c.start,c.end)}],{...!1!==i?.useCache&&{cache:this._fileCache}}),w=u(C,(e=>e._metadata?.startDate),"desc").slice(0,c.limit??f),D={type:o.Event,engine:t.MotionEye,browseMedia:w};(i?.useCache??1)&&this._requestCache.set(c,{...D,cached:!0},D.expiry),n.set(c,D)};return await r(s.cameraIDs,(e=>c(e))),n.size?n:null}generateMediaFromEvents(e,t,a,s){return E.isMotionEyeEventQueryResults(s)?_(s.browseMedia):null}async getMediaMetadata(e,a,s,i){const n=new Map;if((i?.useCache??1)&&this._requestCache.has(s)){const e=this._requestCache.get(s);if(e)return n.set(s,e),n}const m=new Set,l=async t=>{const s=await this._getMatchingDirectories(e,a,t,null,i);for(const e of s??[])e._metadata&&m.add(y(e._metadata?.startDate))};await r(s.cameraIDs,(e=>l(e)));const h={type:o.MediaMetadata,engine:t.MotionEye,metadata:{...m.size&&{days:m}},expiry:c(new Date,{seconds:d}),cached:!1};return(i?.useCache??1)&&this._requestCache.set(s,{...h,cached:!0},h.expiry),n.set(s,h),n}getCameraMetadata(e,t){return{...super.getCameraMetadata(e,t),engineLogo:m}}getCameraEndpoints(e,t){const a=e.motioneye?.url?{endpoint:e.motioneye.url}:null;return{...super.getCameraEndpoints(e,t),...a&&{ui:a}}}}export{b as MotionEyeCameraManagerEngine}; diff --git a/config/www/community/frigate-hass-card/engine-motioneye-fa799851.js.gz b/config/www/community/frigate-hass-card/engine-motioneye-fa799851.js.gz deleted file mode 100644 index 86daea4eb5ecf63080cbe248efed86442d3d459a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1951 zcmV;Q2VnRgiwFqNQ&?vL|7C7xX>MgLZEtjGZ*FCIWi4i5H#s>tH8Cz~a{#SaYjfka z75&~{Av0?YIfW@}{m3poT+T%Db~{rwO}sOmjO!{ec_pFCR{=;eL-D`o;z5dXx=8FZx3`#l=z|*hkVI$ID2>fcz*u=I_?XW zN^sH&mXr%P8;>vHU2=8Nm(#v)_X?Bm7gJiDy}e8>uHd3?dv9+EIdB%AU5w-LB~9KR z3T2QmdKSMwAHO|+_g3%4DHUQc9l(=B3z&p@3GyGjc&a8vzFISMvqG{WzpdbQ1G)TR z4ZQjh#5$G2h1RD5_$F>;)$hI-4#AgIsa6YLe~$W#T*$#Dtew-JoWQB@&mqofhV$7> z%@Uj?iJE=F*{4rxHp5w#so5RQgm4=26y~rU{0Ph2r_vp{r$6mZv)yU3JN>jfo$XHV zywTFLNqy{+TGrY;U&pfGm{FZa7ZXbPa-E@n!XqX(3FDxIstJu(plyNOTCfy)s|}Xn zRtNtXL+#2m=;fiIqRQhz%mG0=p&4-MqBhTXGhkZL)Ro!*sbgBwN0u_lKm=-wy0x>Q zn}Rb5XQ1*ZoZw_k_KWCj!4sA*%|@KEQUoXGBxM^=BgVE?<6cgQ34kwp%xNiBh18#j z^&@5oXr_LY@|Qrk(u<-^!IHswL+XSH`j|o>{l1@(Z`X+(Z=Yf)>4tegU^eK_(H9ONLHYGn&&S@K(*SJ+eYb1V9wN z;h$7u9b5VSQsXtMKQ_Q+SH{mQgO3HzsQg?^QS{^A?+#jkLz&VT+$ZAd@`fKa_wvC* zO z7-zb-Kl+z{|L>9i@aH!p;y9j?&clhel6&NYxw+?Ar}K51HkMan4a~nzO>&IQ0I5Gu z%&hrZ9MiU64uj$Ub1)OvhJ$Lj_8lFD1BY*TnB&q{{pOwDhYr})DB8N*YiwiAv4v-< z?${V@Ac)pB6vA5fa%4A@wJl6Nf}TWr#Zs{L*UbkErD+~Ru^23eLw@MK(N%=Guc^JuhH*GMg zmEv@rV5rWi<3-)E@Vl^QUSKL=RMwbxj70>JWY3WiShtMw*C2=zL>+!ZGTWXIegNc= z99g5Jc`_WjCnx!C2L>p3x-f4zoS_|I5vC?sX^+rkqskD-@I$8kXdaqFIx%iN@?tB{ zCp-f!PxxD!e)(>{tk7_eC&kGa?V)<4kqNTwZfE9qmO`WZhahvgZ{masaJE4#`Q3ps zFR7Hkb6=E5imo$qJaYfDxe6w8XA5_ITG9aj0)lq@@jW#NL5)@A-q*V9WKQ ziK4OX3J(8WgOGYv^{pG*7C^VVcGQO?rc`Z{#Opef?peb!g{8L4erYAEun)=?S&0%( zVoaG4f6?l~<=JW~EaWfpgb%I0D0rz~SKiWX!N{((;H z7^ixfall+^=lT|i?UE|WI9ysqzeh{@fX370xvr=TmYStB3h-gX)9Ut#Nkdkq93R4Y zpTkZLNlXz|Z22nIbk)47rMmkkb`#l#Yj;9iZS>eV>k$X(J$5`_q zQb5<3I;>b7{`w1S^(fcbZkDDx#;uR|F6+3&-aV|+TmP%?7vV*7G}sH#RCCW!28TAS zd#ZZIGO7<>l^A4aG`hd+yg)5NclMsxbhhwOj%jFGO0lFxQcG~MBRKI|62a@Bf-dsN z0$)ScrvYABM1<#u*8|jWnE5nGT)f>KM;X@fr2?k9fR>V09pDZ!dklE3nLyzv)8)rT zNN6R3tZ9gWQV_fCJ(AP{A2;~Q3li*$7IxznV6O(Q(7;{wfxCJJTtQZ<6dkAc03we* z(~pSRkpEUJ3l&c%bekt-!7P|tq|gxdl!|fiG{TpU5e#};YNzSn%#L_*Xh7X1u)Ot} l1?u(RV4&(>9*_E8E^RHW`-YCqTerFS)31OW-a$(e008@V(iZ># diff --git a/config/www/community/frigate-hass-card/engine-reolink-0f6e3569.js b/config/www/community/frigate-hass-card/engine-reolink-0f6e3569.js deleted file mode 100644 index 33d09684..00000000 --- a/config/www/community/frigate-hass-card/engine-reolink-0f6e3569.js +++ /dev/null @@ -1,8 +0,0 @@ -import{l as e,e1 as t,e9 as a,e4 as n,ee as s,ea as i,dN as r,d0 as o,e3 as c,e2 as l,ef as u,e6 as h,e7 as d,eb as g,eg as m,d8 as _,da as p}from"./card-320adb66.js";import{B as y,a as f,i as w,g as C}from"./within-dates-c613e3cb.js";import{C as M}from"./engine-86b0096c.js";import{p as D}from"./parse-7f4a6e12.js";import{e as k}from"./endOfDay-086a6977.js";import"./engine-generic-39deaa91.js";import"./media-c9012082.js";class b extends t{}class x extends y{constructor(){super(...arguments),this._channel=null}async initialize(e){return await super.initialize(e),this._initializeChannel(),this}_initializeChannel(){const t=this._entity?.unique_id,a=t?String(t).match(/(.*)_(?\d+)/):null,n=a&&a.groups?.channel?Number(a.groups.channel):null;if(null===n)throw new b(e("error.camera_initialization_reolink"),this.getConfig());this._channel=n}getChannel(){return this._channel}getProxyConfig(){return{...super.getProxyConfig(),media:"auto"===this._config.proxy.media||this._config.proxy.media,ssl_verification:"auto"!==this._config.proxy.ssl_verification&&this._config.proxy.ssl_verification,ssl_ciphers:"auto"===this._config.proxy.ssl_ciphers?"intermediate":this._config.proxy.ssl_ciphers}}}class v{static isReolinkEventQueryResults(e){return e.engine===n.Reolink&&e.type===d.Event}}class E extends f{constructor(){super(...arguments),this._cache=new a}getEngineType(){return n.Reolink}_reolinkFileMetadataGenerator(e,t,a){ -/* istanbul ignore next: This situation cannot happen as the directory would - be rejected by _reolinkDirectoryMetadataGenerator if there was no start date - -- @preserve */ -if(!a?._metadata?.startDate||t.media_class!==s)return null;const n=t.title.split(/ +/);if(2!==n.length)return null;const o=D(n[0],"HH:mm:ss",a._metadata.startDate);if(!i(o))return null;const c=n[1].match(/(?\d+):(?\d+):(?\d+)/),l=c?.groups?{hours:Number(c.groups.hours),minutes:Number(c.groups.minutes),seconds:Number(c.groups.seconds)}:null;return{cameraID:e,startDate:o,endDate:l?r(o,l):o}}_reolinkDirectoryMetadataGenerator(e,t){const a=D(t.title,"yyyy/M/d",new Date);return i(a)?{cameraID:e,startDate:o(a),endDate:k(a)}:null}_reolinkCameraMetadataGenerator(e){const t=e.media_content_id.match(/^media-source:\/\/reolink\/CAM\|(?.+)\|(?\d+)$/);return t?.groups?{configEntryID:t.groups.configEntryID,channel:Number(t.groups.channel)}:null}async createCamera(e,t){const a=new x(t,this,{capabilities:new c({"favorite-events":!1,"favorite-recordings":!1,clips:!0,live:!0,menu:!0,recordings:!1,seek:!1,snapshots:!1,substream:!0,ptz:l(t)??void 0},{disable:t.capabilities?.disable,disableExcept:t.capabilities?.disable_except}),eventCallback:this._eventCallback});return await a.initialize({entityRegistryManager:this._entityRegistryManager,hass:e,stateWatcher:this._stateWatcher})}async _getMatchingDirectories(e,t,a,n){const s=t.getConfig(),i=t.getEntity(),r=i?.config_entry_id;if(null===t.getChannel()||!r)return null;const o=await this._browseMediaManager.walkBrowseMedias(e,[{targets:["media-source://reolink"],metadataGenerator:(e,t)=>this._reolinkCameraMetadataGenerator(e),matcher:e=>e._metadata?.channel===t.getChannel()&&e._metadata?.configEntryID===r}],{...!1!==n?.useCache&&{cache:this._cache}});return o?.length?await this._browseMediaManager.walkBrowseMedias(e,[{targets:[`media-source://reolink/RES|${r}|${t.getChannel()}|`+("low"===s.reolink?.media_resolution?"sub":"main")],metadataGenerator:(e,a)=>this._reolinkDirectoryMetadataGenerator(t.getID(),e),matcher:e=>e.can_expand&&w(e,a?.start,a?.end),sorter:e=>u(e)}],{...!1!==n?.useCache&&{cache:this._cache}}):null}async getEvents(e,t,a,s){if(a.favorite||a.tags?.size||a.what?.size||a.where?.size||a.hasSnapshot)return null;const i=new Map,r=async r=>{const o={...a,cameraIDs:new Set([r])},c=s?.useCache??1?this._requestCache.get(o):null;if(c)return void i.set(o,c);const l=t.getCamera(r),h=l&&l instanceof x?await this._getMatchingDirectories(e,l,o,s):null,g=o.limit??M;let m=[];h?.length&&(m=await this._browseMediaManager.walkBrowseMedias(e,[{targets:h,concurrency:1,metadataGenerator:(e,t)=>this._reolinkFileMetadataGenerator(r,e,t),earlyExit:e=>e.length>=g,matcher:e=>!e.can_expand&&w(e,o.start,o.end),sorter:e=>u(e)}],{...!1!==s?.useCache&&{cache:this._cache}}));const p=_(m,(e=>e._metadata?.startDate),"desc").slice(0,g),y={type:d.Event,engine:n.Reolink,browseMedia:p};(s?.useCache??1)&&this._requestCache.set(o,{...y,cached:!0},y.expiry),i.set(o,y)};return await h(a.cameraIDs,(e=>r(e))),i}generateMediaFromEvents(e,t,a,n){return v.isReolinkEventQueryResults(n)?C(n.browseMedia):null}async getMediaMetadata(e,t,a,s){const i=new Map,o=s?.useCache??1?this._requestCache.get(a):null;if(o)return i.set(a,o),i;const c=new Set,l=async a=>{const n=t.getCamera(a);if(!(n&&n instanceof x))return;const i=await this._getMatchingDirectories(e,n,null,s);for(const e of i??[]) -/* istanbul ignore next: This situation cannot happen as the directory - will not match without metadata -- @preserve */ -e._metadata&&c.add(p(e._metadata?.startDate))};await h(a.cameraIDs,(e=>l(e)));const u={type:d.MediaMetadata,engine:n.Reolink,metadata:{...c.size&&{days:c}},expiry:r(new Date,{seconds:g}),cached:!1};return(s?.useCache??1)&&this._requestCache.set(a,{...u,cached:!0},u.expiry),i.set(a,u),i}getCameraMetadata(e,t){return{...super.getCameraMetadata(e,t),engineLogo:m}}getCameraEndpoints(e,t){const a=e.reolink?.url?{endpoint:e.reolink.url}:null;return{...super.getCameraEndpoints(e,t),...a&&{ui:a}}}}export{E as ReolinkCameraManagerEngine,v as ReolinkQueryResultsClassifier}; diff --git a/config/www/community/frigate-hass-card/engine-reolink-0f6e3569.js.gz b/config/www/community/frigate-hass-card/engine-reolink-0f6e3569.js.gz deleted file mode 100644 index 4da118d6111bfe355a8e2df10daba64abea84a17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2221 zcmV;e2vYYSiwFoEf?;O@|7C7xX>MgLa%FF9X>MyRFlIJoGc`6jE^2cCtypby+cpyZ zo?k(8IvO&8C@bkWFwcTrH&b_;&Gxx#qsSvr6P?I1FfR5New_R60Olsz*iORF9Ovw|e9RK#!6D)gvS6&w3OjJ=SAE;GG^5 z0&n%05m@N4B5?Gk4%Y;R$$0+uBS$bW@vcQgEq6m8e2^ z{#I5c2rmc%Dwb6aTuGl`Y-BJ?R+MwdB3@-#P349s4&zKQnz28?1Ai+(Rf0QoO__2U zJ;9EE)zi;i7>%A;sSm9f>l_uCy=V_pn>eUA`@Mo0O9_os{7DJMm!9&2oT_ByO}yZ> zKl9@6tjXt}(>MOa54GilM|3oz!BP}eDdWJ3#6MU0935{L+Ih3-j4eDpMp49lwGzeJ z;jnh*9(XPYQHUU+ISAT&Kou+aOhAz_e&<@(m!K{RzF~E2$S;~Ykc(Z$6^O<}1#b9d>AJS4zu!uQXCiLpM{_e*_lT%}RUkGW zK~|ZP0~|wOXs0hdu=1l31Zq?2xin}tx4N%7MlD{>D4MJw(nzBEa<7`>enIs;0=kpy z7EC{|46Z>@%vJPnIw4Sf3=l=AzkM}%jm{~`=T+vgB`*XZQXf?4{DLPslBuc*x|1NJ z3gxV5Spsj;_X?bp3D8DwoOMxU=_|+n=HLkU4VNHw<{PKA=RRdbw6qql#!h+G> z(0@$1lo-_n!q1b>6RY*}0x$-~-`ybVcs_WlNhk!vSkgH|@H0e+UP`>JyP)@lU<$^d z^ObbNqbcbp@h%IIV)--+NybVU9vzd6-Gd%6VO4tU<+PXtxNAmEOSvkPnXKlR_JHPE zzEppN8J6TYzAsqn9M@!pj6LE&7fJX5gFQ@3z}tfn%vnE zurpV8mt$HII&4R_rj_^zOU##uWybB_V2f`4lib@Ich+P9ZB!<2rl z=P+n3XV4RqstIrJP-5B|GzNs3@2kcH{1y?5Eq1hBVuK(a^dn|-+c-Qv9*Kh~&P2di zJIDS-Vhut3Ti1d$&F;SMr?rtcTO=atmf?-N!<9+P6!(_o`{WB7ct+>uq^}Z{)|*}K3;u#{AMd^{Absj`tjE{o|_eG-SWu5%EvZoVR0<7N|)={MQ*vFn^VSJ|CzAU z{jh%_Q8#A%bcyiVzXNOxkYXj}>1edpT5TQH|G`|0^#xxWM!3QY{NLg|%xN0qO+vDS zkp31?O@lTwJwDPv(IqlpB472_dPUXn3;T=y6Uq6>CZhucU`?XDrX|wJ9515tZA%XA z0VQn>GMV!eDDOtx`ZY-+**g};)3^;XzCfgEW_2{NE$H3~Nozur`xw?1*tNhJjEWD`zb$o<3ZsvugF02SHh>VYYPJ!9y3v>Zb6=qV-(3(4YZh?HMN zWP2rLH1l%e?Wdu>_akl!GI9MtW-I~km@Iv=iMIMN5Zb2zG4F-2>)FX5#9>*VdAmUJ z+xO89lnhq13mei{nPNGu$tJ)EFtNb`VMR86y<6W_$es?wjW0UI`naQBn#dbdeh@{z zLp|O-H|~QkJdL;?UwAwiIJHk`111~2p4a;vEMCYc+B2$X8D+euq(Ha&*4q#k+h}77 z?a0k{s76f-@8Qdo@35`y=(}|BBKC385KsDN3&gb93J&UHaeQ;@|DPUX-HWOHtyz{i zdPBn!NB`}rsPN0i{mIK}fauXE322&nrS}ZX5mV2BDQm!FBUE+J-?{Ur6lf0#HKLOy zT_Y7!x{+a0*TjH26khu97y{ zapi!Rb@=bavIz6K*LB6yvS5~CeY*~Qjju!&V-sq`!frv&?>^C\d+)/):null,s=a&&a.groups?.channel?Number(a.groups.channel):null;if(null===s)throw new k(e("error.camera_initialization_reolink"),this.getConfig());this._channel=s}getChannel(){return this._channel}getProxyConfig(){return{...super.getProxyConfig(),media:"auto"===this._config.proxy.media||this._config.proxy.media,ssl_verification:"auto"!==this._config.proxy.ssl_verification&&this._config.proxy.ssl_verification,ssl_ciphers:"auto"===this._config.proxy.ssl_ciphers?"intermediate":this._config.proxy.ssl_ciphers}}}class v{static isReolinkEventQueryResults(e){return e.engine===s.Reolink&&e.type===d.Event}}class E extends f{constructor(){super(...arguments),this._directoryCache=new a,this._fileCache=new a}getEngineType(){return s.Reolink}_reolinkFileMetadataGenerator(e,t,a){ -/* istanbul ignore next: This situation cannot happen as the directory would - be rejected by _reolinkDirectoryMetadataGenerator if there was no start date - -- @preserve */ -if(!a?._metadata?.startDate||t.media_class!==n)return null;const s=t.title.split(/ +/);if(2!==s.length)return null;const o=D(s[0],"HH:mm:ss",a._metadata.startDate);if(!i(o))return null;const c=s[1].match(/(?\d+):(?\d+):(?\d+)/),l=c?.groups?{hours:Number(c.groups.hours),minutes:Number(c.groups.minutes),seconds:Number(c.groups.seconds)}:null;return{cameraID:e,startDate:o,endDate:l?r(o,l):o}}_reolinkDirectoryMetadataGenerator(e,t){const a=D(t.title,"yyyy/M/d",new Date);return i(a)?{cameraID:e,startDate:o(a),endDate:x(a)}:null}async createCamera(e,t){const a=new b(t,this,{capabilities:new c({"favorite-events":!1,"favorite-recordings":!1,clips:!0,live:!0,menu:!0,recordings:!1,seek:!1,snapshots:!1,substream:!0,ptz:l(t)??void 0},{disable:t.capabilities?.disable,disableExcept:t.capabilities?.disable_except}),eventCallback:this._eventCallback});return await a.initialize({entityRegistryManager:this._entityRegistryManager,hass:e,stateWatcher:this._stateWatcher})}async _getMatchingDirectories(e,t,a,s){const n=t.getConfig(),i=t.getEntity(),r=i?.config_entry_id;return null!==t.getChannel()&&r?await this._browseMediaManager.walkBrowseMedias(e,[{targets:[`media-source://reolink/RES|${r}|${t.getChannel()}|`+("low"===n.reolink?.media_resolution?"sub":"main")],concurrency:1/0,metadataGenerator:(e,a)=>this._reolinkDirectoryMetadataGenerator(t.getID(),e),matcher:e=>e.can_expand&&C(e,a?.start,a?.end),sorter:e=>u(e)}],{...!1!==s?.useCache&&{cache:this._directoryCache}}):null}async getEvents(e,t,a,n){if(a.favorite||a.tags?.size||a.what?.size||a.where?.size||a.hasSnapshot)return null;const i=new Map,r=async r=>{const o={...a,cameraIDs:new Set([r])},c=n?.useCache??1?this._requestCache.get(o):null;if(c)return void i.set(o,c);const l=t.getCamera(r),h=l&&l instanceof b?await this._getMatchingDirectories(e,l,o,n):null,g=o.limit??M;let m=[];h?.length&&(m=await this._browseMediaManager.walkBrowseMedias(e,[{targets:h,concurrency:1,metadataGenerator:(e,t)=>this._reolinkFileMetadataGenerator(r,e,t),earlyExit:e=>e.length>=g,matcher:e=>!e.can_expand&&C(e,o.start,o.end),sorter:e=>u(e)}],{...!1!==n?.useCache&&{cache:this._fileCache}}));const _=p(m,(e=>e._metadata?.startDate),"desc").slice(0,g),y={type:d.Event,engine:s.Reolink,browseMedia:_};(n?.useCache??1)&&this._requestCache.set(o,{...y,cached:!0},y.expiry),i.set(o,y)};return await h(a.cameraIDs,(e=>r(e))),i}generateMediaFromEvents(e,t,a,s){return v.isReolinkEventQueryResults(s)?w(s.browseMedia):null}async getMediaMetadata(e,t,a,n){const i=new Map,o=n?.useCache??1?this._requestCache.get(a):null;if(o)return i.set(a,o),i;const c=new Set,l=async a=>{const s=t.getCamera(a);if(!(s&&s instanceof b))return;const i=await this._getMatchingDirectories(e,s,null,n);for(const e of i??[]) -/* istanbul ignore next: This situation cannot happen as the directory - will not match without metadata -- @preserve */ -e._metadata&&c.add(_(e._metadata?.startDate))};await h(a.cameraIDs,(e=>l(e)));const u={type:d.MediaMetadata,engine:s.Reolink,metadata:{...c.size&&{days:c}},expiry:r(new Date,{seconds:g}),cached:!1};return(n?.useCache??1)&&this._requestCache.set(a,{...u,cached:!0},u.expiry),i.set(a,u),i}getCameraMetadata(e,t){return{...super.getCameraMetadata(e,t),engineLogo:m}}getCameraEndpoints(e,t){const a=e.reolink?.url?{endpoint:e.reolink.url}:null;return{...super.getCameraEndpoints(e,t),...a&&{ui:a}}}}export{E as ReolinkCameraManagerEngine,v as ReolinkQueryResultsClassifier}; diff --git a/config/www/community/frigate-hass-card/engine-reolink-13b9bf20.js.gz b/config/www/community/frigate-hass-card/engine-reolink-13b9bf20.js.gz deleted file mode 100644 index c128f6440893ca7228d2b4c1548ef63d20f3c075..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2115 zcmV-J2)y?niwFoxdR%7$|7C7xX>MgLa%FF9X>MyRF*9O0VrDWhE^2cCtypbSEL5a0QYg-U~$pu-eVcnlyGr3~rB%>0^&)JUto9Y1<#R3bTJLE@?YCKEe+759UU zXlmeo7>1NDn*vHH0)nv-;VfOzvV=S?n>_ERXv@@LC6kQi>`(9^*l>^yFCDt3OgdUm zxFcZoY}YP~M&Imo`*w_Vj*QJ&w1>$y37eAr(ZGylgvK)YEIBKez6`>G%5>#V{qSut z^ONtb$>;yg-UZVjQkD}DQ_rK}l2=VFlF*7Izcj@h9q%{#b#v&9Eqpb`aV!G4;?>$I zVeQ=c;Jd(i#lw^q!0FZlDp^&|I8-?+?_BHp668fyF4)o!g0tPAicW0~UfWRa$S8?_ z^Xj4Pby%qlK9-60QvsqO5xKOHm5a7pb$U0fm1L+T9v@%YAwuM{dj#ErrP?K{>|n35 zr^2513L$+(%IXzx@l{hta*4}I30#{f!HvEy-E|iA_ZuPcPQh!v!$-CD35Myu-W zue3G4;q6<142E?*)_%l;*B~jTGWrjdFQ~Eth$J-FyqUg5-z6>QP42K|S#dxhKgh`W z4R3V>lZ}28Cq=|n(pk~EhEiwu6*z;r&bn&y?2Ti8=HPJnf?JsA=dIIQa@mVNGsj^I zr4TP)s{&CuXcCu>%D#ir$;A14%|QUa2j}hd4Knb6CgH5G%92nYy2LXGUxU_}ehS29 z8QAz}@|qMPVi{uc$RQMU&ZIwe-c18V?Dq%ifpdIpx!QBCiZ6X}b9hVKpMHvpA`-$S zbZf`f46W>d`Bkt-OB#!tquU`rCEu^Ah6|mTBAgYhY_RkUa{+iP6E<;?JWi87V{P=w z$mXlG&sTaC8E+Il+qUZgv6`O=*!7?@3D2e$lh%H|jDQS&Mp(JaO#hW9+^+~G$*SwV z{p<>beL|-gRr?;qZSiM%JGs>}wCCPooGUu=(n~VuM&mofG*v=%h z>%@*%4=L30C8-(c?GB@*+_|86KBwuO&6+!F-4J+F#p$?$Z%p<51WU{z_`bBHOW@JC zGC$cPE99ejGztGv*dOG_OI=_eZH8&?TCHKwdK{rACVdgnzhQ|~9@SF9%=}85fO8%* zEbMw$*~MFI6wXGRRMjgS*IUoyiE-E%H^&MuFpXkPv7Ur$n&17fT~;>TY!Hj6MnpHi zo90U(2~&usQ_F?vr>oD8f7|d5f9>AbJ^udAck^nkid`96`NZZi%zIVds7#!=2oX1O z3(872xFzUS+HekK+D1oHg|#Oni_kC{#OKD5Z*x+c_46f04I8w=J`u#{fLJOKIW;Xa z&%01sZOT=DAnh=fVBcwk8!VgMEm57w!I4U**r5qizdR2qhGVp^Bzbcxyp;!(}kD=Nn`tSQ?mg732>+n$WfbRxK>HNwSQ&*Sq=pYxR~ zl=OMWWQNZm{TqH8bR><-t%pf+l=RWYrc_A1s=|t;U}zuH-UQ8UhWQq^Ng7yda*Ifl zuXsRKaqf9oq)SzYfsdAy_wJG~rkAS!th|~>2k+T&1L$VA=8*fyP7}*Yym^LyRdNnc%b2RJD{9P~w zecQYPCxaK|MoYBS8J3KWv>`@;@fMSy6={QRH;1o~K?9JrFIb6#08eyF6MbXKkN7FN zLq9RJnfKvWI%W|hYhQ#Tr=F790Ln&h%k8H;tX|0~x@A?>v&wi+Nri3=Ete%Nwok?s zIuKm!(2bhb%@>|0b{N-pazn~^6$1s))Kq1qb!9B)Pc_{!dN#&?)ynYnJDZ zI-r^2sDEix4bE)bpLNtDM0;Ku(k%05{tGZiOuYoAT!YC*s2QNY^XAVf&|eZMM5j7s zBONo^iYV<_U!;X$&_kJjTG?`^~*a z%sTwfYFR}^x7Br3W_86Z#kMUeY#V@v=Lt4iMl2dO)cS5~{@j9H\d+)/):null,s=a&&a.groups?.channel?Number(a.groups.channel):null;if(null===s)throw new k(e("error.camera_initialization_reolink"),this.getConfig());this._channel=s}getChannel(){return this._channel}getProxyConfig(){return{...super.getProxyConfig(),media:"auto"===this._config.proxy.media||this._config.proxy.media,ssl_verification:"auto"!==this._config.proxy.ssl_verification&&this._config.proxy.ssl_verification,ssl_ciphers:"auto"===this._config.proxy.ssl_ciphers?"intermediate":this._config.proxy.ssl_ciphers}}}class v{static isReolinkEventQueryResults(e){return e.engine===s.Reolink&&e.type===d.Event}}class E extends f{constructor(){super(...arguments),this._directoryCache=new a,this._fileCache=new a}getEngineType(){return s.Reolink}_reolinkFileMetadataGenerator(e,t,a){ -/* istanbul ignore next: This situation cannot happen as the directory would - be rejected by _reolinkDirectoryMetadataGenerator if there was no start date - -- @preserve */ -if(!a?._metadata?.startDate||t.media_class!==n)return null;const s=t.title.split(/ +/);if(2!==s.length)return null;const o=D(s[0],"HH:mm:ss",a._metadata.startDate);if(!i(o))return null;const c=s[1].match(/(?\d+):(?\d+):(?\d+)/),l=c?.groups?{hours:Number(c.groups.hours),minutes:Number(c.groups.minutes),seconds:Number(c.groups.seconds)}:null;return{cameraID:e,startDate:o,endDate:l?r(o,l):o}}_reolinkDirectoryMetadataGenerator(e,t){const a=D(t.title,"yyyy/M/d",new Date);return i(a)?{cameraID:e,startDate:o(a),endDate:x(a)}:null}async createCamera(e,t){const a=new b(t,this,{capabilities:new c({"favorite-events":!1,"favorite-recordings":!1,clips:!0,live:!0,menu:!0,recordings:!1,seek:!1,snapshots:!1,substream:!0,ptz:l(t)??void 0},{disable:t.capabilities?.disable,disableExcept:t.capabilities?.disable_except}),eventCallback:this._eventCallback});return await a.initialize({entityRegistryManager:this._entityRegistryManager,hass:e,stateWatcher:this._stateWatcher})}async _getMatchingDirectories(e,t,a,s){const n=t.getConfig(),i=t.getEntity(),r=i?.config_entry_id;return null!==t.getChannel()&&r?await this._browseMediaManager.walkBrowseMedias(e,[{targets:[`media-source://reolink/RES|${r}|${t.getChannel()}|`+("low"===n.reolink?.media_resolution?"sub":"main")],concurrency:1/0,metadataGenerator:(e,a)=>this._reolinkDirectoryMetadataGenerator(t.getID(),e),matcher:e=>e.can_expand&&C(e,a?.start,a?.end),sorter:e=>u(e)}],{...!1!==s?.useCache&&{cache:this._directoryCache}}):null}async getEvents(e,t,a,n){if(a.favorite||a.tags?.size||a.what?.size||a.where?.size||a.hasSnapshot)return null;const i=new Map,r=async r=>{const o={...a,cameraIDs:new Set([r])},c=n?.useCache??1?this._requestCache.get(o):null;if(c)return void i.set(o,c);const l=t.getCamera(r),h=l&&l instanceof b?await this._getMatchingDirectories(e,l,o,n):null,g=o.limit??M;let m=[];h?.length&&(m=await this._browseMediaManager.walkBrowseMedias(e,[{targets:h,concurrency:1,metadataGenerator:(e,t)=>this._reolinkFileMetadataGenerator(r,e,t),earlyExit:e=>e.length>=g,matcher:e=>!e.can_expand&&C(e,o.start,o.end),sorter:e=>u(e)}],{...!1!==n?.useCache&&{cache:this._fileCache}}));const _=p(m,(e=>e._metadata?.startDate),"desc").slice(0,g),y={type:d.Event,engine:s.Reolink,browseMedia:_};(n?.useCache??1)&&this._requestCache.set(o,{...y,cached:!0},y.expiry),i.set(o,y)};return await h(a.cameraIDs,(e=>r(e))),i}generateMediaFromEvents(e,t,a,s){return v.isReolinkEventQueryResults(s)?w(s.browseMedia):null}async getMediaMetadata(e,t,a,n){const i=new Map,o=n?.useCache??1?this._requestCache.get(a):null;if(o)return i.set(a,o),i;const c=new Set,l=async a=>{const s=t.getCamera(a);if(!(s&&s instanceof b))return;const i=await this._getMatchingDirectories(e,s,null,n);for(const e of i??[]) -/* istanbul ignore next: This situation cannot happen as the directory - will not match without metadata -- @preserve */ -e._metadata&&c.add(_(e._metadata?.startDate))};await h(a.cameraIDs,(e=>l(e)));const u={type:d.MediaMetadata,engine:s.Reolink,metadata:{...c.size&&{days:c}},expiry:r(new Date,{seconds:g}),cached:!1};return(n?.useCache??1)&&this._requestCache.set(a,{...u,cached:!0},u.expiry),i.set(a,u),i}getCameraMetadata(e,t){return{...super.getCameraMetadata(e,t),engineLogo:m}}getCameraEndpoints(e,t){const a=e.reolink?.url?{endpoint:e.reolink.url}:null;return{...super.getCameraEndpoints(e,t),...a&&{ui:a}}}}export{E as ReolinkCameraManagerEngine,v as ReolinkQueryResultsClassifier}; diff --git a/config/www/community/frigate-hass-card/engine-reolink-5d642010.js.gz b/config/www/community/frigate-hass-card/engine-reolink-5d642010.js.gz deleted file mode 100644 index 513f1b5d0454ea293b00705b9413359495d6952d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2117 zcmV-L2)g$liwFqOQ&?vL|7C7xX>MgLa%FF9X>MyRHDoq4GB7bPE^2cCtypby+cpyZ zo?k(8ZZu>9QC9rYgf7jS+U~V8=iW8x%zf~ARES(ji1}6kw9Lxj~V z9)3JchJuw6yzB%k$_0$4(_{FMo*WJ3wCxXDh3UT*m$VtbKTeNM;AnXF_P!+)z*#ar znkLg@ntt3B${}TRoP0c-zCZl%UhgFt6~ei5;6dUI_(q%7EY16+W|NeKki1T0$vuA~ z>I%3Q1OesCI)_3EpI~f6FiTdnC?Jc9I?Gxrnj&#n!6c&@`x89yHymWm3x}>LlaAIC z>kz8zzoBO`Mb?P0QsgSudU)G%Wyp^=O~OU{a=C;cF&GFf>OFL>+E zy!d--^7(($cmBi=mE}Z4bTp#Dl9zQQ;=qc;zts609q%@}b#v&9Ej%?wQ6zl1;^o>Y zVC~#_;JLtg$%BOE!0FZlDp^^~IFuPH?p*8o668f$EZEZX{j=SmidJp*UfWRa$S8?_ z^YWqTbXchkK9-60QvsqO5xTUNrHi&(b$U0blw_bK9v@%YAwp!cdj#ErCE6vc>|n35 zr^2JrD}?kF39DAX#aB%o$i*%zByeq_1ULM;blY0g-*1G(I}x|ylX;n|dqmW)HSp#W zh&q#EfMW;@?bM?OR(>>sKsJ?HO9Oql(|y%5YVm4DrHq3TYA$H9f=EG%+N}l4V6dv* z{z_Z(8{WPJNN-r%VeLmecny+bDx?2U`GP7dfJj39&6~+v^j*?oUS|$l79|G+@`DVW z-|$vPFj?z2aS}vaDV-IqDkyYzUxCw`>#WN8C(! z7QT&-Ca*~$B9Z|nj|>7)WlVY#=iS6t#D0IE9yr6tma9GI%IMM)H;1>x{pqJL&qE=HV~sM_}+Zi7FQ>q+Vo1$Gll8$#w$KYqas-0CfPz=<*4mZpRQu3zYbyBDiF z=AP6B$kYqf?!>u`jgnDj+N_l5;hc~DCUGxIBL0?v8F zu(0c0WfyO-Q8*iLQdO^DSZ_xo9vg>^adWKj0@Enw6zfT_rrF&O+ht|b%?7cEYD9SR zyJ@}zk}!dAGO=8ke7gGl__qyj@z?H+?c?w7JU1)Xs@N5Qm5*&6!@O5!waUb?ix6=` zH>a#{{ab=wB{kIhd++iXECT^=mXjis2aUD|v0}4>_yeP!rBR zc;Rm_rP82d-s2+;BweC*fp}E2^@_^j3~S1Eis1Wf$+jmWGo1*oX@zhx*YoIn)8%~S z3MF0MF`3~rNbiQ<`YlPKV(VcXPvb7y*pv#XS5;WC6!h(5(wU&S%`o5MHc5PIO=b~k z@)h^VD#}J9EYgK4*9nvhXTAf`7nzcg5(8&?-DOk;8OxcBik-j>@>d04)ZRdma$vSXF;o{|#X>RT>LT5O+; zDYPfJ*r6LWt(zxCBeBD{u9NFi#;X`8h$dg*pDhsA<|sI*kHzuLt^a>&!uw9S`&qLr zbJPLN6i59_qpWdek|8zjsVjR>aV5{)fB3S6sn(4h?3fH!@^?-+`Zr2 zd&I26|16hfn73P9S4CQt%u;OIlEStDsCgD+qh-XxenYMAw&u?**i}wc1;d!uETs4a v+@h1}|4vs5NcI)1;U?3Y&r5PY*dNmTLVa4{M>}?FXK(%jL6b=U02BZKT`v?% diff --git a/config/www/community/frigate-hass-card/engine-reolink-72a91bc6.js b/config/www/community/frigate-hass-card/engine-reolink-72a91bc6.js deleted file mode 100644 index fcd97707..00000000 --- a/config/www/community/frigate-hass-card/engine-reolink-72a91bc6.js +++ /dev/null @@ -1,8 +0,0 @@ -import{l as e,e4 as t,ec as a,e7 as s,eh as n,ed as i,dQ as r,d4 as o,e6 as c,e5 as l,ei as u,e9 as h,ea as d,ee as g,ej as m,dc as p,de as _}from"./card-c642ee74.js";import{B as y,a as f,i as C,g as w}from"./within-dates-cc65dfa5.js";import{C as M}from"./engine-86b0096c.js";import{p as D}from"./parse-a53fb39b.js";import{e as x}from"./endOfDay-97ae2cc7.js";import"./engine-generic-bb62ddef.js";import"./media-c9012082.js";class k extends t{}class b extends y{constructor(){super(...arguments),this._channel=null}async initialize(e){return await super.initialize(e),this._initializeChannel(),this}_initializeChannel(){const t=this._entity?.unique_id,a=t?String(t).match(/(.*)_(?\d+)/):null,s=a&&a.groups?.channel?Number(a.groups.channel):null;if(null===s)throw new k(e("error.camera_initialization_reolink"),this.getConfig());this._channel=s}getChannel(){return this._channel}getProxyConfig(){return{...super.getProxyConfig(),media:"auto"===this._config.proxy.media||this._config.proxy.media,ssl_verification:"auto"!==this._config.proxy.ssl_verification&&this._config.proxy.ssl_verification,ssl_ciphers:"auto"===this._config.proxy.ssl_ciphers?"intermediate":this._config.proxy.ssl_ciphers}}}class v{static isReolinkEventQueryResults(e){return e.engine===s.Reolink&&e.type===d.Event}}class E extends f{constructor(){super(...arguments),this._directoryCache=new a,this._fileCache=new a}getEngineType(){return s.Reolink}_reolinkFileMetadataGenerator(e,t,a){ -/* istanbul ignore next: This situation cannot happen as the directory would - be rejected by _reolinkDirectoryMetadataGenerator if there was no start date - -- @preserve */ -if(!a?._metadata?.startDate||t.media_class!==n)return null;const s=t.title.split(/ +/);if(2!==s.length)return null;const o=D(s[0],"HH:mm:ss",a._metadata.startDate);if(!i(o))return null;const c=s[1].match(/(?\d+):(?\d+):(?\d+)/),l=c?.groups?{hours:Number(c.groups.hours),minutes:Number(c.groups.minutes),seconds:Number(c.groups.seconds)}:null;return{cameraID:e,startDate:o,endDate:l?r(o,l):o}}_reolinkDirectoryMetadataGenerator(e,t){const a=D(t.title,"yyyy/M/d",new Date);return i(a)?{cameraID:e,startDate:o(a),endDate:x(a)}:null}async createCamera(e,t){const a=new b(t,this,{capabilities:new c({"favorite-events":!1,"favorite-recordings":!1,clips:!0,live:!0,menu:!0,recordings:!1,seek:!1,snapshots:!1,substream:!0,ptz:l(t)??void 0},{disable:t.capabilities?.disable,disableExcept:t.capabilities?.disable_except}),eventCallback:this._eventCallback});return await a.initialize({entityRegistryManager:this._entityRegistryManager,hass:e,stateWatcher:this._stateWatcher})}async _getMatchingDirectories(e,t,a,s){const n=t.getConfig(),i=t.getEntity(),r=i?.config_entry_id;return null!==t.getChannel()&&r?await this._browseMediaManager.walkBrowseMedias(e,[{targets:[`media-source://reolink/RES|${r}|${t.getChannel()}|`+("low"===n.reolink?.media_resolution?"sub":"main")],concurrency:1/0,metadataGenerator:(e,a)=>this._reolinkDirectoryMetadataGenerator(t.getID(),e),matcher:e=>e.can_expand&&C(e,a?.start,a?.end),sorter:e=>u(e)}],{...!1!==s?.useCache&&{cache:this._directoryCache}}):null}async getEvents(e,t,a,n){if(a.favorite||a.tags?.size||a.what?.size||a.where?.size||a.hasSnapshot)return null;const i=new Map,r=async r=>{const o={...a,cameraIDs:new Set([r])},c=n?.useCache??1?this._requestCache.get(o):null;if(c)return void i.set(o,c);const l=t.getCamera(r),h=l&&l instanceof b?await this._getMatchingDirectories(e,l,o,n):null,g=o.limit??M;let m=[];h?.length&&(m=await this._browseMediaManager.walkBrowseMedias(e,[{targets:h,concurrency:1,metadataGenerator:(e,t)=>this._reolinkFileMetadataGenerator(r,e,t),earlyExit:e=>e.length>=g,matcher:e=>!e.can_expand&&C(e,o.start,o.end),sorter:e=>u(e)}],{...!1!==n?.useCache&&{cache:this._fileCache}}));const _=p(m,(e=>e._metadata?.startDate),"desc").slice(0,g),y={type:d.Event,engine:s.Reolink,browseMedia:_};(n?.useCache??1)&&this._requestCache.set(o,{...y,cached:!0},y.expiry),i.set(o,y)};return await h(a.cameraIDs,(e=>r(e))),i}generateMediaFromEvents(e,t,a,s){return v.isReolinkEventQueryResults(s)?w(s.browseMedia):null}async getMediaMetadata(e,t,a,n){const i=new Map,o=n?.useCache??1?this._requestCache.get(a):null;if(o)return i.set(a,o),i;const c=new Set,l=async a=>{const s=t.getCamera(a);if(!(s&&s instanceof b))return;const i=await this._getMatchingDirectories(e,s,null,n);for(const e of i??[]) -/* istanbul ignore next: This situation cannot happen as the directory - will not match without metadata -- @preserve */ -e._metadata&&c.add(_(e._metadata?.startDate))};await h(a.cameraIDs,(e=>l(e)));const u={type:d.MediaMetadata,engine:s.Reolink,metadata:{...c.size&&{days:c}},expiry:r(new Date,{seconds:g}),cached:!1};return(n?.useCache??1)&&this._requestCache.set(a,{...u,cached:!0},u.expiry),i.set(a,u),i}getCameraMetadata(e,t){return{...super.getCameraMetadata(e,t),engineLogo:m}}getCameraEndpoints(e,t){const a=e.reolink?.url?{endpoint:e.reolink.url}:null;return{...super.getCameraEndpoints(e,t),...a&&{ui:a}}}}export{E as ReolinkCameraManagerEngine,v as ReolinkQueryResultsClassifier}; diff --git a/config/www/community/frigate-hass-card/engine-reolink-72a91bc6.js.gz b/config/www/community/frigate-hass-card/engine-reolink-72a91bc6.js.gz deleted file mode 100644 index d8c7ee4ab3628bc64c4d5ee261e0ab479efcacec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2115 zcmV-J2)y?niwFnMgLa%FF9X>MyRH!@*4F=AsjE^2cCtypbS<2Vxj zKEJ}au2S}l;s86tEM|?b7TDXZI__>~w(34`R92BYi3Z2^N;1J4{NJzjV#k3nL)9H0 z5RzK0?$+~kx8bX*6l#-uRC++*y&e?-rbkNPqaG!Jr5+0cnI1XGe$}HOnUOCEoam7e z_@Kv}0M}zp;8c%G0#uI~0np=uz!yEPNM`P-NM_cj?Oc>AKbkNqvN1b(e+=;Pee^~8 zXWW|kqZVt3(KaXMk_)oX!@4`W=4#1{aYhx$F=HnmvN`=Q)N!H3uRC!l7QBG*_b0Q% z!_yNs6s)x1WhYosAz@5Ed^ewccRCx&8QUMW3bTLCFKIJA{Yc@Mv5y1M?R^U69Nb~0#q#ukFF_Kp3xKS z2sl04wF|2;usiL(9c!JZ5_=Zy;i^fay5N7*Fy$GciAp~!!HY$p!e~VmTLzOLdK*rI z^ap41`G2x^;UtW;KMi44_Jlxwem zwRaal;DZpQh!|agpj!{9;$<-vQ0Bb2^PTGpP#0w}=Zhc=&vt_=Y;iNYBST@>E1&Dz}?9*D6KHBconcb+;l97>ke0*t#NSROX5p;9Tj7v`0!Cqxg zg-4@T2$?Gwua+R>S4|zrr9Lkd2xFoGKmNLO+d9 zI#+UlV~8y6^rJ^kel&teHI-h=B6GOYebqB+{%S^LT!0p8E+|_H>~Zj_7fhw21PNI(ZA_@LA4b?6rthf&Ezfmu4pl$1+XH=g^MfhXV#ZegOIHC|`QWheg39FNbn zLcDyf3q zw{~pJFv<>iP=ePa7_~4M_{2ug( z9Iy4bmD6Gp;LeN%t>m&)cCnserU1Iq@|F5C&asN6>3zvF@31ACj7vJpAy(1Q&NOoC z#En-E3@Y`K)D+Bii_y~VT+lq9QFiCD=FVE%2i{h3I;`LuTYW#l0&@tyFD>W-L_Dm_ zPxi3d->r~8@flEVw$_wYZ$Z+N9c)7Uqp6qSRj=LwUlr>zcMD^TqGO| zyV=!ti3S^mvjHb{^@@h|b~F;Hb=Vp=!wN4kjbcu5ohc)oy)v(LCQf~Xh#&ha z$_qcdCFm8ag@A%J@zF$M?Fq?ZG>nGHxpm~*oHSu zbfLAnl&k+h+F>fezS9cVST@^RqC1g;Bb`pMLzA|CjYdc@9OHc@uWiF2XZ0Hz!np@8 z!VRWW8g zq{}-tGkgXW+=$z-B`hhn9;WG0+C>|iQmM?U4l9;|zI|k!35MGo^DS-@7CLKkhe(^R zL`arNJ{n<>E_AtOP|m&C4n$vMN=`})ob7cNNg3sQ#Z{VKpXH#uRdRECwoF~M8;ych z^1tAIxr@jBXjD(pxW7daM2q4_pU9i52d*p#t)b`1Vu;Oy=in?IHp_28vv?7jeanTY z?4D(sRKbb_#*}@nM@ak(B=f^a=A1!rNERV!l8x>WW7i=P+eXHHuSN!8j;HNeunVTJ zYnylAWbvZiXo#^o!;;aGCc-Fi(O?pEB2C!t=I|vls0Xs~1uJnF;)!-)qi;?52|q=5 z=qLL&^FI1Y$1KBi9mr_l)KgMhK)L8`x&4%fUDbcOI<#MFO_Q{$; zdxFayx>4J@1#&c!JB;f(xjtpQih+_C@)hCP9C2-rf`|Hen%>-o|EDIr@07crHP3TT zA23Yu^uIL98fPx<&pPS>qDLbZ(JTw5!3!`)OuYoA+\d+)/):null,n=a&&a.groups?.channel?Number(a.groups.channel):null;if(null===n)throw new D(e("error.camera_initialization_reolink"),this.getConfig());this._channel=n}getChannel(){return this._channel}getProxyConfig(){return{...super.getProxyConfig(),media:"auto"===this._config.proxy.media||this._config.proxy.media,ssl_verification:"auto"!==this._config.proxy.ssl_verification&&this._config.proxy.ssl_verification,ssl_ciphers:"auto"===this._config.proxy.ssl_ciphers?"intermediate":this._config.proxy.ssl_ciphers}}}class x{static isReolinkEventQueryResults(e){return e.engine===n.Reolink&&e.type===d.Event}}class v extends y{constructor(){super(...arguments),this._cache=new a}getEngineType(){return n.Reolink}_reolinkFileMetadataGenerator(e,t,a){ -/* istanbul ignore next: This situation cannot happen as the directory would - be rejected by _reolinkDirectoryMetadataGenerator if there was no start date - -- @preserve */ -if(!a?._metadata?.startDate||t.media_class!==s)return null;const n=t.title.split(/ +/);if(2!==n.length)return null;const o=M(n[0],"HH:mm:ss",a._metadata.startDate);if(!i(o))return null;const c=n[1].match(/(?\d+):(?\d+):(?\d+)/),l=c?.groups?{hours:Number(c.groups.hours),minutes:Number(c.groups.minutes),seconds:Number(c.groups.seconds)}:null;return{cameraID:e,startDate:o,endDate:l?r(o,l):o}}_reolinkDirectoryMetadataGenerator(e,t){const a=M(t.title,"yyyy/M/d",new Date);return i(a)?{cameraID:e,startDate:o(a),endDate:k(a)}:null}_reolinkCameraMetadataGenerator(e){const t=e.media_content_id.match(/^media-source:\/\/reolink\/CAM\|(?.+)\|(?\d+)$/);return t?.groups?{configEntryID:t.groups.configEntryID,channel:Number(t.groups.channel)}:null}async createCamera(e,t){const a=new b(t,this,{capabilities:new c({"favorite-events":!1,"favorite-recordings":!1,clips:!0,live:!0,menu:!0,recordings:!1,seek:!1,snapshots:!1,substream:!0,ptz:l(t)??void 0},{disable:t.capabilities?.disable,disableExcept:t.capabilities?.disable_except}),eventCallback:this._eventCallback});return await a.initialize({entityRegistryManager:this._entityRegistryManager,hass:e,stateWatcher:this._stateWatcher})}async _getMatchingDirectories(e,t,a,n){const s=t.getConfig(),i=t.getEntity(),r=i?.config_entry_id;if(null===t.getChannel()||!r)return null;const o=await this._browseMediaManager.walkBrowseMedias(e,[{targets:["media-source://reolink"],metadataGenerator:(e,t)=>this._reolinkCameraMetadataGenerator(e),matcher:e=>e._metadata?.channel===t.getChannel()&&e._metadata?.configEntryID===r}],{...!1!==n?.useCache&&{cache:this._cache}});return o?.length?await this._browseMediaManager.walkBrowseMedias(e,[{targets:[`media-source://reolink/RES|${r}|${t.getChannel()}|`+("low"===s.reolink?.media_resolution?"sub":"main")],metadataGenerator:(e,a)=>this._reolinkDirectoryMetadataGenerator(t.getID(),e),matcher:e=>e.can_expand&&f(e,a?.start,a?.end),sorter:e=>u(e)}],{...!1!==n?.useCache&&{cache:this._cache}}):null}async getEvents(e,t,a,s){if(a.favorite||a.tags?.size||a.what?.size||a.where?.size||a.hasSnapshot)return null;const i=new Map,r=async r=>{const o={...a,cameraIDs:new Set([r])},c=s?.useCache??1?this._requestCache.get(o):null;if(c)return void i.set(o,c);const l=t.getCamera(r),h=l&&l instanceof b?await this._getMatchingDirectories(e,l,o,s):null,g=o.limit??C;let _=[];h?.length&&(_=await this._browseMediaManager.walkBrowseMedias(e,[{targets:h,concurrency:1,metadataGenerator:(e,t)=>this._reolinkFileMetadataGenerator(r,e,t),earlyExit:e=>e.length>=g,matcher:e=>!e.can_expand&&f(e,o.start,o.end),sorter:e=>u(e)}],{...!1!==s?.useCache&&{cache:this._cache}}));const p=m(_,(e=>e._metadata?.startDate),"desc").slice(0,g),y={type:d.Event,engine:n.Reolink,browseMedia:p};(s?.useCache??1)&&this._requestCache.set(o,{...y,cached:!0},y.expiry),i.set(o,y)};return await h(a.cameraIDs,(e=>r(e))),i}generateMediaFromEvents(e,t,a,n){return x.isReolinkEventQueryResults(n)?w(n.browseMedia):null}async getMediaMetadata(e,t,a,s){const i=new Map,o=s?.useCache??1?this._requestCache.get(a):null;if(o)return i.set(a,o),i;const c=new Set,l=async a=>{const n=t.getCamera(a);if(!(n&&n instanceof b))return;const i=await this._getMatchingDirectories(e,n,null,s);for(const e of i??[]) -/* istanbul ignore next: This situation cannot happen as the directory - will not match without metadata -- @preserve */ -e._metadata&&c.add(_(e._metadata?.startDate))};await h(a.cameraIDs,(e=>l(e)));const u={type:d.MediaMetadata,engine:n.Reolink,metadata:{...c.size&&{days:c}},expiry:r(new Date,{seconds:g}),cached:!1};return(s?.useCache??1)&&this._requestCache.set(a,{...u,cached:!0},u.expiry),i.set(a,u),i}getCameraMetadata(e,t){return{...super.getCameraMetadata(e,t),engineIcon:"reolink"}}getCameraEndpoints(e,t){const a=e.reolink?.url?{endpoint:e.reolink.url}:null;return{...super.getCameraEndpoints(e,t),...a&&{ui:a}}}}export{v as ReolinkCameraManagerEngine,x as ReolinkQueryResultsClassifier}; diff --git a/config/www/community/frigate-hass-card/engine-reolink-a43e6d37.js.gz b/config/www/community/frigate-hass-card/engine-reolink-a43e6d37.js.gz deleted file mode 100644 index 88f098062c317069041fcb98748520e24643ae2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2215 zcmV;Y2w3+YiwFo%^lE1U|7C7xX>MgLa%FF9X>MyRVKg&kHe@q5E^2cCtyo)k+cpw@ z&#$0)dUVJHqU>DUgf7i(ZFido?~K1eh5s0`JVYByeoTjKBvoE=bnsUy-c&p4M|&to&%gsLaOjE_?S5-p!)lm4Cvm zc|RGkl29{j2sgu=EX=TO_pZ5Kaxu=R1~q>B_Lv>NeRDX}an?$LSa1R3_s6rt!w<)7 zC{r4hm#tt)rGoM6qqo`j@9BIf2S)CuSD5{Meoi-IHfJB$`yG}2c?%FAIU9d?!?GE` z@vhJcGET?r!{O2E!}qV7HI`GQymJrkG@gLhvaRjZteYygtPo1eis?cI;Z{{8$RLU$ zDi_rXgjONJu&8LtmQ)DH6H(=PP1Qy)j|;9j&G{b?K)98lD=9p>rd)fCo@htF>FMXr ztj55u)Q_!L>pY#4Bf|4#)|o)Mbp^s|;+ECL-yE2`Ntm;}+wa2ljPIFnDm zWUsZL5!o`AJ?9zfuO zl!c5KU4f*%2UPPyOeGXK7dO6heF6Hc5Ocl=!ti7-sI^(_ymq17kuehgkj34m)#0SJ zcv&{u`vRnaMC{W_7e3nV)HSP7X(XdY;{N`r6{1u=y+zQ?Icr>U$_^e?wl6#yJwvED zg7I<*Qhn9bfn4fyp+Pn#YVhN)OV_nS{oPh+JQH!NKG~bOxJ5+$vjVyK1ggrl8sHcr zn|9{XBPTx^L8LdOnaiSPbF2Hd%c#xsGm5e$BnC;;T<%44+^?v?L>^mtc(Ec|I07&Y85Nx6WZI+o6#sc;6V{SqJ<^m z>gc*7p!A1jQAyP>PmEtHE-EZ5-M0eVmMO@}EN^{0kAZZ4##oI-*8DF|Wl#`g!J@9eeeDK?En`!Rs=E*3Z}4w& zImvv|&}I`$7eXG;Fnz)dTj!4GSCXUJKz=@BdXssSx-3gio+v0$_}^lw`(6-Jdo z{AKcG;&JJqIcazQ!-QVBNzF2n^WjIZon)aIX ze%*1t+B(Z5U<|CkyFoVboCUfe6oO$a>5L=zIU>X?v0&@Z>1`pohA|kvQht1JMEXg* z%R**YKJ5a_d8y)qLz44bFe4IHWyW64h$(=ZW)!qk%R<}9YKF82bY8FA>XB&;`hN*kKxSmo`O8zch0gv^HnZ6HC=Z zw0EeGwg!y>;r9EYF#*42!c&JGW0%|@hzI?M-P|?~_xA_#QHrw>u-4A7e^FRN5dY4# zXif8*pZaNIDm{TY$>uX~Ap@SpC`Pe5a%o;pkG}<=BHXan-y2nS6y7G|zsW|=ic$_AmE&Q7-)OiLlfCuz!W98#6wh zBfR$S02>2Lv66~xG@2W&t`3|3AQxkO!PkZruJ8i?w|EaZ&0xGCB$p5>+#;%J)H2ik zJ&iP7VCE~#SM#-AQa${_{-XcH|lmSTQba zNMmJ&<+LW72qVDd1`C7}*@X3OeOqGobRcegF%%o(j(TAuZ%z4G7OS1q6Ww#;F8a#T zNQCJ+5YfP?{e-q)a?$JadOrt?XJ!=bGpcAa%6d;pfo}D!w@p}Vqpc~lOK!1~YSgyy z0lrMdPPVljeMcA1%05Aw#8ctP95HRTf`|HenqFOp|EI@T_hM@Q);!NWv!Tfn&-`pv zRQToM{@`UbK=f$DBAR8vGfZYAxbKn8+x}vu^sj!Kdw9?<{bXW z%uge2UsU%xFGN-r+@)IIwnJa*E19R*j9Rg{TQKvxPql}Z>?$XwieYRk9@85C&{^|C pJBQ>I004QPS6=`C diff --git a/config/www/community/frigate-hass-card/engine-reolink-c0a1587c.js b/config/www/community/frigate-hass-card/engine-reolink-c0a1587c.js deleted file mode 100644 index 79333c81..00000000 --- a/config/www/community/frigate-hass-card/engine-reolink-c0a1587c.js +++ /dev/null @@ -1,8 +0,0 @@ -import{l as e,e4 as t,ec as a,e7 as n,eh as s,ed as i,dQ as r,d4 as o,e6 as c,e5 as l,ei as u,e9 as h,ea as d,ee as g,ej as m,dc as _,de as p}from"./card-09c4bade.js";import{B as y,a as f,i as w,g as C}from"./within-dates-cc9f8404.js";import{C as M}from"./engine-86b0096c.js";import{p as D}from"./parse-645a86cb.js";import{e as k}from"./endOfDay-8be4da1b.js";import"./engine-generic-458c9005.js";import"./media-c9012082.js";class b extends t{}class x extends y{constructor(){super(...arguments),this._channel=null}async initialize(e){return await super.initialize(e),this._initializeChannel(),this}_initializeChannel(){const t=this._entity?.unique_id,a=t?String(t).match(/(.*)_(?\d+)/):null,n=a&&a.groups?.channel?Number(a.groups.channel):null;if(null===n)throw new b(e("error.camera_initialization_reolink"),this.getConfig());this._channel=n}getChannel(){return this._channel}getProxyConfig(){return{...super.getProxyConfig(),media:"auto"===this._config.proxy.media||this._config.proxy.media,ssl_verification:"auto"!==this._config.proxy.ssl_verification&&this._config.proxy.ssl_verification,ssl_ciphers:"auto"===this._config.proxy.ssl_ciphers?"intermediate":this._config.proxy.ssl_ciphers}}}class v{static isReolinkEventQueryResults(e){return e.engine===n.Reolink&&e.type===d.Event}}class E extends f{constructor(){super(...arguments),this._cache=new a}getEngineType(){return n.Reolink}_reolinkFileMetadataGenerator(e,t,a){ -/* istanbul ignore next: This situation cannot happen as the directory would - be rejected by _reolinkDirectoryMetadataGenerator if there was no start date - -- @preserve */ -if(!a?._metadata?.startDate||t.media_class!==s)return null;const n=t.title.split(/ +/);if(2!==n.length)return null;const o=D(n[0],"HH:mm:ss",a._metadata.startDate);if(!i(o))return null;const c=n[1].match(/(?\d+):(?\d+):(?\d+)/),l=c?.groups?{hours:Number(c.groups.hours),minutes:Number(c.groups.minutes),seconds:Number(c.groups.seconds)}:null;return{cameraID:e,startDate:o,endDate:l?r(o,l):o}}_reolinkDirectoryMetadataGenerator(e,t){const a=D(t.title,"yyyy/M/d",new Date);return i(a)?{cameraID:e,startDate:o(a),endDate:k(a)}:null}_reolinkCameraMetadataGenerator(e){const t=e.media_content_id.match(/^media-source:\/\/reolink\/CAM\|(?.+)\|(?\d+)$/);return t?.groups?{configEntryID:t.groups.configEntryID,channel:Number(t.groups.channel)}:null}async createCamera(e,t){const a=new x(t,this,{capabilities:new c({"favorite-events":!1,"favorite-recordings":!1,clips:!0,live:!0,menu:!0,recordings:!1,seek:!1,snapshots:!1,substream:!0,ptz:l(t)??void 0},{disable:t.capabilities?.disable,disableExcept:t.capabilities?.disable_except}),eventCallback:this._eventCallback});return await a.initialize({entityRegistryManager:this._entityRegistryManager,hass:e,stateWatcher:this._stateWatcher})}async _getMatchingDirectories(e,t,a,n){const s=t.getConfig(),i=t.getEntity(),r=i?.config_entry_id;if(null===t.getChannel()||!r)return null;const o=await this._browseMediaManager.walkBrowseMedias(e,[{targets:["media-source://reolink"],metadataGenerator:(e,t)=>this._reolinkCameraMetadataGenerator(e),matcher:e=>e._metadata?.channel===t.getChannel()&&e._metadata?.configEntryID===r}],{...!1!==n?.useCache&&{cache:this._cache}});return o?.length?await this._browseMediaManager.walkBrowseMedias(e,[{targets:[`media-source://reolink/RES|${r}|${t.getChannel()}|`+("low"===s.reolink?.media_resolution?"sub":"main")],metadataGenerator:(e,a)=>this._reolinkDirectoryMetadataGenerator(t.getID(),e),matcher:e=>e.can_expand&&w(e,a?.start,a?.end),sorter:e=>u(e)}],{...!1!==n?.useCache&&{cache:this._cache}}):null}async getEvents(e,t,a,s){if(a.favorite||a.tags?.size||a.what?.size||a.where?.size||a.hasSnapshot)return null;const i=new Map,r=async r=>{const o={...a,cameraIDs:new Set([r])},c=s?.useCache??1?this._requestCache.get(o):null;if(c)return void i.set(o,c);const l=t.getCamera(r),h=l&&l instanceof x?await this._getMatchingDirectories(e,l,o,s):null,g=o.limit??M;let m=[];h?.length&&(m=await this._browseMediaManager.walkBrowseMedias(e,[{targets:h,concurrency:1,metadataGenerator:(e,t)=>this._reolinkFileMetadataGenerator(r,e,t),earlyExit:e=>e.length>=g,matcher:e=>!e.can_expand&&w(e,o.start,o.end),sorter:e=>u(e)}],{...!1!==s?.useCache&&{cache:this._cache}}));const p=_(m,(e=>e._metadata?.startDate),"desc").slice(0,g),y={type:d.Event,engine:n.Reolink,browseMedia:p};(s?.useCache??1)&&this._requestCache.set(o,{...y,cached:!0},y.expiry),i.set(o,y)};return await h(a.cameraIDs,(e=>r(e))),i}generateMediaFromEvents(e,t,a,n){return v.isReolinkEventQueryResults(n)?C(n.browseMedia):null}async getMediaMetadata(e,t,a,s){const i=new Map,o=s?.useCache??1?this._requestCache.get(a):null;if(o)return i.set(a,o),i;const c=new Set,l=async a=>{const n=t.getCamera(a);if(!(n&&n instanceof x))return;const i=await this._getMatchingDirectories(e,n,null,s);for(const e of i??[]) -/* istanbul ignore next: This situation cannot happen as the directory - will not match without metadata -- @preserve */ -e._metadata&&c.add(p(e._metadata?.startDate))};await h(a.cameraIDs,(e=>l(e)));const u={type:d.MediaMetadata,engine:n.Reolink,metadata:{...c.size&&{days:c}},expiry:r(new Date,{seconds:g}),cached:!1};return(s?.useCache??1)&&this._requestCache.set(a,{...u,cached:!0},u.expiry),i.set(a,u),i}getCameraMetadata(e,t){return{...super.getCameraMetadata(e,t),engineLogo:m}}getCameraEndpoints(e,t){const a=e.reolink?.url?{endpoint:e.reolink.url}:null;return{...super.getCameraEndpoints(e,t),...a&&{ui:a}}}}export{E as ReolinkCameraManagerEngine,v as ReolinkQueryResultsClassifier}; diff --git a/config/www/community/frigate-hass-card/engine-reolink-c0a1587c.js.gz b/config/www/community/frigate-hass-card/engine-reolink-c0a1587c.js.gz deleted file mode 100644 index ac49fbe061a781c741f558e2ba07ede3e74ff617..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2218 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 diff --git a/config/www/community/frigate-hass-card/engine-reolink-ec1b4246.js b/config/www/community/frigate-hass-card/engine-reolink-ec1b4246.js deleted file mode 100644 index b8f098fc..00000000 --- a/config/www/community/frigate-hass-card/engine-reolink-ec1b4246.js +++ /dev/null @@ -1,8 +0,0 @@ -import{l as e,e4 as t,ec as a,e7 as s,eh as n,ed as i,dQ as r,d4 as o,e6 as c,e5 as l,ei as u,e9 as h,ea as d,ee as g,ej as m,dc as p,de as _}from"./card-7cd05290.js";import{B as y,a as f,i as C,g as w}from"./within-dates-2bb98b10.js";import{C as M}from"./engine-86b0096c.js";import{p as D}from"./parse-feacefaa.js";import{e as x}from"./endOfDay-0c5086cb.js";import"./engine-generic-96b32038.js";import"./media-c9012082.js";class k extends t{}class b extends y{constructor(){super(...arguments),this._channel=null}async initialize(e){return await super.initialize(e),this._initializeChannel(),this}_initializeChannel(){const t=this._entity?.unique_id,a=t?String(t).match(/(.*)_(?\d+)/):null,s=a&&a.groups?.channel?Number(a.groups.channel):null;if(null===s)throw new k(e("error.camera_initialization_reolink"),this.getConfig());this._channel=s}getChannel(){return this._channel}getProxyConfig(){return{...super.getProxyConfig(),media:"auto"===this._config.proxy.media||this._config.proxy.media,ssl_verification:"auto"!==this._config.proxy.ssl_verification&&this._config.proxy.ssl_verification,ssl_ciphers:"auto"===this._config.proxy.ssl_ciphers?"intermediate":this._config.proxy.ssl_ciphers}}}class v{static isReolinkEventQueryResults(e){return e.engine===s.Reolink&&e.type===d.Event}}class E extends f{constructor(){super(...arguments),this._directoryCache=new a,this._fileCache=new a}getEngineType(){return s.Reolink}_reolinkFileMetadataGenerator(e,t,a){ -/* istanbul ignore next: This situation cannot happen as the directory would - be rejected by _reolinkDirectoryMetadataGenerator if there was no start date - -- @preserve */ -if(!a?._metadata?.startDate||t.media_class!==n)return null;const s=t.title.split(/ +/);if(2!==s.length)return null;const o=D(s[0],"HH:mm:ss",a._metadata.startDate);if(!i(o))return null;const c=s[1].match(/(?\d+):(?\d+):(?\d+)/),l=c?.groups?{hours:Number(c.groups.hours),minutes:Number(c.groups.minutes),seconds:Number(c.groups.seconds)}:null;return{cameraID:e,startDate:o,endDate:l?r(o,l):o}}_reolinkDirectoryMetadataGenerator(e,t){const a=D(t.title,"yyyy/M/d",new Date);return i(a)?{cameraID:e,startDate:o(a),endDate:x(a)}:null}async createCamera(e,t){const a=new b(t,this,{capabilities:new c({"favorite-events":!1,"favorite-recordings":!1,clips:!0,live:!0,menu:!0,recordings:!1,seek:!1,snapshots:!1,substream:!0,ptz:l(t)??void 0},{disable:t.capabilities?.disable,disableExcept:t.capabilities?.disable_except}),eventCallback:this._eventCallback});return await a.initialize({entityRegistryManager:this._entityRegistryManager,hass:e,stateWatcher:this._stateWatcher})}async _getMatchingDirectories(e,t,a,s){const n=t.getConfig(),i=t.getEntity(),r=i?.config_entry_id;return null!==t.getChannel()&&r?await this._browseMediaManager.walkBrowseMedias(e,[{targets:[`media-source://reolink/RES|${r}|${t.getChannel()}|`+("low"===n.reolink?.media_resolution?"sub":"main")],concurrency:1/0,metadataGenerator:(e,a)=>this._reolinkDirectoryMetadataGenerator(t.getID(),e),matcher:e=>e.can_expand&&C(e,a?.start,a?.end),sorter:e=>u(e)}],{...!1!==s?.useCache&&{cache:this._directoryCache}}):null}async getEvents(e,t,a,n){if(a.favorite||a.tags?.size||a.what?.size||a.where?.size||a.hasSnapshot)return null;const i=new Map,r=async r=>{const o={...a,cameraIDs:new Set([r])},c=n?.useCache??1?this._requestCache.get(o):null;if(c)return void i.set(o,c);const l=t.getCamera(r),h=l&&l instanceof b?await this._getMatchingDirectories(e,l,o,n):null,g=o.limit??M;let m=[];h?.length&&(m=await this._browseMediaManager.walkBrowseMedias(e,[{targets:h,concurrency:1,metadataGenerator:(e,t)=>this._reolinkFileMetadataGenerator(r,e,t),earlyExit:e=>e.length>=g,matcher:e=>!e.can_expand&&C(e,o.start,o.end),sorter:e=>u(e)}],{...!1!==n?.useCache&&{cache:this._fileCache}}));const _=p(m,(e=>e._metadata?.startDate),"desc").slice(0,g),y={type:d.Event,engine:s.Reolink,browseMedia:_};(n?.useCache??1)&&this._requestCache.set(o,{...y,cached:!0},y.expiry),i.set(o,y)};return await h(a.cameraIDs,(e=>r(e))),i}generateMediaFromEvents(e,t,a,s){return v.isReolinkEventQueryResults(s)?w(s.browseMedia):null}async getMediaMetadata(e,t,a,n){const i=new Map,o=n?.useCache??1?this._requestCache.get(a):null;if(o)return i.set(a,o),i;const c=new Set,l=async a=>{const s=t.getCamera(a);if(!(s&&s instanceof b))return;const i=await this._getMatchingDirectories(e,s,null,n);for(const e of i??[]) -/* istanbul ignore next: This situation cannot happen as the directory - will not match without metadata -- @preserve */ -e._metadata&&c.add(_(e._metadata?.startDate))};await h(a.cameraIDs,(e=>l(e)));const u={type:d.MediaMetadata,engine:s.Reolink,metadata:{...c.size&&{days:c}},expiry:r(new Date,{seconds:g}),cached:!1};return(n?.useCache??1)&&this._requestCache.set(a,{...u,cached:!0},u.expiry),i.set(a,u),i}getCameraMetadata(e,t){return{...super.getCameraMetadata(e,t),engineLogo:m}}getCameraEndpoints(e,t){const a=e.reolink?.url?{endpoint:e.reolink.url}:null;return{...super.getCameraEndpoints(e,t),...a&&{ui:a}}}}export{E as ReolinkCameraManagerEngine,v as ReolinkQueryResultsClassifier}; diff --git a/config/www/community/frigate-hass-card/engine-reolink-ec1b4246.js.gz b/config/www/community/frigate-hass-card/engine-reolink-ec1b4246.js.gz deleted file mode 100644 index 7300b731e0f7d0215f556417f48315320e7abd09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2115 zcmV-J2)y?niwFpA_*Q2E|7C7xX>MgLa%FF9X>MyRWn(d7G%_?cE^2cCtypby+qe<_ zo?k(8IvO&8DB0KeV)__%&i3_grfz%5&Gduo(Lvx!Ld>@Upk+{=e>j~_ zr)Q^ZC|GO3%TBPSLc(|fl)-}1p`5Y(VW%+r$KsN1##8ow`r(w#2co}+~`GW~F3_E=7(^zJ-(P5t zg9xH1qGH(;P%0S`jE#(DY(>iw@}z9?yrpteGLM&Bahmf#Ab@ZyKsBQD=$dln89mXS zfYY;EyRaGqyVD-pvDSGiv1id9t~P1Zl>9#p%y>pFg zdf0S2oYWQ{%SQXD05On=ecGtXN86n`vm4b~GBOg6k1y>IDf8Jqf^NZ?amgt=I;iZa z@M!c3A#(-e^$LXis;L9H)aRuFVN6uu$6uFjTZj7ltyFj?;#PjLFLQN|i2AhwvH1kD z$(0=77$QqM{pgXCAB`YVn_91BkvZJyzUmpZcr~LkE~Zj_7fhw21PNI(ZA|^LA4b?6rthv&Ezfmu4p-La*r>|N&o`+LB-y0 zc&jJ5YRsE>3=vl;Z$;}GN|W7J;PvKu>#E7KH=g^MgD2n%ZegOIZ@kWu%TD~6IUZkV zg?RZ|7l_J3lZ5hg_U)C9$KGFR0TRSLcyA|fkby@ujb?>YmPY2#C7wa}TC~p0Qy@0W z(8b4)*QOAes0fos4w0;Lu7Zj8ZW3x@pB(82&hfF;>cF`wxeVmZ^p^NP{~Q-ZETvEA z&W@cKM%fV$s_=jomdKmq+de;~Kdh=oNRyaioE5xmu=MnE33x1%E^(1OVQH7Kw&rB) z@)hgym03l`TSd>d-Firz=4S$KJ#1~lbE(CqwO=k{AibY4R_-!0f90tNDuPL}YTIu= zyGCJ`&?!dMy$A6(_%pelWIoYgx3P2~ybRN5^Ehi2hX~!-``!Sk7x1A5BTl??I2q z@kWn3IV~mu?#x)yTCOT(7n?a|3ZR9Suhk!Mj#Vs8?<<~p)0S*AF6lgnSVcoS)5xt8 zH(ot3sMSkSGcemNMoYVMLGyf0*`3RpduweUcw5Eku!3)G_5B1(%pv%`w4_TA@vt&K z*&{3DqkS|5|I*m+<%dgc=pJo`Y3^FDVbD4pp(i$d5!tR zW>?!KHrObf4>+l-S2V1*qmf9h!`8StR(OeN6myF6BwEw_?#JD-w&`YzSVT24zWLoY zUlK{kAf8Md7bc&sK0p3xD_Z=ue`EXj`@6u;tFM{VKhuWT1URkNn_S8ml!o{&GG->PCXoM8QF+NoC+BO_=R==SkoO|#x z++s?lQOCT;M;a-*MC}sssAuaHRl^z9l-(4;_t}x{Kt|>!5nR(6;bN~B$;WM%^R+9K zba}^ShR>ja8*v-9geB$9!!$ikyJ%xmDwSE)VZ~C=w~wqd!El>nzQt|ALT63x5NY$3 z2+1nRM9w_J$I z?pbC@9TX%mrW|TLLgHs2nIA?n=L~`=S%zejY;}(qyAF}qHZtyeH8KcuJZsN`eK3Vx z+q?%Six=(2h8U|eEEz4?L>L7wHkbsR$R=#}bNC7w)C1Z0f|WQ7@kG0{(YL1jgrA~& z^pky?c^`eHW0qmM4rDZN>M5x$pj`BJ+XodbJ62U4tE~5wROnXUayims`(#a_ zJ;CK3-KcHd0y!GVJ;rsNT%R&t#Xw06`O5Hofw;Cu!9#sKO>b_)|5Fp*cgo$*n&-Kv z4;ZF+`d=DVgEJTRXC3tb(W4QIXqE-D;02f?rd|S5ZouRs)b!Bbd-LZM=q`yhqM1qA zNXLwBWX#%@SWw3z=o&(@?Hbo5_Awm+jytHonnKi2s2NhIc|svd8p{m_k0EdmesdoX za}NKlT2^t tPU`S8#^gOm9Cg$^Bq|Nb?K*X@wu{*sYzv`7fT)Wpn@(001hn7i<6k diff --git a/config/www/community/frigate-hass-card/frigate-hass-card.js b/config/www/community/frigate-hass-card/frigate-hass-card.js deleted file mode 100644 index cde6c427..00000000 --- a/config/www/community/frigate-hass-card/frigate-hass-card.js +++ /dev/null @@ -1 +0,0 @@ -import"./card-d6b34c62.js"; diff --git a/config/www/community/frigate-hass-card/frigate-hass-card.js.gz b/config/www/community/frigate-hass-card/frigate-hass-card.js.gz deleted file mode 100644 index b3edaff252cf79f874a66bf740458210b79d43dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69 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 diff --git a/config/www/community/frigate-hass-card/gallery-149d4f41.js b/config/www/community/frigate-hass-card/gallery-149d4f41.js deleted file mode 100644 index 30549d97..00000000 --- a/config/www/community/frigate-hass-card/gallery-149d4f41.js +++ /dev/null @@ -1,184 +0,0 @@ -import{d3 as e,d4 as t,d5 as r,l as i,d6 as o,d7 as n,d8 as a,d9 as s,i as l,da as c,db as d,k as h,dc as g,dd as u,de as m,df as p,_ as f,n as v,cW as b,cR as y,dg as w,x as $,cV as x,r as k,a as _,t as C,e as T,b as E,dh as O,di as S,cI as M,dj as z,dk as L,cU as D,dl as A,c$ as F}from"./card-7cd05290.js";import{e as I}from"./endOfDay-0c5086cb.js";import{p as W}from"./parse-feacefaa.js";import{F as R}from"./date-picker-86e47001.js";function N(t){const r=e(t),i=r.getMonth();return r.setFullYear(r.getFullYear(),i+1,0),r.setHours(23,59,59,999),r}function H(){const e=new Date,t=e.getFullYear(),r=e.getMonth(),i=e.getDate(),o=new Date(0);return o.setFullYear(t,r,i-1),o.setHours(23,59,59,999),o}function V(){const e=new Date,t=e.getFullYear(),r=e.getMonth(),i=e.getDate(),o=new Date(0);return o.setFullYear(t,r,i-1),o.setHours(0,0,0,0),o}var j,B,q; -/** - * @license - * Copyright 2021 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -function P(e){return class extends e{createRenderRoot(){const e=this.constructor,{registry:t,elementDefinitions:i,shadowRootOptions:o}=e;i&&!t&&(e.registry=new CustomElementRegistry,Object.entries(i).forEach((([t,r])=>e.registry.define(t,r))));const n=this.renderOptions.creationScope=this.attachShadow({...o,customElements:e.registry});return r(n,this.constructor.elementStyles),n}}}!function(e){e.Favorite="favorite",e.NotFavorite="not-favorite"}(j||(j={})),function(e){e.Today="today",e.Yesterday="yesterday",e.PastWeek="past-week",e.PastMonth="past-month",e.Custom="custom"}(B||(B={})),function(e){e.Clips="clips",e.Snapshots="snapshots",e.Recordings="recordings"}(q||(q={}));class U{constructor(e){this._cameraOptions=[],this._whenOptions=[],this._metaDataWhenOptions=[],this._whatOptions=[],this._whereOptions=[],this._tagsOptions=[],this._defaults=null,this._viewManager=null,this._host=e,this._favoriteOptions=[{value:j.Favorite,label:i("media_filter.favorite")},{value:j.NotFavorite,label:i("media_filter.not_favorite")}],this._mediaTypeOptions=[{value:q.Clips,label:i("media_filter.media_types.clips")},{value:q.Snapshots,label:i("media_filter.media_types.snapshots")},{value:q.Recordings,label:i("media_filter.media_types.recordings")}],this._staticWhenOptions=[{value:B.Today,label:i("media_filter.whens.today")},{value:B.Yesterday,label:i("media_filter.whens.yesterday")},{value:B.PastWeek,label:i("media_filter.whens.past_week")},{value:B.PastMonth,label:i("media_filter.whens.past_month")},{value:B.Custom,label:i("media_filter.whens.custom")}],this._computeWhenOptions()}getMediaTypeOptions(){return this._mediaTypeOptions}getCameraOptions(){return this._cameraOptions}getWhenOptions(){return this._whenOptions}getWhatOptions(){return this._whatOptions}getWhereOptions(){return this._whereOptions}getTagsOptions(){return this._tagsOptions}getFavoriteOptions(){return this._favoriteOptions}getDefaults(){return this._defaults}setViewManager(e){this._viewManager=e}async valueChangeHandler(e,t,r,i){const s=e=>e&&Array.isArray(e)&&e.length&&!e.includes("")?new Set([...e]):null,l=s(r.camera)??this._getAllCameraIDs(e);if(!l.size||!r.mediaType)return;const c=this._getWhen(r.when),d=r.favorite?r.favorite===j.Favorite:null,h=t.performance?.features.media_chunk_size;if(r.mediaType===q.Clips||r.mediaType===q.Snapshots){const e=s(r.where),t=s(r.what),i=s(r.tags),a=new o([{type:n.Event,cameraIDs:l,...i&&{tags:i},...t&&{what:t},...e&&{where:e},...null!==d&&{favorite:d},...c&&{...c.start&&{start:c.start},...c.end&&{end:c.end}},...h&&{limit:h},...r.mediaType===q.Clips&&{hasClip:!0},...r.mediaType===q.Snapshots&&{hasSnapshot:!0}}]);this._viewManager?.setViewByParametersWithExistingQuery({params:{query:a,...1===l.size&&{camera:[...l][0]},view:r.mediaType===q.Clips?"clips":"snapshots"}})}else{const e=new a([{type:n.Recording,cameraIDs:l,...h&&{limit:h},...c&&{...c.start&&{start:c.start},...c.end&&{end:c.end}},...null!==d&&{favorite:d}}]);this._viewManager?.setViewByParametersWithExistingQuery({params:{query:e,...1===l.size&&{camera:[...l][0]},view:"recordings"}})}this._host.requestUpdate()}_getAllCameraIDs(e){return e.getStore().getCameraIDsWithCapability({anyCapabilities:["clips","snapshots","recordings"]})}computeInitialDefaultsFromView(e){const t=this._viewManager?.getView(),r=t?.query?.getQueries(),i=this._getAllCameraIDs(e);if(!t||!r||!i.size)return;let o,n,a,d,h,g;1!==s(r.map((e=>e.cameraIDs)),l).length||l(r[0].cameraIDs,i)||(n=[...r[0].cameraIDs]); -/* istanbul ignore else: the else path cannot be reached -- @preserve */ -if(1===s(r.map((e=>e.favorite)),l).length&&void 0!==r[0].favorite&&(h=r[0].favorite?j.Favorite:j.NotFavorite),c.areEventQueries(t.query)){const e=t.query.getQueries(); -/* istanbul ignore if: the if path cannot be reached -- @preserve */if(!e)return;const r=s(e.map((e=>e.hasClip)),l),i=s(e.map((e=>e.hasSnapshot)),l);1===r.length&&1===i.length&&(o=r[0]?q.Clips:i[0]?q.Snapshots:void 0);1===s(e.map((e=>e.what)),l).length&&e[0].what?.size&&(a=[...e[0].what]);1===s(e.map((e=>e.where)),l).length&&e[0].where?.size&&(d=[...e[0].where]);1===s(e.map((e=>e.tags)),l).length&&e[0].tags?.size&&(g=[...e[0].tags])}else c.areRecordingQueries(t.query)&&(o=q.Recordings);this._defaults={...o&&{mediaType:o},...n&&{cameraIDs:n},...a&&{what:a},...d&&{where:d},...void 0!==h&&{favorite:h},...g&&{tags:g}}}computeCameraOptions(e){this._cameraOptions=[...this._getAllCameraIDs(e)].map((t=>({value:t,label:e.getCameraMetadata(t)?.title??t})))}async computeMetadataOptions(e){let t=null;try{t=await e.getMediaMetadata()}catch(e){d(e)}if(t){if(t.what&&(this._whatOptions=[...t.what].sort().map((e=>({value:e,label:h(e)})))),t.where&&(this._whereOptions=[...t.where].sort().map((e=>({value:e,label:h(e)})))),t.tags&&(this._tagsOptions=[...t.tags].sort().map((e=>({value:e,label:h(e)})))),t.days){const e=new Set;[...t.days].forEach((t=>{e.add(t.substring(0,7))}));const r=[];e.forEach((e=>{r.push(W(e,"yyyy-MM",new Date))})),this._metaDataWhenOptions=g(r,(e=>e.getTime()),"desc").map((e=>({label:u(e,"MMMM yyyy"),value:this._dateRangeToString({start:e,end:N(e)})}))),this._computeWhenOptions()}this._host.requestUpdate()}}getControlsToShow(e){const t=this._viewManager?.getView(),r=c.areEventQueries(t?.query),i=c.areRecordingQueries(t?.query),o=e.getAggregateCameraCapabilities();return{events:r,recordings:i,favorites:r?o?.has("favorite-events"):!!i&&o?.has("favorite-recordings")}}_computeWhenOptions(){this._whenOptions=[...this._staticWhenOptions,...this._metaDataWhenOptions]}_dateRangeToString(e){return`${m(e.start)},${m(e.end)}`}_stringToDateRange(e){const t=e.split(",");return{start:W(t[0],"yyyy-MM-dd",new Date),end:I(W(t[1],"yyyy-MM-dd",new Date))}}_getWhen(e){if(e.from||e.to)return{...e.from&&{start:e.from},...e.to&&{end:e.to}};if(!e.selected||Array.isArray(e.selected))return null;const r=new Date;switch(e.selected){case B.Custom:return null;case B.Today:return{start:t(Date.now()),end:I(Date.now())};case B.Yesterday:return{start:V(),end:H()};case B.PastWeek:return{start:t(p(r,{days:7})),end:I(r)};case B.PastMonth:return{start:t(p(r,{months:1})),end:I(r)};default:return this._stringToDateRange(e.selected)}}}const K=!0,Y=!0,Q=!0,G=!1,X=!1;let Z,J,ee,te=!1,re=!1,ie=!1,oe=!1,ne=null,ae=!1;const se="http://www.w3.org/1999/xlink",le={},ce=e=>"object"===(e=typeof e)||"function"===e;const de=(e,t,...r)=>{let i=null,o=null,n=null,a=!1,s=!1;const l=[],c=t=>{for(let r=0;re[t])).join(" "))}}if("function"==typeof e)return e(null===t?{}:t,l,ue);const d=he(e,null);return d.$attrs$=t,l.length>0&&(d.$children$=l),d.$key$=o,d.$name$=n,d},he=(e,t)=>{const r={$flags$:0,$tag$:e,$text$:t,$elm$:null,$children$:null,$attrs$:null,$key$:null,$name$:null};return r},ge={},ue={forEach:(e,t)=>e.map(me).forEach(t),map:(e,t)=>e.map(me).map(t).map(pe)},me=e=>({vattrs:e.$attrs$,vchildren:e.$children$,vkey:e.$key$,vname:e.$name$,vtag:e.$tag$,vtext:e.$text$}),pe=e=>{if("function"==typeof e.vtag){const t=Object.assign({},e.vattrs);return e.vkey&&(t.key=e.vkey),e.vname&&(t.name=e.vname),de(e.vtag,t,...e.vchildren||[])}const t=he(e.vtag,e.vtext);return t.$attrs$=e.vattrs,t.$children$=e.vchildren,t.$key$=e.vkey,t.$name$=e.vname,t},fe=(e,t,r)=>{const i=e;return{emit:e=>ve(i,t,{bubbles:!!(4&r),composed:!!(2&r),cancelable:!!(1&r),detail:e})}},ve=(e,t,r)=>{const i=ht.ce(t,r);return e.dispatchEvent(i),i},be=new WeakMap,ye=e=>{const t=e.$cmpMeta$,r=e.$hostElement$,i=t.$flags$,o=(t.$tagName$,()=>{}),n=((e,t,r,i)=>{var o;let n=we(t,r);const a=at.get(n);if(e=11===e.nodeType?e:ct,a)if("string"==typeof a){e=e.head||e;let t,r=be.get(e);if(r||be.set(e,r=new Set),!r.has(n)){{t=ct.createElement("style"),t.innerHTML=a;const r=null!==(o=ht.$nonce$)&&void 0!==o?o:function(e){var t,r,i;return null!==(i=null===(r=null===(t=e.head)||void 0===t?void 0:t.querySelector('meta[name="csp-nonce"]'))||void 0===r?void 0:r.getAttribute("content"))&&void 0!==i?i:void 0}(ct);null!=r&&t.setAttribute("nonce",r),e.insertBefore(t,e.querySelector("link"))}r&&r.add(n)}}else e.adoptedStyleSheets.includes(a)||(e.adoptedStyleSheets=[...e.adoptedStyleSheets,a]);return n})(r.shadowRoot?r.shadowRoot:r.getRootNode(),t,e.$modeName$);10&i&&(r["s-sc"]=n,r.classList.add(n+"-h"),2&i&&r.classList.add(n+"-s")),o()},we=(e,t)=>"sc-"+(t&&32&e.$flags$?e.$tagName$+"-"+t:e.$tagName$),$e=(e,t,r,i,o,n)=>{if(r!==i){let a=ot(e,t),s=t.toLowerCase();if("class"===t){const t=e.classList,o=ke(r),n=ke(i);t.remove(...o.filter((e=>e&&!n.includes(e)))),t.add(...n.filter((e=>e&&!o.includes(e))))}else if("style"===t){for(const t in r)i&&null!=i[t]||(t.includes("-")?e.style.removeProperty(t):e.style[t]="");for(const t in i)r&&i[t]===r[t]||(t.includes("-")?e.style.setProperty(t,i[t]):e.style[t]=i[t])}else if("key"===t);else if("ref"===t)i&&i(e);else if(e.__lookupSetter__(t)||"o"!==t[0]||"n"!==t[1]){const l=ce(i);if((a||l&&null!==i)&&!o)try{if(e.tagName.includes("-"))e[t]=i;else{const o=null==i?"":i;"list"===t?a=!1:null!=r&&e[t]==o||(e[t]=o)}}catch(e){}let c=!1;s!==(s=s.replace(/^xlink\:?/,""))&&(t=s,c=!0),null==i||!1===i?!1===i&&""!==e.getAttribute(t)||(c?e.removeAttributeNS(se,t):e.removeAttribute(t)):(!a||4&n||o)&&!l&&(i=!0===i?"":i,c?e.setAttributeNS(se,t,i):e.setAttribute(t,i))}else t="-"===t[2]?t.slice(3):ot(lt,s)?s.slice(2):s[2]+t.slice(3),r&&ht.rel(e,t,r,!1),i&&ht.ael(e,t,i,!1)}},xe=/\s/,ke=e=>e?e.split(xe):[],_e=(e,t,r,i)=>{const o=11===t.$elm$.nodeType&&t.$elm$.host?t.$elm$.host:t.$elm$,n=e&&e.$attrs$||le,a=t.$attrs$||le;for(i in n)i in a||$e(o,i,n[i],void 0,r,t.$flags$);for(i in a)$e(o,i,n[i],a[i],r,t.$flags$)},Ce=(e,t,r,i)=>{const o=t.$children$[r];let n,a,s,l=0;if(te||(ie=!0,"slot"===o.$tag$&&(Z&&i.classList.add(Z+"-s"),o.$flags$|=o.$children$?2:1)),null!==o.$text$)n=o.$elm$=ct.createTextNode(o.$text$);else if(1&o.$flags$)n=o.$elm$=ct.createTextNode("");else{if(oe||(oe="svg"===o.$tag$),n=o.$elm$=ct.createElementNS(oe?"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",2&o.$flags$?"slot-fb":o.$tag$),oe&&"foreignObject"===o.$tag$&&(oe=!1),_e(null,o,oe),null!=Z&&n["s-si"]!==Z&&n.classList.add(n["s-si"]=Z),o.$children$)for(l=0;l{ht.$flags$|=1;const r=e.childNodes;for(let e=r.length-1;e>=0;e--){const i=r[e];i["s-hn"]!==ee&&i["s-ol"]&&(ze(i).insertBefore(i,Me(i)),i["s-ol"].remove(),i["s-ol"]=void 0,ie=!0),t&&Te(i,t)}ht.$flags$&=-2},Ee=(e,t,r,i,o,n)=>{let a,s=e["s-cr"]&&e["s-cr"].parentNode||e;for(s.shadowRoot&&s.tagName===ee&&(s=s.shadowRoot);o<=n;++o)i[o]&&(a=Ce(null,r,o,e),a&&(i[o].$elm$=a,s.insertBefore(a,Me(t))))},Oe=(e,t,r,i,o)=>{for(;t<=r;++t)(i=e[t])&&(o=i.$elm$,We(i),re=!0,o["s-ol"]?o["s-ol"].remove():Te(o,!0),o.remove())},Se=(e,t)=>e.$tag$===t.$tag$&&("slot"===e.$tag$?e.$name$===t.$name$:e.$key$===t.$key$),Me=e=>e&&e["s-ol"]||e,ze=e=>(e["s-ol"]?e["s-ol"]:e).parentNode,Le=(e,t)=>{const r=t.$elm$=e.$elm$,i=e.$children$,o=t.$children$,n=t.$tag$,a=t.$text$;let s;null===a?(oe="svg"===n||"foreignObject"!==n&&oe,"slot"===n||_e(e,t,oe),null!==i&&null!==o?((e,t,r,i)=>{let o,n,a=0,s=0,l=0,c=0,d=t.length-1,h=t[0],g=t[d],u=i.length-1,m=i[0],p=i[u];for(;a<=d&&s<=u;)if(null==h)h=t[++a];else if(null==g)g=t[--d];else if(null==m)m=i[++s];else if(null==p)p=i[--u];else if(Se(h,m))Le(h,m),h=t[++a],m=i[++s];else if(Se(g,p))Le(g,p),g=t[--d],p=i[--u];else if(Se(h,p))"slot"!==h.$tag$&&"slot"!==p.$tag$||Te(h.$elm$.parentNode,!1),Le(h,p),e.insertBefore(h.$elm$,g.$elm$.nextSibling),h=t[++a],p=i[--u];else if(Se(g,m))"slot"!==h.$tag$&&"slot"!==p.$tag$||Te(g.$elm$.parentNode,!1),Le(g,m),e.insertBefore(g.$elm$,h.$elm$),g=t[--d],m=i[++s];else{for(l=-1,c=a;c<=d;++c)if(t[c]&&null!==t[c].$key$&&t[c].$key$===m.$key$){l=c;break}l>=0?(n=t[l],n.$tag$!==m.$tag$?o=Ce(t&&t[s],r,l,e):(Le(n,m),t[l]=void 0,o=n.$elm$),m=i[++s]):(o=Ce(t&&t[s],r,s,e),m=i[++s]),o&&ze(h.$elm$).insertBefore(o,Me(h.$elm$))}a>d?Ee(e,null==i[u+1]?null:i[u+1].$elm$,r,i,s,u):s>u&&Oe(t,a,d)})(r,i,t,o):null!==o?(null!==e.$text$&&(r.textContent=""),Ee(r,null,t,o,0,o.length-1)):null!==i&&Oe(i,0,i.length-1),oe&&"svg"===n&&(oe=!1)):(s=r["s-cr"])?s.parentNode.textContent=a:e.$text$!==a&&(r.data=a)},De=e=>{const t=e.childNodes;let r,i,o,n,a,s;for(i=0,o=t.length;i{let t,r,i,o,n,a,s=0;const l=e.childNodes,c=l.length;for(;s=0;a--)r=i[a],r["s-cn"]||r["s-nr"]||r["s-hn"]===t["s-hn"]||(Ie(r,o)?(n=Ae.find((e=>e.$nodeToRelocate$===r)),re=!0,r["s-sn"]=r["s-sn"]||o,n?n.$slotRefNode$=t:Ae.push({$slotRefNode$:t,$nodeToRelocate$:r}),r["s-sr"]&&Ae.map((e=>{Ie(e.$nodeToRelocate$,r["s-sn"])&&(n=Ae.find((e=>e.$nodeToRelocate$===r)),n&&!e.$slotRefNode$&&(e.$slotRefNode$=n.$slotRefNode$))}))):Ae.some((e=>e.$nodeToRelocate$===r))||Ae.push({$nodeToRelocate$:r}));1===t.nodeType&&Fe(t)}},Ie=(e,t)=>1===e.nodeType?null===e.getAttribute("slot")&&""===t||e.getAttribute("slot")===t:e["s-sn"]===t||""===t,We=e=>{e.$attrs$&&e.$attrs$.ref&&e.$attrs$.ref(null),e.$children$&&e.$children$.map(We)},Re=(e,t)=>{const r=e.$hostElement$,i=e.$cmpMeta$,o=e.$vnode$||he(null,null),n=(a=t)&&a.$tag$===ge?t:de(null,null,t);var a;if(ee=r.tagName,i.$attrsToReflect$&&(n.$attrs$=n.$attrs$||{},i.$attrsToReflect$.map((([e,t])=>n.$attrs$[t]=r[e]))),n.$tag$=null,n.$flags$|=4,e.$vnode$=n,n.$elm$=o.$elm$=r.shadowRoot||r,Z=r["s-sc"],J=r["s-cr"],te=!!(1&i.$flags$),re=!1,Le(o,n),ht.$flags$|=1,ie){let e,t,r,i,o,a;Fe(n.$elm$);let s=0;for(;s{e.$flags$|=16,e.$ancestorComponent$;return $t((()=>He(e,t)))},He=(e,t)=>{const r=e.$hostElement$,i=(e.$cmpMeta$.$tagName$,()=>{}),o=r;let n;return n=qe(o,t?"componentWillLoad":"componentWillUpdate"),n=Pe(n,(()=>qe(o,"componentWillRender"))),i(),Pe(n,(()=>Ve(e,o,t)))},Ve=async(e,t,r)=>{const i=e.$hostElement$,o=(e.$cmpMeta$.$tagName$,()=>{});i["s-rc"],r&&ye(e);const n=(e.$cmpMeta$.$tagName$,()=>{});je(e,t,i),n(),o(),Be(e)},je=(e,t,r)=>{try{ne=t,t=t.render&&t.render(),e.$flags$&=-17,e.$flags$|=2,(K||Y)&&(Q||Y)&&(G||Re(e,t))}catch(t){nt(t,e.$hostElement$)}return ne=null,null},Be=e=>{e.$cmpMeta$.$tagName$;const t=()=>{},r=e.$hostElement$;e.$ancestorComponent$,qe(r,"componentDidRender"),64&e.$flags$?(qe(r,"componentDidUpdate"),t()):(e.$flags$|=64,qe(r,"componentDidLoad"),t())},qe=(e,t,r)=>{if(e&&e[t])try{return e[t](r)}catch(e){nt(e)}},Pe=(e,t)=>e&&e.then?e.then(t):t(),Ue=(e,t,r,i)=>{const o=rt(e),n=e,a=o.$instanceValues$.get(t),s=o.$flags$,l=n;var c,d;c=r,d=i.$members$[t][0],r=null==c||ce(c)?c:4&d?"false"!==c&&(""===c||!!c):2&d?parseFloat(c):1&d?String(c):c;const h=Number.isNaN(a)&&Number.isNaN(r);if(r!==a&&!h){if(o.$instanceValues$.set(t,r),i.$watchers$&&128&s){const e=i.$watchers$[t];e&&e.map((e=>{try{l[e](r,a,t)}catch(e){nt(e,n)}}))}if(2==(18&s)){if(l.componentShouldUpdate&&!1===l.componentShouldUpdate(r,a,t))return;Ne(o,!1)}}},Ke=(e,t,r)=>{if(t.$members$){e.watchers&&(t.$watchers$=e.watchers);const r=Object.entries(t.$members$),i=e.prototype;r.map((([e,[r]])=>{(31&r||32&r)&&Object.defineProperty(i,e,{get(){return t=e,rt(this).$instanceValues$.get(t);var t},set(r){Ue(this,e,r,t)},configurable:!0,enumerable:!0})}));{const o=new Map;i.attributeChangedCallback=function(e,t,r){ht.jmp((()=>{const t=o.get(e);if(this.hasOwnProperty(t))r=this[t],delete this[t];else if(i.hasOwnProperty(t)&&"number"==typeof this[t]&&this[t]==r)return;this[t]=(null!==r||"boolean"!=typeof this[t])&&r}))},e.observedAttributes=r.filter((([e,t])=>15&t[0])).map((([e,r])=>{const i=r[1]||e;return o.set(i,e),512&r[0]&&t.$attrsToReflect$.push([e,i]),i}))}}return e},Ye=async(e,t,r,i,o)=>{if(!(32&t.$flags$)&&(o=e.constructor,t.$flags$|=32,customElements.whenDefined(r.$tagName$).then((()=>t.$flags$|=128)),o.style)){let i=o.style;"string"!=typeof i&&(i=i[t.$modeName$=(e=>st.map((t=>t(e))).find((e=>!!e)))(e)]);const n=we(r,t.$modeName$);if(!at.has(n)){const e=(r.$tagName$,()=>{});((e,t,r)=>{let i=at.get(e);mt&&r?(i=i||new CSSStyleSheet,"string"==typeof i?i=t:i.replaceSync(t)):i=t,at.set(e,i)})(n,i,!!(1&r.$flags$)),e()}}t.$ancestorComponent$;Ne(t,!0)},Qe=e=>{const t=e["s-cr"]=ct.createComment("");t["s-cn"]=!0,e.insertBefore(t,e.firstChild)},Ge=(e,t)=>{const r={$flags$:t[0],$tagName$:t[1]};r.$members$=t[2],r.$listeners$=t[3],r.$watchers$=e.$watchers$,r.$attrsToReflect$=[],!gt&&1&r.$flags$&&(r.$flags$|=8);const i=e.prototype.connectedCallback,o=e.prototype.disconnectedCallback;return Object.assign(e.prototype,{__registerHost(){it(this,r)},connectedCallback(){(e=>{if(!(1&ht.$flags$)){const t=rt(e),r=t.$cmpMeta$,i=(r.$tagName$,()=>{});1&t.$flags$?(Xe(e,t,r.$listeners$),t.$lazyInstance$):(t.$flags$|=1,12&r.$flags$&&Qe(e),r.$members$&&Object.entries(r.$members$).map((([t,[r]])=>{if(31&r&&e.hasOwnProperty(t)){const r=e[t];delete e[t],e[t]=r}})),Ye(e,t,r)),i()}})(this),i&&i.call(this)},disconnectedCallback(){(e=>{if(!(1&ht.$flags$)){const t=rt(e);t.$rmListeners$&&(t.$rmListeners$.map((e=>e())),t.$rmListeners$=void 0)}})(this),o&&o.call(this)},__attachShadow(){gt?this.attachShadow({mode:"open",delegatesFocus:!!(16&r.$flags$)}):this.shadowRoot=this}}),e.is=r.$tagName$,Ke(e,r)},Xe=(e,t,r,i)=>{r&&r.map((([r,i,o])=>{const n=Je(e,r),a=Ze(t,o),s=et(r);ht.ael(n,i,a,s),(t.$rmListeners$=t.$rmListeners$||[]).push((()=>ht.rel(n,i,a,s)))}))},Ze=(e,t)=>r=>{try{X||e.$hostElement$[t](r)}catch(e){nt(e)}},Je=(e,t)=>4&t?ct:8&t?lt:16&t?ct.body:e,et=e=>ut?{passive:!!(1&e),capture:!!(2&e)}:!!(2&e),tt=new WeakMap,rt=e=>tt.get(e),it=(e,t)=>{const r={$flags$:0,$hostElement$:e,$cmpMeta$:t,$instanceValues$:new Map};return Xe(e,r,t.$listeners$),tt.set(e,r)},ot=(e,t)=>t in e,nt=(e,t)=>(0,console.error)(e,t),at=new Map,st=[],lt="undefined"!=typeof window?window:{},ct=lt.document||{head:{}},dt=lt.HTMLElement||class{},ht={$flags$:0,$resourcesUrl$:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,r,i)=>e.addEventListener(t,r,i),rel:(e,t,r,i)=>e.removeEventListener(t,r,i),ce:(e,t)=>new CustomEvent(e,t)},gt=!0,ut=(()=>{let e=!1;try{ct.addEventListener("e",null,Object.defineProperty({},"passive",{get(){e=!0}}))}catch(e){}return e})(),mt=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(e){}return!1})(),pt=[],ft=[],vt=(e,t)=>r=>{e.push(r),ae||(ae=!0,t&&4&ht.$flags$?wt(yt):ht.raf(yt))},bt=e=>{for(let t=0;t{bt(pt),bt(ft),(ae=pt.length>0)&&ht.raf(yt)},wt=e=>{return Promise.resolve(t).then(e);var t},$t=vt(ft,!0),xt=(e,t)=>{const r=!!e.label||e.hasLabelSlot,i=!!e.helpText||e.hasHelpTextSlot,o=!!e.invalidText||e.hasInvalidTextSlot,n=!e.invalid,a=!!e.invalid;return de("div",{class:{"form-control":!0,[`form-control-${e.size}`]:!0,"form-control-has-label":r,"form-control-has-help-text":i,"form-control-has-invalid-text":o}},de("label",{id:e.labelId,class:"form-control-label",htmlFor:e.inputId,"aria-hidden":r?"false":"true",onClick:e.onLabelClick},de("slot",{name:"label"},e.label),e.requiredIndicator&&de("div",{class:"asterisk"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 1200 1200"},de("path",{fill:"currentColor",d:"M489.838 29.354v443.603L68.032 335.894 0 545.285l421.829 137.086-260.743 358.876 178.219 129.398L600.048 811.84l260.673 358.806 178.146-129.398-260.766-358.783L1200 545.379l-68.032-209.403-421.899 137.07V29.443H489.84l-.002-.089z"})))),de("div",{class:"form-control-input"},t),n&&de("div",{id:e.helpTextId,class:"form-control-help-text","aria-hidden":i?"false":"true"},de("slot",{name:"help-text"},e.helpText)),a&&de("div",{id:e.invalidTextId,class:"form-control-invalid-text","aria-hidden":o?"false":"true"},de("div",{class:"icon"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Alert Circle"),de("path",{d:"M256,48C141.31,48,48,141.31,48,256s93.31,208,208,208,208-93.31,208-208S370.69,48,256,48Zm0,319.91a20,20,0,1,1,20-20A20,20,0,0,1,256,367.91Zm21.72-201.15-5.74,122a16,16,0,0,1-32,0l-5.74-121.94v-.05a21.74,21.74,0,1,1,43.44,0Z",fill:"currentColor"}))),de("div",{class:"text"},de("slot",{name:"invalid-text"},e.invalidText))))}; -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -function kt(e){const t=e?e.assignedNodes({flatten:!0}):[];let r="";return[...t].map((e=>{e.nodeType===Node.TEXT_NODE&&(r+=e.textContent)})),r}function _t(e,t){return t?null!==e.querySelector(`[slot="${t}"]`):[...e.childNodes].some((e=>{if(e.nodeType===e.TEXT_NODE&&""!==e.textContent.trim())return!0;if(e.nodeType===e.ELEMENT_NODE){if(!e.hasAttribute("slot"))return!0}return!1}))} -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */const Ct=(e,t=[])=>{const r={};return t.forEach((t=>{if(e.hasAttribute(t)){null!==e.getAttribute(t)&&(r[t]=e.getAttribute(t)),e.removeAttribute(t)}})),r},Tt=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow()}render(){return de("span",{class:"spinner","aria-busy":"true","aria-live":"polite"})}static get style(){return":host{--track-color:var(--gr-color-light-shade);--indicator-color:var(--gr-color-primary);--stroke-width:2px;display:inline-flex;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}.spinner{display:inline-block;width:1em;height:1em;border-radius:50%;border:solid var(--stroke-width) var(--track-color);border-top-color:var(--indicator-color);border-right-color:var(--indicator-color);animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}"}},[1,"gr-spinner"]);function Et(){if("undefined"==typeof customElements)return;["gr-spinner"].forEach((e=>{if("gr-spinner"===e)customElements.get(e)||customElements.define(e,Tt)}))}Et(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const Ot=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grFocus=fe(this,"gr-focus",7),this.grBlur=fe(this,"gr-blur",7),this.inheritedAttributes={},this.handleClick=e=>{if("button"!==this.type){const t=this.el.closest("form");if(t){e.preventDefault();const r=document.createElement("button");r.type=this.type,r.style.display="none",t.appendChild(r),r.click(),r.remove()}}},this.onFocus=()=>{this.grFocus.emit()},this.onBlur=()=>{this.grBlur.emit()},this.variant="default",this.disabled=!1,this.loading=!1,this.size="medium",this.caret=!1,this.pill=!1,this.expand=void 0,this.circle=!1,this.href=void 0,this.target=void 0,this.rel=void 0,this.type="button"}componentWillLoad(){this.inheritedAttributes=Ct(this.el,["aria-label","tabindex","title"])}async setFocus(e){this.button.focus(e)}async removeFocus(){this.button.blur()}render(){const{rel:e,target:t,href:r,variant:i,size:o,expand:n,type:a,inheritedAttributes:s,disabled:l}=this,c=void 0===r?"button":"a",d="button"===c?{type:a}:{href:r,rel:e,target:t};return de(ge,{onClick:this.handleClick,"aria-disabled":l?"true":null,class:{[`button-${i}`]:!0,[`button-${o}`]:!0,[`button-${n}`]:void 0!==n,"button-caret":this.caret,"button-circle":this.circle,"button-pill":this.pill,"button-disabled":l,"button-loading":this.loading}},de(c,Object.assign({ref:e=>this.button=e},d,{class:"button-native",disabled:l,onFocus:this.onFocus,onBlur:this.onBlur},s),de("span",{class:"button-inner"},de("slot",{name:"icon-only"}),de("slot",{name:"start"}),de("slot",null),de("slot",{name:"end"}),this.caret&&de("span",{class:"caret"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Chevron Down"),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"48",d:"M112 184l144 144 144-144"})))),this.loading&&de("gr-spinner",null)))}get el(){return this}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{display:inline-block;width:auto;font-family:var(--gr-font-family);font-weight:var(--gr-font-weight-medium);font-size:var(--gr-form-element-font-size-medium);font-kerning:none;user-select:none;vertical-align:top;vertical-align:-webkit-baseline-middle;pointer-events:auto;--height:var(--gr-form-element-height-medium);--border-radius:var(--gr-form-element-border-radius-medium);--border-width:1px;--border-style:solid;--background:transparent;--background-hover:transparent;--background-focus:transparent;--color:var(--gr-color-dark-tint);--color-hover:var(--gr-color-dark-tint);--color-focus:var(--gr-color-dark-tint);--border-color:var(--gr-color-light-shade);--border-color-hover:var(--gr-color-medium);--border-color-focus:var(--gr-color-primary);--padding-top:0;--padding-start:var(--gr-spacing-medium);--padding-end:var(--gr-spacing-medium);--padding-bottom:0;--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33);--shadow:none;--transition:background-color 150ms linear, opacity 150ms linear, border 150ms linear, color 150ms linear}:host(.button-disabled){pointer-events:none;opacity:0.5}:host(.button-primary){--border-color:var(--gr-color-primary);--background:var(--gr-color-primary);--color:var(--gr-color-primary-contrast);--border-color-hover:var(--gr-color-primary-shade);--background-hover:var(--gr-color-primary-shade);--color-hover:var(--gr-color-primary-contrast);--border-color-focus:var(--gr-color-primary);--background-focus:var(--gr-color-primary-shade);--color-focus:var(--gr-color-primary-contrast);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33)}:host(.button-secondary){--border-color:var(--gr-color-light-shade);--background:transparent;--color:var(--gr-color-primary);--border-color-hover:var(--gr-color-primary);--background-hover:transparent;--color-hover:var(--gr-color-primary);--border-color-focus:var(--gr-color-primary);--background-focus:transparent;--color-focus:var(--gr-color-primary);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33)}:host(.button-danger){--border-color:var(--gr-color-danger);--background:transparent;--color:var(--gr-color-danger);--border-color-hover:var(--gr-color-danger);--background-hover:var(--gr-color-danger);--color-hover:var(--gr-color-danger-contrast);--border-color-focus:var(--gr-color-danger);--background-focus:var(--gr-color-danger);--color-focus:var(--gr-color-danger-contrast);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-danger-rgb), 0.33)}:host(.button-plain){--border-color:transparent;--background:transparent;--color:var(--gr-color-primary);--border-color-hover:transparent;--background-hover:transparent;--color-hover:var(--gr-color-primary-shade);--border-color-focus:transparent;--background-focus:transparent;--color-focus:var(--gr-color-primary-shade);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33)}:host(.button-small){--padding-start:var(--gr-spacing-small);--padding-end:var(--gr-spacing-small);--border-radius:var(--gr-form-element-border-radius-small);--height:var(--gr-form-element-height-small);font-size:var(--gr-form-element-font-size-small)}:host(.button-large){--padding-start:var(--gr-spacing-large);--padding-end:var(--gr-spacing-large);--border-radius:var(--gr-form-element-border-radius-large);--height:var(--gr-form-element-height-large);font-size:var(--gr-form-element-font-size-large)}:host(.button-block){display:block}:host(.button-block) .button-native{margin-left:0;margin-right:0;display:block;width:100%;clear:both;contain:content}:host(.button-block) .button-native::after{clear:both}:host(.button-full){display:block}:host(.button-full) .button-native{margin-left:0;margin-right:0;display:block;width:100%;contain:content;border-radius:0;border-right-width:0;border-left-width:0}.button-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;position:relative;padding-top:var(--padding-top);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-bottom:var(--padding-bottom);width:100%;height:var(--height);transition:var(--transition);border-radius:var(--border-radius);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);color:var(--color);box-shadow:var(--shadow);line-height:1;cursor:pointer;z-index:0;text-decoration:none;box-sizing:border-box}.button-native::-moz-focus-inner{border:0}.button-native:focus{outline:none;box-shadow:var(--focus-ring);border-color:var(--border-color-focus);background-color:var(--background-focus);color:var(--color-focus)}.button-native *,.button-native *:before,.button-native *:after{box-sizing:inherit}.button-inner{display:flex;position:relative;flex-flow:row nowrap;flex-shrink:0;align-items:center;justify-content:center;width:100%;height:100%;z-index:1}:host(.button-circle) .button-native{padding-top:0;padding-bottom:0;padding-left:0;padding-right:0;border-radius:50%;width:var(--height)}@media (any-hover: hover){.button-native:hover{color:var(--color-hover);background:var(--background-hover);border-color:var(--border-color-hover)}}:host(.button-caret) .caret{display:flex;align-items:center;margin-left:0.3em}:host(.button-caret) .caret svg{width:1em;height:1em}:host(.button-pill) .button-native{border-radius:var(--height)}::slotted(*){pointer-events:none}::slotted([slot=start]){margin-top:0;margin-left:-0.3em;margin-right:0.3em;margin-bottom:0}::slotted([slot=end]){margin-top:0;margin-left:0.3em;margin-right:-0.2em;margin-bottom:0}::slotted([slot=icon-only]){font-size:1.4em;pointer-events:none}:host(.button-loading){position:relative;pointer-events:none}:host(.button-loading) .caret{visibility:hidden}:host(.button-loading) slot[name=start],:host(.button-loading) slot[name=end],:host(.button-loading) slot[name=icon-only],:host(.button-loading) slot:not([name]){visibility:hidden}:host(.button-loading) gr-spinner{--indicator-color:currentColor;position:absolute;height:1em;width:1em;top:calc(50% - 0.5em);left:calc(50% - 0.5em)}@media not all and (min-resolution: 0.001dpcm){@supports (-webkit-appearance: none) and (stroke-color: transparent){:host([type=button]),:host([type=reset]),:host([type=submit]){-webkit-appearance:none !important}}}"}},[1,"gr-button",{variant:[513],disabled:[516],loading:[516],size:[513],caret:[4],pill:[516],expand:[513],circle:[516],href:[1],target:[1],rel:[1],type:[1],setFocus:[64],removeFocus:[64]}]);function St(){if("undefined"==typeof customElements)return;["gr-button","gr-spinner"].forEach((e=>{switch(e){case"gr-button":customElements.get(e)||customElements.define(e,Ot);break;case"gr-spinner":customElements.get(e)||Et()}}))}function Mt(e,t,r="vertical",i="smooth"){const o= -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -function(e,t){return{top:Math.round(e.getBoundingClientRect().top-t.getBoundingClientRect().top),left:Math.round(e.getBoundingClientRect().left-t.getBoundingClientRect().left)}}(e,t),n=o.top+t.scrollTop,a=o.left+t.scrollLeft,s=t.scrollLeft,l=t.scrollLeft+t.offsetWidth,c=t.scrollTop,d=t.scrollTop+t.offsetHeight;"horizontal"!==r&&"both"!==r||(al&&t.scrollTo({left:a-t.offsetWidth+e.clientWidth,behavior:i})),"vertical"!==r&&"both"!==r||(nd&&t.scrollTo({top:n-t.offsetHeight+e.clientHeight,behavior:i}))} -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */function zt(e){return e.tabIndex>-1}function Lt(e){if(zt(e))return e;if(e.shadowRoot){const t=[...e.shadowRoot.children].find(zt);if(t)return t}return e.children?[...e.children].map(Lt)[0]:null}St();var Dt="top",At="bottom",Ft="right",It="left",Wt="auto",Rt=[Dt,At,Ft,It],Nt="start",Ht="end",Vt="clippingParents",jt="viewport",Bt="popper",qt="reference",Pt=Rt.reduce((function(e,t){return e.concat([t+"-"+Nt,t+"-"+Ht])}),[]),Ut=[].concat(Rt,[Wt]).reduce((function(e,t){return e.concat([t,t+"-"+Nt,t+"-"+Ht])}),[]),Kt=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Yt(e){return e?(e.nodeName||"").toLowerCase():null}function Qt(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Gt(e){return e instanceof Qt(e).Element||e instanceof Element}function Xt(e){return e instanceof Qt(e).HTMLElement||e instanceof HTMLElement}function Zt(e){return"undefined"!=typeof ShadowRoot&&(e instanceof Qt(e).ShadowRoot||e instanceof ShadowRoot)}const Jt={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var r=t.styles[e]||{},i=t.attributes[e]||{},o=t.elements[e];Xt(o)&&Yt(o)&&(Object.assign(o.style,r),Object.keys(i).forEach((function(e){var t=i[e];!1===t?o.removeAttribute(e):o.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,r={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,r.popper),t.styles=r,t.elements.arrow&&Object.assign(t.elements.arrow.style,r.arrow),function(){Object.keys(t.elements).forEach((function(e){var i=t.elements[e],o=t.attributes[e]||{},n=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:r[e]).reduce((function(e,t){return e[t]="",e}),{});Xt(i)&&Yt(i)&&(Object.assign(i.style,n),Object.keys(o).forEach((function(e){i.removeAttribute(e)})))}))}},requires:["computeStyles"]};function er(e){return e.split("-")[0]}var tr=Math.max,rr=Math.min,ir=Math.round;function or(e,t){void 0===t&&(t=!1);var r=e.getBoundingClientRect(),i=1,o=1;if(Xt(e)&&t){var n=e.offsetHeight,a=e.offsetWidth;a>0&&(i=ir(r.width)/a||1),n>0&&(o=ir(r.height)/n||1)}return{width:r.width/i,height:r.height/o,top:r.top/o,right:r.right/i,bottom:r.bottom/o,left:r.left/i,x:r.left/i,y:r.top/o}}function nr(e){var t=or(e),r=e.offsetWidth,i=e.offsetHeight;return Math.abs(t.width-r)<=1&&(r=t.width),Math.abs(t.height-i)<=1&&(i=t.height),{x:e.offsetLeft,y:e.offsetTop,width:r,height:i}}function ar(e,t){var r=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(r&&Zt(r)){var i=t;do{if(i&&e.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function sr(e){return Qt(e).getComputedStyle(e)}function lr(e){return["table","td","th"].indexOf(Yt(e))>=0}function cr(e){return((Gt(e)?e.ownerDocument:e.document)||window.document).documentElement}function dr(e){return"html"===Yt(e)?e:e.assignedSlot||e.parentNode||(Zt(e)?e.host:null)||cr(e)}function hr(e){return Xt(e)&&"fixed"!==sr(e).position?e.offsetParent:null}function gr(e){for(var t=Qt(e),r=hr(e);r&&lr(r)&&"static"===sr(r).position;)r=hr(r);return r&&("html"===Yt(r)||"body"===Yt(r)&&"static"===sr(r).position)?t:r||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&Xt(e)&&"fixed"===sr(e).position)return null;var r=dr(e);for(Zt(r)&&(r=r.host);Xt(r)&&["html","body"].indexOf(Yt(r))<0;){var i=sr(r);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||t&&"filter"===i.willChange||t&&i.filter&&"none"!==i.filter)return r;r=r.parentNode}return null}(e)||t}function ur(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function mr(e,t,r){return tr(e,rr(t,r))}function pr(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function fr(e,t){return t.reduce((function(t,r){return t[r]=e,t}),{})}const vr={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,r=e.state,i=e.name,o=e.options,n=r.elements.arrow,a=r.modifiersData.popperOffsets,s=er(r.placement),l=ur(s),c=[It,Ft].indexOf(s)>=0?"height":"width";if(n&&a){var d=function(e,t){return pr("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:fr(e,Rt))}(o.padding,r),h=nr(n),g="y"===l?Dt:It,u="y"===l?At:Ft,m=r.rects.reference[c]+r.rects.reference[l]-a[l]-r.rects.popper[c],p=a[l]-r.rects.reference[l],f=gr(n),v=f?"y"===l?f.clientHeight||0:f.clientWidth||0:0,b=m/2-p/2,y=d[g],w=v-h[c]-d[u],$=v/2-h[c]/2+b,x=mr(y,$,w),k=l;r.modifiersData[i]=((t={})[k]=x,t.centerOffset=x-$,t)}},effect:function(e){var t=e.state,r=e.options.element,i=void 0===r?"[data-popper-arrow]":r;null!=i&&("string"!=typeof i||(i=t.elements.popper.querySelector(i)))&&ar(t.elements.popper,i)&&(t.elements.arrow=i)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function br(e){return e.split("-")[1]}var yr={top:"auto",right:"auto",bottom:"auto",left:"auto"};function wr(e){var t,r=e.popper,i=e.popperRect,o=e.placement,n=e.variation,a=e.offsets,s=e.position,l=e.gpuAcceleration,c=e.adaptive,d=e.roundOffsets,h=e.isFixed,g=a.x,u=void 0===g?0:g,m=a.y,p=void 0===m?0:m,f="function"==typeof d?d({x:u,y:p}):{x:u,y:p};u=f.x,p=f.y;var v=a.hasOwnProperty("x"),b=a.hasOwnProperty("y"),y=It,w=Dt,$=window;if(c){var x=gr(r),k="clientHeight",_="clientWidth";if(x===Qt(r)&&"static"!==sr(x=cr(r)).position&&"absolute"===s&&(k="scrollHeight",_="scrollWidth"),o===Dt||(o===It||o===Ft)&&n===Ht)w=At,p-=(h&&x===$&&$.visualViewport?$.visualViewport.height:x[k])-i.height,p*=l?1:-1;if(o===It||(o===Dt||o===At)&&n===Ht)y=Ft,u-=(h&&x===$&&$.visualViewport?$.visualViewport.width:x[_])-i.width,u*=l?1:-1}var C,T=Object.assign({position:s},c&&yr),E=!0===d?function(e){var t=e.x,r=e.y,i=window.devicePixelRatio||1;return{x:ir(t*i)/i||0,y:ir(r*i)/i||0}}({x:u,y:p}):{x:u,y:p};return u=E.x,p=E.y,l?Object.assign({},T,((C={})[w]=b?"0":"",C[y]=v?"0":"",C.transform=($.devicePixelRatio||1)<=1?"translate("+u+"px, "+p+"px)":"translate3d("+u+"px, "+p+"px, 0)",C)):Object.assign({},T,((t={})[w]=b?p+"px":"",t[y]=v?u+"px":"",t.transform="",t))}var $r={passive:!0};var xr={left:"right",right:"left",bottom:"top",top:"bottom"};function kr(e){return e.replace(/left|right|bottom|top/g,(function(e){return xr[e]}))}var _r={start:"end",end:"start"};function Cr(e){return e.replace(/start|end/g,(function(e){return _r[e]}))}function Tr(e){var t=Qt(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Er(e){return or(cr(e)).left+Tr(e).scrollLeft}function Or(e){var t=sr(e),r=t.overflow,i=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(r+o+i)}function Sr(e){return["html","body","#document"].indexOf(Yt(e))>=0?e.ownerDocument.body:Xt(e)&&Or(e)?e:Sr(dr(e))}function Mr(e,t){var r;void 0===t&&(t=[]);var i=Sr(e),o=i===(null==(r=e.ownerDocument)?void 0:r.body),n=Qt(i),a=o?[n].concat(n.visualViewport||[],Or(i)?i:[]):i,s=t.concat(a);return o?s:s.concat(Mr(dr(a)))}function zr(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Lr(e,t){return t===jt?zr(function(e){var t=Qt(e),r=cr(e),i=t.visualViewport,o=r.clientWidth,n=r.clientHeight,a=0,s=0;return i&&(o=i.width,n=i.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(a=i.offsetLeft,s=i.offsetTop)),{width:o,height:n,x:a+Er(e),y:s}}(e)):Gt(t)?function(e){var t=or(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(t):zr(function(e){var t,r=cr(e),i=Tr(e),o=null==(t=e.ownerDocument)?void 0:t.body,n=tr(r.scrollWidth,r.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=tr(r.scrollHeight,r.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),s=-i.scrollLeft+Er(e),l=-i.scrollTop;return"rtl"===sr(o||r).direction&&(s+=tr(r.clientWidth,o?o.clientWidth:0)-n),{width:n,height:a,x:s,y:l}}(cr(e)))}function Dr(e,t,r){var i="clippingParents"===t?function(e){var t=Mr(dr(e)),r=["absolute","fixed"].indexOf(sr(e).position)>=0&&Xt(e)?gr(e):e;return Gt(r)?t.filter((function(e){return Gt(e)&&ar(e,r)&&"body"!==Yt(e)})):[]}(e):[].concat(t),o=[].concat(i,[r]),n=o[0],a=o.reduce((function(t,r){var i=Lr(e,r);return t.top=tr(i.top,t.top),t.right=rr(i.right,t.right),t.bottom=rr(i.bottom,t.bottom),t.left=tr(i.left,t.left),t}),Lr(e,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function Ar(e){var t,r=e.reference,i=e.element,o=e.placement,n=o?er(o):null,a=o?br(o):null,s=r.x+r.width/2-i.width/2,l=r.y+r.height/2-i.height/2;switch(n){case Dt:t={x:s,y:r.y-i.height};break;case At:t={x:s,y:r.y+r.height};break;case Ft:t={x:r.x+r.width,y:l};break;case It:t={x:r.x-i.width,y:l};break;default:t={x:r.x,y:r.y}}var c=n?ur(n):null;if(null!=c){var d="y"===c?"height":"width";switch(a){case Nt:t[c]=t[c]-(r[d]/2-i[d]/2);break;case Ht:t[c]=t[c]+(r[d]/2-i[d]/2)}}return t}function Fr(e,t){void 0===t&&(t={});var r=t,i=r.placement,o=void 0===i?e.placement:i,n=r.boundary,a=void 0===n?Vt:n,s=r.rootBoundary,l=void 0===s?jt:s,c=r.elementContext,d=void 0===c?Bt:c,h=r.altBoundary,g=void 0!==h&&h,u=r.padding,m=void 0===u?0:u,p=pr("number"!=typeof m?m:fr(m,Rt)),f=d===Bt?qt:Bt,v=e.rects.popper,b=e.elements[g?f:d],y=Dr(Gt(b)?b:b.contextElement||cr(e.elements.popper),a,l),w=or(e.elements.reference),$=Ar({reference:w,element:v,strategy:"absolute",placement:o}),x=zr(Object.assign({},v,$)),k=d===Bt?x:w,_={top:y.top-k.top+p.top,bottom:k.bottom-y.bottom+p.bottom,left:y.left-k.left+p.left,right:k.right-y.right+p.right},C=e.modifiersData.offset;if(d===Bt&&C){var T=C[o];Object.keys(_).forEach((function(e){var t=[Ft,At].indexOf(e)>=0?1:-1,r=[Dt,At].indexOf(e)>=0?"y":"x";_[e]+=T[r]*t}))}return _}function Ir(e,t){void 0===t&&(t={});var r=t,i=r.placement,o=r.boundary,n=r.rootBoundary,a=r.padding,s=r.flipVariations,l=r.allowedAutoPlacements,c=void 0===l?Ut:l,d=br(i),h=d?s?Pt:Pt.filter((function(e){return br(e)===d})):Rt,g=h.filter((function(e){return c.indexOf(e)>=0}));0===g.length&&(g=h);var u=g.reduce((function(t,r){return t[r]=Fr(e,{placement:r,boundary:o,rootBoundary:n,padding:a})[er(r)],t}),{});return Object.keys(u).sort((function(e,t){return u[e]-u[t]}))}const Wr={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,r=e.options,i=e.name;if(!t.modifiersData[i]._skip){for(var o=r.mainAxis,n=void 0===o||o,a=r.altAxis,s=void 0===a||a,l=r.fallbackPlacements,c=r.padding,d=r.boundary,h=r.rootBoundary,g=r.altBoundary,u=r.flipVariations,m=void 0===u||u,p=r.allowedAutoPlacements,f=t.options.placement,v=er(f),b=l||(v===f||!m?[kr(f)]:function(e){if(er(e)===Wt)return[];var t=kr(e);return[Cr(e),t,Cr(t)]}(f)),y=[f].concat(b).reduce((function(e,r){return e.concat(er(r)===Wt?Ir(t,{placement:r,boundary:d,rootBoundary:h,padding:c,flipVariations:m,allowedAutoPlacements:p}):r)}),[]),w=t.rects.reference,$=t.rects.popper,x=new Map,k=!0,_=y[0],C=0;C=0,M=S?"width":"height",z=Fr(t,{placement:T,boundary:d,rootBoundary:h,altBoundary:g,padding:c}),L=S?O?Ft:It:O?At:Dt;w[M]>$[M]&&(L=kr(L));var D=kr(L),A=[];if(n&&A.push(z[E]<=0),s&&A.push(z[L]<=0,z[D]<=0),A.every((function(e){return e}))){_=T,k=!1;break}x.set(T,A)}if(k)for(var F=function(e){var t=y.find((function(t){var r=x.get(t);if(r)return r.slice(0,e).every((function(e){return e}))}));if(t)return _=t,"break"},I=m?3:1;I>0;I--){if("break"===F(I))break}t.placement!==_&&(t.modifiersData[i]._skip=!0,t.placement=_,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Rr(e,t,r){return void 0===r&&(r={x:0,y:0}),{top:e.top-t.height-r.y,right:e.right-t.width+r.x,bottom:e.bottom-t.height+r.y,left:e.left-t.width-r.x}}function Nr(e){return[Dt,Ft,At,It].some((function(t){return e[t]>=0}))}const Hr={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,r=e.options,i=e.name,o=r.offset,n=void 0===o?[0,0]:o,a=Ut.reduce((function(e,r){return e[r]=function(e,t,r){var i=er(e),o=[It,Dt].indexOf(i)>=0?-1:1,n="function"==typeof r?r(Object.assign({},t,{placement:e})):r,a=n[0],s=n[1];return a=a||0,s=(s||0)*o,[It,Ft].indexOf(i)>=0?{x:s,y:a}:{x:a,y:s}}(r,t.rects,n),e}),{}),s=a[t.placement],l=s.x,c=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[i]=a}};const Vr={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,r=e.options,i=e.name,o=r.mainAxis,n=void 0===o||o,a=r.altAxis,s=void 0!==a&&a,l=r.boundary,c=r.rootBoundary,d=r.altBoundary,h=r.padding,g=r.tether,u=void 0===g||g,m=r.tetherOffset,p=void 0===m?0:m,f=Fr(t,{boundary:l,rootBoundary:c,padding:h,altBoundary:d}),v=er(t.placement),b=br(t.placement),y=!b,w=ur(v),$="x"===w?"y":"x",x=t.modifiersData.popperOffsets,k=t.rects.reference,_=t.rects.popper,C="function"==typeof p?p(Object.assign({},t.rects,{placement:t.placement})):p,T="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),E=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,O={x:0,y:0};if(x){if(n){var S,M="y"===w?Dt:It,z="y"===w?At:Ft,L="y"===w?"height":"width",D=x[w],A=D+f[M],F=D-f[z],I=u?-_[L]/2:0,W=b===Nt?k[L]:_[L],R=b===Nt?-_[L]:-k[L],N=t.elements.arrow,H=u&&N?nr(N):{width:0,height:0},V=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},j=V[M],B=V[z],q=mr(0,k[L],H[L]),P=y?k[L]/2-I-q-j-T.mainAxis:W-q-j-T.mainAxis,U=y?-k[L]/2+I+q+B+T.mainAxis:R+q+B+T.mainAxis,K=t.elements.arrow&&gr(t.elements.arrow),Y=K?"y"===w?K.clientTop||0:K.clientLeft||0:0,Q=null!=(S=null==E?void 0:E[w])?S:0,G=D+U-Q,X=mr(u?rr(A,D+P-Q-Y):A,D,u?tr(F,G):F);x[w]=X,O[w]=X-D}if(s){var Z,J="x"===w?Dt:It,ee="x"===w?At:Ft,te=x[$],re="y"===$?"height":"width",ie=te+f[J],oe=te-f[ee],ne=-1!==[Dt,It].indexOf(v),ae=null!=(Z=null==E?void 0:E[$])?Z:0,se=ne?ie:te-k[re]-_[re]-ae+T.altAxis,le=ne?te+k[re]+_[re]-ae-T.altAxis:oe,ce=u&&ne?function(e,t,r){var i=mr(e,t,r);return i>r?r:i}(se,te,le):mr(u?se:ie,te,u?le:oe);x[$]=ce,O[$]=ce-te}t.modifiersData[i]=O}},requiresIfExists:["offset"]};function jr(e,t,r){void 0===r&&(r=!1);var i,o,n=Xt(t),a=Xt(t)&&function(e){var t=e.getBoundingClientRect(),r=ir(t.width)/e.offsetWidth||1,i=ir(t.height)/e.offsetHeight||1;return 1!==r||1!==i}(t),s=cr(t),l=or(e,a),c={scrollLeft:0,scrollTop:0},d={x:0,y:0};return(n||!n&&!r)&&(("body"!==Yt(t)||Or(s))&&(c=(i=t)!==Qt(i)&&Xt(i)?{scrollLeft:(o=i).scrollLeft,scrollTop:o.scrollTop}:Tr(i)),Xt(t)?((d=or(t,!0)).x+=t.clientLeft,d.y+=t.clientTop):s&&(d.x=Er(s))),{x:l.left+c.scrollLeft-d.x,y:l.top+c.scrollTop-d.y,width:l.width,height:l.height}}function Br(e){var t=new Map,r=new Set,i=[];function o(e){r.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!r.has(e)){var i=t.get(e);i&&o(i)}})),i.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){r.has(e.name)||o(e)})),i}var qr={placement:"bottom",modifiers:[],strategy:"absolute"};function Pr(){for(var e=arguments.length,t=new Array(e),r=0;r{},onAfterHide:()=>{},onTransitionEnd:()=>{}},r),this.isVisible=!1,this.popover.hidden=!0,this.popover.classList.remove(this.options.visibleClass),this.popover.addEventListener("transitionend",this.handleTransitionEnd)}handleTransitionEnd(e){e.target===this.options.transitionElement&&(this.options.onTransitionEnd.call(this,e),this.isVisible||this.popover.hidden||(this.popover.hidden=!0,this.popover.classList.remove(this.options.visibleClass),this.options.onAfterHide.call(this)))}destroy(){this.popover.removeEventListener("transitionend",this.handleTransitionEnd),this.popper&&(this.popper.destroy(),this.popper=null)}show(){this.isVisible=!0,this.popover.hidden=!1,requestAnimationFrame((()=>this.popover.classList.add(this.options.visibleClass))),this.popper&&this.popper.destroy(),this.popper=Kr(this.anchor,this.popover,{placement:this.options.placement,strategy:this.options.strategy,modifiers:[{name:"flip",options:{boundary:"viewport"}},{name:"offset",options:{offset:[this.options.skidding,this.options.distance]}}]}),this.popover.addEventListener("transitionend",(()=>this.options.onAfterShow.call(this)),{once:!0}),requestAnimationFrame((()=>this.popper.update()))}hide(){this.isVisible=!1,this.popover.classList.remove(this.options.visibleClass)}setOptions(e){this.options=Object.assign(this.options,e),this.isVisible?this.popover.classList.add(this.options.visibleClass):this.popover.classList.remove(this.options.visibleClass),this.popper&&(this.popper.setOptions({placement:this.options.placement,strategy:this.options.strategy}),requestAnimationFrame((()=>this.popper.update())))}}let Qr=0;const Gr=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grShow=fe(this,"gr-show",7),this.grAfterShow=fe(this,"gr-after-show",7),this.grHide=fe(this,"gr-hide",7),this.grAfterHide=fe(this,"gr-after-hide",7),this.componentId="dropdown-"+ ++Qr,this.isVisible=!1,this.open=!1,this.placement="bottom-start",this.closeOnSelect=!0,this.containingElement=void 0,this.distance=2,this.skidding=0,this.hoist=!1}handleOpenChange(){this.open?this.show():this.hide(),this.updateAccessibleTrigger()}handlePopoverOptionsChange(){this.popoverElement.setOptions({strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding})}connectedCallback(){this.containingElement||(this.containingElement=this.el),this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this),this.handleMenuItemActivate=this.handleMenuItemActivate.bind(this),this.handlePanelSelect=this.handlePanelSelect.bind(this),this.handleTriggerClick=this.handleTriggerClick.bind(this),this.handleTriggerKeyDown=this.handleTriggerKeyDown.bind(this),this.handleTriggerKeyUp=this.handleTriggerKeyUp.bind(this),this.handleTriggerSlotChange=this.handleTriggerSlotChange.bind(this)}componentDidLoad(){this.popoverElement=new Yr(this.trigger,this.positioner,{strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding,transitionElement:this.panel,onAfterHide:()=>this.grAfterHide.emit(),onAfterShow:()=>this.grAfterShow.emit(),onTransitionEnd:()=>{this.open||(this.panel.scrollTop=0)}}),this.open&&this.show()}disconnectedCallback(){this.hide(),this.popoverElement.destroy()}async show(){if(this.isVisible)return;this.grShow.emit().defaultPrevented?this.open=!1:(this.panel.addEventListener("gr-activate",this.handleMenuItemActivate),this.panel.addEventListener("gr-select",this.handlePanelSelect),document.addEventListener("keydown",this.handleDocumentKeyDown),document.addEventListener("mousedown",this.handleDocumentMouseDown),this.isVisible=!0,this.open=!0,this.popoverElement.show())}async hide(){if(!this.isVisible)return;this.grHide.emit().defaultPrevented?this.open=!0:(this.panel.removeEventListener("gr-activate",this.handleMenuItemActivate),this.panel.removeEventListener("gr-select",this.handlePanelSelect),document.addEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("mousedown",this.handleDocumentMouseDown),this.isVisible=!1,this.open=!1,this.popoverElement.hide())}async focusOnTrigger(){const e=this.trigger.querySelector("slot").assignedElements({flatten:!0})[0];e&&("function"==typeof e.setFocus?e.setFocus():"function"==typeof e.focus&&e.focus())}getMenu(){return this.panel.querySelector("slot").assignedElements({flatten:!0}).filter((e=>"gr-menu"===e.tagName.toLowerCase()))[0]}handleDocumentKeyDown(e){var t;if("Escape"===e.key)return this.hide(),void this.focusOnTrigger();if("Tab"===e.key){if(this.open&&"gr-menu-item"===(null===(t=document.activeElement)||void 0===t?void 0:t.tagName.toLowerCase()))return e.preventDefault(),this.hide(),void this.focusOnTrigger();setTimeout((()=>{var e;const t=this.containingElement.getRootNode()instanceof ShadowRoot?null===(e=document.activeElement.shadowRoot)||void 0===e?void 0:e.activeElement:document.activeElement;(null==t?void 0:t.closest(this.containingElement.tagName.toLowerCase()))===this.containingElement||this.hide()}))}}handleDocumentMouseDown(e){e.composedPath().includes(this.containingElement)||this.hide()}handleMenuItemActivate(e){Mt(e.target,this.panel)}handlePanelSelect(e){const t=e.target;this.closeOnSelect&&"gr-menu"===t.tagName.toLowerCase()&&(this.hide(),this.focusOnTrigger())}handleTriggerClick(){this.open?this.hide():this.show()}handleTriggerKeyDown(e){const t=this.getMenu(),r=t?[...t.querySelectorAll("gr-menu-item")]:null,i=r[0],o=r[r.length-1];if("Escape"===e.key)return this.focusOnTrigger(),void this.hide();if([" ","Enter"].includes(e.key))return e.preventDefault(),void(this.open?this.hide():this.show());if(["ArrowDown","ArrowUp"].includes(e.key)){if(e.preventDefault(),this.open||this.show(),"ArrowDown"===e.key&&i)return void i.setFocus();if("ArrowUp"===e.key&&o)return void o.setFocus()}this.open&&t&&!["Tab","Shift","Meta","Ctrl","Alt"].includes(e.key)&&t.typeToSelect(e.key)}handleTriggerKeyUp(e){" "===e.key&&e.preventDefault()}handleTriggerSlotChange(){this.updateAccessibleTrigger()}updateAccessibleTrigger(){const e=this.trigger.querySelector("slot").assignedElements({flatten:!0}).map(Lt)[0];e&&(e.setAttribute("aria-haspopup","true"),e.setAttribute("aria-expanded",this.open?"true":"false"))}render(){return de(ge,{id:this.componentId,class:{"dropdown-open":this.open}},de("span",{class:"dropdown-trigger",ref:e=>this.trigger=e,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown,onKeyUp:this.handleTriggerKeyUp},de("slot",{name:"trigger",onSlotchange:this.handleTriggerSlotChange})),de("div",{ref:e=>this.positioner=e,class:"dropdown-positioner"},de("div",{ref:e=>this.panel=e,class:"dropdown-panel",role:"menu","aria-hidden":this.open?"false":"true","aria-labelledby":this.componentId},de("slot",null))))}get el(){return this}static get watchers(){return{open:["handleOpenChange"],distance:["handlePopoverOptionsChange"],hoist:["handlePopoverOptionsChange"],placement:["handlePopoverOptionsChange"],skidding:["handlePopoverOptionsChange"]}}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{--panel-background-color:var(--gr-color-white);--panel-border-radius:var(--gr-border-radius-medium);--panel-border-color:var(--gr-panel-border-color);--panel-box-shadow:var(--gr-shadow-large);--transition:150ms opacity, 150ms transform;display:inline-block;position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}.dropdown-trigger{display:block}.dropdown-positioner{position:absolute;z-index:var(--gr-z-index-dropdown)}.dropdown-panel{max-height:50vh;font-family:var(--gr-font-family);font-size:var(--gr-font-size-medium);font-weight:var(--gr-font-weight-normal);background-color:var(--panel-background-color);border:solid 1px var(--panel-border-color);border-radius:var(--panel-border-radius);box-shadow:var(--panel-box-shadow);opacity:0;overflow:auto;overscroll-behavior:none;pointer-events:none;transform:scale(0.9);transition:var(--transition)}.dropdown-positioner[data-popper-placement^=top] .dropdown-panel{transform-origin:bottom}.dropdown-positioner[data-popper-placement^=bottom] .dropdown-panel{transform-origin:top}.dropdown-positioner[data-popper-placement^=left] .dropdown-panel{transform-origin:right}.dropdown-positioner[data-popper-placement^=right] .dropdown-panel{transform-origin:left}.dropdown-positioner.popover-visible .dropdown-panel{opacity:1;transform:none;pointer-events:all}"}},[1,"gr-dropdown",{open:[1540],placement:[1],closeOnSelect:[4,"close-on-select"],containingElement:[1040],distance:[2],skidding:[2],hoist:[4],show:[64],hide:[64],focusOnTrigger:[64]}]);function Xr(){if("undefined"==typeof customElements)return;["gr-dropdown"].forEach((e=>{if("gr-dropdown"===e)customElements.get(e)||customElements.define(e,Gr)}))}Xr(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const Zr=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grSelect=fe(this,"gr-select",7),this.typeToSelectString=""}connectedCallback(){this.handleClick=this.handleClick.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this)}async typeToSelect(e){clearTimeout(this.typeToSelectTimeout),this.typeToSelectTimeout=setTimeout((()=>this.typeToSelectString=""),750),this.typeToSelectString+=e.toLowerCase();const t=this.getItems();for(const e of t){if(kt(e.shadowRoot.querySelector("slot:not([name])")).toLowerCase().trim().substring(0,this.typeToSelectString.length)===this.typeToSelectString){e.setFocus();break}}}getItems(){return[...this.menu.querySelector("slot").assignedElements({flatten:!0})].filter((e=>"gr-menu-item"===e.tagName.toLowerCase()&&!e.disabled))}getActiveItem(){return this.getItems().find((e=>e===document.activeElement))}setActiveItem(e){e.setFocus()}handleClick(e){const t=e.target.closest("gr-menu-item");t&&!t.disabled&&this.grSelect.emit({item:t})}handleKeyDown(e){if("Enter"===e.key){const t=this.getActiveItem();e.preventDefault(),t&&this.grSelect.emit({item:t})}if(" "===e.key&&e.preventDefault(),["ArrowDown","ArrowUp","Home","End"].includes(e.key)){const t=this.getItems(),r=this.getActiveItem();let i=t.indexOf(r);if(t.length)return e.preventDefault(),"ArrowDown"===e.key?i++:"ArrowUp"===e.key?i--:"Home"===e.key?i=0:"End"===e.key&&(i=t.length-1),i<0&&(i=0),i>t.length-1&&(i=t.length-1),void this.setActiveItem(t[i])}this.typeToSelect(e.key)}render(){return de("div",{ref:e=>this.menu=e,class:"menu",role:"menu",onClick:this.handleClick,onKeyDown:this.handleKeyDown},de("slot",null))}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{--padding-top:var(--gr-spacing-x-small);--padding-bottom:var(--gr-spacing-x-small);display:block;padding-top:var(--padding-top);padding-left:0;padding-right:0;padding-bottom:var(--padding-bottom);box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host:focus{outline:none}"}},[1,"gr-menu",{typeToSelect:[64]}]);function Jr(){if("undefined"==typeof customElements)return;["gr-menu"].forEach((e=>{if("gr-menu"===e)customElements.get(e)||customElements.define(e,Zr)}))}Jr(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const ei=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grClear=fe(this,"gr-clear",7),this.type="primary",this.size="medium",this.pill=!1,this.clearable=!1,this.truncate=!1,this.title=""}connectedCallback(){this.handleClearClick=this.handleClearClick.bind(this)}handleClearClick(){this.grClear.emit()}render(){return de(ge,{class:{[`tag-${this.type}`]:!0,[`tag-${this.size}`]:!0,"tag-pill":this.pill,"tag-clearable":this.clearable}},de("span",{class:"tag"},de("span",{class:{"tag-truncate":this.truncate},title:this.title},de("slot",null)),this.clearable&&de("gr-button",{variant:"plain",size:this.size,class:"tag-clear","aria-label":"clear",onClick:this.handleClearClick},de("svg",{slot:"icon-only",role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Close"),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 368L144 144M368 144L144 368"})))))}static get style(){return":host{--height:calc(var(--gr-form-element-height-medium) * 0.8);--line-height:calc(var(--gr-form-element-height-medium) - 1px * 2);--border-radius:var(--gr-form-element-border-radius-medium);--border-width:1px;--border-style:solid;--padding-top:0;--padding-start:var(--gr-spacing-small);--padding-end:var(--gr-spacing-small);--padding-bottom:0;--font-size:var(--gr-form-element-font-size-medium);--background-color:rgba(var(--gr-color-primary-rgb), 0.05);--border-color:rgba(var(--gr-color-primary-rgb), 0.2);--color:var(--gr-color-primary-shade);--clear-color:var(--gr-color-primary);--clear-color-hover:var(--gr-color-primary-shade);--clear-margin-left:var(--gr-spacing-xx-small);--clear-margin-right:calc(-1 * var(--gr-spacing-xxx-small));display:inline-block;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host(.tag-success){--background-color:rgba(var(--gr-color-success-rgb), 0.05);--border-color:rgba(var(--gr-color-success-rgb), 0.2);--color:var(--gr-color-success-shade);--clear-color:var(--gr-color-success);--clear-color-hover:var(--gr-color-success-shade)}:host(.tag-info){--background-color:rgba(var(--gr-color-medium-rgb), 0.05);--border-color:rgba(var(--gr-color-medium-rgb), 0.2);--color:var(--gr-color-medium-shade);--clear-color:var(--gr-color-medium);--clear-color-hover:var(--gr-color-medium-shade)}:host(.tag-warning){--background-color:rgba(var(--gr-color-warning-rgb), 0.05);--border-color:rgba(var(--gr-color-warning-rgb), 0.2);--color:var(--gr-color-warning-shade);--clear-color:var(--gr-color-warning);--clear-color-hover:var(--gr-color-warning-shade)}:host(.tag-danger){--background-color:rgba(var(--gr-color-danger-rgb), 0.05);--border-color:rgba(var(--gr-color-danger-rgb), 0.2);--color:var(--gr-color-danger-shade);--clear-color:var(--gr-color-danger);--clear-color-hover:var(--gr-color-danger-shade)}:host(.tag-small){--font-size:var(--gr-form-element-font-size-small);--height:calc(var(--gr-form-element-height-small) * 0.8);--line-height:calc(var(--gr-form-element-height-small) - 1px * 2);--border-radius:var(--gr-form-element-border-radius-small);--padding-start:var(--gr-spacing-x-small);--padding-end:var(--gr-spacing-x-small);--clear-margin-left:var(--gr-spacing-xx-small);--clear-margin-right:calc(-1 * var(--gr-spacing-xxx-small))}:host(.tag-large){--font-size:var(--gr-form-element-font-size-large);--height:calc(var(--gr-form-element-height-large) * 0.8);--line-height:calc(var(--gr-form-element-height-large) - 1px * 2);--border-radius:var(--gr-form-element-border-radius-large);--padding:0 var(--gr-spacing-medium);--clear-margin-left:var(--gr-spacing-xx-small);--clear-margin-right:calc(-1 * var(--gr-spacing-x-small))}.tag{display:flex;align-items:center;border-style:var(--border-style);border-width:var(--border-width);border-radius:var(--border-radius);white-space:nowrap;user-select:none;cursor:default;font-family:var(--gr-font-family);font-size:var(--font-size);font-weight:var(--gr-font-weight-normal);height:var(--height);line-height:var(--line-height);padding-top:var(--padding-top);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-bottom:var(--padding-bottom);background-color:var(--background-color);border-color:var(--border-color);color:var(--color)}.tag-clear{--color:var(--clear-color);--color-hover:var(--clear-color-hover);--padding-start:0;--padding-end:0;margin-left:var(--clear-margin-left);margin-right:var(--clear-margin-right);--height:1em}.tag-clear svg{font-size:0.7em}.tag-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-clear svg{width:1.1em;height:1.1em}:host(.tag-pill) .tag{border-radius:var(--height)}"}},[1,"gr-tag",{type:[513],size:[513],pill:[516],clearable:[516],truncate:[516],title:[513]}]);function ti(){if("undefined"==typeof customElements)return;["gr-tag","gr-button","gr-spinner"].forEach((e=>{switch(e){case"gr-tag":customElements.get(e)||customElements.define(e,ei);break;case"gr-button":customElements.get(e)||St();break;case"gr-spinner":customElements.get(e)||Et()}}))}ti(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const ri="undefined"!=typeof HTMLElement?HTMLElement:class{};let ii=0;const oi=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grChange=fe(this,"gr-change",7),this.grFocus=fe(this,"gr-focus",7),this.grBlur=fe(this,"gr-blur",7),this.inputId="select-"+ ++ii,this.labelId=`select-label-${ii}`,this.helpTextId=`select-help-text-${ii}`,this.invalidTextId=`select-invalid-text-${ii}`,this.inheritedAttributes={},this.handleBlur=()=>{this.isOpen||(this.hasFocus=!1,this.grBlur.emit())},this.handleFocus=()=>{this.hasFocus||(this.hasFocus=!0,this.grFocus.emit())},this.hasFocus=!1,this.hasHelpTextSlot=!1,this.hasInvalidTextSlot=!1,this.hasLabelSlot=!1,this.isOpen=!1,this.items=[],this.displayLabel="",this.displayTags=[],this.multiple=!1,this.maxTagsVisible=3,this.disabled=!1,this.name="",this.placeholder="",this.size="medium",this.hoist=!1,this.value="",this.pill=!1,this.label="",this.requiredIndicator=!1,this.helpText="",this.invalidText="",this.invalid=!1,this.clearable=!1}handleDisabledChange(){this.disabled&&this.isOpen&&this.dropdown.hide()}handleLabelChange(){this.handleSlotChange()}handleMultipleChange(){const e=this.getValueAsArray();this.value=this.multiple?e:e[0]||"",this.syncItemsFromValue()}handleValueChange(){this.syncItemsFromValue(),this.grChange.emit()}connectedCallback(){this.handleClearClick=this.handleClearClick.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleLabelClick=this.handleLabelClick.bind(this),this.handleMenuHide=this.handleMenuHide.bind(this),this.handleMenuShow=this.handleMenuShow.bind(this),this.handleMenuSelect=this.handleMenuSelect.bind(this),this.handleSlotChange=this.handleSlotChange.bind(this),this.handleTagInteraction=this.handleTagInteraction.bind(this),this.el.shadowRoot.addEventListener("slotchange",this.handleSlotChange)}componentWillLoad(){this.handleSlotChange(),this.inheritedAttributes=Ct(this.el,["aria-label"])}componentDidLoad(){this.resizeObserver=new ResizeObserver((()=>this.resizeMenu())),this.reportDuplicateItemValues(),requestAnimationFrame((()=>this.syncItemsFromValue()))}disconnectedCallback(){this.el.shadowRoot.removeEventListener("slotchange",this.handleSlotChange)}async setFocus(){this.hasFocus=!0,this.grFocus.emit(),this.dropdown.focusOnTrigger()}getItemLabel(e){return kt(e.shadowRoot.querySelector("slot:not([name])"))}getItems(){return[...this.el.querySelectorAll("gr-menu-item")]}getValueAsArray(){return Array.isArray(this.value)?this.value:[this.value]}handleClearClick(e){e.stopPropagation(),this.value=this.multiple?[]:"",this.syncItemsFromValue()}handleKeyDown(e){const t=e.target,r=this.getItems(),i=r[0],o=r[r.length-1];if("gr-tag"!==t.tagName.toLowerCase())if("Tab"!==e.key){if(["ArrowDown","ArrowUp"].includes(e.key)){if(e.preventDefault(),this.isOpen||this.dropdown.show(),"ArrowDown"===e.key&&i)return void i.setFocus();if("ArrowUp"===e.key&&o)return void o.setFocus()}this.isOpen||1!==e.key.length||(e.stopPropagation(),e.preventDefault(),this.dropdown.show(),this.menu.typeToSelect(e.key))}else this.isOpen&&this.dropdown.hide()}handleLabelClick(){this.box.focus()}handleMenuSelect(e){const t=e.detail.item;this.multiple?this.value=this.value.includes(t.value)?this.value.filter((e=>e!==t.value)):[...this.value,t.value]:this.value=t.value,this.syncItemsFromValue()}handleMenuShow(e){this.disabled?e.preventDefault():(this.resizeMenu(),this.resizeObserver.observe(this.el),this.isOpen=!0)}handleMenuHide(){this.resizeObserver.unobserve(this.el),this.isOpen=!1,this.box.focus()}handleSlotChange(){this.hasHelpTextSlot=_t(this.el,"help-text"),this.hasInvalidTextSlot=_t(this.el,"invalid-text"),this.hasLabelSlot=_t(this.el,"label"),this.syncItemsFromValue(),this.reportDuplicateItemValues()}handleTagInteraction(e){e.composedPath().find((e=>{if(e instanceof ri)return e.classList.contains("tag-clear")}))&&e.stopPropagation()}reportDuplicateItemValues(){const e=this.getItems().map((e=>e.value)).filter(((e,t,r)=>r.indexOf(e)!==t));if(e.length)throw new Error('Duplicate value found on in : "'+e.join('", "')+'"')}resizeMenu(){this.menu.style.width=`${this.box.clientWidth}px`}syncItemsFromValue(){const e=this.getItems(),t=this.getValueAsArray();if(e.map((e=>e.checked=t.includes(e.value))),this.multiple){const r=[];if(t.map((t=>e.map((e=>e.value===t?r.push(e):null)))),this.displayTags=r.map((e=>de("gr-tag",{type:"info",size:this.size,pill:this.pill,clearable:!0,onClick:this.handleTagInteraction,onKeyDown:this.handleTagInteraction,"onGr-clear":t=>{t.stopPropagation(),this.disabled||(e.checked=!1,this.syncValueFromItems())}},this.getItemLabel(e)))),this.maxTagsVisible>0&&this.displayTags.length>this.maxTagsVisible){const e=this.displayTags.length;this.displayLabel="",this.displayTags=this.displayTags.slice(0,this.maxTagsVisible),this.displayTags.push(de("gr-tag",{type:"info",size:this.size,pill:this.pill},"+",e-this.maxTagsVisible))}}else{const r=e.filter((e=>e.value===t[0]))[0];this.displayLabel=r?this.getItemLabel(r):"",this.displayTags=[]}}syncValueFromItems(){const e=this.getItems().filter((e=>e.checked)).map((e=>e.value));this.multiple?this.value=this.value.filter((t=>e.includes(t))):this.value=e.length>0?e[0]:""}render(){var e;const t=this.multiple?this.value.length>0:""!==this.value,r=this.inheritedAttributes["aria-label"]?{"aria-label":this.inheritedAttributes["aria-label"]}:{"aria-labelledby":this.labelId};return((e,t,r,i)=>{let o=e.querySelector("input.aux-input");o||(o=e.ownerDocument.createElement("input"),o.type="hidden",o.classList.add("aux-input"),e.appendChild(o)),o.disabled=i,o.name=t,o.value=r||""})(this.el,this.name,ni(this.value),this.disabled),de(xt,{inputId:this.inputId,label:this.label,labelId:this.labelId,hasLabelSlot:this.hasLabelSlot,helpTextId:this.helpTextId,helpText:this.helpText,hasHelpTextSlot:this.hasHelpTextSlot,invalidTextId:this.invalidTextId,invalidText:this.invalidText,invalid:this.invalid,hasInvalidTextSlot:this.hasInvalidTextSlot,size:this.size,onLabelClick:this.handleLabelClick,requiredIndicator:this.requiredIndicator},de("gr-dropdown",{ref:e=>this.dropdown=e,hoist:this.hoist,closeOnSelect:!this.multiple,containingElement:this.el,class:{select:!0,"select-open":this.isOpen,"select-empty":0===(null===(e=this.value)||void 0===e?void 0:e.length),"select-focused":this.hasFocus,"select-clearable":this.clearable,"select-disabled":this.disabled,"select-multiple":this.multiple,"select-has-tags":this.multiple&&t,"select-placeholder-visible":""===this.displayLabel,[`select-${this.size}`]:!0,"select-pill":this.pill,"select-invalid":this.invalid},"onGr-show":this.handleMenuShow,"onGr-hide":this.handleMenuHide},de("div",Object.assign({slot:"trigger",ref:e=>this.box=e,id:this.inputId,class:"select-box",role:"combobox"},r,{"aria-describedby":this.invalid?this.invalidTextId:this.helpTextId,"aria-haspopup":"true","aria-expanded":this.isOpen?"true":"false","aria-invalid":this.invalid?"true":"false","aria-required":this.requiredIndicator?"true":"false",tabIndex:this.disabled?-1:0,onBlur:this.handleBlur,onFocus:this.handleFocus,onKeyDown:this.handleKeyDown}),de("div",{class:"select-label"},this.displayTags.length?de("span",{class:"select-tags"},this.displayTags):this.displayLabel||this.placeholder),this.clearable&&t&&de("button",{class:"select-clear",type:"button",onClick:this.handleClearClick,"aria-label":"clear",tabindex:"-1"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Close Circle"),de("path",{d:"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"}),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M320 320L192 192M192 320l128-128"}))),de("span",{class:"caret"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Chevron Down"),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"48",d:"M112 184l144 144 144-144"}))),de("input",{class:"select-hidden-select","aria-hidden":"true",value:t?"1":"",tabIndex:-1})),de("gr-menu",{ref:e=>this.menu=e,class:"select-menu","onGr-select":this.handleMenuSelect},de("slot",{onSlotchange:this.handleSlotChange}))))}get el(){return this}static get watchers(){return{disabled:["handleDisabledChange"],helpText:["handleLabelChange"],invalidText:["handleLabelChange"],label:["handleLabelChange"],multiple:["handleMultipleChange"],value:["handleValueChange"]}}static get style(){return".form-control .form-control-label{display:none}.form-control .form-control-help-text{display:none}.form-control .form-control-invalid-text{display:none}.form-control-has-label .form-control-label{display:flex;line-height:var(--gr-line-height-normal);color:var(--gr-form-element-label-color);margin-bottom:var(--gr-spacing-xxx-small)}.form-control-has-label.form-control-small .form-control-label{font-size:var(--gr-form-element-label-font-size-small)}.form-control-has-label.form-control-medium .form-control-label{font-size:var(--gr-form-element-label-font-size-medium)}.form-control-has-label.form-control-large .form-control-label{font-size:var(--gr-form-element-label-font-size-large)}.form-control-has-label .form-control-label .asterisk{margin-left:var(--gr-spacing-x-small);color:var(--gr-color-medium)}.form-control-has-label .form-control-label .asterisk svg{width:0.6em;height:0.6em;margin-bottom:var(--gr-spacing-xxx-small)}.form-control-has-help-text .form-control-help-text{display:block;line-height:var(--gr-line-height-normal);color:var(--gr-form-element-help-text-color);margin-top:var(--gr-spacing-xxx-small)}.form-control-has-help-text.form-control-small .form-control-help-text{font-size:var(--gr-form-element-help-text-font-size-small);min-height:1.625rem}.form-control-has-help-text.form-control-medium .form-control-help-text{font-size:var(--gr-form-element-help-text-font-size-medium);min-height:1.875rem}.form-control-has-help-text.form-control-large .form-control-help-text{font-size:var(--gr-form-element-help-text-font-size-large);min-height:2.125rem}.form-control-has-invalid-text .form-control-invalid-text{display:flex;margin-left:-2px;line-height:var(--gr-line-height-normal);color:var(--gr-form-element-invalid-text-color);margin-top:var(--gr-spacing-xxx-small)}.form-control-has-invalid-text .form-control-invalid-text .icon{margin-top:var(--gr-spacing-xxx-small);margin-right:var(--gr-spacing-xx-small)}.form-control-has-invalid-text .form-control-invalid-text .icon svg{width:1.4em;height:1.4em}.form-control-has-invalid-text.form-control-small .form-control-invalid-text{font-size:var(--gr-form-element-invalid-text-font-size-small);min-height:1.625rem}.form-control-has-invalid-text.form-control-medium .form-control-invalid-text{font-size:var(--gr-form-element-invalid-text-font-size-medium);min-height:1.875rem}.form-control-has-invalid-text.form-control-large .form-control-invalid-text{font-size:var(--gr-form-element-invalid-text-font-size-large);min-height:2.125rem}.gr-scroll-lock{overflow:hidden !important}:host{--font-size:var(--gr-form-element-font-size-medium);--font-weight:var(--gr-font-weight-normal);--background-color:var(--gr-color-white);--background-color-hover:var(--gr-color-white);--background-color-focus:var(--gr-color-white);--background-color-invalid:var(--gr-color-white);--background-color-invalid-hover:var(--gr-color-white);--border-radius:var(--gr-form-element-border-radius-small);--border-color:var(--gr-color-light-shade);--border-color-hover:var(--gr-color-medium);--border-color-focus:var(--gr-color-primary);--border-color-invalid:var(--gr-color-danger);--border-color-invalid-hover:var(--gr-color-danger-shade);--color:var(--gr-color-dark-tint);--placeholder-color:var(--gr-color-medium-tint);--min-height:var(--gr-form-element-height-medium);--label-margin-start:var(--gr-spacing-medium);--label-margin-end:var(--gr-spacing-medium);--clear-icon-margin-end:var(--gr-spacing-medium);--caret-margin-end:var(--gr-spacing-medium);--tags-padding-top:3px;--tags-padding-bottom:3px;--tags-margin-end:var(--gr-spacing-xx-small);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33);display:block;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}.select-small{--font-size:var(--gr-form-element-font-size-small);--min-height:var(--gr-form-element-height-small);--label-margin-start:var(--gr-spacing-small);--label-margin-end:var(--gr-spacing-small);--clear-icon-margin-end:var(--gr-spacing-small);--caret-margin-end:var(--gr-spacing-small);--tags-padding-top:2px;--tags-padding-bottom:2px}.select-large{--font-size:var(--gr-form-element-font-size-large);--min-height:var(--gr-form-element-height-large);--label-margin-start:var(--gr-spacing-large);--label-margin-end:var(--gr-spacing-large);--clear-icon-margin-end:var(--gr-spacing-large);--caret-margin-end:var(--gr-spacing-large);--tags-padding-top:4px;--tags-padding-bottom:4px}.select{display:block}.select-box{display:inline-flex;align-items:center;justify-content:start;position:relative;width:100%;font-family:var(--gr-font-family);font-size:var(--font-size);font-weight:var(--font-weight);letter-spacing:normal;background-color:var(--background-color);border:solid 1px var(--border-color);border-radius:var(--border-radius);min-height:var(--min-height);color:var(--color);vertical-align:middle;overflow:hidden;transition:150ms color, 150ms border, 150ms box-shadow;cursor:pointer}.select.select-invalid:not(.select-disabled) .select-box{background-color:var(--background-color-invalid);border-color:var(--border-color-invalid)}.select.select-invalid:not(.select-disabled):not(.select-focused) .select-box:hover{background-color:var(--background-color-invalid-hover);border-color:var(--border-color-invalid-hover)}.select.select-invalid:not(.select-disabled) .select-box{background-color:var(--background-color-invalid);border-color:var(--border-color-invalid)}.select:not(.select-disabled) .select-box:hover{background-color:var(--background-color-hover);border-color:var(--border-color-hover)}.select.select-focused:not(.select-disabled) .select-box{outline:none;box-shadow:var(--focus-ring);border-color:var(--border-color-focus);background-color:var(--background-color-focus)}.select-disabled .select-box{opacity:0.5;cursor:not-allowed;outline:none}.select-disabled .select-tags,.select-disabled .select-clear{pointer-events:none}.select-label{flex:1 1 auto;display:flex;align-items:center;user-select:none;margin-top:0;margin-left:var(--label-margin-start);margin-right:var(--label-margin-end);margin-bottom:0;scrollbar-width:none;-ms-overflow-style:none;overflow-x:auto;overflow-y:hidden;white-space:nowrap}.select-label::-webkit-scrollbar{width:0;height:0}.select-has-tags .select-label{margin-left:0}.select-clear{display:inline-flex;align-items:center;font-size:inherit;color:var(--gr-color-medium);border:none;background:none;padding:0;transition:150ms color;cursor:pointer;margin-right:var(--clear-icon-margin-end)}.select-clear:hover{color:var(--gr-color-dark)}.select-clear:focus{outline:none}.select-clear svg{width:1.2em;height:1.2em;font-size:var(--font-size)}.caret{flex:0 0 auto;display:inline-flex;transition:250ms transform ease;margin-right:var(--caret-margin-end)}.caret svg{width:1em;height:1em;font-size:var(--font-size)}.select-open .caret{transform:rotate(-180deg)}.select-placeholder-visible .select-label{color:var(--placeholder-color)}.select-tags{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:left;margin-left:var(--gr-spacing-xx-small);padding-bottom:var(--tags-padding-bottom)}.select-tags gr-tag{padding-top:var(--tags-padding-top)}.select-tags gr-tag:not(:last-of-type){margin-right:var(--tags-margin-end)}.select-hidden-select{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px;position:absolute;top:0;left:0;width:100%;height:100%}.select-pill .select-box{border-radius:var(--min-height)}"}},[1,"gr-select",{multiple:[4],maxTagsVisible:[2,"max-tags-visible"],disabled:[4],name:[1],placeholder:[1],size:[1],hoist:[4],value:[1025],pill:[4],label:[1],requiredIndicator:[4,"required-indicator"],helpText:[1,"help-text"],invalidText:[1,"invalid-text"],invalid:[516],clearable:[4],hasFocus:[32],hasHelpTextSlot:[32],hasInvalidTextSlot:[32],hasLabelSlot:[32],isOpen:[32],items:[32],displayLabel:[32],displayTags:[32],setFocus:[64]}]),ni=e=>{if(null!=e)return Array.isArray(e)?e.join(","):e.toString()};!function(){if("undefined"==typeof customElements)return;["gr-select","gr-button","gr-dropdown","gr-menu","gr-spinner","gr-tag"].forEach((e=>{switch(e){case"gr-select":customElements.get(e)||customElements.define(e,oi);break;case"gr-button":customElements.get(e)||St();break;case"gr-dropdown":customElements.get(e)||Xr();break;case"gr-menu":customElements.get(e)||Jr();break;case"gr-spinner":customElements.get(e)||Et();break;case"gr-tag":customElements.get(e)||ti()}}))}();const ai=oi,si=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.hasFocus=!1,this.checked=!1,this.value="",this.disabled=!1}connectedCallback(){this.handleBlur=this.handleBlur.bind(this),this.handleFocus=this.handleFocus.bind(this),this.handleMouseEnter=this.handleMouseEnter.bind(this),this.handleMouseLeave=this.handleMouseLeave.bind(this)}async setFocus(e){this.el.focus(e)}async removeFocus(){this.el.blur()}handleBlur(){this.hasFocus=!1}handleFocus(){this.hasFocus=!0}handleMouseEnter(){this.setFocus()}handleMouseLeave(){this.removeFocus()}render(){return de(ge,{class:{"menu-item-checked":this.checked,"menu-item-disabled":this.disabled,"menu-item-focused":this.hasFocus},role:"menuitem","aria-disabled":this.disabled?"true":"false","aria-checked":this.checked?"true":"false",tabIndex:this.disabled?null:0,onFocus:this.handleFocus,onBlur:this.handleBlur,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave},de("span",{class:"checkmark"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Checkmark"),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M416 128L192 384l-96-96"}))),de("span",{class:"start"},de("slot",{name:"start"})),de("span",{class:"label"},de("slot",null)),de("span",{class:"end"},de("slot",{name:"end"})))}get el(){return this}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{--line-height:var(--gr-line-height-normal);--background-color:transparent;--background-color-focused:var(--gr-color-primary);--color:var(--gr-color-dark);--color-focused:var(--gr-color-primary-contrast);--color-disabled:var(--gr-color-medium);--padding-top:var(--gr-spacing-xx-small);--padding-start:var(--gr-spacing-x-large);--padding-end:var(--gr-spacing-x-large);--padding-bottom:var(--gr-spacing-xx-small);--transition:background-color 150ms linear, color 150ms linear;position:relative;display:flex;align-items:stretch;font-family:var(--gr-font-family);font-size:var(--gr-font-size-medium);font-weight:var(--gr-font-weight-normal);line-height:var(--line-height);letter-spacing:var(--gr-letter-spacing-normal);text-align:left;background-color:var(--background-color);color:var(--color);padding-top:var(--padding-top);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-bottom:var(--padding-bottom);transition:var(--transition);user-select:none;white-space:nowrap;cursor:pointer;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host(.menu-item-focused:not(.menu-item-disabled)){outline:none;background-color:var(--background-color-focused);color:var(--color-focused)}:host(.menu-item-disabled){outline:none;color:var(--color-disabled);cursor:not-allowed}.checkmark{display:flex;position:absolute;left:0.5em;top:calc(50% - 0.5em);visibility:hidden;align-items:center;font-size:inherit}.checkmark svg{display:inline-block;width:1.1em;height:1.1em;contain:strict;fill:currentcolor;box-sizing:content-box !important}:host(.menu-item-checked) .checkmark{visibility:visible}.label{flex:1 1 auto}.start{flex:0 0 auto;display:flex;align-items:center}.start ::slotted(:last-child){margin-right:0.5em}.end{flex:0 0 auto;display:flex;align-items:center}.end ::slotted(:first-child){margin-left:0.5em}"}},[1,"gr-menu-item",{checked:[516],value:[513],disabled:[516],hasFocus:[32],setFocus:[64],removeFocus:[64]}]); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */!function(){if("undefined"==typeof customElements)return;["gr-menu-item"].forEach((e=>{if("gr-menu-item"===e)customElements.get(e)||customElements.define(e,si)}))}();const li={"gr-select":ai,"gr-menu-item":si};class ci extends(P(_)){constructor(){super(...arguments),this.value=null,this.multiple=!1,this.clearable=!1,this._refSelect=y()}reset(){this.value=null}_valueChangedHandler(e){const t=this._refSelect.value?.value;if(void 0!==t&&!l(this.value,t)){const e=null===this.value;this.value=t,e||w(this,"select:change",t)}}willUpdate(e){e.has("initialValue")&&this.initialValue&&!this.value&&(this.value=this.initialValue)}render(){return $` - ${this.options?.map((e=>$`${e.label}`))} - `}static get styles(){return k(':root, :host {\n --gr-color-primary: #1079b2;\n --gr-color-primary-rgb: 16, 121, 178;\n --gr-color-primary-contrast: #ffffff;\n --gr-color-primary-contrast-rgb: 255, 255, 255;\n --gr-color-primary-shade: #0d6696;\n --gr-color-primary-tint: #1499e1;\n --gr-color-secondary: #051f2c;\n --gr-color-secondary-rgb: 5, 31, 44;\n --gr-color-secondary-contrast: #ffffff;\n --gr-color-secondary-contrast-rgb: 255, 255, 255;\n --gr-color-secondary-shade: #000000;\n --gr-color-secondary-tint: #0a415c;\n --gr-color-tertiary: #0c4a6e;\n --gr-color-tertiary-rgb: 12, 74, 110;\n --gr-color-tertiary-contrast: #ffffff;\n --gr-color-tertiary-contrast-rgb: 255, 255, 255;\n --gr-color-tertiary-shade: #083249;\n --gr-color-tertiary-tint: #106393;\n --gr-color-success: #0fbe78;\n --gr-color-success-rgb: 15, 190, 120;\n --gr-color-success-contrast: #000000;\n --gr-color-success-contrast-rgb: 0, 0, 0;\n --gr-color-success-shade: #057f4e;\n --gr-color-success-tint: #12e28f;\n --gr-color-warning: #fbbc4e;\n --gr-color-warning-rgb: 251, 188, 78;\n --gr-color-warning-contrast: #051f2c;\n --gr-color-warning-contrast-rgb: 5, 31, 44;\n --gr-color-warning-shade: #9e6400;\n --gr-color-warning-tint: #fdd187;\n --gr-color-danger: #e60017;\n --gr-color-danger-rgb: 230, 0, 23;\n --gr-color-danger-contrast: #ffffff;\n --gr-color-danger-contrast-rgb: 255, 255, 255;\n --gr-color-danger-shade: #cc0014;\n --gr-color-danger-tint: #ff1f35;\n --gr-color-light: #f4f5f8;\n --gr-color-light-rgb: 244, 245, 248;\n --gr-color-light-contrast: #051f2c;\n --gr-color-light-contrast-rgb: 5, 31, 44;\n --gr-color-light-shade: #d7d8da;\n --gr-color-light-tint: #f9fafb;\n --gr-color-medium: #5e6c78;\n --gr-color-medium-rgb: 94, 108, 120;\n --gr-color-medium-contrast: #ffffff;\n --gr-color-medium-contrast-rgb: 255, 255, 255;\n --gr-color-medium-shade: #48535b;\n --gr-color-medium-tint: #81909c;\n --gr-color-dark: #02131b;\n --gr-color-dark-rgb: 2, 19, 27;\n --gr-color-dark-contrast: #ffffff;\n --gr-color-dark-contrast-rgb: 255, 255, 255;\n --gr-color-dark-shade: #000000;\n --gr-color-dark-tint: #222428;\n --gr-color-white: #ffffff;\n --gr-color-black: #000000;\n --gr-border-radius-small: 0.125rem;\n --gr-border-radius-medium: 0.25rem;\n --gr-border-radius-large: 0.5rem;\n --gr-border-radius-x-large: 1rem;\n --gr-border-width-small: 0.063rem;\n --gr-border-width-medium: 0.125rem;\n --gr-border-width-large: 0.188rem;\n --gr-shadow-x-small: 0 1px 0 #0d131e0d;\n --gr-shadow-small: 0 1px 2px #0d131e1a;\n --gr-shadow-medium: 0 2px 4px #0d131e1a;\n --gr-shadow-large: 0 2px 8px #0d131e1a;\n --gr-shadow-x-large: 0 4px 16px #0d131e1a;\n --gr-spacing-xxx-small: 0.125rem;\n --gr-spacing-xx-small: 0.25rem;\n --gr-spacing-x-small: 0.5rem;\n --gr-spacing-small: 0.75rem;\n --gr-spacing-medium: 1rem;\n --gr-spacing-large: 1.25rem;\n --gr-spacing-x-large: 1.75rem;\n --gr-spacing-xx-large: 2.25rem;\n --gr-spacing-xxx-large: 3rem;\n --gr-spacing-xxxx-large: 4.5rem;\n --gr-font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial,\n sans-serif;\n --gr-letter-spacing-dense: -0.015em;\n --gr-letter-spacing-normal: normal;\n --gr-letter-spacing-loose: 0.075em;\n --gr-line-height-dense: 1.4;\n --gr-line-height-normal: 1.8;\n --gr-line-height-loose: 2.2;\n --gr-font-size-xx-small: 0.625rem;\n --gr-font-size-x-small: 0.75rem;\n --gr-font-size-small: 0.875rem;\n --gr-font-size-medium: 1rem;\n --gr-font-size-large: 1.25rem;\n --gr-font-size-x-large: 1.5rem;\n --gr-font-size-xx-large: 2.25rem;\n --gr-font-size-xxx-large: 3rem;\n --gr-font-size-xxxx-large: 4.5rem;\n --gr-font-weight-thin: 100;\n --gr-font-weight-extra-light: 200;\n --gr-font-weight-light: 300;\n --gr-font-weight-normal: 400;\n --gr-font-weight-medium: 500;\n --gr-font-weight-semi-bold: 600;\n --gr-font-weight-bold: 700;\n --gr-font-weight-extra-bold: 800;\n --gr-font-weight-black: 900;\n --gr-form-element-font-size-x-small: var(--gr-font-size-x-small);\n --gr-form-element-font-size-small: var(--gr-font-size-small);\n --gr-form-element-font-size-medium: var(--gr-font-size-medium);\n --gr-form-element-font-size-large: var(--gr-font-size-large);\n --gr-form-element-height-small: 2.188rem;\n --gr-form-element-height-medium: 3.125rem;\n --gr-form-element-height-large: 4.063rem;\n --gr-form-element-border-radius-small: var(--gr-border-radius-medium);\n --gr-form-element-border-radius-medium: var(--gr-border-radius-medium);\n --gr-form-element-border-radius-large: var(--gr-border-radius-medium);\n --gr-focus-ring-width: 2px;\n --gr-form-element-label-font-size-small: var(--gr-font-size-small);\n --gr-form-element-label-font-size-medium: var(--gr-font-size-medium);\n --gr-form-element-label-font-size-large: var(--gr-font-size-large);\n --gr-form-element-label-color: inherit;\n --gr-form-element-help-text-font-size-small: var(--gr-font-size-x-small);\n --gr-form-element-help-text-font-size-medium: var(--gr-font-size-small);\n --gr-form-element-help-text-font-size-large: var(--gr-font-size-medium);\n --gr-form-element-help-text-color: var(--gr-color-medium);\n --gr-form-element-invalid-text-font-size-small: var(--gr-font-size-x-small);\n --gr-form-element-invalid-text-font-size-medium: var(--gr-font-size-small);\n --gr-form-element-invalid-text-font-size-large: var(--gr-font-size-medium);\n --gr-form-element-invalid-text-color: var(--gr-color-danger);\n --gr-toggle-size: 1rem;\n --gr-panel-border-color: var(--gr-color-light-shade);\n --gr-z-index-dropdown: 900;\n}\n\n')}}ci.elementDefinitions={...li},f([v({attribute:!1,hasChanged:b})],ci.prototype,"options",void 0),f([v({attribute:!1,hasChanged:b})],ci.prototype,"value",void 0),f([v({attribute:!1,hasChanged:b})],ci.prototype,"initialValue",void 0),f([v({attribute:!0})],ci.prototype,"label",void 0),f([v({attribute:!0})],ci.prototype,"placeholder",void 0),f([v({attribute:!0,type:Boolean})],ci.prototype,"multiple",void 0),f([v({attribute:!0,type:Boolean})],ci.prototype,"clearable",void 0);let di=class extends(P(_)){constructor(){super(...arguments),this._mediaFilterController=new U(this),this._refMediaType=y(),this._refCamera=y(),this._refWhen=y(),this._refWhenFrom=y(),this._refWhenTo=y(),this._refWhat=y(),this._refWhere=y(),this._refFavorite=y(),this._refTags=y()}willUpdate(e){e.has("viewManagerEpoch")&&this._mediaFilterController.setViewManager(this.viewManagerEpoch?.manager??null),e.has("cameraManager")&&this.cameraManager&&(this._mediaFilterController.computeCameraOptions(this.cameraManager),this._mediaFilterController.computeMetadataOptions(this.cameraManager)),!e.get("viewManager")&&this.viewManagerEpoch&&this.cameraManager&&this._mediaFilterController.computeInitialDefaultsFromView(this.cameraManager)}render(){const e=async()=>{this.cameraManager&&this.viewManagerEpoch&&this.cardWideConfig&&await this._mediaFilterController.valueChangeHandler(this.cameraManager,this.cardWideConfig,{camera:this._refCamera.value?.value??void 0,mediaType:this._refMediaType.value?.value??void 0,when:{selected:this._refWhen.value?.value??void 0,from:this._refWhenFrom.value?.value,to:this._refWhenTo.value?.value},favorite:this._refFavorite.value?.value??void 0,where:this._refWhere.value?.value??void 0,what:this._refWhat.value?.value??void 0,tags:this._refTags.value?.value??void 0})},t=async t=>{"custom"===t&&this._refWhen.value?this._refWhenFrom.value?.value||this._refWhenTo.value?.value?this._refWhen.value.value=B.Custom:this._refWhen.value.reset():this._refWhen.value?.value!==B.Custom&&(this._refWhenFrom.value?.reset(),this._refWhenTo.value?.reset()),await e()};if(!this.cameraManager||!this.viewManagerEpoch)return;const r=this._mediaFilterController.getControlsToShow(this.cameraManager),o=this._mediaFilterController.getDefaults(),n=this._mediaFilterController.getWhatOptions(),a=this._mediaFilterController.getTagsOptions(),s=this._mediaFilterController.getWhereOptions();return $` e()} - > - -

- e()} - > - - ${r.events&&n.length?$` e()} - > - `:""} - ${r.events&&a.length?$` e()} - > - `:""} - ${r.events&&s.length?$` e()} - > - `:""} - ${r.favorites?$` - e()} - > - - `:""}`}static get styles(){return k(":host {\n display: flex;\n flex-direction: column;\n overflow: auto;\n scrollbar-width: none;\n -ms-overflow-style: none;\n height: 100%;\n width: 300px;\n margin: 5px;\n}\n\n/* Hide scrollbar for Chrome, Safari and Opera */\n:host::-webkit-scrollbar {\n display: none;\n}\n\nfrigate-card-select {\n padding: 5px;\n}\n\ndiv.when {\n display: inline-flex;\n align-items: flex-end;\n}\n\ndiv.when frigate-card-select {\n flex: 1;\n}\n\ndiv.when frigate-card-date-picker {\n padding-bottom: 5px;\n transition: width 0.5s ease-in-out;\n}\n\ndiv.when frigate-card-date-picker {\n color: var(--secondary-color);\n}\n\ndiv.when frigate-card-date-picker.selected {\n color: var(--primary-color);\n}\n\ndiv.when frigate-card-date-picker.hidden {\n width: 0px;\n}")}};di.elementDefinitions={"frigate-card-select":ci,"frigate-card-date-picker":R},f([v({attribute:!1})],di.prototype,"hass",void 0),f([v({attribute:!1})],di.prototype,"cameraManager",void 0),f([v({attribute:!1})],di.prototype,"viewManagerEpoch",void 0),f([v({attribute:!1})],di.prototype,"cardWideConfig",void 0),di=f([C("frigate-card-media-filter")],di);const hi={closed:"mdi:filter-cog-outline",open:"mdi:filter-cog"};let gi=class extends _{render(){const e=this.viewManagerEpoch?.manager.getView();if(this.hass&&e?.isGalleryView()&&this.cameraManager&&this.cardWideConfig)return $` - - ${this.galleryConfig&&"none"!==this.galleryConfig.controls.filter.mode?$` - `:""} - - - - `}static get styles(){return k(":host {\n width: 100%;\n height: 100%;\n display: block;\n}\n\nfrigate-card-surround-basic {\n max-height: 110dvh;\n}")}};f([v({attribute:!1})],gi.prototype,"hass",void 0),f([v({attribute:!1})],gi.prototype,"viewManagerEpoch",void 0),f([v({attribute:!1})],gi.prototype,"galleryConfig",void 0),f([v({attribute:!1})],gi.prototype,"cameraManager",void 0),f([v({attribute:!1})],gi.prototype,"cardWideConfig",void 0),gi=f([C("frigate-card-gallery")],gi);let ui=class extends _{constructor(){super(),this._refLoaderBottom=y(),this._refSelected=y(),this._showLoaderBottom=!0,this._showLoaderTop=!1,this._boundWheelHandler=this._wheelHandler.bind(this),this._boundTouchStartHandler=this._touchStartHandler.bind(this),this._boundTouchEndHandler=this._touchEndHandler.bind(this),this._throttleExtendGalleryLater=O(this._extendGallery.bind(this),500,{leading:!0,trailing:!1}),this._touchScrollYPosition=null,this._resizeObserver=new ResizeObserver(this._resizeHandler.bind(this)),this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this))}_touchStartHandler(e){1===e.touches.length?this._touchScrollYPosition=e.touches[0].screenY:this._touchScrollYPosition=null}async _touchEndHandler(e){!this.scrollTop&&1===e.changedTouches.length&&this._touchScrollYPosition&&e.changedTouches[0].screenY>this._touchScrollYPosition&&await this._extendLater(),this._touchScrollYPosition=null}async _wheelHandler(e){!this.scrollTop&&e.deltaY<0&&await this._extendLater()}async _extendLater(){const e=new Date;this._showLoaderTop=!0,await this._throttleExtendGalleryLater("later",!1);const t=(new Date).getTime()-e.getTime();t<500&&await S(.5-t/1e3),this._showLoaderTop=!1}connectedCallback(){super.connectedCallback(),this._resizeObserver.observe(this),this.addEventListener("wheel",this._boundWheelHandler,{passive:!0}),this.addEventListener("touchstart",this._boundTouchStartHandler,{passive:!0}),this.addEventListener("touchend",this._boundTouchEndHandler),this.requestUpdate()}disconnectedCallback(){this.removeEventListener("wheel",this._boundWheelHandler),this.removeEventListener("touchstart",this._boundTouchStartHandler),this.removeEventListener("touchend",this._boundTouchEndHandler),this._resizeObserver.disconnect(),this._intersectionObserver.disconnect(),super.disconnectedCallback()}_setColumnCount(){const e=this.galleryConfig?.controls.thumbnails.size??M.media_gallery.controls.thumbnails.size,t=this.galleryConfig?.controls.thumbnails.show_details?Math.max(1,Math.floor(this.clientWidth/z)):Math.max(1,Math.ceil(this.clientWidth/e));this.style.setProperty("--frigate-card-gallery-columns",String(t))}_resizeHandler(){this._setColumnCount()}async _intersectionHandler(e){e.every((e=>!e.isIntersecting))||(this._showLoaderBottom=!1,await this._extendGallery("earlier"))}async _extendGallery(e,t=!0){const r=this.viewManagerEpoch?.manager.getView();if(!this.cameraManager||!this.hass||!r)return;const i=r.query,n=i?.getQueries()??null,s=r.queryResults?.getResults();if(!i||!n||!s)return;let l;try{l=await this.cameraManager.extendMediaQueries(n,s,e,{useCache:t})}catch(e){return void d(e)}if(l){const e=c.areEventQueries(i)?new o(l.queries):c.areRecordingQueries(i)?new a(l.queries):null;e&&this.viewManagerEpoch?.manager.setViewByParameters({baseView:r,params:{query:e,queryResults:new L({results:l.results}).selectResultIfFound((e=>e===r.queryResults?.getSelectedResult()))}})}}willUpdate(e){if(e.has("galleryConfig")&&(this.galleryConfig?.controls.thumbnails.show_details?this.setAttribute("details",""):this.removeAttribute("details"),this._setColumnCount(),this.galleryConfig?.controls.thumbnails.size&&this.style.setProperty("--frigate-card-thumbnail-size",`${this.galleryConfig.controls.thumbnails.size}px`)),e.has("viewManagerEpoch")){this._showLoaderBottom=!0;const e=this.viewManagerEpoch?.manager.getView(),t=this.viewManagerEpoch?.oldView;this._media&&t?.queryResults?.getResults()===e?.queryResults?.getResults()||(this._media=[...e?.queryResults?.getResults()??[]].reverse())}}render(){if(!this._media||!this.hass)return $``;const e=this.viewManagerEpoch?.manager.getView();if(!e?.queryResults||0===e.queryResults.getResultsCount()){const t=!!e?.context?.loading?.query;return D({type:"info",message:i(t?"error.awaiting_media":"common.no_media"),icon:"mdi:multimedia",dotdotdot:t})}const t=e.queryResults.getSelectedResult();return $`
- ${this._showLoaderTop?$`${A({cardWideConfig:this.cardWideConfig,classes:{top:!0},size:"small"})}`:""} - ${this._media.map(((r,i)=>$`{this._media&&this.viewManagerEpoch?.manager.setViewByParameters({params:{view:"media",queryResults:e.queryResults?.clone().selectIndex(this._media.length-i-1)}}),F(t)}} - > - `))} - ${this._showLoaderBottom?$`${A({cardWideConfig:this.cardWideConfig,componentRef:this._refLoaderBottom})}`:""} -
`}updated(e){this._refLoaderBottom.value&&(this._intersectionObserver.disconnect(),this._intersectionObserver.observe(this._refLoaderBottom.value)),this.updateComplete.then((()=>{e.has("viewManagerEpoch")&&!e.get("viewManagerEpoch")&&this._refSelected.value&&this._refSelected.value.scrollIntoView({block:"center"})}))}static get styles(){return k(":host {\n width: 100%;\n height: 100%;\n display: block;\n overflow: auto;\n -ms-overflow-style: none;\n scrollbar-width: none;\n --frigate-card-gallery-gap: 3px;\n --frigate-card-gallery-columns: 4;\n}\n\n.grid {\n display: grid;\n grid-template-columns: repeat(var(--frigate-card-gallery-columns), minmax(0, 1fr));\n grid-auto-rows: min-content;\n gap: var(--frigate-card-gallery-gap);\n}\n\n:host::-webkit-scrollbar {\n display: none;\n}\n\nfrigate-card-thumbnail {\n height: 100%;\n max-height: var(--frigate-card-thumbnail-size);\n}\n\nfrigate-card-thumbnail:not([details]) {\n width: 100%;\n}\n\nfrigate-card-thumbnail.selected {\n border: 4px solid var(--accent-color);\n border-radius: calc(var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px)) + 4px);\n}\n\nfrigate-card-progress-indicator.top {\n grid-column: 1/-1;\n}")}};f([v({attribute:!1})],ui.prototype,"hass",void 0),f([v({attribute:!1})],ui.prototype,"viewManagerEpoch",void 0),f([v({attribute:!1})],ui.prototype,"galleryConfig",void 0),f([v({attribute:!1})],ui.prototype,"cameraManager",void 0),f([v({attribute:!1})],ui.prototype,"cardWideConfig",void 0),f([E()],ui.prototype,"_showLoaderBottom",void 0),f([E()],ui.prototype,"_showLoaderTop",void 0),ui=f([C("frigate-card-gallery-core")],ui);export{gi as FrigateCardGallery,ui as FrigateCardGalleryCore}; diff --git a/config/www/community/frigate-hass-card/gallery-149d4f41.js.gz b/config/www/community/frigate-hass-card/gallery-149d4f41.js.gz deleted file mode 100644 index 1a315d42a29940f861d4391a501d6fd5f792b2f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30834 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
cjPMB$^&lpr9+*mNLw>WQAMq4 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.registry.define(t,r))));const n=this.renderOptions.creationScope=this.attachShadow({...o,customElements:e.registry});return r(n,this.constructor.elementStyles),n}}}!function(e){e.Favorite="favorite",e.NotFavorite="not-favorite"}(j||(j={})),function(e){e.Today="today",e.Yesterday="yesterday",e.PastWeek="past-week",e.PastMonth="past-month",e.Custom="custom"}(B||(B={})),function(e){e.Clips="clips",e.Snapshots="snapshots",e.Recordings="recordings"}(q||(q={}));class U{constructor(e){this._cameraOptions=[],this._whenOptions=[],this._metaDataWhenOptions=[],this._whatOptions=[],this._whereOptions=[],this._tagsOptions=[],this._defaults=null,this._viewManager=null,this._host=e,this._favoriteOptions=[{value:j.Favorite,label:i("media_filter.favorite")},{value:j.NotFavorite,label:i("media_filter.not_favorite")}],this._mediaTypeOptions=[{value:q.Clips,label:i("media_filter.media_types.clips")},{value:q.Snapshots,label:i("media_filter.media_types.snapshots")},{value:q.Recordings,label:i("media_filter.media_types.recordings")}],this._staticWhenOptions=[{value:B.Today,label:i("media_filter.whens.today")},{value:B.Yesterday,label:i("media_filter.whens.yesterday")},{value:B.PastWeek,label:i("media_filter.whens.past_week")},{value:B.PastMonth,label:i("media_filter.whens.past_month")},{value:B.Custom,label:i("media_filter.whens.custom")}],this._computeWhenOptions()}getMediaTypeOptions(){return this._mediaTypeOptions}getCameraOptions(){return this._cameraOptions}getWhenOptions(){return this._whenOptions}getWhatOptions(){return this._whatOptions}getWhereOptions(){return this._whereOptions}getTagsOptions(){return this._tagsOptions}getFavoriteOptions(){return this._favoriteOptions}getDefaults(){return this._defaults}setViewManager(e){this._viewManager=e}async valueChangeHandler(e,t,r,i){const s=e=>e&&Array.isArray(e)&&e.length&&!e.includes("")?new Set([...e]):null,l=s(r.camera)??this._getAllCameraIDs(e);if(!l.size||!r.mediaType)return;const c=this._getWhen(r.when),d=r.favorite?r.favorite===j.Favorite:null,h=t.performance?.features.media_chunk_size;if(r.mediaType===q.Clips||r.mediaType===q.Snapshots){const e=s(r.where),t=s(r.what),i=s(r.tags),a=new o([{type:n.Event,cameraIDs:l,...i&&{tags:i},...t&&{what:t},...e&&{where:e},...null!==d&&{favorite:d},...c&&{...c.start&&{start:c.start},...c.end&&{end:c.end}},...h&&{limit:h},...r.mediaType===q.Clips&&{hasClip:!0},...r.mediaType===q.Snapshots&&{hasSnapshot:!0}}]);this._viewManager?.setViewByParametersWithExistingQuery({params:{query:a,...1===l.size&&{camera:[...l][0]},view:r.mediaType===q.Clips?"clips":"snapshots"}})}else{const e=new a([{type:n.Recording,cameraIDs:l,...h&&{limit:h},...c&&{...c.start&&{start:c.start},...c.end&&{end:c.end}},...null!==d&&{favorite:d}}]);this._viewManager?.setViewByParametersWithExistingQuery({params:{query:e,...1===l.size&&{camera:[...l][0]},view:"recordings"}})}this._host.requestUpdate()}_getAllCameraIDs(e){return e.getStore().getCameraIDsWithCapability({anyCapabilities:["clips","snapshots","recordings"]})}computeInitialDefaultsFromView(e){const t=this._viewManager?.getView(),r=t?.query?.getQueries(),i=this._getAllCameraIDs(e);if(!t||!r||!i.size)return;let o,n,a,d,h,g;1!==s(r.map((e=>e.cameraIDs)),l).length||l(r[0].cameraIDs,i)||(n=[...r[0].cameraIDs]); -/* istanbul ignore else: the else path cannot be reached -- @preserve */ -if(1===s(r.map((e=>e.favorite)),l).length&&void 0!==r[0].favorite&&(h=r[0].favorite?j.Favorite:j.NotFavorite),c.areEventQueries(t.query)){const e=t.query.getQueries(); -/* istanbul ignore if: the if path cannot be reached -- @preserve */if(!e)return;const r=s(e.map((e=>e.hasClip)),l),i=s(e.map((e=>e.hasSnapshot)),l);1===r.length&&1===i.length&&(o=r[0]?q.Clips:i[0]?q.Snapshots:void 0);1===s(e.map((e=>e.what)),l).length&&e[0].what?.size&&(a=[...e[0].what]);1===s(e.map((e=>e.where)),l).length&&e[0].where?.size&&(d=[...e[0].where]);1===s(e.map((e=>e.tags)),l).length&&e[0].tags?.size&&(g=[...e[0].tags])}else c.areRecordingQueries(t.query)&&(o=q.Recordings);this._defaults={...o&&{mediaType:o},...n&&{cameraIDs:n},...a&&{what:a},...d&&{where:d},...void 0!==h&&{favorite:h},...g&&{tags:g}}}computeCameraOptions(e){this._cameraOptions=[...this._getAllCameraIDs(e)].map((t=>({value:t,label:e.getCameraMetadata(t)?.title??t})))}async computeMetadataOptions(e){let t=null;try{t=await e.getMediaMetadata()}catch(e){d(e)}if(t){if(t.what&&(this._whatOptions=[...t.what].sort().map((e=>({value:e,label:h(e)})))),t.where&&(this._whereOptions=[...t.where].sort().map((e=>({value:e,label:h(e)})))),t.tags&&(this._tagsOptions=[...t.tags].sort().map((e=>({value:e,label:h(e)})))),t.days){const e=new Set;[...t.days].forEach((t=>{e.add(t.substring(0,7))}));const r=[];e.forEach((e=>{r.push(W(e,"yyyy-MM",new Date))})),this._metaDataWhenOptions=g(r,(e=>e.getTime()),"desc").map((e=>({label:u(e,"MMMM yyyy"),value:this._dateRangeToString({start:e,end:N(e)})}))),this._computeWhenOptions()}this._host.requestUpdate()}}getControlsToShow(e){const t=this._viewManager?.getView(),r=c.areEventQueries(t?.query),i=c.areRecordingQueries(t?.query),o=e.getAggregateCameraCapabilities();return{events:r,recordings:i,favorites:r?o?.has("favorite-events"):!!i&&o?.has("favorite-recordings")}}_computeWhenOptions(){this._whenOptions=[...this._staticWhenOptions,...this._metaDataWhenOptions]}_dateRangeToString(e){return`${m(e.start)},${m(e.end)}`}_stringToDateRange(e){const t=e.split(",");return{start:W(t[0],"yyyy-MM-dd",new Date),end:I(W(t[1],"yyyy-MM-dd",new Date))}}_getWhen(e){if(e.from||e.to)return{...e.from&&{start:e.from},...e.to&&{end:e.to}};if(!e.selected||Array.isArray(e.selected))return null;const r=new Date;switch(e.selected){case B.Custom:return null;case B.Today:return{start:t(Date.now()),end:I(Date.now())};case B.Yesterday:return{start:V(),end:H()};case B.PastWeek:return{start:t(p(r,{days:7})),end:I(r)};case B.PastMonth:return{start:t(p(r,{months:1})),end:I(r)};default:return this._stringToDateRange(e.selected)}}}const K=!0,Y=!0,Q=!0,G=!1,X=!1;let Z,J,ee,te=!1,re=!1,ie=!1,oe=!1,ne=null,ae=!1;const se="http://www.w3.org/1999/xlink",le={},ce=e=>"object"===(e=typeof e)||"function"===e;const de=(e,t,...r)=>{let i=null,o=null,n=null,a=!1,s=!1;const l=[],c=t=>{for(let r=0;re[t])).join(" "))}}if("function"==typeof e)return e(null===t?{}:t,l,ue);const d=he(e,null);return d.$attrs$=t,l.length>0&&(d.$children$=l),d.$key$=o,d.$name$=n,d},he=(e,t)=>{const r={$flags$:0,$tag$:e,$text$:t,$elm$:null,$children$:null,$attrs$:null,$key$:null,$name$:null};return r},ge={},ue={forEach:(e,t)=>e.map(me).forEach(t),map:(e,t)=>e.map(me).map(t).map(pe)},me=e=>({vattrs:e.$attrs$,vchildren:e.$children$,vkey:e.$key$,vname:e.$name$,vtag:e.$tag$,vtext:e.$text$}),pe=e=>{if("function"==typeof e.vtag){const t=Object.assign({},e.vattrs);return e.vkey&&(t.key=e.vkey),e.vname&&(t.name=e.vname),de(e.vtag,t,...e.vchildren||[])}const t=he(e.vtag,e.vtext);return t.$attrs$=e.vattrs,t.$children$=e.vchildren,t.$key$=e.vkey,t.$name$=e.vname,t},fe=(e,t,r)=>{const i=e;return{emit:e=>ve(i,t,{bubbles:!!(4&r),composed:!!(2&r),cancelable:!!(1&r),detail:e})}},ve=(e,t,r)=>{const i=ht.ce(t,r);return e.dispatchEvent(i),i},be=new WeakMap,ye=e=>{const t=e.$cmpMeta$,r=e.$hostElement$,i=t.$flags$,o=(t.$tagName$,()=>{}),n=((e,t,r,i)=>{var o;let n=we(t,r);const a=at.get(n);if(e=11===e.nodeType?e:ct,a)if("string"==typeof a){e=e.head||e;let t,r=be.get(e);if(r||be.set(e,r=new Set),!r.has(n)){{t=ct.createElement("style"),t.innerHTML=a;const r=null!==(o=ht.$nonce$)&&void 0!==o?o:function(e){var t,r,i;return null!==(i=null===(r=null===(t=e.head)||void 0===t?void 0:t.querySelector('meta[name="csp-nonce"]'))||void 0===r?void 0:r.getAttribute("content"))&&void 0!==i?i:void 0}(ct);null!=r&&t.setAttribute("nonce",r),e.insertBefore(t,e.querySelector("link"))}r&&r.add(n)}}else e.adoptedStyleSheets.includes(a)||(e.adoptedStyleSheets=[...e.adoptedStyleSheets,a]);return n})(r.shadowRoot?r.shadowRoot:r.getRootNode(),t,e.$modeName$);10&i&&(r["s-sc"]=n,r.classList.add(n+"-h"),2&i&&r.classList.add(n+"-s")),o()},we=(e,t)=>"sc-"+(t&&32&e.$flags$?e.$tagName$+"-"+t:e.$tagName$),$e=(e,t,r,i,o,n)=>{if(r!==i){let a=ot(e,t),s=t.toLowerCase();if("class"===t){const t=e.classList,o=ke(r),n=ke(i);t.remove(...o.filter((e=>e&&!n.includes(e)))),t.add(...n.filter((e=>e&&!o.includes(e))))}else if("style"===t){for(const t in r)i&&null!=i[t]||(t.includes("-")?e.style.removeProperty(t):e.style[t]="");for(const t in i)r&&i[t]===r[t]||(t.includes("-")?e.style.setProperty(t,i[t]):e.style[t]=i[t])}else if("key"===t);else if("ref"===t)i&&i(e);else if(e.__lookupSetter__(t)||"o"!==t[0]||"n"!==t[1]){const l=ce(i);if((a||l&&null!==i)&&!o)try{if(e.tagName.includes("-"))e[t]=i;else{const o=null==i?"":i;"list"===t?a=!1:null!=r&&e[t]==o||(e[t]=o)}}catch(e){}let c=!1;s!==(s=s.replace(/^xlink\:?/,""))&&(t=s,c=!0),null==i||!1===i?!1===i&&""!==e.getAttribute(t)||(c?e.removeAttributeNS(se,t):e.removeAttribute(t)):(!a||4&n||o)&&!l&&(i=!0===i?"":i,c?e.setAttributeNS(se,t,i):e.setAttribute(t,i))}else t="-"===t[2]?t.slice(3):ot(lt,s)?s.slice(2):s[2]+t.slice(3),r&&ht.rel(e,t,r,!1),i&&ht.ael(e,t,i,!1)}},xe=/\s/,ke=e=>e?e.split(xe):[],_e=(e,t,r,i)=>{const o=11===t.$elm$.nodeType&&t.$elm$.host?t.$elm$.host:t.$elm$,n=e&&e.$attrs$||le,a=t.$attrs$||le;for(i in n)i in a||$e(o,i,n[i],void 0,r,t.$flags$);for(i in a)$e(o,i,n[i],a[i],r,t.$flags$)},Ce=(e,t,r,i)=>{const o=t.$children$[r];let n,a,s,l=0;if(te||(ie=!0,"slot"===o.$tag$&&(Z&&i.classList.add(Z+"-s"),o.$flags$|=o.$children$?2:1)),null!==o.$text$)n=o.$elm$=ct.createTextNode(o.$text$);else if(1&o.$flags$)n=o.$elm$=ct.createTextNode("");else{if(oe||(oe="svg"===o.$tag$),n=o.$elm$=ct.createElementNS(oe?"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",2&o.$flags$?"slot-fb":o.$tag$),oe&&"foreignObject"===o.$tag$&&(oe=!1),_e(null,o,oe),null!=Z&&n["s-si"]!==Z&&n.classList.add(n["s-si"]=Z),o.$children$)for(l=0;l{ht.$flags$|=1;const r=e.childNodes;for(let e=r.length-1;e>=0;e--){const i=r[e];i["s-hn"]!==ee&&i["s-ol"]&&(ze(i).insertBefore(i,Me(i)),i["s-ol"].remove(),i["s-ol"]=void 0,ie=!0),t&&Te(i,t)}ht.$flags$&=-2},Ee=(e,t,r,i,o,n)=>{let a,s=e["s-cr"]&&e["s-cr"].parentNode||e;for(s.shadowRoot&&s.tagName===ee&&(s=s.shadowRoot);o<=n;++o)i[o]&&(a=Ce(null,r,o,e),a&&(i[o].$elm$=a,s.insertBefore(a,Me(t))))},Oe=(e,t,r,i,o)=>{for(;t<=r;++t)(i=e[t])&&(o=i.$elm$,We(i),re=!0,o["s-ol"]?o["s-ol"].remove():Te(o,!0),o.remove())},Se=(e,t)=>e.$tag$===t.$tag$&&("slot"===e.$tag$?e.$name$===t.$name$:e.$key$===t.$key$),Me=e=>e&&e["s-ol"]||e,ze=e=>(e["s-ol"]?e["s-ol"]:e).parentNode,Le=(e,t)=>{const r=t.$elm$=e.$elm$,i=e.$children$,o=t.$children$,n=t.$tag$,a=t.$text$;let s;null===a?(oe="svg"===n||"foreignObject"!==n&&oe,"slot"===n||_e(e,t,oe),null!==i&&null!==o?((e,t,r,i)=>{let o,n,a=0,s=0,l=0,c=0,d=t.length-1,h=t[0],g=t[d],u=i.length-1,m=i[0],p=i[u];for(;a<=d&&s<=u;)if(null==h)h=t[++a];else if(null==g)g=t[--d];else if(null==m)m=i[++s];else if(null==p)p=i[--u];else if(Se(h,m))Le(h,m),h=t[++a],m=i[++s];else if(Se(g,p))Le(g,p),g=t[--d],p=i[--u];else if(Se(h,p))"slot"!==h.$tag$&&"slot"!==p.$tag$||Te(h.$elm$.parentNode,!1),Le(h,p),e.insertBefore(h.$elm$,g.$elm$.nextSibling),h=t[++a],p=i[--u];else if(Se(g,m))"slot"!==h.$tag$&&"slot"!==p.$tag$||Te(g.$elm$.parentNode,!1),Le(g,m),e.insertBefore(g.$elm$,h.$elm$),g=t[--d],m=i[++s];else{for(l=-1,c=a;c<=d;++c)if(t[c]&&null!==t[c].$key$&&t[c].$key$===m.$key$){l=c;break}l>=0?(n=t[l],n.$tag$!==m.$tag$?o=Ce(t&&t[s],r,l,e):(Le(n,m),t[l]=void 0,o=n.$elm$),m=i[++s]):(o=Ce(t&&t[s],r,s,e),m=i[++s]),o&&ze(h.$elm$).insertBefore(o,Me(h.$elm$))}a>d?Ee(e,null==i[u+1]?null:i[u+1].$elm$,r,i,s,u):s>u&&Oe(t,a,d)})(r,i,t,o):null!==o?(null!==e.$text$&&(r.textContent=""),Ee(r,null,t,o,0,o.length-1)):null!==i&&Oe(i,0,i.length-1),oe&&"svg"===n&&(oe=!1)):(s=r["s-cr"])?s.parentNode.textContent=a:e.$text$!==a&&(r.data=a)},De=e=>{const t=e.childNodes;let r,i,o,n,a,s;for(i=0,o=t.length;i{let t,r,i,o,n,a,s=0;const l=e.childNodes,c=l.length;for(;s=0;a--)r=i[a],r["s-cn"]||r["s-nr"]||r["s-hn"]===t["s-hn"]||(Ie(r,o)?(n=Ae.find((e=>e.$nodeToRelocate$===r)),re=!0,r["s-sn"]=r["s-sn"]||o,n?n.$slotRefNode$=t:Ae.push({$slotRefNode$:t,$nodeToRelocate$:r}),r["s-sr"]&&Ae.map((e=>{Ie(e.$nodeToRelocate$,r["s-sn"])&&(n=Ae.find((e=>e.$nodeToRelocate$===r)),n&&!e.$slotRefNode$&&(e.$slotRefNode$=n.$slotRefNode$))}))):Ae.some((e=>e.$nodeToRelocate$===r))||Ae.push({$nodeToRelocate$:r}));1===t.nodeType&&Fe(t)}},Ie=(e,t)=>1===e.nodeType?null===e.getAttribute("slot")&&""===t||e.getAttribute("slot")===t:e["s-sn"]===t||""===t,We=e=>{e.$attrs$&&e.$attrs$.ref&&e.$attrs$.ref(null),e.$children$&&e.$children$.map(We)},Re=(e,t)=>{const r=e.$hostElement$,i=e.$cmpMeta$,o=e.$vnode$||he(null,null),n=(a=t)&&a.$tag$===ge?t:de(null,null,t);var a;if(ee=r.tagName,i.$attrsToReflect$&&(n.$attrs$=n.$attrs$||{},i.$attrsToReflect$.map((([e,t])=>n.$attrs$[t]=r[e]))),n.$tag$=null,n.$flags$|=4,e.$vnode$=n,n.$elm$=o.$elm$=r.shadowRoot||r,Z=r["s-sc"],J=r["s-cr"],te=!!(1&i.$flags$),re=!1,Le(o,n),ht.$flags$|=1,ie){let e,t,r,i,o,a;Fe(n.$elm$);let s=0;for(;s{e.$flags$|=16,e.$ancestorComponent$;return $t((()=>He(e,t)))},He=(e,t)=>{const r=e.$hostElement$,i=(e.$cmpMeta$.$tagName$,()=>{}),o=r;let n;return n=qe(o,t?"componentWillLoad":"componentWillUpdate"),n=Pe(n,(()=>qe(o,"componentWillRender"))),i(),Pe(n,(()=>Ve(e,o,t)))},Ve=async(e,t,r)=>{const i=e.$hostElement$,o=(e.$cmpMeta$.$tagName$,()=>{});i["s-rc"],r&&ye(e);const n=(e.$cmpMeta$.$tagName$,()=>{});je(e,t,i),n(),o(),Be(e)},je=(e,t,r)=>{try{ne=t,t=t.render&&t.render(),e.$flags$&=-17,e.$flags$|=2,(K||Y)&&(Q||Y)&&(G||Re(e,t))}catch(t){nt(t,e.$hostElement$)}return ne=null,null},Be=e=>{e.$cmpMeta$.$tagName$;const t=()=>{},r=e.$hostElement$;e.$ancestorComponent$,qe(r,"componentDidRender"),64&e.$flags$?(qe(r,"componentDidUpdate"),t()):(e.$flags$|=64,qe(r,"componentDidLoad"),t())},qe=(e,t,r)=>{if(e&&e[t])try{return e[t](r)}catch(e){nt(e)}},Pe=(e,t)=>e&&e.then?e.then(t):t(),Ue=(e,t,r,i)=>{const o=rt(e),n=e,a=o.$instanceValues$.get(t),s=o.$flags$,l=n;var c,d;c=r,d=i.$members$[t][0],r=null==c||ce(c)?c:4&d?"false"!==c&&(""===c||!!c):2&d?parseFloat(c):1&d?String(c):c;const h=Number.isNaN(a)&&Number.isNaN(r);if(r!==a&&!h){if(o.$instanceValues$.set(t,r),i.$watchers$&&128&s){const e=i.$watchers$[t];e&&e.map((e=>{try{l[e](r,a,t)}catch(e){nt(e,n)}}))}if(2==(18&s)){if(l.componentShouldUpdate&&!1===l.componentShouldUpdate(r,a,t))return;Ne(o,!1)}}},Ke=(e,t,r)=>{if(t.$members$){e.watchers&&(t.$watchers$=e.watchers);const r=Object.entries(t.$members$),i=e.prototype;r.map((([e,[r]])=>{(31&r||32&r)&&Object.defineProperty(i,e,{get(){return t=e,rt(this).$instanceValues$.get(t);var t},set(r){Ue(this,e,r,t)},configurable:!0,enumerable:!0})}));{const o=new Map;i.attributeChangedCallback=function(e,t,r){ht.jmp((()=>{const t=o.get(e);if(this.hasOwnProperty(t))r=this[t],delete this[t];else if(i.hasOwnProperty(t)&&"number"==typeof this[t]&&this[t]==r)return;this[t]=(null!==r||"boolean"!=typeof this[t])&&r}))},e.observedAttributes=r.filter((([e,t])=>15&t[0])).map((([e,r])=>{const i=r[1]||e;return o.set(i,e),512&r[0]&&t.$attrsToReflect$.push([e,i]),i}))}}return e},Ye=async(e,t,r,i,o)=>{if(!(32&t.$flags$)&&(o=e.constructor,t.$flags$|=32,customElements.whenDefined(r.$tagName$).then((()=>t.$flags$|=128)),o.style)){let i=o.style;"string"!=typeof i&&(i=i[t.$modeName$=(e=>st.map((t=>t(e))).find((e=>!!e)))(e)]);const n=we(r,t.$modeName$);if(!at.has(n)){const e=(r.$tagName$,()=>{});((e,t,r)=>{let i=at.get(e);mt&&r?(i=i||new CSSStyleSheet,"string"==typeof i?i=t:i.replaceSync(t)):i=t,at.set(e,i)})(n,i,!!(1&r.$flags$)),e()}}t.$ancestorComponent$;Ne(t,!0)},Qe=e=>{const t=e["s-cr"]=ct.createComment("");t["s-cn"]=!0,e.insertBefore(t,e.firstChild)},Ge=(e,t)=>{const r={$flags$:t[0],$tagName$:t[1]};r.$members$=t[2],r.$listeners$=t[3],r.$watchers$=e.$watchers$,r.$attrsToReflect$=[],!gt&&1&r.$flags$&&(r.$flags$|=8);const i=e.prototype.connectedCallback,o=e.prototype.disconnectedCallback;return Object.assign(e.prototype,{__registerHost(){it(this,r)},connectedCallback(){(e=>{if(!(1&ht.$flags$)){const t=rt(e),r=t.$cmpMeta$,i=(r.$tagName$,()=>{});1&t.$flags$?(Xe(e,t,r.$listeners$),t.$lazyInstance$):(t.$flags$|=1,12&r.$flags$&&Qe(e),r.$members$&&Object.entries(r.$members$).map((([t,[r]])=>{if(31&r&&e.hasOwnProperty(t)){const r=e[t];delete e[t],e[t]=r}})),Ye(e,t,r)),i()}})(this),i&&i.call(this)},disconnectedCallback(){(e=>{if(!(1&ht.$flags$)){const t=rt(e);t.$rmListeners$&&(t.$rmListeners$.map((e=>e())),t.$rmListeners$=void 0)}})(this),o&&o.call(this)},__attachShadow(){gt?this.attachShadow({mode:"open",delegatesFocus:!!(16&r.$flags$)}):this.shadowRoot=this}}),e.is=r.$tagName$,Ke(e,r)},Xe=(e,t,r,i)=>{r&&r.map((([r,i,o])=>{const n=Je(e,r),a=Ze(t,o),s=et(r);ht.ael(n,i,a,s),(t.$rmListeners$=t.$rmListeners$||[]).push((()=>ht.rel(n,i,a,s)))}))},Ze=(e,t)=>r=>{try{X||e.$hostElement$[t](r)}catch(e){nt(e)}},Je=(e,t)=>4&t?ct:8&t?lt:16&t?ct.body:e,et=e=>ut?{passive:!!(1&e),capture:!!(2&e)}:!!(2&e),tt=new WeakMap,rt=e=>tt.get(e),it=(e,t)=>{const r={$flags$:0,$hostElement$:e,$cmpMeta$:t,$instanceValues$:new Map};return Xe(e,r,t.$listeners$),tt.set(e,r)},ot=(e,t)=>t in e,nt=(e,t)=>(0,console.error)(e,t),at=new Map,st=[],lt="undefined"!=typeof window?window:{},ct=lt.document||{head:{}},dt=lt.HTMLElement||class{},ht={$flags$:0,$resourcesUrl$:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,r,i)=>e.addEventListener(t,r,i),rel:(e,t,r,i)=>e.removeEventListener(t,r,i),ce:(e,t)=>new CustomEvent(e,t)},gt=!0,ut=(()=>{let e=!1;try{ct.addEventListener("e",null,Object.defineProperty({},"passive",{get(){e=!0}}))}catch(e){}return e})(),mt=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(e){}return!1})(),pt=[],ft=[],vt=(e,t)=>r=>{e.push(r),ae||(ae=!0,t&&4&ht.$flags$?wt(yt):ht.raf(yt))},bt=e=>{for(let t=0;t{bt(pt),bt(ft),(ae=pt.length>0)&&ht.raf(yt)},wt=e=>{return Promise.resolve(t).then(e);var t},$t=vt(ft,!0),xt=(e,t)=>{const r=!!e.label||e.hasLabelSlot,i=!!e.helpText||e.hasHelpTextSlot,o=!!e.invalidText||e.hasInvalidTextSlot,n=!e.invalid,a=!!e.invalid;return de("div",{class:{"form-control":!0,[`form-control-${e.size}`]:!0,"form-control-has-label":r,"form-control-has-help-text":i,"form-control-has-invalid-text":o}},de("label",{id:e.labelId,class:"form-control-label",htmlFor:e.inputId,"aria-hidden":r?"false":"true",onClick:e.onLabelClick},de("slot",{name:"label"},e.label),e.requiredIndicator&&de("div",{class:"asterisk"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 1200 1200"},de("path",{fill:"currentColor",d:"M489.838 29.354v443.603L68.032 335.894 0 545.285l421.829 137.086-260.743 358.876 178.219 129.398L600.048 811.84l260.673 358.806 178.146-129.398-260.766-358.783L1200 545.379l-68.032-209.403-421.899 137.07V29.443H489.84l-.002-.089z"})))),de("div",{class:"form-control-input"},t),n&&de("div",{id:e.helpTextId,class:"form-control-help-text","aria-hidden":i?"false":"true"},de("slot",{name:"help-text"},e.helpText)),a&&de("div",{id:e.invalidTextId,class:"form-control-invalid-text","aria-hidden":o?"false":"true"},de("div",{class:"icon"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Alert Circle"),de("path",{d:"M256,48C141.31,48,48,141.31,48,256s93.31,208,208,208,208-93.31,208-208S370.69,48,256,48Zm0,319.91a20,20,0,1,1,20-20A20,20,0,0,1,256,367.91Zm21.72-201.15-5.74,122a16,16,0,0,1-32,0l-5.74-121.94v-.05a21.74,21.74,0,1,1,43.44,0Z",fill:"currentColor"}))),de("div",{class:"text"},de("slot",{name:"invalid-text"},e.invalidText))))}; -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -function kt(e){const t=e?e.assignedNodes({flatten:!0}):[];let r="";return[...t].map((e=>{e.nodeType===Node.TEXT_NODE&&(r+=e.textContent)})),r}function _t(e,t){return t?null!==e.querySelector(`[slot="${t}"]`):[...e.childNodes].some((e=>{if(e.nodeType===e.TEXT_NODE&&""!==e.textContent.trim())return!0;if(e.nodeType===e.ELEMENT_NODE){if(!e.hasAttribute("slot"))return!0}return!1}))} -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */const Ct=(e,t=[])=>{const r={};return t.forEach((t=>{if(e.hasAttribute(t)){null!==e.getAttribute(t)&&(r[t]=e.getAttribute(t)),e.removeAttribute(t)}})),r},Tt=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow()}render(){return de("span",{class:"spinner","aria-busy":"true","aria-live":"polite"})}static get style(){return":host{--track-color:var(--gr-color-light-shade);--indicator-color:var(--gr-color-primary);--stroke-width:2px;display:inline-flex;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}.spinner{display:inline-block;width:1em;height:1em;border-radius:50%;border:solid var(--stroke-width) var(--track-color);border-top-color:var(--indicator-color);border-right-color:var(--indicator-color);animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}"}},[1,"gr-spinner"]);function Et(){if("undefined"==typeof customElements)return;["gr-spinner"].forEach((e=>{if("gr-spinner"===e)customElements.get(e)||customElements.define(e,Tt)}))}Et(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const Ot=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grFocus=fe(this,"gr-focus",7),this.grBlur=fe(this,"gr-blur",7),this.inheritedAttributes={},this.handleClick=e=>{if("button"!==this.type){const t=this.el.closest("form");if(t){e.preventDefault();const r=document.createElement("button");r.type=this.type,r.style.display="none",t.appendChild(r),r.click(),r.remove()}}},this.onFocus=()=>{this.grFocus.emit()},this.onBlur=()=>{this.grBlur.emit()},this.variant="default",this.disabled=!1,this.loading=!1,this.size="medium",this.caret=!1,this.pill=!1,this.expand=void 0,this.circle=!1,this.href=void 0,this.target=void 0,this.rel=void 0,this.type="button"}componentWillLoad(){this.inheritedAttributes=Ct(this.el,["aria-label","tabindex","title"])}async setFocus(e){this.button.focus(e)}async removeFocus(){this.button.blur()}render(){const{rel:e,target:t,href:r,variant:i,size:o,expand:n,type:a,inheritedAttributes:s,disabled:l}=this,c=void 0===r?"button":"a",d="button"===c?{type:a}:{href:r,rel:e,target:t};return de(ge,{onClick:this.handleClick,"aria-disabled":l?"true":null,class:{[`button-${i}`]:!0,[`button-${o}`]:!0,[`button-${n}`]:void 0!==n,"button-caret":this.caret,"button-circle":this.circle,"button-pill":this.pill,"button-disabled":l,"button-loading":this.loading}},de(c,Object.assign({ref:e=>this.button=e},d,{class:"button-native",disabled:l,onFocus:this.onFocus,onBlur:this.onBlur},s),de("span",{class:"button-inner"},de("slot",{name:"icon-only"}),de("slot",{name:"start"}),de("slot",null),de("slot",{name:"end"}),this.caret&&de("span",{class:"caret"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Chevron Down"),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"48",d:"M112 184l144 144 144-144"})))),this.loading&&de("gr-spinner",null)))}get el(){return this}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{display:inline-block;width:auto;font-family:var(--gr-font-family);font-weight:var(--gr-font-weight-medium);font-size:var(--gr-form-element-font-size-medium);font-kerning:none;user-select:none;vertical-align:top;vertical-align:-webkit-baseline-middle;pointer-events:auto;--height:var(--gr-form-element-height-medium);--border-radius:var(--gr-form-element-border-radius-medium);--border-width:1px;--border-style:solid;--background:transparent;--background-hover:transparent;--background-focus:transparent;--color:var(--gr-color-dark-tint);--color-hover:var(--gr-color-dark-tint);--color-focus:var(--gr-color-dark-tint);--border-color:var(--gr-color-light-shade);--border-color-hover:var(--gr-color-medium);--border-color-focus:var(--gr-color-primary);--padding-top:0;--padding-start:var(--gr-spacing-medium);--padding-end:var(--gr-spacing-medium);--padding-bottom:0;--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33);--shadow:none;--transition:background-color 150ms linear, opacity 150ms linear, border 150ms linear, color 150ms linear}:host(.button-disabled){pointer-events:none;opacity:0.5}:host(.button-primary){--border-color:var(--gr-color-primary);--background:var(--gr-color-primary);--color:var(--gr-color-primary-contrast);--border-color-hover:var(--gr-color-primary-shade);--background-hover:var(--gr-color-primary-shade);--color-hover:var(--gr-color-primary-contrast);--border-color-focus:var(--gr-color-primary);--background-focus:var(--gr-color-primary-shade);--color-focus:var(--gr-color-primary-contrast);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33)}:host(.button-secondary){--border-color:var(--gr-color-light-shade);--background:transparent;--color:var(--gr-color-primary);--border-color-hover:var(--gr-color-primary);--background-hover:transparent;--color-hover:var(--gr-color-primary);--border-color-focus:var(--gr-color-primary);--background-focus:transparent;--color-focus:var(--gr-color-primary);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33)}:host(.button-danger){--border-color:var(--gr-color-danger);--background:transparent;--color:var(--gr-color-danger);--border-color-hover:var(--gr-color-danger);--background-hover:var(--gr-color-danger);--color-hover:var(--gr-color-danger-contrast);--border-color-focus:var(--gr-color-danger);--background-focus:var(--gr-color-danger);--color-focus:var(--gr-color-danger-contrast);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-danger-rgb), 0.33)}:host(.button-plain){--border-color:transparent;--background:transparent;--color:var(--gr-color-primary);--border-color-hover:transparent;--background-hover:transparent;--color-hover:var(--gr-color-primary-shade);--border-color-focus:transparent;--background-focus:transparent;--color-focus:var(--gr-color-primary-shade);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33)}:host(.button-small){--padding-start:var(--gr-spacing-small);--padding-end:var(--gr-spacing-small);--border-radius:var(--gr-form-element-border-radius-small);--height:var(--gr-form-element-height-small);font-size:var(--gr-form-element-font-size-small)}:host(.button-large){--padding-start:var(--gr-spacing-large);--padding-end:var(--gr-spacing-large);--border-radius:var(--gr-form-element-border-radius-large);--height:var(--gr-form-element-height-large);font-size:var(--gr-form-element-font-size-large)}:host(.button-block){display:block}:host(.button-block) .button-native{margin-left:0;margin-right:0;display:block;width:100%;clear:both;contain:content}:host(.button-block) .button-native::after{clear:both}:host(.button-full){display:block}:host(.button-full) .button-native{margin-left:0;margin-right:0;display:block;width:100%;contain:content;border-radius:0;border-right-width:0;border-left-width:0}.button-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;position:relative;padding-top:var(--padding-top);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-bottom:var(--padding-bottom);width:100%;height:var(--height);transition:var(--transition);border-radius:var(--border-radius);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);color:var(--color);box-shadow:var(--shadow);line-height:1;cursor:pointer;z-index:0;text-decoration:none;box-sizing:border-box}.button-native::-moz-focus-inner{border:0}.button-native:focus{outline:none;box-shadow:var(--focus-ring);border-color:var(--border-color-focus);background-color:var(--background-focus);color:var(--color-focus)}.button-native *,.button-native *:before,.button-native *:after{box-sizing:inherit}.button-inner{display:flex;position:relative;flex-flow:row nowrap;flex-shrink:0;align-items:center;justify-content:center;width:100%;height:100%;z-index:1}:host(.button-circle) .button-native{padding-top:0;padding-bottom:0;padding-left:0;padding-right:0;border-radius:50%;width:var(--height)}@media (any-hover: hover){.button-native:hover{color:var(--color-hover);background:var(--background-hover);border-color:var(--border-color-hover)}}:host(.button-caret) .caret{display:flex;align-items:center;margin-left:0.3em}:host(.button-caret) .caret svg{width:1em;height:1em}:host(.button-pill) .button-native{border-radius:var(--height)}::slotted(*){pointer-events:none}::slotted([slot=start]){margin-top:0;margin-left:-0.3em;margin-right:0.3em;margin-bottom:0}::slotted([slot=end]){margin-top:0;margin-left:0.3em;margin-right:-0.2em;margin-bottom:0}::slotted([slot=icon-only]){font-size:1.4em;pointer-events:none}:host(.button-loading){position:relative;pointer-events:none}:host(.button-loading) .caret{visibility:hidden}:host(.button-loading) slot[name=start],:host(.button-loading) slot[name=end],:host(.button-loading) slot[name=icon-only],:host(.button-loading) slot:not([name]){visibility:hidden}:host(.button-loading) gr-spinner{--indicator-color:currentColor;position:absolute;height:1em;width:1em;top:calc(50% - 0.5em);left:calc(50% - 0.5em)}@media not all and (min-resolution: 0.001dpcm){@supports (-webkit-appearance: none) and (stroke-color: transparent){:host([type=button]),:host([type=reset]),:host([type=submit]){-webkit-appearance:none !important}}}"}},[1,"gr-button",{variant:[513],disabled:[516],loading:[516],size:[513],caret:[4],pill:[516],expand:[513],circle:[516],href:[1],target:[1],rel:[1],type:[1],setFocus:[64],removeFocus:[64]}]);function St(){if("undefined"==typeof customElements)return;["gr-button","gr-spinner"].forEach((e=>{switch(e){case"gr-button":customElements.get(e)||customElements.define(e,Ot);break;case"gr-spinner":customElements.get(e)||Et()}}))}function Mt(e,t,r="vertical",i="smooth"){const o= -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -function(e,t){return{top:Math.round(e.getBoundingClientRect().top-t.getBoundingClientRect().top),left:Math.round(e.getBoundingClientRect().left-t.getBoundingClientRect().left)}}(e,t),n=o.top+t.scrollTop,a=o.left+t.scrollLeft,s=t.scrollLeft,l=t.scrollLeft+t.offsetWidth,c=t.scrollTop,d=t.scrollTop+t.offsetHeight;"horizontal"!==r&&"both"!==r||(al&&t.scrollTo({left:a-t.offsetWidth+e.clientWidth,behavior:i})),"vertical"!==r&&"both"!==r||(nd&&t.scrollTo({top:n-t.offsetHeight+e.clientHeight,behavior:i}))} -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */function zt(e){return e.tabIndex>-1}function Lt(e){if(zt(e))return e;if(e.shadowRoot){const t=[...e.shadowRoot.children].find(zt);if(t)return t}return e.children?[...e.children].map(Lt)[0]:null}St();var Dt="top",At="bottom",Ft="right",It="left",Wt="auto",Rt=[Dt,At,Ft,It],Nt="start",Ht="end",Vt="clippingParents",jt="viewport",Bt="popper",qt="reference",Pt=Rt.reduce((function(e,t){return e.concat([t+"-"+Nt,t+"-"+Ht])}),[]),Ut=[].concat(Rt,[Wt]).reduce((function(e,t){return e.concat([t,t+"-"+Nt,t+"-"+Ht])}),[]),Kt=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Yt(e){return e?(e.nodeName||"").toLowerCase():null}function Qt(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Gt(e){return e instanceof Qt(e).Element||e instanceof Element}function Xt(e){return e instanceof Qt(e).HTMLElement||e instanceof HTMLElement}function Zt(e){return"undefined"!=typeof ShadowRoot&&(e instanceof Qt(e).ShadowRoot||e instanceof ShadowRoot)}const Jt={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var r=t.styles[e]||{},i=t.attributes[e]||{},o=t.elements[e];Xt(o)&&Yt(o)&&(Object.assign(o.style,r),Object.keys(i).forEach((function(e){var t=i[e];!1===t?o.removeAttribute(e):o.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,r={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,r.popper),t.styles=r,t.elements.arrow&&Object.assign(t.elements.arrow.style,r.arrow),function(){Object.keys(t.elements).forEach((function(e){var i=t.elements[e],o=t.attributes[e]||{},n=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:r[e]).reduce((function(e,t){return e[t]="",e}),{});Xt(i)&&Yt(i)&&(Object.assign(i.style,n),Object.keys(o).forEach((function(e){i.removeAttribute(e)})))}))}},requires:["computeStyles"]};function er(e){return e.split("-")[0]}var tr=Math.max,rr=Math.min,ir=Math.round;function or(e,t){void 0===t&&(t=!1);var r=e.getBoundingClientRect(),i=1,o=1;if(Xt(e)&&t){var n=e.offsetHeight,a=e.offsetWidth;a>0&&(i=ir(r.width)/a||1),n>0&&(o=ir(r.height)/n||1)}return{width:r.width/i,height:r.height/o,top:r.top/o,right:r.right/i,bottom:r.bottom/o,left:r.left/i,x:r.left/i,y:r.top/o}}function nr(e){var t=or(e),r=e.offsetWidth,i=e.offsetHeight;return Math.abs(t.width-r)<=1&&(r=t.width),Math.abs(t.height-i)<=1&&(i=t.height),{x:e.offsetLeft,y:e.offsetTop,width:r,height:i}}function ar(e,t){var r=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(r&&Zt(r)){var i=t;do{if(i&&e.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function sr(e){return Qt(e).getComputedStyle(e)}function lr(e){return["table","td","th"].indexOf(Yt(e))>=0}function cr(e){return((Gt(e)?e.ownerDocument:e.document)||window.document).documentElement}function dr(e){return"html"===Yt(e)?e:e.assignedSlot||e.parentNode||(Zt(e)?e.host:null)||cr(e)}function hr(e){return Xt(e)&&"fixed"!==sr(e).position?e.offsetParent:null}function gr(e){for(var t=Qt(e),r=hr(e);r&&lr(r)&&"static"===sr(r).position;)r=hr(r);return r&&("html"===Yt(r)||"body"===Yt(r)&&"static"===sr(r).position)?t:r||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&Xt(e)&&"fixed"===sr(e).position)return null;var r=dr(e);for(Zt(r)&&(r=r.host);Xt(r)&&["html","body"].indexOf(Yt(r))<0;){var i=sr(r);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||t&&"filter"===i.willChange||t&&i.filter&&"none"!==i.filter)return r;r=r.parentNode}return null}(e)||t}function ur(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function mr(e,t,r){return tr(e,rr(t,r))}function pr(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function fr(e,t){return t.reduce((function(t,r){return t[r]=e,t}),{})}const vr={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,r=e.state,i=e.name,o=e.options,n=r.elements.arrow,a=r.modifiersData.popperOffsets,s=er(r.placement),l=ur(s),c=[It,Ft].indexOf(s)>=0?"height":"width";if(n&&a){var d=function(e,t){return pr("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:fr(e,Rt))}(o.padding,r),h=nr(n),g="y"===l?Dt:It,u="y"===l?At:Ft,m=r.rects.reference[c]+r.rects.reference[l]-a[l]-r.rects.popper[c],p=a[l]-r.rects.reference[l],f=gr(n),v=f?"y"===l?f.clientHeight||0:f.clientWidth||0:0,b=m/2-p/2,y=d[g],w=v-h[c]-d[u],$=v/2-h[c]/2+b,x=mr(y,$,w),k=l;r.modifiersData[i]=((t={})[k]=x,t.centerOffset=x-$,t)}},effect:function(e){var t=e.state,r=e.options.element,i=void 0===r?"[data-popper-arrow]":r;null!=i&&("string"!=typeof i||(i=t.elements.popper.querySelector(i)))&&ar(t.elements.popper,i)&&(t.elements.arrow=i)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function br(e){return e.split("-")[1]}var yr={top:"auto",right:"auto",bottom:"auto",left:"auto"};function wr(e){var t,r=e.popper,i=e.popperRect,o=e.placement,n=e.variation,a=e.offsets,s=e.position,l=e.gpuAcceleration,c=e.adaptive,d=e.roundOffsets,h=e.isFixed,g=a.x,u=void 0===g?0:g,m=a.y,p=void 0===m?0:m,f="function"==typeof d?d({x:u,y:p}):{x:u,y:p};u=f.x,p=f.y;var v=a.hasOwnProperty("x"),b=a.hasOwnProperty("y"),y=It,w=Dt,$=window;if(c){var x=gr(r),k="clientHeight",_="clientWidth";if(x===Qt(r)&&"static"!==sr(x=cr(r)).position&&"absolute"===s&&(k="scrollHeight",_="scrollWidth"),o===Dt||(o===It||o===Ft)&&n===Ht)w=At,p-=(h&&x===$&&$.visualViewport?$.visualViewport.height:x[k])-i.height,p*=l?1:-1;if(o===It||(o===Dt||o===At)&&n===Ht)y=Ft,u-=(h&&x===$&&$.visualViewport?$.visualViewport.width:x[_])-i.width,u*=l?1:-1}var C,T=Object.assign({position:s},c&&yr),E=!0===d?function(e){var t=e.x,r=e.y,i=window.devicePixelRatio||1;return{x:ir(t*i)/i||0,y:ir(r*i)/i||0}}({x:u,y:p}):{x:u,y:p};return u=E.x,p=E.y,l?Object.assign({},T,((C={})[w]=b?"0":"",C[y]=v?"0":"",C.transform=($.devicePixelRatio||1)<=1?"translate("+u+"px, "+p+"px)":"translate3d("+u+"px, "+p+"px, 0)",C)):Object.assign({},T,((t={})[w]=b?p+"px":"",t[y]=v?u+"px":"",t.transform="",t))}var $r={passive:!0};var xr={left:"right",right:"left",bottom:"top",top:"bottom"};function kr(e){return e.replace(/left|right|bottom|top/g,(function(e){return xr[e]}))}var _r={start:"end",end:"start"};function Cr(e){return e.replace(/start|end/g,(function(e){return _r[e]}))}function Tr(e){var t=Qt(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Er(e){return or(cr(e)).left+Tr(e).scrollLeft}function Or(e){var t=sr(e),r=t.overflow,i=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(r+o+i)}function Sr(e){return["html","body","#document"].indexOf(Yt(e))>=0?e.ownerDocument.body:Xt(e)&&Or(e)?e:Sr(dr(e))}function Mr(e,t){var r;void 0===t&&(t=[]);var i=Sr(e),o=i===(null==(r=e.ownerDocument)?void 0:r.body),n=Qt(i),a=o?[n].concat(n.visualViewport||[],Or(i)?i:[]):i,s=t.concat(a);return o?s:s.concat(Mr(dr(a)))}function zr(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Lr(e,t){return t===jt?zr(function(e){var t=Qt(e),r=cr(e),i=t.visualViewport,o=r.clientWidth,n=r.clientHeight,a=0,s=0;return i&&(o=i.width,n=i.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(a=i.offsetLeft,s=i.offsetTop)),{width:o,height:n,x:a+Er(e),y:s}}(e)):Gt(t)?function(e){var t=or(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(t):zr(function(e){var t,r=cr(e),i=Tr(e),o=null==(t=e.ownerDocument)?void 0:t.body,n=tr(r.scrollWidth,r.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=tr(r.scrollHeight,r.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),s=-i.scrollLeft+Er(e),l=-i.scrollTop;return"rtl"===sr(o||r).direction&&(s+=tr(r.clientWidth,o?o.clientWidth:0)-n),{width:n,height:a,x:s,y:l}}(cr(e)))}function Dr(e,t,r){var i="clippingParents"===t?function(e){var t=Mr(dr(e)),r=["absolute","fixed"].indexOf(sr(e).position)>=0&&Xt(e)?gr(e):e;return Gt(r)?t.filter((function(e){return Gt(e)&&ar(e,r)&&"body"!==Yt(e)})):[]}(e):[].concat(t),o=[].concat(i,[r]),n=o[0],a=o.reduce((function(t,r){var i=Lr(e,r);return t.top=tr(i.top,t.top),t.right=rr(i.right,t.right),t.bottom=rr(i.bottom,t.bottom),t.left=tr(i.left,t.left),t}),Lr(e,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function Ar(e){var t,r=e.reference,i=e.element,o=e.placement,n=o?er(o):null,a=o?br(o):null,s=r.x+r.width/2-i.width/2,l=r.y+r.height/2-i.height/2;switch(n){case Dt:t={x:s,y:r.y-i.height};break;case At:t={x:s,y:r.y+r.height};break;case Ft:t={x:r.x+r.width,y:l};break;case It:t={x:r.x-i.width,y:l};break;default:t={x:r.x,y:r.y}}var c=n?ur(n):null;if(null!=c){var d="y"===c?"height":"width";switch(a){case Nt:t[c]=t[c]-(r[d]/2-i[d]/2);break;case Ht:t[c]=t[c]+(r[d]/2-i[d]/2)}}return t}function Fr(e,t){void 0===t&&(t={});var r=t,i=r.placement,o=void 0===i?e.placement:i,n=r.boundary,a=void 0===n?Vt:n,s=r.rootBoundary,l=void 0===s?jt:s,c=r.elementContext,d=void 0===c?Bt:c,h=r.altBoundary,g=void 0!==h&&h,u=r.padding,m=void 0===u?0:u,p=pr("number"!=typeof m?m:fr(m,Rt)),f=d===Bt?qt:Bt,v=e.rects.popper,b=e.elements[g?f:d],y=Dr(Gt(b)?b:b.contextElement||cr(e.elements.popper),a,l),w=or(e.elements.reference),$=Ar({reference:w,element:v,strategy:"absolute",placement:o}),x=zr(Object.assign({},v,$)),k=d===Bt?x:w,_={top:y.top-k.top+p.top,bottom:k.bottom-y.bottom+p.bottom,left:y.left-k.left+p.left,right:k.right-y.right+p.right},C=e.modifiersData.offset;if(d===Bt&&C){var T=C[o];Object.keys(_).forEach((function(e){var t=[Ft,At].indexOf(e)>=0?1:-1,r=[Dt,At].indexOf(e)>=0?"y":"x";_[e]+=T[r]*t}))}return _}function Ir(e,t){void 0===t&&(t={});var r=t,i=r.placement,o=r.boundary,n=r.rootBoundary,a=r.padding,s=r.flipVariations,l=r.allowedAutoPlacements,c=void 0===l?Ut:l,d=br(i),h=d?s?Pt:Pt.filter((function(e){return br(e)===d})):Rt,g=h.filter((function(e){return c.indexOf(e)>=0}));0===g.length&&(g=h);var u=g.reduce((function(t,r){return t[r]=Fr(e,{placement:r,boundary:o,rootBoundary:n,padding:a})[er(r)],t}),{});return Object.keys(u).sort((function(e,t){return u[e]-u[t]}))}const Wr={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,r=e.options,i=e.name;if(!t.modifiersData[i]._skip){for(var o=r.mainAxis,n=void 0===o||o,a=r.altAxis,s=void 0===a||a,l=r.fallbackPlacements,c=r.padding,d=r.boundary,h=r.rootBoundary,g=r.altBoundary,u=r.flipVariations,m=void 0===u||u,p=r.allowedAutoPlacements,f=t.options.placement,v=er(f),b=l||(v===f||!m?[kr(f)]:function(e){if(er(e)===Wt)return[];var t=kr(e);return[Cr(e),t,Cr(t)]}(f)),y=[f].concat(b).reduce((function(e,r){return e.concat(er(r)===Wt?Ir(t,{placement:r,boundary:d,rootBoundary:h,padding:c,flipVariations:m,allowedAutoPlacements:p}):r)}),[]),w=t.rects.reference,$=t.rects.popper,x=new Map,k=!0,_=y[0],C=0;C=0,M=S?"width":"height",z=Fr(t,{placement:T,boundary:d,rootBoundary:h,altBoundary:g,padding:c}),L=S?O?Ft:It:O?At:Dt;w[M]>$[M]&&(L=kr(L));var D=kr(L),A=[];if(n&&A.push(z[E]<=0),s&&A.push(z[L]<=0,z[D]<=0),A.every((function(e){return e}))){_=T,k=!1;break}x.set(T,A)}if(k)for(var F=function(e){var t=y.find((function(t){var r=x.get(t);if(r)return r.slice(0,e).every((function(e){return e}))}));if(t)return _=t,"break"},I=m?3:1;I>0;I--){if("break"===F(I))break}t.placement!==_&&(t.modifiersData[i]._skip=!0,t.placement=_,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Rr(e,t,r){return void 0===r&&(r={x:0,y:0}),{top:e.top-t.height-r.y,right:e.right-t.width+r.x,bottom:e.bottom-t.height+r.y,left:e.left-t.width-r.x}}function Nr(e){return[Dt,Ft,At,It].some((function(t){return e[t]>=0}))}const Hr={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,r=e.options,i=e.name,o=r.offset,n=void 0===o?[0,0]:o,a=Ut.reduce((function(e,r){return e[r]=function(e,t,r){var i=er(e),o=[It,Dt].indexOf(i)>=0?-1:1,n="function"==typeof r?r(Object.assign({},t,{placement:e})):r,a=n[0],s=n[1];return a=a||0,s=(s||0)*o,[It,Ft].indexOf(i)>=0?{x:s,y:a}:{x:a,y:s}}(r,t.rects,n),e}),{}),s=a[t.placement],l=s.x,c=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[i]=a}};const Vr={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,r=e.options,i=e.name,o=r.mainAxis,n=void 0===o||o,a=r.altAxis,s=void 0!==a&&a,l=r.boundary,c=r.rootBoundary,d=r.altBoundary,h=r.padding,g=r.tether,u=void 0===g||g,m=r.tetherOffset,p=void 0===m?0:m,f=Fr(t,{boundary:l,rootBoundary:c,padding:h,altBoundary:d}),v=er(t.placement),b=br(t.placement),y=!b,w=ur(v),$="x"===w?"y":"x",x=t.modifiersData.popperOffsets,k=t.rects.reference,_=t.rects.popper,C="function"==typeof p?p(Object.assign({},t.rects,{placement:t.placement})):p,T="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),E=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,O={x:0,y:0};if(x){if(n){var S,M="y"===w?Dt:It,z="y"===w?At:Ft,L="y"===w?"height":"width",D=x[w],A=D+f[M],F=D-f[z],I=u?-_[L]/2:0,W=b===Nt?k[L]:_[L],R=b===Nt?-_[L]:-k[L],N=t.elements.arrow,H=u&&N?nr(N):{width:0,height:0},V=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},j=V[M],B=V[z],q=mr(0,k[L],H[L]),P=y?k[L]/2-I-q-j-T.mainAxis:W-q-j-T.mainAxis,U=y?-k[L]/2+I+q+B+T.mainAxis:R+q+B+T.mainAxis,K=t.elements.arrow&&gr(t.elements.arrow),Y=K?"y"===w?K.clientTop||0:K.clientLeft||0:0,Q=null!=(S=null==E?void 0:E[w])?S:0,G=D+U-Q,X=mr(u?rr(A,D+P-Q-Y):A,D,u?tr(F,G):F);x[w]=X,O[w]=X-D}if(s){var Z,J="x"===w?Dt:It,ee="x"===w?At:Ft,te=x[$],re="y"===$?"height":"width",ie=te+f[J],oe=te-f[ee],ne=-1!==[Dt,It].indexOf(v),ae=null!=(Z=null==E?void 0:E[$])?Z:0,se=ne?ie:te-k[re]-_[re]-ae+T.altAxis,le=ne?te+k[re]+_[re]-ae-T.altAxis:oe,ce=u&&ne?function(e,t,r){var i=mr(e,t,r);return i>r?r:i}(se,te,le):mr(u?se:ie,te,u?le:oe);x[$]=ce,O[$]=ce-te}t.modifiersData[i]=O}},requiresIfExists:["offset"]};function jr(e,t,r){void 0===r&&(r=!1);var i,o,n=Xt(t),a=Xt(t)&&function(e){var t=e.getBoundingClientRect(),r=ir(t.width)/e.offsetWidth||1,i=ir(t.height)/e.offsetHeight||1;return 1!==r||1!==i}(t),s=cr(t),l=or(e,a),c={scrollLeft:0,scrollTop:0},d={x:0,y:0};return(n||!n&&!r)&&(("body"!==Yt(t)||Or(s))&&(c=(i=t)!==Qt(i)&&Xt(i)?{scrollLeft:(o=i).scrollLeft,scrollTop:o.scrollTop}:Tr(i)),Xt(t)?((d=or(t,!0)).x+=t.clientLeft,d.y+=t.clientTop):s&&(d.x=Er(s))),{x:l.left+c.scrollLeft-d.x,y:l.top+c.scrollTop-d.y,width:l.width,height:l.height}}function Br(e){var t=new Map,r=new Set,i=[];function o(e){r.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!r.has(e)){var i=t.get(e);i&&o(i)}})),i.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){r.has(e.name)||o(e)})),i}var qr={placement:"bottom",modifiers:[],strategy:"absolute"};function Pr(){for(var e=arguments.length,t=new Array(e),r=0;r{},onAfterHide:()=>{},onTransitionEnd:()=>{}},r),this.isVisible=!1,this.popover.hidden=!0,this.popover.classList.remove(this.options.visibleClass),this.popover.addEventListener("transitionend",this.handleTransitionEnd)}handleTransitionEnd(e){e.target===this.options.transitionElement&&(this.options.onTransitionEnd.call(this,e),this.isVisible||this.popover.hidden||(this.popover.hidden=!0,this.popover.classList.remove(this.options.visibleClass),this.options.onAfterHide.call(this)))}destroy(){this.popover.removeEventListener("transitionend",this.handleTransitionEnd),this.popper&&(this.popper.destroy(),this.popper=null)}show(){this.isVisible=!0,this.popover.hidden=!1,requestAnimationFrame((()=>this.popover.classList.add(this.options.visibleClass))),this.popper&&this.popper.destroy(),this.popper=Kr(this.anchor,this.popover,{placement:this.options.placement,strategy:this.options.strategy,modifiers:[{name:"flip",options:{boundary:"viewport"}},{name:"offset",options:{offset:[this.options.skidding,this.options.distance]}}]}),this.popover.addEventListener("transitionend",(()=>this.options.onAfterShow.call(this)),{once:!0}),requestAnimationFrame((()=>this.popper.update()))}hide(){this.isVisible=!1,this.popover.classList.remove(this.options.visibleClass)}setOptions(e){this.options=Object.assign(this.options,e),this.isVisible?this.popover.classList.add(this.options.visibleClass):this.popover.classList.remove(this.options.visibleClass),this.popper&&(this.popper.setOptions({placement:this.options.placement,strategy:this.options.strategy}),requestAnimationFrame((()=>this.popper.update())))}}let Qr=0;const Gr=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grShow=fe(this,"gr-show",7),this.grAfterShow=fe(this,"gr-after-show",7),this.grHide=fe(this,"gr-hide",7),this.grAfterHide=fe(this,"gr-after-hide",7),this.componentId="dropdown-"+ ++Qr,this.isVisible=!1,this.open=!1,this.placement="bottom-start",this.closeOnSelect=!0,this.containingElement=void 0,this.distance=2,this.skidding=0,this.hoist=!1}handleOpenChange(){this.open?this.show():this.hide(),this.updateAccessibleTrigger()}handlePopoverOptionsChange(){this.popoverElement.setOptions({strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding})}connectedCallback(){this.containingElement||(this.containingElement=this.el),this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this),this.handleMenuItemActivate=this.handleMenuItemActivate.bind(this),this.handlePanelSelect=this.handlePanelSelect.bind(this),this.handleTriggerClick=this.handleTriggerClick.bind(this),this.handleTriggerKeyDown=this.handleTriggerKeyDown.bind(this),this.handleTriggerKeyUp=this.handleTriggerKeyUp.bind(this),this.handleTriggerSlotChange=this.handleTriggerSlotChange.bind(this)}componentDidLoad(){this.popoverElement=new Yr(this.trigger,this.positioner,{strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding,transitionElement:this.panel,onAfterHide:()=>this.grAfterHide.emit(),onAfterShow:()=>this.grAfterShow.emit(),onTransitionEnd:()=>{this.open||(this.panel.scrollTop=0)}}),this.open&&this.show()}disconnectedCallback(){this.hide(),this.popoverElement.destroy()}async show(){if(this.isVisible)return;this.grShow.emit().defaultPrevented?this.open=!1:(this.panel.addEventListener("gr-activate",this.handleMenuItemActivate),this.panel.addEventListener("gr-select",this.handlePanelSelect),document.addEventListener("keydown",this.handleDocumentKeyDown),document.addEventListener("mousedown",this.handleDocumentMouseDown),this.isVisible=!0,this.open=!0,this.popoverElement.show())}async hide(){if(!this.isVisible)return;this.grHide.emit().defaultPrevented?this.open=!0:(this.panel.removeEventListener("gr-activate",this.handleMenuItemActivate),this.panel.removeEventListener("gr-select",this.handlePanelSelect),document.addEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("mousedown",this.handleDocumentMouseDown),this.isVisible=!1,this.open=!1,this.popoverElement.hide())}async focusOnTrigger(){const e=this.trigger.querySelector("slot").assignedElements({flatten:!0})[0];e&&("function"==typeof e.setFocus?e.setFocus():"function"==typeof e.focus&&e.focus())}getMenu(){return this.panel.querySelector("slot").assignedElements({flatten:!0}).filter((e=>"gr-menu"===e.tagName.toLowerCase()))[0]}handleDocumentKeyDown(e){var t;if("Escape"===e.key)return this.hide(),void this.focusOnTrigger();if("Tab"===e.key){if(this.open&&"gr-menu-item"===(null===(t=document.activeElement)||void 0===t?void 0:t.tagName.toLowerCase()))return e.preventDefault(),this.hide(),void this.focusOnTrigger();setTimeout((()=>{var e;const t=this.containingElement.getRootNode()instanceof ShadowRoot?null===(e=document.activeElement.shadowRoot)||void 0===e?void 0:e.activeElement:document.activeElement;(null==t?void 0:t.closest(this.containingElement.tagName.toLowerCase()))===this.containingElement||this.hide()}))}}handleDocumentMouseDown(e){e.composedPath().includes(this.containingElement)||this.hide()}handleMenuItemActivate(e){Mt(e.target,this.panel)}handlePanelSelect(e){const t=e.target;this.closeOnSelect&&"gr-menu"===t.tagName.toLowerCase()&&(this.hide(),this.focusOnTrigger())}handleTriggerClick(){this.open?this.hide():this.show()}handleTriggerKeyDown(e){const t=this.getMenu(),r=t?[...t.querySelectorAll("gr-menu-item")]:null,i=r[0],o=r[r.length-1];if("Escape"===e.key)return this.focusOnTrigger(),void this.hide();if([" ","Enter"].includes(e.key))return e.preventDefault(),void(this.open?this.hide():this.show());if(["ArrowDown","ArrowUp"].includes(e.key)){if(e.preventDefault(),this.open||this.show(),"ArrowDown"===e.key&&i)return void i.setFocus();if("ArrowUp"===e.key&&o)return void o.setFocus()}this.open&&t&&!["Tab","Shift","Meta","Ctrl","Alt"].includes(e.key)&&t.typeToSelect(e.key)}handleTriggerKeyUp(e){" "===e.key&&e.preventDefault()}handleTriggerSlotChange(){this.updateAccessibleTrigger()}updateAccessibleTrigger(){const e=this.trigger.querySelector("slot").assignedElements({flatten:!0}).map(Lt)[0];e&&(e.setAttribute("aria-haspopup","true"),e.setAttribute("aria-expanded",this.open?"true":"false"))}render(){return de(ge,{id:this.componentId,class:{"dropdown-open":this.open}},de("span",{class:"dropdown-trigger",ref:e=>this.trigger=e,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown,onKeyUp:this.handleTriggerKeyUp},de("slot",{name:"trigger",onSlotchange:this.handleTriggerSlotChange})),de("div",{ref:e=>this.positioner=e,class:"dropdown-positioner"},de("div",{ref:e=>this.panel=e,class:"dropdown-panel",role:"menu","aria-hidden":this.open?"false":"true","aria-labelledby":this.componentId},de("slot",null))))}get el(){return this}static get watchers(){return{open:["handleOpenChange"],distance:["handlePopoverOptionsChange"],hoist:["handlePopoverOptionsChange"],placement:["handlePopoverOptionsChange"],skidding:["handlePopoverOptionsChange"]}}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{--panel-background-color:var(--gr-color-white);--panel-border-radius:var(--gr-border-radius-medium);--panel-border-color:var(--gr-panel-border-color);--panel-box-shadow:var(--gr-shadow-large);--transition:150ms opacity, 150ms transform;display:inline-block;position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}.dropdown-trigger{display:block}.dropdown-positioner{position:absolute;z-index:var(--gr-z-index-dropdown)}.dropdown-panel{max-height:50vh;font-family:var(--gr-font-family);font-size:var(--gr-font-size-medium);font-weight:var(--gr-font-weight-normal);background-color:var(--panel-background-color);border:solid 1px var(--panel-border-color);border-radius:var(--panel-border-radius);box-shadow:var(--panel-box-shadow);opacity:0;overflow:auto;overscroll-behavior:none;pointer-events:none;transform:scale(0.9);transition:var(--transition)}.dropdown-positioner[data-popper-placement^=top] .dropdown-panel{transform-origin:bottom}.dropdown-positioner[data-popper-placement^=bottom] .dropdown-panel{transform-origin:top}.dropdown-positioner[data-popper-placement^=left] .dropdown-panel{transform-origin:right}.dropdown-positioner[data-popper-placement^=right] .dropdown-panel{transform-origin:left}.dropdown-positioner.popover-visible .dropdown-panel{opacity:1;transform:none;pointer-events:all}"}},[1,"gr-dropdown",{open:[1540],placement:[1],closeOnSelect:[4,"close-on-select"],containingElement:[1040],distance:[2],skidding:[2],hoist:[4],show:[64],hide:[64],focusOnTrigger:[64]}]);function Xr(){if("undefined"==typeof customElements)return;["gr-dropdown"].forEach((e=>{if("gr-dropdown"===e)customElements.get(e)||customElements.define(e,Gr)}))}Xr(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const Zr=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grSelect=fe(this,"gr-select",7),this.typeToSelectString=""}connectedCallback(){this.handleClick=this.handleClick.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this)}async typeToSelect(e){clearTimeout(this.typeToSelectTimeout),this.typeToSelectTimeout=setTimeout((()=>this.typeToSelectString=""),750),this.typeToSelectString+=e.toLowerCase();const t=this.getItems();for(const e of t){if(kt(e.shadowRoot.querySelector("slot:not([name])")).toLowerCase().trim().substring(0,this.typeToSelectString.length)===this.typeToSelectString){e.setFocus();break}}}getItems(){return[...this.menu.querySelector("slot").assignedElements({flatten:!0})].filter((e=>"gr-menu-item"===e.tagName.toLowerCase()&&!e.disabled))}getActiveItem(){return this.getItems().find((e=>e===document.activeElement))}setActiveItem(e){e.setFocus()}handleClick(e){const t=e.target.closest("gr-menu-item");t&&!t.disabled&&this.grSelect.emit({item:t})}handleKeyDown(e){if("Enter"===e.key){const t=this.getActiveItem();e.preventDefault(),t&&this.grSelect.emit({item:t})}if(" "===e.key&&e.preventDefault(),["ArrowDown","ArrowUp","Home","End"].includes(e.key)){const t=this.getItems(),r=this.getActiveItem();let i=t.indexOf(r);if(t.length)return e.preventDefault(),"ArrowDown"===e.key?i++:"ArrowUp"===e.key?i--:"Home"===e.key?i=0:"End"===e.key&&(i=t.length-1),i<0&&(i=0),i>t.length-1&&(i=t.length-1),void this.setActiveItem(t[i])}this.typeToSelect(e.key)}render(){return de("div",{ref:e=>this.menu=e,class:"menu",role:"menu",onClick:this.handleClick,onKeyDown:this.handleKeyDown},de("slot",null))}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{--padding-top:var(--gr-spacing-x-small);--padding-bottom:var(--gr-spacing-x-small);display:block;padding-top:var(--padding-top);padding-left:0;padding-right:0;padding-bottom:var(--padding-bottom);box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host:focus{outline:none}"}},[1,"gr-menu",{typeToSelect:[64]}]);function Jr(){if("undefined"==typeof customElements)return;["gr-menu"].forEach((e=>{if("gr-menu"===e)customElements.get(e)||customElements.define(e,Zr)}))}Jr(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const ei=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grClear=fe(this,"gr-clear",7),this.type="primary",this.size="medium",this.pill=!1,this.clearable=!1,this.truncate=!1,this.title=""}connectedCallback(){this.handleClearClick=this.handleClearClick.bind(this)}handleClearClick(){this.grClear.emit()}render(){return de(ge,{class:{[`tag-${this.type}`]:!0,[`tag-${this.size}`]:!0,"tag-pill":this.pill,"tag-clearable":this.clearable}},de("span",{class:"tag"},de("span",{class:{"tag-truncate":this.truncate},title:this.title},de("slot",null)),this.clearable&&de("gr-button",{variant:"plain",size:this.size,class:"tag-clear","aria-label":"clear",onClick:this.handleClearClick},de("svg",{slot:"icon-only",role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Close"),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 368L144 144M368 144L144 368"})))))}static get style(){return":host{--height:calc(var(--gr-form-element-height-medium) * 0.8);--line-height:calc(var(--gr-form-element-height-medium) - 1px * 2);--border-radius:var(--gr-form-element-border-radius-medium);--border-width:1px;--border-style:solid;--padding-top:0;--padding-start:var(--gr-spacing-small);--padding-end:var(--gr-spacing-small);--padding-bottom:0;--font-size:var(--gr-form-element-font-size-medium);--background-color:rgba(var(--gr-color-primary-rgb), 0.05);--border-color:rgba(var(--gr-color-primary-rgb), 0.2);--color:var(--gr-color-primary-shade);--clear-color:var(--gr-color-primary);--clear-color-hover:var(--gr-color-primary-shade);--clear-margin-left:var(--gr-spacing-xx-small);--clear-margin-right:calc(-1 * var(--gr-spacing-xxx-small));display:inline-block;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host(.tag-success){--background-color:rgba(var(--gr-color-success-rgb), 0.05);--border-color:rgba(var(--gr-color-success-rgb), 0.2);--color:var(--gr-color-success-shade);--clear-color:var(--gr-color-success);--clear-color-hover:var(--gr-color-success-shade)}:host(.tag-info){--background-color:rgba(var(--gr-color-medium-rgb), 0.05);--border-color:rgba(var(--gr-color-medium-rgb), 0.2);--color:var(--gr-color-medium-shade);--clear-color:var(--gr-color-medium);--clear-color-hover:var(--gr-color-medium-shade)}:host(.tag-warning){--background-color:rgba(var(--gr-color-warning-rgb), 0.05);--border-color:rgba(var(--gr-color-warning-rgb), 0.2);--color:var(--gr-color-warning-shade);--clear-color:var(--gr-color-warning);--clear-color-hover:var(--gr-color-warning-shade)}:host(.tag-danger){--background-color:rgba(var(--gr-color-danger-rgb), 0.05);--border-color:rgba(var(--gr-color-danger-rgb), 0.2);--color:var(--gr-color-danger-shade);--clear-color:var(--gr-color-danger);--clear-color-hover:var(--gr-color-danger-shade)}:host(.tag-small){--font-size:var(--gr-form-element-font-size-small);--height:calc(var(--gr-form-element-height-small) * 0.8);--line-height:calc(var(--gr-form-element-height-small) - 1px * 2);--border-radius:var(--gr-form-element-border-radius-small);--padding-start:var(--gr-spacing-x-small);--padding-end:var(--gr-spacing-x-small);--clear-margin-left:var(--gr-spacing-xx-small);--clear-margin-right:calc(-1 * var(--gr-spacing-xxx-small))}:host(.tag-large){--font-size:var(--gr-form-element-font-size-large);--height:calc(var(--gr-form-element-height-large) * 0.8);--line-height:calc(var(--gr-form-element-height-large) - 1px * 2);--border-radius:var(--gr-form-element-border-radius-large);--padding:0 var(--gr-spacing-medium);--clear-margin-left:var(--gr-spacing-xx-small);--clear-margin-right:calc(-1 * var(--gr-spacing-x-small))}.tag{display:flex;align-items:center;border-style:var(--border-style);border-width:var(--border-width);border-radius:var(--border-radius);white-space:nowrap;user-select:none;cursor:default;font-family:var(--gr-font-family);font-size:var(--font-size);font-weight:var(--gr-font-weight-normal);height:var(--height);line-height:var(--line-height);padding-top:var(--padding-top);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-bottom:var(--padding-bottom);background-color:var(--background-color);border-color:var(--border-color);color:var(--color)}.tag-clear{--color:var(--clear-color);--color-hover:var(--clear-color-hover);--padding-start:0;--padding-end:0;margin-left:var(--clear-margin-left);margin-right:var(--clear-margin-right);--height:1em}.tag-clear svg{font-size:0.7em}.tag-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-clear svg{width:1.1em;height:1.1em}:host(.tag-pill) .tag{border-radius:var(--height)}"}},[1,"gr-tag",{type:[513],size:[513],pill:[516],clearable:[516],truncate:[516],title:[513]}]);function ti(){if("undefined"==typeof customElements)return;["gr-tag","gr-button","gr-spinner"].forEach((e=>{switch(e){case"gr-tag":customElements.get(e)||customElements.define(e,ei);break;case"gr-button":customElements.get(e)||St();break;case"gr-spinner":customElements.get(e)||Et()}}))}ti(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const ri="undefined"!=typeof HTMLElement?HTMLElement:class{};let ii=0;const oi=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grChange=fe(this,"gr-change",7),this.grFocus=fe(this,"gr-focus",7),this.grBlur=fe(this,"gr-blur",7),this.inputId="select-"+ ++ii,this.labelId=`select-label-${ii}`,this.helpTextId=`select-help-text-${ii}`,this.invalidTextId=`select-invalid-text-${ii}`,this.inheritedAttributes={},this.handleBlur=()=>{this.isOpen||(this.hasFocus=!1,this.grBlur.emit())},this.handleFocus=()=>{this.hasFocus||(this.hasFocus=!0,this.grFocus.emit())},this.hasFocus=!1,this.hasHelpTextSlot=!1,this.hasInvalidTextSlot=!1,this.hasLabelSlot=!1,this.isOpen=!1,this.items=[],this.displayLabel="",this.displayTags=[],this.multiple=!1,this.maxTagsVisible=3,this.disabled=!1,this.name="",this.placeholder="",this.size="medium",this.hoist=!1,this.value="",this.pill=!1,this.label="",this.requiredIndicator=!1,this.helpText="",this.invalidText="",this.invalid=!1,this.clearable=!1}handleDisabledChange(){this.disabled&&this.isOpen&&this.dropdown.hide()}handleLabelChange(){this.handleSlotChange()}handleMultipleChange(){const e=this.getValueAsArray();this.value=this.multiple?e:e[0]||"",this.syncItemsFromValue()}handleValueChange(){this.syncItemsFromValue(),this.grChange.emit()}connectedCallback(){this.handleClearClick=this.handleClearClick.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleLabelClick=this.handleLabelClick.bind(this),this.handleMenuHide=this.handleMenuHide.bind(this),this.handleMenuShow=this.handleMenuShow.bind(this),this.handleMenuSelect=this.handleMenuSelect.bind(this),this.handleSlotChange=this.handleSlotChange.bind(this),this.handleTagInteraction=this.handleTagInteraction.bind(this),this.el.shadowRoot.addEventListener("slotchange",this.handleSlotChange)}componentWillLoad(){this.handleSlotChange(),this.inheritedAttributes=Ct(this.el,["aria-label"])}componentDidLoad(){this.resizeObserver=new ResizeObserver((()=>this.resizeMenu())),this.reportDuplicateItemValues(),requestAnimationFrame((()=>this.syncItemsFromValue()))}disconnectedCallback(){this.el.shadowRoot.removeEventListener("slotchange",this.handleSlotChange)}async setFocus(){this.hasFocus=!0,this.grFocus.emit(),this.dropdown.focusOnTrigger()}getItemLabel(e){return kt(e.shadowRoot.querySelector("slot:not([name])"))}getItems(){return[...this.el.querySelectorAll("gr-menu-item")]}getValueAsArray(){return Array.isArray(this.value)?this.value:[this.value]}handleClearClick(e){e.stopPropagation(),this.value=this.multiple?[]:"",this.syncItemsFromValue()}handleKeyDown(e){const t=e.target,r=this.getItems(),i=r[0],o=r[r.length-1];if("gr-tag"!==t.tagName.toLowerCase())if("Tab"!==e.key){if(["ArrowDown","ArrowUp"].includes(e.key)){if(e.preventDefault(),this.isOpen||this.dropdown.show(),"ArrowDown"===e.key&&i)return void i.setFocus();if("ArrowUp"===e.key&&o)return void o.setFocus()}this.isOpen||1!==e.key.length||(e.stopPropagation(),e.preventDefault(),this.dropdown.show(),this.menu.typeToSelect(e.key))}else this.isOpen&&this.dropdown.hide()}handleLabelClick(){this.box.focus()}handleMenuSelect(e){const t=e.detail.item;this.multiple?this.value=this.value.includes(t.value)?this.value.filter((e=>e!==t.value)):[...this.value,t.value]:this.value=t.value,this.syncItemsFromValue()}handleMenuShow(e){this.disabled?e.preventDefault():(this.resizeMenu(),this.resizeObserver.observe(this.el),this.isOpen=!0)}handleMenuHide(){this.resizeObserver.unobserve(this.el),this.isOpen=!1,this.box.focus()}handleSlotChange(){this.hasHelpTextSlot=_t(this.el,"help-text"),this.hasInvalidTextSlot=_t(this.el,"invalid-text"),this.hasLabelSlot=_t(this.el,"label"),this.syncItemsFromValue(),this.reportDuplicateItemValues()}handleTagInteraction(e){e.composedPath().find((e=>{if(e instanceof ri)return e.classList.contains("tag-clear")}))&&e.stopPropagation()}reportDuplicateItemValues(){const e=this.getItems().map((e=>e.value)).filter(((e,t,r)=>r.indexOf(e)!==t));if(e.length)throw new Error('Duplicate value found on in : "'+e.join('", "')+'"')}resizeMenu(){this.menu.style.width=`${this.box.clientWidth}px`}syncItemsFromValue(){const e=this.getItems(),t=this.getValueAsArray();if(e.map((e=>e.checked=t.includes(e.value))),this.multiple){const r=[];if(t.map((t=>e.map((e=>e.value===t?r.push(e):null)))),this.displayTags=r.map((e=>de("gr-tag",{type:"info",size:this.size,pill:this.pill,clearable:!0,onClick:this.handleTagInteraction,onKeyDown:this.handleTagInteraction,"onGr-clear":t=>{t.stopPropagation(),this.disabled||(e.checked=!1,this.syncValueFromItems())}},this.getItemLabel(e)))),this.maxTagsVisible>0&&this.displayTags.length>this.maxTagsVisible){const e=this.displayTags.length;this.displayLabel="",this.displayTags=this.displayTags.slice(0,this.maxTagsVisible),this.displayTags.push(de("gr-tag",{type:"info",size:this.size,pill:this.pill},"+",e-this.maxTagsVisible))}}else{const r=e.filter((e=>e.value===t[0]))[0];this.displayLabel=r?this.getItemLabel(r):"",this.displayTags=[]}}syncValueFromItems(){const e=this.getItems().filter((e=>e.checked)).map((e=>e.value));this.multiple?this.value=this.value.filter((t=>e.includes(t))):this.value=e.length>0?e[0]:""}render(){var e;const t=this.multiple?this.value.length>0:""!==this.value,r=this.inheritedAttributes["aria-label"]?{"aria-label":this.inheritedAttributes["aria-label"]}:{"aria-labelledby":this.labelId};return((e,t,r,i)=>{let o=e.querySelector("input.aux-input");o||(o=e.ownerDocument.createElement("input"),o.type="hidden",o.classList.add("aux-input"),e.appendChild(o)),o.disabled=i,o.name=t,o.value=r||""})(this.el,this.name,ni(this.value),this.disabled),de(xt,{inputId:this.inputId,label:this.label,labelId:this.labelId,hasLabelSlot:this.hasLabelSlot,helpTextId:this.helpTextId,helpText:this.helpText,hasHelpTextSlot:this.hasHelpTextSlot,invalidTextId:this.invalidTextId,invalidText:this.invalidText,invalid:this.invalid,hasInvalidTextSlot:this.hasInvalidTextSlot,size:this.size,onLabelClick:this.handleLabelClick,requiredIndicator:this.requiredIndicator},de("gr-dropdown",{ref:e=>this.dropdown=e,hoist:this.hoist,closeOnSelect:!this.multiple,containingElement:this.el,class:{select:!0,"select-open":this.isOpen,"select-empty":0===(null===(e=this.value)||void 0===e?void 0:e.length),"select-focused":this.hasFocus,"select-clearable":this.clearable,"select-disabled":this.disabled,"select-multiple":this.multiple,"select-has-tags":this.multiple&&t,"select-placeholder-visible":""===this.displayLabel,[`select-${this.size}`]:!0,"select-pill":this.pill,"select-invalid":this.invalid},"onGr-show":this.handleMenuShow,"onGr-hide":this.handleMenuHide},de("div",Object.assign({slot:"trigger",ref:e=>this.box=e,id:this.inputId,class:"select-box",role:"combobox"},r,{"aria-describedby":this.invalid?this.invalidTextId:this.helpTextId,"aria-haspopup":"true","aria-expanded":this.isOpen?"true":"false","aria-invalid":this.invalid?"true":"false","aria-required":this.requiredIndicator?"true":"false",tabIndex:this.disabled?-1:0,onBlur:this.handleBlur,onFocus:this.handleFocus,onKeyDown:this.handleKeyDown}),de("div",{class:"select-label"},this.displayTags.length?de("span",{class:"select-tags"},this.displayTags):this.displayLabel||this.placeholder),this.clearable&&t&&de("button",{class:"select-clear",type:"button",onClick:this.handleClearClick,"aria-label":"clear",tabindex:"-1"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Close Circle"),de("path",{d:"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"}),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M320 320L192 192M192 320l128-128"}))),de("span",{class:"caret"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Chevron Down"),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"48",d:"M112 184l144 144 144-144"}))),de("input",{class:"select-hidden-select","aria-hidden":"true",value:t?"1":"",tabIndex:-1})),de("gr-menu",{ref:e=>this.menu=e,class:"select-menu","onGr-select":this.handleMenuSelect},de("slot",{onSlotchange:this.handleSlotChange}))))}get el(){return this}static get watchers(){return{disabled:["handleDisabledChange"],helpText:["handleLabelChange"],invalidText:["handleLabelChange"],label:["handleLabelChange"],multiple:["handleMultipleChange"],value:["handleValueChange"]}}static get style(){return".form-control .form-control-label{display:none}.form-control .form-control-help-text{display:none}.form-control .form-control-invalid-text{display:none}.form-control-has-label .form-control-label{display:flex;line-height:var(--gr-line-height-normal);color:var(--gr-form-element-label-color);margin-bottom:var(--gr-spacing-xxx-small)}.form-control-has-label.form-control-small .form-control-label{font-size:var(--gr-form-element-label-font-size-small)}.form-control-has-label.form-control-medium .form-control-label{font-size:var(--gr-form-element-label-font-size-medium)}.form-control-has-label.form-control-large .form-control-label{font-size:var(--gr-form-element-label-font-size-large)}.form-control-has-label .form-control-label .asterisk{margin-left:var(--gr-spacing-x-small);color:var(--gr-color-medium)}.form-control-has-label .form-control-label .asterisk svg{width:0.6em;height:0.6em;margin-bottom:var(--gr-spacing-xxx-small)}.form-control-has-help-text .form-control-help-text{display:block;line-height:var(--gr-line-height-normal);color:var(--gr-form-element-help-text-color);margin-top:var(--gr-spacing-xxx-small)}.form-control-has-help-text.form-control-small .form-control-help-text{font-size:var(--gr-form-element-help-text-font-size-small);min-height:1.625rem}.form-control-has-help-text.form-control-medium .form-control-help-text{font-size:var(--gr-form-element-help-text-font-size-medium);min-height:1.875rem}.form-control-has-help-text.form-control-large .form-control-help-text{font-size:var(--gr-form-element-help-text-font-size-large);min-height:2.125rem}.form-control-has-invalid-text .form-control-invalid-text{display:flex;margin-left:-2px;line-height:var(--gr-line-height-normal);color:var(--gr-form-element-invalid-text-color);margin-top:var(--gr-spacing-xxx-small)}.form-control-has-invalid-text .form-control-invalid-text .icon{margin-top:var(--gr-spacing-xxx-small);margin-right:var(--gr-spacing-xx-small)}.form-control-has-invalid-text .form-control-invalid-text .icon svg{width:1.4em;height:1.4em}.form-control-has-invalid-text.form-control-small .form-control-invalid-text{font-size:var(--gr-form-element-invalid-text-font-size-small);min-height:1.625rem}.form-control-has-invalid-text.form-control-medium .form-control-invalid-text{font-size:var(--gr-form-element-invalid-text-font-size-medium);min-height:1.875rem}.form-control-has-invalid-text.form-control-large .form-control-invalid-text{font-size:var(--gr-form-element-invalid-text-font-size-large);min-height:2.125rem}.gr-scroll-lock{overflow:hidden !important}:host{--font-size:var(--gr-form-element-font-size-medium);--font-weight:var(--gr-font-weight-normal);--background-color:var(--gr-color-white);--background-color-hover:var(--gr-color-white);--background-color-focus:var(--gr-color-white);--background-color-invalid:var(--gr-color-white);--background-color-invalid-hover:var(--gr-color-white);--border-radius:var(--gr-form-element-border-radius-small);--border-color:var(--gr-color-light-shade);--border-color-hover:var(--gr-color-medium);--border-color-focus:var(--gr-color-primary);--border-color-invalid:var(--gr-color-danger);--border-color-invalid-hover:var(--gr-color-danger-shade);--color:var(--gr-color-dark-tint);--placeholder-color:var(--gr-color-medium-tint);--min-height:var(--gr-form-element-height-medium);--label-margin-start:var(--gr-spacing-medium);--label-margin-end:var(--gr-spacing-medium);--clear-icon-margin-end:var(--gr-spacing-medium);--caret-margin-end:var(--gr-spacing-medium);--tags-padding-top:3px;--tags-padding-bottom:3px;--tags-margin-end:var(--gr-spacing-xx-small);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33);display:block;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}.select-small{--font-size:var(--gr-form-element-font-size-small);--min-height:var(--gr-form-element-height-small);--label-margin-start:var(--gr-spacing-small);--label-margin-end:var(--gr-spacing-small);--clear-icon-margin-end:var(--gr-spacing-small);--caret-margin-end:var(--gr-spacing-small);--tags-padding-top:2px;--tags-padding-bottom:2px}.select-large{--font-size:var(--gr-form-element-font-size-large);--min-height:var(--gr-form-element-height-large);--label-margin-start:var(--gr-spacing-large);--label-margin-end:var(--gr-spacing-large);--clear-icon-margin-end:var(--gr-spacing-large);--caret-margin-end:var(--gr-spacing-large);--tags-padding-top:4px;--tags-padding-bottom:4px}.select{display:block}.select-box{display:inline-flex;align-items:center;justify-content:start;position:relative;width:100%;font-family:var(--gr-font-family);font-size:var(--font-size);font-weight:var(--font-weight);letter-spacing:normal;background-color:var(--background-color);border:solid 1px var(--border-color);border-radius:var(--border-radius);min-height:var(--min-height);color:var(--color);vertical-align:middle;overflow:hidden;transition:150ms color, 150ms border, 150ms box-shadow;cursor:pointer}.select.select-invalid:not(.select-disabled) .select-box{background-color:var(--background-color-invalid);border-color:var(--border-color-invalid)}.select.select-invalid:not(.select-disabled):not(.select-focused) .select-box:hover{background-color:var(--background-color-invalid-hover);border-color:var(--border-color-invalid-hover)}.select.select-invalid:not(.select-disabled) .select-box{background-color:var(--background-color-invalid);border-color:var(--border-color-invalid)}.select:not(.select-disabled) .select-box:hover{background-color:var(--background-color-hover);border-color:var(--border-color-hover)}.select.select-focused:not(.select-disabled) .select-box{outline:none;box-shadow:var(--focus-ring);border-color:var(--border-color-focus);background-color:var(--background-color-focus)}.select-disabled .select-box{opacity:0.5;cursor:not-allowed;outline:none}.select-disabled .select-tags,.select-disabled .select-clear{pointer-events:none}.select-label{flex:1 1 auto;display:flex;align-items:center;user-select:none;margin-top:0;margin-left:var(--label-margin-start);margin-right:var(--label-margin-end);margin-bottom:0;scrollbar-width:none;-ms-overflow-style:none;overflow-x:auto;overflow-y:hidden;white-space:nowrap}.select-label::-webkit-scrollbar{width:0;height:0}.select-has-tags .select-label{margin-left:0}.select-clear{display:inline-flex;align-items:center;font-size:inherit;color:var(--gr-color-medium);border:none;background:none;padding:0;transition:150ms color;cursor:pointer;margin-right:var(--clear-icon-margin-end)}.select-clear:hover{color:var(--gr-color-dark)}.select-clear:focus{outline:none}.select-clear svg{width:1.2em;height:1.2em;font-size:var(--font-size)}.caret{flex:0 0 auto;display:inline-flex;transition:250ms transform ease;margin-right:var(--caret-margin-end)}.caret svg{width:1em;height:1em;font-size:var(--font-size)}.select-open .caret{transform:rotate(-180deg)}.select-placeholder-visible .select-label{color:var(--placeholder-color)}.select-tags{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:left;margin-left:var(--gr-spacing-xx-small);padding-bottom:var(--tags-padding-bottom)}.select-tags gr-tag{padding-top:var(--tags-padding-top)}.select-tags gr-tag:not(:last-of-type){margin-right:var(--tags-margin-end)}.select-hidden-select{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px;position:absolute;top:0;left:0;width:100%;height:100%}.select-pill .select-box{border-radius:var(--min-height)}"}},[1,"gr-select",{multiple:[4],maxTagsVisible:[2,"max-tags-visible"],disabled:[4],name:[1],placeholder:[1],size:[1],hoist:[4],value:[1025],pill:[4],label:[1],requiredIndicator:[4,"required-indicator"],helpText:[1,"help-text"],invalidText:[1,"invalid-text"],invalid:[516],clearable:[4],hasFocus:[32],hasHelpTextSlot:[32],hasInvalidTextSlot:[32],hasLabelSlot:[32],isOpen:[32],items:[32],displayLabel:[32],displayTags:[32],setFocus:[64]}]),ni=e=>{if(null!=e)return Array.isArray(e)?e.join(","):e.toString()};!function(){if("undefined"==typeof customElements)return;["gr-select","gr-button","gr-dropdown","gr-menu","gr-spinner","gr-tag"].forEach((e=>{switch(e){case"gr-select":customElements.get(e)||customElements.define(e,oi);break;case"gr-button":customElements.get(e)||St();break;case"gr-dropdown":customElements.get(e)||Xr();break;case"gr-menu":customElements.get(e)||Jr();break;case"gr-spinner":customElements.get(e)||Et();break;case"gr-tag":customElements.get(e)||ti()}}))}();const ai=oi,si=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.hasFocus=!1,this.checked=!1,this.value="",this.disabled=!1}connectedCallback(){this.handleBlur=this.handleBlur.bind(this),this.handleFocus=this.handleFocus.bind(this),this.handleMouseEnter=this.handleMouseEnter.bind(this),this.handleMouseLeave=this.handleMouseLeave.bind(this)}async setFocus(e){this.el.focus(e)}async removeFocus(){this.el.blur()}handleBlur(){this.hasFocus=!1}handleFocus(){this.hasFocus=!0}handleMouseEnter(){this.setFocus()}handleMouseLeave(){this.removeFocus()}render(){return de(ge,{class:{"menu-item-checked":this.checked,"menu-item-disabled":this.disabled,"menu-item-focused":this.hasFocus},role:"menuitem","aria-disabled":this.disabled?"true":"false","aria-checked":this.checked?"true":"false",tabIndex:this.disabled?null:0,onFocus:this.handleFocus,onBlur:this.handleBlur,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave},de("span",{class:"checkmark"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Checkmark"),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M416 128L192 384l-96-96"}))),de("span",{class:"start"},de("slot",{name:"start"})),de("span",{class:"label"},de("slot",null)),de("span",{class:"end"},de("slot",{name:"end"})))}get el(){return this}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{--line-height:var(--gr-line-height-normal);--background-color:transparent;--background-color-focused:var(--gr-color-primary);--color:var(--gr-color-dark);--color-focused:var(--gr-color-primary-contrast);--color-disabled:var(--gr-color-medium);--padding-top:var(--gr-spacing-xx-small);--padding-start:var(--gr-spacing-x-large);--padding-end:var(--gr-spacing-x-large);--padding-bottom:var(--gr-spacing-xx-small);--transition:background-color 150ms linear, color 150ms linear;position:relative;display:flex;align-items:stretch;font-family:var(--gr-font-family);font-size:var(--gr-font-size-medium);font-weight:var(--gr-font-weight-normal);line-height:var(--line-height);letter-spacing:var(--gr-letter-spacing-normal);text-align:left;background-color:var(--background-color);color:var(--color);padding-top:var(--padding-top);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-bottom:var(--padding-bottom);transition:var(--transition);user-select:none;white-space:nowrap;cursor:pointer;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host(.menu-item-focused:not(.menu-item-disabled)){outline:none;background-color:var(--background-color-focused);color:var(--color-focused)}:host(.menu-item-disabled){outline:none;color:var(--color-disabled);cursor:not-allowed}.checkmark{display:flex;position:absolute;left:0.5em;top:calc(50% - 0.5em);visibility:hidden;align-items:center;font-size:inherit}.checkmark svg{display:inline-block;width:1.1em;height:1.1em;contain:strict;fill:currentcolor;box-sizing:content-box !important}:host(.menu-item-checked) .checkmark{visibility:visible}.label{flex:1 1 auto}.start{flex:0 0 auto;display:flex;align-items:center}.start ::slotted(:last-child){margin-right:0.5em}.end{flex:0 0 auto;display:flex;align-items:center}.end ::slotted(:first-child){margin-left:0.5em}"}},[1,"gr-menu-item",{checked:[516],value:[513],disabled:[516],hasFocus:[32],setFocus:[64],removeFocus:[64]}]); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */!function(){if("undefined"==typeof customElements)return;["gr-menu-item"].forEach((e=>{if("gr-menu-item"===e)customElements.get(e)||customElements.define(e,si)}))}();const li={"gr-select":ai,"gr-menu-item":si};class ci extends(P(_)){constructor(){super(...arguments),this.value=null,this.multiple=!1,this.clearable=!1,this._refSelect=y()}reset(){this.value=null}_valueChangedHandler(e){const t=this._refSelect.value?.value;if(void 0!==t&&!l(this.value,t)){const e=null===this.value;this.value=t,e||w(this,"select:change",t)}}willUpdate(e){e.has("initialValue")&&this.initialValue&&!this.value&&(this.value=this.initialValue)}render(){return $` - ${this.options?.map((e=>$`${e.label}`))} - `}static get styles(){return k(':root, :host {\n --gr-color-primary: #1079b2;\n --gr-color-primary-rgb: 16, 121, 178;\n --gr-color-primary-contrast: #ffffff;\n --gr-color-primary-contrast-rgb: 255, 255, 255;\n --gr-color-primary-shade: #0d6696;\n --gr-color-primary-tint: #1499e1;\n --gr-color-secondary: #051f2c;\n --gr-color-secondary-rgb: 5, 31, 44;\n --gr-color-secondary-contrast: #ffffff;\n --gr-color-secondary-contrast-rgb: 255, 255, 255;\n --gr-color-secondary-shade: #000000;\n --gr-color-secondary-tint: #0a415c;\n --gr-color-tertiary: #0c4a6e;\n --gr-color-tertiary-rgb: 12, 74, 110;\n --gr-color-tertiary-contrast: #ffffff;\n --gr-color-tertiary-contrast-rgb: 255, 255, 255;\n --gr-color-tertiary-shade: #083249;\n --gr-color-tertiary-tint: #106393;\n --gr-color-success: #0fbe78;\n --gr-color-success-rgb: 15, 190, 120;\n --gr-color-success-contrast: #000000;\n --gr-color-success-contrast-rgb: 0, 0, 0;\n --gr-color-success-shade: #057f4e;\n --gr-color-success-tint: #12e28f;\n --gr-color-warning: #fbbc4e;\n --gr-color-warning-rgb: 251, 188, 78;\n --gr-color-warning-contrast: #051f2c;\n --gr-color-warning-contrast-rgb: 5, 31, 44;\n --gr-color-warning-shade: #9e6400;\n --gr-color-warning-tint: #fdd187;\n --gr-color-danger: #e60017;\n --gr-color-danger-rgb: 230, 0, 23;\n --gr-color-danger-contrast: #ffffff;\n --gr-color-danger-contrast-rgb: 255, 255, 255;\n --gr-color-danger-shade: #cc0014;\n --gr-color-danger-tint: #ff1f35;\n --gr-color-light: #f4f5f8;\n --gr-color-light-rgb: 244, 245, 248;\n --gr-color-light-contrast: #051f2c;\n --gr-color-light-contrast-rgb: 5, 31, 44;\n --gr-color-light-shade: #d7d8da;\n --gr-color-light-tint: #f9fafb;\n --gr-color-medium: #5e6c78;\n --gr-color-medium-rgb: 94, 108, 120;\n --gr-color-medium-contrast: #ffffff;\n --gr-color-medium-contrast-rgb: 255, 255, 255;\n --gr-color-medium-shade: #48535b;\n --gr-color-medium-tint: #81909c;\n --gr-color-dark: #02131b;\n --gr-color-dark-rgb: 2, 19, 27;\n --gr-color-dark-contrast: #ffffff;\n --gr-color-dark-contrast-rgb: 255, 255, 255;\n --gr-color-dark-shade: #000000;\n --gr-color-dark-tint: #222428;\n --gr-color-white: #ffffff;\n --gr-color-black: #000000;\n --gr-border-radius-small: 0.125rem;\n --gr-border-radius-medium: 0.25rem;\n --gr-border-radius-large: 0.5rem;\n --gr-border-radius-x-large: 1rem;\n --gr-border-width-small: 0.063rem;\n --gr-border-width-medium: 0.125rem;\n --gr-border-width-large: 0.188rem;\n --gr-shadow-x-small: 0 1px 0 #0d131e0d;\n --gr-shadow-small: 0 1px 2px #0d131e1a;\n --gr-shadow-medium: 0 2px 4px #0d131e1a;\n --gr-shadow-large: 0 2px 8px #0d131e1a;\n --gr-shadow-x-large: 0 4px 16px #0d131e1a;\n --gr-spacing-xxx-small: 0.125rem;\n --gr-spacing-xx-small: 0.25rem;\n --gr-spacing-x-small: 0.5rem;\n --gr-spacing-small: 0.75rem;\n --gr-spacing-medium: 1rem;\n --gr-spacing-large: 1.25rem;\n --gr-spacing-x-large: 1.75rem;\n --gr-spacing-xx-large: 2.25rem;\n --gr-spacing-xxx-large: 3rem;\n --gr-spacing-xxxx-large: 4.5rem;\n --gr-font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial,\n sans-serif;\n --gr-letter-spacing-dense: -0.015em;\n --gr-letter-spacing-normal: normal;\n --gr-letter-spacing-loose: 0.075em;\n --gr-line-height-dense: 1.4;\n --gr-line-height-normal: 1.8;\n --gr-line-height-loose: 2.2;\n --gr-font-size-xx-small: 0.625rem;\n --gr-font-size-x-small: 0.75rem;\n --gr-font-size-small: 0.875rem;\n --gr-font-size-medium: 1rem;\n --gr-font-size-large: 1.25rem;\n --gr-font-size-x-large: 1.5rem;\n --gr-font-size-xx-large: 2.25rem;\n --gr-font-size-xxx-large: 3rem;\n --gr-font-size-xxxx-large: 4.5rem;\n --gr-font-weight-thin: 100;\n --gr-font-weight-extra-light: 200;\n --gr-font-weight-light: 300;\n --gr-font-weight-normal: 400;\n --gr-font-weight-medium: 500;\n --gr-font-weight-semi-bold: 600;\n --gr-font-weight-bold: 700;\n --gr-font-weight-extra-bold: 800;\n --gr-font-weight-black: 900;\n --gr-form-element-font-size-x-small: var(--gr-font-size-x-small);\n --gr-form-element-font-size-small: var(--gr-font-size-small);\n --gr-form-element-font-size-medium: var(--gr-font-size-medium);\n --gr-form-element-font-size-large: var(--gr-font-size-large);\n --gr-form-element-height-small: 2.188rem;\n --gr-form-element-height-medium: 3.125rem;\n --gr-form-element-height-large: 4.063rem;\n --gr-form-element-border-radius-small: var(--gr-border-radius-medium);\n --gr-form-element-border-radius-medium: var(--gr-border-radius-medium);\n --gr-form-element-border-radius-large: var(--gr-border-radius-medium);\n --gr-focus-ring-width: 2px;\n --gr-form-element-label-font-size-small: var(--gr-font-size-small);\n --gr-form-element-label-font-size-medium: var(--gr-font-size-medium);\n --gr-form-element-label-font-size-large: var(--gr-font-size-large);\n --gr-form-element-label-color: inherit;\n --gr-form-element-help-text-font-size-small: var(--gr-font-size-x-small);\n --gr-form-element-help-text-font-size-medium: var(--gr-font-size-small);\n --gr-form-element-help-text-font-size-large: var(--gr-font-size-medium);\n --gr-form-element-help-text-color: var(--gr-color-medium);\n --gr-form-element-invalid-text-font-size-small: var(--gr-font-size-x-small);\n --gr-form-element-invalid-text-font-size-medium: var(--gr-font-size-small);\n --gr-form-element-invalid-text-font-size-large: var(--gr-font-size-medium);\n --gr-form-element-invalid-text-color: var(--gr-color-danger);\n --gr-toggle-size: 1rem;\n --gr-panel-border-color: var(--gr-color-light-shade);\n --gr-z-index-dropdown: 900;\n}\n\n')}}ci.elementDefinitions={...li},f([v({attribute:!1,hasChanged:b})],ci.prototype,"options",void 0),f([v({attribute:!1,hasChanged:b})],ci.prototype,"value",void 0),f([v({attribute:!1,hasChanged:b})],ci.prototype,"initialValue",void 0),f([v({attribute:!0})],ci.prototype,"label",void 0),f([v({attribute:!0})],ci.prototype,"placeholder",void 0),f([v({attribute:!0,type:Boolean})],ci.prototype,"multiple",void 0),f([v({attribute:!0,type:Boolean})],ci.prototype,"clearable",void 0);let di=class extends(P(_)){constructor(){super(...arguments),this._mediaFilterController=new U(this),this._refMediaType=y(),this._refCamera=y(),this._refWhen=y(),this._refWhenFrom=y(),this._refWhenTo=y(),this._refWhat=y(),this._refWhere=y(),this._refFavorite=y(),this._refTags=y()}willUpdate(e){e.has("viewManagerEpoch")&&this._mediaFilterController.setViewManager(this.viewManagerEpoch?.manager??null),e.has("cameraManager")&&this.cameraManager&&(this._mediaFilterController.computeCameraOptions(this.cameraManager),this._mediaFilterController.computeMetadataOptions(this.cameraManager)),!e.get("viewManager")&&this.viewManagerEpoch&&this.cameraManager&&this._mediaFilterController.computeInitialDefaultsFromView(this.cameraManager)}render(){const e=async()=>{this.cameraManager&&this.viewManagerEpoch&&this.cardWideConfig&&await this._mediaFilterController.valueChangeHandler(this.cameraManager,this.cardWideConfig,{camera:this._refCamera.value?.value??void 0,mediaType:this._refMediaType.value?.value??void 0,when:{selected:this._refWhen.value?.value??void 0,from:this._refWhenFrom.value?.value,to:this._refWhenTo.value?.value},favorite:this._refFavorite.value?.value??void 0,where:this._refWhere.value?.value??void 0,what:this._refWhat.value?.value??void 0,tags:this._refTags.value?.value??void 0})},t=async t=>{"custom"===t&&this._refWhen.value?this._refWhenFrom.value?.value||this._refWhenTo.value?.value?this._refWhen.value.value=B.Custom:this._refWhen.value.reset():this._refWhen.value?.value!==B.Custom&&(this._refWhenFrom.value?.reset(),this._refWhenTo.value?.reset()),await e()};if(!this.cameraManager||!this.viewManagerEpoch)return;const r=this._mediaFilterController.getControlsToShow(this.cameraManager),o=this._mediaFilterController.getDefaults(),n=this._mediaFilterController.getWhatOptions(),a=this._mediaFilterController.getTagsOptions(),s=this._mediaFilterController.getWhereOptions();return $` e()} - > - -
- t("selected")} - > - - t("custom")} - > - - t("custom")} - > - -
- e()} - > - - ${r.events&&n.length?$` e()} - > - `:""} - ${r.events&&a.length?$` e()} - > - `:""} - ${r.events&&s.length?$` e()} - > - `:""} - ${r.favorites?$` - e()} - > - - `:""}`}static get styles(){return k(":host {\n display: flex;\n flex-direction: column;\n overflow: auto;\n scrollbar-width: none;\n -ms-overflow-style: none;\n height: 100%;\n width: 300px;\n margin: 5px;\n}\n\n/* Hide scrollbar for Chrome, Safari and Opera */\n:host::-webkit-scrollbar {\n display: none;\n}\n\nfrigate-card-select {\n padding: 5px;\n}\n\ndiv.when {\n display: inline-flex;\n align-items: flex-end;\n}\n\ndiv.when frigate-card-select {\n flex: 1;\n}\n\ndiv.when frigate-card-date-picker {\n padding-bottom: 5px;\n transition: width 0.5s ease-in-out;\n}\n\ndiv.when frigate-card-date-picker {\n color: var(--secondary-color);\n}\n\ndiv.when frigate-card-date-picker.selected {\n color: var(--primary-color);\n}\n\ndiv.when frigate-card-date-picker.hidden {\n width: 0px;\n}")}};di.elementDefinitions={"frigate-card-select":ci,"frigate-card-date-picker":R},f([v({attribute:!1})],di.prototype,"hass",void 0),f([v({attribute:!1})],di.prototype,"cameraManager",void 0),f([v({attribute:!1})],di.prototype,"viewManagerEpoch",void 0),f([v({attribute:!1})],di.prototype,"cardWideConfig",void 0),di=f([C("frigate-card-media-filter")],di);const hi={closed:"mdi:filter-cog-outline",open:"mdi:filter-cog"};let gi=class extends _{render(){const e=this.viewManagerEpoch?.manager.getView();if(this.hass&&e?.isGalleryView()&&this.cameraManager&&this.cardWideConfig)return $` - - ${this.galleryConfig&&"none"!==this.galleryConfig.controls.filter.mode?$` - `:""} - - - - `}static get styles(){return k(":host {\n width: 100%;\n height: 100%;\n display: block;\n}\n\nfrigate-card-surround-basic {\n max-height: 110dvh;\n}")}};f([v({attribute:!1})],gi.prototype,"hass",void 0),f([v({attribute:!1})],gi.prototype,"viewManagerEpoch",void 0),f([v({attribute:!1})],gi.prototype,"galleryConfig",void 0),f([v({attribute:!1})],gi.prototype,"cameraManager",void 0),f([v({attribute:!1})],gi.prototype,"cardWideConfig",void 0),gi=f([C("frigate-card-gallery")],gi);let ui=class extends _{constructor(){super(),this._refLoaderBottom=y(),this._refSelected=y(),this._showLoaderBottom=!0,this._showLoaderTop=!1,this._boundWheelHandler=this._wheelHandler.bind(this),this._boundTouchStartHandler=this._touchStartHandler.bind(this),this._boundTouchEndHandler=this._touchEndHandler.bind(this),this._throttleExtendGalleryLater=O(this._extendGallery.bind(this),500,{leading:!0,trailing:!1}),this._touchScrollYPosition=null,this._resizeObserver=new ResizeObserver(this._resizeHandler.bind(this)),this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this))}_touchStartHandler(e){1===e.touches.length?this._touchScrollYPosition=e.touches[0].screenY:this._touchScrollYPosition=null}async _touchEndHandler(e){!this.scrollTop&&1===e.changedTouches.length&&this._touchScrollYPosition&&e.changedTouches[0].screenY>this._touchScrollYPosition&&await this._extendLater(),this._touchScrollYPosition=null}async _wheelHandler(e){!this.scrollTop&&e.deltaY<0&&await this._extendLater()}async _extendLater(){const e=new Date;this._showLoaderTop=!0,await this._throttleExtendGalleryLater("later",!1);const t=(new Date).getTime()-e.getTime();t<500&&await S(.5-t/1e3),this._showLoaderTop=!1}connectedCallback(){super.connectedCallback(),this._resizeObserver.observe(this),this.addEventListener("wheel",this._boundWheelHandler,{passive:!0}),this.addEventListener("touchstart",this._boundTouchStartHandler,{passive:!0}),this.addEventListener("touchend",this._boundTouchEndHandler),this.requestUpdate()}disconnectedCallback(){this.removeEventListener("wheel",this._boundWheelHandler),this.removeEventListener("touchstart",this._boundTouchStartHandler),this.removeEventListener("touchend",this._boundTouchEndHandler),this._resizeObserver.disconnect(),this._intersectionObserver.disconnect(),super.disconnectedCallback()}_setColumnCount(){const e=this.galleryConfig?.controls.thumbnails.size??M.media_gallery.controls.thumbnails.size,t=this.galleryConfig?.controls.thumbnails.show_details?Math.max(1,Math.floor(this.clientWidth/z)):Math.max(1,Math.ceil(this.clientWidth/e));this.style.setProperty("--frigate-card-gallery-columns",String(t))}_resizeHandler(){this._setColumnCount()}async _intersectionHandler(e){e.every((e=>!e.isIntersecting))||(this._showLoaderBottom=!1,await this._extendGallery("earlier"))}async _extendGallery(e,t=!0){const r=this.viewManagerEpoch?.manager.getView();if(!this.cameraManager||!this.hass||!r)return;const i=r.query,n=i?.getQueries()??null,s=r.queryResults?.getResults();if(!i||!n||!s)return;let l;try{l=await this.cameraManager.extendMediaQueries(n,s,e,{useCache:t})}catch(e){return void d(e)}if(l){const e=c.areEventQueries(i)?new o(l.queries):c.areRecordingQueries(i)?new a(l.queries):null;e&&this.viewManagerEpoch?.manager.setViewByParameters({baseView:r,params:{query:e,queryResults:new L({results:l.results}).selectResultIfFound((e=>e===r.queryResults?.getSelectedResult()))}})}}willUpdate(e){if(e.has("galleryConfig")&&(this.galleryConfig?.controls.thumbnails.show_details?this.setAttribute("details",""):this.removeAttribute("details"),this._setColumnCount(),this.galleryConfig?.controls.thumbnails.size&&this.style.setProperty("--frigate-card-thumbnail-size",`${this.galleryConfig.controls.thumbnails.size}px`)),e.has("viewManagerEpoch")){this._showLoaderBottom=!0;const e=this.viewManagerEpoch?.manager.getView(),t=this.viewManagerEpoch?.oldView;this._media&&t?.queryResults?.getResults()===e?.queryResults?.getResults()||(this._media=[...e?.queryResults?.getResults()??[]].reverse())}}render(){if(!this._media||!this.hass)return $``;const e=this.viewManagerEpoch?.manager.getView();if(!e?.queryResults||0===e.queryResults.getResultsCount()){const t=!!e?.context?.loading?.query;return D({type:"info",message:i(t?"error.awaiting_media":"common.no_media"),icon:"mdi:multimedia",dotdotdot:t})}const t=e.queryResults.getSelectedResult();return $`
- ${this._showLoaderTop?$`${A({cardWideConfig:this.cardWideConfig,classes:{top:!0},size:"small"})}`:""} - ${this._media.map(((r,i)=>$`{this._media&&this.viewManagerEpoch?.manager.setViewByParameters({params:{view:"media",queryResults:e.queryResults?.clone().selectIndex(this._media.length-i-1)}}),F(t)}} - > - `))} - ${this._showLoaderBottom?$`${A({cardWideConfig:this.cardWideConfig,componentRef:this._refLoaderBottom})}`:""} -
`}updated(e){this._refLoaderBottom.value&&(this._intersectionObserver.disconnect(),this._intersectionObserver.observe(this._refLoaderBottom.value)),this.updateComplete.then((()=>{e.has("viewManagerEpoch")&&!e.get("viewManagerEpoch")&&this._refSelected.value&&this._refSelected.value.scrollIntoView({block:"center"})}))}static get styles(){return k(":host {\n width: 100%;\n height: 100%;\n display: block;\n overflow: auto;\n -ms-overflow-style: none;\n scrollbar-width: none;\n --frigate-card-gallery-gap: 3px;\n --frigate-card-gallery-columns: 4;\n}\n\n.grid {\n display: grid;\n grid-template-columns: repeat(var(--frigate-card-gallery-columns), minmax(0, 1fr));\n grid-auto-rows: min-content;\n gap: var(--frigate-card-gallery-gap);\n}\n\n:host::-webkit-scrollbar {\n display: none;\n}\n\nfrigate-card-thumbnail {\n height: 100%;\n max-height: var(--frigate-card-thumbnail-size);\n}\n\nfrigate-card-thumbnail:not([details]) {\n width: 100%;\n}\n\nfrigate-card-thumbnail.selected {\n border: 4px solid var(--accent-color);\n border-radius: calc(var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px)) + 4px);\n}\n\nfrigate-card-progress-indicator.top {\n grid-column: 1/-1;\n}")}};f([v({attribute:!1})],ui.prototype,"hass",void 0),f([v({attribute:!1})],ui.prototype,"viewManagerEpoch",void 0),f([v({attribute:!1})],ui.prototype,"galleryConfig",void 0),f([v({attribute:!1})],ui.prototype,"cameraManager",void 0),f([v({attribute:!1})],ui.prototype,"cardWideConfig",void 0),f([E()],ui.prototype,"_showLoaderBottom",void 0),f([E()],ui.prototype,"_showLoaderTop",void 0),ui=f([C("frigate-card-gallery-core")],ui);export{gi as FrigateCardGallery,ui as FrigateCardGalleryCore}; diff --git a/config/www/community/frigate-hass-card/gallery-15a600d2.js.gz b/config/www/community/frigate-hass-card/gallery-15a600d2.js.gz deleted file mode 100644 index 0bb5129b75a6f2835f21078af4e7d67e724c6c9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30839 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 S0mu6EPyYu@e.registry.define(t,r))));const n=this.renderOptions.creationScope=this.attachShadow({...o,customElements:e.registry});return r(n,this.constructor.elementStyles),n}}}!function(e){e.Favorite="favorite",e.NotFavorite="not-favorite"}(j||(j={})),function(e){e.Today="today",e.Yesterday="yesterday",e.PastWeek="past-week",e.PastMonth="past-month",e.Custom="custom"}(B||(B={})),function(e){e.Clips="clips",e.Snapshots="snapshots",e.Recordings="recordings"}(q||(q={}));class U{constructor(e){this._cameraOptions=[],this._whenOptions=[],this._metaDataWhenOptions=[],this._whatOptions=[],this._whereOptions=[],this._tagsOptions=[],this._defaults=null,this._viewManager=null,this._host=e,this._favoriteOptions=[{value:j.Favorite,label:i("media_filter.favorite")},{value:j.NotFavorite,label:i("media_filter.not_favorite")}],this._mediaTypeOptions=[{value:q.Clips,label:i("media_filter.media_types.clips")},{value:q.Snapshots,label:i("media_filter.media_types.snapshots")},{value:q.Recordings,label:i("media_filter.media_types.recordings")}],this._staticWhenOptions=[{value:B.Today,label:i("media_filter.whens.today")},{value:B.Yesterday,label:i("media_filter.whens.yesterday")},{value:B.PastWeek,label:i("media_filter.whens.past_week")},{value:B.PastMonth,label:i("media_filter.whens.past_month")},{value:B.Custom,label:i("media_filter.whens.custom")}],this._computeWhenOptions()}getMediaTypeOptions(){return this._mediaTypeOptions}getCameraOptions(){return this._cameraOptions}getWhenOptions(){return this._whenOptions}getWhatOptions(){return this._whatOptions}getWhereOptions(){return this._whereOptions}getTagsOptions(){return this._tagsOptions}getFavoriteOptions(){return this._favoriteOptions}getDefaults(){return this._defaults}setViewManager(e){this._viewManager=e}async valueChangeHandler(e,t,r,i){const s=e=>e&&Array.isArray(e)&&e.length&&!e.includes("")?new Set([...e]):null,l=s(r.camera)??this._getAllCameraIDs(e);if(!l.size||!r.mediaType)return;const c=this._getWhen(r.when),d=r.favorite?r.favorite===j.Favorite:null,h=t.performance?.features.media_chunk_size;if(r.mediaType===q.Clips||r.mediaType===q.Snapshots){const e=s(r.where),t=s(r.what),i=s(r.tags),a=new o([{type:n.Event,cameraIDs:l,...i&&{tags:i},...t&&{what:t},...e&&{where:e},...null!==d&&{favorite:d},...c&&{...c.start&&{start:c.start},...c.end&&{end:c.end}},...h&&{limit:h},...r.mediaType===q.Clips&&{hasClip:!0},...r.mediaType===q.Snapshots&&{hasSnapshot:!0}}]);this._viewManager?.setViewByParametersWithExistingQuery({params:{query:a,...1===l.size&&{camera:[...l][0]},view:r.mediaType===q.Clips?"clips":"snapshots"}})}else{const e=new a([{type:n.Recording,cameraIDs:l,...h&&{limit:h},...c&&{...c.start&&{start:c.start},...c.end&&{end:c.end}},...null!==d&&{favorite:d}}]);this._viewManager?.setViewByParametersWithExistingQuery({params:{query:e,...1===l.size&&{camera:[...l][0]},view:"recordings"}})}this._host.requestUpdate()}_getAllCameraIDs(e){return e.getStore().getCameraIDsWithCapability({anyCapabilities:["clips","snapshots","recordings"]})}computeInitialDefaultsFromView(e){const t=this._viewManager?.getView(),r=t?.query?.getQueries(),i=this._getAllCameraIDs(e);if(!t||!r||!i.size)return;let o,n,a,d,h,g;1!==s(r.map((e=>e.cameraIDs)),l).length||l(r[0].cameraIDs,i)||(n=[...r[0].cameraIDs]); -/* istanbul ignore else: the else path cannot be reached -- @preserve */ -if(1===s(r.map((e=>e.favorite)),l).length&&void 0!==r[0].favorite&&(h=r[0].favorite?j.Favorite:j.NotFavorite),c.areEventQueries(t.query)){const e=t.query.getQueries(); -/* istanbul ignore if: the if path cannot be reached -- @preserve */if(!e)return;const r=s(e.map((e=>e.hasClip)),l),i=s(e.map((e=>e.hasSnapshot)),l);1===r.length&&1===i.length&&(o=r[0]?q.Clips:i[0]?q.Snapshots:void 0);1===s(e.map((e=>e.what)),l).length&&e[0].what?.size&&(a=[...e[0].what]);1===s(e.map((e=>e.where)),l).length&&e[0].where?.size&&(d=[...e[0].where]);1===s(e.map((e=>e.tags)),l).length&&e[0].tags?.size&&(g=[...e[0].tags])}else c.areRecordingQueries(t.query)&&(o=q.Recordings);this._defaults={...o&&{mediaType:o},...n&&{cameraIDs:n},...a&&{what:a},...d&&{where:d},...void 0!==h&&{favorite:h},...g&&{tags:g}}}computeCameraOptions(e){this._cameraOptions=[...this._getAllCameraIDs(e)].map((t=>({value:t,label:e.getCameraMetadata(t)?.title??t})))}async computeMetadataOptions(e){let t=null;try{t=await e.getMediaMetadata()}catch(e){d(e)}if(t){if(t.what&&(this._whatOptions=[...t.what].sort().map((e=>({value:e,label:h(e)})))),t.where&&(this._whereOptions=[...t.where].sort().map((e=>({value:e,label:h(e)})))),t.tags&&(this._tagsOptions=[...t.tags].sort().map((e=>({value:e,label:h(e)})))),t.days){const e=new Set;[...t.days].forEach((t=>{e.add(t.substring(0,7))}));const r=[];e.forEach((e=>{r.push(W(e,"yyyy-MM",new Date))})),this._metaDataWhenOptions=g(r,(e=>e.getTime()),"desc").map((e=>({label:u(e,"MMMM yyyy"),value:this._dateRangeToString({start:e,end:N(e)})}))),this._computeWhenOptions()}this._host.requestUpdate()}}getControlsToShow(e){const t=this._viewManager?.getView(),r=c.areEventQueries(t?.query),i=c.areRecordingQueries(t?.query),o=e.getAggregateCameraCapabilities();return{events:r,recordings:i,favorites:r?o?.has("favorite-events"):!!i&&o?.has("favorite-recordings")}}_computeWhenOptions(){this._whenOptions=[...this._staticWhenOptions,...this._metaDataWhenOptions]}_dateRangeToString(e){return`${m(e.start)},${m(e.end)}`}_stringToDateRange(e){const t=e.split(",");return{start:W(t[0],"yyyy-MM-dd",new Date),end:I(W(t[1],"yyyy-MM-dd",new Date))}}_getWhen(e){if(e.from||e.to)return{...e.from&&{start:e.from},...e.to&&{end:e.to}};if(!e.selected||Array.isArray(e.selected))return null;const r=new Date;switch(e.selected){case B.Custom:return null;case B.Today:return{start:t(Date.now()),end:I(Date.now())};case B.Yesterday:return{start:V(),end:H()};case B.PastWeek:return{start:t(p(r,{days:7})),end:I(r)};case B.PastMonth:return{start:t(p(r,{months:1})),end:I(r)};default:return this._stringToDateRange(e.selected)}}}const K=!0,Y=!0,Q=!0,G=!1,X=!1;let Z,J,ee,te=!1,re=!1,ie=!1,oe=!1,ne=null,ae=!1;const se="http://www.w3.org/1999/xlink",le={},ce=e=>"object"===(e=typeof e)||"function"===e;const de=(e,t,...r)=>{let i=null,o=null,n=null,a=!1,s=!1;const l=[],c=t=>{for(let r=0;re[t])).join(" "))}}if("function"==typeof e)return e(null===t?{}:t,l,ue);const d=he(e,null);return d.$attrs$=t,l.length>0&&(d.$children$=l),d.$key$=o,d.$name$=n,d},he=(e,t)=>{const r={$flags$:0,$tag$:e,$text$:t,$elm$:null,$children$:null,$attrs$:null,$key$:null,$name$:null};return r},ge={},ue={forEach:(e,t)=>e.map(me).forEach(t),map:(e,t)=>e.map(me).map(t).map(pe)},me=e=>({vattrs:e.$attrs$,vchildren:e.$children$,vkey:e.$key$,vname:e.$name$,vtag:e.$tag$,vtext:e.$text$}),pe=e=>{if("function"==typeof e.vtag){const t=Object.assign({},e.vattrs);return e.vkey&&(t.key=e.vkey),e.vname&&(t.name=e.vname),de(e.vtag,t,...e.vchildren||[])}const t=he(e.vtag,e.vtext);return t.$attrs$=e.vattrs,t.$children$=e.vchildren,t.$key$=e.vkey,t.$name$=e.vname,t},fe=(e,t,r)=>{const i=e;return{emit:e=>ve(i,t,{bubbles:!!(4&r),composed:!!(2&r),cancelable:!!(1&r),detail:e})}},ve=(e,t,r)=>{const i=ht.ce(t,r);return e.dispatchEvent(i),i},be=new WeakMap,ye=e=>{const t=e.$cmpMeta$,r=e.$hostElement$,i=t.$flags$,o=(t.$tagName$,()=>{}),n=((e,t,r,i)=>{var o;let n=we(t,r);const a=at.get(n);if(e=11===e.nodeType?e:ct,a)if("string"==typeof a){e=e.head||e;let t,r=be.get(e);if(r||be.set(e,r=new Set),!r.has(n)){{t=ct.createElement("style"),t.innerHTML=a;const r=null!==(o=ht.$nonce$)&&void 0!==o?o:function(e){var t,r,i;return null!==(i=null===(r=null===(t=e.head)||void 0===t?void 0:t.querySelector('meta[name="csp-nonce"]'))||void 0===r?void 0:r.getAttribute("content"))&&void 0!==i?i:void 0}(ct);null!=r&&t.setAttribute("nonce",r),e.insertBefore(t,e.querySelector("link"))}r&&r.add(n)}}else e.adoptedStyleSheets.includes(a)||(e.adoptedStyleSheets=[...e.adoptedStyleSheets,a]);return n})(r.shadowRoot?r.shadowRoot:r.getRootNode(),t,e.$modeName$);10&i&&(r["s-sc"]=n,r.classList.add(n+"-h"),2&i&&r.classList.add(n+"-s")),o()},we=(e,t)=>"sc-"+(t&&32&e.$flags$?e.$tagName$+"-"+t:e.$tagName$),$e=(e,t,r,i,o,n)=>{if(r!==i){let a=ot(e,t),s=t.toLowerCase();if("class"===t){const t=e.classList,o=ke(r),n=ke(i);t.remove(...o.filter((e=>e&&!n.includes(e)))),t.add(...n.filter((e=>e&&!o.includes(e))))}else if("style"===t){for(const t in r)i&&null!=i[t]||(t.includes("-")?e.style.removeProperty(t):e.style[t]="");for(const t in i)r&&i[t]===r[t]||(t.includes("-")?e.style.setProperty(t,i[t]):e.style[t]=i[t])}else if("key"===t);else if("ref"===t)i&&i(e);else if(e.__lookupSetter__(t)||"o"!==t[0]||"n"!==t[1]){const l=ce(i);if((a||l&&null!==i)&&!o)try{if(e.tagName.includes("-"))e[t]=i;else{const o=null==i?"":i;"list"===t?a=!1:null!=r&&e[t]==o||(e[t]=o)}}catch(e){}let c=!1;s!==(s=s.replace(/^xlink\:?/,""))&&(t=s,c=!0),null==i||!1===i?!1===i&&""!==e.getAttribute(t)||(c?e.removeAttributeNS(se,t):e.removeAttribute(t)):(!a||4&n||o)&&!l&&(i=!0===i?"":i,c?e.setAttributeNS(se,t,i):e.setAttribute(t,i))}else t="-"===t[2]?t.slice(3):ot(lt,s)?s.slice(2):s[2]+t.slice(3),r&&ht.rel(e,t,r,!1),i&&ht.ael(e,t,i,!1)}},xe=/\s/,ke=e=>e?e.split(xe):[],_e=(e,t,r,i)=>{const o=11===t.$elm$.nodeType&&t.$elm$.host?t.$elm$.host:t.$elm$,n=e&&e.$attrs$||le,a=t.$attrs$||le;for(i in n)i in a||$e(o,i,n[i],void 0,r,t.$flags$);for(i in a)$e(o,i,n[i],a[i],r,t.$flags$)},Ce=(e,t,r,i)=>{const o=t.$children$[r];let n,a,s,l=0;if(te||(ie=!0,"slot"===o.$tag$&&(Z&&i.classList.add(Z+"-s"),o.$flags$|=o.$children$?2:1)),null!==o.$text$)n=o.$elm$=ct.createTextNode(o.$text$);else if(1&o.$flags$)n=o.$elm$=ct.createTextNode("");else{if(oe||(oe="svg"===o.$tag$),n=o.$elm$=ct.createElementNS(oe?"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",2&o.$flags$?"slot-fb":o.$tag$),oe&&"foreignObject"===o.$tag$&&(oe=!1),_e(null,o,oe),null!=Z&&n["s-si"]!==Z&&n.classList.add(n["s-si"]=Z),o.$children$)for(l=0;l{ht.$flags$|=1;const r=e.childNodes;for(let e=r.length-1;e>=0;e--){const i=r[e];i["s-hn"]!==ee&&i["s-ol"]&&(ze(i).insertBefore(i,Me(i)),i["s-ol"].remove(),i["s-ol"]=void 0,ie=!0),t&&Te(i,t)}ht.$flags$&=-2},Ee=(e,t,r,i,o,n)=>{let a,s=e["s-cr"]&&e["s-cr"].parentNode||e;for(s.shadowRoot&&s.tagName===ee&&(s=s.shadowRoot);o<=n;++o)i[o]&&(a=Ce(null,r,o,e),a&&(i[o].$elm$=a,s.insertBefore(a,Me(t))))},Oe=(e,t,r,i,o)=>{for(;t<=r;++t)(i=e[t])&&(o=i.$elm$,We(i),re=!0,o["s-ol"]?o["s-ol"].remove():Te(o,!0),o.remove())},Se=(e,t)=>e.$tag$===t.$tag$&&("slot"===e.$tag$?e.$name$===t.$name$:e.$key$===t.$key$),Me=e=>e&&e["s-ol"]||e,ze=e=>(e["s-ol"]?e["s-ol"]:e).parentNode,Le=(e,t)=>{const r=t.$elm$=e.$elm$,i=e.$children$,o=t.$children$,n=t.$tag$,a=t.$text$;let s;null===a?(oe="svg"===n||"foreignObject"!==n&&oe,"slot"===n||_e(e,t,oe),null!==i&&null!==o?((e,t,r,i)=>{let o,n,a=0,s=0,l=0,c=0,d=t.length-1,h=t[0],g=t[d],u=i.length-1,m=i[0],p=i[u];for(;a<=d&&s<=u;)if(null==h)h=t[++a];else if(null==g)g=t[--d];else if(null==m)m=i[++s];else if(null==p)p=i[--u];else if(Se(h,m))Le(h,m),h=t[++a],m=i[++s];else if(Se(g,p))Le(g,p),g=t[--d],p=i[--u];else if(Se(h,p))"slot"!==h.$tag$&&"slot"!==p.$tag$||Te(h.$elm$.parentNode,!1),Le(h,p),e.insertBefore(h.$elm$,g.$elm$.nextSibling),h=t[++a],p=i[--u];else if(Se(g,m))"slot"!==h.$tag$&&"slot"!==p.$tag$||Te(g.$elm$.parentNode,!1),Le(g,m),e.insertBefore(g.$elm$,h.$elm$),g=t[--d],m=i[++s];else{for(l=-1,c=a;c<=d;++c)if(t[c]&&null!==t[c].$key$&&t[c].$key$===m.$key$){l=c;break}l>=0?(n=t[l],n.$tag$!==m.$tag$?o=Ce(t&&t[s],r,l,e):(Le(n,m),t[l]=void 0,o=n.$elm$),m=i[++s]):(o=Ce(t&&t[s],r,s,e),m=i[++s]),o&&ze(h.$elm$).insertBefore(o,Me(h.$elm$))}a>d?Ee(e,null==i[u+1]?null:i[u+1].$elm$,r,i,s,u):s>u&&Oe(t,a,d)})(r,i,t,o):null!==o?(null!==e.$text$&&(r.textContent=""),Ee(r,null,t,o,0,o.length-1)):null!==i&&Oe(i,0,i.length-1),oe&&"svg"===n&&(oe=!1)):(s=r["s-cr"])?s.parentNode.textContent=a:e.$text$!==a&&(r.data=a)},De=e=>{const t=e.childNodes;let r,i,o,n,a,s;for(i=0,o=t.length;i{let t,r,i,o,n,a,s=0;const l=e.childNodes,c=l.length;for(;s=0;a--)r=i[a],r["s-cn"]||r["s-nr"]||r["s-hn"]===t["s-hn"]||(Ie(r,o)?(n=Ae.find((e=>e.$nodeToRelocate$===r)),re=!0,r["s-sn"]=r["s-sn"]||o,n?n.$slotRefNode$=t:Ae.push({$slotRefNode$:t,$nodeToRelocate$:r}),r["s-sr"]&&Ae.map((e=>{Ie(e.$nodeToRelocate$,r["s-sn"])&&(n=Ae.find((e=>e.$nodeToRelocate$===r)),n&&!e.$slotRefNode$&&(e.$slotRefNode$=n.$slotRefNode$))}))):Ae.some((e=>e.$nodeToRelocate$===r))||Ae.push({$nodeToRelocate$:r}));1===t.nodeType&&Fe(t)}},Ie=(e,t)=>1===e.nodeType?null===e.getAttribute("slot")&&""===t||e.getAttribute("slot")===t:e["s-sn"]===t||""===t,We=e=>{e.$attrs$&&e.$attrs$.ref&&e.$attrs$.ref(null),e.$children$&&e.$children$.map(We)},Re=(e,t)=>{const r=e.$hostElement$,i=e.$cmpMeta$,o=e.$vnode$||he(null,null),n=(a=t)&&a.$tag$===ge?t:de(null,null,t);var a;if(ee=r.tagName,i.$attrsToReflect$&&(n.$attrs$=n.$attrs$||{},i.$attrsToReflect$.map((([e,t])=>n.$attrs$[t]=r[e]))),n.$tag$=null,n.$flags$|=4,e.$vnode$=n,n.$elm$=o.$elm$=r.shadowRoot||r,Z=r["s-sc"],J=r["s-cr"],te=!!(1&i.$flags$),re=!1,Le(o,n),ht.$flags$|=1,ie){let e,t,r,i,o,a;Fe(n.$elm$);let s=0;for(;s{e.$flags$|=16,e.$ancestorComponent$;return $t((()=>He(e,t)))},He=(e,t)=>{const r=e.$hostElement$,i=(e.$cmpMeta$.$tagName$,()=>{}),o=r;let n;return n=qe(o,t?"componentWillLoad":"componentWillUpdate"),n=Pe(n,(()=>qe(o,"componentWillRender"))),i(),Pe(n,(()=>Ve(e,o,t)))},Ve=async(e,t,r)=>{const i=e.$hostElement$,o=(e.$cmpMeta$.$tagName$,()=>{});i["s-rc"],r&&ye(e);const n=(e.$cmpMeta$.$tagName$,()=>{});je(e,t,i),n(),o(),Be(e)},je=(e,t,r)=>{try{ne=t,t=t.render&&t.render(),e.$flags$&=-17,e.$flags$|=2,(K||Y)&&(Q||Y)&&(G||Re(e,t))}catch(t){nt(t,e.$hostElement$)}return ne=null,null},Be=e=>{e.$cmpMeta$.$tagName$;const t=()=>{},r=e.$hostElement$;e.$ancestorComponent$,qe(r,"componentDidRender"),64&e.$flags$?(qe(r,"componentDidUpdate"),t()):(e.$flags$|=64,qe(r,"componentDidLoad"),t())},qe=(e,t,r)=>{if(e&&e[t])try{return e[t](r)}catch(e){nt(e)}},Pe=(e,t)=>e&&e.then?e.then(t):t(),Ue=(e,t,r,i)=>{const o=rt(e),n=e,a=o.$instanceValues$.get(t),s=o.$flags$,l=n;var c,d;c=r,d=i.$members$[t][0],r=null==c||ce(c)?c:4&d?"false"!==c&&(""===c||!!c):2&d?parseFloat(c):1&d?String(c):c;const h=Number.isNaN(a)&&Number.isNaN(r);if(r!==a&&!h){if(o.$instanceValues$.set(t,r),i.$watchers$&&128&s){const e=i.$watchers$[t];e&&e.map((e=>{try{l[e](r,a,t)}catch(e){nt(e,n)}}))}if(2==(18&s)){if(l.componentShouldUpdate&&!1===l.componentShouldUpdate(r,a,t))return;Ne(o,!1)}}},Ke=(e,t,r)=>{if(t.$members$){e.watchers&&(t.$watchers$=e.watchers);const r=Object.entries(t.$members$),i=e.prototype;r.map((([e,[r]])=>{(31&r||32&r)&&Object.defineProperty(i,e,{get(){return t=e,rt(this).$instanceValues$.get(t);var t},set(r){Ue(this,e,r,t)},configurable:!0,enumerable:!0})}));{const o=new Map;i.attributeChangedCallback=function(e,t,r){ht.jmp((()=>{const t=o.get(e);if(this.hasOwnProperty(t))r=this[t],delete this[t];else if(i.hasOwnProperty(t)&&"number"==typeof this[t]&&this[t]==r)return;this[t]=(null!==r||"boolean"!=typeof this[t])&&r}))},e.observedAttributes=r.filter((([e,t])=>15&t[0])).map((([e,r])=>{const i=r[1]||e;return o.set(i,e),512&r[0]&&t.$attrsToReflect$.push([e,i]),i}))}}return e},Ye=async(e,t,r,i,o)=>{if(!(32&t.$flags$)&&(o=e.constructor,t.$flags$|=32,customElements.whenDefined(r.$tagName$).then((()=>t.$flags$|=128)),o.style)){let i=o.style;"string"!=typeof i&&(i=i[t.$modeName$=(e=>st.map((t=>t(e))).find((e=>!!e)))(e)]);const n=we(r,t.$modeName$);if(!at.has(n)){const e=(r.$tagName$,()=>{});((e,t,r)=>{let i=at.get(e);mt&&r?(i=i||new CSSStyleSheet,"string"==typeof i?i=t:i.replaceSync(t)):i=t,at.set(e,i)})(n,i,!!(1&r.$flags$)),e()}}t.$ancestorComponent$;Ne(t,!0)},Qe=e=>{const t=e["s-cr"]=ct.createComment("");t["s-cn"]=!0,e.insertBefore(t,e.firstChild)},Ge=(e,t)=>{const r={$flags$:t[0],$tagName$:t[1]};r.$members$=t[2],r.$listeners$=t[3],r.$watchers$=e.$watchers$,r.$attrsToReflect$=[],!gt&&1&r.$flags$&&(r.$flags$|=8);const i=e.prototype.connectedCallback,o=e.prototype.disconnectedCallback;return Object.assign(e.prototype,{__registerHost(){it(this,r)},connectedCallback(){(e=>{if(!(1&ht.$flags$)){const t=rt(e),r=t.$cmpMeta$,i=(r.$tagName$,()=>{});1&t.$flags$?(Xe(e,t,r.$listeners$),t.$lazyInstance$):(t.$flags$|=1,12&r.$flags$&&Qe(e),r.$members$&&Object.entries(r.$members$).map((([t,[r]])=>{if(31&r&&e.hasOwnProperty(t)){const r=e[t];delete e[t],e[t]=r}})),Ye(e,t,r)),i()}})(this),i&&i.call(this)},disconnectedCallback(){(e=>{if(!(1&ht.$flags$)){const t=rt(e);t.$rmListeners$&&(t.$rmListeners$.map((e=>e())),t.$rmListeners$=void 0)}})(this),o&&o.call(this)},__attachShadow(){gt?this.attachShadow({mode:"open",delegatesFocus:!!(16&r.$flags$)}):this.shadowRoot=this}}),e.is=r.$tagName$,Ke(e,r)},Xe=(e,t,r,i)=>{r&&r.map((([r,i,o])=>{const n=Je(e,r),a=Ze(t,o),s=et(r);ht.ael(n,i,a,s),(t.$rmListeners$=t.$rmListeners$||[]).push((()=>ht.rel(n,i,a,s)))}))},Ze=(e,t)=>r=>{try{X||e.$hostElement$[t](r)}catch(e){nt(e)}},Je=(e,t)=>4&t?ct:8&t?lt:16&t?ct.body:e,et=e=>ut?{passive:!!(1&e),capture:!!(2&e)}:!!(2&e),tt=new WeakMap,rt=e=>tt.get(e),it=(e,t)=>{const r={$flags$:0,$hostElement$:e,$cmpMeta$:t,$instanceValues$:new Map};return Xe(e,r,t.$listeners$),tt.set(e,r)},ot=(e,t)=>t in e,nt=(e,t)=>(0,console.error)(e,t),at=new Map,st=[],lt="undefined"!=typeof window?window:{},ct=lt.document||{head:{}},dt=lt.HTMLElement||class{},ht={$flags$:0,$resourcesUrl$:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,r,i)=>e.addEventListener(t,r,i),rel:(e,t,r,i)=>e.removeEventListener(t,r,i),ce:(e,t)=>new CustomEvent(e,t)},gt=!0,ut=(()=>{let e=!1;try{ct.addEventListener("e",null,Object.defineProperty({},"passive",{get(){e=!0}}))}catch(e){}return e})(),mt=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(e){}return!1})(),pt=[],ft=[],vt=(e,t)=>r=>{e.push(r),ae||(ae=!0,t&&4&ht.$flags$?wt(yt):ht.raf(yt))},bt=e=>{for(let t=0;t{bt(pt),bt(ft),(ae=pt.length>0)&&ht.raf(yt)},wt=e=>{return Promise.resolve(t).then(e);var t},$t=vt(ft,!0),xt=(e,t)=>{const r=!!e.label||e.hasLabelSlot,i=!!e.helpText||e.hasHelpTextSlot,o=!!e.invalidText||e.hasInvalidTextSlot,n=!e.invalid,a=!!e.invalid;return de("div",{class:{"form-control":!0,[`form-control-${e.size}`]:!0,"form-control-has-label":r,"form-control-has-help-text":i,"form-control-has-invalid-text":o}},de("label",{id:e.labelId,class:"form-control-label",htmlFor:e.inputId,"aria-hidden":r?"false":"true",onClick:e.onLabelClick},de("slot",{name:"label"},e.label),e.requiredIndicator&&de("div",{class:"asterisk"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 1200 1200"},de("path",{fill:"currentColor",d:"M489.838 29.354v443.603L68.032 335.894 0 545.285l421.829 137.086-260.743 358.876 178.219 129.398L600.048 811.84l260.673 358.806 178.146-129.398-260.766-358.783L1200 545.379l-68.032-209.403-421.899 137.07V29.443H489.84l-.002-.089z"})))),de("div",{class:"form-control-input"},t),n&&de("div",{id:e.helpTextId,class:"form-control-help-text","aria-hidden":i?"false":"true"},de("slot",{name:"help-text"},e.helpText)),a&&de("div",{id:e.invalidTextId,class:"form-control-invalid-text","aria-hidden":o?"false":"true"},de("div",{class:"icon"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Alert Circle"),de("path",{d:"M256,48C141.31,48,48,141.31,48,256s93.31,208,208,208,208-93.31,208-208S370.69,48,256,48Zm0,319.91a20,20,0,1,1,20-20A20,20,0,0,1,256,367.91Zm21.72-201.15-5.74,122a16,16,0,0,1-32,0l-5.74-121.94v-.05a21.74,21.74,0,1,1,43.44,0Z",fill:"currentColor"}))),de("div",{class:"text"},de("slot",{name:"invalid-text"},e.invalidText))))}; -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -function kt(e){const t=e?e.assignedNodes({flatten:!0}):[];let r="";return[...t].map((e=>{e.nodeType===Node.TEXT_NODE&&(r+=e.textContent)})),r}function _t(e,t){return t?null!==e.querySelector(`[slot="${t}"]`):[...e.childNodes].some((e=>{if(e.nodeType===e.TEXT_NODE&&""!==e.textContent.trim())return!0;if(e.nodeType===e.ELEMENT_NODE){if(!e.hasAttribute("slot"))return!0}return!1}))} -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */const Ct=(e,t=[])=>{const r={};return t.forEach((t=>{if(e.hasAttribute(t)){null!==e.getAttribute(t)&&(r[t]=e.getAttribute(t)),e.removeAttribute(t)}})),r},Tt=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow()}render(){return de("span",{class:"spinner","aria-busy":"true","aria-live":"polite"})}static get style(){return":host{--track-color:var(--gr-color-light-shade);--indicator-color:var(--gr-color-primary);--stroke-width:2px;display:inline-flex;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}.spinner{display:inline-block;width:1em;height:1em;border-radius:50%;border:solid var(--stroke-width) var(--track-color);border-top-color:var(--indicator-color);border-right-color:var(--indicator-color);animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}"}},[1,"gr-spinner"]);function Et(){if("undefined"==typeof customElements)return;["gr-spinner"].forEach((e=>{if("gr-spinner"===e)customElements.get(e)||customElements.define(e,Tt)}))}Et(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const Ot=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grFocus=fe(this,"gr-focus",7),this.grBlur=fe(this,"gr-blur",7),this.inheritedAttributes={},this.handleClick=e=>{if("button"!==this.type){const t=this.el.closest("form");if(t){e.preventDefault();const r=document.createElement("button");r.type=this.type,r.style.display="none",t.appendChild(r),r.click(),r.remove()}}},this.onFocus=()=>{this.grFocus.emit()},this.onBlur=()=>{this.grBlur.emit()},this.variant="default",this.disabled=!1,this.loading=!1,this.size="medium",this.caret=!1,this.pill=!1,this.expand=void 0,this.circle=!1,this.href=void 0,this.target=void 0,this.rel=void 0,this.type="button"}componentWillLoad(){this.inheritedAttributes=Ct(this.el,["aria-label","tabindex","title"])}async setFocus(e){this.button.focus(e)}async removeFocus(){this.button.blur()}render(){const{rel:e,target:t,href:r,variant:i,size:o,expand:n,type:a,inheritedAttributes:s,disabled:l}=this,c=void 0===r?"button":"a",d="button"===c?{type:a}:{href:r,rel:e,target:t};return de(ge,{onClick:this.handleClick,"aria-disabled":l?"true":null,class:{[`button-${i}`]:!0,[`button-${o}`]:!0,[`button-${n}`]:void 0!==n,"button-caret":this.caret,"button-circle":this.circle,"button-pill":this.pill,"button-disabled":l,"button-loading":this.loading}},de(c,Object.assign({ref:e=>this.button=e},d,{class:"button-native",disabled:l,onFocus:this.onFocus,onBlur:this.onBlur},s),de("span",{class:"button-inner"},de("slot",{name:"icon-only"}),de("slot",{name:"start"}),de("slot",null),de("slot",{name:"end"}),this.caret&&de("span",{class:"caret"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Chevron Down"),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"48",d:"M112 184l144 144 144-144"})))),this.loading&&de("gr-spinner",null)))}get el(){return this}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{display:inline-block;width:auto;font-family:var(--gr-font-family);font-weight:var(--gr-font-weight-medium);font-size:var(--gr-form-element-font-size-medium);font-kerning:none;user-select:none;vertical-align:top;vertical-align:-webkit-baseline-middle;pointer-events:auto;--height:var(--gr-form-element-height-medium);--border-radius:var(--gr-form-element-border-radius-medium);--border-width:1px;--border-style:solid;--background:transparent;--background-hover:transparent;--background-focus:transparent;--color:var(--gr-color-dark-tint);--color-hover:var(--gr-color-dark-tint);--color-focus:var(--gr-color-dark-tint);--border-color:var(--gr-color-light-shade);--border-color-hover:var(--gr-color-medium);--border-color-focus:var(--gr-color-primary);--padding-top:0;--padding-start:var(--gr-spacing-medium);--padding-end:var(--gr-spacing-medium);--padding-bottom:0;--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33);--shadow:none;--transition:background-color 150ms linear, opacity 150ms linear, border 150ms linear, color 150ms linear}:host(.button-disabled){pointer-events:none;opacity:0.5}:host(.button-primary){--border-color:var(--gr-color-primary);--background:var(--gr-color-primary);--color:var(--gr-color-primary-contrast);--border-color-hover:var(--gr-color-primary-shade);--background-hover:var(--gr-color-primary-shade);--color-hover:var(--gr-color-primary-contrast);--border-color-focus:var(--gr-color-primary);--background-focus:var(--gr-color-primary-shade);--color-focus:var(--gr-color-primary-contrast);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33)}:host(.button-secondary){--border-color:var(--gr-color-light-shade);--background:transparent;--color:var(--gr-color-primary);--border-color-hover:var(--gr-color-primary);--background-hover:transparent;--color-hover:var(--gr-color-primary);--border-color-focus:var(--gr-color-primary);--background-focus:transparent;--color-focus:var(--gr-color-primary);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33)}:host(.button-danger){--border-color:var(--gr-color-danger);--background:transparent;--color:var(--gr-color-danger);--border-color-hover:var(--gr-color-danger);--background-hover:var(--gr-color-danger);--color-hover:var(--gr-color-danger-contrast);--border-color-focus:var(--gr-color-danger);--background-focus:var(--gr-color-danger);--color-focus:var(--gr-color-danger-contrast);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-danger-rgb), 0.33)}:host(.button-plain){--border-color:transparent;--background:transparent;--color:var(--gr-color-primary);--border-color-hover:transparent;--background-hover:transparent;--color-hover:var(--gr-color-primary-shade);--border-color-focus:transparent;--background-focus:transparent;--color-focus:var(--gr-color-primary-shade);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33)}:host(.button-small){--padding-start:var(--gr-spacing-small);--padding-end:var(--gr-spacing-small);--border-radius:var(--gr-form-element-border-radius-small);--height:var(--gr-form-element-height-small);font-size:var(--gr-form-element-font-size-small)}:host(.button-large){--padding-start:var(--gr-spacing-large);--padding-end:var(--gr-spacing-large);--border-radius:var(--gr-form-element-border-radius-large);--height:var(--gr-form-element-height-large);font-size:var(--gr-form-element-font-size-large)}:host(.button-block){display:block}:host(.button-block) .button-native{margin-left:0;margin-right:0;display:block;width:100%;clear:both;contain:content}:host(.button-block) .button-native::after{clear:both}:host(.button-full){display:block}:host(.button-full) .button-native{margin-left:0;margin-right:0;display:block;width:100%;contain:content;border-radius:0;border-right-width:0;border-left-width:0}.button-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;position:relative;padding-top:var(--padding-top);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-bottom:var(--padding-bottom);width:100%;height:var(--height);transition:var(--transition);border-radius:var(--border-radius);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);color:var(--color);box-shadow:var(--shadow);line-height:1;cursor:pointer;z-index:0;text-decoration:none;box-sizing:border-box}.button-native::-moz-focus-inner{border:0}.button-native:focus{outline:none;box-shadow:var(--focus-ring);border-color:var(--border-color-focus);background-color:var(--background-focus);color:var(--color-focus)}.button-native *,.button-native *:before,.button-native *:after{box-sizing:inherit}.button-inner{display:flex;position:relative;flex-flow:row nowrap;flex-shrink:0;align-items:center;justify-content:center;width:100%;height:100%;z-index:1}:host(.button-circle) .button-native{padding-top:0;padding-bottom:0;padding-left:0;padding-right:0;border-radius:50%;width:var(--height)}@media (any-hover: hover){.button-native:hover{color:var(--color-hover);background:var(--background-hover);border-color:var(--border-color-hover)}}:host(.button-caret) .caret{display:flex;align-items:center;margin-left:0.3em}:host(.button-caret) .caret svg{width:1em;height:1em}:host(.button-pill) .button-native{border-radius:var(--height)}::slotted(*){pointer-events:none}::slotted([slot=start]){margin-top:0;margin-left:-0.3em;margin-right:0.3em;margin-bottom:0}::slotted([slot=end]){margin-top:0;margin-left:0.3em;margin-right:-0.2em;margin-bottom:0}::slotted([slot=icon-only]){font-size:1.4em;pointer-events:none}:host(.button-loading){position:relative;pointer-events:none}:host(.button-loading) .caret{visibility:hidden}:host(.button-loading) slot[name=start],:host(.button-loading) slot[name=end],:host(.button-loading) slot[name=icon-only],:host(.button-loading) slot:not([name]){visibility:hidden}:host(.button-loading) gr-spinner{--indicator-color:currentColor;position:absolute;height:1em;width:1em;top:calc(50% - 0.5em);left:calc(50% - 0.5em)}@media not all and (min-resolution: 0.001dpcm){@supports (-webkit-appearance: none) and (stroke-color: transparent){:host([type=button]),:host([type=reset]),:host([type=submit]){-webkit-appearance:none !important}}}"}},[1,"gr-button",{variant:[513],disabled:[516],loading:[516],size:[513],caret:[4],pill:[516],expand:[513],circle:[516],href:[1],target:[1],rel:[1],type:[1],setFocus:[64],removeFocus:[64]}]);function St(){if("undefined"==typeof customElements)return;["gr-button","gr-spinner"].forEach((e=>{switch(e){case"gr-button":customElements.get(e)||customElements.define(e,Ot);break;case"gr-spinner":customElements.get(e)||Et()}}))}function Mt(e,t,r="vertical",i="smooth"){const o= -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -function(e,t){return{top:Math.round(e.getBoundingClientRect().top-t.getBoundingClientRect().top),left:Math.round(e.getBoundingClientRect().left-t.getBoundingClientRect().left)}}(e,t),n=o.top+t.scrollTop,a=o.left+t.scrollLeft,s=t.scrollLeft,l=t.scrollLeft+t.offsetWidth,c=t.scrollTop,d=t.scrollTop+t.offsetHeight;"horizontal"!==r&&"both"!==r||(al&&t.scrollTo({left:a-t.offsetWidth+e.clientWidth,behavior:i})),"vertical"!==r&&"both"!==r||(nd&&t.scrollTo({top:n-t.offsetHeight+e.clientHeight,behavior:i}))} -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */function zt(e){return e.tabIndex>-1}function Lt(e){if(zt(e))return e;if(e.shadowRoot){const t=[...e.shadowRoot.children].find(zt);if(t)return t}return e.children?[...e.children].map(Lt)[0]:null}St();var Dt="top",At="bottom",Ft="right",It="left",Wt="auto",Rt=[Dt,At,Ft,It],Nt="start",Ht="end",Vt="clippingParents",jt="viewport",Bt="popper",qt="reference",Pt=Rt.reduce((function(e,t){return e.concat([t+"-"+Nt,t+"-"+Ht])}),[]),Ut=[].concat(Rt,[Wt]).reduce((function(e,t){return e.concat([t,t+"-"+Nt,t+"-"+Ht])}),[]),Kt=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Yt(e){return e?(e.nodeName||"").toLowerCase():null}function Qt(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Gt(e){return e instanceof Qt(e).Element||e instanceof Element}function Xt(e){return e instanceof Qt(e).HTMLElement||e instanceof HTMLElement}function Zt(e){return"undefined"!=typeof ShadowRoot&&(e instanceof Qt(e).ShadowRoot||e instanceof ShadowRoot)}const Jt={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var r=t.styles[e]||{},i=t.attributes[e]||{},o=t.elements[e];Xt(o)&&Yt(o)&&(Object.assign(o.style,r),Object.keys(i).forEach((function(e){var t=i[e];!1===t?o.removeAttribute(e):o.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,r={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,r.popper),t.styles=r,t.elements.arrow&&Object.assign(t.elements.arrow.style,r.arrow),function(){Object.keys(t.elements).forEach((function(e){var i=t.elements[e],o=t.attributes[e]||{},n=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:r[e]).reduce((function(e,t){return e[t]="",e}),{});Xt(i)&&Yt(i)&&(Object.assign(i.style,n),Object.keys(o).forEach((function(e){i.removeAttribute(e)})))}))}},requires:["computeStyles"]};function er(e){return e.split("-")[0]}var tr=Math.max,rr=Math.min,ir=Math.round;function or(e,t){void 0===t&&(t=!1);var r=e.getBoundingClientRect(),i=1,o=1;if(Xt(e)&&t){var n=e.offsetHeight,a=e.offsetWidth;a>0&&(i=ir(r.width)/a||1),n>0&&(o=ir(r.height)/n||1)}return{width:r.width/i,height:r.height/o,top:r.top/o,right:r.right/i,bottom:r.bottom/o,left:r.left/i,x:r.left/i,y:r.top/o}}function nr(e){var t=or(e),r=e.offsetWidth,i=e.offsetHeight;return Math.abs(t.width-r)<=1&&(r=t.width),Math.abs(t.height-i)<=1&&(i=t.height),{x:e.offsetLeft,y:e.offsetTop,width:r,height:i}}function ar(e,t){var r=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(r&&Zt(r)){var i=t;do{if(i&&e.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function sr(e){return Qt(e).getComputedStyle(e)}function lr(e){return["table","td","th"].indexOf(Yt(e))>=0}function cr(e){return((Gt(e)?e.ownerDocument:e.document)||window.document).documentElement}function dr(e){return"html"===Yt(e)?e:e.assignedSlot||e.parentNode||(Zt(e)?e.host:null)||cr(e)}function hr(e){return Xt(e)&&"fixed"!==sr(e).position?e.offsetParent:null}function gr(e){for(var t=Qt(e),r=hr(e);r&&lr(r)&&"static"===sr(r).position;)r=hr(r);return r&&("html"===Yt(r)||"body"===Yt(r)&&"static"===sr(r).position)?t:r||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&Xt(e)&&"fixed"===sr(e).position)return null;var r=dr(e);for(Zt(r)&&(r=r.host);Xt(r)&&["html","body"].indexOf(Yt(r))<0;){var i=sr(r);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||t&&"filter"===i.willChange||t&&i.filter&&"none"!==i.filter)return r;r=r.parentNode}return null}(e)||t}function ur(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function mr(e,t,r){return tr(e,rr(t,r))}function pr(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function fr(e,t){return t.reduce((function(t,r){return t[r]=e,t}),{})}const vr={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,r=e.state,i=e.name,o=e.options,n=r.elements.arrow,a=r.modifiersData.popperOffsets,s=er(r.placement),l=ur(s),c=[It,Ft].indexOf(s)>=0?"height":"width";if(n&&a){var d=function(e,t){return pr("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:fr(e,Rt))}(o.padding,r),h=nr(n),g="y"===l?Dt:It,u="y"===l?At:Ft,m=r.rects.reference[c]+r.rects.reference[l]-a[l]-r.rects.popper[c],p=a[l]-r.rects.reference[l],f=gr(n),v=f?"y"===l?f.clientHeight||0:f.clientWidth||0:0,b=m/2-p/2,y=d[g],w=v-h[c]-d[u],$=v/2-h[c]/2+b,x=mr(y,$,w),k=l;r.modifiersData[i]=((t={})[k]=x,t.centerOffset=x-$,t)}},effect:function(e){var t=e.state,r=e.options.element,i=void 0===r?"[data-popper-arrow]":r;null!=i&&("string"!=typeof i||(i=t.elements.popper.querySelector(i)))&&ar(t.elements.popper,i)&&(t.elements.arrow=i)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function br(e){return e.split("-")[1]}var yr={top:"auto",right:"auto",bottom:"auto",left:"auto"};function wr(e){var t,r=e.popper,i=e.popperRect,o=e.placement,n=e.variation,a=e.offsets,s=e.position,l=e.gpuAcceleration,c=e.adaptive,d=e.roundOffsets,h=e.isFixed,g=a.x,u=void 0===g?0:g,m=a.y,p=void 0===m?0:m,f="function"==typeof d?d({x:u,y:p}):{x:u,y:p};u=f.x,p=f.y;var v=a.hasOwnProperty("x"),b=a.hasOwnProperty("y"),y=It,w=Dt,$=window;if(c){var x=gr(r),k="clientHeight",_="clientWidth";if(x===Qt(r)&&"static"!==sr(x=cr(r)).position&&"absolute"===s&&(k="scrollHeight",_="scrollWidth"),o===Dt||(o===It||o===Ft)&&n===Ht)w=At,p-=(h&&x===$&&$.visualViewport?$.visualViewport.height:x[k])-i.height,p*=l?1:-1;if(o===It||(o===Dt||o===At)&&n===Ht)y=Ft,u-=(h&&x===$&&$.visualViewport?$.visualViewport.width:x[_])-i.width,u*=l?1:-1}var C,T=Object.assign({position:s},c&&yr),E=!0===d?function(e){var t=e.x,r=e.y,i=window.devicePixelRatio||1;return{x:ir(t*i)/i||0,y:ir(r*i)/i||0}}({x:u,y:p}):{x:u,y:p};return u=E.x,p=E.y,l?Object.assign({},T,((C={})[w]=b?"0":"",C[y]=v?"0":"",C.transform=($.devicePixelRatio||1)<=1?"translate("+u+"px, "+p+"px)":"translate3d("+u+"px, "+p+"px, 0)",C)):Object.assign({},T,((t={})[w]=b?p+"px":"",t[y]=v?u+"px":"",t.transform="",t))}var $r={passive:!0};var xr={left:"right",right:"left",bottom:"top",top:"bottom"};function kr(e){return e.replace(/left|right|bottom|top/g,(function(e){return xr[e]}))}var _r={start:"end",end:"start"};function Cr(e){return e.replace(/start|end/g,(function(e){return _r[e]}))}function Tr(e){var t=Qt(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Er(e){return or(cr(e)).left+Tr(e).scrollLeft}function Or(e){var t=sr(e),r=t.overflow,i=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(r+o+i)}function Sr(e){return["html","body","#document"].indexOf(Yt(e))>=0?e.ownerDocument.body:Xt(e)&&Or(e)?e:Sr(dr(e))}function Mr(e,t){var r;void 0===t&&(t=[]);var i=Sr(e),o=i===(null==(r=e.ownerDocument)?void 0:r.body),n=Qt(i),a=o?[n].concat(n.visualViewport||[],Or(i)?i:[]):i,s=t.concat(a);return o?s:s.concat(Mr(dr(a)))}function zr(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Lr(e,t){return t===jt?zr(function(e){var t=Qt(e),r=cr(e),i=t.visualViewport,o=r.clientWidth,n=r.clientHeight,a=0,s=0;return i&&(o=i.width,n=i.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(a=i.offsetLeft,s=i.offsetTop)),{width:o,height:n,x:a+Er(e),y:s}}(e)):Gt(t)?function(e){var t=or(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(t):zr(function(e){var t,r=cr(e),i=Tr(e),o=null==(t=e.ownerDocument)?void 0:t.body,n=tr(r.scrollWidth,r.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=tr(r.scrollHeight,r.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),s=-i.scrollLeft+Er(e),l=-i.scrollTop;return"rtl"===sr(o||r).direction&&(s+=tr(r.clientWidth,o?o.clientWidth:0)-n),{width:n,height:a,x:s,y:l}}(cr(e)))}function Dr(e,t,r){var i="clippingParents"===t?function(e){var t=Mr(dr(e)),r=["absolute","fixed"].indexOf(sr(e).position)>=0&&Xt(e)?gr(e):e;return Gt(r)?t.filter((function(e){return Gt(e)&&ar(e,r)&&"body"!==Yt(e)})):[]}(e):[].concat(t),o=[].concat(i,[r]),n=o[0],a=o.reduce((function(t,r){var i=Lr(e,r);return t.top=tr(i.top,t.top),t.right=rr(i.right,t.right),t.bottom=rr(i.bottom,t.bottom),t.left=tr(i.left,t.left),t}),Lr(e,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function Ar(e){var t,r=e.reference,i=e.element,o=e.placement,n=o?er(o):null,a=o?br(o):null,s=r.x+r.width/2-i.width/2,l=r.y+r.height/2-i.height/2;switch(n){case Dt:t={x:s,y:r.y-i.height};break;case At:t={x:s,y:r.y+r.height};break;case Ft:t={x:r.x+r.width,y:l};break;case It:t={x:r.x-i.width,y:l};break;default:t={x:r.x,y:r.y}}var c=n?ur(n):null;if(null!=c){var d="y"===c?"height":"width";switch(a){case Nt:t[c]=t[c]-(r[d]/2-i[d]/2);break;case Ht:t[c]=t[c]+(r[d]/2-i[d]/2)}}return t}function Fr(e,t){void 0===t&&(t={});var r=t,i=r.placement,o=void 0===i?e.placement:i,n=r.boundary,a=void 0===n?Vt:n,s=r.rootBoundary,l=void 0===s?jt:s,c=r.elementContext,d=void 0===c?Bt:c,h=r.altBoundary,g=void 0!==h&&h,u=r.padding,m=void 0===u?0:u,p=pr("number"!=typeof m?m:fr(m,Rt)),f=d===Bt?qt:Bt,v=e.rects.popper,b=e.elements[g?f:d],y=Dr(Gt(b)?b:b.contextElement||cr(e.elements.popper),a,l),w=or(e.elements.reference),$=Ar({reference:w,element:v,strategy:"absolute",placement:o}),x=zr(Object.assign({},v,$)),k=d===Bt?x:w,_={top:y.top-k.top+p.top,bottom:k.bottom-y.bottom+p.bottom,left:y.left-k.left+p.left,right:k.right-y.right+p.right},C=e.modifiersData.offset;if(d===Bt&&C){var T=C[o];Object.keys(_).forEach((function(e){var t=[Ft,At].indexOf(e)>=0?1:-1,r=[Dt,At].indexOf(e)>=0?"y":"x";_[e]+=T[r]*t}))}return _}function Ir(e,t){void 0===t&&(t={});var r=t,i=r.placement,o=r.boundary,n=r.rootBoundary,a=r.padding,s=r.flipVariations,l=r.allowedAutoPlacements,c=void 0===l?Ut:l,d=br(i),h=d?s?Pt:Pt.filter((function(e){return br(e)===d})):Rt,g=h.filter((function(e){return c.indexOf(e)>=0}));0===g.length&&(g=h);var u=g.reduce((function(t,r){return t[r]=Fr(e,{placement:r,boundary:o,rootBoundary:n,padding:a})[er(r)],t}),{});return Object.keys(u).sort((function(e,t){return u[e]-u[t]}))}const Wr={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,r=e.options,i=e.name;if(!t.modifiersData[i]._skip){for(var o=r.mainAxis,n=void 0===o||o,a=r.altAxis,s=void 0===a||a,l=r.fallbackPlacements,c=r.padding,d=r.boundary,h=r.rootBoundary,g=r.altBoundary,u=r.flipVariations,m=void 0===u||u,p=r.allowedAutoPlacements,f=t.options.placement,v=er(f),b=l||(v===f||!m?[kr(f)]:function(e){if(er(e)===Wt)return[];var t=kr(e);return[Cr(e),t,Cr(t)]}(f)),y=[f].concat(b).reduce((function(e,r){return e.concat(er(r)===Wt?Ir(t,{placement:r,boundary:d,rootBoundary:h,padding:c,flipVariations:m,allowedAutoPlacements:p}):r)}),[]),w=t.rects.reference,$=t.rects.popper,x=new Map,k=!0,_=y[0],C=0;C=0,M=S?"width":"height",z=Fr(t,{placement:T,boundary:d,rootBoundary:h,altBoundary:g,padding:c}),L=S?O?Ft:It:O?At:Dt;w[M]>$[M]&&(L=kr(L));var D=kr(L),A=[];if(n&&A.push(z[E]<=0),s&&A.push(z[L]<=0,z[D]<=0),A.every((function(e){return e}))){_=T,k=!1;break}x.set(T,A)}if(k)for(var F=function(e){var t=y.find((function(t){var r=x.get(t);if(r)return r.slice(0,e).every((function(e){return e}))}));if(t)return _=t,"break"},I=m?3:1;I>0;I--){if("break"===F(I))break}t.placement!==_&&(t.modifiersData[i]._skip=!0,t.placement=_,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Rr(e,t,r){return void 0===r&&(r={x:0,y:0}),{top:e.top-t.height-r.y,right:e.right-t.width+r.x,bottom:e.bottom-t.height+r.y,left:e.left-t.width-r.x}}function Nr(e){return[Dt,Ft,At,It].some((function(t){return e[t]>=0}))}const Hr={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,r=e.options,i=e.name,o=r.offset,n=void 0===o?[0,0]:o,a=Ut.reduce((function(e,r){return e[r]=function(e,t,r){var i=er(e),o=[It,Dt].indexOf(i)>=0?-1:1,n="function"==typeof r?r(Object.assign({},t,{placement:e})):r,a=n[0],s=n[1];return a=a||0,s=(s||0)*o,[It,Ft].indexOf(i)>=0?{x:s,y:a}:{x:a,y:s}}(r,t.rects,n),e}),{}),s=a[t.placement],l=s.x,c=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[i]=a}};const Vr={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,r=e.options,i=e.name,o=r.mainAxis,n=void 0===o||o,a=r.altAxis,s=void 0!==a&&a,l=r.boundary,c=r.rootBoundary,d=r.altBoundary,h=r.padding,g=r.tether,u=void 0===g||g,m=r.tetherOffset,p=void 0===m?0:m,f=Fr(t,{boundary:l,rootBoundary:c,padding:h,altBoundary:d}),v=er(t.placement),b=br(t.placement),y=!b,w=ur(v),$="x"===w?"y":"x",x=t.modifiersData.popperOffsets,k=t.rects.reference,_=t.rects.popper,C="function"==typeof p?p(Object.assign({},t.rects,{placement:t.placement})):p,T="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),E=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,O={x:0,y:0};if(x){if(n){var S,M="y"===w?Dt:It,z="y"===w?At:Ft,L="y"===w?"height":"width",D=x[w],A=D+f[M],F=D-f[z],I=u?-_[L]/2:0,W=b===Nt?k[L]:_[L],R=b===Nt?-_[L]:-k[L],N=t.elements.arrow,H=u&&N?nr(N):{width:0,height:0},V=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},j=V[M],B=V[z],q=mr(0,k[L],H[L]),P=y?k[L]/2-I-q-j-T.mainAxis:W-q-j-T.mainAxis,U=y?-k[L]/2+I+q+B+T.mainAxis:R+q+B+T.mainAxis,K=t.elements.arrow&&gr(t.elements.arrow),Y=K?"y"===w?K.clientTop||0:K.clientLeft||0:0,Q=null!=(S=null==E?void 0:E[w])?S:0,G=D+U-Q,X=mr(u?rr(A,D+P-Q-Y):A,D,u?tr(F,G):F);x[w]=X,O[w]=X-D}if(s){var Z,J="x"===w?Dt:It,ee="x"===w?At:Ft,te=x[$],re="y"===$?"height":"width",ie=te+f[J],oe=te-f[ee],ne=-1!==[Dt,It].indexOf(v),ae=null!=(Z=null==E?void 0:E[$])?Z:0,se=ne?ie:te-k[re]-_[re]-ae+T.altAxis,le=ne?te+k[re]+_[re]-ae-T.altAxis:oe,ce=u&&ne?function(e,t,r){var i=mr(e,t,r);return i>r?r:i}(se,te,le):mr(u?se:ie,te,u?le:oe);x[$]=ce,O[$]=ce-te}t.modifiersData[i]=O}},requiresIfExists:["offset"]};function jr(e,t,r){void 0===r&&(r=!1);var i,o,n=Xt(t),a=Xt(t)&&function(e){var t=e.getBoundingClientRect(),r=ir(t.width)/e.offsetWidth||1,i=ir(t.height)/e.offsetHeight||1;return 1!==r||1!==i}(t),s=cr(t),l=or(e,a),c={scrollLeft:0,scrollTop:0},d={x:0,y:0};return(n||!n&&!r)&&(("body"!==Yt(t)||Or(s))&&(c=(i=t)!==Qt(i)&&Xt(i)?{scrollLeft:(o=i).scrollLeft,scrollTop:o.scrollTop}:Tr(i)),Xt(t)?((d=or(t,!0)).x+=t.clientLeft,d.y+=t.clientTop):s&&(d.x=Er(s))),{x:l.left+c.scrollLeft-d.x,y:l.top+c.scrollTop-d.y,width:l.width,height:l.height}}function Br(e){var t=new Map,r=new Set,i=[];function o(e){r.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!r.has(e)){var i=t.get(e);i&&o(i)}})),i.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){r.has(e.name)||o(e)})),i}var qr={placement:"bottom",modifiers:[],strategy:"absolute"};function Pr(){for(var e=arguments.length,t=new Array(e),r=0;r{},onAfterHide:()=>{},onTransitionEnd:()=>{}},r),this.isVisible=!1,this.popover.hidden=!0,this.popover.classList.remove(this.options.visibleClass),this.popover.addEventListener("transitionend",this.handleTransitionEnd)}handleTransitionEnd(e){e.target===this.options.transitionElement&&(this.options.onTransitionEnd.call(this,e),this.isVisible||this.popover.hidden||(this.popover.hidden=!0,this.popover.classList.remove(this.options.visibleClass),this.options.onAfterHide.call(this)))}destroy(){this.popover.removeEventListener("transitionend",this.handleTransitionEnd),this.popper&&(this.popper.destroy(),this.popper=null)}show(){this.isVisible=!0,this.popover.hidden=!1,requestAnimationFrame((()=>this.popover.classList.add(this.options.visibleClass))),this.popper&&this.popper.destroy(),this.popper=Kr(this.anchor,this.popover,{placement:this.options.placement,strategy:this.options.strategy,modifiers:[{name:"flip",options:{boundary:"viewport"}},{name:"offset",options:{offset:[this.options.skidding,this.options.distance]}}]}),this.popover.addEventListener("transitionend",(()=>this.options.onAfterShow.call(this)),{once:!0}),requestAnimationFrame((()=>this.popper.update()))}hide(){this.isVisible=!1,this.popover.classList.remove(this.options.visibleClass)}setOptions(e){this.options=Object.assign(this.options,e),this.isVisible?this.popover.classList.add(this.options.visibleClass):this.popover.classList.remove(this.options.visibleClass),this.popper&&(this.popper.setOptions({placement:this.options.placement,strategy:this.options.strategy}),requestAnimationFrame((()=>this.popper.update())))}}let Qr=0;const Gr=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grShow=fe(this,"gr-show",7),this.grAfterShow=fe(this,"gr-after-show",7),this.grHide=fe(this,"gr-hide",7),this.grAfterHide=fe(this,"gr-after-hide",7),this.componentId="dropdown-"+ ++Qr,this.isVisible=!1,this.open=!1,this.placement="bottom-start",this.closeOnSelect=!0,this.containingElement=void 0,this.distance=2,this.skidding=0,this.hoist=!1}handleOpenChange(){this.open?this.show():this.hide(),this.updateAccessibleTrigger()}handlePopoverOptionsChange(){this.popoverElement.setOptions({strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding})}connectedCallback(){this.containingElement||(this.containingElement=this.el),this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this),this.handleMenuItemActivate=this.handleMenuItemActivate.bind(this),this.handlePanelSelect=this.handlePanelSelect.bind(this),this.handleTriggerClick=this.handleTriggerClick.bind(this),this.handleTriggerKeyDown=this.handleTriggerKeyDown.bind(this),this.handleTriggerKeyUp=this.handleTriggerKeyUp.bind(this),this.handleTriggerSlotChange=this.handleTriggerSlotChange.bind(this)}componentDidLoad(){this.popoverElement=new Yr(this.trigger,this.positioner,{strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding,transitionElement:this.panel,onAfterHide:()=>this.grAfterHide.emit(),onAfterShow:()=>this.grAfterShow.emit(),onTransitionEnd:()=>{this.open||(this.panel.scrollTop=0)}}),this.open&&this.show()}disconnectedCallback(){this.hide(),this.popoverElement.destroy()}async show(){if(this.isVisible)return;this.grShow.emit().defaultPrevented?this.open=!1:(this.panel.addEventListener("gr-activate",this.handleMenuItemActivate),this.panel.addEventListener("gr-select",this.handlePanelSelect),document.addEventListener("keydown",this.handleDocumentKeyDown),document.addEventListener("mousedown",this.handleDocumentMouseDown),this.isVisible=!0,this.open=!0,this.popoverElement.show())}async hide(){if(!this.isVisible)return;this.grHide.emit().defaultPrevented?this.open=!0:(this.panel.removeEventListener("gr-activate",this.handleMenuItemActivate),this.panel.removeEventListener("gr-select",this.handlePanelSelect),document.addEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("mousedown",this.handleDocumentMouseDown),this.isVisible=!1,this.open=!1,this.popoverElement.hide())}async focusOnTrigger(){const e=this.trigger.querySelector("slot").assignedElements({flatten:!0})[0];e&&("function"==typeof e.setFocus?e.setFocus():"function"==typeof e.focus&&e.focus())}getMenu(){return this.panel.querySelector("slot").assignedElements({flatten:!0}).filter((e=>"gr-menu"===e.tagName.toLowerCase()))[0]}handleDocumentKeyDown(e){var t;if("Escape"===e.key)return this.hide(),void this.focusOnTrigger();if("Tab"===e.key){if(this.open&&"gr-menu-item"===(null===(t=document.activeElement)||void 0===t?void 0:t.tagName.toLowerCase()))return e.preventDefault(),this.hide(),void this.focusOnTrigger();setTimeout((()=>{var e;const t=this.containingElement.getRootNode()instanceof ShadowRoot?null===(e=document.activeElement.shadowRoot)||void 0===e?void 0:e.activeElement:document.activeElement;(null==t?void 0:t.closest(this.containingElement.tagName.toLowerCase()))===this.containingElement||this.hide()}))}}handleDocumentMouseDown(e){e.composedPath().includes(this.containingElement)||this.hide()}handleMenuItemActivate(e){Mt(e.target,this.panel)}handlePanelSelect(e){const t=e.target;this.closeOnSelect&&"gr-menu"===t.tagName.toLowerCase()&&(this.hide(),this.focusOnTrigger())}handleTriggerClick(){this.open?this.hide():this.show()}handleTriggerKeyDown(e){const t=this.getMenu(),r=t?[...t.querySelectorAll("gr-menu-item")]:null,i=r[0],o=r[r.length-1];if("Escape"===e.key)return this.focusOnTrigger(),void this.hide();if([" ","Enter"].includes(e.key))return e.preventDefault(),void(this.open?this.hide():this.show());if(["ArrowDown","ArrowUp"].includes(e.key)){if(e.preventDefault(),this.open||this.show(),"ArrowDown"===e.key&&i)return void i.setFocus();if("ArrowUp"===e.key&&o)return void o.setFocus()}this.open&&t&&!["Tab","Shift","Meta","Ctrl","Alt"].includes(e.key)&&t.typeToSelect(e.key)}handleTriggerKeyUp(e){" "===e.key&&e.preventDefault()}handleTriggerSlotChange(){this.updateAccessibleTrigger()}updateAccessibleTrigger(){const e=this.trigger.querySelector("slot").assignedElements({flatten:!0}).map(Lt)[0];e&&(e.setAttribute("aria-haspopup","true"),e.setAttribute("aria-expanded",this.open?"true":"false"))}render(){return de(ge,{id:this.componentId,class:{"dropdown-open":this.open}},de("span",{class:"dropdown-trigger",ref:e=>this.trigger=e,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown,onKeyUp:this.handleTriggerKeyUp},de("slot",{name:"trigger",onSlotchange:this.handleTriggerSlotChange})),de("div",{ref:e=>this.positioner=e,class:"dropdown-positioner"},de("div",{ref:e=>this.panel=e,class:"dropdown-panel",role:"menu","aria-hidden":this.open?"false":"true","aria-labelledby":this.componentId},de("slot",null))))}get el(){return this}static get watchers(){return{open:["handleOpenChange"],distance:["handlePopoverOptionsChange"],hoist:["handlePopoverOptionsChange"],placement:["handlePopoverOptionsChange"],skidding:["handlePopoverOptionsChange"]}}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{--panel-background-color:var(--gr-color-white);--panel-border-radius:var(--gr-border-radius-medium);--panel-border-color:var(--gr-panel-border-color);--panel-box-shadow:var(--gr-shadow-large);--transition:150ms opacity, 150ms transform;display:inline-block;position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}.dropdown-trigger{display:block}.dropdown-positioner{position:absolute;z-index:var(--gr-z-index-dropdown)}.dropdown-panel{max-height:50vh;font-family:var(--gr-font-family);font-size:var(--gr-font-size-medium);font-weight:var(--gr-font-weight-normal);background-color:var(--panel-background-color);border:solid 1px var(--panel-border-color);border-radius:var(--panel-border-radius);box-shadow:var(--panel-box-shadow);opacity:0;overflow:auto;overscroll-behavior:none;pointer-events:none;transform:scale(0.9);transition:var(--transition)}.dropdown-positioner[data-popper-placement^=top] .dropdown-panel{transform-origin:bottom}.dropdown-positioner[data-popper-placement^=bottom] .dropdown-panel{transform-origin:top}.dropdown-positioner[data-popper-placement^=left] .dropdown-panel{transform-origin:right}.dropdown-positioner[data-popper-placement^=right] .dropdown-panel{transform-origin:left}.dropdown-positioner.popover-visible .dropdown-panel{opacity:1;transform:none;pointer-events:all}"}},[1,"gr-dropdown",{open:[1540],placement:[1],closeOnSelect:[4,"close-on-select"],containingElement:[1040],distance:[2],skidding:[2],hoist:[4],show:[64],hide:[64],focusOnTrigger:[64]}]);function Xr(){if("undefined"==typeof customElements)return;["gr-dropdown"].forEach((e=>{if("gr-dropdown"===e)customElements.get(e)||customElements.define(e,Gr)}))}Xr(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const Zr=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grSelect=fe(this,"gr-select",7),this.typeToSelectString=""}connectedCallback(){this.handleClick=this.handleClick.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this)}async typeToSelect(e){clearTimeout(this.typeToSelectTimeout),this.typeToSelectTimeout=setTimeout((()=>this.typeToSelectString=""),750),this.typeToSelectString+=e.toLowerCase();const t=this.getItems();for(const e of t){if(kt(e.shadowRoot.querySelector("slot:not([name])")).toLowerCase().trim().substring(0,this.typeToSelectString.length)===this.typeToSelectString){e.setFocus();break}}}getItems(){return[...this.menu.querySelector("slot").assignedElements({flatten:!0})].filter((e=>"gr-menu-item"===e.tagName.toLowerCase()&&!e.disabled))}getActiveItem(){return this.getItems().find((e=>e===document.activeElement))}setActiveItem(e){e.setFocus()}handleClick(e){const t=e.target.closest("gr-menu-item");t&&!t.disabled&&this.grSelect.emit({item:t})}handleKeyDown(e){if("Enter"===e.key){const t=this.getActiveItem();e.preventDefault(),t&&this.grSelect.emit({item:t})}if(" "===e.key&&e.preventDefault(),["ArrowDown","ArrowUp","Home","End"].includes(e.key)){const t=this.getItems(),r=this.getActiveItem();let i=t.indexOf(r);if(t.length)return e.preventDefault(),"ArrowDown"===e.key?i++:"ArrowUp"===e.key?i--:"Home"===e.key?i=0:"End"===e.key&&(i=t.length-1),i<0&&(i=0),i>t.length-1&&(i=t.length-1),void this.setActiveItem(t[i])}this.typeToSelect(e.key)}render(){return de("div",{ref:e=>this.menu=e,class:"menu",role:"menu",onClick:this.handleClick,onKeyDown:this.handleKeyDown},de("slot",null))}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{--padding-top:var(--gr-spacing-x-small);--padding-bottom:var(--gr-spacing-x-small);display:block;padding-top:var(--padding-top);padding-left:0;padding-right:0;padding-bottom:var(--padding-bottom);box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host:focus{outline:none}"}},[1,"gr-menu",{typeToSelect:[64]}]);function Jr(){if("undefined"==typeof customElements)return;["gr-menu"].forEach((e=>{if("gr-menu"===e)customElements.get(e)||customElements.define(e,Zr)}))}Jr(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const ei=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grClear=fe(this,"gr-clear",7),this.type="primary",this.size="medium",this.pill=!1,this.clearable=!1,this.truncate=!1,this.title=""}connectedCallback(){this.handleClearClick=this.handleClearClick.bind(this)}handleClearClick(){this.grClear.emit()}render(){return de(ge,{class:{[`tag-${this.type}`]:!0,[`tag-${this.size}`]:!0,"tag-pill":this.pill,"tag-clearable":this.clearable}},de("span",{class:"tag"},de("span",{class:{"tag-truncate":this.truncate},title:this.title},de("slot",null)),this.clearable&&de("gr-button",{variant:"plain",size:this.size,class:"tag-clear","aria-label":"clear",onClick:this.handleClearClick},de("svg",{slot:"icon-only",role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Close"),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 368L144 144M368 144L144 368"})))))}static get style(){return":host{--height:calc(var(--gr-form-element-height-medium) * 0.8);--line-height:calc(var(--gr-form-element-height-medium) - 1px * 2);--border-radius:var(--gr-form-element-border-radius-medium);--border-width:1px;--border-style:solid;--padding-top:0;--padding-start:var(--gr-spacing-small);--padding-end:var(--gr-spacing-small);--padding-bottom:0;--font-size:var(--gr-form-element-font-size-medium);--background-color:rgba(var(--gr-color-primary-rgb), 0.05);--border-color:rgba(var(--gr-color-primary-rgb), 0.2);--color:var(--gr-color-primary-shade);--clear-color:var(--gr-color-primary);--clear-color-hover:var(--gr-color-primary-shade);--clear-margin-left:var(--gr-spacing-xx-small);--clear-margin-right:calc(-1 * var(--gr-spacing-xxx-small));display:inline-block;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host(.tag-success){--background-color:rgba(var(--gr-color-success-rgb), 0.05);--border-color:rgba(var(--gr-color-success-rgb), 0.2);--color:var(--gr-color-success-shade);--clear-color:var(--gr-color-success);--clear-color-hover:var(--gr-color-success-shade)}:host(.tag-info){--background-color:rgba(var(--gr-color-medium-rgb), 0.05);--border-color:rgba(var(--gr-color-medium-rgb), 0.2);--color:var(--gr-color-medium-shade);--clear-color:var(--gr-color-medium);--clear-color-hover:var(--gr-color-medium-shade)}:host(.tag-warning){--background-color:rgba(var(--gr-color-warning-rgb), 0.05);--border-color:rgba(var(--gr-color-warning-rgb), 0.2);--color:var(--gr-color-warning-shade);--clear-color:var(--gr-color-warning);--clear-color-hover:var(--gr-color-warning-shade)}:host(.tag-danger){--background-color:rgba(var(--gr-color-danger-rgb), 0.05);--border-color:rgba(var(--gr-color-danger-rgb), 0.2);--color:var(--gr-color-danger-shade);--clear-color:var(--gr-color-danger);--clear-color-hover:var(--gr-color-danger-shade)}:host(.tag-small){--font-size:var(--gr-form-element-font-size-small);--height:calc(var(--gr-form-element-height-small) * 0.8);--line-height:calc(var(--gr-form-element-height-small) - 1px * 2);--border-radius:var(--gr-form-element-border-radius-small);--padding-start:var(--gr-spacing-x-small);--padding-end:var(--gr-spacing-x-small);--clear-margin-left:var(--gr-spacing-xx-small);--clear-margin-right:calc(-1 * var(--gr-spacing-xxx-small))}:host(.tag-large){--font-size:var(--gr-form-element-font-size-large);--height:calc(var(--gr-form-element-height-large) * 0.8);--line-height:calc(var(--gr-form-element-height-large) - 1px * 2);--border-radius:var(--gr-form-element-border-radius-large);--padding:0 var(--gr-spacing-medium);--clear-margin-left:var(--gr-spacing-xx-small);--clear-margin-right:calc(-1 * var(--gr-spacing-x-small))}.tag{display:flex;align-items:center;border-style:var(--border-style);border-width:var(--border-width);border-radius:var(--border-radius);white-space:nowrap;user-select:none;cursor:default;font-family:var(--gr-font-family);font-size:var(--font-size);font-weight:var(--gr-font-weight-normal);height:var(--height);line-height:var(--line-height);padding-top:var(--padding-top);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-bottom:var(--padding-bottom);background-color:var(--background-color);border-color:var(--border-color);color:var(--color)}.tag-clear{--color:var(--clear-color);--color-hover:var(--clear-color-hover);--padding-start:0;--padding-end:0;margin-left:var(--clear-margin-left);margin-right:var(--clear-margin-right);--height:1em}.tag-clear svg{font-size:0.7em}.tag-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-clear svg{width:1.1em;height:1.1em}:host(.tag-pill) .tag{border-radius:var(--height)}"}},[1,"gr-tag",{type:[513],size:[513],pill:[516],clearable:[516],truncate:[516],title:[513]}]);function ti(){if("undefined"==typeof customElements)return;["gr-tag","gr-button","gr-spinner"].forEach((e=>{switch(e){case"gr-tag":customElements.get(e)||customElements.define(e,ei);break;case"gr-button":customElements.get(e)||St();break;case"gr-spinner":customElements.get(e)||Et()}}))}ti(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const ri="undefined"!=typeof HTMLElement?HTMLElement:class{};let ii=0;const oi=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grChange=fe(this,"gr-change",7),this.grFocus=fe(this,"gr-focus",7),this.grBlur=fe(this,"gr-blur",7),this.inputId="select-"+ ++ii,this.labelId=`select-label-${ii}`,this.helpTextId=`select-help-text-${ii}`,this.invalidTextId=`select-invalid-text-${ii}`,this.inheritedAttributes={},this.handleBlur=()=>{this.isOpen||(this.hasFocus=!1,this.grBlur.emit())},this.handleFocus=()=>{this.hasFocus||(this.hasFocus=!0,this.grFocus.emit())},this.hasFocus=!1,this.hasHelpTextSlot=!1,this.hasInvalidTextSlot=!1,this.hasLabelSlot=!1,this.isOpen=!1,this.items=[],this.displayLabel="",this.displayTags=[],this.multiple=!1,this.maxTagsVisible=3,this.disabled=!1,this.name="",this.placeholder="",this.size="medium",this.hoist=!1,this.value="",this.pill=!1,this.label="",this.requiredIndicator=!1,this.helpText="",this.invalidText="",this.invalid=!1,this.clearable=!1}handleDisabledChange(){this.disabled&&this.isOpen&&this.dropdown.hide()}handleLabelChange(){this.handleSlotChange()}handleMultipleChange(){const e=this.getValueAsArray();this.value=this.multiple?e:e[0]||"",this.syncItemsFromValue()}handleValueChange(){this.syncItemsFromValue(),this.grChange.emit()}connectedCallback(){this.handleClearClick=this.handleClearClick.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleLabelClick=this.handleLabelClick.bind(this),this.handleMenuHide=this.handleMenuHide.bind(this),this.handleMenuShow=this.handleMenuShow.bind(this),this.handleMenuSelect=this.handleMenuSelect.bind(this),this.handleSlotChange=this.handleSlotChange.bind(this),this.handleTagInteraction=this.handleTagInteraction.bind(this),this.el.shadowRoot.addEventListener("slotchange",this.handleSlotChange)}componentWillLoad(){this.handleSlotChange(),this.inheritedAttributes=Ct(this.el,["aria-label"])}componentDidLoad(){this.resizeObserver=new ResizeObserver((()=>this.resizeMenu())),this.reportDuplicateItemValues(),requestAnimationFrame((()=>this.syncItemsFromValue()))}disconnectedCallback(){this.el.shadowRoot.removeEventListener("slotchange",this.handleSlotChange)}async setFocus(){this.hasFocus=!0,this.grFocus.emit(),this.dropdown.focusOnTrigger()}getItemLabel(e){return kt(e.shadowRoot.querySelector("slot:not([name])"))}getItems(){return[...this.el.querySelectorAll("gr-menu-item")]}getValueAsArray(){return Array.isArray(this.value)?this.value:[this.value]}handleClearClick(e){e.stopPropagation(),this.value=this.multiple?[]:"",this.syncItemsFromValue()}handleKeyDown(e){const t=e.target,r=this.getItems(),i=r[0],o=r[r.length-1];if("gr-tag"!==t.tagName.toLowerCase())if("Tab"!==e.key){if(["ArrowDown","ArrowUp"].includes(e.key)){if(e.preventDefault(),this.isOpen||this.dropdown.show(),"ArrowDown"===e.key&&i)return void i.setFocus();if("ArrowUp"===e.key&&o)return void o.setFocus()}this.isOpen||1!==e.key.length||(e.stopPropagation(),e.preventDefault(),this.dropdown.show(),this.menu.typeToSelect(e.key))}else this.isOpen&&this.dropdown.hide()}handleLabelClick(){this.box.focus()}handleMenuSelect(e){const t=e.detail.item;this.multiple?this.value=this.value.includes(t.value)?this.value.filter((e=>e!==t.value)):[...this.value,t.value]:this.value=t.value,this.syncItemsFromValue()}handleMenuShow(e){this.disabled?e.preventDefault():(this.resizeMenu(),this.resizeObserver.observe(this.el),this.isOpen=!0)}handleMenuHide(){this.resizeObserver.unobserve(this.el),this.isOpen=!1,this.box.focus()}handleSlotChange(){this.hasHelpTextSlot=_t(this.el,"help-text"),this.hasInvalidTextSlot=_t(this.el,"invalid-text"),this.hasLabelSlot=_t(this.el,"label"),this.syncItemsFromValue(),this.reportDuplicateItemValues()}handleTagInteraction(e){e.composedPath().find((e=>{if(e instanceof ri)return e.classList.contains("tag-clear")}))&&e.stopPropagation()}reportDuplicateItemValues(){const e=this.getItems().map((e=>e.value)).filter(((e,t,r)=>r.indexOf(e)!==t));if(e.length)throw new Error('Duplicate value found on in : "'+e.join('", "')+'"')}resizeMenu(){this.menu.style.width=`${this.box.clientWidth}px`}syncItemsFromValue(){const e=this.getItems(),t=this.getValueAsArray();if(e.map((e=>e.checked=t.includes(e.value))),this.multiple){const r=[];if(t.map((t=>e.map((e=>e.value===t?r.push(e):null)))),this.displayTags=r.map((e=>de("gr-tag",{type:"info",size:this.size,pill:this.pill,clearable:!0,onClick:this.handleTagInteraction,onKeyDown:this.handleTagInteraction,"onGr-clear":t=>{t.stopPropagation(),this.disabled||(e.checked=!1,this.syncValueFromItems())}},this.getItemLabel(e)))),this.maxTagsVisible>0&&this.displayTags.length>this.maxTagsVisible){const e=this.displayTags.length;this.displayLabel="",this.displayTags=this.displayTags.slice(0,this.maxTagsVisible),this.displayTags.push(de("gr-tag",{type:"info",size:this.size,pill:this.pill},"+",e-this.maxTagsVisible))}}else{const r=e.filter((e=>e.value===t[0]))[0];this.displayLabel=r?this.getItemLabel(r):"",this.displayTags=[]}}syncValueFromItems(){const e=this.getItems().filter((e=>e.checked)).map((e=>e.value));this.multiple?this.value=this.value.filter((t=>e.includes(t))):this.value=e.length>0?e[0]:""}render(){var e;const t=this.multiple?this.value.length>0:""!==this.value,r=this.inheritedAttributes["aria-label"]?{"aria-label":this.inheritedAttributes["aria-label"]}:{"aria-labelledby":this.labelId};return((e,t,r,i)=>{let o=e.querySelector("input.aux-input");o||(o=e.ownerDocument.createElement("input"),o.type="hidden",o.classList.add("aux-input"),e.appendChild(o)),o.disabled=i,o.name=t,o.value=r||""})(this.el,this.name,ni(this.value),this.disabled),de(xt,{inputId:this.inputId,label:this.label,labelId:this.labelId,hasLabelSlot:this.hasLabelSlot,helpTextId:this.helpTextId,helpText:this.helpText,hasHelpTextSlot:this.hasHelpTextSlot,invalidTextId:this.invalidTextId,invalidText:this.invalidText,invalid:this.invalid,hasInvalidTextSlot:this.hasInvalidTextSlot,size:this.size,onLabelClick:this.handleLabelClick,requiredIndicator:this.requiredIndicator},de("gr-dropdown",{ref:e=>this.dropdown=e,hoist:this.hoist,closeOnSelect:!this.multiple,containingElement:this.el,class:{select:!0,"select-open":this.isOpen,"select-empty":0===(null===(e=this.value)||void 0===e?void 0:e.length),"select-focused":this.hasFocus,"select-clearable":this.clearable,"select-disabled":this.disabled,"select-multiple":this.multiple,"select-has-tags":this.multiple&&t,"select-placeholder-visible":""===this.displayLabel,[`select-${this.size}`]:!0,"select-pill":this.pill,"select-invalid":this.invalid},"onGr-show":this.handleMenuShow,"onGr-hide":this.handleMenuHide},de("div",Object.assign({slot:"trigger",ref:e=>this.box=e,id:this.inputId,class:"select-box",role:"combobox"},r,{"aria-describedby":this.invalid?this.invalidTextId:this.helpTextId,"aria-haspopup":"true","aria-expanded":this.isOpen?"true":"false","aria-invalid":this.invalid?"true":"false","aria-required":this.requiredIndicator?"true":"false",tabIndex:this.disabled?-1:0,onBlur:this.handleBlur,onFocus:this.handleFocus,onKeyDown:this.handleKeyDown}),de("div",{class:"select-label"},this.displayTags.length?de("span",{class:"select-tags"},this.displayTags):this.displayLabel||this.placeholder),this.clearable&&t&&de("button",{class:"select-clear",type:"button",onClick:this.handleClearClick,"aria-label":"clear",tabindex:"-1"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Close Circle"),de("path",{d:"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"}),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M320 320L192 192M192 320l128-128"}))),de("span",{class:"caret"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Chevron Down"),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"48",d:"M112 184l144 144 144-144"}))),de("input",{class:"select-hidden-select","aria-hidden":"true",value:t?"1":"",tabIndex:-1})),de("gr-menu",{ref:e=>this.menu=e,class:"select-menu","onGr-select":this.handleMenuSelect},de("slot",{onSlotchange:this.handleSlotChange}))))}get el(){return this}static get watchers(){return{disabled:["handleDisabledChange"],helpText:["handleLabelChange"],invalidText:["handleLabelChange"],label:["handleLabelChange"],multiple:["handleMultipleChange"],value:["handleValueChange"]}}static get style(){return".form-control .form-control-label{display:none}.form-control .form-control-help-text{display:none}.form-control .form-control-invalid-text{display:none}.form-control-has-label .form-control-label{display:flex;line-height:var(--gr-line-height-normal);color:var(--gr-form-element-label-color);margin-bottom:var(--gr-spacing-xxx-small)}.form-control-has-label.form-control-small .form-control-label{font-size:var(--gr-form-element-label-font-size-small)}.form-control-has-label.form-control-medium .form-control-label{font-size:var(--gr-form-element-label-font-size-medium)}.form-control-has-label.form-control-large .form-control-label{font-size:var(--gr-form-element-label-font-size-large)}.form-control-has-label .form-control-label .asterisk{margin-left:var(--gr-spacing-x-small);color:var(--gr-color-medium)}.form-control-has-label .form-control-label .asterisk svg{width:0.6em;height:0.6em;margin-bottom:var(--gr-spacing-xxx-small)}.form-control-has-help-text .form-control-help-text{display:block;line-height:var(--gr-line-height-normal);color:var(--gr-form-element-help-text-color);margin-top:var(--gr-spacing-xxx-small)}.form-control-has-help-text.form-control-small .form-control-help-text{font-size:var(--gr-form-element-help-text-font-size-small);min-height:1.625rem}.form-control-has-help-text.form-control-medium .form-control-help-text{font-size:var(--gr-form-element-help-text-font-size-medium);min-height:1.875rem}.form-control-has-help-text.form-control-large .form-control-help-text{font-size:var(--gr-form-element-help-text-font-size-large);min-height:2.125rem}.form-control-has-invalid-text .form-control-invalid-text{display:flex;margin-left:-2px;line-height:var(--gr-line-height-normal);color:var(--gr-form-element-invalid-text-color);margin-top:var(--gr-spacing-xxx-small)}.form-control-has-invalid-text .form-control-invalid-text .icon{margin-top:var(--gr-spacing-xxx-small);margin-right:var(--gr-spacing-xx-small)}.form-control-has-invalid-text .form-control-invalid-text .icon svg{width:1.4em;height:1.4em}.form-control-has-invalid-text.form-control-small .form-control-invalid-text{font-size:var(--gr-form-element-invalid-text-font-size-small);min-height:1.625rem}.form-control-has-invalid-text.form-control-medium .form-control-invalid-text{font-size:var(--gr-form-element-invalid-text-font-size-medium);min-height:1.875rem}.form-control-has-invalid-text.form-control-large .form-control-invalid-text{font-size:var(--gr-form-element-invalid-text-font-size-large);min-height:2.125rem}.gr-scroll-lock{overflow:hidden !important}:host{--font-size:var(--gr-form-element-font-size-medium);--font-weight:var(--gr-font-weight-normal);--background-color:var(--gr-color-white);--background-color-hover:var(--gr-color-white);--background-color-focus:var(--gr-color-white);--background-color-invalid:var(--gr-color-white);--background-color-invalid-hover:var(--gr-color-white);--border-radius:var(--gr-form-element-border-radius-small);--border-color:var(--gr-color-light-shade);--border-color-hover:var(--gr-color-medium);--border-color-focus:var(--gr-color-primary);--border-color-invalid:var(--gr-color-danger);--border-color-invalid-hover:var(--gr-color-danger-shade);--color:var(--gr-color-dark-tint);--placeholder-color:var(--gr-color-medium-tint);--min-height:var(--gr-form-element-height-medium);--label-margin-start:var(--gr-spacing-medium);--label-margin-end:var(--gr-spacing-medium);--clear-icon-margin-end:var(--gr-spacing-medium);--caret-margin-end:var(--gr-spacing-medium);--tags-padding-top:3px;--tags-padding-bottom:3px;--tags-margin-end:var(--gr-spacing-xx-small);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33);display:block;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}.select-small{--font-size:var(--gr-form-element-font-size-small);--min-height:var(--gr-form-element-height-small);--label-margin-start:var(--gr-spacing-small);--label-margin-end:var(--gr-spacing-small);--clear-icon-margin-end:var(--gr-spacing-small);--caret-margin-end:var(--gr-spacing-small);--tags-padding-top:2px;--tags-padding-bottom:2px}.select-large{--font-size:var(--gr-form-element-font-size-large);--min-height:var(--gr-form-element-height-large);--label-margin-start:var(--gr-spacing-large);--label-margin-end:var(--gr-spacing-large);--clear-icon-margin-end:var(--gr-spacing-large);--caret-margin-end:var(--gr-spacing-large);--tags-padding-top:4px;--tags-padding-bottom:4px}.select{display:block}.select-box{display:inline-flex;align-items:center;justify-content:start;position:relative;width:100%;font-family:var(--gr-font-family);font-size:var(--font-size);font-weight:var(--font-weight);letter-spacing:normal;background-color:var(--background-color);border:solid 1px var(--border-color);border-radius:var(--border-radius);min-height:var(--min-height);color:var(--color);vertical-align:middle;overflow:hidden;transition:150ms color, 150ms border, 150ms box-shadow;cursor:pointer}.select.select-invalid:not(.select-disabled) .select-box{background-color:var(--background-color-invalid);border-color:var(--border-color-invalid)}.select.select-invalid:not(.select-disabled):not(.select-focused) .select-box:hover{background-color:var(--background-color-invalid-hover);border-color:var(--border-color-invalid-hover)}.select.select-invalid:not(.select-disabled) .select-box{background-color:var(--background-color-invalid);border-color:var(--border-color-invalid)}.select:not(.select-disabled) .select-box:hover{background-color:var(--background-color-hover);border-color:var(--border-color-hover)}.select.select-focused:not(.select-disabled) .select-box{outline:none;box-shadow:var(--focus-ring);border-color:var(--border-color-focus);background-color:var(--background-color-focus)}.select-disabled .select-box{opacity:0.5;cursor:not-allowed;outline:none}.select-disabled .select-tags,.select-disabled .select-clear{pointer-events:none}.select-label{flex:1 1 auto;display:flex;align-items:center;user-select:none;margin-top:0;margin-left:var(--label-margin-start);margin-right:var(--label-margin-end);margin-bottom:0;scrollbar-width:none;-ms-overflow-style:none;overflow-x:auto;overflow-y:hidden;white-space:nowrap}.select-label::-webkit-scrollbar{width:0;height:0}.select-has-tags .select-label{margin-left:0}.select-clear{display:inline-flex;align-items:center;font-size:inherit;color:var(--gr-color-medium);border:none;background:none;padding:0;transition:150ms color;cursor:pointer;margin-right:var(--clear-icon-margin-end)}.select-clear:hover{color:var(--gr-color-dark)}.select-clear:focus{outline:none}.select-clear svg{width:1.2em;height:1.2em;font-size:var(--font-size)}.caret{flex:0 0 auto;display:inline-flex;transition:250ms transform ease;margin-right:var(--caret-margin-end)}.caret svg{width:1em;height:1em;font-size:var(--font-size)}.select-open .caret{transform:rotate(-180deg)}.select-placeholder-visible .select-label{color:var(--placeholder-color)}.select-tags{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:left;margin-left:var(--gr-spacing-xx-small);padding-bottom:var(--tags-padding-bottom)}.select-tags gr-tag{padding-top:var(--tags-padding-top)}.select-tags gr-tag:not(:last-of-type){margin-right:var(--tags-margin-end)}.select-hidden-select{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px;position:absolute;top:0;left:0;width:100%;height:100%}.select-pill .select-box{border-radius:var(--min-height)}"}},[1,"gr-select",{multiple:[4],maxTagsVisible:[2,"max-tags-visible"],disabled:[4],name:[1],placeholder:[1],size:[1],hoist:[4],value:[1025],pill:[4],label:[1],requiredIndicator:[4,"required-indicator"],helpText:[1,"help-text"],invalidText:[1,"invalid-text"],invalid:[516],clearable:[4],hasFocus:[32],hasHelpTextSlot:[32],hasInvalidTextSlot:[32],hasLabelSlot:[32],isOpen:[32],items:[32],displayLabel:[32],displayTags:[32],setFocus:[64]}]),ni=e=>{if(null!=e)return Array.isArray(e)?e.join(","):e.toString()};!function(){if("undefined"==typeof customElements)return;["gr-select","gr-button","gr-dropdown","gr-menu","gr-spinner","gr-tag"].forEach((e=>{switch(e){case"gr-select":customElements.get(e)||customElements.define(e,oi);break;case"gr-button":customElements.get(e)||St();break;case"gr-dropdown":customElements.get(e)||Xr();break;case"gr-menu":customElements.get(e)||Jr();break;case"gr-spinner":customElements.get(e)||Et();break;case"gr-tag":customElements.get(e)||ti()}}))}();const ai=oi,si=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.hasFocus=!1,this.checked=!1,this.value="",this.disabled=!1}connectedCallback(){this.handleBlur=this.handleBlur.bind(this),this.handleFocus=this.handleFocus.bind(this),this.handleMouseEnter=this.handleMouseEnter.bind(this),this.handleMouseLeave=this.handleMouseLeave.bind(this)}async setFocus(e){this.el.focus(e)}async removeFocus(){this.el.blur()}handleBlur(){this.hasFocus=!1}handleFocus(){this.hasFocus=!0}handleMouseEnter(){this.setFocus()}handleMouseLeave(){this.removeFocus()}render(){return de(ge,{class:{"menu-item-checked":this.checked,"menu-item-disabled":this.disabled,"menu-item-focused":this.hasFocus},role:"menuitem","aria-disabled":this.disabled?"true":"false","aria-checked":this.checked?"true":"false",tabIndex:this.disabled?null:0,onFocus:this.handleFocus,onBlur:this.handleBlur,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave},de("span",{class:"checkmark"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Checkmark"),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M416 128L192 384l-96-96"}))),de("span",{class:"start"},de("slot",{name:"start"})),de("span",{class:"label"},de("slot",null)),de("span",{class:"end"},de("slot",{name:"end"})))}get el(){return this}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{--line-height:var(--gr-line-height-normal);--background-color:transparent;--background-color-focused:var(--gr-color-primary);--color:var(--gr-color-dark);--color-focused:var(--gr-color-primary-contrast);--color-disabled:var(--gr-color-medium);--padding-top:var(--gr-spacing-xx-small);--padding-start:var(--gr-spacing-x-large);--padding-end:var(--gr-spacing-x-large);--padding-bottom:var(--gr-spacing-xx-small);--transition:background-color 150ms linear, color 150ms linear;position:relative;display:flex;align-items:stretch;font-family:var(--gr-font-family);font-size:var(--gr-font-size-medium);font-weight:var(--gr-font-weight-normal);line-height:var(--line-height);letter-spacing:var(--gr-letter-spacing-normal);text-align:left;background-color:var(--background-color);color:var(--color);padding-top:var(--padding-top);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-bottom:var(--padding-bottom);transition:var(--transition);user-select:none;white-space:nowrap;cursor:pointer;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host(.menu-item-focused:not(.menu-item-disabled)){outline:none;background-color:var(--background-color-focused);color:var(--color-focused)}:host(.menu-item-disabled){outline:none;color:var(--color-disabled);cursor:not-allowed}.checkmark{display:flex;position:absolute;left:0.5em;top:calc(50% - 0.5em);visibility:hidden;align-items:center;font-size:inherit}.checkmark svg{display:inline-block;width:1.1em;height:1.1em;contain:strict;fill:currentcolor;box-sizing:content-box !important}:host(.menu-item-checked) .checkmark{visibility:visible}.label{flex:1 1 auto}.start{flex:0 0 auto;display:flex;align-items:center}.start ::slotted(:last-child){margin-right:0.5em}.end{flex:0 0 auto;display:flex;align-items:center}.end ::slotted(:first-child){margin-left:0.5em}"}},[1,"gr-menu-item",{checked:[516],value:[513],disabled:[516],hasFocus:[32],setFocus:[64],removeFocus:[64]}]); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */!function(){if("undefined"==typeof customElements)return;["gr-menu-item"].forEach((e=>{if("gr-menu-item"===e)customElements.get(e)||customElements.define(e,si)}))}();const li={"gr-select":ai,"gr-menu-item":si};class ci extends(P(_)){constructor(){super(...arguments),this.value=null,this.multiple=!1,this.clearable=!1,this._refSelect=y()}reset(){this.value=null}_valueChangedHandler(e){const t=this._refSelect.value?.value;if(void 0!==t&&!l(this.value,t)){const e=null===this.value;this.value=t,e||w(this,"select:change",t)}}willUpdate(e){e.has("initialValue")&&this.initialValue&&!this.value&&(this.value=this.initialValue)}render(){return $` - ${this.options?.map((e=>$`${e.label}`))} - `}static get styles(){return k(':root, :host {\n --gr-color-primary: #1079b2;\n --gr-color-primary-rgb: 16, 121, 178;\n --gr-color-primary-contrast: #ffffff;\n --gr-color-primary-contrast-rgb: 255, 255, 255;\n --gr-color-primary-shade: #0d6696;\n --gr-color-primary-tint: #1499e1;\n --gr-color-secondary: #051f2c;\n --gr-color-secondary-rgb: 5, 31, 44;\n --gr-color-secondary-contrast: #ffffff;\n --gr-color-secondary-contrast-rgb: 255, 255, 255;\n --gr-color-secondary-shade: #000000;\n --gr-color-secondary-tint: #0a415c;\n --gr-color-tertiary: #0c4a6e;\n --gr-color-tertiary-rgb: 12, 74, 110;\n --gr-color-tertiary-contrast: #ffffff;\n --gr-color-tertiary-contrast-rgb: 255, 255, 255;\n --gr-color-tertiary-shade: #083249;\n --gr-color-tertiary-tint: #106393;\n --gr-color-success: #0fbe78;\n --gr-color-success-rgb: 15, 190, 120;\n --gr-color-success-contrast: #000000;\n --gr-color-success-contrast-rgb: 0, 0, 0;\n --gr-color-success-shade: #057f4e;\n --gr-color-success-tint: #12e28f;\n --gr-color-warning: #fbbc4e;\n --gr-color-warning-rgb: 251, 188, 78;\n --gr-color-warning-contrast: #051f2c;\n --gr-color-warning-contrast-rgb: 5, 31, 44;\n --gr-color-warning-shade: #9e6400;\n --gr-color-warning-tint: #fdd187;\n --gr-color-danger: #e60017;\n --gr-color-danger-rgb: 230, 0, 23;\n --gr-color-danger-contrast: #ffffff;\n --gr-color-danger-contrast-rgb: 255, 255, 255;\n --gr-color-danger-shade: #cc0014;\n --gr-color-danger-tint: #ff1f35;\n --gr-color-light: #f4f5f8;\n --gr-color-light-rgb: 244, 245, 248;\n --gr-color-light-contrast: #051f2c;\n --gr-color-light-contrast-rgb: 5, 31, 44;\n --gr-color-light-shade: #d7d8da;\n --gr-color-light-tint: #f9fafb;\n --gr-color-medium: #5e6c78;\n --gr-color-medium-rgb: 94, 108, 120;\n --gr-color-medium-contrast: #ffffff;\n --gr-color-medium-contrast-rgb: 255, 255, 255;\n --gr-color-medium-shade: #48535b;\n --gr-color-medium-tint: #81909c;\n --gr-color-dark: #02131b;\n --gr-color-dark-rgb: 2, 19, 27;\n --gr-color-dark-contrast: #ffffff;\n --gr-color-dark-contrast-rgb: 255, 255, 255;\n --gr-color-dark-shade: #000000;\n --gr-color-dark-tint: #222428;\n --gr-color-white: #ffffff;\n --gr-color-black: #000000;\n --gr-border-radius-small: 0.125rem;\n --gr-border-radius-medium: 0.25rem;\n --gr-border-radius-large: 0.5rem;\n --gr-border-radius-x-large: 1rem;\n --gr-border-width-small: 0.063rem;\n --gr-border-width-medium: 0.125rem;\n --gr-border-width-large: 0.188rem;\n --gr-shadow-x-small: 0 1px 0 #0d131e0d;\n --gr-shadow-small: 0 1px 2px #0d131e1a;\n --gr-shadow-medium: 0 2px 4px #0d131e1a;\n --gr-shadow-large: 0 2px 8px #0d131e1a;\n --gr-shadow-x-large: 0 4px 16px #0d131e1a;\n --gr-spacing-xxx-small: 0.125rem;\n --gr-spacing-xx-small: 0.25rem;\n --gr-spacing-x-small: 0.5rem;\n --gr-spacing-small: 0.75rem;\n --gr-spacing-medium: 1rem;\n --gr-spacing-large: 1.25rem;\n --gr-spacing-x-large: 1.75rem;\n --gr-spacing-xx-large: 2.25rem;\n --gr-spacing-xxx-large: 3rem;\n --gr-spacing-xxxx-large: 4.5rem;\n --gr-font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial,\n sans-serif;\n --gr-letter-spacing-dense: -0.015em;\n --gr-letter-spacing-normal: normal;\n --gr-letter-spacing-loose: 0.075em;\n --gr-line-height-dense: 1.4;\n --gr-line-height-normal: 1.8;\n --gr-line-height-loose: 2.2;\n --gr-font-size-xx-small: 0.625rem;\n --gr-font-size-x-small: 0.75rem;\n --gr-font-size-small: 0.875rem;\n --gr-font-size-medium: 1rem;\n --gr-font-size-large: 1.25rem;\n --gr-font-size-x-large: 1.5rem;\n --gr-font-size-xx-large: 2.25rem;\n --gr-font-size-xxx-large: 3rem;\n --gr-font-size-xxxx-large: 4.5rem;\n --gr-font-weight-thin: 100;\n --gr-font-weight-extra-light: 200;\n --gr-font-weight-light: 300;\n --gr-font-weight-normal: 400;\n --gr-font-weight-medium: 500;\n --gr-font-weight-semi-bold: 600;\n --gr-font-weight-bold: 700;\n --gr-font-weight-extra-bold: 800;\n --gr-font-weight-black: 900;\n --gr-form-element-font-size-x-small: var(--gr-font-size-x-small);\n --gr-form-element-font-size-small: var(--gr-font-size-small);\n --gr-form-element-font-size-medium: var(--gr-font-size-medium);\n --gr-form-element-font-size-large: var(--gr-font-size-large);\n --gr-form-element-height-small: 2.188rem;\n --gr-form-element-height-medium: 3.125rem;\n --gr-form-element-height-large: 4.063rem;\n --gr-form-element-border-radius-small: var(--gr-border-radius-medium);\n --gr-form-element-border-radius-medium: var(--gr-border-radius-medium);\n --gr-form-element-border-radius-large: var(--gr-border-radius-medium);\n --gr-focus-ring-width: 2px;\n --gr-form-element-label-font-size-small: var(--gr-font-size-small);\n --gr-form-element-label-font-size-medium: var(--gr-font-size-medium);\n --gr-form-element-label-font-size-large: var(--gr-font-size-large);\n --gr-form-element-label-color: inherit;\n --gr-form-element-help-text-font-size-small: var(--gr-font-size-x-small);\n --gr-form-element-help-text-font-size-medium: var(--gr-font-size-small);\n --gr-form-element-help-text-font-size-large: var(--gr-font-size-medium);\n --gr-form-element-help-text-color: var(--gr-color-medium);\n --gr-form-element-invalid-text-font-size-small: var(--gr-font-size-x-small);\n --gr-form-element-invalid-text-font-size-medium: var(--gr-font-size-small);\n --gr-form-element-invalid-text-font-size-large: var(--gr-font-size-medium);\n --gr-form-element-invalid-text-color: var(--gr-color-danger);\n --gr-toggle-size: 1rem;\n --gr-panel-border-color: var(--gr-color-light-shade);\n --gr-z-index-dropdown: 900;\n}\n\n')}}ci.elementDefinitions={...li},f([v({attribute:!1,hasChanged:b})],ci.prototype,"options",void 0),f([v({attribute:!1,hasChanged:b})],ci.prototype,"value",void 0),f([v({attribute:!1,hasChanged:b})],ci.prototype,"initialValue",void 0),f([v({attribute:!0})],ci.prototype,"label",void 0),f([v({attribute:!0})],ci.prototype,"placeholder",void 0),f([v({attribute:!0,type:Boolean})],ci.prototype,"multiple",void 0),f([v({attribute:!0,type:Boolean})],ci.prototype,"clearable",void 0);let di=class extends(P(_)){constructor(){super(...arguments),this._mediaFilterController=new U(this),this._refMediaType=y(),this._refCamera=y(),this._refWhen=y(),this._refWhenFrom=y(),this._refWhenTo=y(),this._refWhat=y(),this._refWhere=y(),this._refFavorite=y(),this._refTags=y()}willUpdate(e){e.has("viewManagerEpoch")&&this._mediaFilterController.setViewManager(this.viewManagerEpoch?.manager??null),e.has("cameraManager")&&this.cameraManager&&(this._mediaFilterController.computeCameraOptions(this.cameraManager),this._mediaFilterController.computeMetadataOptions(this.cameraManager)),!e.get("viewManager")&&this.viewManagerEpoch&&this.cameraManager&&this._mediaFilterController.computeInitialDefaultsFromView(this.cameraManager)}render(){const e=async()=>{this.cameraManager&&this.viewManagerEpoch&&this.cardWideConfig&&await this._mediaFilterController.valueChangeHandler(this.cameraManager,this.cardWideConfig,{camera:this._refCamera.value?.value??void 0,mediaType:this._refMediaType.value?.value??void 0,when:{selected:this._refWhen.value?.value??void 0,from:this._refWhenFrom.value?.value,to:this._refWhenTo.value?.value},favorite:this._refFavorite.value?.value??void 0,where:this._refWhere.value?.value??void 0,what:this._refWhat.value?.value??void 0,tags:this._refTags.value?.value??void 0})},t=async t=>{"custom"===t&&this._refWhen.value?this._refWhenFrom.value?.value||this._refWhenTo.value?.value?this._refWhen.value.value=B.Custom:this._refWhen.value.reset():this._refWhen.value?.value!==B.Custom&&(this._refWhenFrom.value?.reset(),this._refWhenTo.value?.reset()),await e()};if(!this.cameraManager||!this.viewManagerEpoch)return;const r=this._mediaFilterController.getControlsToShow(this.cameraManager),o=this._mediaFilterController.getDefaults(),n=this._mediaFilterController.getWhatOptions(),a=this._mediaFilterController.getTagsOptions(),s=this._mediaFilterController.getWhereOptions();return $` e()} - > - -
- t("selected")} - > - - t("custom")} - > - - t("custom")} - > - -
- e()} - > - - ${r.events&&n.length?$` e()} - > - `:""} - ${r.events&&a.length?$` e()} - > - `:""} - ${r.events&&s.length?$` e()} - > - `:""} - ${r.favorites?$` - e()} - > - - `:""}`}static get styles(){return k(":host {\n display: flex;\n flex-direction: column;\n overflow: auto;\n scrollbar-width: none;\n -ms-overflow-style: none;\n height: 100%;\n width: 300px;\n margin: 5px;\n}\n\n/* Hide scrollbar for Chrome, Safari and Opera */\n:host::-webkit-scrollbar {\n display: none;\n}\n\nfrigate-card-select {\n padding: 5px;\n}\n\ndiv.when {\n display: inline-flex;\n align-items: flex-end;\n}\n\ndiv.when frigate-card-select {\n flex: 1;\n}\n\ndiv.when frigate-card-date-picker {\n padding-bottom: 5px;\n transition: width 0.5s ease-in-out;\n}\n\ndiv.when frigate-card-date-picker {\n color: var(--secondary-color);\n}\n\ndiv.when frigate-card-date-picker.selected {\n color: var(--primary-color);\n}\n\ndiv.when frigate-card-date-picker.hidden {\n width: 0px;\n}")}};di.elementDefinitions={"frigate-card-select":ci,"frigate-card-date-picker":R},f([v({attribute:!1})],di.prototype,"hass",void 0),f([v({attribute:!1})],di.prototype,"cameraManager",void 0),f([v({attribute:!1})],di.prototype,"viewManagerEpoch",void 0),f([v({attribute:!1})],di.prototype,"cardWideConfig",void 0),di=f([C("frigate-card-media-filter")],di);const hi={closed:"mdi:filter-cog-outline",open:"mdi:filter-cog"};let gi=class extends _{render(){const e=this.viewManagerEpoch?.manager.getView();if(this.hass&&e?.isGalleryView()&&this.cameraManager&&this.cardWideConfig)return $` - - ${this.galleryConfig&&"none"!==this.galleryConfig.controls.filter.mode?$` - `:""} - - - - `}static get styles(){return k(":host {\n width: 100%;\n height: 100%;\n display: block;\n}\n\nfrigate-card-surround-basic {\n max-height: 110dvh;\n}")}};f([v({attribute:!1})],gi.prototype,"hass",void 0),f([v({attribute:!1})],gi.prototype,"viewManagerEpoch",void 0),f([v({attribute:!1})],gi.prototype,"galleryConfig",void 0),f([v({attribute:!1})],gi.prototype,"cameraManager",void 0),f([v({attribute:!1})],gi.prototype,"cardWideConfig",void 0),gi=f([C("frigate-card-gallery")],gi);let ui=class extends _{constructor(){super(),this._refLoaderBottom=y(),this._refSelected=y(),this._showLoaderBottom=!0,this._showLoaderTop=!1,this._boundWheelHandler=this._wheelHandler.bind(this),this._boundTouchStartHandler=this._touchStartHandler.bind(this),this._boundTouchEndHandler=this._touchEndHandler.bind(this),this._throttleExtendGalleryLater=O(this._extendGallery.bind(this),500,{leading:!0,trailing:!1}),this._touchScrollYPosition=null,this._resizeObserver=new ResizeObserver(this._resizeHandler.bind(this)),this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this))}_touchStartHandler(e){1===e.touches.length?this._touchScrollYPosition=e.touches[0].screenY:this._touchScrollYPosition=null}async _touchEndHandler(e){!this.scrollTop&&1===e.changedTouches.length&&this._touchScrollYPosition&&e.changedTouches[0].screenY>this._touchScrollYPosition&&await this._extendLater(),this._touchScrollYPosition=null}async _wheelHandler(e){!this.scrollTop&&e.deltaY<0&&await this._extendLater()}async _extendLater(){const e=new Date;this._showLoaderTop=!0,await this._throttleExtendGalleryLater("later",!1);const t=(new Date).getTime()-e.getTime();t<500&&await S(.5-t/1e3),this._showLoaderTop=!1}connectedCallback(){super.connectedCallback(),this._resizeObserver.observe(this),this.addEventListener("wheel",this._boundWheelHandler,{passive:!0}),this.addEventListener("touchstart",this._boundTouchStartHandler,{passive:!0}),this.addEventListener("touchend",this._boundTouchEndHandler),this.requestUpdate()}disconnectedCallback(){this.removeEventListener("wheel",this._boundWheelHandler),this.removeEventListener("touchstart",this._boundTouchStartHandler),this.removeEventListener("touchend",this._boundTouchEndHandler),this._resizeObserver.disconnect(),this._intersectionObserver.disconnect(),super.disconnectedCallback()}_setColumnCount(){const e=this.galleryConfig?.controls.thumbnails.size??M.media_gallery.controls.thumbnails.size,t=this.galleryConfig?.controls.thumbnails.show_details?Math.max(1,Math.floor(this.clientWidth/z)):Math.max(1,Math.ceil(this.clientWidth/e));this.style.setProperty("--frigate-card-gallery-columns",String(t))}_resizeHandler(){this._setColumnCount()}async _intersectionHandler(e){e.every((e=>!e.isIntersecting))||(this._showLoaderBottom=!1,await this._extendGallery("earlier"))}async _extendGallery(e,t=!0){const r=this.viewManagerEpoch?.manager.getView();if(!this.cameraManager||!this.hass||!r)return;const i=r.query,n=i?.getQueries()??null,s=r.queryResults?.getResults();if(!i||!n||!s)return;let l;try{l=await this.cameraManager.extendMediaQueries(n,s,e,{useCache:t})}catch(e){return void d(e)}if(l){const e=c.areEventQueries(i)?new o(l.queries):c.areRecordingQueries(i)?new a(l.queries):null;e&&this.viewManagerEpoch?.manager.setViewByParameters({baseView:r,params:{query:e,queryResults:new L({results:l.results}).selectResultIfFound((e=>e===r.queryResults?.getSelectedResult()))}})}}willUpdate(e){if(e.has("galleryConfig")&&(this.galleryConfig?.controls.thumbnails.show_details?this.setAttribute("details",""):this.removeAttribute("details"),this._setColumnCount(),this.galleryConfig?.controls.thumbnails.size&&this.style.setProperty("--frigate-card-thumbnail-size",`${this.galleryConfig.controls.thumbnails.size}px`)),e.has("viewManagerEpoch")){this._showLoaderBottom=!0;const e=this.viewManagerEpoch?.manager.getView(),t=this.viewManagerEpoch?.oldView;this._media&&t?.queryResults?.getResults()===e?.queryResults?.getResults()||(this._media=[...e?.queryResults?.getResults()??[]].reverse())}}render(){if(!this._media||!this.hass)return $``;const e=this.viewManagerEpoch?.manager.getView();if(!e?.queryResults||0===e.queryResults.getResultsCount()){const t=!!e?.context?.loading?.query;return D({type:"info",message:i(t?"error.awaiting_media":"common.no_media"),icon:"mdi:multimedia",dotdotdot:t})}const t=e.queryResults.getSelectedResult();return $`
- ${this._showLoaderTop?$`${A({cardWideConfig:this.cardWideConfig,classes:{top:!0},size:"small"})}`:""} - ${this._media.map(((r,i)=>$`{this._media&&this.viewManagerEpoch?.manager.setViewByParameters({params:{view:"media",queryResults:e.queryResults?.clone().selectIndex(this._media.length-i-1)}}),F(t)}} - > - `))} - ${this._showLoaderBottom?$`${A({cardWideConfig:this.cardWideConfig,componentRef:this._refLoaderBottom})}`:""} -
`}updated(e){this._refLoaderBottom.value&&(this._intersectionObserver.disconnect(),this._intersectionObserver.observe(this._refLoaderBottom.value)),this.updateComplete.then((()=>{e.has("viewManagerEpoch")&&!e.get("viewManagerEpoch")&&this._refSelected.value&&this._refSelected.value.scrollIntoView({block:"center"})}))}static get styles(){return k(":host {\n width: 100%;\n height: 100%;\n display: block;\n overflow: auto;\n -ms-overflow-style: none;\n scrollbar-width: none;\n --frigate-card-gallery-gap: 3px;\n --frigate-card-gallery-columns: 4;\n}\n\n.grid {\n display: grid;\n grid-template-columns: repeat(var(--frigate-card-gallery-columns), minmax(0, 1fr));\n grid-auto-rows: min-content;\n gap: var(--frigate-card-gallery-gap);\n}\n\n:host::-webkit-scrollbar {\n display: none;\n}\n\nfrigate-card-thumbnail {\n height: 100%;\n max-height: var(--frigate-card-thumbnail-size);\n}\n\nfrigate-card-thumbnail:not([details]) {\n width: 100%;\n}\n\nfrigate-card-thumbnail.selected {\n border: 4px solid var(--accent-color);\n border-radius: calc(var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px)) + 4px);\n}\n\nfrigate-card-progress-indicator.top {\n grid-column: 1/-1;\n}")}};f([v({attribute:!1})],ui.prototype,"hass",void 0),f([v({attribute:!1})],ui.prototype,"viewManagerEpoch",void 0),f([v({attribute:!1})],ui.prototype,"galleryConfig",void 0),f([v({attribute:!1})],ui.prototype,"cameraManager",void 0),f([v({attribute:!1})],ui.prototype,"cardWideConfig",void 0),f([E()],ui.prototype,"_showLoaderBottom",void 0),f([E()],ui.prototype,"_showLoaderTop",void 0),ui=f([C("frigate-card-gallery-core")],ui);export{gi as FrigateCardGallery,ui as FrigateCardGalleryCore}; diff --git a/config/www/community/frigate-hass-card/gallery-1de615c4.js.gz b/config/www/community/frigate-hass-card/gallery-1de615c4.js.gz deleted file mode 100644 index 599edb92acd31c18bf8927ecb84f2bde0db201ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30833 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.registry.define(e,r))));const n=this.renderOptions.creationScope=this.attachShadow({...o,customElements:t.registry});return e(n,this.constructor.elementStyles),n}}}const P=!0,V=!0,K=!0,U=!1,Y=!1;let G,Q,X,Z=!1,J=!1,ee=!1,te=!1,re=null,ie=!1;const oe="http://www.w3.org/1999/xlink",ne={},ae=e=>"object"===(e=typeof e)||"function"===e;const se=(e,t,...r)=>{let i=null,o=null,n=null,a=!1,s=!1;const l=[],c=t=>{for(let r=0;re[t])).join(" "))}}if("function"==typeof e)return e(null===t?{}:t,l,de);const d=le(e,null);return d.$attrs$=t,l.length>0&&(d.$children$=l),d.$key$=o,d.$name$=n,d},le=(e,t)=>{const r={$flags$:0,$tag$:e,$text$:t,$elm$:null,$children$:null,$attrs$:null,$key$:null,$name$:null};return r},ce={},de={forEach:(e,t)=>e.map(he).forEach(t),map:(e,t)=>e.map(he).map(t).map(ge)},he=e=>({vattrs:e.$attrs$,vchildren:e.$children$,vkey:e.$key$,vname:e.$name$,vtag:e.$tag$,vtext:e.$text$}),ge=e=>{if("function"==typeof e.vtag){const t=Object.assign({},e.vattrs);return e.vkey&&(t.key=e.vkey),e.vname&&(t.name=e.vname),se(e.vtag,t,...e.vchildren||[])}const t=le(e.vtag,e.vtext);return t.$attrs$=e.vattrs,t.$children$=e.vchildren,t.$key$=e.vkey,t.$name$=e.vname,t},ue=(e,t,r)=>{const i=e;return{emit:e=>me(i,t,{bubbles:!!(4&r),composed:!!(2&r),cancelable:!!(1&r),detail:e})}},me=(e,t,r)=>{const i=lt.ce(t,r);return e.dispatchEvent(i),i},pe=new WeakMap,fe=e=>{const t=e.$cmpMeta$,r=e.$hostElement$,i=t.$flags$,o=(t.$tagName$,()=>{}),n=((e,t,r,i)=>{var o;let n=ve(t,r);const a=it.get(n);if(e=11===e.nodeType?e:at,a)if("string"==typeof a){e=e.head||e;let t,r=pe.get(e);if(r||pe.set(e,r=new Set),!r.has(n)){{t=at.createElement("style"),t.innerHTML=a;const r=null!==(o=lt.$nonce$)&&void 0!==o?o:function(e){var t,r,i;return null!==(i=null===(r=null===(t=e.head)||void 0===t?void 0:t.querySelector('meta[name="csp-nonce"]'))||void 0===r?void 0:r.getAttribute("content"))&&void 0!==i?i:void 0}(at);null!=r&&t.setAttribute("nonce",r),e.insertBefore(t,e.querySelector("link"))}r&&r.add(n)}}else e.adoptedStyleSheets.includes(a)||(e.adoptedStyleSheets=[...e.adoptedStyleSheets,a]);return n})(r.shadowRoot?r.shadowRoot:r.getRootNode(),t,e.$modeName$);10&i&&(r["s-sc"]=n,r.classList.add(n+"-h"),2&i&&r.classList.add(n+"-s")),o()},ve=(e,t)=>"sc-"+(t&&32&e.$flags$?e.$tagName$+"-"+t:e.$tagName$),be=(e,t,r,i,o,n)=>{if(r!==i){let a=tt(e,t),s=t.toLowerCase();if("class"===t){const t=e.classList,o=we(r),n=we(i);t.remove(...o.filter((e=>e&&!n.includes(e)))),t.add(...n.filter((e=>e&&!o.includes(e))))}else if("style"===t){for(const t in r)i&&null!=i[t]||(t.includes("-")?e.style.removeProperty(t):e.style[t]="");for(const t in i)r&&i[t]===r[t]||(t.includes("-")?e.style.setProperty(t,i[t]):e.style[t]=i[t])}else if("key"===t);else if("ref"===t)i&&i(e);else if(e.__lookupSetter__(t)||"o"!==t[0]||"n"!==t[1]){const l=ae(i);if((a||l&&null!==i)&&!o)try{if(e.tagName.includes("-"))e[t]=i;else{const o=null==i?"":i;"list"===t?a=!1:null!=r&&e[t]==o||(e[t]=o)}}catch(e){}let c=!1;s!==(s=s.replace(/^xlink\:?/,""))&&(t=s,c=!0),null==i||!1===i?!1===i&&""!==e.getAttribute(t)||(c?e.removeAttributeNS(oe,t):e.removeAttribute(t)):(!a||4&n||o)&&!l&&(i=!0===i?"":i,c?e.setAttributeNS(oe,t,i):e.setAttribute(t,i))}else t="-"===t[2]?t.slice(3):tt(nt,s)?s.slice(2):s[2]+t.slice(3),r&<.rel(e,t,r,!1),i&<.ael(e,t,i,!1)}},ye=/\s/,we=e=>e?e.split(ye):[],$e=(e,t,r,i)=>{const o=11===t.$elm$.nodeType&&t.$elm$.host?t.$elm$.host:t.$elm$,n=e&&e.$attrs$||ne,a=t.$attrs$||ne;for(i in n)i in a||be(o,i,n[i],void 0,r,t.$flags$);for(i in a)be(o,i,n[i],a[i],r,t.$flags$)},xe=(e,t,r,i)=>{const o=t.$children$[r];let n,a,s,l=0;if(Z||(ee=!0,"slot"===o.$tag$&&(G&&i.classList.add(G+"-s"),o.$flags$|=o.$children$?2:1)),null!==o.$text$)n=o.$elm$=at.createTextNode(o.$text$);else if(1&o.$flags$)n=o.$elm$=at.createTextNode("");else{if(te||(te="svg"===o.$tag$),n=o.$elm$=at.createElementNS(te?"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",2&o.$flags$?"slot-fb":o.$tag$),te&&"foreignObject"===o.$tag$&&(te=!1),$e(null,o,te),null!=G&&n["s-si"]!==G&&n.classList.add(n["s-si"]=G),o.$children$)for(l=0;l{lt.$flags$|=1;const r=e.childNodes;for(let e=r.length-1;e>=0;e--){const i=r[e];i["s-hn"]!==X&&i["s-ol"]&&(Ee(i).insertBefore(i,Se(i)),i["s-ol"].remove(),i["s-ol"]=void 0,ee=!0),t&&ke(i,t)}lt.$flags$&=-2},Ce=(e,t,r,i,o,n)=>{let a,s=e["s-cr"]&&e["s-cr"].parentNode||e;for(s.shadowRoot&&s.tagName===X&&(s=s.shadowRoot);o<=n;++o)i[o]&&(a=xe(null,r,o,e),a&&(i[o].$elm$=a,s.insertBefore(a,Se(t))))},_e=(e,t,r,i,o)=>{for(;t<=r;++t)(i=e[t])&&(o=i.$elm$,Ae(i),J=!0,o["s-ol"]?o["s-ol"].remove():ke(o,!0),o.remove())},Te=(e,t)=>e.$tag$===t.$tag$&&("slot"===e.$tag$?e.$name$===t.$name$:e.$key$===t.$key$),Se=e=>e&&e["s-ol"]||e,Ee=e=>(e["s-ol"]?e["s-ol"]:e).parentNode,Oe=(e,t)=>{const r=t.$elm$=e.$elm$,i=e.$children$,o=t.$children$,n=t.$tag$,a=t.$text$;let s;null===a?(te="svg"===n||"foreignObject"!==n&&te,"slot"===n||$e(e,t,te),null!==i&&null!==o?((e,t,r,i)=>{let o,n,a=0,s=0,l=0,c=0,d=t.length-1,h=t[0],g=t[d],u=i.length-1,m=i[0],p=i[u];for(;a<=d&&s<=u;)if(null==h)h=t[++a];else if(null==g)g=t[--d];else if(null==m)m=i[++s];else if(null==p)p=i[--u];else if(Te(h,m))Oe(h,m),h=t[++a],m=i[++s];else if(Te(g,p))Oe(g,p),g=t[--d],p=i[--u];else if(Te(h,p))"slot"!==h.$tag$&&"slot"!==p.$tag$||ke(h.$elm$.parentNode,!1),Oe(h,p),e.insertBefore(h.$elm$,g.$elm$.nextSibling),h=t[++a],p=i[--u];else if(Te(g,m))"slot"!==h.$tag$&&"slot"!==p.$tag$||ke(g.$elm$.parentNode,!1),Oe(g,m),e.insertBefore(g.$elm$,h.$elm$),g=t[--d],m=i[++s];else{for(l=-1,c=a;c<=d;++c)if(t[c]&&null!==t[c].$key$&&t[c].$key$===m.$key$){l=c;break}l>=0?(n=t[l],n.$tag$!==m.$tag$?o=xe(t&&t[s],r,l,e):(Oe(n,m),t[l]=void 0,o=n.$elm$),m=i[++s]):(o=xe(t&&t[s],r,s,e),m=i[++s]),o&&Ee(h.$elm$).insertBefore(o,Se(h.$elm$))}a>d?Ce(e,null==i[u+1]?null:i[u+1].$elm$,r,i,s,u):s>u&&_e(t,a,d)})(r,i,t,o):null!==o?(null!==e.$text$&&(r.textContent=""),Ce(r,null,t,o,0,o.length-1)):null!==i&&_e(i,0,i.length-1),te&&"svg"===n&&(te=!1)):(s=r["s-cr"])?s.parentNode.textContent=a:e.$text$!==a&&(r.data=a)},ze=e=>{const t=e.childNodes;let r,i,o,n,a,s;for(i=0,o=t.length;i{let t,r,i,o,n,a,s=0;const l=e.childNodes,c=l.length;for(;s=0;a--)r=i[a],r["s-cn"]||r["s-nr"]||r["s-hn"]===t["s-hn"]||(De(r,o)?(n=Me.find((e=>e.$nodeToRelocate$===r)),J=!0,r["s-sn"]=r["s-sn"]||o,n?n.$slotRefNode$=t:Me.push({$slotRefNode$:t,$nodeToRelocate$:r}),r["s-sr"]&&Me.map((e=>{De(e.$nodeToRelocate$,r["s-sn"])&&(n=Me.find((e=>e.$nodeToRelocate$===r)),n&&!e.$slotRefNode$&&(e.$slotRefNode$=n.$slotRefNode$))}))):Me.some((e=>e.$nodeToRelocate$===r))||Me.push({$nodeToRelocate$:r}));1===t.nodeType&&Le(t)}},De=(e,t)=>1===e.nodeType?null===e.getAttribute("slot")&&""===t||e.getAttribute("slot")===t:e["s-sn"]===t||""===t,Ae=e=>{e.$attrs$&&e.$attrs$.ref&&e.$attrs$.ref(null),e.$children$&&e.$children$.map(Ae)},Ie=(e,t)=>{const r=e.$hostElement$,i=e.$cmpMeta$,o=e.$vnode$||le(null,null),n=(a=t)&&a.$tag$===ce?t:se(null,null,t);var a;if(X=r.tagName,i.$attrsToReflect$&&(n.$attrs$=n.$attrs$||{},i.$attrsToReflect$.map((([e,t])=>n.$attrs$[t]=r[e]))),n.$tag$=null,n.$flags$|=4,e.$vnode$=n,n.$elm$=o.$elm$=r.shadowRoot||r,G=r["s-sc"],Q=r["s-cr"],Z=0!=(1&i.$flags$),J=!1,Oe(o,n),lt.$flags$|=1,ee){let e,t,r,i,o,a;Le(n.$elm$);let s=0;for(;s{e.$flags$|=16,e.$ancestorComponent$;return vt((()=>Fe(e,t)))},Fe=(e,t)=>{const r=e.$hostElement$,i=(e.$cmpMeta$.$tagName$,()=>{}),o=r;let n;return n=We(o,t?"componentWillLoad":"componentWillUpdate"),n=Be(n,(()=>We(o,"componentWillRender"))),i(),Be(n,(()=>He(e,o,t)))},He=async(e,t,r)=>{const i=e.$hostElement$,o=(e.$cmpMeta$.$tagName$,()=>{});i["s-rc"],r&&fe(e);const n=(e.$cmpMeta$.$tagName$,()=>{});Ne(e,t,i),n(),o(),je(e)},Ne=(e,t,r)=>{try{re=t,t=t.render&&t.render(),e.$flags$&=-17,e.$flags$|=2,(P||V)&&(K||V)&&(U||Ie(e,t))}catch(t){rt(t,e.$hostElement$)}return re=null,null},je=e=>{e.$cmpMeta$.$tagName$;const t=()=>{},r=e.$hostElement$;e.$ancestorComponent$,We(r,"componentDidRender"),64&e.$flags$?(We(r,"componentDidUpdate"),t()):(e.$flags$|=64,We(r,"componentDidLoad"),t())},We=(e,t,r)=>{if(e&&e[t])try{return e[t](r)}catch(e){rt(e)}},Be=(e,t)=>e&&e.then?e.then(t):t(),qe=(e,t,r,i)=>{const o=Je(e),n=e,a=o.$instanceValues$.get(t),s=o.$flags$,l=n;var c,d;c=r,d=i.$members$[t][0],r=null==c||ae(c)?c:4&d?"false"!==c&&(""===c||!!c):2&d?parseFloat(c):1&d?String(c):c;const h=Number.isNaN(a)&&Number.isNaN(r);if(r!==a&&!h){if(o.$instanceValues$.set(t,r),i.$watchers$&&128&s){const e=i.$watchers$[t];e&&e.map((e=>{try{l[e](r,a,t)}catch(e){rt(e,n)}}))}if(2==(18&s)){if(l.componentShouldUpdate&&!1===l.componentShouldUpdate(r,a,t))return;Re(o,!1)}}},Pe=(e,t,r)=>{if(t.$members$){e.watchers&&(t.$watchers$=e.watchers);const r=Object.entries(t.$members$),i=e.prototype;r.map((([e,[r]])=>{(31&r||32&r)&&Object.defineProperty(i,e,{get(){return t=e,Je(this).$instanceValues$.get(t);var t},set(r){qe(this,e,r,t)},configurable:!0,enumerable:!0})}));{const o=new Map;i.attributeChangedCallback=function(e,t,r){lt.jmp((()=>{const t=o.get(e);if(this.hasOwnProperty(t))r=this[t],delete this[t];else if(i.hasOwnProperty(t)&&"number"==typeof this[t]&&this[t]==r)return;this[t]=(null!==r||"boolean"!=typeof this[t])&&r}))},e.observedAttributes=r.filter((([e,t])=>15&t[0])).map((([e,r])=>{const i=r[1]||e;return o.set(i,e),512&r[0]&&t.$attrsToReflect$.push([e,i]),i}))}}return e},Ve=async(e,t,r,i,o)=>{if(0==(32&t.$flags$)&&(o=e.constructor,t.$flags$|=32,customElements.whenDefined(r.$tagName$).then((()=>t.$flags$|=128)),o.style)){let i=o.style;"string"!=typeof i&&(i=i[t.$modeName$=(e=>ot.map((t=>t(e))).find((e=>!!e)))(e)]);const n=ve(r,t.$modeName$);if(!it.has(n)){const e=(r.$tagName$,()=>{});((e,t,r)=>{let i=it.get(e);dt&&r?(i=i||new CSSStyleSheet,"string"==typeof i?i=t:i.replaceSync(t)):i=t,it.set(e,i)})(n,i,!!(1&r.$flags$)),e()}}t.$ancestorComponent$;Re(t,!0)},Ke=e=>{const t=e["s-cr"]=at.createComment("");t["s-cn"]=!0,e.insertBefore(t,e.firstChild)},Ue=(e,t)=>{const r={$flags$:t[0],$tagName$:t[1]};r.$members$=t[2],r.$listeners$=t[3],r.$watchers$=e.$watchers$,r.$attrsToReflect$=[];const i=e.prototype.connectedCallback,o=e.prototype.disconnectedCallback;return Object.assign(e.prototype,{__registerHost(){et(this,r)},connectedCallback(){(e=>{if(0==(1<.$flags$)){const t=Je(e),r=t.$cmpMeta$,i=(r.$tagName$,()=>{});1&t.$flags$?(Ye(e,t,r.$listeners$),t.$lazyInstance$):(t.$flags$|=1,12&r.$flags$&&Ke(e),r.$members$&&Object.entries(r.$members$).map((([t,[r]])=>{if(31&r&&e.hasOwnProperty(t)){const r=e[t];delete e[t],e[t]=r}})),Ve(e,t,r)),i()}})(this),i&&i.call(this)},disconnectedCallback(){(e=>{if(0==(1<.$flags$)){const t=Je(e);t.$rmListeners$&&(t.$rmListeners$.map((e=>e())),t.$rmListeners$=void 0)}})(this),o&&o.call(this)},__attachShadow(){this.attachShadow({mode:"open",delegatesFocus:!!(16&r.$flags$)})}}),e.is=r.$tagName$,Pe(e,r)},Ye=(e,t,r,i)=>{r&&r.map((([r,i,o])=>{const n=Qe(e,r),a=Ge(t,o),s=Xe(r);lt.ael(n,i,a,s),(t.$rmListeners$=t.$rmListeners$||[]).push((()=>lt.rel(n,i,a,s)))}))},Ge=(e,t)=>r=>{try{Y||e.$hostElement$[t](r)}catch(e){rt(e)}},Qe=(e,t)=>4&t?at:8&t?nt:16&t?at.body:e,Xe=e=>ct?{passive:0!=(1&e),capture:0!=(2&e)}:0!=(2&e),Ze=new WeakMap,Je=e=>Ze.get(e),et=(e,t)=>{const r={$flags$:0,$hostElement$:e,$cmpMeta$:t,$instanceValues$:new Map};return Ye(e,r,t.$listeners$),Ze.set(e,r)},tt=(e,t)=>t in e,rt=(e,t)=>(0,console.error)(e,t),it=new Map,ot=[],nt="undefined"!=typeof window?window:{},at=nt.document||{head:{}},st=nt.HTMLElement||class{},lt={$flags$:0,$resourcesUrl$:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,r,i)=>e.addEventListener(t,r,i),rel:(e,t,r,i)=>e.removeEventListener(t,r,i),ce:(e,t)=>new CustomEvent(e,t)},ct=(()=>{let e=!1;try{at.addEventListener("e",null,Object.defineProperty({},"passive",{get(){e=!0}}))}catch(e){}return e})(),dt=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(e){}return!1})(),ht=[],gt=[],ut=(e,t)=>r=>{e.push(r),ie||(ie=!0,t&&4<.$flags$?ft(pt):lt.raf(pt))},mt=e=>{for(let t=0;t{mt(ht),mt(gt),(ie=ht.length>0)&<.raf(pt)},ft=e=>{return Promise.resolve(t).then(e);var t},vt=ut(gt,!0),bt=(e,t)=>{const r=!!e.label||e.hasLabelSlot,i=!!e.helpText||e.hasHelpTextSlot,o=!!e.invalidText||e.hasInvalidTextSlot,n=!e.invalid,a=!!e.invalid;return se("div",{class:{"form-control":!0,[`form-control-${e.size}`]:!0,"form-control-has-label":r,"form-control-has-help-text":i,"form-control-has-invalid-text":o}},se("label",{id:e.labelId,class:"form-control-label",htmlFor:e.inputId,"aria-hidden":r?"false":"true",onClick:e.onLabelClick},se("slot",{name:"label"},e.label),e.requiredIndicator&&se("div",{class:"asterisk"},se("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 1200 1200"},se("path",{fill:"currentColor",d:"M489.838 29.354v443.603L68.032 335.894 0 545.285l421.829 137.086-260.743 358.876 178.219 129.398L600.048 811.84l260.673 358.806 178.146-129.398-260.766-358.783L1200 545.379l-68.032-209.403-421.899 137.07V29.443H489.84l-.002-.089z"})))),se("div",{class:"form-control-input"},t),n&&se("div",{id:e.helpTextId,class:"form-control-help-text","aria-hidden":i?"false":"true"},se("slot",{name:"help-text"},e.helpText)),a&&se("div",{id:e.invalidTextId,class:"form-control-invalid-text","aria-hidden":o?"false":"true"},se("div",{class:"icon"},se("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},se("title",null,"Alert Circle"),se("path",{d:"M256,48C141.31,48,48,141.31,48,256s93.31,208,208,208,208-93.31,208-208S370.69,48,256,48Zm0,319.91a20,20,0,1,1,20-20A20,20,0,0,1,256,367.91Zm21.72-201.15-5.74,122a16,16,0,0,1-32,0l-5.74-121.94v-.05a21.74,21.74,0,1,1,43.44,0Z",fill:"currentColor"}))),se("div",{class:"text"},se("slot",{name:"invalid-text"},e.invalidText))))}; -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -function yt(e){const t=e?e.assignedNodes({flatten:!0}):[];let r="";return[...t].map((e=>{e.nodeType===Node.TEXT_NODE&&(r+=e.textContent)})),r}function wt(e,t){return t?null!==e.querySelector(`[slot="${t}"]`):[...e.childNodes].some((e=>{if(e.nodeType===e.TEXT_NODE&&""!==e.textContent.trim())return!0;if(e.nodeType===e.ELEMENT_NODE){if(!e.hasAttribute("slot"))return!0}return!1}))} -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */const $t=(e,t=[])=>{const r={};return t.forEach((t=>{if(e.hasAttribute(t)){null!==e.getAttribute(t)&&(r[t]=e.getAttribute(t)),e.removeAttribute(t)}})),r},xt=Ue(class extends st{constructor(){super(),this.__registerHost(),this.__attachShadow()}render(){return se("span",{class:"spinner","aria-busy":"true","aria-live":"polite"})}static get style(){return":host{--track-color:var(--gr-color-light-shade);--indicator-color:var(--gr-color-primary);--stroke-width:2px;display:inline-flex;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}.spinner{display:inline-block;width:1em;height:1em;border-radius:50%;border:solid var(--stroke-width) var(--track-color);border-top-color:var(--indicator-color);border-right-color:var(--indicator-color);animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}"}},[1,"gr-spinner"]);function kt(){if("undefined"==typeof customElements)return;["gr-spinner"].forEach((e=>{if("gr-spinner"===e)customElements.get(e)||customElements.define(e,xt)}))}kt(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const Ct=Ue(class extends st{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grFocus=ue(this,"gr-focus",7),this.grBlur=ue(this,"gr-blur",7),this.inheritedAttributes={},this.handleClick=e=>{if("button"!==this.type){const t=this.el.closest("form");if(t){e.preventDefault();const r=document.createElement("button");r.type=this.type,r.style.display="none",t.appendChild(r),r.click(),r.remove()}}},this.onFocus=()=>{this.grFocus.emit()},this.onBlur=()=>{this.grBlur.emit()},this.variant="default",this.disabled=!1,this.loading=!1,this.size="medium",this.caret=!1,this.pill=!1,this.expand=void 0,this.circle=!1,this.href=void 0,this.target=void 0,this.rel=void 0,this.type="button"}componentWillLoad(){this.inheritedAttributes=$t(this.el,["aria-label","tabindex","title"])}async setFocus(e){this.button.focus(e)}async removeFocus(){this.button.blur()}render(){const{rel:e,target:t,href:r,variant:i,size:o,expand:n,type:a,inheritedAttributes:s,disabled:l}=this,c=void 0===r?"button":"a",d="button"===c?{type:a}:{href:r,rel:e,target:t};return se(ce,{onClick:this.handleClick,"aria-disabled":l?"true":null,class:{[`button-${i}`]:!0,[`button-${o}`]:!0,[`button-${n}`]:void 0!==n,"button-caret":this.caret,"button-circle":this.circle,"button-pill":this.pill,"button-disabled":l,"button-loading":this.loading}},se(c,Object.assign({ref:e=>this.button=e},d,{class:"button-native",disabled:l,onFocus:this.onFocus,onBlur:this.onBlur},s),se("span",{class:"button-inner"},se("slot",{name:"icon-only"}),se("slot",{name:"start"}),se("slot",null),se("slot",{name:"end"}),this.caret&&se("span",{class:"caret"},se("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},se("title",null,"Chevron Down"),se("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"48",d:"M112 184l144 144 144-144"})))),this.loading&&se("gr-spinner",null)))}get el(){return this}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{display:inline-block;width:auto;font-family:var(--gr-font-family);font-weight:var(--gr-font-weight-medium);font-size:var(--gr-form-element-font-size-medium);font-kerning:none;user-select:none;vertical-align:top;vertical-align:-webkit-baseline-middle;pointer-events:auto;--height:var(--gr-form-element-height-medium);--border-radius:var(--gr-form-element-border-radius-medium);--border-width:1px;--border-style:solid;--background:transparent;--background-hover:transparent;--background-focus:transparent;--color:var(--gr-color-dark-tint);--color-hover:var(--gr-color-dark-tint);--color-focus:var(--gr-color-dark-tint);--border-color:var(--gr-color-light-shade);--border-color-hover:var(--gr-color-medium);--border-color-focus:var(--gr-color-primary);--padding-top:0;--padding-start:var(--gr-spacing-medium);--padding-end:var(--gr-spacing-medium);--padding-bottom:0;--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33);--shadow:none;--transition:background-color 150ms linear, opacity 150ms linear, border 150ms linear, color 150ms linear}:host(.button-disabled){pointer-events:none;opacity:0.5}:host(.button-primary){--border-color:var(--gr-color-primary);--background:var(--gr-color-primary);--color:var(--gr-color-primary-contrast);--border-color-hover:var(--gr-color-primary-shade);--background-hover:var(--gr-color-primary-shade);--color-hover:var(--gr-color-primary-contrast);--border-color-focus:var(--gr-color-primary);--background-focus:var(--gr-color-primary-shade);--color-focus:var(--gr-color-primary-contrast);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33)}:host(.button-secondary){--border-color:var(--gr-color-light-shade);--background:transparent;--color:var(--gr-color-primary);--border-color-hover:var(--gr-color-primary);--background-hover:transparent;--color-hover:var(--gr-color-primary);--border-color-focus:var(--gr-color-primary);--background-focus:transparent;--color-focus:var(--gr-color-primary);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33)}:host(.button-danger){--border-color:var(--gr-color-danger);--background:transparent;--color:var(--gr-color-danger);--border-color-hover:var(--gr-color-danger);--background-hover:var(--gr-color-danger);--color-hover:var(--gr-color-danger-contrast);--border-color-focus:var(--gr-color-danger);--background-focus:var(--gr-color-danger);--color-focus:var(--gr-color-danger-contrast);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-danger-rgb), 0.33)}:host(.button-plain){--border-color:transparent;--background:transparent;--color:var(--gr-color-primary);--border-color-hover:transparent;--background-hover:transparent;--color-hover:var(--gr-color-primary-shade);--border-color-focus:transparent;--background-focus:transparent;--color-focus:var(--gr-color-primary-shade);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33)}:host(.button-small){--padding-start:var(--gr-spacing-small);--padding-end:var(--gr-spacing-small);--border-radius:var(--gr-form-element-border-radius-small);--height:var(--gr-form-element-height-small);font-size:var(--gr-form-element-font-size-small)}:host(.button-large){--padding-start:var(--gr-spacing-large);--padding-end:var(--gr-spacing-large);--border-radius:var(--gr-form-element-border-radius-large);--height:var(--gr-form-element-height-large);font-size:var(--gr-form-element-font-size-large)}:host(.button-block){display:block}:host(.button-block) .button-native{margin-left:0;margin-right:0;display:block;width:100%;clear:both;contain:content}:host(.button-block) .button-native::after{clear:both}:host(.button-full){display:block}:host(.button-full) .button-native{margin-left:0;margin-right:0;display:block;width:100%;contain:content;border-radius:0;border-right-width:0;border-left-width:0}.button-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;position:relative;padding-top:var(--padding-top);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-bottom:var(--padding-bottom);width:100%;height:var(--height);transition:var(--transition);border-radius:var(--border-radius);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);color:var(--color);box-shadow:var(--shadow);line-height:1;cursor:pointer;z-index:0;text-decoration:none;box-sizing:border-box}.button-native::-moz-focus-inner{border:0}.button-native:focus{outline:none;box-shadow:var(--focus-ring);border-color:var(--border-color-focus);background-color:var(--background-focus);color:var(--color-focus)}.button-native *,.button-native *:before,.button-native *:after{box-sizing:inherit}.button-inner{display:flex;position:relative;flex-flow:row nowrap;flex-shrink:0;align-items:center;justify-content:center;width:100%;height:100%;z-index:1}:host(.button-circle) .button-native{padding-top:0;padding-bottom:0;padding-left:0;padding-right:0;border-radius:50%;width:var(--height)}@media (any-hover: hover){.button-native:hover{color:var(--color-hover);background:var(--background-hover);border-color:var(--border-color-hover)}}:host(.button-caret) .caret{display:flex;align-items:center;margin-left:0.3em}:host(.button-caret) .caret svg{width:1em;height:1em}:host(.button-pill) .button-native{border-radius:var(--height)}::slotted(*){pointer-events:none}::slotted([slot=start]){margin-top:0;margin-left:-0.3em;margin-right:0.3em;margin-bottom:0}::slotted([slot=end]){margin-top:0;margin-left:0.3em;margin-right:-0.2em;margin-bottom:0}::slotted([slot=icon-only]){font-size:1.4em;pointer-events:none}:host(.button-loading){position:relative;pointer-events:none}:host(.button-loading) .caret{visibility:hidden}:host(.button-loading) slot[name=start],:host(.button-loading) slot[name=end],:host(.button-loading) slot[name=icon-only],:host(.button-loading) slot:not([name]){visibility:hidden}:host(.button-loading) gr-spinner{--indicator-color:currentColor;position:absolute;height:1em;width:1em;top:calc(50% - 0.5em);left:calc(50% - 0.5em)}@media not all and (min-resolution: 0.001dpcm){@supports (-webkit-appearance: none) and (stroke-color: transparent){:host([type=button]),:host([type=reset]),:host([type=submit]){-webkit-appearance:none !important}}}"}},[1,"gr-button",{variant:[513],disabled:[516],loading:[516],size:[513],caret:[4],pill:[516],expand:[513],circle:[516],href:[1],target:[1],rel:[1],type:[1],setFocus:[64],removeFocus:[64]}]);function _t(){if("undefined"==typeof customElements)return;["gr-button","gr-spinner"].forEach((e=>{switch(e){case"gr-button":customElements.get(e)||customElements.define(e,Ct);break;case"gr-spinner":customElements.get(e)||kt()}}))}function Tt(e,t,r="vertical",i="smooth"){const o= -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -function(e,t){return{top:Math.round(e.getBoundingClientRect().top-t.getBoundingClientRect().top),left:Math.round(e.getBoundingClientRect().left-t.getBoundingClientRect().left)}}(e,t),n=o.top+t.scrollTop,a=o.left+t.scrollLeft,s=t.scrollLeft,l=t.scrollLeft+t.offsetWidth,c=t.scrollTop,d=t.scrollTop+t.offsetHeight;"horizontal"!==r&&"both"!==r||(al&&t.scrollTo({left:a-t.offsetWidth+e.clientWidth,behavior:i})),"vertical"!==r&&"both"!==r||(nd&&t.scrollTo({top:n-t.offsetHeight+e.clientHeight,behavior:i}))} -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */function St(e){return e.tabIndex>-1}function Et(e){if(St(e))return e;if(e.shadowRoot){const t=[...e.shadowRoot.children].find(St);if(t)return t}return e.children?[...e.children].map(Et)[0]:null}_t();var Ot="top",zt="bottom",Mt="right",Lt="left",Dt="auto",At=[Ot,zt,Mt,Lt],It="start",Rt="end",Ft="clippingParents",Ht="viewport",Nt="popper",jt="reference",Wt=At.reduce((function(e,t){return e.concat([t+"-"+It,t+"-"+Rt])}),[]),Bt=[].concat(At,[Dt]).reduce((function(e,t){return e.concat([t,t+"-"+It,t+"-"+Rt])}),[]),qt=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Pt(e){return e?(e.nodeName||"").toLowerCase():null}function Vt(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Kt(e){return e instanceof Vt(e).Element||e instanceof Element}function Ut(e){return e instanceof Vt(e).HTMLElement||e instanceof HTMLElement}function Yt(e){return"undefined"!=typeof ShadowRoot&&(e instanceof Vt(e).ShadowRoot||e instanceof ShadowRoot)}const Gt={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var r=t.styles[e]||{},i=t.attributes[e]||{},o=t.elements[e];Ut(o)&&Pt(o)&&(Object.assign(o.style,r),Object.keys(i).forEach((function(e){var t=i[e];!1===t?o.removeAttribute(e):o.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,r={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,r.popper),t.styles=r,t.elements.arrow&&Object.assign(t.elements.arrow.style,r.arrow),function(){Object.keys(t.elements).forEach((function(e){var i=t.elements[e],o=t.attributes[e]||{},n=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:r[e]).reduce((function(e,t){return e[t]="",e}),{});Ut(i)&&Pt(i)&&(Object.assign(i.style,n),Object.keys(o).forEach((function(e){i.removeAttribute(e)})))}))}},requires:["computeStyles"]};function Qt(e){return e.split("-")[0]}var Xt=Math.max,Zt=Math.min,Jt=Math.round;function er(e,t){void 0===t&&(t=!1);var r=e.getBoundingClientRect(),i=1,o=1;if(Ut(e)&&t){var n=e.offsetHeight,a=e.offsetWidth;a>0&&(i=Jt(r.width)/a||1),n>0&&(o=Jt(r.height)/n||1)}return{width:r.width/i,height:r.height/o,top:r.top/o,right:r.right/i,bottom:r.bottom/o,left:r.left/i,x:r.left/i,y:r.top/o}}function tr(e){var t=er(e),r=e.offsetWidth,i=e.offsetHeight;return Math.abs(t.width-r)<=1&&(r=t.width),Math.abs(t.height-i)<=1&&(i=t.height),{x:e.offsetLeft,y:e.offsetTop,width:r,height:i}}function rr(e,t){var r=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(r&&Yt(r)){var i=t;do{if(i&&e.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function ir(e){return Vt(e).getComputedStyle(e)}function or(e){return["table","td","th"].indexOf(Pt(e))>=0}function nr(e){return((Kt(e)?e.ownerDocument:e.document)||window.document).documentElement}function ar(e){return"html"===Pt(e)?e:e.assignedSlot||e.parentNode||(Yt(e)?e.host:null)||nr(e)}function sr(e){return Ut(e)&&"fixed"!==ir(e).position?e.offsetParent:null}function lr(e){for(var t=Vt(e),r=sr(e);r&&or(r)&&"static"===ir(r).position;)r=sr(r);return r&&("html"===Pt(r)||"body"===Pt(r)&&"static"===ir(r).position)?t:r||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&Ut(e)&&"fixed"===ir(e).position)return null;var r=ar(e);for(Yt(r)&&(r=r.host);Ut(r)&&["html","body"].indexOf(Pt(r))<0;){var i=ir(r);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||t&&"filter"===i.willChange||t&&i.filter&&"none"!==i.filter)return r;r=r.parentNode}return null}(e)||t}function cr(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function dr(e,t,r){return Xt(e,Zt(t,r))}function hr(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function gr(e,t){return t.reduce((function(t,r){return t[r]=e,t}),{})}var ur=function(e,t){return hr("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:gr(e,At))};const mr={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,r=e.state,i=e.name,o=e.options,n=r.elements.arrow,a=r.modifiersData.popperOffsets,s=Qt(r.placement),l=cr(s),c=[Lt,Mt].indexOf(s)>=0?"height":"width";if(n&&a){var d=ur(o.padding,r),h=tr(n),g="y"===l?Ot:Lt,u="y"===l?zt:Mt,m=r.rects.reference[c]+r.rects.reference[l]-a[l]-r.rects.popper[c],p=a[l]-r.rects.reference[l],f=lr(n),v=f?"y"===l?f.clientHeight||0:f.clientWidth||0:0,b=m/2-p/2,y=d[g],w=v-h[c]-d[u],$=v/2-h[c]/2+b,x=dr(y,$,w),k=l;r.modifiersData[i]=((t={})[k]=x,t.centerOffset=x-$,t)}},effect:function(e){var t=e.state,r=e.options.element,i=void 0===r?"[data-popper-arrow]":r;null!=i&&("string"!=typeof i||(i=t.elements.popper.querySelector(i)))&&rr(t.elements.popper,i)&&(t.elements.arrow=i)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function pr(e){return e.split("-")[1]}var fr={top:"auto",right:"auto",bottom:"auto",left:"auto"};function vr(e){var t,r=e.popper,i=e.popperRect,o=e.placement,n=e.variation,a=e.offsets,s=e.position,l=e.gpuAcceleration,c=e.adaptive,d=e.roundOffsets,h=e.isFixed,g=a.x,u=void 0===g?0:g,m=a.y,p=void 0===m?0:m,f="function"==typeof d?d({x:u,y:p}):{x:u,y:p};u=f.x,p=f.y;var v=a.hasOwnProperty("x"),b=a.hasOwnProperty("y"),y=Lt,w=Ot,$=window;if(c){var x=lr(r),k="clientHeight",C="clientWidth";if(x===Vt(r)&&"static"!==ir(x=nr(r)).position&&"absolute"===s&&(k="scrollHeight",C="scrollWidth"),o===Ot||(o===Lt||o===Mt)&&n===Rt)w=zt,p-=(h&&x===$&&$.visualViewport?$.visualViewport.height:x[k])-i.height,p*=l?1:-1;if(o===Lt||(o===Ot||o===zt)&&n===Rt)y=Mt,u-=(h&&x===$&&$.visualViewport?$.visualViewport.width:x[C])-i.width,u*=l?1:-1}var _,T=Object.assign({position:s},c&&fr),S=!0===d?function(e){var t=e.x,r=e.y,i=window.devicePixelRatio||1;return{x:Jt(t*i)/i||0,y:Jt(r*i)/i||0}}({x:u,y:p}):{x:u,y:p};return u=S.x,p=S.y,l?Object.assign({},T,((_={})[w]=b?"0":"",_[y]=v?"0":"",_.transform=($.devicePixelRatio||1)<=1?"translate("+u+"px, "+p+"px)":"translate3d("+u+"px, "+p+"px, 0)",_)):Object.assign({},T,((t={})[w]=b?p+"px":"",t[y]=v?u+"px":"",t.transform="",t))}var br={passive:!0};var yr={left:"right",right:"left",bottom:"top",top:"bottom"};function wr(e){return e.replace(/left|right|bottom|top/g,(function(e){return yr[e]}))}var $r={start:"end",end:"start"};function xr(e){return e.replace(/start|end/g,(function(e){return $r[e]}))}function kr(e){var t=Vt(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Cr(e){return er(nr(e)).left+kr(e).scrollLeft}function _r(e){var t=ir(e),r=t.overflow,i=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(r+o+i)}function Tr(e){return["html","body","#document"].indexOf(Pt(e))>=0?e.ownerDocument.body:Ut(e)&&_r(e)?e:Tr(ar(e))}function Sr(e,t){var r;void 0===t&&(t=[]);var i=Tr(e),o=i===(null==(r=e.ownerDocument)?void 0:r.body),n=Vt(i),a=o?[n].concat(n.visualViewport||[],_r(i)?i:[]):i,s=t.concat(a);return o?s:s.concat(Sr(ar(a)))}function Er(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Or(e,t){return t===Ht?Er(function(e){var t=Vt(e),r=nr(e),i=t.visualViewport,o=r.clientWidth,n=r.clientHeight,a=0,s=0;return i&&(o=i.width,n=i.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(a=i.offsetLeft,s=i.offsetTop)),{width:o,height:n,x:a+Cr(e),y:s}}(e)):Kt(t)?function(e){var t=er(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(t):Er(function(e){var t,r=nr(e),i=kr(e),o=null==(t=e.ownerDocument)?void 0:t.body,n=Xt(r.scrollWidth,r.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=Xt(r.scrollHeight,r.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),s=-i.scrollLeft+Cr(e),l=-i.scrollTop;return"rtl"===ir(o||r).direction&&(s+=Xt(r.clientWidth,o?o.clientWidth:0)-n),{width:n,height:a,x:s,y:l}}(nr(e)))}function zr(e,t,r){var i="clippingParents"===t?function(e){var t=Sr(ar(e)),r=["absolute","fixed"].indexOf(ir(e).position)>=0&&Ut(e)?lr(e):e;return Kt(r)?t.filter((function(e){return Kt(e)&&rr(e,r)&&"body"!==Pt(e)})):[]}(e):[].concat(t),o=[].concat(i,[r]),n=o[0],a=o.reduce((function(t,r){var i=Or(e,r);return t.top=Xt(i.top,t.top),t.right=Zt(i.right,t.right),t.bottom=Zt(i.bottom,t.bottom),t.left=Xt(i.left,t.left),t}),Or(e,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function Mr(e){var t,r=e.reference,i=e.element,o=e.placement,n=o?Qt(o):null,a=o?pr(o):null,s=r.x+r.width/2-i.width/2,l=r.y+r.height/2-i.height/2;switch(n){case Ot:t={x:s,y:r.y-i.height};break;case zt:t={x:s,y:r.y+r.height};break;case Mt:t={x:r.x+r.width,y:l};break;case Lt:t={x:r.x-i.width,y:l};break;default:t={x:r.x,y:r.y}}var c=n?cr(n):null;if(null!=c){var d="y"===c?"height":"width";switch(a){case It:t[c]=t[c]-(r[d]/2-i[d]/2);break;case Rt:t[c]=t[c]+(r[d]/2-i[d]/2)}}return t}function Lr(e,t){void 0===t&&(t={});var r=t,i=r.placement,o=void 0===i?e.placement:i,n=r.boundary,a=void 0===n?Ft:n,s=r.rootBoundary,l=void 0===s?Ht:s,c=r.elementContext,d=void 0===c?Nt:c,h=r.altBoundary,g=void 0!==h&&h,u=r.padding,m=void 0===u?0:u,p=hr("number"!=typeof m?m:gr(m,At)),f=d===Nt?jt:Nt,v=e.rects.popper,b=e.elements[g?f:d],y=zr(Kt(b)?b:b.contextElement||nr(e.elements.popper),a,l),w=er(e.elements.reference),$=Mr({reference:w,element:v,strategy:"absolute",placement:o}),x=Er(Object.assign({},v,$)),k=d===Nt?x:w,C={top:y.top-k.top+p.top,bottom:k.bottom-y.bottom+p.bottom,left:y.left-k.left+p.left,right:k.right-y.right+p.right},_=e.modifiersData.offset;if(d===Nt&&_){var T=_[o];Object.keys(C).forEach((function(e){var t=[Mt,zt].indexOf(e)>=0?1:-1,r=[Ot,zt].indexOf(e)>=0?"y":"x";C[e]+=T[r]*t}))}return C}function Dr(e,t){void 0===t&&(t={});var r=t,i=r.placement,o=r.boundary,n=r.rootBoundary,a=r.padding,s=r.flipVariations,l=r.allowedAutoPlacements,c=void 0===l?Bt:l,d=pr(i),h=d?s?Wt:Wt.filter((function(e){return pr(e)===d})):At,g=h.filter((function(e){return c.indexOf(e)>=0}));0===g.length&&(g=h);var u=g.reduce((function(t,r){return t[r]=Lr(e,{placement:r,boundary:o,rootBoundary:n,padding:a})[Qt(r)],t}),{});return Object.keys(u).sort((function(e,t){return u[e]-u[t]}))}const Ar={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,r=e.options,i=e.name;if(!t.modifiersData[i]._skip){for(var o=r.mainAxis,n=void 0===o||o,a=r.altAxis,s=void 0===a||a,l=r.fallbackPlacements,c=r.padding,d=r.boundary,h=r.rootBoundary,g=r.altBoundary,u=r.flipVariations,m=void 0===u||u,p=r.allowedAutoPlacements,f=t.options.placement,v=Qt(f),b=l||(v===f||!m?[wr(f)]:function(e){if(Qt(e)===Dt)return[];var t=wr(e);return[xr(e),t,xr(t)]}(f)),y=[f].concat(b).reduce((function(e,r){return e.concat(Qt(r)===Dt?Dr(t,{placement:r,boundary:d,rootBoundary:h,padding:c,flipVariations:m,allowedAutoPlacements:p}):r)}),[]),w=t.rects.reference,$=t.rects.popper,x=new Map,k=!0,C=y[0],_=0;_=0,z=O?"width":"height",M=Lr(t,{placement:T,boundary:d,rootBoundary:h,altBoundary:g,padding:c}),L=O?E?Mt:Lt:E?zt:Ot;w[z]>$[z]&&(L=wr(L));var D=wr(L),A=[];if(n&&A.push(M[S]<=0),s&&A.push(M[L]<=0,M[D]<=0),A.every((function(e){return e}))){C=T,k=!1;break}x.set(T,A)}if(k)for(var I=function(e){var t=y.find((function(t){var r=x.get(t);if(r)return r.slice(0,e).every((function(e){return e}))}));if(t)return C=t,"break"},R=m?3:1;R>0;R--){if("break"===I(R))break}t.placement!==C&&(t.modifiersData[i]._skip=!0,t.placement=C,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Ir(e,t,r){return void 0===r&&(r={x:0,y:0}),{top:e.top-t.height-r.y,right:e.right-t.width+r.x,bottom:e.bottom-t.height+r.y,left:e.left-t.width-r.x}}function Rr(e){return[Ot,Mt,zt,Lt].some((function(t){return e[t]>=0}))}const Fr={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,r=e.options,i=e.name,o=r.offset,n=void 0===o?[0,0]:o,a=Bt.reduce((function(e,r){return e[r]=function(e,t,r){var i=Qt(e),o=[Lt,Ot].indexOf(i)>=0?-1:1,n="function"==typeof r?r(Object.assign({},t,{placement:e})):r,a=n[0],s=n[1];return a=a||0,s=(s||0)*o,[Lt,Mt].indexOf(i)>=0?{x:s,y:a}:{x:a,y:s}}(r,t.rects,n),e}),{}),s=a[t.placement],l=s.x,c=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[i]=a}};const Hr={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,r=e.options,i=e.name,o=r.mainAxis,n=void 0===o||o,a=r.altAxis,s=void 0!==a&&a,l=r.boundary,c=r.rootBoundary,d=r.altBoundary,h=r.padding,g=r.tether,u=void 0===g||g,m=r.tetherOffset,p=void 0===m?0:m,f=Lr(t,{boundary:l,rootBoundary:c,padding:h,altBoundary:d}),v=Qt(t.placement),b=pr(t.placement),y=!b,w=cr(v),$="x"===w?"y":"x",x=t.modifiersData.popperOffsets,k=t.rects.reference,C=t.rects.popper,_="function"==typeof p?p(Object.assign({},t.rects,{placement:t.placement})):p,T="number"==typeof _?{mainAxis:_,altAxis:_}:Object.assign({mainAxis:0,altAxis:0},_),S=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,E={x:0,y:0};if(x){if(n){var O,z="y"===w?Ot:Lt,M="y"===w?zt:Mt,L="y"===w?"height":"width",D=x[w],A=D+f[z],I=D-f[M],R=u?-C[L]/2:0,F=b===It?k[L]:C[L],H=b===It?-C[L]:-k[L],N=t.elements.arrow,j=u&&N?tr(N):{width:0,height:0},W=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},B=W[z],q=W[M],P=dr(0,k[L],j[L]),V=y?k[L]/2-R-P-B-T.mainAxis:F-P-B-T.mainAxis,K=y?-k[L]/2+R+P+q+T.mainAxis:H+P+q+T.mainAxis,U=t.elements.arrow&&lr(t.elements.arrow),Y=U?"y"===w?U.clientTop||0:U.clientLeft||0:0,G=null!=(O=null==S?void 0:S[w])?O:0,Q=D+K-G,X=dr(u?Zt(A,D+V-G-Y):A,D,u?Xt(I,Q):I);x[w]=X,E[w]=X-D}if(s){var Z,J="x"===w?Ot:Lt,ee="x"===w?zt:Mt,te=x[$],re="y"===$?"height":"width",ie=te+f[J],oe=te-f[ee],ne=-1!==[Ot,Lt].indexOf(v),ae=null!=(Z=null==S?void 0:S[$])?Z:0,se=ne?ie:te-k[re]-C[re]-ae+T.altAxis,le=ne?te+k[re]+C[re]-ae-T.altAxis:oe,ce=u&&ne?function(e,t,r){var i=dr(e,t,r);return i>r?r:i}(se,te,le):dr(u?se:ie,te,u?le:oe);x[$]=ce,E[$]=ce-te}t.modifiersData[i]=E}},requiresIfExists:["offset"]};function Nr(e,t,r){void 0===r&&(r=!1);var i,o,n=Ut(t),a=Ut(t)&&function(e){var t=e.getBoundingClientRect(),r=Jt(t.width)/e.offsetWidth||1,i=Jt(t.height)/e.offsetHeight||1;return 1!==r||1!==i}(t),s=nr(t),l=er(e,a),c={scrollLeft:0,scrollTop:0},d={x:0,y:0};return(n||!n&&!r)&&(("body"!==Pt(t)||_r(s))&&(c=(i=t)!==Vt(i)&&Ut(i)?{scrollLeft:(o=i).scrollLeft,scrollTop:o.scrollTop}:kr(i)),Ut(t)?((d=er(t,!0)).x+=t.clientLeft,d.y+=t.clientTop):s&&(d.x=Cr(s))),{x:l.left+c.scrollLeft-d.x,y:l.top+c.scrollTop-d.y,width:l.width,height:l.height}}function jr(e){var t=new Map,r=new Set,i=[];function o(e){r.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!r.has(e)){var i=t.get(e);i&&o(i)}})),i.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){r.has(e.name)||o(e)})),i}var Wr={placement:"bottom",modifiers:[],strategy:"absolute"};function Br(){for(var e=arguments.length,t=new Array(e),r=0;r{},onAfterHide:()=>{},onTransitionEnd:()=>{}},r),this.isVisible=!1,this.popover.hidden=!0,this.popover.classList.remove(this.options.visibleClass),this.popover.addEventListener("transitionend",this.handleTransitionEnd)}handleTransitionEnd(e){e.target===this.options.transitionElement&&(this.options.onTransitionEnd.call(this,e),this.isVisible||this.popover.hidden||(this.popover.hidden=!0,this.popover.classList.remove(this.options.visibleClass),this.options.onAfterHide.call(this)))}destroy(){this.popover.removeEventListener("transitionend",this.handleTransitionEnd),this.popper&&(this.popper.destroy(),this.popper=null)}show(){this.isVisible=!0,this.popover.hidden=!1,requestAnimationFrame((()=>this.popover.classList.add(this.options.visibleClass))),this.popper&&this.popper.destroy(),this.popper=Pr(this.anchor,this.popover,{placement:this.options.placement,strategy:this.options.strategy,modifiers:[{name:"flip",options:{boundary:"viewport"}},{name:"offset",options:{offset:[this.options.skidding,this.options.distance]}}]}),this.popover.addEventListener("transitionend",(()=>this.options.onAfterShow.call(this)),{once:!0}),requestAnimationFrame((()=>this.popper.update()))}hide(){this.isVisible=!1,this.popover.classList.remove(this.options.visibleClass)}setOptions(e){this.options=Object.assign(this.options,e),this.isVisible?this.popover.classList.add(this.options.visibleClass):this.popover.classList.remove(this.options.visibleClass),this.popper&&(this.popper.setOptions({placement:this.options.placement,strategy:this.options.strategy}),requestAnimationFrame((()=>this.popper.update())))}}let Kr=0;const Ur=Ue(class extends st{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grShow=ue(this,"gr-show",7),this.grAfterShow=ue(this,"gr-after-show",7),this.grHide=ue(this,"gr-hide",7),this.grAfterHide=ue(this,"gr-after-hide",7),this.componentId="dropdown-"+ ++Kr,this.isVisible=!1,this.open=!1,this.placement="bottom-start",this.closeOnSelect=!0,this.containingElement=void 0,this.distance=2,this.skidding=0,this.hoist=!1}handleOpenChange(){this.open?this.show():this.hide(),this.updateAccessibleTrigger()}handlePopoverOptionsChange(){this.popoverElement.setOptions({strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding})}connectedCallback(){this.containingElement||(this.containingElement=this.el),this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this),this.handleMenuItemActivate=this.handleMenuItemActivate.bind(this),this.handlePanelSelect=this.handlePanelSelect.bind(this),this.handleTriggerClick=this.handleTriggerClick.bind(this),this.handleTriggerKeyDown=this.handleTriggerKeyDown.bind(this),this.handleTriggerKeyUp=this.handleTriggerKeyUp.bind(this),this.handleTriggerSlotChange=this.handleTriggerSlotChange.bind(this)}componentDidLoad(){this.popoverElement=new Vr(this.trigger,this.positioner,{strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding,transitionElement:this.panel,onAfterHide:()=>this.grAfterHide.emit(),onAfterShow:()=>this.grAfterShow.emit(),onTransitionEnd:()=>{this.open||(this.panel.scrollTop=0)}}),this.open&&this.show()}disconnectedCallback(){this.hide(),this.popoverElement.destroy()}async show(){if(this.isVisible)return;this.grShow.emit().defaultPrevented?this.open=!1:(this.panel.addEventListener("gr-activate",this.handleMenuItemActivate),this.panel.addEventListener("gr-select",this.handlePanelSelect),document.addEventListener("keydown",this.handleDocumentKeyDown),document.addEventListener("mousedown",this.handleDocumentMouseDown),this.isVisible=!0,this.open=!0,this.popoverElement.show())}async hide(){if(!this.isVisible)return;this.grHide.emit().defaultPrevented?this.open=!0:(this.panel.removeEventListener("gr-activate",this.handleMenuItemActivate),this.panel.removeEventListener("gr-select",this.handlePanelSelect),document.addEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("mousedown",this.handleDocumentMouseDown),this.isVisible=!1,this.open=!1,this.popoverElement.hide())}async focusOnTrigger(){const e=this.trigger.querySelector("slot").assignedElements({flatten:!0})[0];e&&("function"==typeof e.setFocus?e.setFocus():"function"==typeof e.focus&&e.focus())}getMenu(){return this.panel.querySelector("slot").assignedElements({flatten:!0}).filter((e=>"gr-menu"===e.tagName.toLowerCase()))[0]}handleDocumentKeyDown(e){var t;if("Escape"===e.key)return this.hide(),void this.focusOnTrigger();if("Tab"===e.key){if(this.open&&"gr-menu-item"===(null===(t=document.activeElement)||void 0===t?void 0:t.tagName.toLowerCase()))return e.preventDefault(),this.hide(),void this.focusOnTrigger();setTimeout((()=>{var e;const t=this.containingElement.getRootNode()instanceof ShadowRoot?null===(e=document.activeElement.shadowRoot)||void 0===e?void 0:e.activeElement:document.activeElement;(null==t?void 0:t.closest(this.containingElement.tagName.toLowerCase()))===this.containingElement||this.hide()}))}}handleDocumentMouseDown(e){e.composedPath().includes(this.containingElement)||this.hide()}handleMenuItemActivate(e){Tt(e.target,this.panel)}handlePanelSelect(e){const t=e.target;this.closeOnSelect&&"gr-menu"===t.tagName.toLowerCase()&&(this.hide(),this.focusOnTrigger())}handleTriggerClick(){this.open?this.hide():this.show()}handleTriggerKeyDown(e){const t=this.getMenu(),r=t?[...t.querySelectorAll("gr-menu-item")]:null,i=r[0],o=r[r.length-1];if("Escape"===e.key)return this.focusOnTrigger(),void this.hide();if([" ","Enter"].includes(e.key))return e.preventDefault(),void(this.open?this.hide():this.show());if(["ArrowDown","ArrowUp"].includes(e.key)){if(e.preventDefault(),this.open||this.show(),"ArrowDown"===e.key&&i)return void i.setFocus();if("ArrowUp"===e.key&&o)return void o.setFocus()}this.open&&t&&!["Tab","Shift","Meta","Ctrl","Alt"].includes(e.key)&&t.typeToSelect(e.key)}handleTriggerKeyUp(e){" "===e.key&&e.preventDefault()}handleTriggerSlotChange(){this.updateAccessibleTrigger()}updateAccessibleTrigger(){const e=this.trigger.querySelector("slot").assignedElements({flatten:!0}).map(Et)[0];e&&(e.setAttribute("aria-haspopup","true"),e.setAttribute("aria-expanded",this.open?"true":"false"))}render(){return se(ce,{id:this.componentId,class:{"dropdown-open":this.open}},se("span",{class:"dropdown-trigger",ref:e=>this.trigger=e,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown,onKeyUp:this.handleTriggerKeyUp},se("slot",{name:"trigger",onSlotchange:this.handleTriggerSlotChange})),se("div",{ref:e=>this.positioner=e,class:"dropdown-positioner"},se("div",{ref:e=>this.panel=e,class:"dropdown-panel",role:"menu","aria-hidden":this.open?"false":"true","aria-labelledby":this.componentId},se("slot",null))))}get el(){return this}static get watchers(){return{open:["handleOpenChange"],distance:["handlePopoverOptionsChange"],hoist:["handlePopoverOptionsChange"],placement:["handlePopoverOptionsChange"],skidding:["handlePopoverOptionsChange"]}}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{--panel-background-color:var(--gr-color-white);--panel-border-radius:var(--gr-border-radius-medium);--panel-border-color:var(--gr-panel-border-color);--panel-box-shadow:var(--gr-shadow-large);--transition:150ms opacity, 150ms transform;display:inline-block;position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}.dropdown-trigger{display:block}.dropdown-positioner{position:absolute;z-index:var(--gr-z-index-dropdown)}.dropdown-panel{max-height:50vh;font-family:var(--gr-font-family);font-size:var(--gr-font-size-medium);font-weight:var(--gr-font-weight-normal);background-color:var(--panel-background-color);border:solid 1px var(--panel-border-color);border-radius:var(--panel-border-radius);box-shadow:var(--panel-box-shadow);opacity:0;overflow:auto;overscroll-behavior:none;pointer-events:none;transform:scale(0.9);transition:var(--transition)}.dropdown-positioner[data-popper-placement^=top] .dropdown-panel{transform-origin:bottom}.dropdown-positioner[data-popper-placement^=bottom] .dropdown-panel{transform-origin:top}.dropdown-positioner[data-popper-placement^=left] .dropdown-panel{transform-origin:right}.dropdown-positioner[data-popper-placement^=right] .dropdown-panel{transform-origin:left}.dropdown-positioner.popover-visible .dropdown-panel{opacity:1;transform:none;pointer-events:all}"}},[1,"gr-dropdown",{open:[1540],placement:[1],closeOnSelect:[4,"close-on-select"],containingElement:[1040],distance:[2],skidding:[2],hoist:[4],show:[64],hide:[64],focusOnTrigger:[64]}]);function Yr(){if("undefined"==typeof customElements)return;["gr-dropdown"].forEach((e=>{if("gr-dropdown"===e)customElements.get(e)||customElements.define(e,Ur)}))}Yr(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const Gr=Ue(class extends st{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grSelect=ue(this,"gr-select",7),this.typeToSelectString=""}connectedCallback(){this.handleClick=this.handleClick.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this)}async typeToSelect(e){clearTimeout(this.typeToSelectTimeout),this.typeToSelectTimeout=setTimeout((()=>this.typeToSelectString=""),750),this.typeToSelectString+=e.toLowerCase();const t=this.getItems();for(const e of t){if(yt(e.shadowRoot.querySelector("slot:not([name])")).toLowerCase().trim().substring(0,this.typeToSelectString.length)===this.typeToSelectString){e.setFocus();break}}}getItems(){return[...this.menu.querySelector("slot").assignedElements({flatten:!0})].filter((e=>"gr-menu-item"===e.tagName.toLowerCase()&&!e.disabled))}getActiveItem(){return this.getItems().find((e=>e===document.activeElement))}setActiveItem(e){e.setFocus()}handleClick(e){const t=e.target.closest("gr-menu-item");t&&!t.disabled&&this.grSelect.emit({item:t})}handleKeyDown(e){if("Enter"===e.key){const t=this.getActiveItem();e.preventDefault(),t&&this.grSelect.emit({item:t})}if(" "===e.key&&e.preventDefault(),["ArrowDown","ArrowUp","Home","End"].includes(e.key)){const t=this.getItems(),r=this.getActiveItem();let i=t.indexOf(r);if(t.length)return e.preventDefault(),"ArrowDown"===e.key?i++:"ArrowUp"===e.key?i--:"Home"===e.key?i=0:"End"===e.key&&(i=t.length-1),i<0&&(i=0),i>t.length-1&&(i=t.length-1),void this.setActiveItem(t[i])}this.typeToSelect(e.key)}render(){return se("div",{ref:e=>this.menu=e,class:"menu",role:"menu",onClick:this.handleClick,onKeyDown:this.handleKeyDown},se("slot",null))}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{--padding-top:var(--gr-spacing-x-small);--padding-bottom:var(--gr-spacing-x-small);display:block;padding-top:var(--padding-top);padding-left:0;padding-right:0;padding-bottom:var(--padding-bottom);box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host:focus{outline:none}"}},[1,"gr-menu",{typeToSelect:[64]}]);function Qr(){if("undefined"==typeof customElements)return;["gr-menu"].forEach((e=>{if("gr-menu"===e)customElements.get(e)||customElements.define(e,Gr)}))}Qr(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const Xr=Ue(class extends st{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grClear=ue(this,"gr-clear",7),this.type="primary",this.size="medium",this.pill=!1,this.clearable=!1}connectedCallback(){this.handleClearClick=this.handleClearClick.bind(this)}handleClearClick(){this.grClear.emit()}render(){return se(ce,{class:{[`tag-${this.type}`]:!0,[`tag-${this.size}`]:!0,"tag-pill":this.pill,"tag-clearable":this.clearable}},se("span",{class:"tag"},se("slot",null),this.clearable&&se("gr-button",{variant:"plain",size:this.size,class:"tag-clear","aria-label":"clear",onClick:this.handleClearClick},se("svg",{slot:"icon-only",role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},se("title",null,"Close"),se("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 368L144 144M368 144L144 368"})))))}static get style(){return":host{--height:calc(var(--gr-form-element-height-medium) * 0.8);--line-height:calc(var(--gr-form-element-height-medium) - 1px * 2);--border-radius:var(--gr-form-element-border-radius-medium);--border-width:1px;--border-style:solid;--padding-top:0;--padding-start:var(--gr-spacing-small);--padding-end:var(--gr-spacing-small);--padding-bottom:0;--font-size:var(--gr-form-element-font-size-medium);--background-color:rgba(var(--gr-color-primary-rgb), 0.05);--border-color:rgba(var(--gr-color-primary-rgb), 0.2);--color:var(--gr-color-primary-shade);--clear-color:var(--gr-color-primary);--clear-color-hover:var(--gr-color-primary-shade);--clear-margin-left:var(--gr-spacing-xx-small);--clear-margin-right:calc(-1 * var(--gr-spacing-xxx-small));display:inline-block;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host(.tag-success){--background-color:rgba(var(--gr-color-success-rgb), 0.05);--border-color:rgba(var(--gr-color-success-rgb), 0.2);--color:var(--gr-color-success-shade);--clear-color:var(--gr-color-success);--clear-color-hover:var(--gr-color-success-shade)}:host(.tag-info){--background-color:rgba(var(--gr-color-medium-rgb), 0.05);--border-color:rgba(var(--gr-color-medium-rgb), 0.2);--color:var(--gr-color-medium-shade);--clear-color:var(--gr-color-medium);--clear-color-hover:var(--gr-color-medium-shade)}:host(.tag-warning){--background-color:rgba(var(--gr-color-warning-rgb), 0.05);--border-color:rgba(var(--gr-color-warning-rgb), 0.2);--color:var(--gr-color-warning-shade);--clear-color:var(--gr-color-warning);--clear-color-hover:var(--gr-color-warning-shade)}:host(.tag-danger){--background-color:rgba(var(--gr-color-danger-rgb), 0.05);--border-color:rgba(var(--gr-color-danger-rgb), 0.2);--color:var(--gr-color-danger-shade);--clear-color:var(--gr-color-danger);--clear-color-hover:var(--gr-color-danger-shade)}:host(.tag-small){--font-size:var(--gr-form-element-font-size-small);--height:calc(var(--gr-form-element-height-small) * 0.8);--line-height:calc(var(--gr-form-element-height-small) - 1px * 2);--border-radius:var(--gr-form-element-border-radius-small);--padding-start:var(--gr-spacing-x-small);--padding-end:var(--gr-spacing-x-small);--clear-margin-left:var(--gr-spacing-xx-small);--clear-margin-right:calc(-1 * var(--gr-spacing-xxx-small))}:host(.tag-large){--font-size:var(--gr-form-element-font-size-large);--height:calc(var(--gr-form-element-height-large) * 0.8);--line-height:calc(var(--gr-form-element-height-large) - 1px * 2);--border-radius:var(--gr-form-element-border-radius-large);--padding:0 var(--gr-spacing-medium);--clear-margin-left:var(--gr-spacing-xx-small);--clear-margin-right:calc(-1 * var(--gr-spacing-x-small))}.tag{display:flex;align-items:center;border-style:var(--border-style);border-width:var(--border-width);border-radius:var(--border-radius);white-space:nowrap;user-select:none;cursor:default;font-family:var(--gr-font-family);font-size:var(--font-size);font-weight:var(--gr-font-weight-normal);height:var(--height);line-height:var(--line-height);padding-top:var(--padding-top);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-bottom:var(--padding-bottom);background-color:var(--background-color);border-color:var(--border-color);color:var(--color)}.tag-clear{--color:var(--clear-color);--color-hover:var(--clear-color-hover);--padding-start:0;--padding-end:0;margin-left:var(--clear-margin-left);margin-right:var(--clear-margin-right);--height:1em}.tag-clear svg{font-size:0.7em}.tag-clear svg{width:1.1em;height:1.1em}:host(.tag-pill) .tag{border-radius:var(--height)}"}},[1,"gr-tag",{type:[513],size:[513],pill:[516],clearable:[516]}]);function Zr(){if("undefined"==typeof customElements)return;["gr-tag","gr-button","gr-spinner"].forEach((e=>{switch(e){case"gr-tag":customElements.get(e)||customElements.define(e,Xr);break;case"gr-button":customElements.get(e)||_t();break;case"gr-spinner":customElements.get(e)||kt()}}))}Zr(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const Jr="undefined"!=typeof HTMLElement?HTMLElement:class{};let ei=0;const ti=Ue(class extends st{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grChange=ue(this,"gr-change",7),this.grFocus=ue(this,"gr-focus",7),this.grBlur=ue(this,"gr-blur",7),this.inputId="select-"+ ++ei,this.labelId=`select-label-${ei}`,this.helpTextId=`select-help-text-${ei}`,this.invalidTextId=`select-invalid-text-${ei}`,this.inheritedAttributes={},this.handleBlur=()=>{this.isOpen||(this.hasFocus=!1,this.grBlur.emit())},this.handleFocus=()=>{this.hasFocus||(this.hasFocus=!0,this.grFocus.emit())},this.hasFocus=!1,this.hasHelpTextSlot=!1,this.hasInvalidTextSlot=!1,this.hasLabelSlot=!1,this.isOpen=!1,this.items=[],this.displayLabel="",this.displayTags=[],this.multiple=!1,this.maxTagsVisible=3,this.disabled=!1,this.name="",this.placeholder="",this.size="medium",this.hoist=!1,this.value="",this.pill=!1,this.label="",this.requiredIndicator=!1,this.helpText="",this.invalidText="",this.invalid=!1,this.clearable=!1}handleDisabledChange(){this.disabled&&this.isOpen&&this.dropdown.hide()}handleLabelChange(){this.handleSlotChange()}handleMultipleChange(){const e=this.getValueAsArray();this.value=this.multiple?e:e[0]||"",this.syncItemsFromValue()}handleValueChange(){this.syncItemsFromValue(),this.grChange.emit()}connectedCallback(){this.handleClearClick=this.handleClearClick.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleLabelClick=this.handleLabelClick.bind(this),this.handleMenuHide=this.handleMenuHide.bind(this),this.handleMenuShow=this.handleMenuShow.bind(this),this.handleMenuSelect=this.handleMenuSelect.bind(this),this.handleSlotChange=this.handleSlotChange.bind(this),this.handleTagInteraction=this.handleTagInteraction.bind(this),this.el.shadowRoot.addEventListener("slotchange",this.handleSlotChange)}componentWillLoad(){this.handleSlotChange(),this.inheritedAttributes=$t(this.el,["aria-label"])}componentDidLoad(){this.resizeObserver=new ResizeObserver((()=>this.resizeMenu())),this.reportDuplicateItemValues(),requestAnimationFrame((()=>this.syncItemsFromValue()))}disconnectedCallback(){this.el.shadowRoot.removeEventListener("slotchange",this.handleSlotChange)}async setFocus(){this.hasFocus=!0,this.grFocus.emit(),this.dropdown.focusOnTrigger()}getItemLabel(e){return yt(e.shadowRoot.querySelector("slot:not([name])"))}getItems(){return[...this.el.querySelectorAll("gr-menu-item")]}getValueAsArray(){return Array.isArray(this.value)?this.value:[this.value]}handleClearClick(e){e.stopPropagation(),this.value=this.multiple?[]:"",this.syncItemsFromValue()}handleKeyDown(e){const t=e.target,r=this.getItems(),i=r[0],o=r[r.length-1];if("gr-tag"!==t.tagName.toLowerCase())if("Tab"!==e.key){if(["ArrowDown","ArrowUp"].includes(e.key)){if(e.preventDefault(),this.isOpen||this.dropdown.show(),"ArrowDown"===e.key&&i)return void i.setFocus();if("ArrowUp"===e.key&&o)return void o.setFocus()}this.isOpen||1!==e.key.length||(e.stopPropagation(),e.preventDefault(),this.dropdown.show(),this.menu.typeToSelect(e.key))}else this.isOpen&&this.dropdown.hide()}handleLabelClick(){this.box.focus()}handleMenuSelect(e){const t=e.detail.item;this.multiple?this.value=this.value.includes(t.value)?this.value.filter((e=>e!==t.value)):[...this.value,t.value]:this.value=t.value,this.syncItemsFromValue()}handleMenuShow(e){this.disabled?e.preventDefault():(this.resizeMenu(),this.resizeObserver.observe(this.el),this.isOpen=!0)}handleMenuHide(){this.resizeObserver.unobserve(this.el),this.isOpen=!1,this.box.focus()}handleSlotChange(){this.hasHelpTextSlot=wt(this.el,"help-text"),this.hasInvalidTextSlot=wt(this.el,"invalid-text"),this.hasLabelSlot=wt(this.el,"label"),this.syncItemsFromValue(),this.reportDuplicateItemValues()}handleTagInteraction(e){e.composedPath().find((e=>{if(e instanceof Jr)return e.classList.contains("tag-clear")}))&&e.stopPropagation()}reportDuplicateItemValues(){const e=this.getItems().map((e=>e.value)).filter(((e,t,r)=>r.indexOf(e)!==t));if(e.length)throw new Error('Duplicate value found on in : "'+e.join('", "')+'"')}resizeMenu(){this.menu.style.width=`${this.box.clientWidth}px`}syncItemsFromValue(){const e=this.getItems(),t=this.getValueAsArray();if(e.map((e=>e.checked=t.includes(e.value))),this.multiple){const r=[];if(t.map((t=>e.map((e=>e.value===t?r.push(e):null)))),this.displayTags=r.map((e=>se("gr-tag",{type:"info",size:this.size,pill:this.pill,clearable:!0,onClick:this.handleTagInteraction,onKeyDown:this.handleTagInteraction,"onGr-clear":t=>{t.stopPropagation(),this.disabled||(e.checked=!1,this.syncValueFromItems())}},this.getItemLabel(e)))),this.maxTagsVisible>0&&this.displayTags.length>this.maxTagsVisible){const e=this.displayTags.length;this.displayLabel="",this.displayTags=this.displayTags.slice(0,this.maxTagsVisible),this.displayTags.push(se("gr-tag",{type:"info",size:this.size,pill:this.pill},"+",e-this.maxTagsVisible))}}else{const r=e.filter((e=>e.value===t[0]))[0];this.displayLabel=r?this.getItemLabel(r):"",this.displayTags=[]}}syncValueFromItems(){const e=this.getItems().filter((e=>e.checked)).map((e=>e.value));this.multiple?this.value=this.value.filter((t=>e.includes(t))):this.value=e.length>0?e[0]:""}render(){var e;const t=this.multiple?this.value.length>0:""!==this.value,r=this.inheritedAttributes["aria-label"]?{"aria-label":this.inheritedAttributes["aria-label"]}:{"aria-labelledby":this.labelId};return((e,t,r,i)=>{let o=e.querySelector("input.aux-input");o||(o=e.ownerDocument.createElement("input"),o.type="hidden",o.classList.add("aux-input"),e.appendChild(o)),o.disabled=i,o.name=t,o.value=r||""})(this.el,this.name,ri(this.value),this.disabled),se(bt,{inputId:this.inputId,label:this.label,labelId:this.labelId,hasLabelSlot:this.hasLabelSlot,helpTextId:this.helpTextId,helpText:this.helpText,hasHelpTextSlot:this.hasHelpTextSlot,invalidTextId:this.invalidTextId,invalidText:this.invalidText,invalid:this.invalid,hasInvalidTextSlot:this.hasInvalidTextSlot,size:this.size,onLabelClick:this.handleLabelClick,requiredIndicator:this.requiredIndicator},se("gr-dropdown",{ref:e=>this.dropdown=e,hoist:this.hoist,closeOnSelect:!this.multiple,containingElement:this.el,class:{select:!0,"select-open":this.isOpen,"select-empty":0===(null===(e=this.value)||void 0===e?void 0:e.length),"select-focused":this.hasFocus,"select-clearable":this.clearable,"select-disabled":this.disabled,"select-multiple":this.multiple,"select-has-tags":this.multiple&&t,"select-placeholder-visible":""===this.displayLabel,[`select-${this.size}`]:!0,"select-pill":this.pill,"select-invalid":this.invalid},"onGr-show":this.handleMenuShow,"onGr-hide":this.handleMenuHide},se("div",Object.assign({slot:"trigger",ref:e=>this.box=e,id:this.inputId,class:"select-box",role:"combobox"},r,{"aria-describedby":this.invalid?this.invalidTextId:this.helpTextId,"aria-haspopup":"true","aria-expanded":this.isOpen?"true":"false","aria-invalid":this.invalid?"true":"false","aria-required":this.requiredIndicator?"true":"false",tabIndex:this.disabled?-1:0,onBlur:this.handleBlur,onFocus:this.handleFocus,onKeyDown:this.handleKeyDown}),se("div",{class:"select-label"},this.displayTags.length?se("span",{class:"select-tags"},this.displayTags):this.displayLabel||this.placeholder),this.clearable&&t&&se("button",{class:"select-clear",type:"button",onClick:this.handleClearClick,"aria-label":"clear",tabindex:"-1"},se("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},se("title",null,"Close Circle"),se("path",{d:"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"}),se("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M320 320L192 192M192 320l128-128"}))),se("span",{class:"caret"},se("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},se("title",null,"Chevron Down"),se("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"48",d:"M112 184l144 144 144-144"}))),se("input",{class:"select-hidden-select","aria-hidden":"true",value:t?"1":"",tabIndex:-1})),se("gr-menu",{ref:e=>this.menu=e,class:"select-menu","onGr-select":this.handleMenuSelect},se("slot",{onSlotchange:this.handleSlotChange}))))}get el(){return this}static get watchers(){return{disabled:["handleDisabledChange"],helpText:["handleLabelChange"],invalidText:["handleLabelChange"],label:["handleLabelChange"],multiple:["handleMultipleChange"],value:["handleValueChange"]}}static get style(){return".form-control .form-control-label{display:none}.form-control .form-control-help-text{display:none}.form-control .form-control-invalid-text{display:none}.form-control-has-label .form-control-label{display:flex;line-height:var(--gr-line-height-normal);color:var(--gr-form-element-label-color);margin-bottom:var(--gr-spacing-xxx-small)}.form-control-has-label.form-control-small .form-control-label{font-size:var(--gr-form-element-label-font-size-small)}.form-control-has-label.form-control-medium .form-control-label{font-size:var(--gr-form-element-label-font-size-medium)}.form-control-has-label.form-control-large .form-control-label{font-size:var(--gr-form-element-label-font-size-large)}.form-control-has-label .form-control-label .asterisk{margin-left:var(--gr-spacing-x-small);color:var(--gr-color-medium)}.form-control-has-label .form-control-label .asterisk svg{width:0.6em;height:0.6em;margin-bottom:var(--gr-spacing-xxx-small)}.form-control-has-help-text .form-control-help-text{display:block;line-height:var(--gr-line-height-normal);color:var(--gr-form-element-help-text-color);margin-top:var(--gr-spacing-xxx-small)}.form-control-has-help-text.form-control-small .form-control-help-text{font-size:var(--gr-form-element-help-text-font-size-small);min-height:1.625rem}.form-control-has-help-text.form-control-medium .form-control-help-text{font-size:var(--gr-form-element-help-text-font-size-medium);min-height:1.875rem}.form-control-has-help-text.form-control-large .form-control-help-text{font-size:var(--gr-form-element-help-text-font-size-large);min-height:2.125rem}.form-control-has-invalid-text .form-control-invalid-text{display:flex;margin-left:-2px;line-height:var(--gr-line-height-normal);color:var(--gr-form-element-invalid-text-color);margin-top:var(--gr-spacing-xxx-small)}.form-control-has-invalid-text .form-control-invalid-text .icon{margin-top:var(--gr-spacing-xxx-small);margin-right:var(--gr-spacing-xx-small)}.form-control-has-invalid-text .form-control-invalid-text .icon svg{width:1.4em;height:1.4em}.form-control-has-invalid-text.form-control-small .form-control-invalid-text{font-size:var(--gr-form-element-invalid-text-font-size-small);min-height:1.625rem}.form-control-has-invalid-text.form-control-medium .form-control-invalid-text{font-size:var(--gr-form-element-invalid-text-font-size-medium);min-height:1.875rem}.form-control-has-invalid-text.form-control-large .form-control-invalid-text{font-size:var(--gr-form-element-invalid-text-font-size-large);min-height:2.125rem}.gr-scroll-lock{overflow:hidden !important}:host{--font-size:var(--gr-form-element-font-size-medium);--font-weight:var(--gr-font-weight-normal);--background-color:var(--gr-color-white);--background-color-hover:var(--gr-color-white);--background-color-focus:var(--gr-color-white);--background-color-invalid:var(--gr-color-white);--background-color-invalid-hover:var(--gr-color-white);--border-radius:var(--gr-form-element-border-radius-small);--border-color:var(--gr-color-light-shade);--border-color-hover:var(--gr-color-medium);--border-color-focus:var(--gr-color-primary);--border-color-invalid:var(--gr-color-danger);--border-color-invalid-hover:var(--gr-color-danger-shade);--color:var(--gr-color-dark-tint);--placeholder-color:var(--gr-color-medium-tint);--min-height:var(--gr-form-element-height-medium);--label-margin-start:var(--gr-spacing-medium);--label-margin-end:var(--gr-spacing-medium);--clear-icon-margin-end:var(--gr-spacing-medium);--caret-margin-end:var(--gr-spacing-medium);--tags-padding-top:3px;--tags-padding-bottom:3px;--tags-margin-end:var(--gr-spacing-xx-small);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33);display:block;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}.select-small{--font-size:var(--gr-form-element-font-size-small);--min-height:var(--gr-form-element-height-small);--label-margin-start:var(--gr-spacing-small);--label-margin-end:var(--gr-spacing-small);--clear-icon-margin-end:var(--gr-spacing-small);--caret-margin-end:var(--gr-spacing-small);--tags-padding-top:2px;--tags-padding-bottom:2px}.select-large{--font-size:var(--gr-form-element-font-size-large);--min-height:var(--gr-form-element-height-large);--label-margin-start:var(--gr-spacing-large);--label-margin-end:var(--gr-spacing-large);--clear-icon-margin-end:var(--gr-spacing-large);--caret-margin-end:var(--gr-spacing-large);--tags-padding-top:4px;--tags-padding-bottom:4px}.select{display:block}.select-box{display:inline-flex;align-items:center;justify-content:start;position:relative;width:100%;font-family:var(--gr-font-family);font-size:var(--font-size);font-weight:var(--font-weight);letter-spacing:normal;background-color:var(--background-color);border:solid 1px var(--border-color);border-radius:var(--border-radius);min-height:var(--min-height);color:var(--color);vertical-align:middle;overflow:hidden;transition:150ms color, 150ms border, 150ms box-shadow;cursor:pointer}.select.select-invalid:not(.select-disabled) .select-box{background-color:var(--background-color-invalid);border-color:var(--border-color-invalid)}.select.select-invalid:not(.select-disabled):not(.select-focused) .select-box:hover{background-color:var(--background-color-invalid-hover);border-color:var(--border-color-invalid-hover)}.select.select-invalid:not(.select-disabled) .select-box{background-color:var(--background-color-invalid);border-color:var(--border-color-invalid)}.select:not(.select-disabled) .select-box:hover{background-color:var(--background-color-hover);border-color:var(--border-color-hover)}.select.select-focused:not(.select-disabled) .select-box{outline:none;box-shadow:var(--focus-ring);border-color:var(--border-color-focus);background-color:var(--background-color-focus)}.select-disabled .select-box{opacity:0.5;cursor:not-allowed;outline:none}.select-disabled .select-tags,.select-disabled .select-clear{pointer-events:none}.select-label{flex:1 1 auto;display:flex;align-items:center;user-select:none;margin-top:0;margin-left:var(--label-margin-start);margin-right:var(--label-margin-end);margin-bottom:0;scrollbar-width:none;-ms-overflow-style:none;overflow-x:auto;overflow-y:hidden;white-space:nowrap}.select-label::-webkit-scrollbar{width:0;height:0}.select-has-tags .select-label{margin-left:0}.select-clear{display:inline-flex;align-items:center;font-size:inherit;color:var(--gr-color-medium);border:none;background:none;padding:0;transition:150ms color;cursor:pointer;margin-right:var(--clear-icon-margin-end)}.select-clear:hover{color:var(--gr-color-dark)}.select-clear:focus{outline:none}.select-clear svg{width:1.2em;height:1.2em;font-size:var(--font-size)}.caret{flex:0 0 auto;display:inline-flex;transition:250ms transform ease;margin-right:var(--caret-margin-end)}.caret svg{width:1em;height:1em;font-size:var(--font-size)}.select-open .caret{transform:rotate(-180deg)}.select-placeholder-visible .select-label{color:var(--placeholder-color)}.select-tags{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:left;margin-left:var(--gr-spacing-xx-small);padding-bottom:var(--tags-padding-bottom)}.select-tags gr-tag{padding-top:var(--tags-padding-top)}.select-tags gr-tag:not(:last-of-type){margin-right:var(--tags-margin-end)}.select-hidden-select{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px;position:absolute;top:0;left:0;width:100%;height:100%}.select-pill .select-box{border-radius:var(--min-height)}"}},[1,"gr-select",{multiple:[4],maxTagsVisible:[2,"max-tags-visible"],disabled:[4],name:[1],placeholder:[1],size:[1],hoist:[4],value:[1025],pill:[4],label:[1],requiredIndicator:[4,"required-indicator"],helpText:[1,"help-text"],invalidText:[1,"invalid-text"],invalid:[516],clearable:[4],hasFocus:[32],hasHelpTextSlot:[32],hasInvalidTextSlot:[32],hasLabelSlot:[32],isOpen:[32],items:[32],displayLabel:[32],displayTags:[32],setFocus:[64]}]),ri=e=>{if(null!=e)return Array.isArray(e)?e.join(","):e.toString()};!function(){if("undefined"==typeof customElements)return;["gr-select","gr-button","gr-dropdown","gr-menu","gr-spinner","gr-tag"].forEach((e=>{switch(e){case"gr-select":customElements.get(e)||customElements.define(e,ti);break;case"gr-button":customElements.get(e)||_t();break;case"gr-dropdown":customElements.get(e)||Yr();break;case"gr-menu":customElements.get(e)||Qr();break;case"gr-spinner":customElements.get(e)||kt();break;case"gr-tag":customElements.get(e)||Zr()}}))}();const ii=ti,oi=Ue(class extends st{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.hasFocus=!1,this.checked=!1,this.value="",this.disabled=!1}connectedCallback(){this.handleBlur=this.handleBlur.bind(this),this.handleFocus=this.handleFocus.bind(this),this.handleMouseEnter=this.handleMouseEnter.bind(this),this.handleMouseLeave=this.handleMouseLeave.bind(this)}async setFocus(e){this.el.focus(e)}async removeFocus(){this.el.blur()}handleBlur(){this.hasFocus=!1}handleFocus(){this.hasFocus=!0}handleMouseEnter(){this.setFocus()}handleMouseLeave(){this.removeFocus()}render(){return se(ce,{class:{"menu-item-checked":this.checked,"menu-item-disabled":this.disabled,"menu-item-focused":this.hasFocus},role:"menuitem","aria-disabled":this.disabled?"true":"false","aria-checked":this.checked?"true":"false",tabIndex:this.disabled?null:0,onFocus:this.handleFocus,onBlur:this.handleBlur,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave},se("span",{class:"checkmark"},se("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},se("title",null,"Checkmark"),se("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M416 128L192 384l-96-96"}))),se("span",{class:"start"},se("slot",{name:"start"})),se("span",{class:"label"},se("slot",null)),se("span",{class:"end"},se("slot",{name:"end"})))}get el(){return this}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{--line-height:var(--gr-line-height-normal);--background-color:transparent;--background-color-focused:var(--gr-color-primary);--color:var(--gr-color-dark);--color-focused:var(--gr-color-primary-contrast);--color-disabled:var(--gr-color-medium);--padding-top:var(--gr-spacing-xx-small);--padding-start:var(--gr-spacing-x-large);--padding-end:var(--gr-spacing-x-large);--padding-bottom:var(--gr-spacing-xx-small);--transition:background-color 150ms linear, color 150ms linear;position:relative;display:flex;align-items:stretch;font-family:var(--gr-font-family);font-size:var(--gr-font-size-medium);font-weight:var(--gr-font-weight-normal);line-height:var(--line-height);letter-spacing:var(--gr-letter-spacing-normal);text-align:left;background-color:var(--background-color);color:var(--color);padding-top:var(--padding-top);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-bottom:var(--padding-bottom);transition:var(--transition);user-select:none;white-space:nowrap;cursor:pointer;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host(.menu-item-focused:not(.menu-item-disabled)){outline:none;background-color:var(--background-color-focused);color:var(--color-focused)}:host(.menu-item-disabled){outline:none;color:var(--color-disabled);cursor:not-allowed}.checkmark{display:flex;position:absolute;left:0.5em;top:calc(50% - 0.5em);visibility:hidden;align-items:center;font-size:inherit}.checkmark svg{display:inline-block;width:1.1em;height:1.1em;contain:strict;fill:currentcolor;box-sizing:content-box !important}:host(.menu-item-checked) .checkmark{visibility:visible}.label{flex:1 1 auto}.start{flex:0 0 auto;display:flex;align-items:center}.start ::slotted(:last-child){margin-right:0.5em}.end{flex:0 0 auto;display:flex;align-items:center}.end ::slotted(:first-child){margin-left:0.5em}"}},[1,"gr-menu-item",{checked:[516],value:[513],disabled:[516],hasFocus:[32],setFocus:[64],removeFocus:[64]}]); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */!function(){if("undefined"==typeof customElements)return;["gr-menu-item"].forEach((e=>{if("gr-menu-item"===e)customElements.get(e)||customElements.define(e,oi)}))}();const ni={"gr-select":ii,"gr-menu-item":oi};class ai extends(q(d)){constructor(){super(...arguments),this.multiple=!1,this.clearable=!1,this._refSelect=o()}_valueChangedHandler(e){const t=this._refSelect.value?.value;void 0===t||n(this.value,t)||(this.value=t,a(this,"select:change",t))}render(){return s` - ${this.options?.map((e=>s`${e.label}`))} - `}static get styles(){return c(':root, :host {\n --gr-color-primary: #1079b2;\n --gr-color-primary-rgb: 16, 121, 178;\n --gr-color-primary-contrast: #ffffff;\n --gr-color-primary-contrast-rgb: 255, 255, 255;\n --gr-color-primary-shade: #0d6696;\n --gr-color-primary-tint: #1499e1;\n --gr-color-secondary: #051f2c;\n --gr-color-secondary-rgb: 5, 31, 44;\n --gr-color-secondary-contrast: #ffffff;\n --gr-color-secondary-contrast-rgb: 255, 255, 255;\n --gr-color-secondary-shade: #000000;\n --gr-color-secondary-tint: #0a415c;\n --gr-color-tertiary: #0c4a6e;\n --gr-color-tertiary-rgb: 12, 74, 110;\n --gr-color-tertiary-contrast: #ffffff;\n --gr-color-tertiary-contrast-rgb: 255, 255, 255;\n --gr-color-tertiary-shade: #083249;\n --gr-color-tertiary-tint: #106393;\n --gr-color-success: #0fbe78;\n --gr-color-success-rgb: 15, 190, 120;\n --gr-color-success-contrast: #000000;\n --gr-color-success-contrast-rgb: 0, 0, 0;\n --gr-color-success-shade: #057f4e;\n --gr-color-success-tint: #12e28f;\n --gr-color-warning: #fbbc4e;\n --gr-color-warning-rgb: 251, 188, 78;\n --gr-color-warning-contrast: #051f2c;\n --gr-color-warning-contrast-rgb: 5, 31, 44;\n --gr-color-warning-shade: #9e6400;\n --gr-color-warning-tint: #fdd187;\n --gr-color-danger: #e60017;\n --gr-color-danger-rgb: 230, 0, 23;\n --gr-color-danger-contrast: #ffffff;\n --gr-color-danger-contrast-rgb: 255, 255, 255;\n --gr-color-danger-shade: #cc0014;\n --gr-color-danger-tint: #ff1f35;\n --gr-color-light: #f4f5f8;\n --gr-color-light-rgb: 244, 245, 248;\n --gr-color-light-contrast: #051f2c;\n --gr-color-light-contrast-rgb: 5, 31, 44;\n --gr-color-light-shade: #d7d8da;\n --gr-color-light-tint: #f9fafb;\n --gr-color-medium: #5e6c78;\n --gr-color-medium-rgb: 94, 108, 120;\n --gr-color-medium-contrast: #ffffff;\n --gr-color-medium-contrast-rgb: 255, 255, 255;\n --gr-color-medium-shade: #48535b;\n --gr-color-medium-tint: #81909c;\n --gr-color-dark: #02131b;\n --gr-color-dark-rgb: 2, 19, 27;\n --gr-color-dark-contrast: #ffffff;\n --gr-color-dark-contrast-rgb: 255, 255, 255;\n --gr-color-dark-shade: #000000;\n --gr-color-dark-tint: #222428;\n --gr-color-white: #ffffff;\n --gr-color-black: #000000;\n --gr-border-radius-small: 0.125rem;\n --gr-border-radius-medium: 0.25rem;\n --gr-border-radius-large: 0.5rem;\n --gr-border-radius-x-large: 1rem;\n --gr-border-width-small: 0.063rem;\n --gr-border-width-medium: 0.125rem;\n --gr-border-width-large: 0.188rem;\n --gr-shadow-x-small: 0 1px 0 #0d131e0d;\n --gr-shadow-small: 0 1px 2px #0d131e1a;\n --gr-shadow-medium: 0 2px 4px #0d131e1a;\n --gr-shadow-large: 0 2px 8px #0d131e1a;\n --gr-shadow-x-large: 0 4px 16px #0d131e1a;\n --gr-spacing-xxx-small: 0.125rem;\n --gr-spacing-xx-small: 0.25rem;\n --gr-spacing-x-small: 0.5rem;\n --gr-spacing-small: 0.75rem;\n --gr-spacing-medium: 1rem;\n --gr-spacing-large: 1.25rem;\n --gr-spacing-x-large: 1.75rem;\n --gr-spacing-xx-large: 2.25rem;\n --gr-spacing-xxx-large: 3rem;\n --gr-spacing-xxxx-large: 4.5rem;\n --gr-font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial,\n sans-serif;\n --gr-letter-spacing-dense: -0.015em;\n --gr-letter-spacing-normal: normal;\n --gr-letter-spacing-loose: 0.075em;\n --gr-line-height-dense: 1.4;\n --gr-line-height-normal: 1.8;\n --gr-line-height-loose: 2.2;\n --gr-font-size-xx-small: 0.625rem;\n --gr-font-size-x-small: 0.75rem;\n --gr-font-size-small: 0.875rem;\n --gr-font-size-medium: 1rem;\n --gr-font-size-large: 1.25rem;\n --gr-font-size-x-large: 1.5rem;\n --gr-font-size-xx-large: 2.25rem;\n --gr-font-size-xxx-large: 3rem;\n --gr-font-size-xxxx-large: 4.5rem;\n --gr-font-weight-thin: 100;\n --gr-font-weight-extra-light: 200;\n --gr-font-weight-light: 300;\n --gr-font-weight-normal: 400;\n --gr-font-weight-medium: 500;\n --gr-font-weight-semi-bold: 600;\n --gr-font-weight-bold: 700;\n --gr-font-weight-extra-bold: 800;\n --gr-font-weight-black: 900;\n --gr-form-element-font-size-x-small: var(--gr-font-size-x-small);\n --gr-form-element-font-size-small: var(--gr-font-size-small);\n --gr-form-element-font-size-medium: var(--gr-font-size-medium);\n --gr-form-element-font-size-large: var(--gr-font-size-large);\n --gr-form-element-height-small: 2.188rem;\n --gr-form-element-height-medium: 3.125rem;\n --gr-form-element-height-large: 4.063rem;\n --gr-form-element-border-radius-small: var(--gr-border-radius-medium);\n --gr-form-element-border-radius-medium: var(--gr-border-radius-medium);\n --gr-form-element-border-radius-large: var(--gr-border-radius-medium);\n --gr-focus-ring-width: 2px;\n --gr-form-element-label-font-size-small: var(--gr-font-size-small);\n --gr-form-element-label-font-size-medium: var(--gr-font-size-medium);\n --gr-form-element-label-font-size-large: var(--gr-font-size-large);\n --gr-form-element-label-color: inherit;\n --gr-form-element-help-text-font-size-small: var(--gr-font-size-x-small);\n --gr-form-element-help-text-font-size-medium: var(--gr-font-size-small);\n --gr-form-element-help-text-font-size-large: var(--gr-font-size-medium);\n --gr-form-element-help-text-color: var(--gr-color-medium);\n --gr-form-element-invalid-text-font-size-small: var(--gr-font-size-x-small);\n --gr-form-element-invalid-text-font-size-medium: var(--gr-font-size-small);\n --gr-form-element-invalid-text-font-size-large: var(--gr-font-size-medium);\n --gr-form-element-invalid-text-color: var(--gr-color-danger);\n --gr-toggle-size: 1rem;\n --gr-panel-border-color: var(--gr-color-light-shade);\n --gr-z-index-dropdown: 900;\n}\n\n')}}function si(){var e=new Date,t=e.getFullYear(),r=e.getMonth(),i=e.getDate(),o=new Date(0);return o.setFullYear(t,r,i-1),o.setHours(23,59,59,999),o}function li(){var e=new Date,t=e.getFullYear(),r=e.getMonth(),i=e.getDate(),o=new Date(0);return o.setFullYear(t,r,i-1),o.setHours(0,0,0,0),o}function ci(e){u(1,arguments);var t=m(e),r=t.getMonth();return t.setFullYear(t.getFullYear(),r+1,0),t.setHours(23,59,59,999),t}var di,hi,gi;ai.elementDefinitions={...ni},t([r({attribute:!1,hasChanged:i})],ai.prototype,"options",void 0),t([r({attribute:!1,hasChanged:i})],ai.prototype,"value",void 0),t([r({attribute:!0})],ai.prototype,"label",void 0),t([r({attribute:!0})],ai.prototype,"placeholder",void 0),t([r({attribute:!0,type:Boolean})],ai.prototype,"multiple",void 0),t([r({attribute:!0,type:Boolean})],ai.prototype,"clearable",void 0),function(e){e.Favorite="favorite",e.NotFavorite="not-favorite"}(di||(di={})),function(e){e.Today="today",e.Yesterday="yesterday",e.PastWeek="past-week",e.PastMonth="past-month"}(hi||(hi={})),function(e){e.Clips="clips",e.Snapshots="snapshots",e.Recordings="recordings"}(gi||(gi={}));let ui=class extends(q(d)){constructor(){super(),this._defaults=null,this._refMediaType=o(),this._refCamera=o(),this._refWhen=o(),this._refWhat=o(),this._refWhere=o(),this._refFavorite=o(),this._refTags=o(),this._favoriteOptions=[{value:di.Favorite,label:f("media_filter.favorite")},{value:di.NotFavorite,label:f("media_filter.not_favorite")}],this._mediaTypeOptions=[{value:gi.Clips,label:f("media_filter.media_types.clips")},{value:gi.Snapshots,label:f("media_filter.media_types.snapshots")},{value:gi.Recordings,label:f("media_filter.media_types.recordings")}]}_stringToDateRange(e){const t=e.split(",");return{start:B(t[0],"yyyy-MM-dd",new Date),end:B(t[1],"yyyy-MM-dd",new Date)}}_dateRangeToString(e){return`${v(e.start)},${v(e.end)}`}_getWhen(){const e=this._refWhen.value?.value;if(!e||Array.isArray(e))return null;const t=new Date;switch(e){case hi.Today:return{start:g(Date.now()),end:h(Date.now())};case hi.Yesterday:return{start:li(),end:si()};case hi.PastWeek:return{start:g(W(t,{days:7})),end:h(t)};case hi.PastMonth:return{start:g(W(t,{months:1})),end:h(t)};default:return this._stringToDateRange(e)}}async _valueChangedHandler(e){const t=this.cameraManager?.getStore().getVisibleCameras();if(!(this.hass&&t&&this.cameraManager&&this.view))return;const r=e=>e&&Array.isArray(e)&&e.length&&!e.includes("")?new Set([...e]):null,i=r(this._refCamera.value?.value)??new Set(t.keys()),o=this._refMediaType.value?.value,n=this._getWhen(),a=this._refFavorite.value?.value?this._refFavorite.value.value===di.Favorite:null,s=this.cardWideConfig?.performance?.features.media_chunk_size;if(o===gi.Clips||o===gi.Snapshots){const e=r(this._refWhere.value?.value),t=r(this._refWhat.value?.value),l=r(this._refTags.value?.value),c=new b([{type:y.Event,cameraIDs:i,...l&&{tags:l},...t&&{what:t},...e&&{where:e},...null!==a&&{favorite:a},...n&&{start:n.start,end:n.end},...s&&{limit:s},...o===gi.Clips&&{hasClip:!0},...o===gi.Snapshots&&{hasSnapshot:!0}}]);(await w(this,this.hass,this.cameraManager,this.view,c,{...1===i.size&&{targetCameraID:[...i][0]},targetView:o===gi.Clips?"clips":"snapshots"}))?.dispatchChangeEvent(this)}else if(o===gi.Recordings){const e=new $([{type:y.Recording,cameraIDs:i,...s&&{limit:s},...n&&{start:n.start,end:n.end}}]);(await w(this,this.hass,this.cameraManager,this.view,e,{...1===i.size&&{targetCameraID:[...i][0]},targetView:"recordings"}))?.dispatchChangeEvent(this)}}willUpdate(e){if(e.has("cameraManager")){const e=this.cameraManager?.getStore().getVisibleCameras();e&&(this._cameraOptions=Array.from(e.keys()).map((e=>({value:e,label:this.hass?this.cameraManager?.getCameraMetadata(this.hass,e)?.title??"":""}))))}if(e.has("cameraManager")&&this.hass&&this.cameraManager&&(this._mediaMetadataController=new mi(this,this.hass,this.cameraManager)),this._whenOptions=[{value:hi.Today,label:f("media_filter.whens.today")},{value:hi.Yesterday,label:f("media_filter.whens.yesterday")},{value:hi.PastWeek,label:f("media_filter.whens.past_week")},{value:hi.PastMonth,label:f("media_filter.whens.past_month")},...this._mediaMetadataController?.whenOptions??[]],e.has("view")){const e=this._getDefaultsFromView();n(e,this._defaults)||(this._defaults=e)}}_getDefaultsFromView(){const e=this.view?.query?.getQueries(),t=this.cameraManager?.getStore().getVisibleCameras();if(!this.view||!e||!t)return null;let r,i,o,a,s,l;1!==j(e.map((e=>e.cameraIDs)),n).length||n(e[0].cameraIDs,t)||(i=[...e[0].cameraIDs]);if(1===j(e.map((e=>e.favorite)),n).length&&void 0!==e[0].favorite&&(s=e[0].favorite?di.Favorite:di.NotFavorite),x.areEventQueries(this.view.query)){const e=this.view.query.getQueries();if(!e)return null;const t=j(e.map((e=>e.hasClip)),n),i=j(e.map((e=>e.hasSnapshot)),n);1===t.length&&1===i.length&&(r=t[0]?gi.Clips:i[0]?gi.Snapshots:void 0);1===j(e.map((e=>e.what)),n).length&&e[0].what?.size&&(o=[...e[0].what]);1===j(e.map((e=>e.where)),n).length&&e[0].where?.size&&(a=[...e[0].where]);1===j(e.map((e=>e.tags)),n).length&&e[0].tags?.size&&(l=[...e[0].tags])}else x.areRecordingQueries(this.view.query)&&(r=gi.Recordings);return{...r&&{mediaType:r},...i&&{cameraIDs:i},...o&&{what:o},...a&&{where:a},...void 0!==s&&{favorite:s},...l&&{tags:l}}}render(){if(!this._mediaMetadataController)return;const e=!(!this.view?.query||!x.areEventQueries(this.view.query)),t=!(!this.view?.query||!x.areRecordingQueries(this.view.query)),r=this.cameraManager?.getAggregateCameraCapabilities(),i=e?!!r?.canFavoriteEvents:!!t&&!!r?.canFavoriteRecordings;return s` - - - - - - ${e&&this._mediaMetadataController.whatOptions.length?s` - `:""} - ${e&&this._mediaMetadataController.tagsOptions.length?s` - `:""} - ${e&&this._mediaMetadataController.whereOptions.length?s` - `:""} - ${i?s` - - - `:""}`}static get styles(){return c(":host {\n display: flex;\n flex-direction: column;\n overflow: auto;\n scrollbar-width: none;\n -ms-overflow-style: none;\n height: 100%;\n width: 300px;\n margin: 5px;\n}\n\n/* Hide scrollbar for Chrome, Safari and Opera */\n:host::-webkit-scrollbar {\n display: none;\n}\n\nfrigate-card-select {\n padding: 5px;\n}")}};ui.elementDefinitions={"frigate-card-select":ai},t([r({attribute:!1})],ui.prototype,"hass",void 0),t([r({attribute:!1})],ui.prototype,"cameraManager",void 0),t([r({attribute:!1})],ui.prototype,"view",void 0),t([r({attribute:!1})],ui.prototype,"cardWideConfig",void 0),ui=t([p("frigate-card-media-filter")],ui);class mi{constructor(e,t,r){this.tagsOptions=[],this.whenOptions=[],this.whatOptions=[],this.whereOptions=[],this._host=e,this._hass=t,this._cameraManager=r,e.addController(this)}_dateRangeToString(e){return`${v(e.start)},${v(e.end)}`}async hostConnected(){let e;try{e=await this._cameraManager.getMediaMetadata(this._hass)}catch(e){return void k(e)}if(e){if(e.what&&(this.whatOptions=[...e.what].sort().map((e=>({value:e,label:C(e)})))),e.where&&(this.whereOptions=[...e.where].sort().map((e=>({value:e,label:C(e)})))),e.tags&&(this.tagsOptions=[...e.tags].sort().map((e=>({value:e,label:C(e)})))),e.days){const t=new Set;[...e.days].forEach((e=>{t.add(e.substring(0,7))}));const r=[];t.forEach((e=>{r.push(B(e,"yyyy-MM",new Date))})),this.whenOptions=_(r,(e=>e.getTime()),"desc").map((e=>({label:T(e,"MMMM yyyy"),value:this._dateRangeToString({start:e,end:ci(e)})})))}this._host.requestUpdate()}}}const pi={closed:"mdi:filter-cog-outline",open:"mdi:filter-cog"};let fi=class extends d{render(){if(this.hass&&this.view&&this.view.isGalleryView()&&this.cameraManager&&this.cardWideConfig){if(!this.view.query){if(this.view.is("recordings"))S(this,this.hass,this.cameraManager,this.cardWideConfig,this.view);else{const e=this.view.is("snapshots")?"snapshots":this.view.is("clips")?"clips":null;E(this,this.hass,this.cameraManager,this.cardWideConfig,this.view,{...e&&{mediaType:e}})}return O({cardWideConfig:this.cardWideConfig})}return s` - - ${this.galleryConfig&&"none"!==this.galleryConfig.controls.filter.mode?s` - `:""} - - - - `}}static get styles(){return c(":host {\n width: 100%;\n height: 100%;\n display: block;\n}\n\nfrigate-card-surround-basic {\n max-height: var(--frigate-card-max-height);\n}")}};t([r({attribute:!1})],fi.prototype,"hass",void 0),t([r({attribute:!1})],fi.prototype,"view",void 0),t([r({attribute:!1})],fi.prototype,"galleryConfig",void 0),t([r({attribute:!1})],fi.prototype,"cameraManager",void 0),t([r({attribute:!1})],fi.prototype,"cardWideConfig",void 0),fi=t([p("frigate-card-gallery")],fi);let vi=class extends d{constructor(){super(),this._refLoaderBottom=o(),this._refSelected=o(),this._showLoaderBottom=!0,this._showLoaderTop=!1,this._boundWheelHandler=this._wheelHandler.bind(this),this._boundTouchStartHandler=this._touchStartHandler.bind(this),this._boundTouchEndHandler=this._touchEndHandler.bind(this),this._throttleExtendGalleryLater=z(this._extendGallery.bind(this),500,{leading:!0,trailing:!1}),this._touchScrollYPosition=null,this._resizeObserver=new ResizeObserver(this._resizeHandler.bind(this)),this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this))}_touchStartHandler(e){1===e.touches.length?this._touchScrollYPosition=e.touches[0].screenY:this._touchScrollYPosition=null}async _touchEndHandler(e){!this.scrollTop&&1===e.changedTouches.length&&this._touchScrollYPosition&&e.changedTouches[0].screenY>this._touchScrollYPosition&&await this._extendLater(),this._touchScrollYPosition=null}async _wheelHandler(e){!this.scrollTop&&e.deltaY<0&&await this._extendLater()}async _extendLater(){const e=new Date;this._showLoaderTop=!0,await this._throttleExtendGalleryLater("later",!1);const t=(new Date).getTime()-e.getTime();t<500&&await M(.5-t/1e3),this._showLoaderTop=!1}connectedCallback(){super.connectedCallback(),this._resizeObserver.observe(this),this.addEventListener("wheel",this._boundWheelHandler,{passive:!0}),this.addEventListener("touchstart",this._boundTouchStartHandler,{passive:!0}),this.addEventListener("touchend",this._boundTouchEndHandler),this.requestUpdate()}disconnectedCallback(){this.removeEventListener("wheel",this._boundWheelHandler),this.removeEventListener("touchstart",this._boundTouchStartHandler),this.removeEventListener("touchend",this._boundTouchEndHandler),this._resizeObserver.disconnect(),this._intersectionObserver.disconnect(),super.disconnectedCallback()}_setColumnCount(){const e=this.galleryConfig?.controls.thumbnails.size??L.media_gallery.controls.thumbnails.size,t=this.galleryConfig?.controls.thumbnails.show_details?Math.max(1,Math.floor(this.clientWidth/D)):Math.max(1,Math.ceil(this.clientWidth/A),Math.ceil(this.clientWidth/e));this.style.setProperty("--frigate-card-gallery-columns",String(t))}_resizeHandler(){this._setColumnCount()}async _intersectionHandler(e){e.every((e=>!e.isIntersecting))||(this._showLoaderBottom=!1,await this._extendGallery("earlier"))}async _extendGallery(e,t=!0){if(!this.cameraManager||!this.hass||!this.view)return;const r=this.view?.query,i=r?.getQueries()??null,o=this.view.queryResults?.getResults();if(!r||!i||!o)return;let n;try{n=await this.cameraManager.extendMediaQueries(this.hass,i,o,e,{useCache:t})}catch(e){return void k(e)}if(n){const e=x.areEventQueries(r)?new b(n.queries):x.areRecordingQueries(r)?new $(n.queries):null;e&&this.view?.evolve({query:e,queryResults:new I(n.results).selectResultIfFound((e=>e===this.view?.queryResults?.getSelectedResult()))}).dispatchChangeEvent(this)}}willUpdate(e){if(e.has("galleryConfig")&&(this.galleryConfig?.controls.thumbnails.show_details?this.setAttribute("details",""):this.removeAttribute("details"),this._setColumnCount(),this.galleryConfig?.controls.thumbnails.size&&this.style.setProperty("--frigate-card-thumbnail-size",`${this.galleryConfig.controls.thumbnails.size}px`)),e.has("view")){this._showLoaderBottom=!0;e.get("view")?.queryResults?.getResults()!==this.view?.queryResults?.getResults()&&(this._media=[...this.view?.queryResults?.getResults()??[]].reverse())}}render(){if(!(this._media&&this.hass&&this.view&&this.view.isGalleryView()))return s``;if(0===(this.view?.queryResults?.getResultsCount()??0))return R({type:"info",message:f("common.no_media"),icon:"mdi:multimedia"});const e=this.view?.queryResults?.getSelectedResult();return s`
- ${this._showLoaderTop?s`${O({cardWideConfig:this.cardWideConfig,classes:{top:!0},size:"small"})}`:""} - ${this._media.map(((t,r)=>s`{this.view&&this._media&&this.view.evolve({view:"media",queryResults:this.view.queryResults?.clone().selectResult(this._media.length-r-1)}).dispatchChangeEvent(this),H(e)}} - > - `))} - ${this._showLoaderBottom?s`${O({cardWideConfig:this.cardWideConfig,componentRef:this._refLoaderBottom})}`:""} -
`}updated(e){this._refLoaderBottom.value&&(this._intersectionObserver.disconnect(),this._intersectionObserver.observe(this._refLoaderBottom.value)),this.updateComplete.then((()=>{e.has("view")&&!e.get("view")&&this._refSelected.value&&this._refSelected.value.scrollIntoView()}))}static get styles(){return c(":host {\n width: 100%;\n height: 100%;\n display: block;\n overflow: auto;\n -ms-overflow-style: none;\n scrollbar-width: none;\n --frigate-card-gallery-gap: 3px;\n --frigate-card-gallery-columns: 4;\n}\n\n.grid {\n display: grid;\n grid-template-columns: repeat(var(--frigate-card-gallery-columns), minmax(0, 1fr));\n grid-auto-rows: min-content;\n gap: var(--frigate-card-gallery-gap);\n}\n\n:host::-webkit-scrollbar {\n display: none;\n}\n\nfrigate-card-thumbnail {\n height: 100%;\n max-height: var(--frigate-card-thumbnail-size);\n}\n\nfrigate-card-thumbnail:not([details]) {\n width: 100%;\n}\n\nfrigate-card-thumbnail.selected {\n border: 4px solid var(--accent-color);\n border-radius: calc(var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px)) + 4px);\n}\n\nfrigate-card-progress-indicator.top {\n grid-column: 1/-1;\n}")}};t([r({attribute:!1})],vi.prototype,"hass",void 0),t([r({attribute:!1})],vi.prototype,"view",void 0),t([r({attribute:!1})],vi.prototype,"galleryConfig",void 0),t([r({attribute:!1})],vi.prototype,"cameraManager",void 0),t([r({attribute:!1})],vi.prototype,"cardWideConfig",void 0),t([N()],vi.prototype,"_showLoaderBottom",void 0),t([N()],vi.prototype,"_showLoaderTop",void 0),vi=t([p("frigate-card-gallery-core")],vi);export{fi as FrigateCardGallery,vi as FrigateCardGalleryCore}; diff --git a/config/www/community/frigate-hass-card/gallery-6281c347.js.gz b/config/www/community/frigate-hass-card/gallery-6281c347.js.gz deleted file mode 100644 index b8bd643be87cc4d4ae099fd1a7f37b09520ccc70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29960 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 XcPP`IaRNB1@i+emZ;xGa;;I1v>ay!@ diff --git a/config/www/community/frigate-hass-card/gallery-9024cb87.js b/config/www/community/frigate-hass-card/gallery-9024cb87.js deleted file mode 100644 index dfcd0754..00000000 --- a/config/www/community/frigate-hass-card/gallery-9024cb87.js +++ /dev/null @@ -1,184 +0,0 @@ -import{d3 as e,d4 as t,d5 as r,l as i,d6 as o,d7 as n,d8 as a,d9 as s,i as l,da as c,db as d,k as h,dc as g,dd as u,de as m,df as p,_ as f,n as v,cW as b,cR as y,dg as w,x as $,cV as x,r as k,a as _,t as C,e as T,b as E,dh as O,di as S,cI as M,dj as z,dk as L,cU as D,dl as A,c$ as F}from"./card-09c4bade.js";import{e as I}from"./endOfDay-8be4da1b.js";import{p as W}from"./parse-645a86cb.js";import{F as R}from"./date-picker-3dacab82.js";function N(t){const r=e(t),i=r.getMonth();return r.setFullYear(r.getFullYear(),i+1,0),r.setHours(23,59,59,999),r}function H(){const e=new Date,t=e.getFullYear(),r=e.getMonth(),i=e.getDate(),o=new Date(0);return o.setFullYear(t,r,i-1),o.setHours(23,59,59,999),o}function V(){const e=new Date,t=e.getFullYear(),r=e.getMonth(),i=e.getDate(),o=new Date(0);return o.setFullYear(t,r,i-1),o.setHours(0,0,0,0),o}var j,B,q; -/** - * @license - * Copyright 2021 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -function P(e){return class extends e{createRenderRoot(){const e=this.constructor,{registry:t,elementDefinitions:i,shadowRootOptions:o}=e;i&&!t&&(e.registry=new CustomElementRegistry,Object.entries(i).forEach((([t,r])=>e.registry.define(t,r))));const n=this.renderOptions.creationScope=this.attachShadow({...o,customElements:e.registry});return r(n,this.constructor.elementStyles),n}}}!function(e){e.Favorite="favorite",e.NotFavorite="not-favorite"}(j||(j={})),function(e){e.Today="today",e.Yesterday="yesterday",e.PastWeek="past-week",e.PastMonth="past-month",e.Custom="custom"}(B||(B={})),function(e){e.Clips="clips",e.Snapshots="snapshots",e.Recordings="recordings"}(q||(q={}));class U{constructor(e){this._cameraOptions=[],this._whenOptions=[],this._metaDataWhenOptions=[],this._whatOptions=[],this._whereOptions=[],this._tagsOptions=[],this._defaults=null,this._viewManager=null,this._host=e,this._favoriteOptions=[{value:j.Favorite,label:i("media_filter.favorite")},{value:j.NotFavorite,label:i("media_filter.not_favorite")}],this._mediaTypeOptions=[{value:q.Clips,label:i("media_filter.media_types.clips")},{value:q.Snapshots,label:i("media_filter.media_types.snapshots")},{value:q.Recordings,label:i("media_filter.media_types.recordings")}],this._staticWhenOptions=[{value:B.Today,label:i("media_filter.whens.today")},{value:B.Yesterday,label:i("media_filter.whens.yesterday")},{value:B.PastWeek,label:i("media_filter.whens.past_week")},{value:B.PastMonth,label:i("media_filter.whens.past_month")},{value:B.Custom,label:i("media_filter.whens.custom")}],this._computeWhenOptions()}getMediaTypeOptions(){return this._mediaTypeOptions}getCameraOptions(){return this._cameraOptions}getWhenOptions(){return this._whenOptions}getWhatOptions(){return this._whatOptions}getWhereOptions(){return this._whereOptions}getTagsOptions(){return this._tagsOptions}getFavoriteOptions(){return this._favoriteOptions}getDefaults(){return this._defaults}setViewManager(e){this._viewManager=e}async valueChangeHandler(e,t,r,i){const s=e=>e&&Array.isArray(e)&&e.length&&!e.includes("")?new Set([...e]):null,l=s(r.camera)??this._getAllCameraIDs(e);if(!l.size||!r.mediaType)return;const c=this._getWhen(r.when),d=r.favorite?r.favorite===j.Favorite:null,h=t.performance?.features.media_chunk_size;if(r.mediaType===q.Clips||r.mediaType===q.Snapshots){const e=s(r.where),t=s(r.what),i=s(r.tags),a=new o([{type:n.Event,cameraIDs:l,...i&&{tags:i},...t&&{what:t},...e&&{where:e},...null!==d&&{favorite:d},...c&&{...c.start&&{start:c.start},...c.end&&{end:c.end}},...h&&{limit:h},...r.mediaType===q.Clips&&{hasClip:!0},...r.mediaType===q.Snapshots&&{hasSnapshot:!0}}]);this._viewManager?.setViewByParametersWithExistingQuery({params:{query:a,...1===l.size&&{camera:[...l][0]},view:r.mediaType===q.Clips?"clips":"snapshots"}})}else{const e=new a([{type:n.Recording,cameraIDs:l,...h&&{limit:h},...c&&{...c.start&&{start:c.start},...c.end&&{end:c.end}},...null!==d&&{favorite:d}}]);this._viewManager?.setViewByParametersWithExistingQuery({params:{query:e,...1===l.size&&{camera:[...l][0]},view:"recordings"}})}this._host.requestUpdate()}_getAllCameraIDs(e){return e.getStore().getCameraIDsWithCapability({anyCapabilities:["clips","snapshots","recordings"]})}computeInitialDefaultsFromView(e){const t=this._viewManager?.getView(),r=t?.query?.getQueries(),i=this._getAllCameraIDs(e);if(!t||!r||!i.size)return;let o,n,a,d,h,g;1!==s(r.map((e=>e.cameraIDs)),l).length||l(r[0].cameraIDs,i)||(n=[...r[0].cameraIDs]); -/* istanbul ignore else: the else path cannot be reached -- @preserve */ -if(1===s(r.map((e=>e.favorite)),l).length&&void 0!==r[0].favorite&&(h=r[0].favorite?j.Favorite:j.NotFavorite),c.areEventQueries(t.query)){const e=t.query.getQueries(); -/* istanbul ignore if: the if path cannot be reached -- @preserve */if(!e)return;const r=s(e.map((e=>e.hasClip)),l),i=s(e.map((e=>e.hasSnapshot)),l);1===r.length&&1===i.length&&(o=r[0]?q.Clips:i[0]?q.Snapshots:void 0);1===s(e.map((e=>e.what)),l).length&&e[0].what?.size&&(a=[...e[0].what]);1===s(e.map((e=>e.where)),l).length&&e[0].where?.size&&(d=[...e[0].where]);1===s(e.map((e=>e.tags)),l).length&&e[0].tags?.size&&(g=[...e[0].tags])}else c.areRecordingQueries(t.query)&&(o=q.Recordings);this._defaults={...o&&{mediaType:o},...n&&{cameraIDs:n},...a&&{what:a},...d&&{where:d},...void 0!==h&&{favorite:h},...g&&{tags:g}}}computeCameraOptions(e){this._cameraOptions=[...this._getAllCameraIDs(e)].map((t=>({value:t,label:e.getCameraMetadata(t)?.title??t})))}async computeMetadataOptions(e){let t=null;try{t=await e.getMediaMetadata()}catch(e){d(e)}if(t){if(t.what&&(this._whatOptions=[...t.what].sort().map((e=>({value:e,label:h(e)})))),t.where&&(this._whereOptions=[...t.where].sort().map((e=>({value:e,label:h(e)})))),t.tags&&(this._tagsOptions=[...t.tags].sort().map((e=>({value:e,label:h(e)})))),t.days){const e=new Set;[...t.days].forEach((t=>{e.add(t.substring(0,7))}));const r=[];e.forEach((e=>{r.push(W(e,"yyyy-MM",new Date))})),this._metaDataWhenOptions=g(r,(e=>e.getTime()),"desc").map((e=>({label:u(e,"MMMM yyyy"),value:this._dateRangeToString({start:e,end:N(e)})}))),this._computeWhenOptions()}this._host.requestUpdate()}}getControlsToShow(e){const t=this._viewManager?.getView(),r=c.areEventQueries(t?.query),i=c.areRecordingQueries(t?.query),o=e.getAggregateCameraCapabilities();return{events:r,recordings:i,favorites:r?o?.has("favorite-events"):!!i&&o?.has("favorite-recordings")}}_computeWhenOptions(){this._whenOptions=[...this._staticWhenOptions,...this._metaDataWhenOptions]}_dateRangeToString(e){return`${m(e.start)},${m(e.end)}`}_stringToDateRange(e){const t=e.split(",");return{start:W(t[0],"yyyy-MM-dd",new Date),end:I(W(t[1],"yyyy-MM-dd",new Date))}}_getWhen(e){if(e.from||e.to)return{...e.from&&{start:e.from},...e.to&&{end:e.to}};if(!e.selected||Array.isArray(e.selected))return null;const r=new Date;switch(e.selected){case B.Custom:return null;case B.Today:return{start:t(Date.now()),end:I(Date.now())};case B.Yesterday:return{start:V(),end:H()};case B.PastWeek:return{start:t(p(r,{days:7})),end:I(r)};case B.PastMonth:return{start:t(p(r,{months:1})),end:I(r)};default:return this._stringToDateRange(e.selected)}}}const K=!0,Y=!0,Q=!0,G=!1,X=!1;let Z,J,ee,te=!1,re=!1,ie=!1,oe=!1,ne=null,ae=!1;const se="http://www.w3.org/1999/xlink",le={},ce=e=>"object"===(e=typeof e)||"function"===e;const de=(e,t,...r)=>{let i=null,o=null,n=null,a=!1,s=!1;const l=[],c=t=>{for(let r=0;re[t])).join(" "))}}if("function"==typeof e)return e(null===t?{}:t,l,ue);const d=he(e,null);return d.$attrs$=t,l.length>0&&(d.$children$=l),d.$key$=o,d.$name$=n,d},he=(e,t)=>{const r={$flags$:0,$tag$:e,$text$:t,$elm$:null,$children$:null,$attrs$:null,$key$:null,$name$:null};return r},ge={},ue={forEach:(e,t)=>e.map(me).forEach(t),map:(e,t)=>e.map(me).map(t).map(pe)},me=e=>({vattrs:e.$attrs$,vchildren:e.$children$,vkey:e.$key$,vname:e.$name$,vtag:e.$tag$,vtext:e.$text$}),pe=e=>{if("function"==typeof e.vtag){const t=Object.assign({},e.vattrs);return e.vkey&&(t.key=e.vkey),e.vname&&(t.name=e.vname),de(e.vtag,t,...e.vchildren||[])}const t=he(e.vtag,e.vtext);return t.$attrs$=e.vattrs,t.$children$=e.vchildren,t.$key$=e.vkey,t.$name$=e.vname,t},fe=(e,t,r)=>{const i=e;return{emit:e=>ve(i,t,{bubbles:!!(4&r),composed:!!(2&r),cancelable:!!(1&r),detail:e})}},ve=(e,t,r)=>{const i=ht.ce(t,r);return e.dispatchEvent(i),i},be=new WeakMap,ye=e=>{const t=e.$cmpMeta$,r=e.$hostElement$,i=t.$flags$,o=(t.$tagName$,()=>{}),n=((e,t,r,i)=>{var o;let n=we(t,r);const a=at.get(n);if(e=11===e.nodeType?e:ct,a)if("string"==typeof a){e=e.head||e;let t,r=be.get(e);if(r||be.set(e,r=new Set),!r.has(n)){{t=ct.createElement("style"),t.innerHTML=a;const r=null!==(o=ht.$nonce$)&&void 0!==o?o:function(e){var t,r,i;return null!==(i=null===(r=null===(t=e.head)||void 0===t?void 0:t.querySelector('meta[name="csp-nonce"]'))||void 0===r?void 0:r.getAttribute("content"))&&void 0!==i?i:void 0}(ct);null!=r&&t.setAttribute("nonce",r),e.insertBefore(t,e.querySelector("link"))}r&&r.add(n)}}else e.adoptedStyleSheets.includes(a)||(e.adoptedStyleSheets=[...e.adoptedStyleSheets,a]);return n})(r.shadowRoot?r.shadowRoot:r.getRootNode(),t,e.$modeName$);10&i&&(r["s-sc"]=n,r.classList.add(n+"-h"),2&i&&r.classList.add(n+"-s")),o()},we=(e,t)=>"sc-"+(t&&32&e.$flags$?e.$tagName$+"-"+t:e.$tagName$),$e=(e,t,r,i,o,n)=>{if(r!==i){let a=ot(e,t),s=t.toLowerCase();if("class"===t){const t=e.classList,o=ke(r),n=ke(i);t.remove(...o.filter((e=>e&&!n.includes(e)))),t.add(...n.filter((e=>e&&!o.includes(e))))}else if("style"===t){for(const t in r)i&&null!=i[t]||(t.includes("-")?e.style.removeProperty(t):e.style[t]="");for(const t in i)r&&i[t]===r[t]||(t.includes("-")?e.style.setProperty(t,i[t]):e.style[t]=i[t])}else if("key"===t);else if("ref"===t)i&&i(e);else if(e.__lookupSetter__(t)||"o"!==t[0]||"n"!==t[1]){const l=ce(i);if((a||l&&null!==i)&&!o)try{if(e.tagName.includes("-"))e[t]=i;else{const o=null==i?"":i;"list"===t?a=!1:null!=r&&e[t]==o||(e[t]=o)}}catch(e){}let c=!1;s!==(s=s.replace(/^xlink\:?/,""))&&(t=s,c=!0),null==i||!1===i?!1===i&&""!==e.getAttribute(t)||(c?e.removeAttributeNS(se,t):e.removeAttribute(t)):(!a||4&n||o)&&!l&&(i=!0===i?"":i,c?e.setAttributeNS(se,t,i):e.setAttribute(t,i))}else t="-"===t[2]?t.slice(3):ot(lt,s)?s.slice(2):s[2]+t.slice(3),r&&ht.rel(e,t,r,!1),i&&ht.ael(e,t,i,!1)}},xe=/\s/,ke=e=>e?e.split(xe):[],_e=(e,t,r,i)=>{const o=11===t.$elm$.nodeType&&t.$elm$.host?t.$elm$.host:t.$elm$,n=e&&e.$attrs$||le,a=t.$attrs$||le;for(i in n)i in a||$e(o,i,n[i],void 0,r,t.$flags$);for(i in a)$e(o,i,n[i],a[i],r,t.$flags$)},Ce=(e,t,r,i)=>{const o=t.$children$[r];let n,a,s,l=0;if(te||(ie=!0,"slot"===o.$tag$&&(Z&&i.classList.add(Z+"-s"),o.$flags$|=o.$children$?2:1)),null!==o.$text$)n=o.$elm$=ct.createTextNode(o.$text$);else if(1&o.$flags$)n=o.$elm$=ct.createTextNode("");else{if(oe||(oe="svg"===o.$tag$),n=o.$elm$=ct.createElementNS(oe?"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",2&o.$flags$?"slot-fb":o.$tag$),oe&&"foreignObject"===o.$tag$&&(oe=!1),_e(null,o,oe),null!=Z&&n["s-si"]!==Z&&n.classList.add(n["s-si"]=Z),o.$children$)for(l=0;l{ht.$flags$|=1;const r=e.childNodes;for(let e=r.length-1;e>=0;e--){const i=r[e];i["s-hn"]!==ee&&i["s-ol"]&&(ze(i).insertBefore(i,Me(i)),i["s-ol"].remove(),i["s-ol"]=void 0,ie=!0),t&&Te(i,t)}ht.$flags$&=-2},Ee=(e,t,r,i,o,n)=>{let a,s=e["s-cr"]&&e["s-cr"].parentNode||e;for(s.shadowRoot&&s.tagName===ee&&(s=s.shadowRoot);o<=n;++o)i[o]&&(a=Ce(null,r,o,e),a&&(i[o].$elm$=a,s.insertBefore(a,Me(t))))},Oe=(e,t,r,i,o)=>{for(;t<=r;++t)(i=e[t])&&(o=i.$elm$,We(i),re=!0,o["s-ol"]?o["s-ol"].remove():Te(o,!0),o.remove())},Se=(e,t)=>e.$tag$===t.$tag$&&("slot"===e.$tag$?e.$name$===t.$name$:e.$key$===t.$key$),Me=e=>e&&e["s-ol"]||e,ze=e=>(e["s-ol"]?e["s-ol"]:e).parentNode,Le=(e,t)=>{const r=t.$elm$=e.$elm$,i=e.$children$,o=t.$children$,n=t.$tag$,a=t.$text$;let s;null===a?(oe="svg"===n||"foreignObject"!==n&&oe,"slot"===n||_e(e,t,oe),null!==i&&null!==o?((e,t,r,i)=>{let o,n,a=0,s=0,l=0,c=0,d=t.length-1,h=t[0],g=t[d],u=i.length-1,m=i[0],p=i[u];for(;a<=d&&s<=u;)if(null==h)h=t[++a];else if(null==g)g=t[--d];else if(null==m)m=i[++s];else if(null==p)p=i[--u];else if(Se(h,m))Le(h,m),h=t[++a],m=i[++s];else if(Se(g,p))Le(g,p),g=t[--d],p=i[--u];else if(Se(h,p))"slot"!==h.$tag$&&"slot"!==p.$tag$||Te(h.$elm$.parentNode,!1),Le(h,p),e.insertBefore(h.$elm$,g.$elm$.nextSibling),h=t[++a],p=i[--u];else if(Se(g,m))"slot"!==h.$tag$&&"slot"!==p.$tag$||Te(g.$elm$.parentNode,!1),Le(g,m),e.insertBefore(g.$elm$,h.$elm$),g=t[--d],m=i[++s];else{for(l=-1,c=a;c<=d;++c)if(t[c]&&null!==t[c].$key$&&t[c].$key$===m.$key$){l=c;break}l>=0?(n=t[l],n.$tag$!==m.$tag$?o=Ce(t&&t[s],r,l,e):(Le(n,m),t[l]=void 0,o=n.$elm$),m=i[++s]):(o=Ce(t&&t[s],r,s,e),m=i[++s]),o&&ze(h.$elm$).insertBefore(o,Me(h.$elm$))}a>d?Ee(e,null==i[u+1]?null:i[u+1].$elm$,r,i,s,u):s>u&&Oe(t,a,d)})(r,i,t,o):null!==o?(null!==e.$text$&&(r.textContent=""),Ee(r,null,t,o,0,o.length-1)):null!==i&&Oe(i,0,i.length-1),oe&&"svg"===n&&(oe=!1)):(s=r["s-cr"])?s.parentNode.textContent=a:e.$text$!==a&&(r.data=a)},De=e=>{const t=e.childNodes;let r,i,o,n,a,s;for(i=0,o=t.length;i{let t,r,i,o,n,a,s=0;const l=e.childNodes,c=l.length;for(;s=0;a--)r=i[a],r["s-cn"]||r["s-nr"]||r["s-hn"]===t["s-hn"]||(Ie(r,o)?(n=Ae.find((e=>e.$nodeToRelocate$===r)),re=!0,r["s-sn"]=r["s-sn"]||o,n?n.$slotRefNode$=t:Ae.push({$slotRefNode$:t,$nodeToRelocate$:r}),r["s-sr"]&&Ae.map((e=>{Ie(e.$nodeToRelocate$,r["s-sn"])&&(n=Ae.find((e=>e.$nodeToRelocate$===r)),n&&!e.$slotRefNode$&&(e.$slotRefNode$=n.$slotRefNode$))}))):Ae.some((e=>e.$nodeToRelocate$===r))||Ae.push({$nodeToRelocate$:r}));1===t.nodeType&&Fe(t)}},Ie=(e,t)=>1===e.nodeType?null===e.getAttribute("slot")&&""===t||e.getAttribute("slot")===t:e["s-sn"]===t||""===t,We=e=>{e.$attrs$&&e.$attrs$.ref&&e.$attrs$.ref(null),e.$children$&&e.$children$.map(We)},Re=(e,t)=>{const r=e.$hostElement$,i=e.$cmpMeta$,o=e.$vnode$||he(null,null),n=(a=t)&&a.$tag$===ge?t:de(null,null,t);var a;if(ee=r.tagName,i.$attrsToReflect$&&(n.$attrs$=n.$attrs$||{},i.$attrsToReflect$.map((([e,t])=>n.$attrs$[t]=r[e]))),n.$tag$=null,n.$flags$|=4,e.$vnode$=n,n.$elm$=o.$elm$=r.shadowRoot||r,Z=r["s-sc"],J=r["s-cr"],te=!!(1&i.$flags$),re=!1,Le(o,n),ht.$flags$|=1,ie){let e,t,r,i,o,a;Fe(n.$elm$);let s=0;for(;s{e.$flags$|=16,e.$ancestorComponent$;return $t((()=>He(e,t)))},He=(e,t)=>{const r=e.$hostElement$,i=(e.$cmpMeta$.$tagName$,()=>{}),o=r;let n;return n=qe(o,t?"componentWillLoad":"componentWillUpdate"),n=Pe(n,(()=>qe(o,"componentWillRender"))),i(),Pe(n,(()=>Ve(e,o,t)))},Ve=async(e,t,r)=>{const i=e.$hostElement$,o=(e.$cmpMeta$.$tagName$,()=>{});i["s-rc"],r&&ye(e);const n=(e.$cmpMeta$.$tagName$,()=>{});je(e,t,i),n(),o(),Be(e)},je=(e,t,r)=>{try{ne=t,t=t.render&&t.render(),e.$flags$&=-17,e.$flags$|=2,(K||Y)&&(Q||Y)&&(G||Re(e,t))}catch(t){nt(t,e.$hostElement$)}return ne=null,null},Be=e=>{e.$cmpMeta$.$tagName$;const t=()=>{},r=e.$hostElement$;e.$ancestorComponent$,qe(r,"componentDidRender"),64&e.$flags$?(qe(r,"componentDidUpdate"),t()):(e.$flags$|=64,qe(r,"componentDidLoad"),t())},qe=(e,t,r)=>{if(e&&e[t])try{return e[t](r)}catch(e){nt(e)}},Pe=(e,t)=>e&&e.then?e.then(t):t(),Ue=(e,t,r,i)=>{const o=rt(e),n=e,a=o.$instanceValues$.get(t),s=o.$flags$,l=n;var c,d;c=r,d=i.$members$[t][0],r=null==c||ce(c)?c:4&d?"false"!==c&&(""===c||!!c):2&d?parseFloat(c):1&d?String(c):c;const h=Number.isNaN(a)&&Number.isNaN(r);if(r!==a&&!h){if(o.$instanceValues$.set(t,r),i.$watchers$&&128&s){const e=i.$watchers$[t];e&&e.map((e=>{try{l[e](r,a,t)}catch(e){nt(e,n)}}))}if(2==(18&s)){if(l.componentShouldUpdate&&!1===l.componentShouldUpdate(r,a,t))return;Ne(o,!1)}}},Ke=(e,t,r)=>{if(t.$members$){e.watchers&&(t.$watchers$=e.watchers);const r=Object.entries(t.$members$),i=e.prototype;r.map((([e,[r]])=>{(31&r||32&r)&&Object.defineProperty(i,e,{get(){return t=e,rt(this).$instanceValues$.get(t);var t},set(r){Ue(this,e,r,t)},configurable:!0,enumerable:!0})}));{const o=new Map;i.attributeChangedCallback=function(e,t,r){ht.jmp((()=>{const t=o.get(e);if(this.hasOwnProperty(t))r=this[t],delete this[t];else if(i.hasOwnProperty(t)&&"number"==typeof this[t]&&this[t]==r)return;this[t]=(null!==r||"boolean"!=typeof this[t])&&r}))},e.observedAttributes=r.filter((([e,t])=>15&t[0])).map((([e,r])=>{const i=r[1]||e;return o.set(i,e),512&r[0]&&t.$attrsToReflect$.push([e,i]),i}))}}return e},Ye=async(e,t,r,i,o)=>{if(!(32&t.$flags$)&&(o=e.constructor,t.$flags$|=32,customElements.whenDefined(r.$tagName$).then((()=>t.$flags$|=128)),o.style)){let i=o.style;"string"!=typeof i&&(i=i[t.$modeName$=(e=>st.map((t=>t(e))).find((e=>!!e)))(e)]);const n=we(r,t.$modeName$);if(!at.has(n)){const e=(r.$tagName$,()=>{});((e,t,r)=>{let i=at.get(e);mt&&r?(i=i||new CSSStyleSheet,"string"==typeof i?i=t:i.replaceSync(t)):i=t,at.set(e,i)})(n,i,!!(1&r.$flags$)),e()}}t.$ancestorComponent$;Ne(t,!0)},Qe=e=>{const t=e["s-cr"]=ct.createComment("");t["s-cn"]=!0,e.insertBefore(t,e.firstChild)},Ge=(e,t)=>{const r={$flags$:t[0],$tagName$:t[1]};r.$members$=t[2],r.$listeners$=t[3],r.$watchers$=e.$watchers$,r.$attrsToReflect$=[],!gt&&1&r.$flags$&&(r.$flags$|=8);const i=e.prototype.connectedCallback,o=e.prototype.disconnectedCallback;return Object.assign(e.prototype,{__registerHost(){it(this,r)},connectedCallback(){(e=>{if(!(1&ht.$flags$)){const t=rt(e),r=t.$cmpMeta$,i=(r.$tagName$,()=>{});1&t.$flags$?(Xe(e,t,r.$listeners$),t.$lazyInstance$):(t.$flags$|=1,12&r.$flags$&&Qe(e),r.$members$&&Object.entries(r.$members$).map((([t,[r]])=>{if(31&r&&e.hasOwnProperty(t)){const r=e[t];delete e[t],e[t]=r}})),Ye(e,t,r)),i()}})(this),i&&i.call(this)},disconnectedCallback(){(e=>{if(!(1&ht.$flags$)){const t=rt(e);t.$rmListeners$&&(t.$rmListeners$.map((e=>e())),t.$rmListeners$=void 0)}})(this),o&&o.call(this)},__attachShadow(){gt?this.attachShadow({mode:"open",delegatesFocus:!!(16&r.$flags$)}):this.shadowRoot=this}}),e.is=r.$tagName$,Ke(e,r)},Xe=(e,t,r,i)=>{r&&r.map((([r,i,o])=>{const n=Je(e,r),a=Ze(t,o),s=et(r);ht.ael(n,i,a,s),(t.$rmListeners$=t.$rmListeners$||[]).push((()=>ht.rel(n,i,a,s)))}))},Ze=(e,t)=>r=>{try{X||e.$hostElement$[t](r)}catch(e){nt(e)}},Je=(e,t)=>4&t?ct:8&t?lt:16&t?ct.body:e,et=e=>ut?{passive:!!(1&e),capture:!!(2&e)}:!!(2&e),tt=new WeakMap,rt=e=>tt.get(e),it=(e,t)=>{const r={$flags$:0,$hostElement$:e,$cmpMeta$:t,$instanceValues$:new Map};return Xe(e,r,t.$listeners$),tt.set(e,r)},ot=(e,t)=>t in e,nt=(e,t)=>(0,console.error)(e,t),at=new Map,st=[],lt="undefined"!=typeof window?window:{},ct=lt.document||{head:{}},dt=lt.HTMLElement||class{},ht={$flags$:0,$resourcesUrl$:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,r,i)=>e.addEventListener(t,r,i),rel:(e,t,r,i)=>e.removeEventListener(t,r,i),ce:(e,t)=>new CustomEvent(e,t)},gt=!0,ut=(()=>{let e=!1;try{ct.addEventListener("e",null,Object.defineProperty({},"passive",{get(){e=!0}}))}catch(e){}return e})(),mt=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(e){}return!1})(),pt=[],ft=[],vt=(e,t)=>r=>{e.push(r),ae||(ae=!0,t&&4&ht.$flags$?wt(yt):ht.raf(yt))},bt=e=>{for(let t=0;t{bt(pt),bt(ft),(ae=pt.length>0)&&ht.raf(yt)},wt=e=>{return Promise.resolve(t).then(e);var t},$t=vt(ft,!0),xt=(e,t)=>{const r=!!e.label||e.hasLabelSlot,i=!!e.helpText||e.hasHelpTextSlot,o=!!e.invalidText||e.hasInvalidTextSlot,n=!e.invalid,a=!!e.invalid;return de("div",{class:{"form-control":!0,[`form-control-${e.size}`]:!0,"form-control-has-label":r,"form-control-has-help-text":i,"form-control-has-invalid-text":o}},de("label",{id:e.labelId,class:"form-control-label",htmlFor:e.inputId,"aria-hidden":r?"false":"true",onClick:e.onLabelClick},de("slot",{name:"label"},e.label),e.requiredIndicator&&de("div",{class:"asterisk"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 1200 1200"},de("path",{fill:"currentColor",d:"M489.838 29.354v443.603L68.032 335.894 0 545.285l421.829 137.086-260.743 358.876 178.219 129.398L600.048 811.84l260.673 358.806 178.146-129.398-260.766-358.783L1200 545.379l-68.032-209.403-421.899 137.07V29.443H489.84l-.002-.089z"})))),de("div",{class:"form-control-input"},t),n&&de("div",{id:e.helpTextId,class:"form-control-help-text","aria-hidden":i?"false":"true"},de("slot",{name:"help-text"},e.helpText)),a&&de("div",{id:e.invalidTextId,class:"form-control-invalid-text","aria-hidden":o?"false":"true"},de("div",{class:"icon"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Alert Circle"),de("path",{d:"M256,48C141.31,48,48,141.31,48,256s93.31,208,208,208,208-93.31,208-208S370.69,48,256,48Zm0,319.91a20,20,0,1,1,20-20A20,20,0,0,1,256,367.91Zm21.72-201.15-5.74,122a16,16,0,0,1-32,0l-5.74-121.94v-.05a21.74,21.74,0,1,1,43.44,0Z",fill:"currentColor"}))),de("div",{class:"text"},de("slot",{name:"invalid-text"},e.invalidText))))}; -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -function kt(e){const t=e?e.assignedNodes({flatten:!0}):[];let r="";return[...t].map((e=>{e.nodeType===Node.TEXT_NODE&&(r+=e.textContent)})),r}function _t(e,t){return t?null!==e.querySelector(`[slot="${t}"]`):[...e.childNodes].some((e=>{if(e.nodeType===e.TEXT_NODE&&""!==e.textContent.trim())return!0;if(e.nodeType===e.ELEMENT_NODE){if(!e.hasAttribute("slot"))return!0}return!1}))} -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */const Ct=(e,t=[])=>{const r={};return t.forEach((t=>{if(e.hasAttribute(t)){null!==e.getAttribute(t)&&(r[t]=e.getAttribute(t)),e.removeAttribute(t)}})),r},Tt=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow()}render(){return de("span",{class:"spinner","aria-busy":"true","aria-live":"polite"})}static get style(){return":host{--track-color:var(--gr-color-light-shade);--indicator-color:var(--gr-color-primary);--stroke-width:2px;display:inline-flex;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}.spinner{display:inline-block;width:1em;height:1em;border-radius:50%;border:solid var(--stroke-width) var(--track-color);border-top-color:var(--indicator-color);border-right-color:var(--indicator-color);animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}"}},[1,"gr-spinner"]);function Et(){if("undefined"==typeof customElements)return;["gr-spinner"].forEach((e=>{if("gr-spinner"===e)customElements.get(e)||customElements.define(e,Tt)}))}Et(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const Ot=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grFocus=fe(this,"gr-focus",7),this.grBlur=fe(this,"gr-blur",7),this.inheritedAttributes={},this.handleClick=e=>{if("button"!==this.type){const t=this.el.closest("form");if(t){e.preventDefault();const r=document.createElement("button");r.type=this.type,r.style.display="none",t.appendChild(r),r.click(),r.remove()}}},this.onFocus=()=>{this.grFocus.emit()},this.onBlur=()=>{this.grBlur.emit()},this.variant="default",this.disabled=!1,this.loading=!1,this.size="medium",this.caret=!1,this.pill=!1,this.expand=void 0,this.circle=!1,this.href=void 0,this.target=void 0,this.rel=void 0,this.type="button"}componentWillLoad(){this.inheritedAttributes=Ct(this.el,["aria-label","tabindex","title"])}async setFocus(e){this.button.focus(e)}async removeFocus(){this.button.blur()}render(){const{rel:e,target:t,href:r,variant:i,size:o,expand:n,type:a,inheritedAttributes:s,disabled:l}=this,c=void 0===r?"button":"a",d="button"===c?{type:a}:{href:r,rel:e,target:t};return de(ge,{onClick:this.handleClick,"aria-disabled":l?"true":null,class:{[`button-${i}`]:!0,[`button-${o}`]:!0,[`button-${n}`]:void 0!==n,"button-caret":this.caret,"button-circle":this.circle,"button-pill":this.pill,"button-disabled":l,"button-loading":this.loading}},de(c,Object.assign({ref:e=>this.button=e},d,{class:"button-native",disabled:l,onFocus:this.onFocus,onBlur:this.onBlur},s),de("span",{class:"button-inner"},de("slot",{name:"icon-only"}),de("slot",{name:"start"}),de("slot",null),de("slot",{name:"end"}),this.caret&&de("span",{class:"caret"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Chevron Down"),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"48",d:"M112 184l144 144 144-144"})))),this.loading&&de("gr-spinner",null)))}get el(){return this}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{display:inline-block;width:auto;font-family:var(--gr-font-family);font-weight:var(--gr-font-weight-medium);font-size:var(--gr-form-element-font-size-medium);font-kerning:none;user-select:none;vertical-align:top;vertical-align:-webkit-baseline-middle;pointer-events:auto;--height:var(--gr-form-element-height-medium);--border-radius:var(--gr-form-element-border-radius-medium);--border-width:1px;--border-style:solid;--background:transparent;--background-hover:transparent;--background-focus:transparent;--color:var(--gr-color-dark-tint);--color-hover:var(--gr-color-dark-tint);--color-focus:var(--gr-color-dark-tint);--border-color:var(--gr-color-light-shade);--border-color-hover:var(--gr-color-medium);--border-color-focus:var(--gr-color-primary);--padding-top:0;--padding-start:var(--gr-spacing-medium);--padding-end:var(--gr-spacing-medium);--padding-bottom:0;--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33);--shadow:none;--transition:background-color 150ms linear, opacity 150ms linear, border 150ms linear, color 150ms linear}:host(.button-disabled){pointer-events:none;opacity:0.5}:host(.button-primary){--border-color:var(--gr-color-primary);--background:var(--gr-color-primary);--color:var(--gr-color-primary-contrast);--border-color-hover:var(--gr-color-primary-shade);--background-hover:var(--gr-color-primary-shade);--color-hover:var(--gr-color-primary-contrast);--border-color-focus:var(--gr-color-primary);--background-focus:var(--gr-color-primary-shade);--color-focus:var(--gr-color-primary-contrast);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33)}:host(.button-secondary){--border-color:var(--gr-color-light-shade);--background:transparent;--color:var(--gr-color-primary);--border-color-hover:var(--gr-color-primary);--background-hover:transparent;--color-hover:var(--gr-color-primary);--border-color-focus:var(--gr-color-primary);--background-focus:transparent;--color-focus:var(--gr-color-primary);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33)}:host(.button-danger){--border-color:var(--gr-color-danger);--background:transparent;--color:var(--gr-color-danger);--border-color-hover:var(--gr-color-danger);--background-hover:var(--gr-color-danger);--color-hover:var(--gr-color-danger-contrast);--border-color-focus:var(--gr-color-danger);--background-focus:var(--gr-color-danger);--color-focus:var(--gr-color-danger-contrast);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-danger-rgb), 0.33)}:host(.button-plain){--border-color:transparent;--background:transparent;--color:var(--gr-color-primary);--border-color-hover:transparent;--background-hover:transparent;--color-hover:var(--gr-color-primary-shade);--border-color-focus:transparent;--background-focus:transparent;--color-focus:var(--gr-color-primary-shade);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33)}:host(.button-small){--padding-start:var(--gr-spacing-small);--padding-end:var(--gr-spacing-small);--border-radius:var(--gr-form-element-border-radius-small);--height:var(--gr-form-element-height-small);font-size:var(--gr-form-element-font-size-small)}:host(.button-large){--padding-start:var(--gr-spacing-large);--padding-end:var(--gr-spacing-large);--border-radius:var(--gr-form-element-border-radius-large);--height:var(--gr-form-element-height-large);font-size:var(--gr-form-element-font-size-large)}:host(.button-block){display:block}:host(.button-block) .button-native{margin-left:0;margin-right:0;display:block;width:100%;clear:both;contain:content}:host(.button-block) .button-native::after{clear:both}:host(.button-full){display:block}:host(.button-full) .button-native{margin-left:0;margin-right:0;display:block;width:100%;contain:content;border-radius:0;border-right-width:0;border-left-width:0}.button-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;position:relative;padding-top:var(--padding-top);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-bottom:var(--padding-bottom);width:100%;height:var(--height);transition:var(--transition);border-radius:var(--border-radius);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);color:var(--color);box-shadow:var(--shadow);line-height:1;cursor:pointer;z-index:0;text-decoration:none;box-sizing:border-box}.button-native::-moz-focus-inner{border:0}.button-native:focus{outline:none;box-shadow:var(--focus-ring);border-color:var(--border-color-focus);background-color:var(--background-focus);color:var(--color-focus)}.button-native *,.button-native *:before,.button-native *:after{box-sizing:inherit}.button-inner{display:flex;position:relative;flex-flow:row nowrap;flex-shrink:0;align-items:center;justify-content:center;width:100%;height:100%;z-index:1}:host(.button-circle) .button-native{padding-top:0;padding-bottom:0;padding-left:0;padding-right:0;border-radius:50%;width:var(--height)}@media (any-hover: hover){.button-native:hover{color:var(--color-hover);background:var(--background-hover);border-color:var(--border-color-hover)}}:host(.button-caret) .caret{display:flex;align-items:center;margin-left:0.3em}:host(.button-caret) .caret svg{width:1em;height:1em}:host(.button-pill) .button-native{border-radius:var(--height)}::slotted(*){pointer-events:none}::slotted([slot=start]){margin-top:0;margin-left:-0.3em;margin-right:0.3em;margin-bottom:0}::slotted([slot=end]){margin-top:0;margin-left:0.3em;margin-right:-0.2em;margin-bottom:0}::slotted([slot=icon-only]){font-size:1.4em;pointer-events:none}:host(.button-loading){position:relative;pointer-events:none}:host(.button-loading) .caret{visibility:hidden}:host(.button-loading) slot[name=start],:host(.button-loading) slot[name=end],:host(.button-loading) slot[name=icon-only],:host(.button-loading) slot:not([name]){visibility:hidden}:host(.button-loading) gr-spinner{--indicator-color:currentColor;position:absolute;height:1em;width:1em;top:calc(50% - 0.5em);left:calc(50% - 0.5em)}@media not all and (min-resolution: 0.001dpcm){@supports (-webkit-appearance: none) and (stroke-color: transparent){:host([type=button]),:host([type=reset]),:host([type=submit]){-webkit-appearance:none !important}}}"}},[1,"gr-button",{variant:[513],disabled:[516],loading:[516],size:[513],caret:[4],pill:[516],expand:[513],circle:[516],href:[1],target:[1],rel:[1],type:[1],setFocus:[64],removeFocus:[64]}]);function St(){if("undefined"==typeof customElements)return;["gr-button","gr-spinner"].forEach((e=>{switch(e){case"gr-button":customElements.get(e)||customElements.define(e,Ot);break;case"gr-spinner":customElements.get(e)||Et()}}))}function Mt(e,t,r="vertical",i="smooth"){const o= -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -function(e,t){return{top:Math.round(e.getBoundingClientRect().top-t.getBoundingClientRect().top),left:Math.round(e.getBoundingClientRect().left-t.getBoundingClientRect().left)}}(e,t),n=o.top+t.scrollTop,a=o.left+t.scrollLeft,s=t.scrollLeft,l=t.scrollLeft+t.offsetWidth,c=t.scrollTop,d=t.scrollTop+t.offsetHeight;"horizontal"!==r&&"both"!==r||(al&&t.scrollTo({left:a-t.offsetWidth+e.clientWidth,behavior:i})),"vertical"!==r&&"both"!==r||(nd&&t.scrollTo({top:n-t.offsetHeight+e.clientHeight,behavior:i}))} -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */function zt(e){return e.tabIndex>-1}function Lt(e){if(zt(e))return e;if(e.shadowRoot){const t=[...e.shadowRoot.children].find(zt);if(t)return t}return e.children?[...e.children].map(Lt)[0]:null}St();var Dt="top",At="bottom",Ft="right",It="left",Wt="auto",Rt=[Dt,At,Ft,It],Nt="start",Ht="end",Vt="clippingParents",jt="viewport",Bt="popper",qt="reference",Pt=Rt.reduce((function(e,t){return e.concat([t+"-"+Nt,t+"-"+Ht])}),[]),Ut=[].concat(Rt,[Wt]).reduce((function(e,t){return e.concat([t,t+"-"+Nt,t+"-"+Ht])}),[]),Kt=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Yt(e){return e?(e.nodeName||"").toLowerCase():null}function Qt(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Gt(e){return e instanceof Qt(e).Element||e instanceof Element}function Xt(e){return e instanceof Qt(e).HTMLElement||e instanceof HTMLElement}function Zt(e){return"undefined"!=typeof ShadowRoot&&(e instanceof Qt(e).ShadowRoot||e instanceof ShadowRoot)}const Jt={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var r=t.styles[e]||{},i=t.attributes[e]||{},o=t.elements[e];Xt(o)&&Yt(o)&&(Object.assign(o.style,r),Object.keys(i).forEach((function(e){var t=i[e];!1===t?o.removeAttribute(e):o.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,r={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,r.popper),t.styles=r,t.elements.arrow&&Object.assign(t.elements.arrow.style,r.arrow),function(){Object.keys(t.elements).forEach((function(e){var i=t.elements[e],o=t.attributes[e]||{},n=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:r[e]).reduce((function(e,t){return e[t]="",e}),{});Xt(i)&&Yt(i)&&(Object.assign(i.style,n),Object.keys(o).forEach((function(e){i.removeAttribute(e)})))}))}},requires:["computeStyles"]};function er(e){return e.split("-")[0]}var tr=Math.max,rr=Math.min,ir=Math.round;function or(e,t){void 0===t&&(t=!1);var r=e.getBoundingClientRect(),i=1,o=1;if(Xt(e)&&t){var n=e.offsetHeight,a=e.offsetWidth;a>0&&(i=ir(r.width)/a||1),n>0&&(o=ir(r.height)/n||1)}return{width:r.width/i,height:r.height/o,top:r.top/o,right:r.right/i,bottom:r.bottom/o,left:r.left/i,x:r.left/i,y:r.top/o}}function nr(e){var t=or(e),r=e.offsetWidth,i=e.offsetHeight;return Math.abs(t.width-r)<=1&&(r=t.width),Math.abs(t.height-i)<=1&&(i=t.height),{x:e.offsetLeft,y:e.offsetTop,width:r,height:i}}function ar(e,t){var r=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(r&&Zt(r)){var i=t;do{if(i&&e.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function sr(e){return Qt(e).getComputedStyle(e)}function lr(e){return["table","td","th"].indexOf(Yt(e))>=0}function cr(e){return((Gt(e)?e.ownerDocument:e.document)||window.document).documentElement}function dr(e){return"html"===Yt(e)?e:e.assignedSlot||e.parentNode||(Zt(e)?e.host:null)||cr(e)}function hr(e){return Xt(e)&&"fixed"!==sr(e).position?e.offsetParent:null}function gr(e){for(var t=Qt(e),r=hr(e);r&&lr(r)&&"static"===sr(r).position;)r=hr(r);return r&&("html"===Yt(r)||"body"===Yt(r)&&"static"===sr(r).position)?t:r||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&Xt(e)&&"fixed"===sr(e).position)return null;var r=dr(e);for(Zt(r)&&(r=r.host);Xt(r)&&["html","body"].indexOf(Yt(r))<0;){var i=sr(r);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||t&&"filter"===i.willChange||t&&i.filter&&"none"!==i.filter)return r;r=r.parentNode}return null}(e)||t}function ur(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function mr(e,t,r){return tr(e,rr(t,r))}function pr(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function fr(e,t){return t.reduce((function(t,r){return t[r]=e,t}),{})}const vr={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,r=e.state,i=e.name,o=e.options,n=r.elements.arrow,a=r.modifiersData.popperOffsets,s=er(r.placement),l=ur(s),c=[It,Ft].indexOf(s)>=0?"height":"width";if(n&&a){var d=function(e,t){return pr("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:fr(e,Rt))}(o.padding,r),h=nr(n),g="y"===l?Dt:It,u="y"===l?At:Ft,m=r.rects.reference[c]+r.rects.reference[l]-a[l]-r.rects.popper[c],p=a[l]-r.rects.reference[l],f=gr(n),v=f?"y"===l?f.clientHeight||0:f.clientWidth||0:0,b=m/2-p/2,y=d[g],w=v-h[c]-d[u],$=v/2-h[c]/2+b,x=mr(y,$,w),k=l;r.modifiersData[i]=((t={})[k]=x,t.centerOffset=x-$,t)}},effect:function(e){var t=e.state,r=e.options.element,i=void 0===r?"[data-popper-arrow]":r;null!=i&&("string"!=typeof i||(i=t.elements.popper.querySelector(i)))&&ar(t.elements.popper,i)&&(t.elements.arrow=i)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function br(e){return e.split("-")[1]}var yr={top:"auto",right:"auto",bottom:"auto",left:"auto"};function wr(e){var t,r=e.popper,i=e.popperRect,o=e.placement,n=e.variation,a=e.offsets,s=e.position,l=e.gpuAcceleration,c=e.adaptive,d=e.roundOffsets,h=e.isFixed,g=a.x,u=void 0===g?0:g,m=a.y,p=void 0===m?0:m,f="function"==typeof d?d({x:u,y:p}):{x:u,y:p};u=f.x,p=f.y;var v=a.hasOwnProperty("x"),b=a.hasOwnProperty("y"),y=It,w=Dt,$=window;if(c){var x=gr(r),k="clientHeight",_="clientWidth";if(x===Qt(r)&&"static"!==sr(x=cr(r)).position&&"absolute"===s&&(k="scrollHeight",_="scrollWidth"),o===Dt||(o===It||o===Ft)&&n===Ht)w=At,p-=(h&&x===$&&$.visualViewport?$.visualViewport.height:x[k])-i.height,p*=l?1:-1;if(o===It||(o===Dt||o===At)&&n===Ht)y=Ft,u-=(h&&x===$&&$.visualViewport?$.visualViewport.width:x[_])-i.width,u*=l?1:-1}var C,T=Object.assign({position:s},c&&yr),E=!0===d?function(e){var t=e.x,r=e.y,i=window.devicePixelRatio||1;return{x:ir(t*i)/i||0,y:ir(r*i)/i||0}}({x:u,y:p}):{x:u,y:p};return u=E.x,p=E.y,l?Object.assign({},T,((C={})[w]=b?"0":"",C[y]=v?"0":"",C.transform=($.devicePixelRatio||1)<=1?"translate("+u+"px, "+p+"px)":"translate3d("+u+"px, "+p+"px, 0)",C)):Object.assign({},T,((t={})[w]=b?p+"px":"",t[y]=v?u+"px":"",t.transform="",t))}var $r={passive:!0};var xr={left:"right",right:"left",bottom:"top",top:"bottom"};function kr(e){return e.replace(/left|right|bottom|top/g,(function(e){return xr[e]}))}var _r={start:"end",end:"start"};function Cr(e){return e.replace(/start|end/g,(function(e){return _r[e]}))}function Tr(e){var t=Qt(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Er(e){return or(cr(e)).left+Tr(e).scrollLeft}function Or(e){var t=sr(e),r=t.overflow,i=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(r+o+i)}function Sr(e){return["html","body","#document"].indexOf(Yt(e))>=0?e.ownerDocument.body:Xt(e)&&Or(e)?e:Sr(dr(e))}function Mr(e,t){var r;void 0===t&&(t=[]);var i=Sr(e),o=i===(null==(r=e.ownerDocument)?void 0:r.body),n=Qt(i),a=o?[n].concat(n.visualViewport||[],Or(i)?i:[]):i,s=t.concat(a);return o?s:s.concat(Mr(dr(a)))}function zr(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Lr(e,t){return t===jt?zr(function(e){var t=Qt(e),r=cr(e),i=t.visualViewport,o=r.clientWidth,n=r.clientHeight,a=0,s=0;return i&&(o=i.width,n=i.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(a=i.offsetLeft,s=i.offsetTop)),{width:o,height:n,x:a+Er(e),y:s}}(e)):Gt(t)?function(e){var t=or(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(t):zr(function(e){var t,r=cr(e),i=Tr(e),o=null==(t=e.ownerDocument)?void 0:t.body,n=tr(r.scrollWidth,r.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=tr(r.scrollHeight,r.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),s=-i.scrollLeft+Er(e),l=-i.scrollTop;return"rtl"===sr(o||r).direction&&(s+=tr(r.clientWidth,o?o.clientWidth:0)-n),{width:n,height:a,x:s,y:l}}(cr(e)))}function Dr(e,t,r){var i="clippingParents"===t?function(e){var t=Mr(dr(e)),r=["absolute","fixed"].indexOf(sr(e).position)>=0&&Xt(e)?gr(e):e;return Gt(r)?t.filter((function(e){return Gt(e)&&ar(e,r)&&"body"!==Yt(e)})):[]}(e):[].concat(t),o=[].concat(i,[r]),n=o[0],a=o.reduce((function(t,r){var i=Lr(e,r);return t.top=tr(i.top,t.top),t.right=rr(i.right,t.right),t.bottom=rr(i.bottom,t.bottom),t.left=tr(i.left,t.left),t}),Lr(e,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function Ar(e){var t,r=e.reference,i=e.element,o=e.placement,n=o?er(o):null,a=o?br(o):null,s=r.x+r.width/2-i.width/2,l=r.y+r.height/2-i.height/2;switch(n){case Dt:t={x:s,y:r.y-i.height};break;case At:t={x:s,y:r.y+r.height};break;case Ft:t={x:r.x+r.width,y:l};break;case It:t={x:r.x-i.width,y:l};break;default:t={x:r.x,y:r.y}}var c=n?ur(n):null;if(null!=c){var d="y"===c?"height":"width";switch(a){case Nt:t[c]=t[c]-(r[d]/2-i[d]/2);break;case Ht:t[c]=t[c]+(r[d]/2-i[d]/2)}}return t}function Fr(e,t){void 0===t&&(t={});var r=t,i=r.placement,o=void 0===i?e.placement:i,n=r.boundary,a=void 0===n?Vt:n,s=r.rootBoundary,l=void 0===s?jt:s,c=r.elementContext,d=void 0===c?Bt:c,h=r.altBoundary,g=void 0!==h&&h,u=r.padding,m=void 0===u?0:u,p=pr("number"!=typeof m?m:fr(m,Rt)),f=d===Bt?qt:Bt,v=e.rects.popper,b=e.elements[g?f:d],y=Dr(Gt(b)?b:b.contextElement||cr(e.elements.popper),a,l),w=or(e.elements.reference),$=Ar({reference:w,element:v,strategy:"absolute",placement:o}),x=zr(Object.assign({},v,$)),k=d===Bt?x:w,_={top:y.top-k.top+p.top,bottom:k.bottom-y.bottom+p.bottom,left:y.left-k.left+p.left,right:k.right-y.right+p.right},C=e.modifiersData.offset;if(d===Bt&&C){var T=C[o];Object.keys(_).forEach((function(e){var t=[Ft,At].indexOf(e)>=0?1:-1,r=[Dt,At].indexOf(e)>=0?"y":"x";_[e]+=T[r]*t}))}return _}function Ir(e,t){void 0===t&&(t={});var r=t,i=r.placement,o=r.boundary,n=r.rootBoundary,a=r.padding,s=r.flipVariations,l=r.allowedAutoPlacements,c=void 0===l?Ut:l,d=br(i),h=d?s?Pt:Pt.filter((function(e){return br(e)===d})):Rt,g=h.filter((function(e){return c.indexOf(e)>=0}));0===g.length&&(g=h);var u=g.reduce((function(t,r){return t[r]=Fr(e,{placement:r,boundary:o,rootBoundary:n,padding:a})[er(r)],t}),{});return Object.keys(u).sort((function(e,t){return u[e]-u[t]}))}const Wr={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,r=e.options,i=e.name;if(!t.modifiersData[i]._skip){for(var o=r.mainAxis,n=void 0===o||o,a=r.altAxis,s=void 0===a||a,l=r.fallbackPlacements,c=r.padding,d=r.boundary,h=r.rootBoundary,g=r.altBoundary,u=r.flipVariations,m=void 0===u||u,p=r.allowedAutoPlacements,f=t.options.placement,v=er(f),b=l||(v===f||!m?[kr(f)]:function(e){if(er(e)===Wt)return[];var t=kr(e);return[Cr(e),t,Cr(t)]}(f)),y=[f].concat(b).reduce((function(e,r){return e.concat(er(r)===Wt?Ir(t,{placement:r,boundary:d,rootBoundary:h,padding:c,flipVariations:m,allowedAutoPlacements:p}):r)}),[]),w=t.rects.reference,$=t.rects.popper,x=new Map,k=!0,_=y[0],C=0;C=0,M=S?"width":"height",z=Fr(t,{placement:T,boundary:d,rootBoundary:h,altBoundary:g,padding:c}),L=S?O?Ft:It:O?At:Dt;w[M]>$[M]&&(L=kr(L));var D=kr(L),A=[];if(n&&A.push(z[E]<=0),s&&A.push(z[L]<=0,z[D]<=0),A.every((function(e){return e}))){_=T,k=!1;break}x.set(T,A)}if(k)for(var F=function(e){var t=y.find((function(t){var r=x.get(t);if(r)return r.slice(0,e).every((function(e){return e}))}));if(t)return _=t,"break"},I=m?3:1;I>0;I--){if("break"===F(I))break}t.placement!==_&&(t.modifiersData[i]._skip=!0,t.placement=_,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Rr(e,t,r){return void 0===r&&(r={x:0,y:0}),{top:e.top-t.height-r.y,right:e.right-t.width+r.x,bottom:e.bottom-t.height+r.y,left:e.left-t.width-r.x}}function Nr(e){return[Dt,Ft,At,It].some((function(t){return e[t]>=0}))}const Hr={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,r=e.options,i=e.name,o=r.offset,n=void 0===o?[0,0]:o,a=Ut.reduce((function(e,r){return e[r]=function(e,t,r){var i=er(e),o=[It,Dt].indexOf(i)>=0?-1:1,n="function"==typeof r?r(Object.assign({},t,{placement:e})):r,a=n[0],s=n[1];return a=a||0,s=(s||0)*o,[It,Ft].indexOf(i)>=0?{x:s,y:a}:{x:a,y:s}}(r,t.rects,n),e}),{}),s=a[t.placement],l=s.x,c=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[i]=a}};const Vr={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,r=e.options,i=e.name,o=r.mainAxis,n=void 0===o||o,a=r.altAxis,s=void 0!==a&&a,l=r.boundary,c=r.rootBoundary,d=r.altBoundary,h=r.padding,g=r.tether,u=void 0===g||g,m=r.tetherOffset,p=void 0===m?0:m,f=Fr(t,{boundary:l,rootBoundary:c,padding:h,altBoundary:d}),v=er(t.placement),b=br(t.placement),y=!b,w=ur(v),$="x"===w?"y":"x",x=t.modifiersData.popperOffsets,k=t.rects.reference,_=t.rects.popper,C="function"==typeof p?p(Object.assign({},t.rects,{placement:t.placement})):p,T="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),E=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,O={x:0,y:0};if(x){if(n){var S,M="y"===w?Dt:It,z="y"===w?At:Ft,L="y"===w?"height":"width",D=x[w],A=D+f[M],F=D-f[z],I=u?-_[L]/2:0,W=b===Nt?k[L]:_[L],R=b===Nt?-_[L]:-k[L],N=t.elements.arrow,H=u&&N?nr(N):{width:0,height:0},V=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},j=V[M],B=V[z],q=mr(0,k[L],H[L]),P=y?k[L]/2-I-q-j-T.mainAxis:W-q-j-T.mainAxis,U=y?-k[L]/2+I+q+B+T.mainAxis:R+q+B+T.mainAxis,K=t.elements.arrow&&gr(t.elements.arrow),Y=K?"y"===w?K.clientTop||0:K.clientLeft||0:0,Q=null!=(S=null==E?void 0:E[w])?S:0,G=D+U-Q,X=mr(u?rr(A,D+P-Q-Y):A,D,u?tr(F,G):F);x[w]=X,O[w]=X-D}if(s){var Z,J="x"===w?Dt:It,ee="x"===w?At:Ft,te=x[$],re="y"===$?"height":"width",ie=te+f[J],oe=te-f[ee],ne=-1!==[Dt,It].indexOf(v),ae=null!=(Z=null==E?void 0:E[$])?Z:0,se=ne?ie:te-k[re]-_[re]-ae+T.altAxis,le=ne?te+k[re]+_[re]-ae-T.altAxis:oe,ce=u&&ne?function(e,t,r){var i=mr(e,t,r);return i>r?r:i}(se,te,le):mr(u?se:ie,te,u?le:oe);x[$]=ce,O[$]=ce-te}t.modifiersData[i]=O}},requiresIfExists:["offset"]};function jr(e,t,r){void 0===r&&(r=!1);var i,o,n=Xt(t),a=Xt(t)&&function(e){var t=e.getBoundingClientRect(),r=ir(t.width)/e.offsetWidth||1,i=ir(t.height)/e.offsetHeight||1;return 1!==r||1!==i}(t),s=cr(t),l=or(e,a),c={scrollLeft:0,scrollTop:0},d={x:0,y:0};return(n||!n&&!r)&&(("body"!==Yt(t)||Or(s))&&(c=(i=t)!==Qt(i)&&Xt(i)?{scrollLeft:(o=i).scrollLeft,scrollTop:o.scrollTop}:Tr(i)),Xt(t)?((d=or(t,!0)).x+=t.clientLeft,d.y+=t.clientTop):s&&(d.x=Er(s))),{x:l.left+c.scrollLeft-d.x,y:l.top+c.scrollTop-d.y,width:l.width,height:l.height}}function Br(e){var t=new Map,r=new Set,i=[];function o(e){r.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!r.has(e)){var i=t.get(e);i&&o(i)}})),i.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){r.has(e.name)||o(e)})),i}var qr={placement:"bottom",modifiers:[],strategy:"absolute"};function Pr(){for(var e=arguments.length,t=new Array(e),r=0;r{},onAfterHide:()=>{},onTransitionEnd:()=>{}},r),this.isVisible=!1,this.popover.hidden=!0,this.popover.classList.remove(this.options.visibleClass),this.popover.addEventListener("transitionend",this.handleTransitionEnd)}handleTransitionEnd(e){e.target===this.options.transitionElement&&(this.options.onTransitionEnd.call(this,e),this.isVisible||this.popover.hidden||(this.popover.hidden=!0,this.popover.classList.remove(this.options.visibleClass),this.options.onAfterHide.call(this)))}destroy(){this.popover.removeEventListener("transitionend",this.handleTransitionEnd),this.popper&&(this.popper.destroy(),this.popper=null)}show(){this.isVisible=!0,this.popover.hidden=!1,requestAnimationFrame((()=>this.popover.classList.add(this.options.visibleClass))),this.popper&&this.popper.destroy(),this.popper=Kr(this.anchor,this.popover,{placement:this.options.placement,strategy:this.options.strategy,modifiers:[{name:"flip",options:{boundary:"viewport"}},{name:"offset",options:{offset:[this.options.skidding,this.options.distance]}}]}),this.popover.addEventListener("transitionend",(()=>this.options.onAfterShow.call(this)),{once:!0}),requestAnimationFrame((()=>this.popper.update()))}hide(){this.isVisible=!1,this.popover.classList.remove(this.options.visibleClass)}setOptions(e){this.options=Object.assign(this.options,e),this.isVisible?this.popover.classList.add(this.options.visibleClass):this.popover.classList.remove(this.options.visibleClass),this.popper&&(this.popper.setOptions({placement:this.options.placement,strategy:this.options.strategy}),requestAnimationFrame((()=>this.popper.update())))}}let Qr=0;const Gr=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grShow=fe(this,"gr-show",7),this.grAfterShow=fe(this,"gr-after-show",7),this.grHide=fe(this,"gr-hide",7),this.grAfterHide=fe(this,"gr-after-hide",7),this.componentId="dropdown-"+ ++Qr,this.isVisible=!1,this.open=!1,this.placement="bottom-start",this.closeOnSelect=!0,this.containingElement=void 0,this.distance=2,this.skidding=0,this.hoist=!1}handleOpenChange(){this.open?this.show():this.hide(),this.updateAccessibleTrigger()}handlePopoverOptionsChange(){this.popoverElement.setOptions({strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding})}connectedCallback(){this.containingElement||(this.containingElement=this.el),this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this),this.handleMenuItemActivate=this.handleMenuItemActivate.bind(this),this.handlePanelSelect=this.handlePanelSelect.bind(this),this.handleTriggerClick=this.handleTriggerClick.bind(this),this.handleTriggerKeyDown=this.handleTriggerKeyDown.bind(this),this.handleTriggerKeyUp=this.handleTriggerKeyUp.bind(this),this.handleTriggerSlotChange=this.handleTriggerSlotChange.bind(this)}componentDidLoad(){this.popoverElement=new Yr(this.trigger,this.positioner,{strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding,transitionElement:this.panel,onAfterHide:()=>this.grAfterHide.emit(),onAfterShow:()=>this.grAfterShow.emit(),onTransitionEnd:()=>{this.open||(this.panel.scrollTop=0)}}),this.open&&this.show()}disconnectedCallback(){this.hide(),this.popoverElement.destroy()}async show(){if(this.isVisible)return;this.grShow.emit().defaultPrevented?this.open=!1:(this.panel.addEventListener("gr-activate",this.handleMenuItemActivate),this.panel.addEventListener("gr-select",this.handlePanelSelect),document.addEventListener("keydown",this.handleDocumentKeyDown),document.addEventListener("mousedown",this.handleDocumentMouseDown),this.isVisible=!0,this.open=!0,this.popoverElement.show())}async hide(){if(!this.isVisible)return;this.grHide.emit().defaultPrevented?this.open=!0:(this.panel.removeEventListener("gr-activate",this.handleMenuItemActivate),this.panel.removeEventListener("gr-select",this.handlePanelSelect),document.addEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("mousedown",this.handleDocumentMouseDown),this.isVisible=!1,this.open=!1,this.popoverElement.hide())}async focusOnTrigger(){const e=this.trigger.querySelector("slot").assignedElements({flatten:!0})[0];e&&("function"==typeof e.setFocus?e.setFocus():"function"==typeof e.focus&&e.focus())}getMenu(){return this.panel.querySelector("slot").assignedElements({flatten:!0}).filter((e=>"gr-menu"===e.tagName.toLowerCase()))[0]}handleDocumentKeyDown(e){var t;if("Escape"===e.key)return this.hide(),void this.focusOnTrigger();if("Tab"===e.key){if(this.open&&"gr-menu-item"===(null===(t=document.activeElement)||void 0===t?void 0:t.tagName.toLowerCase()))return e.preventDefault(),this.hide(),void this.focusOnTrigger();setTimeout((()=>{var e;const t=this.containingElement.getRootNode()instanceof ShadowRoot?null===(e=document.activeElement.shadowRoot)||void 0===e?void 0:e.activeElement:document.activeElement;(null==t?void 0:t.closest(this.containingElement.tagName.toLowerCase()))===this.containingElement||this.hide()}))}}handleDocumentMouseDown(e){e.composedPath().includes(this.containingElement)||this.hide()}handleMenuItemActivate(e){Mt(e.target,this.panel)}handlePanelSelect(e){const t=e.target;this.closeOnSelect&&"gr-menu"===t.tagName.toLowerCase()&&(this.hide(),this.focusOnTrigger())}handleTriggerClick(){this.open?this.hide():this.show()}handleTriggerKeyDown(e){const t=this.getMenu(),r=t?[...t.querySelectorAll("gr-menu-item")]:null,i=r[0],o=r[r.length-1];if("Escape"===e.key)return this.focusOnTrigger(),void this.hide();if([" ","Enter"].includes(e.key))return e.preventDefault(),void(this.open?this.hide():this.show());if(["ArrowDown","ArrowUp"].includes(e.key)){if(e.preventDefault(),this.open||this.show(),"ArrowDown"===e.key&&i)return void i.setFocus();if("ArrowUp"===e.key&&o)return void o.setFocus()}this.open&&t&&!["Tab","Shift","Meta","Ctrl","Alt"].includes(e.key)&&t.typeToSelect(e.key)}handleTriggerKeyUp(e){" "===e.key&&e.preventDefault()}handleTriggerSlotChange(){this.updateAccessibleTrigger()}updateAccessibleTrigger(){const e=this.trigger.querySelector("slot").assignedElements({flatten:!0}).map(Lt)[0];e&&(e.setAttribute("aria-haspopup","true"),e.setAttribute("aria-expanded",this.open?"true":"false"))}render(){return de(ge,{id:this.componentId,class:{"dropdown-open":this.open}},de("span",{class:"dropdown-trigger",ref:e=>this.trigger=e,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown,onKeyUp:this.handleTriggerKeyUp},de("slot",{name:"trigger",onSlotchange:this.handleTriggerSlotChange})),de("div",{ref:e=>this.positioner=e,class:"dropdown-positioner"},de("div",{ref:e=>this.panel=e,class:"dropdown-panel",role:"menu","aria-hidden":this.open?"false":"true","aria-labelledby":this.componentId},de("slot",null))))}get el(){return this}static get watchers(){return{open:["handleOpenChange"],distance:["handlePopoverOptionsChange"],hoist:["handlePopoverOptionsChange"],placement:["handlePopoverOptionsChange"],skidding:["handlePopoverOptionsChange"]}}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{--panel-background-color:var(--gr-color-white);--panel-border-radius:var(--gr-border-radius-medium);--panel-border-color:var(--gr-panel-border-color);--panel-box-shadow:var(--gr-shadow-large);--transition:150ms opacity, 150ms transform;display:inline-block;position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}.dropdown-trigger{display:block}.dropdown-positioner{position:absolute;z-index:var(--gr-z-index-dropdown)}.dropdown-panel{max-height:50vh;font-family:var(--gr-font-family);font-size:var(--gr-font-size-medium);font-weight:var(--gr-font-weight-normal);background-color:var(--panel-background-color);border:solid 1px var(--panel-border-color);border-radius:var(--panel-border-radius);box-shadow:var(--panel-box-shadow);opacity:0;overflow:auto;overscroll-behavior:none;pointer-events:none;transform:scale(0.9);transition:var(--transition)}.dropdown-positioner[data-popper-placement^=top] .dropdown-panel{transform-origin:bottom}.dropdown-positioner[data-popper-placement^=bottom] .dropdown-panel{transform-origin:top}.dropdown-positioner[data-popper-placement^=left] .dropdown-panel{transform-origin:right}.dropdown-positioner[data-popper-placement^=right] .dropdown-panel{transform-origin:left}.dropdown-positioner.popover-visible .dropdown-panel{opacity:1;transform:none;pointer-events:all}"}},[1,"gr-dropdown",{open:[1540],placement:[1],closeOnSelect:[4,"close-on-select"],containingElement:[1040],distance:[2],skidding:[2],hoist:[4],show:[64],hide:[64],focusOnTrigger:[64]}]);function Xr(){if("undefined"==typeof customElements)return;["gr-dropdown"].forEach((e=>{if("gr-dropdown"===e)customElements.get(e)||customElements.define(e,Gr)}))}Xr(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const Zr=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grSelect=fe(this,"gr-select",7),this.typeToSelectString=""}connectedCallback(){this.handleClick=this.handleClick.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this)}async typeToSelect(e){clearTimeout(this.typeToSelectTimeout),this.typeToSelectTimeout=setTimeout((()=>this.typeToSelectString=""),750),this.typeToSelectString+=e.toLowerCase();const t=this.getItems();for(const e of t){if(kt(e.shadowRoot.querySelector("slot:not([name])")).toLowerCase().trim().substring(0,this.typeToSelectString.length)===this.typeToSelectString){e.setFocus();break}}}getItems(){return[...this.menu.querySelector("slot").assignedElements({flatten:!0})].filter((e=>"gr-menu-item"===e.tagName.toLowerCase()&&!e.disabled))}getActiveItem(){return this.getItems().find((e=>e===document.activeElement))}setActiveItem(e){e.setFocus()}handleClick(e){const t=e.target.closest("gr-menu-item");t&&!t.disabled&&this.grSelect.emit({item:t})}handleKeyDown(e){if("Enter"===e.key){const t=this.getActiveItem();e.preventDefault(),t&&this.grSelect.emit({item:t})}if(" "===e.key&&e.preventDefault(),["ArrowDown","ArrowUp","Home","End"].includes(e.key)){const t=this.getItems(),r=this.getActiveItem();let i=t.indexOf(r);if(t.length)return e.preventDefault(),"ArrowDown"===e.key?i++:"ArrowUp"===e.key?i--:"Home"===e.key?i=0:"End"===e.key&&(i=t.length-1),i<0&&(i=0),i>t.length-1&&(i=t.length-1),void this.setActiveItem(t[i])}this.typeToSelect(e.key)}render(){return de("div",{ref:e=>this.menu=e,class:"menu",role:"menu",onClick:this.handleClick,onKeyDown:this.handleKeyDown},de("slot",null))}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{--padding-top:var(--gr-spacing-x-small);--padding-bottom:var(--gr-spacing-x-small);display:block;padding-top:var(--padding-top);padding-left:0;padding-right:0;padding-bottom:var(--padding-bottom);box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host:focus{outline:none}"}},[1,"gr-menu",{typeToSelect:[64]}]);function Jr(){if("undefined"==typeof customElements)return;["gr-menu"].forEach((e=>{if("gr-menu"===e)customElements.get(e)||customElements.define(e,Zr)}))}Jr(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const ei=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grClear=fe(this,"gr-clear",7),this.type="primary",this.size="medium",this.pill=!1,this.clearable=!1,this.truncate=!1,this.title=""}connectedCallback(){this.handleClearClick=this.handleClearClick.bind(this)}handleClearClick(){this.grClear.emit()}render(){return de(ge,{class:{[`tag-${this.type}`]:!0,[`tag-${this.size}`]:!0,"tag-pill":this.pill,"tag-clearable":this.clearable}},de("span",{class:"tag"},de("span",{class:{"tag-truncate":this.truncate},title:this.title},de("slot",null)),this.clearable&&de("gr-button",{variant:"plain",size:this.size,class:"tag-clear","aria-label":"clear",onClick:this.handleClearClick},de("svg",{slot:"icon-only",role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Close"),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 368L144 144M368 144L144 368"})))))}static get style(){return":host{--height:calc(var(--gr-form-element-height-medium) * 0.8);--line-height:calc(var(--gr-form-element-height-medium) - 1px * 2);--border-radius:var(--gr-form-element-border-radius-medium);--border-width:1px;--border-style:solid;--padding-top:0;--padding-start:var(--gr-spacing-small);--padding-end:var(--gr-spacing-small);--padding-bottom:0;--font-size:var(--gr-form-element-font-size-medium);--background-color:rgba(var(--gr-color-primary-rgb), 0.05);--border-color:rgba(var(--gr-color-primary-rgb), 0.2);--color:var(--gr-color-primary-shade);--clear-color:var(--gr-color-primary);--clear-color-hover:var(--gr-color-primary-shade);--clear-margin-left:var(--gr-spacing-xx-small);--clear-margin-right:calc(-1 * var(--gr-spacing-xxx-small));display:inline-block;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host(.tag-success){--background-color:rgba(var(--gr-color-success-rgb), 0.05);--border-color:rgba(var(--gr-color-success-rgb), 0.2);--color:var(--gr-color-success-shade);--clear-color:var(--gr-color-success);--clear-color-hover:var(--gr-color-success-shade)}:host(.tag-info){--background-color:rgba(var(--gr-color-medium-rgb), 0.05);--border-color:rgba(var(--gr-color-medium-rgb), 0.2);--color:var(--gr-color-medium-shade);--clear-color:var(--gr-color-medium);--clear-color-hover:var(--gr-color-medium-shade)}:host(.tag-warning){--background-color:rgba(var(--gr-color-warning-rgb), 0.05);--border-color:rgba(var(--gr-color-warning-rgb), 0.2);--color:var(--gr-color-warning-shade);--clear-color:var(--gr-color-warning);--clear-color-hover:var(--gr-color-warning-shade)}:host(.tag-danger){--background-color:rgba(var(--gr-color-danger-rgb), 0.05);--border-color:rgba(var(--gr-color-danger-rgb), 0.2);--color:var(--gr-color-danger-shade);--clear-color:var(--gr-color-danger);--clear-color-hover:var(--gr-color-danger-shade)}:host(.tag-small){--font-size:var(--gr-form-element-font-size-small);--height:calc(var(--gr-form-element-height-small) * 0.8);--line-height:calc(var(--gr-form-element-height-small) - 1px * 2);--border-radius:var(--gr-form-element-border-radius-small);--padding-start:var(--gr-spacing-x-small);--padding-end:var(--gr-spacing-x-small);--clear-margin-left:var(--gr-spacing-xx-small);--clear-margin-right:calc(-1 * var(--gr-spacing-xxx-small))}:host(.tag-large){--font-size:var(--gr-form-element-font-size-large);--height:calc(var(--gr-form-element-height-large) * 0.8);--line-height:calc(var(--gr-form-element-height-large) - 1px * 2);--border-radius:var(--gr-form-element-border-radius-large);--padding:0 var(--gr-spacing-medium);--clear-margin-left:var(--gr-spacing-xx-small);--clear-margin-right:calc(-1 * var(--gr-spacing-x-small))}.tag{display:flex;align-items:center;border-style:var(--border-style);border-width:var(--border-width);border-radius:var(--border-radius);white-space:nowrap;user-select:none;cursor:default;font-family:var(--gr-font-family);font-size:var(--font-size);font-weight:var(--gr-font-weight-normal);height:var(--height);line-height:var(--line-height);padding-top:var(--padding-top);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-bottom:var(--padding-bottom);background-color:var(--background-color);border-color:var(--border-color);color:var(--color)}.tag-clear{--color:var(--clear-color);--color-hover:var(--clear-color-hover);--padding-start:0;--padding-end:0;margin-left:var(--clear-margin-left);margin-right:var(--clear-margin-right);--height:1em}.tag-clear svg{font-size:0.7em}.tag-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-clear svg{width:1.1em;height:1.1em}:host(.tag-pill) .tag{border-radius:var(--height)}"}},[1,"gr-tag",{type:[513],size:[513],pill:[516],clearable:[516],truncate:[516],title:[513]}]);function ti(){if("undefined"==typeof customElements)return;["gr-tag","gr-button","gr-spinner"].forEach((e=>{switch(e){case"gr-tag":customElements.get(e)||customElements.define(e,ei);break;case"gr-button":customElements.get(e)||St();break;case"gr-spinner":customElements.get(e)||Et()}}))}ti(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const ri="undefined"!=typeof HTMLElement?HTMLElement:class{};let ii=0;const oi=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grChange=fe(this,"gr-change",7),this.grFocus=fe(this,"gr-focus",7),this.grBlur=fe(this,"gr-blur",7),this.inputId="select-"+ ++ii,this.labelId=`select-label-${ii}`,this.helpTextId=`select-help-text-${ii}`,this.invalidTextId=`select-invalid-text-${ii}`,this.inheritedAttributes={},this.handleBlur=()=>{this.isOpen||(this.hasFocus=!1,this.grBlur.emit())},this.handleFocus=()=>{this.hasFocus||(this.hasFocus=!0,this.grFocus.emit())},this.hasFocus=!1,this.hasHelpTextSlot=!1,this.hasInvalidTextSlot=!1,this.hasLabelSlot=!1,this.isOpen=!1,this.items=[],this.displayLabel="",this.displayTags=[],this.multiple=!1,this.maxTagsVisible=3,this.disabled=!1,this.name="",this.placeholder="",this.size="medium",this.hoist=!1,this.value="",this.pill=!1,this.label="",this.requiredIndicator=!1,this.helpText="",this.invalidText="",this.invalid=!1,this.clearable=!1}handleDisabledChange(){this.disabled&&this.isOpen&&this.dropdown.hide()}handleLabelChange(){this.handleSlotChange()}handleMultipleChange(){const e=this.getValueAsArray();this.value=this.multiple?e:e[0]||"",this.syncItemsFromValue()}handleValueChange(){this.syncItemsFromValue(),this.grChange.emit()}connectedCallback(){this.handleClearClick=this.handleClearClick.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleLabelClick=this.handleLabelClick.bind(this),this.handleMenuHide=this.handleMenuHide.bind(this),this.handleMenuShow=this.handleMenuShow.bind(this),this.handleMenuSelect=this.handleMenuSelect.bind(this),this.handleSlotChange=this.handleSlotChange.bind(this),this.handleTagInteraction=this.handleTagInteraction.bind(this),this.el.shadowRoot.addEventListener("slotchange",this.handleSlotChange)}componentWillLoad(){this.handleSlotChange(),this.inheritedAttributes=Ct(this.el,["aria-label"])}componentDidLoad(){this.resizeObserver=new ResizeObserver((()=>this.resizeMenu())),this.reportDuplicateItemValues(),requestAnimationFrame((()=>this.syncItemsFromValue()))}disconnectedCallback(){this.el.shadowRoot.removeEventListener("slotchange",this.handleSlotChange)}async setFocus(){this.hasFocus=!0,this.grFocus.emit(),this.dropdown.focusOnTrigger()}getItemLabel(e){return kt(e.shadowRoot.querySelector("slot:not([name])"))}getItems(){return[...this.el.querySelectorAll("gr-menu-item")]}getValueAsArray(){return Array.isArray(this.value)?this.value:[this.value]}handleClearClick(e){e.stopPropagation(),this.value=this.multiple?[]:"",this.syncItemsFromValue()}handleKeyDown(e){const t=e.target,r=this.getItems(),i=r[0],o=r[r.length-1];if("gr-tag"!==t.tagName.toLowerCase())if("Tab"!==e.key){if(["ArrowDown","ArrowUp"].includes(e.key)){if(e.preventDefault(),this.isOpen||this.dropdown.show(),"ArrowDown"===e.key&&i)return void i.setFocus();if("ArrowUp"===e.key&&o)return void o.setFocus()}this.isOpen||1!==e.key.length||(e.stopPropagation(),e.preventDefault(),this.dropdown.show(),this.menu.typeToSelect(e.key))}else this.isOpen&&this.dropdown.hide()}handleLabelClick(){this.box.focus()}handleMenuSelect(e){const t=e.detail.item;this.multiple?this.value=this.value.includes(t.value)?this.value.filter((e=>e!==t.value)):[...this.value,t.value]:this.value=t.value,this.syncItemsFromValue()}handleMenuShow(e){this.disabled?e.preventDefault():(this.resizeMenu(),this.resizeObserver.observe(this.el),this.isOpen=!0)}handleMenuHide(){this.resizeObserver.unobserve(this.el),this.isOpen=!1,this.box.focus()}handleSlotChange(){this.hasHelpTextSlot=_t(this.el,"help-text"),this.hasInvalidTextSlot=_t(this.el,"invalid-text"),this.hasLabelSlot=_t(this.el,"label"),this.syncItemsFromValue(),this.reportDuplicateItemValues()}handleTagInteraction(e){e.composedPath().find((e=>{if(e instanceof ri)return e.classList.contains("tag-clear")}))&&e.stopPropagation()}reportDuplicateItemValues(){const e=this.getItems().map((e=>e.value)).filter(((e,t,r)=>r.indexOf(e)!==t));if(e.length)throw new Error('Duplicate value found on in : "'+e.join('", "')+'"')}resizeMenu(){this.menu.style.width=`${this.box.clientWidth}px`}syncItemsFromValue(){const e=this.getItems(),t=this.getValueAsArray();if(e.map((e=>e.checked=t.includes(e.value))),this.multiple){const r=[];if(t.map((t=>e.map((e=>e.value===t?r.push(e):null)))),this.displayTags=r.map((e=>de("gr-tag",{type:"info",size:this.size,pill:this.pill,clearable:!0,onClick:this.handleTagInteraction,onKeyDown:this.handleTagInteraction,"onGr-clear":t=>{t.stopPropagation(),this.disabled||(e.checked=!1,this.syncValueFromItems())}},this.getItemLabel(e)))),this.maxTagsVisible>0&&this.displayTags.length>this.maxTagsVisible){const e=this.displayTags.length;this.displayLabel="",this.displayTags=this.displayTags.slice(0,this.maxTagsVisible),this.displayTags.push(de("gr-tag",{type:"info",size:this.size,pill:this.pill},"+",e-this.maxTagsVisible))}}else{const r=e.filter((e=>e.value===t[0]))[0];this.displayLabel=r?this.getItemLabel(r):"",this.displayTags=[]}}syncValueFromItems(){const e=this.getItems().filter((e=>e.checked)).map((e=>e.value));this.multiple?this.value=this.value.filter((t=>e.includes(t))):this.value=e.length>0?e[0]:""}render(){var e;const t=this.multiple?this.value.length>0:""!==this.value,r=this.inheritedAttributes["aria-label"]?{"aria-label":this.inheritedAttributes["aria-label"]}:{"aria-labelledby":this.labelId};return((e,t,r,i)=>{let o=e.querySelector("input.aux-input");o||(o=e.ownerDocument.createElement("input"),o.type="hidden",o.classList.add("aux-input"),e.appendChild(o)),o.disabled=i,o.name=t,o.value=r||""})(this.el,this.name,ni(this.value),this.disabled),de(xt,{inputId:this.inputId,label:this.label,labelId:this.labelId,hasLabelSlot:this.hasLabelSlot,helpTextId:this.helpTextId,helpText:this.helpText,hasHelpTextSlot:this.hasHelpTextSlot,invalidTextId:this.invalidTextId,invalidText:this.invalidText,invalid:this.invalid,hasInvalidTextSlot:this.hasInvalidTextSlot,size:this.size,onLabelClick:this.handleLabelClick,requiredIndicator:this.requiredIndicator},de("gr-dropdown",{ref:e=>this.dropdown=e,hoist:this.hoist,closeOnSelect:!this.multiple,containingElement:this.el,class:{select:!0,"select-open":this.isOpen,"select-empty":0===(null===(e=this.value)||void 0===e?void 0:e.length),"select-focused":this.hasFocus,"select-clearable":this.clearable,"select-disabled":this.disabled,"select-multiple":this.multiple,"select-has-tags":this.multiple&&t,"select-placeholder-visible":""===this.displayLabel,[`select-${this.size}`]:!0,"select-pill":this.pill,"select-invalid":this.invalid},"onGr-show":this.handleMenuShow,"onGr-hide":this.handleMenuHide},de("div",Object.assign({slot:"trigger",ref:e=>this.box=e,id:this.inputId,class:"select-box",role:"combobox"},r,{"aria-describedby":this.invalid?this.invalidTextId:this.helpTextId,"aria-haspopup":"true","aria-expanded":this.isOpen?"true":"false","aria-invalid":this.invalid?"true":"false","aria-required":this.requiredIndicator?"true":"false",tabIndex:this.disabled?-1:0,onBlur:this.handleBlur,onFocus:this.handleFocus,onKeyDown:this.handleKeyDown}),de("div",{class:"select-label"},this.displayTags.length?de("span",{class:"select-tags"},this.displayTags):this.displayLabel||this.placeholder),this.clearable&&t&&de("button",{class:"select-clear",type:"button",onClick:this.handleClearClick,"aria-label":"clear",tabindex:"-1"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Close Circle"),de("path",{d:"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"}),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M320 320L192 192M192 320l128-128"}))),de("span",{class:"caret"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Chevron Down"),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"48",d:"M112 184l144 144 144-144"}))),de("input",{class:"select-hidden-select","aria-hidden":"true",value:t?"1":"",tabIndex:-1})),de("gr-menu",{ref:e=>this.menu=e,class:"select-menu","onGr-select":this.handleMenuSelect},de("slot",{onSlotchange:this.handleSlotChange}))))}get el(){return this}static get watchers(){return{disabled:["handleDisabledChange"],helpText:["handleLabelChange"],invalidText:["handleLabelChange"],label:["handleLabelChange"],multiple:["handleMultipleChange"],value:["handleValueChange"]}}static get style(){return".form-control .form-control-label{display:none}.form-control .form-control-help-text{display:none}.form-control .form-control-invalid-text{display:none}.form-control-has-label .form-control-label{display:flex;line-height:var(--gr-line-height-normal);color:var(--gr-form-element-label-color);margin-bottom:var(--gr-spacing-xxx-small)}.form-control-has-label.form-control-small .form-control-label{font-size:var(--gr-form-element-label-font-size-small)}.form-control-has-label.form-control-medium .form-control-label{font-size:var(--gr-form-element-label-font-size-medium)}.form-control-has-label.form-control-large .form-control-label{font-size:var(--gr-form-element-label-font-size-large)}.form-control-has-label .form-control-label .asterisk{margin-left:var(--gr-spacing-x-small);color:var(--gr-color-medium)}.form-control-has-label .form-control-label .asterisk svg{width:0.6em;height:0.6em;margin-bottom:var(--gr-spacing-xxx-small)}.form-control-has-help-text .form-control-help-text{display:block;line-height:var(--gr-line-height-normal);color:var(--gr-form-element-help-text-color);margin-top:var(--gr-spacing-xxx-small)}.form-control-has-help-text.form-control-small .form-control-help-text{font-size:var(--gr-form-element-help-text-font-size-small);min-height:1.625rem}.form-control-has-help-text.form-control-medium .form-control-help-text{font-size:var(--gr-form-element-help-text-font-size-medium);min-height:1.875rem}.form-control-has-help-text.form-control-large .form-control-help-text{font-size:var(--gr-form-element-help-text-font-size-large);min-height:2.125rem}.form-control-has-invalid-text .form-control-invalid-text{display:flex;margin-left:-2px;line-height:var(--gr-line-height-normal);color:var(--gr-form-element-invalid-text-color);margin-top:var(--gr-spacing-xxx-small)}.form-control-has-invalid-text .form-control-invalid-text .icon{margin-top:var(--gr-spacing-xxx-small);margin-right:var(--gr-spacing-xx-small)}.form-control-has-invalid-text .form-control-invalid-text .icon svg{width:1.4em;height:1.4em}.form-control-has-invalid-text.form-control-small .form-control-invalid-text{font-size:var(--gr-form-element-invalid-text-font-size-small);min-height:1.625rem}.form-control-has-invalid-text.form-control-medium .form-control-invalid-text{font-size:var(--gr-form-element-invalid-text-font-size-medium);min-height:1.875rem}.form-control-has-invalid-text.form-control-large .form-control-invalid-text{font-size:var(--gr-form-element-invalid-text-font-size-large);min-height:2.125rem}.gr-scroll-lock{overflow:hidden !important}:host{--font-size:var(--gr-form-element-font-size-medium);--font-weight:var(--gr-font-weight-normal);--background-color:var(--gr-color-white);--background-color-hover:var(--gr-color-white);--background-color-focus:var(--gr-color-white);--background-color-invalid:var(--gr-color-white);--background-color-invalid-hover:var(--gr-color-white);--border-radius:var(--gr-form-element-border-radius-small);--border-color:var(--gr-color-light-shade);--border-color-hover:var(--gr-color-medium);--border-color-focus:var(--gr-color-primary);--border-color-invalid:var(--gr-color-danger);--border-color-invalid-hover:var(--gr-color-danger-shade);--color:var(--gr-color-dark-tint);--placeholder-color:var(--gr-color-medium-tint);--min-height:var(--gr-form-element-height-medium);--label-margin-start:var(--gr-spacing-medium);--label-margin-end:var(--gr-spacing-medium);--clear-icon-margin-end:var(--gr-spacing-medium);--caret-margin-end:var(--gr-spacing-medium);--tags-padding-top:3px;--tags-padding-bottom:3px;--tags-margin-end:var(--gr-spacing-xx-small);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33);display:block;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}.select-small{--font-size:var(--gr-form-element-font-size-small);--min-height:var(--gr-form-element-height-small);--label-margin-start:var(--gr-spacing-small);--label-margin-end:var(--gr-spacing-small);--clear-icon-margin-end:var(--gr-spacing-small);--caret-margin-end:var(--gr-spacing-small);--tags-padding-top:2px;--tags-padding-bottom:2px}.select-large{--font-size:var(--gr-form-element-font-size-large);--min-height:var(--gr-form-element-height-large);--label-margin-start:var(--gr-spacing-large);--label-margin-end:var(--gr-spacing-large);--clear-icon-margin-end:var(--gr-spacing-large);--caret-margin-end:var(--gr-spacing-large);--tags-padding-top:4px;--tags-padding-bottom:4px}.select{display:block}.select-box{display:inline-flex;align-items:center;justify-content:start;position:relative;width:100%;font-family:var(--gr-font-family);font-size:var(--font-size);font-weight:var(--font-weight);letter-spacing:normal;background-color:var(--background-color);border:solid 1px var(--border-color);border-radius:var(--border-radius);min-height:var(--min-height);color:var(--color);vertical-align:middle;overflow:hidden;transition:150ms color, 150ms border, 150ms box-shadow;cursor:pointer}.select.select-invalid:not(.select-disabled) .select-box{background-color:var(--background-color-invalid);border-color:var(--border-color-invalid)}.select.select-invalid:not(.select-disabled):not(.select-focused) .select-box:hover{background-color:var(--background-color-invalid-hover);border-color:var(--border-color-invalid-hover)}.select.select-invalid:not(.select-disabled) .select-box{background-color:var(--background-color-invalid);border-color:var(--border-color-invalid)}.select:not(.select-disabled) .select-box:hover{background-color:var(--background-color-hover);border-color:var(--border-color-hover)}.select.select-focused:not(.select-disabled) .select-box{outline:none;box-shadow:var(--focus-ring);border-color:var(--border-color-focus);background-color:var(--background-color-focus)}.select-disabled .select-box{opacity:0.5;cursor:not-allowed;outline:none}.select-disabled .select-tags,.select-disabled .select-clear{pointer-events:none}.select-label{flex:1 1 auto;display:flex;align-items:center;user-select:none;margin-top:0;margin-left:var(--label-margin-start);margin-right:var(--label-margin-end);margin-bottom:0;scrollbar-width:none;-ms-overflow-style:none;overflow-x:auto;overflow-y:hidden;white-space:nowrap}.select-label::-webkit-scrollbar{width:0;height:0}.select-has-tags .select-label{margin-left:0}.select-clear{display:inline-flex;align-items:center;font-size:inherit;color:var(--gr-color-medium);border:none;background:none;padding:0;transition:150ms color;cursor:pointer;margin-right:var(--clear-icon-margin-end)}.select-clear:hover{color:var(--gr-color-dark)}.select-clear:focus{outline:none}.select-clear svg{width:1.2em;height:1.2em;font-size:var(--font-size)}.caret{flex:0 0 auto;display:inline-flex;transition:250ms transform ease;margin-right:var(--caret-margin-end)}.caret svg{width:1em;height:1em;font-size:var(--font-size)}.select-open .caret{transform:rotate(-180deg)}.select-placeholder-visible .select-label{color:var(--placeholder-color)}.select-tags{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:left;margin-left:var(--gr-spacing-xx-small);padding-bottom:var(--tags-padding-bottom)}.select-tags gr-tag{padding-top:var(--tags-padding-top)}.select-tags gr-tag:not(:last-of-type){margin-right:var(--tags-margin-end)}.select-hidden-select{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px;position:absolute;top:0;left:0;width:100%;height:100%}.select-pill .select-box{border-radius:var(--min-height)}"}},[1,"gr-select",{multiple:[4],maxTagsVisible:[2,"max-tags-visible"],disabled:[4],name:[1],placeholder:[1],size:[1],hoist:[4],value:[1025],pill:[4],label:[1],requiredIndicator:[4,"required-indicator"],helpText:[1,"help-text"],invalidText:[1,"invalid-text"],invalid:[516],clearable:[4],hasFocus:[32],hasHelpTextSlot:[32],hasInvalidTextSlot:[32],hasLabelSlot:[32],isOpen:[32],items:[32],displayLabel:[32],displayTags:[32],setFocus:[64]}]),ni=e=>{if(null!=e)return Array.isArray(e)?e.join(","):e.toString()};!function(){if("undefined"==typeof customElements)return;["gr-select","gr-button","gr-dropdown","gr-menu","gr-spinner","gr-tag"].forEach((e=>{switch(e){case"gr-select":customElements.get(e)||customElements.define(e,oi);break;case"gr-button":customElements.get(e)||St();break;case"gr-dropdown":customElements.get(e)||Xr();break;case"gr-menu":customElements.get(e)||Jr();break;case"gr-spinner":customElements.get(e)||Et();break;case"gr-tag":customElements.get(e)||ti()}}))}();const ai=oi,si=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.hasFocus=!1,this.checked=!1,this.value="",this.disabled=!1}connectedCallback(){this.handleBlur=this.handleBlur.bind(this),this.handleFocus=this.handleFocus.bind(this),this.handleMouseEnter=this.handleMouseEnter.bind(this),this.handleMouseLeave=this.handleMouseLeave.bind(this)}async setFocus(e){this.el.focus(e)}async removeFocus(){this.el.blur()}handleBlur(){this.hasFocus=!1}handleFocus(){this.hasFocus=!0}handleMouseEnter(){this.setFocus()}handleMouseLeave(){this.removeFocus()}render(){return de(ge,{class:{"menu-item-checked":this.checked,"menu-item-disabled":this.disabled,"menu-item-focused":this.hasFocus},role:"menuitem","aria-disabled":this.disabled?"true":"false","aria-checked":this.checked?"true":"false",tabIndex:this.disabled?null:0,onFocus:this.handleFocus,onBlur:this.handleBlur,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave},de("span",{class:"checkmark"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Checkmark"),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M416 128L192 384l-96-96"}))),de("span",{class:"start"},de("slot",{name:"start"})),de("span",{class:"label"},de("slot",null)),de("span",{class:"end"},de("slot",{name:"end"})))}get el(){return this}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{--line-height:var(--gr-line-height-normal);--background-color:transparent;--background-color-focused:var(--gr-color-primary);--color:var(--gr-color-dark);--color-focused:var(--gr-color-primary-contrast);--color-disabled:var(--gr-color-medium);--padding-top:var(--gr-spacing-xx-small);--padding-start:var(--gr-spacing-x-large);--padding-end:var(--gr-spacing-x-large);--padding-bottom:var(--gr-spacing-xx-small);--transition:background-color 150ms linear, color 150ms linear;position:relative;display:flex;align-items:stretch;font-family:var(--gr-font-family);font-size:var(--gr-font-size-medium);font-weight:var(--gr-font-weight-normal);line-height:var(--line-height);letter-spacing:var(--gr-letter-spacing-normal);text-align:left;background-color:var(--background-color);color:var(--color);padding-top:var(--padding-top);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-bottom:var(--padding-bottom);transition:var(--transition);user-select:none;white-space:nowrap;cursor:pointer;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host(.menu-item-focused:not(.menu-item-disabled)){outline:none;background-color:var(--background-color-focused);color:var(--color-focused)}:host(.menu-item-disabled){outline:none;color:var(--color-disabled);cursor:not-allowed}.checkmark{display:flex;position:absolute;left:0.5em;top:calc(50% - 0.5em);visibility:hidden;align-items:center;font-size:inherit}.checkmark svg{display:inline-block;width:1.1em;height:1.1em;contain:strict;fill:currentcolor;box-sizing:content-box !important}:host(.menu-item-checked) .checkmark{visibility:visible}.label{flex:1 1 auto}.start{flex:0 0 auto;display:flex;align-items:center}.start ::slotted(:last-child){margin-right:0.5em}.end{flex:0 0 auto;display:flex;align-items:center}.end ::slotted(:first-child){margin-left:0.5em}"}},[1,"gr-menu-item",{checked:[516],value:[513],disabled:[516],hasFocus:[32],setFocus:[64],removeFocus:[64]}]); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */!function(){if("undefined"==typeof customElements)return;["gr-menu-item"].forEach((e=>{if("gr-menu-item"===e)customElements.get(e)||customElements.define(e,si)}))}();const li={"gr-select":ai,"gr-menu-item":si};class ci extends(P(_)){constructor(){super(...arguments),this.value=null,this.multiple=!1,this.clearable=!1,this._refSelect=y()}reset(){this.value=null}_valueChangedHandler(e){const t=this._refSelect.value?.value;if(void 0!==t&&!l(this.value,t)){const e=null===this.value;this.value=t,e||w(this,"select:change",t)}}willUpdate(e){e.has("initialValue")&&this.initialValue&&!this.value&&(this.value=this.initialValue)}render(){return $` - ${this.options?.map((e=>$`${e.label}`))} - `}static get styles(){return k(':root, :host {\n --gr-color-primary: #1079b2;\n --gr-color-primary-rgb: 16, 121, 178;\n --gr-color-primary-contrast: #ffffff;\n --gr-color-primary-contrast-rgb: 255, 255, 255;\n --gr-color-primary-shade: #0d6696;\n --gr-color-primary-tint: #1499e1;\n --gr-color-secondary: #051f2c;\n --gr-color-secondary-rgb: 5, 31, 44;\n --gr-color-secondary-contrast: #ffffff;\n --gr-color-secondary-contrast-rgb: 255, 255, 255;\n --gr-color-secondary-shade: #000000;\n --gr-color-secondary-tint: #0a415c;\n --gr-color-tertiary: #0c4a6e;\n --gr-color-tertiary-rgb: 12, 74, 110;\n --gr-color-tertiary-contrast: #ffffff;\n --gr-color-tertiary-contrast-rgb: 255, 255, 255;\n --gr-color-tertiary-shade: #083249;\n --gr-color-tertiary-tint: #106393;\n --gr-color-success: #0fbe78;\n --gr-color-success-rgb: 15, 190, 120;\n --gr-color-success-contrast: #000000;\n --gr-color-success-contrast-rgb: 0, 0, 0;\n --gr-color-success-shade: #057f4e;\n --gr-color-success-tint: #12e28f;\n --gr-color-warning: #fbbc4e;\n --gr-color-warning-rgb: 251, 188, 78;\n --gr-color-warning-contrast: #051f2c;\n --gr-color-warning-contrast-rgb: 5, 31, 44;\n --gr-color-warning-shade: #9e6400;\n --gr-color-warning-tint: #fdd187;\n --gr-color-danger: #e60017;\n --gr-color-danger-rgb: 230, 0, 23;\n --gr-color-danger-contrast: #ffffff;\n --gr-color-danger-contrast-rgb: 255, 255, 255;\n --gr-color-danger-shade: #cc0014;\n --gr-color-danger-tint: #ff1f35;\n --gr-color-light: #f4f5f8;\n --gr-color-light-rgb: 244, 245, 248;\n --gr-color-light-contrast: #051f2c;\n --gr-color-light-contrast-rgb: 5, 31, 44;\n --gr-color-light-shade: #d7d8da;\n --gr-color-light-tint: #f9fafb;\n --gr-color-medium: #5e6c78;\n --gr-color-medium-rgb: 94, 108, 120;\n --gr-color-medium-contrast: #ffffff;\n --gr-color-medium-contrast-rgb: 255, 255, 255;\n --gr-color-medium-shade: #48535b;\n --gr-color-medium-tint: #81909c;\n --gr-color-dark: #02131b;\n --gr-color-dark-rgb: 2, 19, 27;\n --gr-color-dark-contrast: #ffffff;\n --gr-color-dark-contrast-rgb: 255, 255, 255;\n --gr-color-dark-shade: #000000;\n --gr-color-dark-tint: #222428;\n --gr-color-white: #ffffff;\n --gr-color-black: #000000;\n --gr-border-radius-small: 0.125rem;\n --gr-border-radius-medium: 0.25rem;\n --gr-border-radius-large: 0.5rem;\n --gr-border-radius-x-large: 1rem;\n --gr-border-width-small: 0.063rem;\n --gr-border-width-medium: 0.125rem;\n --gr-border-width-large: 0.188rem;\n --gr-shadow-x-small: 0 1px 0 #0d131e0d;\n --gr-shadow-small: 0 1px 2px #0d131e1a;\n --gr-shadow-medium: 0 2px 4px #0d131e1a;\n --gr-shadow-large: 0 2px 8px #0d131e1a;\n --gr-shadow-x-large: 0 4px 16px #0d131e1a;\n --gr-spacing-xxx-small: 0.125rem;\n --gr-spacing-xx-small: 0.25rem;\n --gr-spacing-x-small: 0.5rem;\n --gr-spacing-small: 0.75rem;\n --gr-spacing-medium: 1rem;\n --gr-spacing-large: 1.25rem;\n --gr-spacing-x-large: 1.75rem;\n --gr-spacing-xx-large: 2.25rem;\n --gr-spacing-xxx-large: 3rem;\n --gr-spacing-xxxx-large: 4.5rem;\n --gr-font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial,\n sans-serif;\n --gr-letter-spacing-dense: -0.015em;\n --gr-letter-spacing-normal: normal;\n --gr-letter-spacing-loose: 0.075em;\n --gr-line-height-dense: 1.4;\n --gr-line-height-normal: 1.8;\n --gr-line-height-loose: 2.2;\n --gr-font-size-xx-small: 0.625rem;\n --gr-font-size-x-small: 0.75rem;\n --gr-font-size-small: 0.875rem;\n --gr-font-size-medium: 1rem;\n --gr-font-size-large: 1.25rem;\n --gr-font-size-x-large: 1.5rem;\n --gr-font-size-xx-large: 2.25rem;\n --gr-font-size-xxx-large: 3rem;\n --gr-font-size-xxxx-large: 4.5rem;\n --gr-font-weight-thin: 100;\n --gr-font-weight-extra-light: 200;\n --gr-font-weight-light: 300;\n --gr-font-weight-normal: 400;\n --gr-font-weight-medium: 500;\n --gr-font-weight-semi-bold: 600;\n --gr-font-weight-bold: 700;\n --gr-font-weight-extra-bold: 800;\n --gr-font-weight-black: 900;\n --gr-form-element-font-size-x-small: var(--gr-font-size-x-small);\n --gr-form-element-font-size-small: var(--gr-font-size-small);\n --gr-form-element-font-size-medium: var(--gr-font-size-medium);\n --gr-form-element-font-size-large: var(--gr-font-size-large);\n --gr-form-element-height-small: 2.188rem;\n --gr-form-element-height-medium: 3.125rem;\n --gr-form-element-height-large: 4.063rem;\n --gr-form-element-border-radius-small: var(--gr-border-radius-medium);\n --gr-form-element-border-radius-medium: var(--gr-border-radius-medium);\n --gr-form-element-border-radius-large: var(--gr-border-radius-medium);\n --gr-focus-ring-width: 2px;\n --gr-form-element-label-font-size-small: var(--gr-font-size-small);\n --gr-form-element-label-font-size-medium: var(--gr-font-size-medium);\n --gr-form-element-label-font-size-large: var(--gr-font-size-large);\n --gr-form-element-label-color: inherit;\n --gr-form-element-help-text-font-size-small: var(--gr-font-size-x-small);\n --gr-form-element-help-text-font-size-medium: var(--gr-font-size-small);\n --gr-form-element-help-text-font-size-large: var(--gr-font-size-medium);\n --gr-form-element-help-text-color: var(--gr-color-medium);\n --gr-form-element-invalid-text-font-size-small: var(--gr-font-size-x-small);\n --gr-form-element-invalid-text-font-size-medium: var(--gr-font-size-small);\n --gr-form-element-invalid-text-font-size-large: var(--gr-font-size-medium);\n --gr-form-element-invalid-text-color: var(--gr-color-danger);\n --gr-toggle-size: 1rem;\n --gr-panel-border-color: var(--gr-color-light-shade);\n --gr-z-index-dropdown: 900;\n}\n\n')}}ci.elementDefinitions={...li},f([v({attribute:!1,hasChanged:b})],ci.prototype,"options",void 0),f([v({attribute:!1,hasChanged:b})],ci.prototype,"value",void 0),f([v({attribute:!1,hasChanged:b})],ci.prototype,"initialValue",void 0),f([v({attribute:!0})],ci.prototype,"label",void 0),f([v({attribute:!0})],ci.prototype,"placeholder",void 0),f([v({attribute:!0,type:Boolean})],ci.prototype,"multiple",void 0),f([v({attribute:!0,type:Boolean})],ci.prototype,"clearable",void 0);let di=class extends(P(_)){constructor(){super(...arguments),this._mediaFilterController=new U(this),this._refMediaType=y(),this._refCamera=y(),this._refWhen=y(),this._refWhenFrom=y(),this._refWhenTo=y(),this._refWhat=y(),this._refWhere=y(),this._refFavorite=y(),this._refTags=y()}willUpdate(e){e.has("viewManagerEpoch")&&this._mediaFilterController.setViewManager(this.viewManagerEpoch?.manager??null),e.has("cameraManager")&&this.cameraManager&&(this._mediaFilterController.computeCameraOptions(this.cameraManager),this._mediaFilterController.computeMetadataOptions(this.cameraManager)),!e.get("viewManager")&&this.viewManagerEpoch&&this.cameraManager&&this._mediaFilterController.computeInitialDefaultsFromView(this.cameraManager)}render(){const e=async()=>{this.cameraManager&&this.viewManagerEpoch&&this.cardWideConfig&&await this._mediaFilterController.valueChangeHandler(this.cameraManager,this.cardWideConfig,{camera:this._refCamera.value?.value??void 0,mediaType:this._refMediaType.value?.value??void 0,when:{selected:this._refWhen.value?.value??void 0,from:this._refWhenFrom.value?.value,to:this._refWhenTo.value?.value},favorite:this._refFavorite.value?.value??void 0,where:this._refWhere.value?.value??void 0,what:this._refWhat.value?.value??void 0,tags:this._refTags.value?.value??void 0})},t=async t=>{"custom"===t&&this._refWhen.value?this._refWhenFrom.value?.value||this._refWhenTo.value?.value?this._refWhen.value.value=B.Custom:this._refWhen.value.reset():this._refWhen.value?.value!==B.Custom&&(this._refWhenFrom.value?.reset(),this._refWhenTo.value?.reset()),await e()};if(!this.cameraManager||!this.viewManagerEpoch)return;const r=this._mediaFilterController.getControlsToShow(this.cameraManager),o=this._mediaFilterController.getDefaults(),n=this._mediaFilterController.getWhatOptions(),a=this._mediaFilterController.getTagsOptions(),s=this._mediaFilterController.getWhereOptions();return $` e()} - > - -
- t("selected")} - > - - t("custom")} - > - - t("custom")} - > - -
- e()} - > - - ${r.events&&n.length?$` e()} - > - `:""} - ${r.events&&a.length?$` e()} - > - `:""} - ${r.events&&s.length?$` e()} - > - `:""} - ${r.favorites?$` - e()} - > - - `:""}`}static get styles(){return k(":host {\n display: flex;\n flex-direction: column;\n overflow: auto;\n scrollbar-width: none;\n -ms-overflow-style: none;\n height: 100%;\n width: 300px;\n margin: 5px;\n}\n\n/* Hide scrollbar for Chrome, Safari and Opera */\n:host::-webkit-scrollbar {\n display: none;\n}\n\nfrigate-card-select {\n padding: 5px;\n}\n\ndiv.when {\n display: inline-flex;\n align-items: flex-end;\n}\n\ndiv.when frigate-card-select {\n flex: 1;\n}\n\ndiv.when frigate-card-date-picker {\n padding-bottom: 5px;\n transition: width 0.5s ease-in-out;\n}\n\ndiv.when frigate-card-date-picker {\n color: var(--secondary-color);\n}\n\ndiv.when frigate-card-date-picker.selected {\n color: var(--primary-color);\n}\n\ndiv.when frigate-card-date-picker.hidden {\n width: 0px;\n}")}};di.elementDefinitions={"frigate-card-select":ci,"frigate-card-date-picker":R},f([v({attribute:!1})],di.prototype,"hass",void 0),f([v({attribute:!1})],di.prototype,"cameraManager",void 0),f([v({attribute:!1})],di.prototype,"viewManagerEpoch",void 0),f([v({attribute:!1})],di.prototype,"cardWideConfig",void 0),di=f([C("frigate-card-media-filter")],di);const hi={closed:"mdi:filter-cog-outline",open:"mdi:filter-cog"};let gi=class extends _{render(){const e=this.viewManagerEpoch?.manager.getView();if(this.hass&&e?.isGalleryView()&&this.cameraManager&&this.cardWideConfig)return $` - - ${this.galleryConfig&&"none"!==this.galleryConfig.controls.filter.mode?$` - `:""} - - - - `}static get styles(){return k(":host {\n width: 100%;\n height: 100%;\n display: block;\n}\n\nfrigate-card-surround-basic {\n max-height: 110dvh;\n}")}};f([v({attribute:!1})],gi.prototype,"hass",void 0),f([v({attribute:!1})],gi.prototype,"viewManagerEpoch",void 0),f([v({attribute:!1})],gi.prototype,"galleryConfig",void 0),f([v({attribute:!1})],gi.prototype,"cameraManager",void 0),f([v({attribute:!1})],gi.prototype,"cardWideConfig",void 0),gi=f([C("frigate-card-gallery")],gi);let ui=class extends _{constructor(){super(),this._refLoaderBottom=y(),this._refSelected=y(),this._showLoaderBottom=!0,this._showLoaderTop=!1,this._boundWheelHandler=this._wheelHandler.bind(this),this._boundTouchStartHandler=this._touchStartHandler.bind(this),this._boundTouchEndHandler=this._touchEndHandler.bind(this),this._throttleExtendGalleryLater=O(this._extendGallery.bind(this),500,{leading:!0,trailing:!1}),this._touchScrollYPosition=null,this._resizeObserver=new ResizeObserver(this._resizeHandler.bind(this)),this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this))}_touchStartHandler(e){1===e.touches.length?this._touchScrollYPosition=e.touches[0].screenY:this._touchScrollYPosition=null}async _touchEndHandler(e){!this.scrollTop&&1===e.changedTouches.length&&this._touchScrollYPosition&&e.changedTouches[0].screenY>this._touchScrollYPosition&&await this._extendLater(),this._touchScrollYPosition=null}async _wheelHandler(e){!this.scrollTop&&e.deltaY<0&&await this._extendLater()}async _extendLater(){const e=new Date;this._showLoaderTop=!0,await this._throttleExtendGalleryLater("later",!1);const t=(new Date).getTime()-e.getTime();t<500&&await S(.5-t/1e3),this._showLoaderTop=!1}connectedCallback(){super.connectedCallback(),this._resizeObserver.observe(this),this.addEventListener("wheel",this._boundWheelHandler,{passive:!0}),this.addEventListener("touchstart",this._boundTouchStartHandler,{passive:!0}),this.addEventListener("touchend",this._boundTouchEndHandler),this.requestUpdate()}disconnectedCallback(){this.removeEventListener("wheel",this._boundWheelHandler),this.removeEventListener("touchstart",this._boundTouchStartHandler),this.removeEventListener("touchend",this._boundTouchEndHandler),this._resizeObserver.disconnect(),this._intersectionObserver.disconnect(),super.disconnectedCallback()}_setColumnCount(){const e=this.galleryConfig?.controls.thumbnails.size??M.media_gallery.controls.thumbnails.size,t=this.galleryConfig?.controls.thumbnails.show_details?Math.max(1,Math.floor(this.clientWidth/z)):Math.max(1,Math.ceil(this.clientWidth/e));this.style.setProperty("--frigate-card-gallery-columns",String(t))}_resizeHandler(){this._setColumnCount()}async _intersectionHandler(e){e.every((e=>!e.isIntersecting))||(this._showLoaderBottom=!1,await this._extendGallery("earlier"))}async _extendGallery(e,t=!0){const r=this.viewManagerEpoch?.manager.getView();if(!this.cameraManager||!this.hass||!r)return;const i=r.query,n=i?.getQueries()??null,s=r.queryResults?.getResults();if(!i||!n||!s)return;let l;try{l=await this.cameraManager.extendMediaQueries(n,s,e,{useCache:t})}catch(e){return void d(e)}if(l){const e=c.areEventQueries(i)?new o(l.queries):c.areRecordingQueries(i)?new a(l.queries):null;e&&this.viewManagerEpoch?.manager.setViewByParameters({baseView:r,params:{query:e,queryResults:new L({results:l.results}).selectResultIfFound((e=>e===r.queryResults?.getSelectedResult()))}})}}willUpdate(e){if(e.has("galleryConfig")&&(this.galleryConfig?.controls.thumbnails.show_details?this.setAttribute("details",""):this.removeAttribute("details"),this._setColumnCount(),this.galleryConfig?.controls.thumbnails.size&&this.style.setProperty("--frigate-card-thumbnail-size",`${this.galleryConfig.controls.thumbnails.size}px`)),e.has("viewManagerEpoch")){this._showLoaderBottom=!0;const e=this.viewManagerEpoch?.manager.getView(),t=this.viewManagerEpoch?.oldView;this._media&&t?.queryResults?.getResults()===e?.queryResults?.getResults()||(this._media=[...e?.queryResults?.getResults()??[]].reverse())}}render(){if(!this._media||!this.hass)return $``;const e=this.viewManagerEpoch?.manager.getView();if(!e?.queryResults||0===e.queryResults.getResultsCount()){const t=!!e?.context?.loading?.query;return D({type:"info",message:i(t?"error.awaiting_media":"common.no_media"),icon:"mdi:multimedia",dotdotdot:t})}const t=e.queryResults.getSelectedResult();return $`
- ${this._showLoaderTop?$`${A({cardWideConfig:this.cardWideConfig,classes:{top:!0},size:"small"})}`:""} - ${this._media.map(((r,i)=>$`{this._media&&this.viewManagerEpoch?.manager.setViewByParameters({params:{view:"media",queryResults:e.queryResults?.clone().selectIndex(this._media.length-i-1)}}),F(t)}} - > - `))} - ${this._showLoaderBottom?$`${A({cardWideConfig:this.cardWideConfig,componentRef:this._refLoaderBottom})}`:""} -
`}updated(e){this._refLoaderBottom.value&&(this._intersectionObserver.disconnect(),this._intersectionObserver.observe(this._refLoaderBottom.value)),this.updateComplete.then((()=>{e.has("viewManagerEpoch")&&!e.get("viewManagerEpoch")&&this._refSelected.value&&this._refSelected.value.scrollIntoView({block:"center"})}))}static get styles(){return k(":host {\n width: 100%;\n height: 100%;\n display: block;\n overflow: auto;\n -ms-overflow-style: none;\n scrollbar-width: none;\n --frigate-card-gallery-gap: 3px;\n --frigate-card-gallery-columns: 4;\n}\n\n.grid {\n display: grid;\n grid-template-columns: repeat(var(--frigate-card-gallery-columns), minmax(0, 1fr));\n grid-auto-rows: min-content;\n gap: var(--frigate-card-gallery-gap);\n}\n\n:host::-webkit-scrollbar {\n display: none;\n}\n\nfrigate-card-thumbnail {\n height: 100%;\n max-height: var(--frigate-card-thumbnail-size);\n}\n\nfrigate-card-thumbnail:not([details]) {\n width: 100%;\n}\n\nfrigate-card-thumbnail.selected {\n border: 4px solid var(--accent-color);\n border-radius: calc(var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px)) + 4px);\n}\n\nfrigate-card-progress-indicator.top {\n grid-column: 1/-1;\n}")}};f([v({attribute:!1})],ui.prototype,"hass",void 0),f([v({attribute:!1})],ui.prototype,"viewManagerEpoch",void 0),f([v({attribute:!1})],ui.prototype,"galleryConfig",void 0),f([v({attribute:!1})],ui.prototype,"cameraManager",void 0),f([v({attribute:!1})],ui.prototype,"cardWideConfig",void 0),f([E()],ui.prototype,"_showLoaderBottom",void 0),f([E()],ui.prototype,"_showLoaderTop",void 0),ui=f([C("frigate-card-gallery-core")],ui);export{gi as FrigateCardGallery,ui as FrigateCardGalleryCore}; diff --git a/config/www/community/frigate-hass-card/gallery-9024cb87.js.gz b/config/www/community/frigate-hass-card/gallery-9024cb87.js.gz deleted file mode 100644 index f3f5ea8437c708f71eff0c03bd3a11a072f7a3d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30833 zcmV(tKW7{^9DExhYh0Npi ziZ!H2wv#4QS#9DZP1@X=q*otpN=vlGnkH3}@};u=`#To^1V~Dj({#_<=ZQrE0}vPt z=7s?fozK#&SWNa?LEZ|*gafLtIV*E4yUWp8U&IEn&lPK`#P*BAm1%3XRm`w5at(Z{rK8W#4{CzDZf8y`o zVnXeECB{GD?^7|M-aZ!NZTx+{Jjv2?r+aT4WRp(s(fHsvn1tOwb7v4S(&%e16OcxodsDQb{-tu4<0@kTX4@2?!AJW1Vz}HMdPzD>+Da0 zad7-_kDyQH$+(Epr1hpfLXOSXHug{jrTLS!Q9^Z|BNo6@pPKmWgLQ%}(UusIh&*7{RC5q}N- zopAXa7brzjYi`HImuiyGEO;6*n_3G6jW`210^w-WS2JXC^ zgh>&dL}BK&o_u)P+3y_2!JKNj_aC~?@7kfekj)&&K@OAmssIv%-^Dl!p&#$zEzI7h zXG?CR=)KGlZ;$^B$3+*CvM9{kk=s21MuH!IwMY3Ejx6}Y2`or$?;3CbUBJ`aT`Q(VO`z9^Qj3g~OI&<0n z^X8`gr@vUbuCS~6m`;Lg-zo41EBP(Vi!h_KYxRif?}EJeB@EAeX9iE5OL$btMApe;NnpVHU_S^p8f2`A?VAFsUV;heZIhGWew_^Ku##P1R&! zEwu2Hg9*%WnRXF{m#>2)I1Mv1d79?HQRIsnPhH{SB8caq_opTZ5eLU% z>_u(oJe)+qr;{j#A?#{GaF;@tG00^_F`%JOM$r;C0Q2#BR%^#!JeDhJbjwlX5PtEmux6 zv#gqLYm4HP`$SW*T9oGG?PYnonuU4Zt}Q92bcwfddOn*Mp@F!zyF`&!A(XZj9nFM< zWe&|rS}kDBV1%|lX~P=Rnj!U^twZW8S!Wimt~4`S`>~wfRZwH*Bjj^??pC2IQyWV> zm0Y3^#o0 z;JO>-^b3{l?1bGoOiqg_h~BUpCF6KL0cq+u?hr-qhp=cLfxHVxu1Ab3_H)qmc&Oar zklO_Pc^t<)xG$gPQ12i*X>Y~dJo-Dlx!IDl6N$m)-b(p9_H_j~*li|4S4{kptqsdZ z-}g&y$nBZ>MRyivAo|aPWE>8=Cm_7%8888+?eTP;oPEM}V3Ul7KwXlf-P}}@HM=Tx zoSfU1g)S(8{1T92jL%37t_Vn3N!v#Y z(RoyOQ+jVi3cyT*93Q={UL%-B5`(H&1YeHaL5*66T}jeUuHOY2AO(0%{!3I$pIw38 z1kC!!d6-?d7cIL}eK75dg3BJYn^pGm!(NS--6!;OZu@^(BczA}gv0S># zFwR3uyAR4y(~_n-a#g&2{s=UW>KDXXxGB~wT?-IX>LnmVp{~66X*MBaX4x>y73(6K z=L4u?0N2%Q9$>Jchruj3j^e0*RtCwneg&o7J5q|FsSKKJ8bO<+0D6h$Ll7&*`5dfS z#0xfqN3!r6uy@MXBTKCqb_qR{ig-i20q5{qE><7|gMSgBQt_`iELy2ZL?9+&DozJ| z7*Avc=fSMqMqb<1)B`$k>`E?sa}&2SK!2GFJQ_6I#K)1bbATMc=xf0+2g&g~ZbhdF zV7P^}>w&c3r`9Yermb<1fI8PY4qITmjHltG)#7tI|#MkiNde}_bf zh58Wji^)SdZ`%P8hE5+f*MoAYsUk?%HBHQ#AfvG=l4SLoFj-f0T2_SVBW9;98gtD& ztK&|HGSzs+>$JHG0wRDw9iPCxnqZly?3;)};)U^w#WQQd`d<|A7@Y0}NxWjG{6>$jq6WFz`)Z%1g z6qwN*WHtpEj)Nk*UKDKGf!USYUOdoe z2V5EEjY^jh4BaB^29pV3DxV+cMFvFL?uoBmcd6Y)8Cdy)uq*_hUu50cJfF6I0gc
;Iv@e{A%zZQPSafPHbo<``L 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 M0U6W$qNle30OI=M6aWAK diff --git a/config/www/community/frigate-hass-card/gallery-bf3892f1.js b/config/www/community/frigate-hass-card/gallery-bf3892f1.js deleted file mode 100644 index 88ab9687..00000000 --- a/config/www/community/frigate-hass-card/gallery-bf3892f1.js +++ /dev/null @@ -1,184 +0,0 @@ -import{c$ as e,d0 as t,d1 as r,l as i,d2 as o,d3 as n,d4 as a,d5 as s,i as l,d6 as c,d7 as d,k as h,d8 as g,d9 as u,da as m,db as p,_ as f,n as v,cR as b,cM as y,dc as w,x as $,cQ as x,r as k,a as _,t as C,e as T,b as E,dd as O,de as S,cI as M,df as z,dg as L,cP as D,dh as A,cX as F}from"./card-320adb66.js";import{e as I}from"./endOfDay-086a6977.js";import{p as W}from"./parse-7f4a6e12.js";import{F as R}from"./date-picker-576d50a8.js";function N(t){const r=e(t),i=r.getMonth();return r.setFullYear(r.getFullYear(),i+1,0),r.setHours(23,59,59,999),r}function H(){const e=new Date,t=e.getFullYear(),r=e.getMonth(),i=e.getDate(),o=new Date(0);return o.setFullYear(t,r,i-1),o.setHours(23,59,59,999),o}function V(){const e=new Date,t=e.getFullYear(),r=e.getMonth(),i=e.getDate(),o=new Date(0);return o.setFullYear(t,r,i-1),o.setHours(0,0,0,0),o}var j,B,P; -/** - * @license - * Copyright 2021 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -function q(e){return class extends e{createRenderRoot(){const e=this.constructor,{registry:t,elementDefinitions:i,shadowRootOptions:o}=e;i&&!t&&(e.registry=new CustomElementRegistry,Object.entries(i).forEach((([t,r])=>e.registry.define(t,r))));const n=this.renderOptions.creationScope=this.attachShadow({...o,customElements:e.registry});return r(n,this.constructor.elementStyles),n}}}!function(e){e.Favorite="favorite",e.NotFavorite="not-favorite"}(j||(j={})),function(e){e.Today="today",e.Yesterday="yesterday",e.PastWeek="past-week",e.PastMonth="past-month",e.Custom="custom"}(B||(B={})),function(e){e.Clips="clips",e.Snapshots="snapshots",e.Recordings="recordings"}(P||(P={}));class U{constructor(e){this._cameraOptions=[],this._whenOptions=[],this._metaDataWhenOptions=[],this._whatOptions=[],this._whereOptions=[],this._tagsOptions=[],this._defaults=null,this._viewManager=null,this._host=e,this._favoriteOptions=[{value:j.Favorite,label:i("media_filter.favorite")},{value:j.NotFavorite,label:i("media_filter.not_favorite")}],this._mediaTypeOptions=[{value:P.Clips,label:i("media_filter.media_types.clips")},{value:P.Snapshots,label:i("media_filter.media_types.snapshots")},{value:P.Recordings,label:i("media_filter.media_types.recordings")}],this._staticWhenOptions=[{value:B.Today,label:i("media_filter.whens.today")},{value:B.Yesterday,label:i("media_filter.whens.yesterday")},{value:B.PastWeek,label:i("media_filter.whens.past_week")},{value:B.PastMonth,label:i("media_filter.whens.past_month")},{value:B.Custom,label:i("media_filter.whens.custom")}],this._computeWhenOptions()}getMediaTypeOptions(){return this._mediaTypeOptions}getCameraOptions(){return this._cameraOptions}getWhenOptions(){return this._whenOptions}getWhatOptions(){return this._whatOptions}getWhereOptions(){return this._whereOptions}getTagsOptions(){return this._tagsOptions}getFavoriteOptions(){return this._favoriteOptions}getDefaults(){return this._defaults}setViewManager(e){this._viewManager=e}async valueChangeHandler(e,t,r,i){const s=e=>e&&Array.isArray(e)&&e.length&&!e.includes("")?new Set([...e]):null,l=s(r.camera)??this._getAllCameraIDs(e);if(!l.size||!r.mediaType)return;const c=this._getWhen(r.when),d=r.favorite?r.favorite===j.Favorite:null,h=t.performance?.features.media_chunk_size;if(r.mediaType===P.Clips||r.mediaType===P.Snapshots){const e=s(r.where),t=s(r.what),i=s(r.tags),a=new o([{type:n.Event,cameraIDs:l,...i&&{tags:i},...t&&{what:t},...e&&{where:e},...null!==d&&{favorite:d},...c&&{...c.start&&{start:c.start},...c.end&&{end:c.end}},...h&&{limit:h},...r.mediaType===P.Clips&&{hasClip:!0},...r.mediaType===P.Snapshots&&{hasSnapshot:!0}}]);this._viewManager?.setViewByParametersWithExistingQuery({params:{query:a,...1===l.size&&{camera:[...l][0]},view:r.mediaType===P.Clips?"clips":"snapshots"}})}else{const e=new a([{type:n.Recording,cameraIDs:l,...h&&{limit:h},...c&&{...c.start&&{start:c.start},...c.end&&{end:c.end}},...null!==d&&{favorite:d}}]);this._viewManager?.setViewByParametersWithExistingQuery({params:{query:e,...1===l.size&&{camera:[...l][0]},view:"recordings"}})}this._host.requestUpdate()}_getAllCameraIDs(e){return e.getStore().getCameraIDsWithCapability({anyCapabilities:["clips","snapshots","recordings"]})}computeInitialDefaultsFromView(e){const t=this._viewManager?.getView(),r=t?.query?.getQueries(),i=this._getAllCameraIDs(e);if(!t||!r||!i.size)return;let o,n,a,d,h,g;1!==s(r.map((e=>e.cameraIDs)),l).length||l(r[0].cameraIDs,i)||(n=[...r[0].cameraIDs]); -/* istanbul ignore else: the else path cannot be reached -- @preserve */ -if(1===s(r.map((e=>e.favorite)),l).length&&void 0!==r[0].favorite&&(h=r[0].favorite?j.Favorite:j.NotFavorite),c.areEventQueries(t.query)){const e=t.query.getQueries(); -/* istanbul ignore if: the if path cannot be reached -- @preserve */if(!e)return;const r=s(e.map((e=>e.hasClip)),l),i=s(e.map((e=>e.hasSnapshot)),l);1===r.length&&1===i.length&&(o=r[0]?P.Clips:i[0]?P.Snapshots:void 0);1===s(e.map((e=>e.what)),l).length&&e[0].what?.size&&(a=[...e[0].what]);1===s(e.map((e=>e.where)),l).length&&e[0].where?.size&&(d=[...e[0].where]);1===s(e.map((e=>e.tags)),l).length&&e[0].tags?.size&&(g=[...e[0].tags])}else c.areRecordingQueries(t.query)&&(o=P.Recordings);this._defaults={...o&&{mediaType:o},...n&&{cameraIDs:n},...a&&{what:a},...d&&{where:d},...void 0!==h&&{favorite:h},...g&&{tags:g}}}computeCameraOptions(e){this._cameraOptions=[...this._getAllCameraIDs(e)].map((t=>({value:t,label:e.getCameraMetadata(t)?.title??t})))}async computeMetadataOptions(e){let t=null;try{t=await e.getMediaMetadata()}catch(e){d(e)}if(t){if(t.what&&(this._whatOptions=[...t.what].sort().map((e=>({value:e,label:h(e)})))),t.where&&(this._whereOptions=[...t.where].sort().map((e=>({value:e,label:h(e)})))),t.tags&&(this._tagsOptions=[...t.tags].sort().map((e=>({value:e,label:h(e)})))),t.days){const e=new Set;[...t.days].forEach((t=>{e.add(t.substring(0,7))}));const r=[];e.forEach((e=>{r.push(W(e,"yyyy-MM",new Date))})),this._metaDataWhenOptions=g(r,(e=>e.getTime()),"desc").map((e=>({label:u(e,"MMMM yyyy"),value:this._dateRangeToString({start:e,end:N(e)})}))),this._computeWhenOptions()}this._host.requestUpdate()}}getControlsToShow(e){const t=this._viewManager?.getView(),r=c.areEventQueries(t?.query),i=c.areRecordingQueries(t?.query),o=e.getAggregateCameraCapabilities();return{events:r,recordings:i,favorites:r?o?.has("favorite-events"):!!i&&o?.has("favorite-recordings")}}_computeWhenOptions(){this._whenOptions=[...this._staticWhenOptions,...this._metaDataWhenOptions]}_dateRangeToString(e){return`${m(e.start)},${m(e.end)}`}_stringToDateRange(e){const t=e.split(",");return{start:W(t[0],"yyyy-MM-dd",new Date),end:I(W(t[1],"yyyy-MM-dd",new Date))}}_getWhen(e){if(e.from||e.to)return{...e.from&&{start:e.from},...e.to&&{end:e.to}};if(!e.selected||Array.isArray(e.selected))return null;const r=new Date;switch(e.selected){case B.Custom:return null;case B.Today:return{start:t(Date.now()),end:I(Date.now())};case B.Yesterday:return{start:V(),end:H()};case B.PastWeek:return{start:t(p(r,{days:7})),end:I(r)};case B.PastMonth:return{start:t(p(r,{months:1})),end:I(r)};default:return this._stringToDateRange(e.selected)}}}const K=!0,Y=!0,Q=!0,G=!1,X=!1;let Z,J,ee,te=!1,re=!1,ie=!1,oe=!1,ne=null,ae=!1;const se="http://www.w3.org/1999/xlink",le={},ce=e=>"object"===(e=typeof e)||"function"===e;const de=(e,t,...r)=>{let i=null,o=null,n=null,a=!1,s=!1;const l=[],c=t=>{for(let r=0;re[t])).join(" "))}}if("function"==typeof e)return e(null===t?{}:t,l,ue);const d=he(e,null);return d.$attrs$=t,l.length>0&&(d.$children$=l),d.$key$=o,d.$name$=n,d},he=(e,t)=>{const r={$flags$:0,$tag$:e,$text$:t,$elm$:null,$children$:null,$attrs$:null,$key$:null,$name$:null};return r},ge={},ue={forEach:(e,t)=>e.map(me).forEach(t),map:(e,t)=>e.map(me).map(t).map(pe)},me=e=>({vattrs:e.$attrs$,vchildren:e.$children$,vkey:e.$key$,vname:e.$name$,vtag:e.$tag$,vtext:e.$text$}),pe=e=>{if("function"==typeof e.vtag){const t=Object.assign({},e.vattrs);return e.vkey&&(t.key=e.vkey),e.vname&&(t.name=e.vname),de(e.vtag,t,...e.vchildren||[])}const t=he(e.vtag,e.vtext);return t.$attrs$=e.vattrs,t.$children$=e.vchildren,t.$key$=e.vkey,t.$name$=e.vname,t},fe=(e,t,r)=>{const i=e;return{emit:e=>ve(i,t,{bubbles:!!(4&r),composed:!!(2&r),cancelable:!!(1&r),detail:e})}},ve=(e,t,r)=>{const i=ht.ce(t,r);return e.dispatchEvent(i),i},be=new WeakMap,ye=e=>{const t=e.$cmpMeta$,r=e.$hostElement$,i=t.$flags$,o=(t.$tagName$,()=>{}),n=((e,t,r,i)=>{var o;let n=we(t,r);const a=at.get(n);if(e=11===e.nodeType?e:ct,a)if("string"==typeof a){e=e.head||e;let t,r=be.get(e);if(r||be.set(e,r=new Set),!r.has(n)){{t=ct.createElement("style"),t.innerHTML=a;const r=null!==(o=ht.$nonce$)&&void 0!==o?o:function(e){var t,r,i;return null!==(i=null===(r=null===(t=e.head)||void 0===t?void 0:t.querySelector('meta[name="csp-nonce"]'))||void 0===r?void 0:r.getAttribute("content"))&&void 0!==i?i:void 0}(ct);null!=r&&t.setAttribute("nonce",r),e.insertBefore(t,e.querySelector("link"))}r&&r.add(n)}}else e.adoptedStyleSheets.includes(a)||(e.adoptedStyleSheets=[...e.adoptedStyleSheets,a]);return n})(r.shadowRoot?r.shadowRoot:r.getRootNode(),t,e.$modeName$);10&i&&(r["s-sc"]=n,r.classList.add(n+"-h"),2&i&&r.classList.add(n+"-s")),o()},we=(e,t)=>"sc-"+(t&&32&e.$flags$?e.$tagName$+"-"+t:e.$tagName$),$e=(e,t,r,i,o,n)=>{if(r!==i){let a=ot(e,t),s=t.toLowerCase();if("class"===t){const t=e.classList,o=ke(r),n=ke(i);t.remove(...o.filter((e=>e&&!n.includes(e)))),t.add(...n.filter((e=>e&&!o.includes(e))))}else if("style"===t){for(const t in r)i&&null!=i[t]||(t.includes("-")?e.style.removeProperty(t):e.style[t]="");for(const t in i)r&&i[t]===r[t]||(t.includes("-")?e.style.setProperty(t,i[t]):e.style[t]=i[t])}else if("key"===t);else if("ref"===t)i&&i(e);else if(e.__lookupSetter__(t)||"o"!==t[0]||"n"!==t[1]){const l=ce(i);if((a||l&&null!==i)&&!o)try{if(e.tagName.includes("-"))e[t]=i;else{const o=null==i?"":i;"list"===t?a=!1:null!=r&&e[t]==o||(e[t]=o)}}catch(e){}let c=!1;s!==(s=s.replace(/^xlink\:?/,""))&&(t=s,c=!0),null==i||!1===i?!1===i&&""!==e.getAttribute(t)||(c?e.removeAttributeNS(se,t):e.removeAttribute(t)):(!a||4&n||o)&&!l&&(i=!0===i?"":i,c?e.setAttributeNS(se,t,i):e.setAttribute(t,i))}else t="-"===t[2]?t.slice(3):ot(lt,s)?s.slice(2):s[2]+t.slice(3),r&&ht.rel(e,t,r,!1),i&&ht.ael(e,t,i,!1)}},xe=/\s/,ke=e=>e?e.split(xe):[],_e=(e,t,r,i)=>{const o=11===t.$elm$.nodeType&&t.$elm$.host?t.$elm$.host:t.$elm$,n=e&&e.$attrs$||le,a=t.$attrs$||le;for(i in n)i in a||$e(o,i,n[i],void 0,r,t.$flags$);for(i in a)$e(o,i,n[i],a[i],r,t.$flags$)},Ce=(e,t,r,i)=>{const o=t.$children$[r];let n,a,s,l=0;if(te||(ie=!0,"slot"===o.$tag$&&(Z&&i.classList.add(Z+"-s"),o.$flags$|=o.$children$?2:1)),null!==o.$text$)n=o.$elm$=ct.createTextNode(o.$text$);else if(1&o.$flags$)n=o.$elm$=ct.createTextNode("");else{if(oe||(oe="svg"===o.$tag$),n=o.$elm$=ct.createElementNS(oe?"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",2&o.$flags$?"slot-fb":o.$tag$),oe&&"foreignObject"===o.$tag$&&(oe=!1),_e(null,o,oe),null!=Z&&n["s-si"]!==Z&&n.classList.add(n["s-si"]=Z),o.$children$)for(l=0;l{ht.$flags$|=1;const r=e.childNodes;for(let e=r.length-1;e>=0;e--){const i=r[e];i["s-hn"]!==ee&&i["s-ol"]&&(ze(i).insertBefore(i,Me(i)),i["s-ol"].remove(),i["s-ol"]=void 0,ie=!0),t&&Te(i,t)}ht.$flags$&=-2},Ee=(e,t,r,i,o,n)=>{let a,s=e["s-cr"]&&e["s-cr"].parentNode||e;for(s.shadowRoot&&s.tagName===ee&&(s=s.shadowRoot);o<=n;++o)i[o]&&(a=Ce(null,r,o,e),a&&(i[o].$elm$=a,s.insertBefore(a,Me(t))))},Oe=(e,t,r,i,o)=>{for(;t<=r;++t)(i=e[t])&&(o=i.$elm$,We(i),re=!0,o["s-ol"]?o["s-ol"].remove():Te(o,!0),o.remove())},Se=(e,t)=>e.$tag$===t.$tag$&&("slot"===e.$tag$?e.$name$===t.$name$:e.$key$===t.$key$),Me=e=>e&&e["s-ol"]||e,ze=e=>(e["s-ol"]?e["s-ol"]:e).parentNode,Le=(e,t)=>{const r=t.$elm$=e.$elm$,i=e.$children$,o=t.$children$,n=t.$tag$,a=t.$text$;let s;null===a?(oe="svg"===n||"foreignObject"!==n&&oe,"slot"===n||_e(e,t,oe),null!==i&&null!==o?((e,t,r,i)=>{let o,n,a=0,s=0,l=0,c=0,d=t.length-1,h=t[0],g=t[d],u=i.length-1,m=i[0],p=i[u];for(;a<=d&&s<=u;)if(null==h)h=t[++a];else if(null==g)g=t[--d];else if(null==m)m=i[++s];else if(null==p)p=i[--u];else if(Se(h,m))Le(h,m),h=t[++a],m=i[++s];else if(Se(g,p))Le(g,p),g=t[--d],p=i[--u];else if(Se(h,p))"slot"!==h.$tag$&&"slot"!==p.$tag$||Te(h.$elm$.parentNode,!1),Le(h,p),e.insertBefore(h.$elm$,g.$elm$.nextSibling),h=t[++a],p=i[--u];else if(Se(g,m))"slot"!==h.$tag$&&"slot"!==p.$tag$||Te(g.$elm$.parentNode,!1),Le(g,m),e.insertBefore(g.$elm$,h.$elm$),g=t[--d],m=i[++s];else{for(l=-1,c=a;c<=d;++c)if(t[c]&&null!==t[c].$key$&&t[c].$key$===m.$key$){l=c;break}l>=0?(n=t[l],n.$tag$!==m.$tag$?o=Ce(t&&t[s],r,l,e):(Le(n,m),t[l]=void 0,o=n.$elm$),m=i[++s]):(o=Ce(t&&t[s],r,s,e),m=i[++s]),o&&ze(h.$elm$).insertBefore(o,Me(h.$elm$))}a>d?Ee(e,null==i[u+1]?null:i[u+1].$elm$,r,i,s,u):s>u&&Oe(t,a,d)})(r,i,t,o):null!==o?(null!==e.$text$&&(r.textContent=""),Ee(r,null,t,o,0,o.length-1)):null!==i&&Oe(i,0,i.length-1),oe&&"svg"===n&&(oe=!1)):(s=r["s-cr"])?s.parentNode.textContent=a:e.$text$!==a&&(r.data=a)},De=e=>{const t=e.childNodes;let r,i,o,n,a,s;for(i=0,o=t.length;i{let t,r,i,o,n,a,s=0;const l=e.childNodes,c=l.length;for(;s=0;a--)r=i[a],r["s-cn"]||r["s-nr"]||r["s-hn"]===t["s-hn"]||(Ie(r,o)?(n=Ae.find((e=>e.$nodeToRelocate$===r)),re=!0,r["s-sn"]=r["s-sn"]||o,n?n.$slotRefNode$=t:Ae.push({$slotRefNode$:t,$nodeToRelocate$:r}),r["s-sr"]&&Ae.map((e=>{Ie(e.$nodeToRelocate$,r["s-sn"])&&(n=Ae.find((e=>e.$nodeToRelocate$===r)),n&&!e.$slotRefNode$&&(e.$slotRefNode$=n.$slotRefNode$))}))):Ae.some((e=>e.$nodeToRelocate$===r))||Ae.push({$nodeToRelocate$:r}));1===t.nodeType&&Fe(t)}},Ie=(e,t)=>1===e.nodeType?null===e.getAttribute("slot")&&""===t||e.getAttribute("slot")===t:e["s-sn"]===t||""===t,We=e=>{e.$attrs$&&e.$attrs$.ref&&e.$attrs$.ref(null),e.$children$&&e.$children$.map(We)},Re=(e,t)=>{const r=e.$hostElement$,i=e.$cmpMeta$,o=e.$vnode$||he(null,null),n=(a=t)&&a.$tag$===ge?t:de(null,null,t);var a;if(ee=r.tagName,i.$attrsToReflect$&&(n.$attrs$=n.$attrs$||{},i.$attrsToReflect$.map((([e,t])=>n.$attrs$[t]=r[e]))),n.$tag$=null,n.$flags$|=4,e.$vnode$=n,n.$elm$=o.$elm$=r.shadowRoot||r,Z=r["s-sc"],J=r["s-cr"],te=!!(1&i.$flags$),re=!1,Le(o,n),ht.$flags$|=1,ie){let e,t,r,i,o,a;Fe(n.$elm$);let s=0;for(;s{e.$flags$|=16,e.$ancestorComponent$;return $t((()=>He(e,t)))},He=(e,t)=>{const r=e.$hostElement$,i=(e.$cmpMeta$.$tagName$,()=>{}),o=r;let n;return n=Pe(o,t?"componentWillLoad":"componentWillUpdate"),n=qe(n,(()=>Pe(o,"componentWillRender"))),i(),qe(n,(()=>Ve(e,o,t)))},Ve=async(e,t,r)=>{const i=e.$hostElement$,o=(e.$cmpMeta$.$tagName$,()=>{});i["s-rc"],r&&ye(e);const n=(e.$cmpMeta$.$tagName$,()=>{});je(e,t,i),n(),o(),Be(e)},je=(e,t,r)=>{try{ne=t,t=t.render&&t.render(),e.$flags$&=-17,e.$flags$|=2,(K||Y)&&(Q||Y)&&(G||Re(e,t))}catch(t){nt(t,e.$hostElement$)}return ne=null,null},Be=e=>{e.$cmpMeta$.$tagName$;const t=()=>{},r=e.$hostElement$;e.$ancestorComponent$,Pe(r,"componentDidRender"),64&e.$flags$?(Pe(r,"componentDidUpdate"),t()):(e.$flags$|=64,Pe(r,"componentDidLoad"),t())},Pe=(e,t,r)=>{if(e&&e[t])try{return e[t](r)}catch(e){nt(e)}},qe=(e,t)=>e&&e.then?e.then(t):t(),Ue=(e,t,r,i)=>{const o=rt(e),n=e,a=o.$instanceValues$.get(t),s=o.$flags$,l=n;var c,d;c=r,d=i.$members$[t][0],r=null==c||ce(c)?c:4&d?"false"!==c&&(""===c||!!c):2&d?parseFloat(c):1&d?String(c):c;const h=Number.isNaN(a)&&Number.isNaN(r);if(r!==a&&!h){if(o.$instanceValues$.set(t,r),i.$watchers$&&128&s){const e=i.$watchers$[t];e&&e.map((e=>{try{l[e](r,a,t)}catch(e){nt(e,n)}}))}if(2==(18&s)){if(l.componentShouldUpdate&&!1===l.componentShouldUpdate(r,a,t))return;Ne(o,!1)}}},Ke=(e,t,r)=>{if(t.$members$){e.watchers&&(t.$watchers$=e.watchers);const r=Object.entries(t.$members$),i=e.prototype;r.map((([e,[r]])=>{(31&r||32&r)&&Object.defineProperty(i,e,{get(){return t=e,rt(this).$instanceValues$.get(t);var t},set(r){Ue(this,e,r,t)},configurable:!0,enumerable:!0})}));{const o=new Map;i.attributeChangedCallback=function(e,t,r){ht.jmp((()=>{const t=o.get(e);if(this.hasOwnProperty(t))r=this[t],delete this[t];else if(i.hasOwnProperty(t)&&"number"==typeof this[t]&&this[t]==r)return;this[t]=(null!==r||"boolean"!=typeof this[t])&&r}))},e.observedAttributes=r.filter((([e,t])=>15&t[0])).map((([e,r])=>{const i=r[1]||e;return o.set(i,e),512&r[0]&&t.$attrsToReflect$.push([e,i]),i}))}}return e},Ye=async(e,t,r,i,o)=>{if(!(32&t.$flags$)&&(o=e.constructor,t.$flags$|=32,customElements.whenDefined(r.$tagName$).then((()=>t.$flags$|=128)),o.style)){let i=o.style;"string"!=typeof i&&(i=i[t.$modeName$=(e=>st.map((t=>t(e))).find((e=>!!e)))(e)]);const n=we(r,t.$modeName$);if(!at.has(n)){const e=(r.$tagName$,()=>{});((e,t,r)=>{let i=at.get(e);mt&&r?(i=i||new CSSStyleSheet,"string"==typeof i?i=t:i.replaceSync(t)):i=t,at.set(e,i)})(n,i,!!(1&r.$flags$)),e()}}t.$ancestorComponent$;Ne(t,!0)},Qe=e=>{const t=e["s-cr"]=ct.createComment("");t["s-cn"]=!0,e.insertBefore(t,e.firstChild)},Ge=(e,t)=>{const r={$flags$:t[0],$tagName$:t[1]};r.$members$=t[2],r.$listeners$=t[3],r.$watchers$=e.$watchers$,r.$attrsToReflect$=[],!gt&&1&r.$flags$&&(r.$flags$|=8);const i=e.prototype.connectedCallback,o=e.prototype.disconnectedCallback;return Object.assign(e.prototype,{__registerHost(){it(this,r)},connectedCallback(){(e=>{if(!(1&ht.$flags$)){const t=rt(e),r=t.$cmpMeta$,i=(r.$tagName$,()=>{});1&t.$flags$?(Xe(e,t,r.$listeners$),t.$lazyInstance$):(t.$flags$|=1,12&r.$flags$&&Qe(e),r.$members$&&Object.entries(r.$members$).map((([t,[r]])=>{if(31&r&&e.hasOwnProperty(t)){const r=e[t];delete e[t],e[t]=r}})),Ye(e,t,r)),i()}})(this),i&&i.call(this)},disconnectedCallback(){(e=>{if(!(1&ht.$flags$)){const t=rt(e);t.$rmListeners$&&(t.$rmListeners$.map((e=>e())),t.$rmListeners$=void 0)}})(this),o&&o.call(this)},__attachShadow(){gt?this.attachShadow({mode:"open",delegatesFocus:!!(16&r.$flags$)}):this.shadowRoot=this}}),e.is=r.$tagName$,Ke(e,r)},Xe=(e,t,r,i)=>{r&&r.map((([r,i,o])=>{const n=Je(e,r),a=Ze(t,o),s=et(r);ht.ael(n,i,a,s),(t.$rmListeners$=t.$rmListeners$||[]).push((()=>ht.rel(n,i,a,s)))}))},Ze=(e,t)=>r=>{try{X||e.$hostElement$[t](r)}catch(e){nt(e)}},Je=(e,t)=>4&t?ct:8&t?lt:16&t?ct.body:e,et=e=>ut?{passive:!!(1&e),capture:!!(2&e)}:!!(2&e),tt=new WeakMap,rt=e=>tt.get(e),it=(e,t)=>{const r={$flags$:0,$hostElement$:e,$cmpMeta$:t,$instanceValues$:new Map};return Xe(e,r,t.$listeners$),tt.set(e,r)},ot=(e,t)=>t in e,nt=(e,t)=>(0,console.error)(e,t),at=new Map,st=[],lt="undefined"!=typeof window?window:{},ct=lt.document||{head:{}},dt=lt.HTMLElement||class{},ht={$flags$:0,$resourcesUrl$:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,r,i)=>e.addEventListener(t,r,i),rel:(e,t,r,i)=>e.removeEventListener(t,r,i),ce:(e,t)=>new CustomEvent(e,t)},gt=!0,ut=(()=>{let e=!1;try{ct.addEventListener("e",null,Object.defineProperty({},"passive",{get(){e=!0}}))}catch(e){}return e})(),mt=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(e){}return!1})(),pt=[],ft=[],vt=(e,t)=>r=>{e.push(r),ae||(ae=!0,t&&4&ht.$flags$?wt(yt):ht.raf(yt))},bt=e=>{for(let t=0;t{bt(pt),bt(ft),(ae=pt.length>0)&&ht.raf(yt)},wt=e=>{return Promise.resolve(t).then(e);var t},$t=vt(ft,!0),xt=(e,t)=>{const r=!!e.label||e.hasLabelSlot,i=!!e.helpText||e.hasHelpTextSlot,o=!!e.invalidText||e.hasInvalidTextSlot,n=!e.invalid,a=!!e.invalid;return de("div",{class:{"form-control":!0,[`form-control-${e.size}`]:!0,"form-control-has-label":r,"form-control-has-help-text":i,"form-control-has-invalid-text":o}},de("label",{id:e.labelId,class:"form-control-label",htmlFor:e.inputId,"aria-hidden":r?"false":"true",onClick:e.onLabelClick},de("slot",{name:"label"},e.label),e.requiredIndicator&&de("div",{class:"asterisk"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 1200 1200"},de("path",{fill:"currentColor",d:"M489.838 29.354v443.603L68.032 335.894 0 545.285l421.829 137.086-260.743 358.876 178.219 129.398L600.048 811.84l260.673 358.806 178.146-129.398-260.766-358.783L1200 545.379l-68.032-209.403-421.899 137.07V29.443H489.84l-.002-.089z"})))),de("div",{class:"form-control-input"},t),n&&de("div",{id:e.helpTextId,class:"form-control-help-text","aria-hidden":i?"false":"true"},de("slot",{name:"help-text"},e.helpText)),a&&de("div",{id:e.invalidTextId,class:"form-control-invalid-text","aria-hidden":o?"false":"true"},de("div",{class:"icon"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Alert Circle"),de("path",{d:"M256,48C141.31,48,48,141.31,48,256s93.31,208,208,208,208-93.31,208-208S370.69,48,256,48Zm0,319.91a20,20,0,1,1,20-20A20,20,0,0,1,256,367.91Zm21.72-201.15-5.74,122a16,16,0,0,1-32,0l-5.74-121.94v-.05a21.74,21.74,0,1,1,43.44,0Z",fill:"currentColor"}))),de("div",{class:"text"},de("slot",{name:"invalid-text"},e.invalidText))))}; -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -function kt(e){const t=e?e.assignedNodes({flatten:!0}):[];let r="";return[...t].map((e=>{e.nodeType===Node.TEXT_NODE&&(r+=e.textContent)})),r}function _t(e,t){return t?null!==e.querySelector(`[slot="${t}"]`):[...e.childNodes].some((e=>{if(e.nodeType===e.TEXT_NODE&&""!==e.textContent.trim())return!0;if(e.nodeType===e.ELEMENT_NODE){if(!e.hasAttribute("slot"))return!0}return!1}))} -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */const Ct=(e,t=[])=>{const r={};return t.forEach((t=>{if(e.hasAttribute(t)){null!==e.getAttribute(t)&&(r[t]=e.getAttribute(t)),e.removeAttribute(t)}})),r},Tt=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow()}render(){return de("span",{class:"spinner","aria-busy":"true","aria-live":"polite"})}static get style(){return":host{--track-color:var(--gr-color-light-shade);--indicator-color:var(--gr-color-primary);--stroke-width:2px;display:inline-flex;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}.spinner{display:inline-block;width:1em;height:1em;border-radius:50%;border:solid var(--stroke-width) var(--track-color);border-top-color:var(--indicator-color);border-right-color:var(--indicator-color);animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}"}},[1,"gr-spinner"]);function Et(){if("undefined"==typeof customElements)return;["gr-spinner"].forEach((e=>{if("gr-spinner"===e)customElements.get(e)||customElements.define(e,Tt)}))}Et(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const Ot=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grFocus=fe(this,"gr-focus",7),this.grBlur=fe(this,"gr-blur",7),this.inheritedAttributes={},this.handleClick=e=>{if("button"!==this.type){const t=this.el.closest("form");if(t){e.preventDefault();const r=document.createElement("button");r.type=this.type,r.style.display="none",t.appendChild(r),r.click(),r.remove()}}},this.onFocus=()=>{this.grFocus.emit()},this.onBlur=()=>{this.grBlur.emit()},this.variant="default",this.disabled=!1,this.loading=!1,this.size="medium",this.caret=!1,this.pill=!1,this.expand=void 0,this.circle=!1,this.href=void 0,this.target=void 0,this.rel=void 0,this.type="button"}componentWillLoad(){this.inheritedAttributes=Ct(this.el,["aria-label","tabindex","title"])}async setFocus(e){this.button.focus(e)}async removeFocus(){this.button.blur()}render(){const{rel:e,target:t,href:r,variant:i,size:o,expand:n,type:a,inheritedAttributes:s,disabled:l}=this,c=void 0===r?"button":"a",d="button"===c?{type:a}:{href:r,rel:e,target:t};return de(ge,{onClick:this.handleClick,"aria-disabled":l?"true":null,class:{[`button-${i}`]:!0,[`button-${o}`]:!0,[`button-${n}`]:void 0!==n,"button-caret":this.caret,"button-circle":this.circle,"button-pill":this.pill,"button-disabled":l,"button-loading":this.loading}},de(c,Object.assign({ref:e=>this.button=e},d,{class:"button-native",disabled:l,onFocus:this.onFocus,onBlur:this.onBlur},s),de("span",{class:"button-inner"},de("slot",{name:"icon-only"}),de("slot",{name:"start"}),de("slot",null),de("slot",{name:"end"}),this.caret&&de("span",{class:"caret"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Chevron Down"),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"48",d:"M112 184l144 144 144-144"})))),this.loading&&de("gr-spinner",null)))}get el(){return this}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{display:inline-block;width:auto;font-family:var(--gr-font-family);font-weight:var(--gr-font-weight-medium);font-size:var(--gr-form-element-font-size-medium);font-kerning:none;user-select:none;vertical-align:top;vertical-align:-webkit-baseline-middle;pointer-events:auto;--height:var(--gr-form-element-height-medium);--border-radius:var(--gr-form-element-border-radius-medium);--border-width:1px;--border-style:solid;--background:transparent;--background-hover:transparent;--background-focus:transparent;--color:var(--gr-color-dark-tint);--color-hover:var(--gr-color-dark-tint);--color-focus:var(--gr-color-dark-tint);--border-color:var(--gr-color-light-shade);--border-color-hover:var(--gr-color-medium);--border-color-focus:var(--gr-color-primary);--padding-top:0;--padding-start:var(--gr-spacing-medium);--padding-end:var(--gr-spacing-medium);--padding-bottom:0;--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33);--shadow:none;--transition:background-color 150ms linear, opacity 150ms linear, border 150ms linear, color 150ms linear}:host(.button-disabled){pointer-events:none;opacity:0.5}:host(.button-primary){--border-color:var(--gr-color-primary);--background:var(--gr-color-primary);--color:var(--gr-color-primary-contrast);--border-color-hover:var(--gr-color-primary-shade);--background-hover:var(--gr-color-primary-shade);--color-hover:var(--gr-color-primary-contrast);--border-color-focus:var(--gr-color-primary);--background-focus:var(--gr-color-primary-shade);--color-focus:var(--gr-color-primary-contrast);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33)}:host(.button-secondary){--border-color:var(--gr-color-light-shade);--background:transparent;--color:var(--gr-color-primary);--border-color-hover:var(--gr-color-primary);--background-hover:transparent;--color-hover:var(--gr-color-primary);--border-color-focus:var(--gr-color-primary);--background-focus:transparent;--color-focus:var(--gr-color-primary);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33)}:host(.button-danger){--border-color:var(--gr-color-danger);--background:transparent;--color:var(--gr-color-danger);--border-color-hover:var(--gr-color-danger);--background-hover:var(--gr-color-danger);--color-hover:var(--gr-color-danger-contrast);--border-color-focus:var(--gr-color-danger);--background-focus:var(--gr-color-danger);--color-focus:var(--gr-color-danger-contrast);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-danger-rgb), 0.33)}:host(.button-plain){--border-color:transparent;--background:transparent;--color:var(--gr-color-primary);--border-color-hover:transparent;--background-hover:transparent;--color-hover:var(--gr-color-primary-shade);--border-color-focus:transparent;--background-focus:transparent;--color-focus:var(--gr-color-primary-shade);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33)}:host(.button-small){--padding-start:var(--gr-spacing-small);--padding-end:var(--gr-spacing-small);--border-radius:var(--gr-form-element-border-radius-small);--height:var(--gr-form-element-height-small);font-size:var(--gr-form-element-font-size-small)}:host(.button-large){--padding-start:var(--gr-spacing-large);--padding-end:var(--gr-spacing-large);--border-radius:var(--gr-form-element-border-radius-large);--height:var(--gr-form-element-height-large);font-size:var(--gr-form-element-font-size-large)}:host(.button-block){display:block}:host(.button-block) .button-native{margin-left:0;margin-right:0;display:block;width:100%;clear:both;contain:content}:host(.button-block) .button-native::after{clear:both}:host(.button-full){display:block}:host(.button-full) .button-native{margin-left:0;margin-right:0;display:block;width:100%;contain:content;border-radius:0;border-right-width:0;border-left-width:0}.button-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;position:relative;padding-top:var(--padding-top);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-bottom:var(--padding-bottom);width:100%;height:var(--height);transition:var(--transition);border-radius:var(--border-radius);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);color:var(--color);box-shadow:var(--shadow);line-height:1;cursor:pointer;z-index:0;text-decoration:none;box-sizing:border-box}.button-native::-moz-focus-inner{border:0}.button-native:focus{outline:none;box-shadow:var(--focus-ring);border-color:var(--border-color-focus);background-color:var(--background-focus);color:var(--color-focus)}.button-native *,.button-native *:before,.button-native *:after{box-sizing:inherit}.button-inner{display:flex;position:relative;flex-flow:row nowrap;flex-shrink:0;align-items:center;justify-content:center;width:100%;height:100%;z-index:1}:host(.button-circle) .button-native{padding-top:0;padding-bottom:0;padding-left:0;padding-right:0;border-radius:50%;width:var(--height)}@media (any-hover: hover){.button-native:hover{color:var(--color-hover);background:var(--background-hover);border-color:var(--border-color-hover)}}:host(.button-caret) .caret{display:flex;align-items:center;margin-left:0.3em}:host(.button-caret) .caret svg{width:1em;height:1em}:host(.button-pill) .button-native{border-radius:var(--height)}::slotted(*){pointer-events:none}::slotted([slot=start]){margin-top:0;margin-left:-0.3em;margin-right:0.3em;margin-bottom:0}::slotted([slot=end]){margin-top:0;margin-left:0.3em;margin-right:-0.2em;margin-bottom:0}::slotted([slot=icon-only]){font-size:1.4em;pointer-events:none}:host(.button-loading){position:relative;pointer-events:none}:host(.button-loading) .caret{visibility:hidden}:host(.button-loading) slot[name=start],:host(.button-loading) slot[name=end],:host(.button-loading) slot[name=icon-only],:host(.button-loading) slot:not([name]){visibility:hidden}:host(.button-loading) gr-spinner{--indicator-color:currentColor;position:absolute;height:1em;width:1em;top:calc(50% - 0.5em);left:calc(50% - 0.5em)}@media not all and (min-resolution: 0.001dpcm){@supports (-webkit-appearance: none) and (stroke-color: transparent){:host([type=button]),:host([type=reset]),:host([type=submit]){-webkit-appearance:none !important}}}"}},[1,"gr-button",{variant:[513],disabled:[516],loading:[516],size:[513],caret:[4],pill:[516],expand:[513],circle:[516],href:[1],target:[1],rel:[1],type:[1],setFocus:[64],removeFocus:[64]}]);function St(){if("undefined"==typeof customElements)return;["gr-button","gr-spinner"].forEach((e=>{switch(e){case"gr-button":customElements.get(e)||customElements.define(e,Ot);break;case"gr-spinner":customElements.get(e)||Et()}}))}function Mt(e,t,r="vertical",i="smooth"){const o= -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -function(e,t){return{top:Math.round(e.getBoundingClientRect().top-t.getBoundingClientRect().top),left:Math.round(e.getBoundingClientRect().left-t.getBoundingClientRect().left)}}(e,t),n=o.top+t.scrollTop,a=o.left+t.scrollLeft,s=t.scrollLeft,l=t.scrollLeft+t.offsetWidth,c=t.scrollTop,d=t.scrollTop+t.offsetHeight;"horizontal"!==r&&"both"!==r||(al&&t.scrollTo({left:a-t.offsetWidth+e.clientWidth,behavior:i})),"vertical"!==r&&"both"!==r||(nd&&t.scrollTo({top:n-t.offsetHeight+e.clientHeight,behavior:i}))} -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */function zt(e){return e.tabIndex>-1}function Lt(e){if(zt(e))return e;if(e.shadowRoot){const t=[...e.shadowRoot.children].find(zt);if(t)return t}return e.children?[...e.children].map(Lt)[0]:null}St();var Dt="top",At="bottom",Ft="right",It="left",Wt="auto",Rt=[Dt,At,Ft,It],Nt="start",Ht="end",Vt="clippingParents",jt="viewport",Bt="popper",Pt="reference",qt=Rt.reduce((function(e,t){return e.concat([t+"-"+Nt,t+"-"+Ht])}),[]),Ut=[].concat(Rt,[Wt]).reduce((function(e,t){return e.concat([t,t+"-"+Nt,t+"-"+Ht])}),[]),Kt=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Yt(e){return e?(e.nodeName||"").toLowerCase():null}function Qt(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Gt(e){return e instanceof Qt(e).Element||e instanceof Element}function Xt(e){return e instanceof Qt(e).HTMLElement||e instanceof HTMLElement}function Zt(e){return"undefined"!=typeof ShadowRoot&&(e instanceof Qt(e).ShadowRoot||e instanceof ShadowRoot)}const Jt={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var r=t.styles[e]||{},i=t.attributes[e]||{},o=t.elements[e];Xt(o)&&Yt(o)&&(Object.assign(o.style,r),Object.keys(i).forEach((function(e){var t=i[e];!1===t?o.removeAttribute(e):o.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,r={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,r.popper),t.styles=r,t.elements.arrow&&Object.assign(t.elements.arrow.style,r.arrow),function(){Object.keys(t.elements).forEach((function(e){var i=t.elements[e],o=t.attributes[e]||{},n=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:r[e]).reduce((function(e,t){return e[t]="",e}),{});Xt(i)&&Yt(i)&&(Object.assign(i.style,n),Object.keys(o).forEach((function(e){i.removeAttribute(e)})))}))}},requires:["computeStyles"]};function er(e){return e.split("-")[0]}var tr=Math.max,rr=Math.min,ir=Math.round;function or(e,t){void 0===t&&(t=!1);var r=e.getBoundingClientRect(),i=1,o=1;if(Xt(e)&&t){var n=e.offsetHeight,a=e.offsetWidth;a>0&&(i=ir(r.width)/a||1),n>0&&(o=ir(r.height)/n||1)}return{width:r.width/i,height:r.height/o,top:r.top/o,right:r.right/i,bottom:r.bottom/o,left:r.left/i,x:r.left/i,y:r.top/o}}function nr(e){var t=or(e),r=e.offsetWidth,i=e.offsetHeight;return Math.abs(t.width-r)<=1&&(r=t.width),Math.abs(t.height-i)<=1&&(i=t.height),{x:e.offsetLeft,y:e.offsetTop,width:r,height:i}}function ar(e,t){var r=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(r&&Zt(r)){var i=t;do{if(i&&e.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function sr(e){return Qt(e).getComputedStyle(e)}function lr(e){return["table","td","th"].indexOf(Yt(e))>=0}function cr(e){return((Gt(e)?e.ownerDocument:e.document)||window.document).documentElement}function dr(e){return"html"===Yt(e)?e:e.assignedSlot||e.parentNode||(Zt(e)?e.host:null)||cr(e)}function hr(e){return Xt(e)&&"fixed"!==sr(e).position?e.offsetParent:null}function gr(e){for(var t=Qt(e),r=hr(e);r&&lr(r)&&"static"===sr(r).position;)r=hr(r);return r&&("html"===Yt(r)||"body"===Yt(r)&&"static"===sr(r).position)?t:r||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&Xt(e)&&"fixed"===sr(e).position)return null;var r=dr(e);for(Zt(r)&&(r=r.host);Xt(r)&&["html","body"].indexOf(Yt(r))<0;){var i=sr(r);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||t&&"filter"===i.willChange||t&&i.filter&&"none"!==i.filter)return r;r=r.parentNode}return null}(e)||t}function ur(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function mr(e,t,r){return tr(e,rr(t,r))}function pr(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function fr(e,t){return t.reduce((function(t,r){return t[r]=e,t}),{})}const vr={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,r=e.state,i=e.name,o=e.options,n=r.elements.arrow,a=r.modifiersData.popperOffsets,s=er(r.placement),l=ur(s),c=[It,Ft].indexOf(s)>=0?"height":"width";if(n&&a){var d=function(e,t){return pr("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:fr(e,Rt))}(o.padding,r),h=nr(n),g="y"===l?Dt:It,u="y"===l?At:Ft,m=r.rects.reference[c]+r.rects.reference[l]-a[l]-r.rects.popper[c],p=a[l]-r.rects.reference[l],f=gr(n),v=f?"y"===l?f.clientHeight||0:f.clientWidth||0:0,b=m/2-p/2,y=d[g],w=v-h[c]-d[u],$=v/2-h[c]/2+b,x=mr(y,$,w),k=l;r.modifiersData[i]=((t={})[k]=x,t.centerOffset=x-$,t)}},effect:function(e){var t=e.state,r=e.options.element,i=void 0===r?"[data-popper-arrow]":r;null!=i&&("string"!=typeof i||(i=t.elements.popper.querySelector(i)))&&ar(t.elements.popper,i)&&(t.elements.arrow=i)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function br(e){return e.split("-")[1]}var yr={top:"auto",right:"auto",bottom:"auto",left:"auto"};function wr(e){var t,r=e.popper,i=e.popperRect,o=e.placement,n=e.variation,a=e.offsets,s=e.position,l=e.gpuAcceleration,c=e.adaptive,d=e.roundOffsets,h=e.isFixed,g=a.x,u=void 0===g?0:g,m=a.y,p=void 0===m?0:m,f="function"==typeof d?d({x:u,y:p}):{x:u,y:p};u=f.x,p=f.y;var v=a.hasOwnProperty("x"),b=a.hasOwnProperty("y"),y=It,w=Dt,$=window;if(c){var x=gr(r),k="clientHeight",_="clientWidth";if(x===Qt(r)&&"static"!==sr(x=cr(r)).position&&"absolute"===s&&(k="scrollHeight",_="scrollWidth"),o===Dt||(o===It||o===Ft)&&n===Ht)w=At,p-=(h&&x===$&&$.visualViewport?$.visualViewport.height:x[k])-i.height,p*=l?1:-1;if(o===It||(o===Dt||o===At)&&n===Ht)y=Ft,u-=(h&&x===$&&$.visualViewport?$.visualViewport.width:x[_])-i.width,u*=l?1:-1}var C,T=Object.assign({position:s},c&&yr),E=!0===d?function(e){var t=e.x,r=e.y,i=window.devicePixelRatio||1;return{x:ir(t*i)/i||0,y:ir(r*i)/i||0}}({x:u,y:p}):{x:u,y:p};return u=E.x,p=E.y,l?Object.assign({},T,((C={})[w]=b?"0":"",C[y]=v?"0":"",C.transform=($.devicePixelRatio||1)<=1?"translate("+u+"px, "+p+"px)":"translate3d("+u+"px, "+p+"px, 0)",C)):Object.assign({},T,((t={})[w]=b?p+"px":"",t[y]=v?u+"px":"",t.transform="",t))}var $r={passive:!0};var xr={left:"right",right:"left",bottom:"top",top:"bottom"};function kr(e){return e.replace(/left|right|bottom|top/g,(function(e){return xr[e]}))}var _r={start:"end",end:"start"};function Cr(e){return e.replace(/start|end/g,(function(e){return _r[e]}))}function Tr(e){var t=Qt(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Er(e){return or(cr(e)).left+Tr(e).scrollLeft}function Or(e){var t=sr(e),r=t.overflow,i=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(r+o+i)}function Sr(e){return["html","body","#document"].indexOf(Yt(e))>=0?e.ownerDocument.body:Xt(e)&&Or(e)?e:Sr(dr(e))}function Mr(e,t){var r;void 0===t&&(t=[]);var i=Sr(e),o=i===(null==(r=e.ownerDocument)?void 0:r.body),n=Qt(i),a=o?[n].concat(n.visualViewport||[],Or(i)?i:[]):i,s=t.concat(a);return o?s:s.concat(Mr(dr(a)))}function zr(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Lr(e,t){return t===jt?zr(function(e){var t=Qt(e),r=cr(e),i=t.visualViewport,o=r.clientWidth,n=r.clientHeight,a=0,s=0;return i&&(o=i.width,n=i.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(a=i.offsetLeft,s=i.offsetTop)),{width:o,height:n,x:a+Er(e),y:s}}(e)):Gt(t)?function(e){var t=or(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(t):zr(function(e){var t,r=cr(e),i=Tr(e),o=null==(t=e.ownerDocument)?void 0:t.body,n=tr(r.scrollWidth,r.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=tr(r.scrollHeight,r.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),s=-i.scrollLeft+Er(e),l=-i.scrollTop;return"rtl"===sr(o||r).direction&&(s+=tr(r.clientWidth,o?o.clientWidth:0)-n),{width:n,height:a,x:s,y:l}}(cr(e)))}function Dr(e,t,r){var i="clippingParents"===t?function(e){var t=Mr(dr(e)),r=["absolute","fixed"].indexOf(sr(e).position)>=0&&Xt(e)?gr(e):e;return Gt(r)?t.filter((function(e){return Gt(e)&&ar(e,r)&&"body"!==Yt(e)})):[]}(e):[].concat(t),o=[].concat(i,[r]),n=o[0],a=o.reduce((function(t,r){var i=Lr(e,r);return t.top=tr(i.top,t.top),t.right=rr(i.right,t.right),t.bottom=rr(i.bottom,t.bottom),t.left=tr(i.left,t.left),t}),Lr(e,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function Ar(e){var t,r=e.reference,i=e.element,o=e.placement,n=o?er(o):null,a=o?br(o):null,s=r.x+r.width/2-i.width/2,l=r.y+r.height/2-i.height/2;switch(n){case Dt:t={x:s,y:r.y-i.height};break;case At:t={x:s,y:r.y+r.height};break;case Ft:t={x:r.x+r.width,y:l};break;case It:t={x:r.x-i.width,y:l};break;default:t={x:r.x,y:r.y}}var c=n?ur(n):null;if(null!=c){var d="y"===c?"height":"width";switch(a){case Nt:t[c]=t[c]-(r[d]/2-i[d]/2);break;case Ht:t[c]=t[c]+(r[d]/2-i[d]/2)}}return t}function Fr(e,t){void 0===t&&(t={});var r=t,i=r.placement,o=void 0===i?e.placement:i,n=r.boundary,a=void 0===n?Vt:n,s=r.rootBoundary,l=void 0===s?jt:s,c=r.elementContext,d=void 0===c?Bt:c,h=r.altBoundary,g=void 0!==h&&h,u=r.padding,m=void 0===u?0:u,p=pr("number"!=typeof m?m:fr(m,Rt)),f=d===Bt?Pt:Bt,v=e.rects.popper,b=e.elements[g?f:d],y=Dr(Gt(b)?b:b.contextElement||cr(e.elements.popper),a,l),w=or(e.elements.reference),$=Ar({reference:w,element:v,strategy:"absolute",placement:o}),x=zr(Object.assign({},v,$)),k=d===Bt?x:w,_={top:y.top-k.top+p.top,bottom:k.bottom-y.bottom+p.bottom,left:y.left-k.left+p.left,right:k.right-y.right+p.right},C=e.modifiersData.offset;if(d===Bt&&C){var T=C[o];Object.keys(_).forEach((function(e){var t=[Ft,At].indexOf(e)>=0?1:-1,r=[Dt,At].indexOf(e)>=0?"y":"x";_[e]+=T[r]*t}))}return _}function Ir(e,t){void 0===t&&(t={});var r=t,i=r.placement,o=r.boundary,n=r.rootBoundary,a=r.padding,s=r.flipVariations,l=r.allowedAutoPlacements,c=void 0===l?Ut:l,d=br(i),h=d?s?qt:qt.filter((function(e){return br(e)===d})):Rt,g=h.filter((function(e){return c.indexOf(e)>=0}));0===g.length&&(g=h);var u=g.reduce((function(t,r){return t[r]=Fr(e,{placement:r,boundary:o,rootBoundary:n,padding:a})[er(r)],t}),{});return Object.keys(u).sort((function(e,t){return u[e]-u[t]}))}const Wr={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,r=e.options,i=e.name;if(!t.modifiersData[i]._skip){for(var o=r.mainAxis,n=void 0===o||o,a=r.altAxis,s=void 0===a||a,l=r.fallbackPlacements,c=r.padding,d=r.boundary,h=r.rootBoundary,g=r.altBoundary,u=r.flipVariations,m=void 0===u||u,p=r.allowedAutoPlacements,f=t.options.placement,v=er(f),b=l||(v===f||!m?[kr(f)]:function(e){if(er(e)===Wt)return[];var t=kr(e);return[Cr(e),t,Cr(t)]}(f)),y=[f].concat(b).reduce((function(e,r){return e.concat(er(r)===Wt?Ir(t,{placement:r,boundary:d,rootBoundary:h,padding:c,flipVariations:m,allowedAutoPlacements:p}):r)}),[]),w=t.rects.reference,$=t.rects.popper,x=new Map,k=!0,_=y[0],C=0;C=0,M=S?"width":"height",z=Fr(t,{placement:T,boundary:d,rootBoundary:h,altBoundary:g,padding:c}),L=S?O?Ft:It:O?At:Dt;w[M]>$[M]&&(L=kr(L));var D=kr(L),A=[];if(n&&A.push(z[E]<=0),s&&A.push(z[L]<=0,z[D]<=0),A.every((function(e){return e}))){_=T,k=!1;break}x.set(T,A)}if(k)for(var F=function(e){var t=y.find((function(t){var r=x.get(t);if(r)return r.slice(0,e).every((function(e){return e}))}));if(t)return _=t,"break"},I=m?3:1;I>0;I--){if("break"===F(I))break}t.placement!==_&&(t.modifiersData[i]._skip=!0,t.placement=_,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Rr(e,t,r){return void 0===r&&(r={x:0,y:0}),{top:e.top-t.height-r.y,right:e.right-t.width+r.x,bottom:e.bottom-t.height+r.y,left:e.left-t.width-r.x}}function Nr(e){return[Dt,Ft,At,It].some((function(t){return e[t]>=0}))}const Hr={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,r=e.options,i=e.name,o=r.offset,n=void 0===o?[0,0]:o,a=Ut.reduce((function(e,r){return e[r]=function(e,t,r){var i=er(e),o=[It,Dt].indexOf(i)>=0?-1:1,n="function"==typeof r?r(Object.assign({},t,{placement:e})):r,a=n[0],s=n[1];return a=a||0,s=(s||0)*o,[It,Ft].indexOf(i)>=0?{x:s,y:a}:{x:a,y:s}}(r,t.rects,n),e}),{}),s=a[t.placement],l=s.x,c=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[i]=a}};const Vr={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,r=e.options,i=e.name,o=r.mainAxis,n=void 0===o||o,a=r.altAxis,s=void 0!==a&&a,l=r.boundary,c=r.rootBoundary,d=r.altBoundary,h=r.padding,g=r.tether,u=void 0===g||g,m=r.tetherOffset,p=void 0===m?0:m,f=Fr(t,{boundary:l,rootBoundary:c,padding:h,altBoundary:d}),v=er(t.placement),b=br(t.placement),y=!b,w=ur(v),$="x"===w?"y":"x",x=t.modifiersData.popperOffsets,k=t.rects.reference,_=t.rects.popper,C="function"==typeof p?p(Object.assign({},t.rects,{placement:t.placement})):p,T="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),E=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,O={x:0,y:0};if(x){if(n){var S,M="y"===w?Dt:It,z="y"===w?At:Ft,L="y"===w?"height":"width",D=x[w],A=D+f[M],F=D-f[z],I=u?-_[L]/2:0,W=b===Nt?k[L]:_[L],R=b===Nt?-_[L]:-k[L],N=t.elements.arrow,H=u&&N?nr(N):{width:0,height:0},V=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},j=V[M],B=V[z],P=mr(0,k[L],H[L]),q=y?k[L]/2-I-P-j-T.mainAxis:W-P-j-T.mainAxis,U=y?-k[L]/2+I+P+B+T.mainAxis:R+P+B+T.mainAxis,K=t.elements.arrow&&gr(t.elements.arrow),Y=K?"y"===w?K.clientTop||0:K.clientLeft||0:0,Q=null!=(S=null==E?void 0:E[w])?S:0,G=D+U-Q,X=mr(u?rr(A,D+q-Q-Y):A,D,u?tr(F,G):F);x[w]=X,O[w]=X-D}if(s){var Z,J="x"===w?Dt:It,ee="x"===w?At:Ft,te=x[$],re="y"===$?"height":"width",ie=te+f[J],oe=te-f[ee],ne=-1!==[Dt,It].indexOf(v),ae=null!=(Z=null==E?void 0:E[$])?Z:0,se=ne?ie:te-k[re]-_[re]-ae+T.altAxis,le=ne?te+k[re]+_[re]-ae-T.altAxis:oe,ce=u&&ne?function(e,t,r){var i=mr(e,t,r);return i>r?r:i}(se,te,le):mr(u?se:ie,te,u?le:oe);x[$]=ce,O[$]=ce-te}t.modifiersData[i]=O}},requiresIfExists:["offset"]};function jr(e,t,r){void 0===r&&(r=!1);var i,o,n=Xt(t),a=Xt(t)&&function(e){var t=e.getBoundingClientRect(),r=ir(t.width)/e.offsetWidth||1,i=ir(t.height)/e.offsetHeight||1;return 1!==r||1!==i}(t),s=cr(t),l=or(e,a),c={scrollLeft:0,scrollTop:0},d={x:0,y:0};return(n||!n&&!r)&&(("body"!==Yt(t)||Or(s))&&(c=(i=t)!==Qt(i)&&Xt(i)?{scrollLeft:(o=i).scrollLeft,scrollTop:o.scrollTop}:Tr(i)),Xt(t)?((d=or(t,!0)).x+=t.clientLeft,d.y+=t.clientTop):s&&(d.x=Er(s))),{x:l.left+c.scrollLeft-d.x,y:l.top+c.scrollTop-d.y,width:l.width,height:l.height}}function Br(e){var t=new Map,r=new Set,i=[];function o(e){r.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!r.has(e)){var i=t.get(e);i&&o(i)}})),i.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){r.has(e.name)||o(e)})),i}var Pr={placement:"bottom",modifiers:[],strategy:"absolute"};function qr(){for(var e=arguments.length,t=new Array(e),r=0;r{},onAfterHide:()=>{},onTransitionEnd:()=>{}},r),this.isVisible=!1,this.popover.hidden=!0,this.popover.classList.remove(this.options.visibleClass),this.popover.addEventListener("transitionend",this.handleTransitionEnd)}handleTransitionEnd(e){e.target===this.options.transitionElement&&(this.options.onTransitionEnd.call(this,e),this.isVisible||this.popover.hidden||(this.popover.hidden=!0,this.popover.classList.remove(this.options.visibleClass),this.options.onAfterHide.call(this)))}destroy(){this.popover.removeEventListener("transitionend",this.handleTransitionEnd),this.popper&&(this.popper.destroy(),this.popper=null)}show(){this.isVisible=!0,this.popover.hidden=!1,requestAnimationFrame((()=>this.popover.classList.add(this.options.visibleClass))),this.popper&&this.popper.destroy(),this.popper=Kr(this.anchor,this.popover,{placement:this.options.placement,strategy:this.options.strategy,modifiers:[{name:"flip",options:{boundary:"viewport"}},{name:"offset",options:{offset:[this.options.skidding,this.options.distance]}}]}),this.popover.addEventListener("transitionend",(()=>this.options.onAfterShow.call(this)),{once:!0}),requestAnimationFrame((()=>this.popper.update()))}hide(){this.isVisible=!1,this.popover.classList.remove(this.options.visibleClass)}setOptions(e){this.options=Object.assign(this.options,e),this.isVisible?this.popover.classList.add(this.options.visibleClass):this.popover.classList.remove(this.options.visibleClass),this.popper&&(this.popper.setOptions({placement:this.options.placement,strategy:this.options.strategy}),requestAnimationFrame((()=>this.popper.update())))}}let Qr=0;const Gr=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grShow=fe(this,"gr-show",7),this.grAfterShow=fe(this,"gr-after-show",7),this.grHide=fe(this,"gr-hide",7),this.grAfterHide=fe(this,"gr-after-hide",7),this.componentId="dropdown-"+ ++Qr,this.isVisible=!1,this.open=!1,this.placement="bottom-start",this.closeOnSelect=!0,this.containingElement=void 0,this.distance=2,this.skidding=0,this.hoist=!1}handleOpenChange(){this.open?this.show():this.hide(),this.updateAccessibleTrigger()}handlePopoverOptionsChange(){this.popoverElement.setOptions({strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding})}connectedCallback(){this.containingElement||(this.containingElement=this.el),this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this),this.handleMenuItemActivate=this.handleMenuItemActivate.bind(this),this.handlePanelSelect=this.handlePanelSelect.bind(this),this.handleTriggerClick=this.handleTriggerClick.bind(this),this.handleTriggerKeyDown=this.handleTriggerKeyDown.bind(this),this.handleTriggerKeyUp=this.handleTriggerKeyUp.bind(this),this.handleTriggerSlotChange=this.handleTriggerSlotChange.bind(this)}componentDidLoad(){this.popoverElement=new Yr(this.trigger,this.positioner,{strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding,transitionElement:this.panel,onAfterHide:()=>this.grAfterHide.emit(),onAfterShow:()=>this.grAfterShow.emit(),onTransitionEnd:()=>{this.open||(this.panel.scrollTop=0)}}),this.open&&this.show()}disconnectedCallback(){this.hide(),this.popoverElement.destroy()}async show(){if(this.isVisible)return;this.grShow.emit().defaultPrevented?this.open=!1:(this.panel.addEventListener("gr-activate",this.handleMenuItemActivate),this.panel.addEventListener("gr-select",this.handlePanelSelect),document.addEventListener("keydown",this.handleDocumentKeyDown),document.addEventListener("mousedown",this.handleDocumentMouseDown),this.isVisible=!0,this.open=!0,this.popoverElement.show())}async hide(){if(!this.isVisible)return;this.grHide.emit().defaultPrevented?this.open=!0:(this.panel.removeEventListener("gr-activate",this.handleMenuItemActivate),this.panel.removeEventListener("gr-select",this.handlePanelSelect),document.addEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("mousedown",this.handleDocumentMouseDown),this.isVisible=!1,this.open=!1,this.popoverElement.hide())}async focusOnTrigger(){const e=this.trigger.querySelector("slot").assignedElements({flatten:!0})[0];e&&("function"==typeof e.setFocus?e.setFocus():"function"==typeof e.focus&&e.focus())}getMenu(){return this.panel.querySelector("slot").assignedElements({flatten:!0}).filter((e=>"gr-menu"===e.tagName.toLowerCase()))[0]}handleDocumentKeyDown(e){var t;if("Escape"===e.key)return this.hide(),void this.focusOnTrigger();if("Tab"===e.key){if(this.open&&"gr-menu-item"===(null===(t=document.activeElement)||void 0===t?void 0:t.tagName.toLowerCase()))return e.preventDefault(),this.hide(),void this.focusOnTrigger();setTimeout((()=>{var e;const t=this.containingElement.getRootNode()instanceof ShadowRoot?null===(e=document.activeElement.shadowRoot)||void 0===e?void 0:e.activeElement:document.activeElement;(null==t?void 0:t.closest(this.containingElement.tagName.toLowerCase()))===this.containingElement||this.hide()}))}}handleDocumentMouseDown(e){e.composedPath().includes(this.containingElement)||this.hide()}handleMenuItemActivate(e){Mt(e.target,this.panel)}handlePanelSelect(e){const t=e.target;this.closeOnSelect&&"gr-menu"===t.tagName.toLowerCase()&&(this.hide(),this.focusOnTrigger())}handleTriggerClick(){this.open?this.hide():this.show()}handleTriggerKeyDown(e){const t=this.getMenu(),r=t?[...t.querySelectorAll("gr-menu-item")]:null,i=r[0],o=r[r.length-1];if("Escape"===e.key)return this.focusOnTrigger(),void this.hide();if([" ","Enter"].includes(e.key))return e.preventDefault(),void(this.open?this.hide():this.show());if(["ArrowDown","ArrowUp"].includes(e.key)){if(e.preventDefault(),this.open||this.show(),"ArrowDown"===e.key&&i)return void i.setFocus();if("ArrowUp"===e.key&&o)return void o.setFocus()}this.open&&t&&!["Tab","Shift","Meta","Ctrl","Alt"].includes(e.key)&&t.typeToSelect(e.key)}handleTriggerKeyUp(e){" "===e.key&&e.preventDefault()}handleTriggerSlotChange(){this.updateAccessibleTrigger()}updateAccessibleTrigger(){const e=this.trigger.querySelector("slot").assignedElements({flatten:!0}).map(Lt)[0];e&&(e.setAttribute("aria-haspopup","true"),e.setAttribute("aria-expanded",this.open?"true":"false"))}render(){return de(ge,{id:this.componentId,class:{"dropdown-open":this.open}},de("span",{class:"dropdown-trigger",ref:e=>this.trigger=e,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown,onKeyUp:this.handleTriggerKeyUp},de("slot",{name:"trigger",onSlotchange:this.handleTriggerSlotChange})),de("div",{ref:e=>this.positioner=e,class:"dropdown-positioner"},de("div",{ref:e=>this.panel=e,class:"dropdown-panel",role:"menu","aria-hidden":this.open?"false":"true","aria-labelledby":this.componentId},de("slot",null))))}get el(){return this}static get watchers(){return{open:["handleOpenChange"],distance:["handlePopoverOptionsChange"],hoist:["handlePopoverOptionsChange"],placement:["handlePopoverOptionsChange"],skidding:["handlePopoverOptionsChange"]}}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{--panel-background-color:var(--gr-color-white);--panel-border-radius:var(--gr-border-radius-medium);--panel-border-color:var(--gr-panel-border-color);--panel-box-shadow:var(--gr-shadow-large);--transition:150ms opacity, 150ms transform;display:inline-block;position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}.dropdown-trigger{display:block}.dropdown-positioner{position:absolute;z-index:var(--gr-z-index-dropdown)}.dropdown-panel{max-height:50vh;font-family:var(--gr-font-family);font-size:var(--gr-font-size-medium);font-weight:var(--gr-font-weight-normal);background-color:var(--panel-background-color);border:solid 1px var(--panel-border-color);border-radius:var(--panel-border-radius);box-shadow:var(--panel-box-shadow);opacity:0;overflow:auto;overscroll-behavior:none;pointer-events:none;transform:scale(0.9);transition:var(--transition)}.dropdown-positioner[data-popper-placement^=top] .dropdown-panel{transform-origin:bottom}.dropdown-positioner[data-popper-placement^=bottom] .dropdown-panel{transform-origin:top}.dropdown-positioner[data-popper-placement^=left] .dropdown-panel{transform-origin:right}.dropdown-positioner[data-popper-placement^=right] .dropdown-panel{transform-origin:left}.dropdown-positioner.popover-visible .dropdown-panel{opacity:1;transform:none;pointer-events:all}"}},[1,"gr-dropdown",{open:[1540],placement:[1],closeOnSelect:[4,"close-on-select"],containingElement:[1040],distance:[2],skidding:[2],hoist:[4],show:[64],hide:[64],focusOnTrigger:[64]}]);function Xr(){if("undefined"==typeof customElements)return;["gr-dropdown"].forEach((e=>{if("gr-dropdown"===e)customElements.get(e)||customElements.define(e,Gr)}))}Xr(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const Zr=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grSelect=fe(this,"gr-select",7),this.typeToSelectString=""}connectedCallback(){this.handleClick=this.handleClick.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this)}async typeToSelect(e){clearTimeout(this.typeToSelectTimeout),this.typeToSelectTimeout=setTimeout((()=>this.typeToSelectString=""),750),this.typeToSelectString+=e.toLowerCase();const t=this.getItems();for(const e of t){if(kt(e.shadowRoot.querySelector("slot:not([name])")).toLowerCase().trim().substring(0,this.typeToSelectString.length)===this.typeToSelectString){e.setFocus();break}}}getItems(){return[...this.menu.querySelector("slot").assignedElements({flatten:!0})].filter((e=>"gr-menu-item"===e.tagName.toLowerCase()&&!e.disabled))}getActiveItem(){return this.getItems().find((e=>e===document.activeElement))}setActiveItem(e){e.setFocus()}handleClick(e){const t=e.target.closest("gr-menu-item");t&&!t.disabled&&this.grSelect.emit({item:t})}handleKeyDown(e){if("Enter"===e.key){const t=this.getActiveItem();e.preventDefault(),t&&this.grSelect.emit({item:t})}if(" "===e.key&&e.preventDefault(),["ArrowDown","ArrowUp","Home","End"].includes(e.key)){const t=this.getItems(),r=this.getActiveItem();let i=t.indexOf(r);if(t.length)return e.preventDefault(),"ArrowDown"===e.key?i++:"ArrowUp"===e.key?i--:"Home"===e.key?i=0:"End"===e.key&&(i=t.length-1),i<0&&(i=0),i>t.length-1&&(i=t.length-1),void this.setActiveItem(t[i])}this.typeToSelect(e.key)}render(){return de("div",{ref:e=>this.menu=e,class:"menu",role:"menu",onClick:this.handleClick,onKeyDown:this.handleKeyDown},de("slot",null))}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{--padding-top:var(--gr-spacing-x-small);--padding-bottom:var(--gr-spacing-x-small);display:block;padding-top:var(--padding-top);padding-left:0;padding-right:0;padding-bottom:var(--padding-bottom);box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host:focus{outline:none}"}},[1,"gr-menu",{typeToSelect:[64]}]);function Jr(){if("undefined"==typeof customElements)return;["gr-menu"].forEach((e=>{if("gr-menu"===e)customElements.get(e)||customElements.define(e,Zr)}))}Jr(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const ei=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grClear=fe(this,"gr-clear",7),this.type="primary",this.size="medium",this.pill=!1,this.clearable=!1,this.truncate=!1,this.title=""}connectedCallback(){this.handleClearClick=this.handleClearClick.bind(this)}handleClearClick(){this.grClear.emit()}render(){return de(ge,{class:{[`tag-${this.type}`]:!0,[`tag-${this.size}`]:!0,"tag-pill":this.pill,"tag-clearable":this.clearable}},de("span",{class:"tag"},de("span",{class:{"tag-truncate":this.truncate},title:this.title},de("slot",null)),this.clearable&&de("gr-button",{variant:"plain",size:this.size,class:"tag-clear","aria-label":"clear",onClick:this.handleClearClick},de("svg",{slot:"icon-only",role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Close"),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 368L144 144M368 144L144 368"})))))}static get style(){return":host{--height:calc(var(--gr-form-element-height-medium) * 0.8);--line-height:calc(var(--gr-form-element-height-medium) - 1px * 2);--border-radius:var(--gr-form-element-border-radius-medium);--border-width:1px;--border-style:solid;--padding-top:0;--padding-start:var(--gr-spacing-small);--padding-end:var(--gr-spacing-small);--padding-bottom:0;--font-size:var(--gr-form-element-font-size-medium);--background-color:rgba(var(--gr-color-primary-rgb), 0.05);--border-color:rgba(var(--gr-color-primary-rgb), 0.2);--color:var(--gr-color-primary-shade);--clear-color:var(--gr-color-primary);--clear-color-hover:var(--gr-color-primary-shade);--clear-margin-left:var(--gr-spacing-xx-small);--clear-margin-right:calc(-1 * var(--gr-spacing-xxx-small));display:inline-block;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host(.tag-success){--background-color:rgba(var(--gr-color-success-rgb), 0.05);--border-color:rgba(var(--gr-color-success-rgb), 0.2);--color:var(--gr-color-success-shade);--clear-color:var(--gr-color-success);--clear-color-hover:var(--gr-color-success-shade)}:host(.tag-info){--background-color:rgba(var(--gr-color-medium-rgb), 0.05);--border-color:rgba(var(--gr-color-medium-rgb), 0.2);--color:var(--gr-color-medium-shade);--clear-color:var(--gr-color-medium);--clear-color-hover:var(--gr-color-medium-shade)}:host(.tag-warning){--background-color:rgba(var(--gr-color-warning-rgb), 0.05);--border-color:rgba(var(--gr-color-warning-rgb), 0.2);--color:var(--gr-color-warning-shade);--clear-color:var(--gr-color-warning);--clear-color-hover:var(--gr-color-warning-shade)}:host(.tag-danger){--background-color:rgba(var(--gr-color-danger-rgb), 0.05);--border-color:rgba(var(--gr-color-danger-rgb), 0.2);--color:var(--gr-color-danger-shade);--clear-color:var(--gr-color-danger);--clear-color-hover:var(--gr-color-danger-shade)}:host(.tag-small){--font-size:var(--gr-form-element-font-size-small);--height:calc(var(--gr-form-element-height-small) * 0.8);--line-height:calc(var(--gr-form-element-height-small) - 1px * 2);--border-radius:var(--gr-form-element-border-radius-small);--padding-start:var(--gr-spacing-x-small);--padding-end:var(--gr-spacing-x-small);--clear-margin-left:var(--gr-spacing-xx-small);--clear-margin-right:calc(-1 * var(--gr-spacing-xxx-small))}:host(.tag-large){--font-size:var(--gr-form-element-font-size-large);--height:calc(var(--gr-form-element-height-large) * 0.8);--line-height:calc(var(--gr-form-element-height-large) - 1px * 2);--border-radius:var(--gr-form-element-border-radius-large);--padding:0 var(--gr-spacing-medium);--clear-margin-left:var(--gr-spacing-xx-small);--clear-margin-right:calc(-1 * var(--gr-spacing-x-small))}.tag{display:flex;align-items:center;border-style:var(--border-style);border-width:var(--border-width);border-radius:var(--border-radius);white-space:nowrap;user-select:none;cursor:default;font-family:var(--gr-font-family);font-size:var(--font-size);font-weight:var(--gr-font-weight-normal);height:var(--height);line-height:var(--line-height);padding-top:var(--padding-top);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-bottom:var(--padding-bottom);background-color:var(--background-color);border-color:var(--border-color);color:var(--color)}.tag-clear{--color:var(--clear-color);--color-hover:var(--clear-color-hover);--padding-start:0;--padding-end:0;margin-left:var(--clear-margin-left);margin-right:var(--clear-margin-right);--height:1em}.tag-clear svg{font-size:0.7em}.tag-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-clear svg{width:1.1em;height:1.1em}:host(.tag-pill) .tag{border-radius:var(--height)}"}},[1,"gr-tag",{type:[513],size:[513],pill:[516],clearable:[516],truncate:[516],title:[513]}]);function ti(){if("undefined"==typeof customElements)return;["gr-tag","gr-button","gr-spinner"].forEach((e=>{switch(e){case"gr-tag":customElements.get(e)||customElements.define(e,ei);break;case"gr-button":customElements.get(e)||St();break;case"gr-spinner":customElements.get(e)||Et()}}))}ti(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const ri="undefined"!=typeof HTMLElement?HTMLElement:class{};let ii=0;const oi=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grChange=fe(this,"gr-change",7),this.grFocus=fe(this,"gr-focus",7),this.grBlur=fe(this,"gr-blur",7),this.inputId="select-"+ ++ii,this.labelId=`select-label-${ii}`,this.helpTextId=`select-help-text-${ii}`,this.invalidTextId=`select-invalid-text-${ii}`,this.inheritedAttributes={},this.handleBlur=()=>{this.isOpen||(this.hasFocus=!1,this.grBlur.emit())},this.handleFocus=()=>{this.hasFocus||(this.hasFocus=!0,this.grFocus.emit())},this.hasFocus=!1,this.hasHelpTextSlot=!1,this.hasInvalidTextSlot=!1,this.hasLabelSlot=!1,this.isOpen=!1,this.items=[],this.displayLabel="",this.displayTags=[],this.multiple=!1,this.maxTagsVisible=3,this.disabled=!1,this.name="",this.placeholder="",this.size="medium",this.hoist=!1,this.value="",this.pill=!1,this.label="",this.requiredIndicator=!1,this.helpText="",this.invalidText="",this.invalid=!1,this.clearable=!1}handleDisabledChange(){this.disabled&&this.isOpen&&this.dropdown.hide()}handleLabelChange(){this.handleSlotChange()}handleMultipleChange(){const e=this.getValueAsArray();this.value=this.multiple?e:e[0]||"",this.syncItemsFromValue()}handleValueChange(){this.syncItemsFromValue(),this.grChange.emit()}connectedCallback(){this.handleClearClick=this.handleClearClick.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleLabelClick=this.handleLabelClick.bind(this),this.handleMenuHide=this.handleMenuHide.bind(this),this.handleMenuShow=this.handleMenuShow.bind(this),this.handleMenuSelect=this.handleMenuSelect.bind(this),this.handleSlotChange=this.handleSlotChange.bind(this),this.handleTagInteraction=this.handleTagInteraction.bind(this),this.el.shadowRoot.addEventListener("slotchange",this.handleSlotChange)}componentWillLoad(){this.handleSlotChange(),this.inheritedAttributes=Ct(this.el,["aria-label"])}componentDidLoad(){this.resizeObserver=new ResizeObserver((()=>this.resizeMenu())),this.reportDuplicateItemValues(),requestAnimationFrame((()=>this.syncItemsFromValue()))}disconnectedCallback(){this.el.shadowRoot.removeEventListener("slotchange",this.handleSlotChange)}async setFocus(){this.hasFocus=!0,this.grFocus.emit(),this.dropdown.focusOnTrigger()}getItemLabel(e){return kt(e.shadowRoot.querySelector("slot:not([name])"))}getItems(){return[...this.el.querySelectorAll("gr-menu-item")]}getValueAsArray(){return Array.isArray(this.value)?this.value:[this.value]}handleClearClick(e){e.stopPropagation(),this.value=this.multiple?[]:"",this.syncItemsFromValue()}handleKeyDown(e){const t=e.target,r=this.getItems(),i=r[0],o=r[r.length-1];if("gr-tag"!==t.tagName.toLowerCase())if("Tab"!==e.key){if(["ArrowDown","ArrowUp"].includes(e.key)){if(e.preventDefault(),this.isOpen||this.dropdown.show(),"ArrowDown"===e.key&&i)return void i.setFocus();if("ArrowUp"===e.key&&o)return void o.setFocus()}this.isOpen||1!==e.key.length||(e.stopPropagation(),e.preventDefault(),this.dropdown.show(),this.menu.typeToSelect(e.key))}else this.isOpen&&this.dropdown.hide()}handleLabelClick(){this.box.focus()}handleMenuSelect(e){const t=e.detail.item;this.multiple?this.value=this.value.includes(t.value)?this.value.filter((e=>e!==t.value)):[...this.value,t.value]:this.value=t.value,this.syncItemsFromValue()}handleMenuShow(e){this.disabled?e.preventDefault():(this.resizeMenu(),this.resizeObserver.observe(this.el),this.isOpen=!0)}handleMenuHide(){this.resizeObserver.unobserve(this.el),this.isOpen=!1,this.box.focus()}handleSlotChange(){this.hasHelpTextSlot=_t(this.el,"help-text"),this.hasInvalidTextSlot=_t(this.el,"invalid-text"),this.hasLabelSlot=_t(this.el,"label"),this.syncItemsFromValue(),this.reportDuplicateItemValues()}handleTagInteraction(e){e.composedPath().find((e=>{if(e instanceof ri)return e.classList.contains("tag-clear")}))&&e.stopPropagation()}reportDuplicateItemValues(){const e=this.getItems().map((e=>e.value)).filter(((e,t,r)=>r.indexOf(e)!==t));if(e.length)throw new Error('Duplicate value found on in : "'+e.join('", "')+'"')}resizeMenu(){this.menu.style.width=`${this.box.clientWidth}px`}syncItemsFromValue(){const e=this.getItems(),t=this.getValueAsArray();if(e.map((e=>e.checked=t.includes(e.value))),this.multiple){const r=[];if(t.map((t=>e.map((e=>e.value===t?r.push(e):null)))),this.displayTags=r.map((e=>de("gr-tag",{type:"info",size:this.size,pill:this.pill,clearable:!0,onClick:this.handleTagInteraction,onKeyDown:this.handleTagInteraction,"onGr-clear":t=>{t.stopPropagation(),this.disabled||(e.checked=!1,this.syncValueFromItems())}},this.getItemLabel(e)))),this.maxTagsVisible>0&&this.displayTags.length>this.maxTagsVisible){const e=this.displayTags.length;this.displayLabel="",this.displayTags=this.displayTags.slice(0,this.maxTagsVisible),this.displayTags.push(de("gr-tag",{type:"info",size:this.size,pill:this.pill},"+",e-this.maxTagsVisible))}}else{const r=e.filter((e=>e.value===t[0]))[0];this.displayLabel=r?this.getItemLabel(r):"",this.displayTags=[]}}syncValueFromItems(){const e=this.getItems().filter((e=>e.checked)).map((e=>e.value));this.multiple?this.value=this.value.filter((t=>e.includes(t))):this.value=e.length>0?e[0]:""}render(){var e;const t=this.multiple?this.value.length>0:""!==this.value,r=this.inheritedAttributes["aria-label"]?{"aria-label":this.inheritedAttributes["aria-label"]}:{"aria-labelledby":this.labelId};return((e,t,r,i)=>{let o=e.querySelector("input.aux-input");o||(o=e.ownerDocument.createElement("input"),o.type="hidden",o.classList.add("aux-input"),e.appendChild(o)),o.disabled=i,o.name=t,o.value=r||""})(this.el,this.name,ni(this.value),this.disabled),de(xt,{inputId:this.inputId,label:this.label,labelId:this.labelId,hasLabelSlot:this.hasLabelSlot,helpTextId:this.helpTextId,helpText:this.helpText,hasHelpTextSlot:this.hasHelpTextSlot,invalidTextId:this.invalidTextId,invalidText:this.invalidText,invalid:this.invalid,hasInvalidTextSlot:this.hasInvalidTextSlot,size:this.size,onLabelClick:this.handleLabelClick,requiredIndicator:this.requiredIndicator},de("gr-dropdown",{ref:e=>this.dropdown=e,hoist:this.hoist,closeOnSelect:!this.multiple,containingElement:this.el,class:{select:!0,"select-open":this.isOpen,"select-empty":0===(null===(e=this.value)||void 0===e?void 0:e.length),"select-focused":this.hasFocus,"select-clearable":this.clearable,"select-disabled":this.disabled,"select-multiple":this.multiple,"select-has-tags":this.multiple&&t,"select-placeholder-visible":""===this.displayLabel,[`select-${this.size}`]:!0,"select-pill":this.pill,"select-invalid":this.invalid},"onGr-show":this.handleMenuShow,"onGr-hide":this.handleMenuHide},de("div",Object.assign({slot:"trigger",ref:e=>this.box=e,id:this.inputId,class:"select-box",role:"combobox"},r,{"aria-describedby":this.invalid?this.invalidTextId:this.helpTextId,"aria-haspopup":"true","aria-expanded":this.isOpen?"true":"false","aria-invalid":this.invalid?"true":"false","aria-required":this.requiredIndicator?"true":"false",tabIndex:this.disabled?-1:0,onBlur:this.handleBlur,onFocus:this.handleFocus,onKeyDown:this.handleKeyDown}),de("div",{class:"select-label"},this.displayTags.length?de("span",{class:"select-tags"},this.displayTags):this.displayLabel||this.placeholder),this.clearable&&t&&de("button",{class:"select-clear",type:"button",onClick:this.handleClearClick,"aria-label":"clear",tabindex:"-1"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Close Circle"),de("path",{d:"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"}),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M320 320L192 192M192 320l128-128"}))),de("span",{class:"caret"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Chevron Down"),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"48",d:"M112 184l144 144 144-144"}))),de("input",{class:"select-hidden-select","aria-hidden":"true",value:t?"1":"",tabIndex:-1})),de("gr-menu",{ref:e=>this.menu=e,class:"select-menu","onGr-select":this.handleMenuSelect},de("slot",{onSlotchange:this.handleSlotChange}))))}get el(){return this}static get watchers(){return{disabled:["handleDisabledChange"],helpText:["handleLabelChange"],invalidText:["handleLabelChange"],label:["handleLabelChange"],multiple:["handleMultipleChange"],value:["handleValueChange"]}}static get style(){return".form-control .form-control-label{display:none}.form-control .form-control-help-text{display:none}.form-control .form-control-invalid-text{display:none}.form-control-has-label .form-control-label{display:flex;line-height:var(--gr-line-height-normal);color:var(--gr-form-element-label-color);margin-bottom:var(--gr-spacing-xxx-small)}.form-control-has-label.form-control-small .form-control-label{font-size:var(--gr-form-element-label-font-size-small)}.form-control-has-label.form-control-medium .form-control-label{font-size:var(--gr-form-element-label-font-size-medium)}.form-control-has-label.form-control-large .form-control-label{font-size:var(--gr-form-element-label-font-size-large)}.form-control-has-label .form-control-label .asterisk{margin-left:var(--gr-spacing-x-small);color:var(--gr-color-medium)}.form-control-has-label .form-control-label .asterisk svg{width:0.6em;height:0.6em;margin-bottom:var(--gr-spacing-xxx-small)}.form-control-has-help-text .form-control-help-text{display:block;line-height:var(--gr-line-height-normal);color:var(--gr-form-element-help-text-color);margin-top:var(--gr-spacing-xxx-small)}.form-control-has-help-text.form-control-small .form-control-help-text{font-size:var(--gr-form-element-help-text-font-size-small);min-height:1.625rem}.form-control-has-help-text.form-control-medium .form-control-help-text{font-size:var(--gr-form-element-help-text-font-size-medium);min-height:1.875rem}.form-control-has-help-text.form-control-large .form-control-help-text{font-size:var(--gr-form-element-help-text-font-size-large);min-height:2.125rem}.form-control-has-invalid-text .form-control-invalid-text{display:flex;margin-left:-2px;line-height:var(--gr-line-height-normal);color:var(--gr-form-element-invalid-text-color);margin-top:var(--gr-spacing-xxx-small)}.form-control-has-invalid-text .form-control-invalid-text .icon{margin-top:var(--gr-spacing-xxx-small);margin-right:var(--gr-spacing-xx-small)}.form-control-has-invalid-text .form-control-invalid-text .icon svg{width:1.4em;height:1.4em}.form-control-has-invalid-text.form-control-small .form-control-invalid-text{font-size:var(--gr-form-element-invalid-text-font-size-small);min-height:1.625rem}.form-control-has-invalid-text.form-control-medium .form-control-invalid-text{font-size:var(--gr-form-element-invalid-text-font-size-medium);min-height:1.875rem}.form-control-has-invalid-text.form-control-large .form-control-invalid-text{font-size:var(--gr-form-element-invalid-text-font-size-large);min-height:2.125rem}.gr-scroll-lock{overflow:hidden !important}:host{--font-size:var(--gr-form-element-font-size-medium);--font-weight:var(--gr-font-weight-normal);--background-color:var(--gr-color-white);--background-color-hover:var(--gr-color-white);--background-color-focus:var(--gr-color-white);--background-color-invalid:var(--gr-color-white);--background-color-invalid-hover:var(--gr-color-white);--border-radius:var(--gr-form-element-border-radius-small);--border-color:var(--gr-color-light-shade);--border-color-hover:var(--gr-color-medium);--border-color-focus:var(--gr-color-primary);--border-color-invalid:var(--gr-color-danger);--border-color-invalid-hover:var(--gr-color-danger-shade);--color:var(--gr-color-dark-tint);--placeholder-color:var(--gr-color-medium-tint);--min-height:var(--gr-form-element-height-medium);--label-margin-start:var(--gr-spacing-medium);--label-margin-end:var(--gr-spacing-medium);--clear-icon-margin-end:var(--gr-spacing-medium);--caret-margin-end:var(--gr-spacing-medium);--tags-padding-top:3px;--tags-padding-bottom:3px;--tags-margin-end:var(--gr-spacing-xx-small);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33);display:block;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}.select-small{--font-size:var(--gr-form-element-font-size-small);--min-height:var(--gr-form-element-height-small);--label-margin-start:var(--gr-spacing-small);--label-margin-end:var(--gr-spacing-small);--clear-icon-margin-end:var(--gr-spacing-small);--caret-margin-end:var(--gr-spacing-small);--tags-padding-top:2px;--tags-padding-bottom:2px}.select-large{--font-size:var(--gr-form-element-font-size-large);--min-height:var(--gr-form-element-height-large);--label-margin-start:var(--gr-spacing-large);--label-margin-end:var(--gr-spacing-large);--clear-icon-margin-end:var(--gr-spacing-large);--caret-margin-end:var(--gr-spacing-large);--tags-padding-top:4px;--tags-padding-bottom:4px}.select{display:block}.select-box{display:inline-flex;align-items:center;justify-content:start;position:relative;width:100%;font-family:var(--gr-font-family);font-size:var(--font-size);font-weight:var(--font-weight);letter-spacing:normal;background-color:var(--background-color);border:solid 1px var(--border-color);border-radius:var(--border-radius);min-height:var(--min-height);color:var(--color);vertical-align:middle;overflow:hidden;transition:150ms color, 150ms border, 150ms box-shadow;cursor:pointer}.select.select-invalid:not(.select-disabled) .select-box{background-color:var(--background-color-invalid);border-color:var(--border-color-invalid)}.select.select-invalid:not(.select-disabled):not(.select-focused) .select-box:hover{background-color:var(--background-color-invalid-hover);border-color:var(--border-color-invalid-hover)}.select.select-invalid:not(.select-disabled) .select-box{background-color:var(--background-color-invalid);border-color:var(--border-color-invalid)}.select:not(.select-disabled) .select-box:hover{background-color:var(--background-color-hover);border-color:var(--border-color-hover)}.select.select-focused:not(.select-disabled) .select-box{outline:none;box-shadow:var(--focus-ring);border-color:var(--border-color-focus);background-color:var(--background-color-focus)}.select-disabled .select-box{opacity:0.5;cursor:not-allowed;outline:none}.select-disabled .select-tags,.select-disabled .select-clear{pointer-events:none}.select-label{flex:1 1 auto;display:flex;align-items:center;user-select:none;margin-top:0;margin-left:var(--label-margin-start);margin-right:var(--label-margin-end);margin-bottom:0;scrollbar-width:none;-ms-overflow-style:none;overflow-x:auto;overflow-y:hidden;white-space:nowrap}.select-label::-webkit-scrollbar{width:0;height:0}.select-has-tags .select-label{margin-left:0}.select-clear{display:inline-flex;align-items:center;font-size:inherit;color:var(--gr-color-medium);border:none;background:none;padding:0;transition:150ms color;cursor:pointer;margin-right:var(--clear-icon-margin-end)}.select-clear:hover{color:var(--gr-color-dark)}.select-clear:focus{outline:none}.select-clear svg{width:1.2em;height:1.2em;font-size:var(--font-size)}.caret{flex:0 0 auto;display:inline-flex;transition:250ms transform ease;margin-right:var(--caret-margin-end)}.caret svg{width:1em;height:1em;font-size:var(--font-size)}.select-open .caret{transform:rotate(-180deg)}.select-placeholder-visible .select-label{color:var(--placeholder-color)}.select-tags{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:left;margin-left:var(--gr-spacing-xx-small);padding-bottom:var(--tags-padding-bottom)}.select-tags gr-tag{padding-top:var(--tags-padding-top)}.select-tags gr-tag:not(:last-of-type){margin-right:var(--tags-margin-end)}.select-hidden-select{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px;position:absolute;top:0;left:0;width:100%;height:100%}.select-pill .select-box{border-radius:var(--min-height)}"}},[1,"gr-select",{multiple:[4],maxTagsVisible:[2,"max-tags-visible"],disabled:[4],name:[1],placeholder:[1],size:[1],hoist:[4],value:[1025],pill:[4],label:[1],requiredIndicator:[4,"required-indicator"],helpText:[1,"help-text"],invalidText:[1,"invalid-text"],invalid:[516],clearable:[4],hasFocus:[32],hasHelpTextSlot:[32],hasInvalidTextSlot:[32],hasLabelSlot:[32],isOpen:[32],items:[32],displayLabel:[32],displayTags:[32],setFocus:[64]}]),ni=e=>{if(null!=e)return Array.isArray(e)?e.join(","):e.toString()};!function(){if("undefined"==typeof customElements)return;["gr-select","gr-button","gr-dropdown","gr-menu","gr-spinner","gr-tag"].forEach((e=>{switch(e){case"gr-select":customElements.get(e)||customElements.define(e,oi);break;case"gr-button":customElements.get(e)||St();break;case"gr-dropdown":customElements.get(e)||Xr();break;case"gr-menu":customElements.get(e)||Jr();break;case"gr-spinner":customElements.get(e)||Et();break;case"gr-tag":customElements.get(e)||ti()}}))}();const ai=oi,si=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.hasFocus=!1,this.checked=!1,this.value="",this.disabled=!1}connectedCallback(){this.handleBlur=this.handleBlur.bind(this),this.handleFocus=this.handleFocus.bind(this),this.handleMouseEnter=this.handleMouseEnter.bind(this),this.handleMouseLeave=this.handleMouseLeave.bind(this)}async setFocus(e){this.el.focus(e)}async removeFocus(){this.el.blur()}handleBlur(){this.hasFocus=!1}handleFocus(){this.hasFocus=!0}handleMouseEnter(){this.setFocus()}handleMouseLeave(){this.removeFocus()}render(){return de(ge,{class:{"menu-item-checked":this.checked,"menu-item-disabled":this.disabled,"menu-item-focused":this.hasFocus},role:"menuitem","aria-disabled":this.disabled?"true":"false","aria-checked":this.checked?"true":"false",tabIndex:this.disabled?null:0,onFocus:this.handleFocus,onBlur:this.handleBlur,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave},de("span",{class:"checkmark"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Checkmark"),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M416 128L192 384l-96-96"}))),de("span",{class:"start"},de("slot",{name:"start"})),de("span",{class:"label"},de("slot",null)),de("span",{class:"end"},de("slot",{name:"end"})))}get el(){return this}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{--line-height:var(--gr-line-height-normal);--background-color:transparent;--background-color-focused:var(--gr-color-primary);--color:var(--gr-color-dark);--color-focused:var(--gr-color-primary-contrast);--color-disabled:var(--gr-color-medium);--padding-top:var(--gr-spacing-xx-small);--padding-start:var(--gr-spacing-x-large);--padding-end:var(--gr-spacing-x-large);--padding-bottom:var(--gr-spacing-xx-small);--transition:background-color 150ms linear, color 150ms linear;position:relative;display:flex;align-items:stretch;font-family:var(--gr-font-family);font-size:var(--gr-font-size-medium);font-weight:var(--gr-font-weight-normal);line-height:var(--line-height);letter-spacing:var(--gr-letter-spacing-normal);text-align:left;background-color:var(--background-color);color:var(--color);padding-top:var(--padding-top);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-bottom:var(--padding-bottom);transition:var(--transition);user-select:none;white-space:nowrap;cursor:pointer;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host(.menu-item-focused:not(.menu-item-disabled)){outline:none;background-color:var(--background-color-focused);color:var(--color-focused)}:host(.menu-item-disabled){outline:none;color:var(--color-disabled);cursor:not-allowed}.checkmark{display:flex;position:absolute;left:0.5em;top:calc(50% - 0.5em);visibility:hidden;align-items:center;font-size:inherit}.checkmark svg{display:inline-block;width:1.1em;height:1.1em;contain:strict;fill:currentcolor;box-sizing:content-box !important}:host(.menu-item-checked) .checkmark{visibility:visible}.label{flex:1 1 auto}.start{flex:0 0 auto;display:flex;align-items:center}.start ::slotted(:last-child){margin-right:0.5em}.end{flex:0 0 auto;display:flex;align-items:center}.end ::slotted(:first-child){margin-left:0.5em}"}},[1,"gr-menu-item",{checked:[516],value:[513],disabled:[516],hasFocus:[32],setFocus:[64],removeFocus:[64]}]); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */!function(){if("undefined"==typeof customElements)return;["gr-menu-item"].forEach((e=>{if("gr-menu-item"===e)customElements.get(e)||customElements.define(e,si)}))}();const li={"gr-select":ai,"gr-menu-item":si};class ci extends(q(_)){constructor(){super(...arguments),this.value=null,this.multiple=!1,this.clearable=!1,this._refSelect=y()}reset(){this.value=null}_valueChangedHandler(e){const t=this._refSelect.value?.value;if(void 0!==t&&!l(this.value,t)){const e=null===this.value;this.value=t,e||w(this,"select:change",t)}}willUpdate(e){e.has("initialValue")&&this.initialValue&&!this.value&&(this.value=this.initialValue)}render(){return $` - ${this.options?.map((e=>$`${e.label}`))} - `}static get styles(){return k(':root, :host {\n --gr-color-primary: #1079b2;\n --gr-color-primary-rgb: 16, 121, 178;\n --gr-color-primary-contrast: #ffffff;\n --gr-color-primary-contrast-rgb: 255, 255, 255;\n --gr-color-primary-shade: #0d6696;\n --gr-color-primary-tint: #1499e1;\n --gr-color-secondary: #051f2c;\n --gr-color-secondary-rgb: 5, 31, 44;\n --gr-color-secondary-contrast: #ffffff;\n --gr-color-secondary-contrast-rgb: 255, 255, 255;\n --gr-color-secondary-shade: #000000;\n --gr-color-secondary-tint: #0a415c;\n --gr-color-tertiary: #0c4a6e;\n --gr-color-tertiary-rgb: 12, 74, 110;\n --gr-color-tertiary-contrast: #ffffff;\n --gr-color-tertiary-contrast-rgb: 255, 255, 255;\n --gr-color-tertiary-shade: #083249;\n --gr-color-tertiary-tint: #106393;\n --gr-color-success: #0fbe78;\n --gr-color-success-rgb: 15, 190, 120;\n --gr-color-success-contrast: #000000;\n --gr-color-success-contrast-rgb: 0, 0, 0;\n --gr-color-success-shade: #057f4e;\n --gr-color-success-tint: #12e28f;\n --gr-color-warning: #fbbc4e;\n --gr-color-warning-rgb: 251, 188, 78;\n --gr-color-warning-contrast: #051f2c;\n --gr-color-warning-contrast-rgb: 5, 31, 44;\n --gr-color-warning-shade: #9e6400;\n --gr-color-warning-tint: #fdd187;\n --gr-color-danger: #e60017;\n --gr-color-danger-rgb: 230, 0, 23;\n --gr-color-danger-contrast: #ffffff;\n --gr-color-danger-contrast-rgb: 255, 255, 255;\n --gr-color-danger-shade: #cc0014;\n --gr-color-danger-tint: #ff1f35;\n --gr-color-light: #f4f5f8;\n --gr-color-light-rgb: 244, 245, 248;\n --gr-color-light-contrast: #051f2c;\n --gr-color-light-contrast-rgb: 5, 31, 44;\n --gr-color-light-shade: #d7d8da;\n --gr-color-light-tint: #f9fafb;\n --gr-color-medium: #5e6c78;\n --gr-color-medium-rgb: 94, 108, 120;\n --gr-color-medium-contrast: #ffffff;\n --gr-color-medium-contrast-rgb: 255, 255, 255;\n --gr-color-medium-shade: #48535b;\n --gr-color-medium-tint: #81909c;\n --gr-color-dark: #02131b;\n --gr-color-dark-rgb: 2, 19, 27;\n --gr-color-dark-contrast: #ffffff;\n --gr-color-dark-contrast-rgb: 255, 255, 255;\n --gr-color-dark-shade: #000000;\n --gr-color-dark-tint: #222428;\n --gr-color-white: #ffffff;\n --gr-color-black: #000000;\n --gr-border-radius-small: 0.125rem;\n --gr-border-radius-medium: 0.25rem;\n --gr-border-radius-large: 0.5rem;\n --gr-border-radius-x-large: 1rem;\n --gr-border-width-small: 0.063rem;\n --gr-border-width-medium: 0.125rem;\n --gr-border-width-large: 0.188rem;\n --gr-shadow-x-small: 0 1px 0 #0d131e0d;\n --gr-shadow-small: 0 1px 2px #0d131e1a;\n --gr-shadow-medium: 0 2px 4px #0d131e1a;\n --gr-shadow-large: 0 2px 8px #0d131e1a;\n --gr-shadow-x-large: 0 4px 16px #0d131e1a;\n --gr-spacing-xxx-small: 0.125rem;\n --gr-spacing-xx-small: 0.25rem;\n --gr-spacing-x-small: 0.5rem;\n --gr-spacing-small: 0.75rem;\n --gr-spacing-medium: 1rem;\n --gr-spacing-large: 1.25rem;\n --gr-spacing-x-large: 1.75rem;\n --gr-spacing-xx-large: 2.25rem;\n --gr-spacing-xxx-large: 3rem;\n --gr-spacing-xxxx-large: 4.5rem;\n --gr-font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial,\n sans-serif;\n --gr-letter-spacing-dense: -0.015em;\n --gr-letter-spacing-normal: normal;\n --gr-letter-spacing-loose: 0.075em;\n --gr-line-height-dense: 1.4;\n --gr-line-height-normal: 1.8;\n --gr-line-height-loose: 2.2;\n --gr-font-size-xx-small: 0.625rem;\n --gr-font-size-x-small: 0.75rem;\n --gr-font-size-small: 0.875rem;\n --gr-font-size-medium: 1rem;\n --gr-font-size-large: 1.25rem;\n --gr-font-size-x-large: 1.5rem;\n --gr-font-size-xx-large: 2.25rem;\n --gr-font-size-xxx-large: 3rem;\n --gr-font-size-xxxx-large: 4.5rem;\n --gr-font-weight-thin: 100;\n --gr-font-weight-extra-light: 200;\n --gr-font-weight-light: 300;\n --gr-font-weight-normal: 400;\n --gr-font-weight-medium: 500;\n --gr-font-weight-semi-bold: 600;\n --gr-font-weight-bold: 700;\n --gr-font-weight-extra-bold: 800;\n --gr-font-weight-black: 900;\n --gr-form-element-font-size-x-small: var(--gr-font-size-x-small);\n --gr-form-element-font-size-small: var(--gr-font-size-small);\n --gr-form-element-font-size-medium: var(--gr-font-size-medium);\n --gr-form-element-font-size-large: var(--gr-font-size-large);\n --gr-form-element-height-small: 2.188rem;\n --gr-form-element-height-medium: 3.125rem;\n --gr-form-element-height-large: 4.063rem;\n --gr-form-element-border-radius-small: var(--gr-border-radius-medium);\n --gr-form-element-border-radius-medium: var(--gr-border-radius-medium);\n --gr-form-element-border-radius-large: var(--gr-border-radius-medium);\n --gr-focus-ring-width: 2px;\n --gr-form-element-label-font-size-small: var(--gr-font-size-small);\n --gr-form-element-label-font-size-medium: var(--gr-font-size-medium);\n --gr-form-element-label-font-size-large: var(--gr-font-size-large);\n --gr-form-element-label-color: inherit;\n --gr-form-element-help-text-font-size-small: var(--gr-font-size-x-small);\n --gr-form-element-help-text-font-size-medium: var(--gr-font-size-small);\n --gr-form-element-help-text-font-size-large: var(--gr-font-size-medium);\n --gr-form-element-help-text-color: var(--gr-color-medium);\n --gr-form-element-invalid-text-font-size-small: var(--gr-font-size-x-small);\n --gr-form-element-invalid-text-font-size-medium: var(--gr-font-size-small);\n --gr-form-element-invalid-text-font-size-large: var(--gr-font-size-medium);\n --gr-form-element-invalid-text-color: var(--gr-color-danger);\n --gr-toggle-size: 1rem;\n --gr-panel-border-color: var(--gr-color-light-shade);\n --gr-z-index-dropdown: 900;\n}\n\n')}}ci.elementDefinitions={...li},f([v({attribute:!1,hasChanged:b})],ci.prototype,"options",void 0),f([v({attribute:!1,hasChanged:b})],ci.prototype,"value",void 0),f([v({attribute:!1,hasChanged:b})],ci.prototype,"initialValue",void 0),f([v({attribute:!0})],ci.prototype,"label",void 0),f([v({attribute:!0})],ci.prototype,"placeholder",void 0),f([v({attribute:!0,type:Boolean})],ci.prototype,"multiple",void 0),f([v({attribute:!0,type:Boolean})],ci.prototype,"clearable",void 0);let di=class extends(q(_)){constructor(){super(...arguments),this._mediaFilterController=new U(this),this._refMediaType=y(),this._refCamera=y(),this._refWhen=y(),this._refWhenFrom=y(),this._refWhenTo=y(),this._refWhat=y(),this._refWhere=y(),this._refFavorite=y(),this._refTags=y()}willUpdate(e){e.has("viewManagerEpoch")&&this._mediaFilterController.setViewManager(this.viewManagerEpoch?.manager??null),e.has("cameraManager")&&this.cameraManager&&(this._mediaFilterController.computeCameraOptions(this.cameraManager),this._mediaFilterController.computeMetadataOptions(this.cameraManager)),!e.get("viewManager")&&this.viewManagerEpoch&&this.cameraManager&&this._mediaFilterController.computeInitialDefaultsFromView(this.cameraManager)}render(){const e=async()=>{this.cameraManager&&this.viewManagerEpoch&&this.cardWideConfig&&await this._mediaFilterController.valueChangeHandler(this.cameraManager,this.cardWideConfig,{camera:this._refCamera.value?.value??void 0,mediaType:this._refMediaType.value?.value??void 0,when:{selected:this._refWhen.value?.value??void 0,from:this._refWhenFrom.value?.value,to:this._refWhenTo.value?.value},favorite:this._refFavorite.value?.value??void 0,where:this._refWhere.value?.value??void 0,what:this._refWhat.value?.value??void 0,tags:this._refTags.value?.value??void 0})},t=async t=>{"custom"===t&&this._refWhen.value?this._refWhenFrom.value?.value||this._refWhenTo.value?.value?this._refWhen.value.value=B.Custom:this._refWhen.value.reset():this._refWhen.value?.value!==B.Custom&&(this._refWhenFrom.value?.reset(),this._refWhenTo.value?.reset()),await e()};if(!this.cameraManager||!this.viewManagerEpoch)return;const r=this._mediaFilterController.getControlsToShow(this.cameraManager),o=this._mediaFilterController.getDefaults(),n=this._mediaFilterController.getWhatOptions(),a=this._mediaFilterController.getTagsOptions(),s=this._mediaFilterController.getWhereOptions();return $` e()} - > - -
- t("selected")} - > - - t("custom")} - > - - t("custom")} - > - -
- e()} - > - - ${r.events&&n.length?$` e()} - > - `:""} - ${r.events&&a.length?$` e()} - > - `:""} - ${r.events&&s.length?$` e()} - > - `:""} - ${r.favorites?$` - e()} - > - - `:""}`}static get styles(){return k(":host {\n display: flex;\n flex-direction: column;\n overflow: auto;\n scrollbar-width: none;\n -ms-overflow-style: none;\n height: 100%;\n width: 300px;\n margin: 5px;\n}\n\n/* Hide scrollbar for Chrome, Safari and Opera */\n:host::-webkit-scrollbar {\n display: none;\n}\n\nfrigate-card-select {\n padding: 5px;\n}\n\ndiv.when {\n display: inline-flex;\n align-items: flex-end;\n}\n\ndiv.when frigate-card-select {\n flex: 1;\n}\n\ndiv.when frigate-card-date-picker {\n padding-bottom: 5px;\n transition: width 0.5s ease-in-out;\n}\n\ndiv.when frigate-card-date-picker {\n color: var(--secondary-color);\n}\n\ndiv.when frigate-card-date-picker.selected {\n color: var(--primary-color);\n}\n\ndiv.when frigate-card-date-picker.hidden {\n width: 0px;\n}")}};di.elementDefinitions={"frigate-card-select":ci,"frigate-card-date-picker":R},f([v({attribute:!1})],di.prototype,"hass",void 0),f([v({attribute:!1})],di.prototype,"cameraManager",void 0),f([v({attribute:!1})],di.prototype,"viewManagerEpoch",void 0),f([v({attribute:!1})],di.prototype,"cardWideConfig",void 0),di=f([C("frigate-card-media-filter")],di);const hi={closed:"mdi:filter-cog-outline",open:"mdi:filter-cog"};let gi=class extends _{render(){const e=this.viewManagerEpoch?.manager.getView();if(this.hass&&e?.isGalleryView()&&this.cameraManager&&this.cardWideConfig)return $` - - ${this.galleryConfig&&"none"!==this.galleryConfig.controls.filter.mode?$` - `:""} - - - - `}static get styles(){return k(":host {\n width: 100%;\n height: 100%;\n display: block;\n}\n\nfrigate-card-surround-basic {\n max-height: 110dvh;\n}")}};f([v({attribute:!1})],gi.prototype,"hass",void 0),f([v({attribute:!1})],gi.prototype,"viewManagerEpoch",void 0),f([v({attribute:!1})],gi.prototype,"galleryConfig",void 0),f([v({attribute:!1})],gi.prototype,"cameraManager",void 0),f([v({attribute:!1})],gi.prototype,"cardWideConfig",void 0),gi=f([C("frigate-card-gallery")],gi);let ui=class extends _{constructor(){super(),this._refLoaderBottom=y(),this._refSelected=y(),this._showLoaderBottom=!0,this._showLoaderTop=!1,this._boundWheelHandler=this._wheelHandler.bind(this),this._boundTouchStartHandler=this._touchStartHandler.bind(this),this._boundTouchEndHandler=this._touchEndHandler.bind(this),this._throttleExtendGalleryLater=O(this._extendGallery.bind(this),500,{leading:!0,trailing:!1}),this._touchScrollYPosition=null,this._resizeObserver=new ResizeObserver(this._resizeHandler.bind(this)),this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this))}_touchStartHandler(e){1===e.touches.length?this._touchScrollYPosition=e.touches[0].screenY:this._touchScrollYPosition=null}async _touchEndHandler(e){!this.scrollTop&&1===e.changedTouches.length&&this._touchScrollYPosition&&e.changedTouches[0].screenY>this._touchScrollYPosition&&await this._extendLater(),this._touchScrollYPosition=null}async _wheelHandler(e){!this.scrollTop&&e.deltaY<0&&await this._extendLater()}async _extendLater(){const e=new Date;this._showLoaderTop=!0,await this._throttleExtendGalleryLater("later",!1);const t=(new Date).getTime()-e.getTime();t<500&&await S(.5-t/1e3),this._showLoaderTop=!1}connectedCallback(){super.connectedCallback(),this._resizeObserver.observe(this),this.addEventListener("wheel",this._boundWheelHandler,{passive:!0}),this.addEventListener("touchstart",this._boundTouchStartHandler,{passive:!0}),this.addEventListener("touchend",this._boundTouchEndHandler),this.requestUpdate()}disconnectedCallback(){this.removeEventListener("wheel",this._boundWheelHandler),this.removeEventListener("touchstart",this._boundTouchStartHandler),this.removeEventListener("touchend",this._boundTouchEndHandler),this._resizeObserver.disconnect(),this._intersectionObserver.disconnect(),super.disconnectedCallback()}_setColumnCount(){const e=this.galleryConfig?.controls.thumbnails.size??M.media_gallery.controls.thumbnails.size,t=this.galleryConfig?.controls.thumbnails.show_details?Math.max(1,Math.floor(this.clientWidth/z)):Math.max(1,Math.ceil(this.clientWidth/e));this.style.setProperty("--frigate-card-gallery-columns",String(t))}_resizeHandler(){this._setColumnCount()}async _intersectionHandler(e){e.every((e=>!e.isIntersecting))||(this._showLoaderBottom=!1,await this._extendGallery("earlier"))}async _extendGallery(e,t=!0){const r=this.viewManagerEpoch?.manager.getView();if(!this.cameraManager||!this.hass||!r)return;const i=r.query,n=i?.getQueries()??null,s=r.queryResults?.getResults();if(!i||!n||!s)return;let l;try{l=await this.cameraManager.extendMediaQueries(n,s,e,{useCache:t})}catch(e){return void d(e)}if(l){const e=c.areEventQueries(i)?new o(l.queries):c.areRecordingQueries(i)?new a(l.queries):null;e&&this.viewManagerEpoch?.manager.setViewByParameters({baseView:r,params:{query:e,queryResults:new L({results:l.results}).selectResultIfFound((e=>e===r.queryResults?.getSelectedResult()))}})}}willUpdate(e){if(e.has("galleryConfig")&&(this.galleryConfig?.controls.thumbnails.show_details?this.setAttribute("details",""):this.removeAttribute("details"),this._setColumnCount(),this.galleryConfig?.controls.thumbnails.size&&this.style.setProperty("--frigate-card-thumbnail-size",`${this.galleryConfig.controls.thumbnails.size}px`)),e.has("viewManagerEpoch")){this._showLoaderBottom=!0;const e=this.viewManagerEpoch?.manager.getView(),t=this.viewManagerEpoch?.oldView;this._media&&t?.queryResults?.getResults()===e?.queryResults?.getResults()||(this._media=[...e?.queryResults?.getResults()??[]].reverse())}}render(){if(!this._media||!this.hass)return $``;const e=this.viewManagerEpoch?.manager.getView();if(!e?.queryResults||0===e.queryResults.getResultsCount()){const t=!!e?.context?.loading?.query;return D({type:"info",message:i(t?"error.awaiting_media":"common.no_media"),icon:"mdi:multimedia",dotdotdot:t})}const t=e.queryResults.getSelectedResult();return $`
- ${this._showLoaderTop?$`${A({cardWideConfig:this.cardWideConfig,classes:{top:!0},size:"small"})}`:""} - ${this._media.map(((r,i)=>$`{this._media&&this.viewManagerEpoch?.manager.setViewByParameters({params:{view:"media",queryResults:e.queryResults?.clone().selectIndex(this._media.length-i-1)}}),F(t)}} - > - `))} - ${this._showLoaderBottom?$`${A({cardWideConfig:this.cardWideConfig,componentRef:this._refLoaderBottom})}`:""} -
`}updated(e){this._refLoaderBottom.value&&(this._intersectionObserver.disconnect(),this._intersectionObserver.observe(this._refLoaderBottom.value)),this.updateComplete.then((()=>{e.has("viewManagerEpoch")&&!e.get("viewManagerEpoch")&&this._refSelected.value&&this._refSelected.value.scrollIntoView({block:"center"})}))}static get styles(){return k(":host {\n width: 100%;\n height: 100%;\n display: block;\n overflow: auto;\n -ms-overflow-style: none;\n scrollbar-width: none;\n --frigate-card-gallery-gap: 3px;\n --frigate-card-gallery-columns: 4;\n}\n\n.grid {\n display: grid;\n grid-template-columns: repeat(var(--frigate-card-gallery-columns), minmax(0, 1fr));\n grid-auto-rows: min-content;\n gap: var(--frigate-card-gallery-gap);\n}\n\n:host::-webkit-scrollbar {\n display: none;\n}\n\nfrigate-card-thumbnail {\n height: 100%;\n max-height: var(--frigate-card-thumbnail-size);\n}\n\nfrigate-card-thumbnail:not([details]) {\n width: 100%;\n}\n\nfrigate-card-thumbnail.selected {\n border: 4px solid var(--accent-color);\n border-radius: calc(var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px)) + 4px);\n}\n\nfrigate-card-progress-indicator.top {\n grid-column: 1/-1;\n}")}};f([v({attribute:!1})],ui.prototype,"hass",void 0),f([v({attribute:!1})],ui.prototype,"viewManagerEpoch",void 0),f([v({attribute:!1})],ui.prototype,"galleryConfig",void 0),f([v({attribute:!1})],ui.prototype,"cameraManager",void 0),f([v({attribute:!1})],ui.prototype,"cardWideConfig",void 0),f([E()],ui.prototype,"_showLoaderBottom",void 0),f([E()],ui.prototype,"_showLoaderTop",void 0),ui=f([C("frigate-card-gallery-core")],ui);export{gi as FrigateCardGallery,ui as FrigateCardGalleryCore}; diff --git a/config/www/community/frigate-hass-card/gallery-bf3892f1.js.gz b/config/www/community/frigate-hass-card/gallery-bf3892f1.js.gz deleted file mode 100644 index 3f00b8757fd1b68b34fd6fa4bf179d3d36540df7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30838 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

Dr2nm=-&%(}SG%2Ru-t20CTP@?@+KZAH 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 RIM%0s`akiT(>15J0RX(gWl#VB diff --git a/config/www/community/frigate-hass-card/gallery-c718155d.js b/config/www/community/frigate-hass-card/gallery-c718155d.js deleted file mode 100644 index 2cebd1d1..00000000 --- a/config/www/community/frigate-hass-card/gallery-c718155d.js +++ /dev/null @@ -1,184 +0,0 @@ -import{d3 as e,d4 as t,d5 as r,l as i,d6 as o,d7 as n,d8 as a,d9 as s,i as l,da as c,db as d,k as h,dc as g,dd as u,de as m,df as p,_ as f,n as v,cW as b,cR as y,dg as w,x as $,cV as x,r as k,a as _,t as C,e as T,b as E,dh as O,di as S,cI as M,dj as z,dk as L,cU as D,dl as A,c$ as F}from"./card-c642ee74.js";import{e as I}from"./endOfDay-97ae2cc7.js";import{p as W}from"./parse-a53fb39b.js";import{F as R}from"./date-picker-cfd85f75.js";function N(t){const r=e(t),i=r.getMonth();return r.setFullYear(r.getFullYear(),i+1,0),r.setHours(23,59,59,999),r}function H(){const e=new Date,t=e.getFullYear(),r=e.getMonth(),i=e.getDate(),o=new Date(0);return o.setFullYear(t,r,i-1),o.setHours(23,59,59,999),o}function V(){const e=new Date,t=e.getFullYear(),r=e.getMonth(),i=e.getDate(),o=new Date(0);return o.setFullYear(t,r,i-1),o.setHours(0,0,0,0),o}var j,B,q; -/** - * @license - * Copyright 2021 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -function P(e){return class extends e{createRenderRoot(){const e=this.constructor,{registry:t,elementDefinitions:i,shadowRootOptions:o}=e;i&&!t&&(e.registry=new CustomElementRegistry,Object.entries(i).forEach((([t,r])=>e.registry.define(t,r))));const n=this.renderOptions.creationScope=this.attachShadow({...o,customElements:e.registry});return r(n,this.constructor.elementStyles),n}}}!function(e){e.Favorite="favorite",e.NotFavorite="not-favorite"}(j||(j={})),function(e){e.Today="today",e.Yesterday="yesterday",e.PastWeek="past-week",e.PastMonth="past-month",e.Custom="custom"}(B||(B={})),function(e){e.Clips="clips",e.Snapshots="snapshots",e.Recordings="recordings"}(q||(q={}));class U{constructor(e){this._cameraOptions=[],this._whenOptions=[],this._metaDataWhenOptions=[],this._whatOptions=[],this._whereOptions=[],this._tagsOptions=[],this._defaults=null,this._viewManager=null,this._host=e,this._favoriteOptions=[{value:j.Favorite,label:i("media_filter.favorite")},{value:j.NotFavorite,label:i("media_filter.not_favorite")}],this._mediaTypeOptions=[{value:q.Clips,label:i("media_filter.media_types.clips")},{value:q.Snapshots,label:i("media_filter.media_types.snapshots")},{value:q.Recordings,label:i("media_filter.media_types.recordings")}],this._staticWhenOptions=[{value:B.Today,label:i("media_filter.whens.today")},{value:B.Yesterday,label:i("media_filter.whens.yesterday")},{value:B.PastWeek,label:i("media_filter.whens.past_week")},{value:B.PastMonth,label:i("media_filter.whens.past_month")},{value:B.Custom,label:i("media_filter.whens.custom")}],this._computeWhenOptions()}getMediaTypeOptions(){return this._mediaTypeOptions}getCameraOptions(){return this._cameraOptions}getWhenOptions(){return this._whenOptions}getWhatOptions(){return this._whatOptions}getWhereOptions(){return this._whereOptions}getTagsOptions(){return this._tagsOptions}getFavoriteOptions(){return this._favoriteOptions}getDefaults(){return this._defaults}setViewManager(e){this._viewManager=e}async valueChangeHandler(e,t,r,i){const s=e=>e&&Array.isArray(e)&&e.length&&!e.includes("")?new Set([...e]):null,l=s(r.camera)??this._getAllCameraIDs(e);if(!l.size||!r.mediaType)return;const c=this._getWhen(r.when),d=r.favorite?r.favorite===j.Favorite:null,h=t.performance?.features.media_chunk_size;if(r.mediaType===q.Clips||r.mediaType===q.Snapshots){const e=s(r.where),t=s(r.what),i=s(r.tags),a=new o([{type:n.Event,cameraIDs:l,...i&&{tags:i},...t&&{what:t},...e&&{where:e},...null!==d&&{favorite:d},...c&&{...c.start&&{start:c.start},...c.end&&{end:c.end}},...h&&{limit:h},...r.mediaType===q.Clips&&{hasClip:!0},...r.mediaType===q.Snapshots&&{hasSnapshot:!0}}]);this._viewManager?.setViewByParametersWithExistingQuery({params:{query:a,...1===l.size&&{camera:[...l][0]},view:r.mediaType===q.Clips?"clips":"snapshots"}})}else{const e=new a([{type:n.Recording,cameraIDs:l,...h&&{limit:h},...c&&{...c.start&&{start:c.start},...c.end&&{end:c.end}},...null!==d&&{favorite:d}}]);this._viewManager?.setViewByParametersWithExistingQuery({params:{query:e,...1===l.size&&{camera:[...l][0]},view:"recordings"}})}this._host.requestUpdate()}_getAllCameraIDs(e){return e.getStore().getCameraIDsWithCapability({anyCapabilities:["clips","snapshots","recordings"]})}computeInitialDefaultsFromView(e){const t=this._viewManager?.getView(),r=t?.query?.getQueries(),i=this._getAllCameraIDs(e);if(!t||!r||!i.size)return;let o,n,a,d,h,g;1!==s(r.map((e=>e.cameraIDs)),l).length||l(r[0].cameraIDs,i)||(n=[...r[0].cameraIDs]); -/* istanbul ignore else: the else path cannot be reached -- @preserve */ -if(1===s(r.map((e=>e.favorite)),l).length&&void 0!==r[0].favorite&&(h=r[0].favorite?j.Favorite:j.NotFavorite),c.areEventQueries(t.query)){const e=t.query.getQueries(); -/* istanbul ignore if: the if path cannot be reached -- @preserve */if(!e)return;const r=s(e.map((e=>e.hasClip)),l),i=s(e.map((e=>e.hasSnapshot)),l);1===r.length&&1===i.length&&(o=r[0]?q.Clips:i[0]?q.Snapshots:void 0);1===s(e.map((e=>e.what)),l).length&&e[0].what?.size&&(a=[...e[0].what]);1===s(e.map((e=>e.where)),l).length&&e[0].where?.size&&(d=[...e[0].where]);1===s(e.map((e=>e.tags)),l).length&&e[0].tags?.size&&(g=[...e[0].tags])}else c.areRecordingQueries(t.query)&&(o=q.Recordings);this._defaults={...o&&{mediaType:o},...n&&{cameraIDs:n},...a&&{what:a},...d&&{where:d},...void 0!==h&&{favorite:h},...g&&{tags:g}}}computeCameraOptions(e){this._cameraOptions=[...this._getAllCameraIDs(e)].map((t=>({value:t,label:e.getCameraMetadata(t)?.title??t})))}async computeMetadataOptions(e){let t=null;try{t=await e.getMediaMetadata()}catch(e){d(e)}if(t){if(t.what&&(this._whatOptions=[...t.what].sort().map((e=>({value:e,label:h(e)})))),t.where&&(this._whereOptions=[...t.where].sort().map((e=>({value:e,label:h(e)})))),t.tags&&(this._tagsOptions=[...t.tags].sort().map((e=>({value:e,label:h(e)})))),t.days){const e=new Set;[...t.days].forEach((t=>{e.add(t.substring(0,7))}));const r=[];e.forEach((e=>{r.push(W(e,"yyyy-MM",new Date))})),this._metaDataWhenOptions=g(r,(e=>e.getTime()),"desc").map((e=>({label:u(e,"MMMM yyyy"),value:this._dateRangeToString({start:e,end:N(e)})}))),this._computeWhenOptions()}this._host.requestUpdate()}}getControlsToShow(e){const t=this._viewManager?.getView(),r=c.areEventQueries(t?.query),i=c.areRecordingQueries(t?.query),o=e.getAggregateCameraCapabilities();return{events:r,recordings:i,favorites:r?o?.has("favorite-events"):!!i&&o?.has("favorite-recordings")}}_computeWhenOptions(){this._whenOptions=[...this._staticWhenOptions,...this._metaDataWhenOptions]}_dateRangeToString(e){return`${m(e.start)},${m(e.end)}`}_stringToDateRange(e){const t=e.split(",");return{start:W(t[0],"yyyy-MM-dd",new Date),end:I(W(t[1],"yyyy-MM-dd",new Date))}}_getWhen(e){if(e.from||e.to)return{...e.from&&{start:e.from},...e.to&&{end:e.to}};if(!e.selected||Array.isArray(e.selected))return null;const r=new Date;switch(e.selected){case B.Custom:return null;case B.Today:return{start:t(Date.now()),end:I(Date.now())};case B.Yesterday:return{start:V(),end:H()};case B.PastWeek:return{start:t(p(r,{days:7})),end:I(r)};case B.PastMonth:return{start:t(p(r,{months:1})),end:I(r)};default:return this._stringToDateRange(e.selected)}}}const K=!0,Y=!0,Q=!0,G=!1,X=!1;let Z,J,ee,te=!1,re=!1,ie=!1,oe=!1,ne=null,ae=!1;const se="http://www.w3.org/1999/xlink",le={},ce=e=>"object"===(e=typeof e)||"function"===e;const de=(e,t,...r)=>{let i=null,o=null,n=null,a=!1,s=!1;const l=[],c=t=>{for(let r=0;re[t])).join(" "))}}if("function"==typeof e)return e(null===t?{}:t,l,ue);const d=he(e,null);return d.$attrs$=t,l.length>0&&(d.$children$=l),d.$key$=o,d.$name$=n,d},he=(e,t)=>{const r={$flags$:0,$tag$:e,$text$:t,$elm$:null,$children$:null,$attrs$:null,$key$:null,$name$:null};return r},ge={},ue={forEach:(e,t)=>e.map(me).forEach(t),map:(e,t)=>e.map(me).map(t).map(pe)},me=e=>({vattrs:e.$attrs$,vchildren:e.$children$,vkey:e.$key$,vname:e.$name$,vtag:e.$tag$,vtext:e.$text$}),pe=e=>{if("function"==typeof e.vtag){const t=Object.assign({},e.vattrs);return e.vkey&&(t.key=e.vkey),e.vname&&(t.name=e.vname),de(e.vtag,t,...e.vchildren||[])}const t=he(e.vtag,e.vtext);return t.$attrs$=e.vattrs,t.$children$=e.vchildren,t.$key$=e.vkey,t.$name$=e.vname,t},fe=(e,t,r)=>{const i=e;return{emit:e=>ve(i,t,{bubbles:!!(4&r),composed:!!(2&r),cancelable:!!(1&r),detail:e})}},ve=(e,t,r)=>{const i=ht.ce(t,r);return e.dispatchEvent(i),i},be=new WeakMap,ye=e=>{const t=e.$cmpMeta$,r=e.$hostElement$,i=t.$flags$,o=(t.$tagName$,()=>{}),n=((e,t,r,i)=>{var o;let n=we(t,r);const a=at.get(n);if(e=11===e.nodeType?e:ct,a)if("string"==typeof a){e=e.head||e;let t,r=be.get(e);if(r||be.set(e,r=new Set),!r.has(n)){{t=ct.createElement("style"),t.innerHTML=a;const r=null!==(o=ht.$nonce$)&&void 0!==o?o:function(e){var t,r,i;return null!==(i=null===(r=null===(t=e.head)||void 0===t?void 0:t.querySelector('meta[name="csp-nonce"]'))||void 0===r?void 0:r.getAttribute("content"))&&void 0!==i?i:void 0}(ct);null!=r&&t.setAttribute("nonce",r),e.insertBefore(t,e.querySelector("link"))}r&&r.add(n)}}else e.adoptedStyleSheets.includes(a)||(e.adoptedStyleSheets=[...e.adoptedStyleSheets,a]);return n})(r.shadowRoot?r.shadowRoot:r.getRootNode(),t,e.$modeName$);10&i&&(r["s-sc"]=n,r.classList.add(n+"-h"),2&i&&r.classList.add(n+"-s")),o()},we=(e,t)=>"sc-"+(t&&32&e.$flags$?e.$tagName$+"-"+t:e.$tagName$),$e=(e,t,r,i,o,n)=>{if(r!==i){let a=ot(e,t),s=t.toLowerCase();if("class"===t){const t=e.classList,o=ke(r),n=ke(i);t.remove(...o.filter((e=>e&&!n.includes(e)))),t.add(...n.filter((e=>e&&!o.includes(e))))}else if("style"===t){for(const t in r)i&&null!=i[t]||(t.includes("-")?e.style.removeProperty(t):e.style[t]="");for(const t in i)r&&i[t]===r[t]||(t.includes("-")?e.style.setProperty(t,i[t]):e.style[t]=i[t])}else if("key"===t);else if("ref"===t)i&&i(e);else if(e.__lookupSetter__(t)||"o"!==t[0]||"n"!==t[1]){const l=ce(i);if((a||l&&null!==i)&&!o)try{if(e.tagName.includes("-"))e[t]=i;else{const o=null==i?"":i;"list"===t?a=!1:null!=r&&e[t]==o||(e[t]=o)}}catch(e){}let c=!1;s!==(s=s.replace(/^xlink\:?/,""))&&(t=s,c=!0),null==i||!1===i?!1===i&&""!==e.getAttribute(t)||(c?e.removeAttributeNS(se,t):e.removeAttribute(t)):(!a||4&n||o)&&!l&&(i=!0===i?"":i,c?e.setAttributeNS(se,t,i):e.setAttribute(t,i))}else t="-"===t[2]?t.slice(3):ot(lt,s)?s.slice(2):s[2]+t.slice(3),r&&ht.rel(e,t,r,!1),i&&ht.ael(e,t,i,!1)}},xe=/\s/,ke=e=>e?e.split(xe):[],_e=(e,t,r,i)=>{const o=11===t.$elm$.nodeType&&t.$elm$.host?t.$elm$.host:t.$elm$,n=e&&e.$attrs$||le,a=t.$attrs$||le;for(i in n)i in a||$e(o,i,n[i],void 0,r,t.$flags$);for(i in a)$e(o,i,n[i],a[i],r,t.$flags$)},Ce=(e,t,r,i)=>{const o=t.$children$[r];let n,a,s,l=0;if(te||(ie=!0,"slot"===o.$tag$&&(Z&&i.classList.add(Z+"-s"),o.$flags$|=o.$children$?2:1)),null!==o.$text$)n=o.$elm$=ct.createTextNode(o.$text$);else if(1&o.$flags$)n=o.$elm$=ct.createTextNode("");else{if(oe||(oe="svg"===o.$tag$),n=o.$elm$=ct.createElementNS(oe?"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",2&o.$flags$?"slot-fb":o.$tag$),oe&&"foreignObject"===o.$tag$&&(oe=!1),_e(null,o,oe),null!=Z&&n["s-si"]!==Z&&n.classList.add(n["s-si"]=Z),o.$children$)for(l=0;l{ht.$flags$|=1;const r=e.childNodes;for(let e=r.length-1;e>=0;e--){const i=r[e];i["s-hn"]!==ee&&i["s-ol"]&&(ze(i).insertBefore(i,Me(i)),i["s-ol"].remove(),i["s-ol"]=void 0,ie=!0),t&&Te(i,t)}ht.$flags$&=-2},Ee=(e,t,r,i,o,n)=>{let a,s=e["s-cr"]&&e["s-cr"].parentNode||e;for(s.shadowRoot&&s.tagName===ee&&(s=s.shadowRoot);o<=n;++o)i[o]&&(a=Ce(null,r,o,e),a&&(i[o].$elm$=a,s.insertBefore(a,Me(t))))},Oe=(e,t,r,i,o)=>{for(;t<=r;++t)(i=e[t])&&(o=i.$elm$,We(i),re=!0,o["s-ol"]?o["s-ol"].remove():Te(o,!0),o.remove())},Se=(e,t)=>e.$tag$===t.$tag$&&("slot"===e.$tag$?e.$name$===t.$name$:e.$key$===t.$key$),Me=e=>e&&e["s-ol"]||e,ze=e=>(e["s-ol"]?e["s-ol"]:e).parentNode,Le=(e,t)=>{const r=t.$elm$=e.$elm$,i=e.$children$,o=t.$children$,n=t.$tag$,a=t.$text$;let s;null===a?(oe="svg"===n||"foreignObject"!==n&&oe,"slot"===n||_e(e,t,oe),null!==i&&null!==o?((e,t,r,i)=>{let o,n,a=0,s=0,l=0,c=0,d=t.length-1,h=t[0],g=t[d],u=i.length-1,m=i[0],p=i[u];for(;a<=d&&s<=u;)if(null==h)h=t[++a];else if(null==g)g=t[--d];else if(null==m)m=i[++s];else if(null==p)p=i[--u];else if(Se(h,m))Le(h,m),h=t[++a],m=i[++s];else if(Se(g,p))Le(g,p),g=t[--d],p=i[--u];else if(Se(h,p))"slot"!==h.$tag$&&"slot"!==p.$tag$||Te(h.$elm$.parentNode,!1),Le(h,p),e.insertBefore(h.$elm$,g.$elm$.nextSibling),h=t[++a],p=i[--u];else if(Se(g,m))"slot"!==h.$tag$&&"slot"!==p.$tag$||Te(g.$elm$.parentNode,!1),Le(g,m),e.insertBefore(g.$elm$,h.$elm$),g=t[--d],m=i[++s];else{for(l=-1,c=a;c<=d;++c)if(t[c]&&null!==t[c].$key$&&t[c].$key$===m.$key$){l=c;break}l>=0?(n=t[l],n.$tag$!==m.$tag$?o=Ce(t&&t[s],r,l,e):(Le(n,m),t[l]=void 0,o=n.$elm$),m=i[++s]):(o=Ce(t&&t[s],r,s,e),m=i[++s]),o&&ze(h.$elm$).insertBefore(o,Me(h.$elm$))}a>d?Ee(e,null==i[u+1]?null:i[u+1].$elm$,r,i,s,u):s>u&&Oe(t,a,d)})(r,i,t,o):null!==o?(null!==e.$text$&&(r.textContent=""),Ee(r,null,t,o,0,o.length-1)):null!==i&&Oe(i,0,i.length-1),oe&&"svg"===n&&(oe=!1)):(s=r["s-cr"])?s.parentNode.textContent=a:e.$text$!==a&&(r.data=a)},De=e=>{const t=e.childNodes;let r,i,o,n,a,s;for(i=0,o=t.length;i{let t,r,i,o,n,a,s=0;const l=e.childNodes,c=l.length;for(;s=0;a--)r=i[a],r["s-cn"]||r["s-nr"]||r["s-hn"]===t["s-hn"]||(Ie(r,o)?(n=Ae.find((e=>e.$nodeToRelocate$===r)),re=!0,r["s-sn"]=r["s-sn"]||o,n?n.$slotRefNode$=t:Ae.push({$slotRefNode$:t,$nodeToRelocate$:r}),r["s-sr"]&&Ae.map((e=>{Ie(e.$nodeToRelocate$,r["s-sn"])&&(n=Ae.find((e=>e.$nodeToRelocate$===r)),n&&!e.$slotRefNode$&&(e.$slotRefNode$=n.$slotRefNode$))}))):Ae.some((e=>e.$nodeToRelocate$===r))||Ae.push({$nodeToRelocate$:r}));1===t.nodeType&&Fe(t)}},Ie=(e,t)=>1===e.nodeType?null===e.getAttribute("slot")&&""===t||e.getAttribute("slot")===t:e["s-sn"]===t||""===t,We=e=>{e.$attrs$&&e.$attrs$.ref&&e.$attrs$.ref(null),e.$children$&&e.$children$.map(We)},Re=(e,t)=>{const r=e.$hostElement$,i=e.$cmpMeta$,o=e.$vnode$||he(null,null),n=(a=t)&&a.$tag$===ge?t:de(null,null,t);var a;if(ee=r.tagName,i.$attrsToReflect$&&(n.$attrs$=n.$attrs$||{},i.$attrsToReflect$.map((([e,t])=>n.$attrs$[t]=r[e]))),n.$tag$=null,n.$flags$|=4,e.$vnode$=n,n.$elm$=o.$elm$=r.shadowRoot||r,Z=r["s-sc"],J=r["s-cr"],te=!!(1&i.$flags$),re=!1,Le(o,n),ht.$flags$|=1,ie){let e,t,r,i,o,a;Fe(n.$elm$);let s=0;for(;s{e.$flags$|=16,e.$ancestorComponent$;return $t((()=>He(e,t)))},He=(e,t)=>{const r=e.$hostElement$,i=(e.$cmpMeta$.$tagName$,()=>{}),o=r;let n;return n=qe(o,t?"componentWillLoad":"componentWillUpdate"),n=Pe(n,(()=>qe(o,"componentWillRender"))),i(),Pe(n,(()=>Ve(e,o,t)))},Ve=async(e,t,r)=>{const i=e.$hostElement$,o=(e.$cmpMeta$.$tagName$,()=>{});i["s-rc"],r&&ye(e);const n=(e.$cmpMeta$.$tagName$,()=>{});je(e,t,i),n(),o(),Be(e)},je=(e,t,r)=>{try{ne=t,t=t.render&&t.render(),e.$flags$&=-17,e.$flags$|=2,(K||Y)&&(Q||Y)&&(G||Re(e,t))}catch(t){nt(t,e.$hostElement$)}return ne=null,null},Be=e=>{e.$cmpMeta$.$tagName$;const t=()=>{},r=e.$hostElement$;e.$ancestorComponent$,qe(r,"componentDidRender"),64&e.$flags$?(qe(r,"componentDidUpdate"),t()):(e.$flags$|=64,qe(r,"componentDidLoad"),t())},qe=(e,t,r)=>{if(e&&e[t])try{return e[t](r)}catch(e){nt(e)}},Pe=(e,t)=>e&&e.then?e.then(t):t(),Ue=(e,t,r,i)=>{const o=rt(e),n=e,a=o.$instanceValues$.get(t),s=o.$flags$,l=n;var c,d;c=r,d=i.$members$[t][0],r=null==c||ce(c)?c:4&d?"false"!==c&&(""===c||!!c):2&d?parseFloat(c):1&d?String(c):c;const h=Number.isNaN(a)&&Number.isNaN(r);if(r!==a&&!h){if(o.$instanceValues$.set(t,r),i.$watchers$&&128&s){const e=i.$watchers$[t];e&&e.map((e=>{try{l[e](r,a,t)}catch(e){nt(e,n)}}))}if(2==(18&s)){if(l.componentShouldUpdate&&!1===l.componentShouldUpdate(r,a,t))return;Ne(o,!1)}}},Ke=(e,t,r)=>{if(t.$members$){e.watchers&&(t.$watchers$=e.watchers);const r=Object.entries(t.$members$),i=e.prototype;r.map((([e,[r]])=>{(31&r||32&r)&&Object.defineProperty(i,e,{get(){return t=e,rt(this).$instanceValues$.get(t);var t},set(r){Ue(this,e,r,t)},configurable:!0,enumerable:!0})}));{const o=new Map;i.attributeChangedCallback=function(e,t,r){ht.jmp((()=>{const t=o.get(e);if(this.hasOwnProperty(t))r=this[t],delete this[t];else if(i.hasOwnProperty(t)&&"number"==typeof this[t]&&this[t]==r)return;this[t]=(null!==r||"boolean"!=typeof this[t])&&r}))},e.observedAttributes=r.filter((([e,t])=>15&t[0])).map((([e,r])=>{const i=r[1]||e;return o.set(i,e),512&r[0]&&t.$attrsToReflect$.push([e,i]),i}))}}return e},Ye=async(e,t,r,i,o)=>{if(!(32&t.$flags$)&&(o=e.constructor,t.$flags$|=32,customElements.whenDefined(r.$tagName$).then((()=>t.$flags$|=128)),o.style)){let i=o.style;"string"!=typeof i&&(i=i[t.$modeName$=(e=>st.map((t=>t(e))).find((e=>!!e)))(e)]);const n=we(r,t.$modeName$);if(!at.has(n)){const e=(r.$tagName$,()=>{});((e,t,r)=>{let i=at.get(e);mt&&r?(i=i||new CSSStyleSheet,"string"==typeof i?i=t:i.replaceSync(t)):i=t,at.set(e,i)})(n,i,!!(1&r.$flags$)),e()}}t.$ancestorComponent$;Ne(t,!0)},Qe=e=>{const t=e["s-cr"]=ct.createComment("");t["s-cn"]=!0,e.insertBefore(t,e.firstChild)},Ge=(e,t)=>{const r={$flags$:t[0],$tagName$:t[1]};r.$members$=t[2],r.$listeners$=t[3],r.$watchers$=e.$watchers$,r.$attrsToReflect$=[],!gt&&1&r.$flags$&&(r.$flags$|=8);const i=e.prototype.connectedCallback,o=e.prototype.disconnectedCallback;return Object.assign(e.prototype,{__registerHost(){it(this,r)},connectedCallback(){(e=>{if(!(1&ht.$flags$)){const t=rt(e),r=t.$cmpMeta$,i=(r.$tagName$,()=>{});1&t.$flags$?(Xe(e,t,r.$listeners$),t.$lazyInstance$):(t.$flags$|=1,12&r.$flags$&&Qe(e),r.$members$&&Object.entries(r.$members$).map((([t,[r]])=>{if(31&r&&e.hasOwnProperty(t)){const r=e[t];delete e[t],e[t]=r}})),Ye(e,t,r)),i()}})(this),i&&i.call(this)},disconnectedCallback(){(e=>{if(!(1&ht.$flags$)){const t=rt(e);t.$rmListeners$&&(t.$rmListeners$.map((e=>e())),t.$rmListeners$=void 0)}})(this),o&&o.call(this)},__attachShadow(){gt?this.attachShadow({mode:"open",delegatesFocus:!!(16&r.$flags$)}):this.shadowRoot=this}}),e.is=r.$tagName$,Ke(e,r)},Xe=(e,t,r,i)=>{r&&r.map((([r,i,o])=>{const n=Je(e,r),a=Ze(t,o),s=et(r);ht.ael(n,i,a,s),(t.$rmListeners$=t.$rmListeners$||[]).push((()=>ht.rel(n,i,a,s)))}))},Ze=(e,t)=>r=>{try{X||e.$hostElement$[t](r)}catch(e){nt(e)}},Je=(e,t)=>4&t?ct:8&t?lt:16&t?ct.body:e,et=e=>ut?{passive:!!(1&e),capture:!!(2&e)}:!!(2&e),tt=new WeakMap,rt=e=>tt.get(e),it=(e,t)=>{const r={$flags$:0,$hostElement$:e,$cmpMeta$:t,$instanceValues$:new Map};return Xe(e,r,t.$listeners$),tt.set(e,r)},ot=(e,t)=>t in e,nt=(e,t)=>(0,console.error)(e,t),at=new Map,st=[],lt="undefined"!=typeof window?window:{},ct=lt.document||{head:{}},dt=lt.HTMLElement||class{},ht={$flags$:0,$resourcesUrl$:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,r,i)=>e.addEventListener(t,r,i),rel:(e,t,r,i)=>e.removeEventListener(t,r,i),ce:(e,t)=>new CustomEvent(e,t)},gt=!0,ut=(()=>{let e=!1;try{ct.addEventListener("e",null,Object.defineProperty({},"passive",{get(){e=!0}}))}catch(e){}return e})(),mt=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(e){}return!1})(),pt=[],ft=[],vt=(e,t)=>r=>{e.push(r),ae||(ae=!0,t&&4&ht.$flags$?wt(yt):ht.raf(yt))},bt=e=>{for(let t=0;t{bt(pt),bt(ft),(ae=pt.length>0)&&ht.raf(yt)},wt=e=>{return Promise.resolve(t).then(e);var t},$t=vt(ft,!0),xt=(e,t)=>{const r=!!e.label||e.hasLabelSlot,i=!!e.helpText||e.hasHelpTextSlot,o=!!e.invalidText||e.hasInvalidTextSlot,n=!e.invalid,a=!!e.invalid;return de("div",{class:{"form-control":!0,[`form-control-${e.size}`]:!0,"form-control-has-label":r,"form-control-has-help-text":i,"form-control-has-invalid-text":o}},de("label",{id:e.labelId,class:"form-control-label",htmlFor:e.inputId,"aria-hidden":r?"false":"true",onClick:e.onLabelClick},de("slot",{name:"label"},e.label),e.requiredIndicator&&de("div",{class:"asterisk"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 1200 1200"},de("path",{fill:"currentColor",d:"M489.838 29.354v443.603L68.032 335.894 0 545.285l421.829 137.086-260.743 358.876 178.219 129.398L600.048 811.84l260.673 358.806 178.146-129.398-260.766-358.783L1200 545.379l-68.032-209.403-421.899 137.07V29.443H489.84l-.002-.089z"})))),de("div",{class:"form-control-input"},t),n&&de("div",{id:e.helpTextId,class:"form-control-help-text","aria-hidden":i?"false":"true"},de("slot",{name:"help-text"},e.helpText)),a&&de("div",{id:e.invalidTextId,class:"form-control-invalid-text","aria-hidden":o?"false":"true"},de("div",{class:"icon"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Alert Circle"),de("path",{d:"M256,48C141.31,48,48,141.31,48,256s93.31,208,208,208,208-93.31,208-208S370.69,48,256,48Zm0,319.91a20,20,0,1,1,20-20A20,20,0,0,1,256,367.91Zm21.72-201.15-5.74,122a16,16,0,0,1-32,0l-5.74-121.94v-.05a21.74,21.74,0,1,1,43.44,0Z",fill:"currentColor"}))),de("div",{class:"text"},de("slot",{name:"invalid-text"},e.invalidText))))}; -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -function kt(e){const t=e?e.assignedNodes({flatten:!0}):[];let r="";return[...t].map((e=>{e.nodeType===Node.TEXT_NODE&&(r+=e.textContent)})),r}function _t(e,t){return t?null!==e.querySelector(`[slot="${t}"]`):[...e.childNodes].some((e=>{if(e.nodeType===e.TEXT_NODE&&""!==e.textContent.trim())return!0;if(e.nodeType===e.ELEMENT_NODE){if(!e.hasAttribute("slot"))return!0}return!1}))} -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */const Ct=(e,t=[])=>{const r={};return t.forEach((t=>{if(e.hasAttribute(t)){null!==e.getAttribute(t)&&(r[t]=e.getAttribute(t)),e.removeAttribute(t)}})),r},Tt=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow()}render(){return de("span",{class:"spinner","aria-busy":"true","aria-live":"polite"})}static get style(){return":host{--track-color:var(--gr-color-light-shade);--indicator-color:var(--gr-color-primary);--stroke-width:2px;display:inline-flex;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}.spinner{display:inline-block;width:1em;height:1em;border-radius:50%;border:solid var(--stroke-width) var(--track-color);border-top-color:var(--indicator-color);border-right-color:var(--indicator-color);animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}"}},[1,"gr-spinner"]);function Et(){if("undefined"==typeof customElements)return;["gr-spinner"].forEach((e=>{if("gr-spinner"===e)customElements.get(e)||customElements.define(e,Tt)}))}Et(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const Ot=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grFocus=fe(this,"gr-focus",7),this.grBlur=fe(this,"gr-blur",7),this.inheritedAttributes={},this.handleClick=e=>{if("button"!==this.type){const t=this.el.closest("form");if(t){e.preventDefault();const r=document.createElement("button");r.type=this.type,r.style.display="none",t.appendChild(r),r.click(),r.remove()}}},this.onFocus=()=>{this.grFocus.emit()},this.onBlur=()=>{this.grBlur.emit()},this.variant="default",this.disabled=!1,this.loading=!1,this.size="medium",this.caret=!1,this.pill=!1,this.expand=void 0,this.circle=!1,this.href=void 0,this.target=void 0,this.rel=void 0,this.type="button"}componentWillLoad(){this.inheritedAttributes=Ct(this.el,["aria-label","tabindex","title"])}async setFocus(e){this.button.focus(e)}async removeFocus(){this.button.blur()}render(){const{rel:e,target:t,href:r,variant:i,size:o,expand:n,type:a,inheritedAttributes:s,disabled:l}=this,c=void 0===r?"button":"a",d="button"===c?{type:a}:{href:r,rel:e,target:t};return de(ge,{onClick:this.handleClick,"aria-disabled":l?"true":null,class:{[`button-${i}`]:!0,[`button-${o}`]:!0,[`button-${n}`]:void 0!==n,"button-caret":this.caret,"button-circle":this.circle,"button-pill":this.pill,"button-disabled":l,"button-loading":this.loading}},de(c,Object.assign({ref:e=>this.button=e},d,{class:"button-native",disabled:l,onFocus:this.onFocus,onBlur:this.onBlur},s),de("span",{class:"button-inner"},de("slot",{name:"icon-only"}),de("slot",{name:"start"}),de("slot",null),de("slot",{name:"end"}),this.caret&&de("span",{class:"caret"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Chevron Down"),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"48",d:"M112 184l144 144 144-144"})))),this.loading&&de("gr-spinner",null)))}get el(){return this}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{display:inline-block;width:auto;font-family:var(--gr-font-family);font-weight:var(--gr-font-weight-medium);font-size:var(--gr-form-element-font-size-medium);font-kerning:none;user-select:none;vertical-align:top;vertical-align:-webkit-baseline-middle;pointer-events:auto;--height:var(--gr-form-element-height-medium);--border-radius:var(--gr-form-element-border-radius-medium);--border-width:1px;--border-style:solid;--background:transparent;--background-hover:transparent;--background-focus:transparent;--color:var(--gr-color-dark-tint);--color-hover:var(--gr-color-dark-tint);--color-focus:var(--gr-color-dark-tint);--border-color:var(--gr-color-light-shade);--border-color-hover:var(--gr-color-medium);--border-color-focus:var(--gr-color-primary);--padding-top:0;--padding-start:var(--gr-spacing-medium);--padding-end:var(--gr-spacing-medium);--padding-bottom:0;--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33);--shadow:none;--transition:background-color 150ms linear, opacity 150ms linear, border 150ms linear, color 150ms linear}:host(.button-disabled){pointer-events:none;opacity:0.5}:host(.button-primary){--border-color:var(--gr-color-primary);--background:var(--gr-color-primary);--color:var(--gr-color-primary-contrast);--border-color-hover:var(--gr-color-primary-shade);--background-hover:var(--gr-color-primary-shade);--color-hover:var(--gr-color-primary-contrast);--border-color-focus:var(--gr-color-primary);--background-focus:var(--gr-color-primary-shade);--color-focus:var(--gr-color-primary-contrast);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33)}:host(.button-secondary){--border-color:var(--gr-color-light-shade);--background:transparent;--color:var(--gr-color-primary);--border-color-hover:var(--gr-color-primary);--background-hover:transparent;--color-hover:var(--gr-color-primary);--border-color-focus:var(--gr-color-primary);--background-focus:transparent;--color-focus:var(--gr-color-primary);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33)}:host(.button-danger){--border-color:var(--gr-color-danger);--background:transparent;--color:var(--gr-color-danger);--border-color-hover:var(--gr-color-danger);--background-hover:var(--gr-color-danger);--color-hover:var(--gr-color-danger-contrast);--border-color-focus:var(--gr-color-danger);--background-focus:var(--gr-color-danger);--color-focus:var(--gr-color-danger-contrast);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-danger-rgb), 0.33)}:host(.button-plain){--border-color:transparent;--background:transparent;--color:var(--gr-color-primary);--border-color-hover:transparent;--background-hover:transparent;--color-hover:var(--gr-color-primary-shade);--border-color-focus:transparent;--background-focus:transparent;--color-focus:var(--gr-color-primary-shade);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33)}:host(.button-small){--padding-start:var(--gr-spacing-small);--padding-end:var(--gr-spacing-small);--border-radius:var(--gr-form-element-border-radius-small);--height:var(--gr-form-element-height-small);font-size:var(--gr-form-element-font-size-small)}:host(.button-large){--padding-start:var(--gr-spacing-large);--padding-end:var(--gr-spacing-large);--border-radius:var(--gr-form-element-border-radius-large);--height:var(--gr-form-element-height-large);font-size:var(--gr-form-element-font-size-large)}:host(.button-block){display:block}:host(.button-block) .button-native{margin-left:0;margin-right:0;display:block;width:100%;clear:both;contain:content}:host(.button-block) .button-native::after{clear:both}:host(.button-full){display:block}:host(.button-full) .button-native{margin-left:0;margin-right:0;display:block;width:100%;contain:content;border-radius:0;border-right-width:0;border-left-width:0}.button-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;position:relative;padding-top:var(--padding-top);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-bottom:var(--padding-bottom);width:100%;height:var(--height);transition:var(--transition);border-radius:var(--border-radius);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);color:var(--color);box-shadow:var(--shadow);line-height:1;cursor:pointer;z-index:0;text-decoration:none;box-sizing:border-box}.button-native::-moz-focus-inner{border:0}.button-native:focus{outline:none;box-shadow:var(--focus-ring);border-color:var(--border-color-focus);background-color:var(--background-focus);color:var(--color-focus)}.button-native *,.button-native *:before,.button-native *:after{box-sizing:inherit}.button-inner{display:flex;position:relative;flex-flow:row nowrap;flex-shrink:0;align-items:center;justify-content:center;width:100%;height:100%;z-index:1}:host(.button-circle) .button-native{padding-top:0;padding-bottom:0;padding-left:0;padding-right:0;border-radius:50%;width:var(--height)}@media (any-hover: hover){.button-native:hover{color:var(--color-hover);background:var(--background-hover);border-color:var(--border-color-hover)}}:host(.button-caret) .caret{display:flex;align-items:center;margin-left:0.3em}:host(.button-caret) .caret svg{width:1em;height:1em}:host(.button-pill) .button-native{border-radius:var(--height)}::slotted(*){pointer-events:none}::slotted([slot=start]){margin-top:0;margin-left:-0.3em;margin-right:0.3em;margin-bottom:0}::slotted([slot=end]){margin-top:0;margin-left:0.3em;margin-right:-0.2em;margin-bottom:0}::slotted([slot=icon-only]){font-size:1.4em;pointer-events:none}:host(.button-loading){position:relative;pointer-events:none}:host(.button-loading) .caret{visibility:hidden}:host(.button-loading) slot[name=start],:host(.button-loading) slot[name=end],:host(.button-loading) slot[name=icon-only],:host(.button-loading) slot:not([name]){visibility:hidden}:host(.button-loading) gr-spinner{--indicator-color:currentColor;position:absolute;height:1em;width:1em;top:calc(50% - 0.5em);left:calc(50% - 0.5em)}@media not all and (min-resolution: 0.001dpcm){@supports (-webkit-appearance: none) and (stroke-color: transparent){:host([type=button]),:host([type=reset]),:host([type=submit]){-webkit-appearance:none !important}}}"}},[1,"gr-button",{variant:[513],disabled:[516],loading:[516],size:[513],caret:[4],pill:[516],expand:[513],circle:[516],href:[1],target:[1],rel:[1],type:[1],setFocus:[64],removeFocus:[64]}]);function St(){if("undefined"==typeof customElements)return;["gr-button","gr-spinner"].forEach((e=>{switch(e){case"gr-button":customElements.get(e)||customElements.define(e,Ot);break;case"gr-spinner":customElements.get(e)||Et()}}))}function Mt(e,t,r="vertical",i="smooth"){const o= -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -function(e,t){return{top:Math.round(e.getBoundingClientRect().top-t.getBoundingClientRect().top),left:Math.round(e.getBoundingClientRect().left-t.getBoundingClientRect().left)}}(e,t),n=o.top+t.scrollTop,a=o.left+t.scrollLeft,s=t.scrollLeft,l=t.scrollLeft+t.offsetWidth,c=t.scrollTop,d=t.scrollTop+t.offsetHeight;"horizontal"!==r&&"both"!==r||(al&&t.scrollTo({left:a-t.offsetWidth+e.clientWidth,behavior:i})),"vertical"!==r&&"both"!==r||(nd&&t.scrollTo({top:n-t.offsetHeight+e.clientHeight,behavior:i}))} -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */function zt(e){return e.tabIndex>-1}function Lt(e){if(zt(e))return e;if(e.shadowRoot){const t=[...e.shadowRoot.children].find(zt);if(t)return t}return e.children?[...e.children].map(Lt)[0]:null}St();var Dt="top",At="bottom",Ft="right",It="left",Wt="auto",Rt=[Dt,At,Ft,It],Nt="start",Ht="end",Vt="clippingParents",jt="viewport",Bt="popper",qt="reference",Pt=Rt.reduce((function(e,t){return e.concat([t+"-"+Nt,t+"-"+Ht])}),[]),Ut=[].concat(Rt,[Wt]).reduce((function(e,t){return e.concat([t,t+"-"+Nt,t+"-"+Ht])}),[]),Kt=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Yt(e){return e?(e.nodeName||"").toLowerCase():null}function Qt(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Gt(e){return e instanceof Qt(e).Element||e instanceof Element}function Xt(e){return e instanceof Qt(e).HTMLElement||e instanceof HTMLElement}function Zt(e){return"undefined"!=typeof ShadowRoot&&(e instanceof Qt(e).ShadowRoot||e instanceof ShadowRoot)}const Jt={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var r=t.styles[e]||{},i=t.attributes[e]||{},o=t.elements[e];Xt(o)&&Yt(o)&&(Object.assign(o.style,r),Object.keys(i).forEach((function(e){var t=i[e];!1===t?o.removeAttribute(e):o.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,r={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,r.popper),t.styles=r,t.elements.arrow&&Object.assign(t.elements.arrow.style,r.arrow),function(){Object.keys(t.elements).forEach((function(e){var i=t.elements[e],o=t.attributes[e]||{},n=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:r[e]).reduce((function(e,t){return e[t]="",e}),{});Xt(i)&&Yt(i)&&(Object.assign(i.style,n),Object.keys(o).forEach((function(e){i.removeAttribute(e)})))}))}},requires:["computeStyles"]};function er(e){return e.split("-")[0]}var tr=Math.max,rr=Math.min,ir=Math.round;function or(e,t){void 0===t&&(t=!1);var r=e.getBoundingClientRect(),i=1,o=1;if(Xt(e)&&t){var n=e.offsetHeight,a=e.offsetWidth;a>0&&(i=ir(r.width)/a||1),n>0&&(o=ir(r.height)/n||1)}return{width:r.width/i,height:r.height/o,top:r.top/o,right:r.right/i,bottom:r.bottom/o,left:r.left/i,x:r.left/i,y:r.top/o}}function nr(e){var t=or(e),r=e.offsetWidth,i=e.offsetHeight;return Math.abs(t.width-r)<=1&&(r=t.width),Math.abs(t.height-i)<=1&&(i=t.height),{x:e.offsetLeft,y:e.offsetTop,width:r,height:i}}function ar(e,t){var r=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(r&&Zt(r)){var i=t;do{if(i&&e.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function sr(e){return Qt(e).getComputedStyle(e)}function lr(e){return["table","td","th"].indexOf(Yt(e))>=0}function cr(e){return((Gt(e)?e.ownerDocument:e.document)||window.document).documentElement}function dr(e){return"html"===Yt(e)?e:e.assignedSlot||e.parentNode||(Zt(e)?e.host:null)||cr(e)}function hr(e){return Xt(e)&&"fixed"!==sr(e).position?e.offsetParent:null}function gr(e){for(var t=Qt(e),r=hr(e);r&&lr(r)&&"static"===sr(r).position;)r=hr(r);return r&&("html"===Yt(r)||"body"===Yt(r)&&"static"===sr(r).position)?t:r||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&Xt(e)&&"fixed"===sr(e).position)return null;var r=dr(e);for(Zt(r)&&(r=r.host);Xt(r)&&["html","body"].indexOf(Yt(r))<0;){var i=sr(r);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||t&&"filter"===i.willChange||t&&i.filter&&"none"!==i.filter)return r;r=r.parentNode}return null}(e)||t}function ur(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function mr(e,t,r){return tr(e,rr(t,r))}function pr(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function fr(e,t){return t.reduce((function(t,r){return t[r]=e,t}),{})}const vr={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,r=e.state,i=e.name,o=e.options,n=r.elements.arrow,a=r.modifiersData.popperOffsets,s=er(r.placement),l=ur(s),c=[It,Ft].indexOf(s)>=0?"height":"width";if(n&&a){var d=function(e,t){return pr("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:fr(e,Rt))}(o.padding,r),h=nr(n),g="y"===l?Dt:It,u="y"===l?At:Ft,m=r.rects.reference[c]+r.rects.reference[l]-a[l]-r.rects.popper[c],p=a[l]-r.rects.reference[l],f=gr(n),v=f?"y"===l?f.clientHeight||0:f.clientWidth||0:0,b=m/2-p/2,y=d[g],w=v-h[c]-d[u],$=v/2-h[c]/2+b,x=mr(y,$,w),k=l;r.modifiersData[i]=((t={})[k]=x,t.centerOffset=x-$,t)}},effect:function(e){var t=e.state,r=e.options.element,i=void 0===r?"[data-popper-arrow]":r;null!=i&&("string"!=typeof i||(i=t.elements.popper.querySelector(i)))&&ar(t.elements.popper,i)&&(t.elements.arrow=i)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function br(e){return e.split("-")[1]}var yr={top:"auto",right:"auto",bottom:"auto",left:"auto"};function wr(e){var t,r=e.popper,i=e.popperRect,o=e.placement,n=e.variation,a=e.offsets,s=e.position,l=e.gpuAcceleration,c=e.adaptive,d=e.roundOffsets,h=e.isFixed,g=a.x,u=void 0===g?0:g,m=a.y,p=void 0===m?0:m,f="function"==typeof d?d({x:u,y:p}):{x:u,y:p};u=f.x,p=f.y;var v=a.hasOwnProperty("x"),b=a.hasOwnProperty("y"),y=It,w=Dt,$=window;if(c){var x=gr(r),k="clientHeight",_="clientWidth";if(x===Qt(r)&&"static"!==sr(x=cr(r)).position&&"absolute"===s&&(k="scrollHeight",_="scrollWidth"),o===Dt||(o===It||o===Ft)&&n===Ht)w=At,p-=(h&&x===$&&$.visualViewport?$.visualViewport.height:x[k])-i.height,p*=l?1:-1;if(o===It||(o===Dt||o===At)&&n===Ht)y=Ft,u-=(h&&x===$&&$.visualViewport?$.visualViewport.width:x[_])-i.width,u*=l?1:-1}var C,T=Object.assign({position:s},c&&yr),E=!0===d?function(e){var t=e.x,r=e.y,i=window.devicePixelRatio||1;return{x:ir(t*i)/i||0,y:ir(r*i)/i||0}}({x:u,y:p}):{x:u,y:p};return u=E.x,p=E.y,l?Object.assign({},T,((C={})[w]=b?"0":"",C[y]=v?"0":"",C.transform=($.devicePixelRatio||1)<=1?"translate("+u+"px, "+p+"px)":"translate3d("+u+"px, "+p+"px, 0)",C)):Object.assign({},T,((t={})[w]=b?p+"px":"",t[y]=v?u+"px":"",t.transform="",t))}var $r={passive:!0};var xr={left:"right",right:"left",bottom:"top",top:"bottom"};function kr(e){return e.replace(/left|right|bottom|top/g,(function(e){return xr[e]}))}var _r={start:"end",end:"start"};function Cr(e){return e.replace(/start|end/g,(function(e){return _r[e]}))}function Tr(e){var t=Qt(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Er(e){return or(cr(e)).left+Tr(e).scrollLeft}function Or(e){var t=sr(e),r=t.overflow,i=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(r+o+i)}function Sr(e){return["html","body","#document"].indexOf(Yt(e))>=0?e.ownerDocument.body:Xt(e)&&Or(e)?e:Sr(dr(e))}function Mr(e,t){var r;void 0===t&&(t=[]);var i=Sr(e),o=i===(null==(r=e.ownerDocument)?void 0:r.body),n=Qt(i),a=o?[n].concat(n.visualViewport||[],Or(i)?i:[]):i,s=t.concat(a);return o?s:s.concat(Mr(dr(a)))}function zr(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Lr(e,t){return t===jt?zr(function(e){var t=Qt(e),r=cr(e),i=t.visualViewport,o=r.clientWidth,n=r.clientHeight,a=0,s=0;return i&&(o=i.width,n=i.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(a=i.offsetLeft,s=i.offsetTop)),{width:o,height:n,x:a+Er(e),y:s}}(e)):Gt(t)?function(e){var t=or(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(t):zr(function(e){var t,r=cr(e),i=Tr(e),o=null==(t=e.ownerDocument)?void 0:t.body,n=tr(r.scrollWidth,r.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=tr(r.scrollHeight,r.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),s=-i.scrollLeft+Er(e),l=-i.scrollTop;return"rtl"===sr(o||r).direction&&(s+=tr(r.clientWidth,o?o.clientWidth:0)-n),{width:n,height:a,x:s,y:l}}(cr(e)))}function Dr(e,t,r){var i="clippingParents"===t?function(e){var t=Mr(dr(e)),r=["absolute","fixed"].indexOf(sr(e).position)>=0&&Xt(e)?gr(e):e;return Gt(r)?t.filter((function(e){return Gt(e)&&ar(e,r)&&"body"!==Yt(e)})):[]}(e):[].concat(t),o=[].concat(i,[r]),n=o[0],a=o.reduce((function(t,r){var i=Lr(e,r);return t.top=tr(i.top,t.top),t.right=rr(i.right,t.right),t.bottom=rr(i.bottom,t.bottom),t.left=tr(i.left,t.left),t}),Lr(e,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function Ar(e){var t,r=e.reference,i=e.element,o=e.placement,n=o?er(o):null,a=o?br(o):null,s=r.x+r.width/2-i.width/2,l=r.y+r.height/2-i.height/2;switch(n){case Dt:t={x:s,y:r.y-i.height};break;case At:t={x:s,y:r.y+r.height};break;case Ft:t={x:r.x+r.width,y:l};break;case It:t={x:r.x-i.width,y:l};break;default:t={x:r.x,y:r.y}}var c=n?ur(n):null;if(null!=c){var d="y"===c?"height":"width";switch(a){case Nt:t[c]=t[c]-(r[d]/2-i[d]/2);break;case Ht:t[c]=t[c]+(r[d]/2-i[d]/2)}}return t}function Fr(e,t){void 0===t&&(t={});var r=t,i=r.placement,o=void 0===i?e.placement:i,n=r.boundary,a=void 0===n?Vt:n,s=r.rootBoundary,l=void 0===s?jt:s,c=r.elementContext,d=void 0===c?Bt:c,h=r.altBoundary,g=void 0!==h&&h,u=r.padding,m=void 0===u?0:u,p=pr("number"!=typeof m?m:fr(m,Rt)),f=d===Bt?qt:Bt,v=e.rects.popper,b=e.elements[g?f:d],y=Dr(Gt(b)?b:b.contextElement||cr(e.elements.popper),a,l),w=or(e.elements.reference),$=Ar({reference:w,element:v,strategy:"absolute",placement:o}),x=zr(Object.assign({},v,$)),k=d===Bt?x:w,_={top:y.top-k.top+p.top,bottom:k.bottom-y.bottom+p.bottom,left:y.left-k.left+p.left,right:k.right-y.right+p.right},C=e.modifiersData.offset;if(d===Bt&&C){var T=C[o];Object.keys(_).forEach((function(e){var t=[Ft,At].indexOf(e)>=0?1:-1,r=[Dt,At].indexOf(e)>=0?"y":"x";_[e]+=T[r]*t}))}return _}function Ir(e,t){void 0===t&&(t={});var r=t,i=r.placement,o=r.boundary,n=r.rootBoundary,a=r.padding,s=r.flipVariations,l=r.allowedAutoPlacements,c=void 0===l?Ut:l,d=br(i),h=d?s?Pt:Pt.filter((function(e){return br(e)===d})):Rt,g=h.filter((function(e){return c.indexOf(e)>=0}));0===g.length&&(g=h);var u=g.reduce((function(t,r){return t[r]=Fr(e,{placement:r,boundary:o,rootBoundary:n,padding:a})[er(r)],t}),{});return Object.keys(u).sort((function(e,t){return u[e]-u[t]}))}const Wr={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,r=e.options,i=e.name;if(!t.modifiersData[i]._skip){for(var o=r.mainAxis,n=void 0===o||o,a=r.altAxis,s=void 0===a||a,l=r.fallbackPlacements,c=r.padding,d=r.boundary,h=r.rootBoundary,g=r.altBoundary,u=r.flipVariations,m=void 0===u||u,p=r.allowedAutoPlacements,f=t.options.placement,v=er(f),b=l||(v===f||!m?[kr(f)]:function(e){if(er(e)===Wt)return[];var t=kr(e);return[Cr(e),t,Cr(t)]}(f)),y=[f].concat(b).reduce((function(e,r){return e.concat(er(r)===Wt?Ir(t,{placement:r,boundary:d,rootBoundary:h,padding:c,flipVariations:m,allowedAutoPlacements:p}):r)}),[]),w=t.rects.reference,$=t.rects.popper,x=new Map,k=!0,_=y[0],C=0;C=0,M=S?"width":"height",z=Fr(t,{placement:T,boundary:d,rootBoundary:h,altBoundary:g,padding:c}),L=S?O?Ft:It:O?At:Dt;w[M]>$[M]&&(L=kr(L));var D=kr(L),A=[];if(n&&A.push(z[E]<=0),s&&A.push(z[L]<=0,z[D]<=0),A.every((function(e){return e}))){_=T,k=!1;break}x.set(T,A)}if(k)for(var F=function(e){var t=y.find((function(t){var r=x.get(t);if(r)return r.slice(0,e).every((function(e){return e}))}));if(t)return _=t,"break"},I=m?3:1;I>0;I--){if("break"===F(I))break}t.placement!==_&&(t.modifiersData[i]._skip=!0,t.placement=_,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Rr(e,t,r){return void 0===r&&(r={x:0,y:0}),{top:e.top-t.height-r.y,right:e.right-t.width+r.x,bottom:e.bottom-t.height+r.y,left:e.left-t.width-r.x}}function Nr(e){return[Dt,Ft,At,It].some((function(t){return e[t]>=0}))}const Hr={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,r=e.options,i=e.name,o=r.offset,n=void 0===o?[0,0]:o,a=Ut.reduce((function(e,r){return e[r]=function(e,t,r){var i=er(e),o=[It,Dt].indexOf(i)>=0?-1:1,n="function"==typeof r?r(Object.assign({},t,{placement:e})):r,a=n[0],s=n[1];return a=a||0,s=(s||0)*o,[It,Ft].indexOf(i)>=0?{x:s,y:a}:{x:a,y:s}}(r,t.rects,n),e}),{}),s=a[t.placement],l=s.x,c=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[i]=a}};const Vr={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,r=e.options,i=e.name,o=r.mainAxis,n=void 0===o||o,a=r.altAxis,s=void 0!==a&&a,l=r.boundary,c=r.rootBoundary,d=r.altBoundary,h=r.padding,g=r.tether,u=void 0===g||g,m=r.tetherOffset,p=void 0===m?0:m,f=Fr(t,{boundary:l,rootBoundary:c,padding:h,altBoundary:d}),v=er(t.placement),b=br(t.placement),y=!b,w=ur(v),$="x"===w?"y":"x",x=t.modifiersData.popperOffsets,k=t.rects.reference,_=t.rects.popper,C="function"==typeof p?p(Object.assign({},t.rects,{placement:t.placement})):p,T="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),E=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,O={x:0,y:0};if(x){if(n){var S,M="y"===w?Dt:It,z="y"===w?At:Ft,L="y"===w?"height":"width",D=x[w],A=D+f[M],F=D-f[z],I=u?-_[L]/2:0,W=b===Nt?k[L]:_[L],R=b===Nt?-_[L]:-k[L],N=t.elements.arrow,H=u&&N?nr(N):{width:0,height:0},V=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},j=V[M],B=V[z],q=mr(0,k[L],H[L]),P=y?k[L]/2-I-q-j-T.mainAxis:W-q-j-T.mainAxis,U=y?-k[L]/2+I+q+B+T.mainAxis:R+q+B+T.mainAxis,K=t.elements.arrow&&gr(t.elements.arrow),Y=K?"y"===w?K.clientTop||0:K.clientLeft||0:0,Q=null!=(S=null==E?void 0:E[w])?S:0,G=D+U-Q,X=mr(u?rr(A,D+P-Q-Y):A,D,u?tr(F,G):F);x[w]=X,O[w]=X-D}if(s){var Z,J="x"===w?Dt:It,ee="x"===w?At:Ft,te=x[$],re="y"===$?"height":"width",ie=te+f[J],oe=te-f[ee],ne=-1!==[Dt,It].indexOf(v),ae=null!=(Z=null==E?void 0:E[$])?Z:0,se=ne?ie:te-k[re]-_[re]-ae+T.altAxis,le=ne?te+k[re]+_[re]-ae-T.altAxis:oe,ce=u&&ne?function(e,t,r){var i=mr(e,t,r);return i>r?r:i}(se,te,le):mr(u?se:ie,te,u?le:oe);x[$]=ce,O[$]=ce-te}t.modifiersData[i]=O}},requiresIfExists:["offset"]};function jr(e,t,r){void 0===r&&(r=!1);var i,o,n=Xt(t),a=Xt(t)&&function(e){var t=e.getBoundingClientRect(),r=ir(t.width)/e.offsetWidth||1,i=ir(t.height)/e.offsetHeight||1;return 1!==r||1!==i}(t),s=cr(t),l=or(e,a),c={scrollLeft:0,scrollTop:0},d={x:0,y:0};return(n||!n&&!r)&&(("body"!==Yt(t)||Or(s))&&(c=(i=t)!==Qt(i)&&Xt(i)?{scrollLeft:(o=i).scrollLeft,scrollTop:o.scrollTop}:Tr(i)),Xt(t)?((d=or(t,!0)).x+=t.clientLeft,d.y+=t.clientTop):s&&(d.x=Er(s))),{x:l.left+c.scrollLeft-d.x,y:l.top+c.scrollTop-d.y,width:l.width,height:l.height}}function Br(e){var t=new Map,r=new Set,i=[];function o(e){r.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!r.has(e)){var i=t.get(e);i&&o(i)}})),i.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){r.has(e.name)||o(e)})),i}var qr={placement:"bottom",modifiers:[],strategy:"absolute"};function Pr(){for(var e=arguments.length,t=new Array(e),r=0;r{},onAfterHide:()=>{},onTransitionEnd:()=>{}},r),this.isVisible=!1,this.popover.hidden=!0,this.popover.classList.remove(this.options.visibleClass),this.popover.addEventListener("transitionend",this.handleTransitionEnd)}handleTransitionEnd(e){e.target===this.options.transitionElement&&(this.options.onTransitionEnd.call(this,e),this.isVisible||this.popover.hidden||(this.popover.hidden=!0,this.popover.classList.remove(this.options.visibleClass),this.options.onAfterHide.call(this)))}destroy(){this.popover.removeEventListener("transitionend",this.handleTransitionEnd),this.popper&&(this.popper.destroy(),this.popper=null)}show(){this.isVisible=!0,this.popover.hidden=!1,requestAnimationFrame((()=>this.popover.classList.add(this.options.visibleClass))),this.popper&&this.popper.destroy(),this.popper=Kr(this.anchor,this.popover,{placement:this.options.placement,strategy:this.options.strategy,modifiers:[{name:"flip",options:{boundary:"viewport"}},{name:"offset",options:{offset:[this.options.skidding,this.options.distance]}}]}),this.popover.addEventListener("transitionend",(()=>this.options.onAfterShow.call(this)),{once:!0}),requestAnimationFrame((()=>this.popper.update()))}hide(){this.isVisible=!1,this.popover.classList.remove(this.options.visibleClass)}setOptions(e){this.options=Object.assign(this.options,e),this.isVisible?this.popover.classList.add(this.options.visibleClass):this.popover.classList.remove(this.options.visibleClass),this.popper&&(this.popper.setOptions({placement:this.options.placement,strategy:this.options.strategy}),requestAnimationFrame((()=>this.popper.update())))}}let Qr=0;const Gr=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grShow=fe(this,"gr-show",7),this.grAfterShow=fe(this,"gr-after-show",7),this.grHide=fe(this,"gr-hide",7),this.grAfterHide=fe(this,"gr-after-hide",7),this.componentId="dropdown-"+ ++Qr,this.isVisible=!1,this.open=!1,this.placement="bottom-start",this.closeOnSelect=!0,this.containingElement=void 0,this.distance=2,this.skidding=0,this.hoist=!1}handleOpenChange(){this.open?this.show():this.hide(),this.updateAccessibleTrigger()}handlePopoverOptionsChange(){this.popoverElement.setOptions({strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding})}connectedCallback(){this.containingElement||(this.containingElement=this.el),this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this),this.handleMenuItemActivate=this.handleMenuItemActivate.bind(this),this.handlePanelSelect=this.handlePanelSelect.bind(this),this.handleTriggerClick=this.handleTriggerClick.bind(this),this.handleTriggerKeyDown=this.handleTriggerKeyDown.bind(this),this.handleTriggerKeyUp=this.handleTriggerKeyUp.bind(this),this.handleTriggerSlotChange=this.handleTriggerSlotChange.bind(this)}componentDidLoad(){this.popoverElement=new Yr(this.trigger,this.positioner,{strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding,transitionElement:this.panel,onAfterHide:()=>this.grAfterHide.emit(),onAfterShow:()=>this.grAfterShow.emit(),onTransitionEnd:()=>{this.open||(this.panel.scrollTop=0)}}),this.open&&this.show()}disconnectedCallback(){this.hide(),this.popoverElement.destroy()}async show(){if(this.isVisible)return;this.grShow.emit().defaultPrevented?this.open=!1:(this.panel.addEventListener("gr-activate",this.handleMenuItemActivate),this.panel.addEventListener("gr-select",this.handlePanelSelect),document.addEventListener("keydown",this.handleDocumentKeyDown),document.addEventListener("mousedown",this.handleDocumentMouseDown),this.isVisible=!0,this.open=!0,this.popoverElement.show())}async hide(){if(!this.isVisible)return;this.grHide.emit().defaultPrevented?this.open=!0:(this.panel.removeEventListener("gr-activate",this.handleMenuItemActivate),this.panel.removeEventListener("gr-select",this.handlePanelSelect),document.addEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("mousedown",this.handleDocumentMouseDown),this.isVisible=!1,this.open=!1,this.popoverElement.hide())}async focusOnTrigger(){const e=this.trigger.querySelector("slot").assignedElements({flatten:!0})[0];e&&("function"==typeof e.setFocus?e.setFocus():"function"==typeof e.focus&&e.focus())}getMenu(){return this.panel.querySelector("slot").assignedElements({flatten:!0}).filter((e=>"gr-menu"===e.tagName.toLowerCase()))[0]}handleDocumentKeyDown(e){var t;if("Escape"===e.key)return this.hide(),void this.focusOnTrigger();if("Tab"===e.key){if(this.open&&"gr-menu-item"===(null===(t=document.activeElement)||void 0===t?void 0:t.tagName.toLowerCase()))return e.preventDefault(),this.hide(),void this.focusOnTrigger();setTimeout((()=>{var e;const t=this.containingElement.getRootNode()instanceof ShadowRoot?null===(e=document.activeElement.shadowRoot)||void 0===e?void 0:e.activeElement:document.activeElement;(null==t?void 0:t.closest(this.containingElement.tagName.toLowerCase()))===this.containingElement||this.hide()}))}}handleDocumentMouseDown(e){e.composedPath().includes(this.containingElement)||this.hide()}handleMenuItemActivate(e){Mt(e.target,this.panel)}handlePanelSelect(e){const t=e.target;this.closeOnSelect&&"gr-menu"===t.tagName.toLowerCase()&&(this.hide(),this.focusOnTrigger())}handleTriggerClick(){this.open?this.hide():this.show()}handleTriggerKeyDown(e){const t=this.getMenu(),r=t?[...t.querySelectorAll("gr-menu-item")]:null,i=r[0],o=r[r.length-1];if("Escape"===e.key)return this.focusOnTrigger(),void this.hide();if([" ","Enter"].includes(e.key))return e.preventDefault(),void(this.open?this.hide():this.show());if(["ArrowDown","ArrowUp"].includes(e.key)){if(e.preventDefault(),this.open||this.show(),"ArrowDown"===e.key&&i)return void i.setFocus();if("ArrowUp"===e.key&&o)return void o.setFocus()}this.open&&t&&!["Tab","Shift","Meta","Ctrl","Alt"].includes(e.key)&&t.typeToSelect(e.key)}handleTriggerKeyUp(e){" "===e.key&&e.preventDefault()}handleTriggerSlotChange(){this.updateAccessibleTrigger()}updateAccessibleTrigger(){const e=this.trigger.querySelector("slot").assignedElements({flatten:!0}).map(Lt)[0];e&&(e.setAttribute("aria-haspopup","true"),e.setAttribute("aria-expanded",this.open?"true":"false"))}render(){return de(ge,{id:this.componentId,class:{"dropdown-open":this.open}},de("span",{class:"dropdown-trigger",ref:e=>this.trigger=e,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown,onKeyUp:this.handleTriggerKeyUp},de("slot",{name:"trigger",onSlotchange:this.handleTriggerSlotChange})),de("div",{ref:e=>this.positioner=e,class:"dropdown-positioner"},de("div",{ref:e=>this.panel=e,class:"dropdown-panel",role:"menu","aria-hidden":this.open?"false":"true","aria-labelledby":this.componentId},de("slot",null))))}get el(){return this}static get watchers(){return{open:["handleOpenChange"],distance:["handlePopoverOptionsChange"],hoist:["handlePopoverOptionsChange"],placement:["handlePopoverOptionsChange"],skidding:["handlePopoverOptionsChange"]}}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{--panel-background-color:var(--gr-color-white);--panel-border-radius:var(--gr-border-radius-medium);--panel-border-color:var(--gr-panel-border-color);--panel-box-shadow:var(--gr-shadow-large);--transition:150ms opacity, 150ms transform;display:inline-block;position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}.dropdown-trigger{display:block}.dropdown-positioner{position:absolute;z-index:var(--gr-z-index-dropdown)}.dropdown-panel{max-height:50vh;font-family:var(--gr-font-family);font-size:var(--gr-font-size-medium);font-weight:var(--gr-font-weight-normal);background-color:var(--panel-background-color);border:solid 1px var(--panel-border-color);border-radius:var(--panel-border-radius);box-shadow:var(--panel-box-shadow);opacity:0;overflow:auto;overscroll-behavior:none;pointer-events:none;transform:scale(0.9);transition:var(--transition)}.dropdown-positioner[data-popper-placement^=top] .dropdown-panel{transform-origin:bottom}.dropdown-positioner[data-popper-placement^=bottom] .dropdown-panel{transform-origin:top}.dropdown-positioner[data-popper-placement^=left] .dropdown-panel{transform-origin:right}.dropdown-positioner[data-popper-placement^=right] .dropdown-panel{transform-origin:left}.dropdown-positioner.popover-visible .dropdown-panel{opacity:1;transform:none;pointer-events:all}"}},[1,"gr-dropdown",{open:[1540],placement:[1],closeOnSelect:[4,"close-on-select"],containingElement:[1040],distance:[2],skidding:[2],hoist:[4],show:[64],hide:[64],focusOnTrigger:[64]}]);function Xr(){if("undefined"==typeof customElements)return;["gr-dropdown"].forEach((e=>{if("gr-dropdown"===e)customElements.get(e)||customElements.define(e,Gr)}))}Xr(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const Zr=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grSelect=fe(this,"gr-select",7),this.typeToSelectString=""}connectedCallback(){this.handleClick=this.handleClick.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this)}async typeToSelect(e){clearTimeout(this.typeToSelectTimeout),this.typeToSelectTimeout=setTimeout((()=>this.typeToSelectString=""),750),this.typeToSelectString+=e.toLowerCase();const t=this.getItems();for(const e of t){if(kt(e.shadowRoot.querySelector("slot:not([name])")).toLowerCase().trim().substring(0,this.typeToSelectString.length)===this.typeToSelectString){e.setFocus();break}}}getItems(){return[...this.menu.querySelector("slot").assignedElements({flatten:!0})].filter((e=>"gr-menu-item"===e.tagName.toLowerCase()&&!e.disabled))}getActiveItem(){return this.getItems().find((e=>e===document.activeElement))}setActiveItem(e){e.setFocus()}handleClick(e){const t=e.target.closest("gr-menu-item");t&&!t.disabled&&this.grSelect.emit({item:t})}handleKeyDown(e){if("Enter"===e.key){const t=this.getActiveItem();e.preventDefault(),t&&this.grSelect.emit({item:t})}if(" "===e.key&&e.preventDefault(),["ArrowDown","ArrowUp","Home","End"].includes(e.key)){const t=this.getItems(),r=this.getActiveItem();let i=t.indexOf(r);if(t.length)return e.preventDefault(),"ArrowDown"===e.key?i++:"ArrowUp"===e.key?i--:"Home"===e.key?i=0:"End"===e.key&&(i=t.length-1),i<0&&(i=0),i>t.length-1&&(i=t.length-1),void this.setActiveItem(t[i])}this.typeToSelect(e.key)}render(){return de("div",{ref:e=>this.menu=e,class:"menu",role:"menu",onClick:this.handleClick,onKeyDown:this.handleKeyDown},de("slot",null))}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{--padding-top:var(--gr-spacing-x-small);--padding-bottom:var(--gr-spacing-x-small);display:block;padding-top:var(--padding-top);padding-left:0;padding-right:0;padding-bottom:var(--padding-bottom);box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host:focus{outline:none}"}},[1,"gr-menu",{typeToSelect:[64]}]);function Jr(){if("undefined"==typeof customElements)return;["gr-menu"].forEach((e=>{if("gr-menu"===e)customElements.get(e)||customElements.define(e,Zr)}))}Jr(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const ei=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grClear=fe(this,"gr-clear",7),this.type="primary",this.size="medium",this.pill=!1,this.clearable=!1,this.truncate=!1,this.title=""}connectedCallback(){this.handleClearClick=this.handleClearClick.bind(this)}handleClearClick(){this.grClear.emit()}render(){return de(ge,{class:{[`tag-${this.type}`]:!0,[`tag-${this.size}`]:!0,"tag-pill":this.pill,"tag-clearable":this.clearable}},de("span",{class:"tag"},de("span",{class:{"tag-truncate":this.truncate},title:this.title},de("slot",null)),this.clearable&&de("gr-button",{variant:"plain",size:this.size,class:"tag-clear","aria-label":"clear",onClick:this.handleClearClick},de("svg",{slot:"icon-only",role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Close"),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 368L144 144M368 144L144 368"})))))}static get style(){return":host{--height:calc(var(--gr-form-element-height-medium) * 0.8);--line-height:calc(var(--gr-form-element-height-medium) - 1px * 2);--border-radius:var(--gr-form-element-border-radius-medium);--border-width:1px;--border-style:solid;--padding-top:0;--padding-start:var(--gr-spacing-small);--padding-end:var(--gr-spacing-small);--padding-bottom:0;--font-size:var(--gr-form-element-font-size-medium);--background-color:rgba(var(--gr-color-primary-rgb), 0.05);--border-color:rgba(var(--gr-color-primary-rgb), 0.2);--color:var(--gr-color-primary-shade);--clear-color:var(--gr-color-primary);--clear-color-hover:var(--gr-color-primary-shade);--clear-margin-left:var(--gr-spacing-xx-small);--clear-margin-right:calc(-1 * var(--gr-spacing-xxx-small));display:inline-block;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host(.tag-success){--background-color:rgba(var(--gr-color-success-rgb), 0.05);--border-color:rgba(var(--gr-color-success-rgb), 0.2);--color:var(--gr-color-success-shade);--clear-color:var(--gr-color-success);--clear-color-hover:var(--gr-color-success-shade)}:host(.tag-info){--background-color:rgba(var(--gr-color-medium-rgb), 0.05);--border-color:rgba(var(--gr-color-medium-rgb), 0.2);--color:var(--gr-color-medium-shade);--clear-color:var(--gr-color-medium);--clear-color-hover:var(--gr-color-medium-shade)}:host(.tag-warning){--background-color:rgba(var(--gr-color-warning-rgb), 0.05);--border-color:rgba(var(--gr-color-warning-rgb), 0.2);--color:var(--gr-color-warning-shade);--clear-color:var(--gr-color-warning);--clear-color-hover:var(--gr-color-warning-shade)}:host(.tag-danger){--background-color:rgba(var(--gr-color-danger-rgb), 0.05);--border-color:rgba(var(--gr-color-danger-rgb), 0.2);--color:var(--gr-color-danger-shade);--clear-color:var(--gr-color-danger);--clear-color-hover:var(--gr-color-danger-shade)}:host(.tag-small){--font-size:var(--gr-form-element-font-size-small);--height:calc(var(--gr-form-element-height-small) * 0.8);--line-height:calc(var(--gr-form-element-height-small) - 1px * 2);--border-radius:var(--gr-form-element-border-radius-small);--padding-start:var(--gr-spacing-x-small);--padding-end:var(--gr-spacing-x-small);--clear-margin-left:var(--gr-spacing-xx-small);--clear-margin-right:calc(-1 * var(--gr-spacing-xxx-small))}:host(.tag-large){--font-size:var(--gr-form-element-font-size-large);--height:calc(var(--gr-form-element-height-large) * 0.8);--line-height:calc(var(--gr-form-element-height-large) - 1px * 2);--border-radius:var(--gr-form-element-border-radius-large);--padding:0 var(--gr-spacing-medium);--clear-margin-left:var(--gr-spacing-xx-small);--clear-margin-right:calc(-1 * var(--gr-spacing-x-small))}.tag{display:flex;align-items:center;border-style:var(--border-style);border-width:var(--border-width);border-radius:var(--border-radius);white-space:nowrap;user-select:none;cursor:default;font-family:var(--gr-font-family);font-size:var(--font-size);font-weight:var(--gr-font-weight-normal);height:var(--height);line-height:var(--line-height);padding-top:var(--padding-top);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-bottom:var(--padding-bottom);background-color:var(--background-color);border-color:var(--border-color);color:var(--color)}.tag-clear{--color:var(--clear-color);--color-hover:var(--clear-color-hover);--padding-start:0;--padding-end:0;margin-left:var(--clear-margin-left);margin-right:var(--clear-margin-right);--height:1em}.tag-clear svg{font-size:0.7em}.tag-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-clear svg{width:1.1em;height:1.1em}:host(.tag-pill) .tag{border-radius:var(--height)}"}},[1,"gr-tag",{type:[513],size:[513],pill:[516],clearable:[516],truncate:[516],title:[513]}]);function ti(){if("undefined"==typeof customElements)return;["gr-tag","gr-button","gr-spinner"].forEach((e=>{switch(e){case"gr-tag":customElements.get(e)||customElements.define(e,ei);break;case"gr-button":customElements.get(e)||St();break;case"gr-spinner":customElements.get(e)||Et()}}))}ti(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const ri="undefined"!=typeof HTMLElement?HTMLElement:class{};let ii=0;const oi=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grChange=fe(this,"gr-change",7),this.grFocus=fe(this,"gr-focus",7),this.grBlur=fe(this,"gr-blur",7),this.inputId="select-"+ ++ii,this.labelId=`select-label-${ii}`,this.helpTextId=`select-help-text-${ii}`,this.invalidTextId=`select-invalid-text-${ii}`,this.inheritedAttributes={},this.handleBlur=()=>{this.isOpen||(this.hasFocus=!1,this.grBlur.emit())},this.handleFocus=()=>{this.hasFocus||(this.hasFocus=!0,this.grFocus.emit())},this.hasFocus=!1,this.hasHelpTextSlot=!1,this.hasInvalidTextSlot=!1,this.hasLabelSlot=!1,this.isOpen=!1,this.items=[],this.displayLabel="",this.displayTags=[],this.multiple=!1,this.maxTagsVisible=3,this.disabled=!1,this.name="",this.placeholder="",this.size="medium",this.hoist=!1,this.value="",this.pill=!1,this.label="",this.requiredIndicator=!1,this.helpText="",this.invalidText="",this.invalid=!1,this.clearable=!1}handleDisabledChange(){this.disabled&&this.isOpen&&this.dropdown.hide()}handleLabelChange(){this.handleSlotChange()}handleMultipleChange(){const e=this.getValueAsArray();this.value=this.multiple?e:e[0]||"",this.syncItemsFromValue()}handleValueChange(){this.syncItemsFromValue(),this.grChange.emit()}connectedCallback(){this.handleClearClick=this.handleClearClick.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleLabelClick=this.handleLabelClick.bind(this),this.handleMenuHide=this.handleMenuHide.bind(this),this.handleMenuShow=this.handleMenuShow.bind(this),this.handleMenuSelect=this.handleMenuSelect.bind(this),this.handleSlotChange=this.handleSlotChange.bind(this),this.handleTagInteraction=this.handleTagInteraction.bind(this),this.el.shadowRoot.addEventListener("slotchange",this.handleSlotChange)}componentWillLoad(){this.handleSlotChange(),this.inheritedAttributes=Ct(this.el,["aria-label"])}componentDidLoad(){this.resizeObserver=new ResizeObserver((()=>this.resizeMenu())),this.reportDuplicateItemValues(),requestAnimationFrame((()=>this.syncItemsFromValue()))}disconnectedCallback(){this.el.shadowRoot.removeEventListener("slotchange",this.handleSlotChange)}async setFocus(){this.hasFocus=!0,this.grFocus.emit(),this.dropdown.focusOnTrigger()}getItemLabel(e){return kt(e.shadowRoot.querySelector("slot:not([name])"))}getItems(){return[...this.el.querySelectorAll("gr-menu-item")]}getValueAsArray(){return Array.isArray(this.value)?this.value:[this.value]}handleClearClick(e){e.stopPropagation(),this.value=this.multiple?[]:"",this.syncItemsFromValue()}handleKeyDown(e){const t=e.target,r=this.getItems(),i=r[0],o=r[r.length-1];if("gr-tag"!==t.tagName.toLowerCase())if("Tab"!==e.key){if(["ArrowDown","ArrowUp"].includes(e.key)){if(e.preventDefault(),this.isOpen||this.dropdown.show(),"ArrowDown"===e.key&&i)return void i.setFocus();if("ArrowUp"===e.key&&o)return void o.setFocus()}this.isOpen||1!==e.key.length||(e.stopPropagation(),e.preventDefault(),this.dropdown.show(),this.menu.typeToSelect(e.key))}else this.isOpen&&this.dropdown.hide()}handleLabelClick(){this.box.focus()}handleMenuSelect(e){const t=e.detail.item;this.multiple?this.value=this.value.includes(t.value)?this.value.filter((e=>e!==t.value)):[...this.value,t.value]:this.value=t.value,this.syncItemsFromValue()}handleMenuShow(e){this.disabled?e.preventDefault():(this.resizeMenu(),this.resizeObserver.observe(this.el),this.isOpen=!0)}handleMenuHide(){this.resizeObserver.unobserve(this.el),this.isOpen=!1,this.box.focus()}handleSlotChange(){this.hasHelpTextSlot=_t(this.el,"help-text"),this.hasInvalidTextSlot=_t(this.el,"invalid-text"),this.hasLabelSlot=_t(this.el,"label"),this.syncItemsFromValue(),this.reportDuplicateItemValues()}handleTagInteraction(e){e.composedPath().find((e=>{if(e instanceof ri)return e.classList.contains("tag-clear")}))&&e.stopPropagation()}reportDuplicateItemValues(){const e=this.getItems().map((e=>e.value)).filter(((e,t,r)=>r.indexOf(e)!==t));if(e.length)throw new Error('Duplicate value found on in : "'+e.join('", "')+'"')}resizeMenu(){this.menu.style.width=`${this.box.clientWidth}px`}syncItemsFromValue(){const e=this.getItems(),t=this.getValueAsArray();if(e.map((e=>e.checked=t.includes(e.value))),this.multiple){const r=[];if(t.map((t=>e.map((e=>e.value===t?r.push(e):null)))),this.displayTags=r.map((e=>de("gr-tag",{type:"info",size:this.size,pill:this.pill,clearable:!0,onClick:this.handleTagInteraction,onKeyDown:this.handleTagInteraction,"onGr-clear":t=>{t.stopPropagation(),this.disabled||(e.checked=!1,this.syncValueFromItems())}},this.getItemLabel(e)))),this.maxTagsVisible>0&&this.displayTags.length>this.maxTagsVisible){const e=this.displayTags.length;this.displayLabel="",this.displayTags=this.displayTags.slice(0,this.maxTagsVisible),this.displayTags.push(de("gr-tag",{type:"info",size:this.size,pill:this.pill},"+",e-this.maxTagsVisible))}}else{const r=e.filter((e=>e.value===t[0]))[0];this.displayLabel=r?this.getItemLabel(r):"",this.displayTags=[]}}syncValueFromItems(){const e=this.getItems().filter((e=>e.checked)).map((e=>e.value));this.multiple?this.value=this.value.filter((t=>e.includes(t))):this.value=e.length>0?e[0]:""}render(){var e;const t=this.multiple?this.value.length>0:""!==this.value,r=this.inheritedAttributes["aria-label"]?{"aria-label":this.inheritedAttributes["aria-label"]}:{"aria-labelledby":this.labelId};return((e,t,r,i)=>{let o=e.querySelector("input.aux-input");o||(o=e.ownerDocument.createElement("input"),o.type="hidden",o.classList.add("aux-input"),e.appendChild(o)),o.disabled=i,o.name=t,o.value=r||""})(this.el,this.name,ni(this.value),this.disabled),de(xt,{inputId:this.inputId,label:this.label,labelId:this.labelId,hasLabelSlot:this.hasLabelSlot,helpTextId:this.helpTextId,helpText:this.helpText,hasHelpTextSlot:this.hasHelpTextSlot,invalidTextId:this.invalidTextId,invalidText:this.invalidText,invalid:this.invalid,hasInvalidTextSlot:this.hasInvalidTextSlot,size:this.size,onLabelClick:this.handleLabelClick,requiredIndicator:this.requiredIndicator},de("gr-dropdown",{ref:e=>this.dropdown=e,hoist:this.hoist,closeOnSelect:!this.multiple,containingElement:this.el,class:{select:!0,"select-open":this.isOpen,"select-empty":0===(null===(e=this.value)||void 0===e?void 0:e.length),"select-focused":this.hasFocus,"select-clearable":this.clearable,"select-disabled":this.disabled,"select-multiple":this.multiple,"select-has-tags":this.multiple&&t,"select-placeholder-visible":""===this.displayLabel,[`select-${this.size}`]:!0,"select-pill":this.pill,"select-invalid":this.invalid},"onGr-show":this.handleMenuShow,"onGr-hide":this.handleMenuHide},de("div",Object.assign({slot:"trigger",ref:e=>this.box=e,id:this.inputId,class:"select-box",role:"combobox"},r,{"aria-describedby":this.invalid?this.invalidTextId:this.helpTextId,"aria-haspopup":"true","aria-expanded":this.isOpen?"true":"false","aria-invalid":this.invalid?"true":"false","aria-required":this.requiredIndicator?"true":"false",tabIndex:this.disabled?-1:0,onBlur:this.handleBlur,onFocus:this.handleFocus,onKeyDown:this.handleKeyDown}),de("div",{class:"select-label"},this.displayTags.length?de("span",{class:"select-tags"},this.displayTags):this.displayLabel||this.placeholder),this.clearable&&t&&de("button",{class:"select-clear",type:"button",onClick:this.handleClearClick,"aria-label":"clear",tabindex:"-1"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Close Circle"),de("path",{d:"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"}),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M320 320L192 192M192 320l128-128"}))),de("span",{class:"caret"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Chevron Down"),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"48",d:"M112 184l144 144 144-144"}))),de("input",{class:"select-hidden-select","aria-hidden":"true",value:t?"1":"",tabIndex:-1})),de("gr-menu",{ref:e=>this.menu=e,class:"select-menu","onGr-select":this.handleMenuSelect},de("slot",{onSlotchange:this.handleSlotChange}))))}get el(){return this}static get watchers(){return{disabled:["handleDisabledChange"],helpText:["handleLabelChange"],invalidText:["handleLabelChange"],label:["handleLabelChange"],multiple:["handleMultipleChange"],value:["handleValueChange"]}}static get style(){return".form-control .form-control-label{display:none}.form-control .form-control-help-text{display:none}.form-control .form-control-invalid-text{display:none}.form-control-has-label .form-control-label{display:flex;line-height:var(--gr-line-height-normal);color:var(--gr-form-element-label-color);margin-bottom:var(--gr-spacing-xxx-small)}.form-control-has-label.form-control-small .form-control-label{font-size:var(--gr-form-element-label-font-size-small)}.form-control-has-label.form-control-medium .form-control-label{font-size:var(--gr-form-element-label-font-size-medium)}.form-control-has-label.form-control-large .form-control-label{font-size:var(--gr-form-element-label-font-size-large)}.form-control-has-label .form-control-label .asterisk{margin-left:var(--gr-spacing-x-small);color:var(--gr-color-medium)}.form-control-has-label .form-control-label .asterisk svg{width:0.6em;height:0.6em;margin-bottom:var(--gr-spacing-xxx-small)}.form-control-has-help-text .form-control-help-text{display:block;line-height:var(--gr-line-height-normal);color:var(--gr-form-element-help-text-color);margin-top:var(--gr-spacing-xxx-small)}.form-control-has-help-text.form-control-small .form-control-help-text{font-size:var(--gr-form-element-help-text-font-size-small);min-height:1.625rem}.form-control-has-help-text.form-control-medium .form-control-help-text{font-size:var(--gr-form-element-help-text-font-size-medium);min-height:1.875rem}.form-control-has-help-text.form-control-large .form-control-help-text{font-size:var(--gr-form-element-help-text-font-size-large);min-height:2.125rem}.form-control-has-invalid-text .form-control-invalid-text{display:flex;margin-left:-2px;line-height:var(--gr-line-height-normal);color:var(--gr-form-element-invalid-text-color);margin-top:var(--gr-spacing-xxx-small)}.form-control-has-invalid-text .form-control-invalid-text .icon{margin-top:var(--gr-spacing-xxx-small);margin-right:var(--gr-spacing-xx-small)}.form-control-has-invalid-text .form-control-invalid-text .icon svg{width:1.4em;height:1.4em}.form-control-has-invalid-text.form-control-small .form-control-invalid-text{font-size:var(--gr-form-element-invalid-text-font-size-small);min-height:1.625rem}.form-control-has-invalid-text.form-control-medium .form-control-invalid-text{font-size:var(--gr-form-element-invalid-text-font-size-medium);min-height:1.875rem}.form-control-has-invalid-text.form-control-large .form-control-invalid-text{font-size:var(--gr-form-element-invalid-text-font-size-large);min-height:2.125rem}.gr-scroll-lock{overflow:hidden !important}:host{--font-size:var(--gr-form-element-font-size-medium);--font-weight:var(--gr-font-weight-normal);--background-color:var(--gr-color-white);--background-color-hover:var(--gr-color-white);--background-color-focus:var(--gr-color-white);--background-color-invalid:var(--gr-color-white);--background-color-invalid-hover:var(--gr-color-white);--border-radius:var(--gr-form-element-border-radius-small);--border-color:var(--gr-color-light-shade);--border-color-hover:var(--gr-color-medium);--border-color-focus:var(--gr-color-primary);--border-color-invalid:var(--gr-color-danger);--border-color-invalid-hover:var(--gr-color-danger-shade);--color:var(--gr-color-dark-tint);--placeholder-color:var(--gr-color-medium-tint);--min-height:var(--gr-form-element-height-medium);--label-margin-start:var(--gr-spacing-medium);--label-margin-end:var(--gr-spacing-medium);--clear-icon-margin-end:var(--gr-spacing-medium);--caret-margin-end:var(--gr-spacing-medium);--tags-padding-top:3px;--tags-padding-bottom:3px;--tags-margin-end:var(--gr-spacing-xx-small);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33);display:block;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}.select-small{--font-size:var(--gr-form-element-font-size-small);--min-height:var(--gr-form-element-height-small);--label-margin-start:var(--gr-spacing-small);--label-margin-end:var(--gr-spacing-small);--clear-icon-margin-end:var(--gr-spacing-small);--caret-margin-end:var(--gr-spacing-small);--tags-padding-top:2px;--tags-padding-bottom:2px}.select-large{--font-size:var(--gr-form-element-font-size-large);--min-height:var(--gr-form-element-height-large);--label-margin-start:var(--gr-spacing-large);--label-margin-end:var(--gr-spacing-large);--clear-icon-margin-end:var(--gr-spacing-large);--caret-margin-end:var(--gr-spacing-large);--tags-padding-top:4px;--tags-padding-bottom:4px}.select{display:block}.select-box{display:inline-flex;align-items:center;justify-content:start;position:relative;width:100%;font-family:var(--gr-font-family);font-size:var(--font-size);font-weight:var(--font-weight);letter-spacing:normal;background-color:var(--background-color);border:solid 1px var(--border-color);border-radius:var(--border-radius);min-height:var(--min-height);color:var(--color);vertical-align:middle;overflow:hidden;transition:150ms color, 150ms border, 150ms box-shadow;cursor:pointer}.select.select-invalid:not(.select-disabled) .select-box{background-color:var(--background-color-invalid);border-color:var(--border-color-invalid)}.select.select-invalid:not(.select-disabled):not(.select-focused) .select-box:hover{background-color:var(--background-color-invalid-hover);border-color:var(--border-color-invalid-hover)}.select.select-invalid:not(.select-disabled) .select-box{background-color:var(--background-color-invalid);border-color:var(--border-color-invalid)}.select:not(.select-disabled) .select-box:hover{background-color:var(--background-color-hover);border-color:var(--border-color-hover)}.select.select-focused:not(.select-disabled) .select-box{outline:none;box-shadow:var(--focus-ring);border-color:var(--border-color-focus);background-color:var(--background-color-focus)}.select-disabled .select-box{opacity:0.5;cursor:not-allowed;outline:none}.select-disabled .select-tags,.select-disabled .select-clear{pointer-events:none}.select-label{flex:1 1 auto;display:flex;align-items:center;user-select:none;margin-top:0;margin-left:var(--label-margin-start);margin-right:var(--label-margin-end);margin-bottom:0;scrollbar-width:none;-ms-overflow-style:none;overflow-x:auto;overflow-y:hidden;white-space:nowrap}.select-label::-webkit-scrollbar{width:0;height:0}.select-has-tags .select-label{margin-left:0}.select-clear{display:inline-flex;align-items:center;font-size:inherit;color:var(--gr-color-medium);border:none;background:none;padding:0;transition:150ms color;cursor:pointer;margin-right:var(--clear-icon-margin-end)}.select-clear:hover{color:var(--gr-color-dark)}.select-clear:focus{outline:none}.select-clear svg{width:1.2em;height:1.2em;font-size:var(--font-size)}.caret{flex:0 0 auto;display:inline-flex;transition:250ms transform ease;margin-right:var(--caret-margin-end)}.caret svg{width:1em;height:1em;font-size:var(--font-size)}.select-open .caret{transform:rotate(-180deg)}.select-placeholder-visible .select-label{color:var(--placeholder-color)}.select-tags{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:left;margin-left:var(--gr-spacing-xx-small);padding-bottom:var(--tags-padding-bottom)}.select-tags gr-tag{padding-top:var(--tags-padding-top)}.select-tags gr-tag:not(:last-of-type){margin-right:var(--tags-margin-end)}.select-hidden-select{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px;position:absolute;top:0;left:0;width:100%;height:100%}.select-pill .select-box{border-radius:var(--min-height)}"}},[1,"gr-select",{multiple:[4],maxTagsVisible:[2,"max-tags-visible"],disabled:[4],name:[1],placeholder:[1],size:[1],hoist:[4],value:[1025],pill:[4],label:[1],requiredIndicator:[4,"required-indicator"],helpText:[1,"help-text"],invalidText:[1,"invalid-text"],invalid:[516],clearable:[4],hasFocus:[32],hasHelpTextSlot:[32],hasInvalidTextSlot:[32],hasLabelSlot:[32],isOpen:[32],items:[32],displayLabel:[32],displayTags:[32],setFocus:[64]}]),ni=e=>{if(null!=e)return Array.isArray(e)?e.join(","):e.toString()};!function(){if("undefined"==typeof customElements)return;["gr-select","gr-button","gr-dropdown","gr-menu","gr-spinner","gr-tag"].forEach((e=>{switch(e){case"gr-select":customElements.get(e)||customElements.define(e,oi);break;case"gr-button":customElements.get(e)||St();break;case"gr-dropdown":customElements.get(e)||Xr();break;case"gr-menu":customElements.get(e)||Jr();break;case"gr-spinner":customElements.get(e)||Et();break;case"gr-tag":customElements.get(e)||ti()}}))}();const ai=oi,si=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.hasFocus=!1,this.checked=!1,this.value="",this.disabled=!1}connectedCallback(){this.handleBlur=this.handleBlur.bind(this),this.handleFocus=this.handleFocus.bind(this),this.handleMouseEnter=this.handleMouseEnter.bind(this),this.handleMouseLeave=this.handleMouseLeave.bind(this)}async setFocus(e){this.el.focus(e)}async removeFocus(){this.el.blur()}handleBlur(){this.hasFocus=!1}handleFocus(){this.hasFocus=!0}handleMouseEnter(){this.setFocus()}handleMouseLeave(){this.removeFocus()}render(){return de(ge,{class:{"menu-item-checked":this.checked,"menu-item-disabled":this.disabled,"menu-item-focused":this.hasFocus},role:"menuitem","aria-disabled":this.disabled?"true":"false","aria-checked":this.checked?"true":"false",tabIndex:this.disabled?null:0,onFocus:this.handleFocus,onBlur:this.handleBlur,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave},de("span",{class:"checkmark"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Checkmark"),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M416 128L192 384l-96-96"}))),de("span",{class:"start"},de("slot",{name:"start"})),de("span",{class:"label"},de("slot",null)),de("span",{class:"end"},de("slot",{name:"end"})))}get el(){return this}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{--line-height:var(--gr-line-height-normal);--background-color:transparent;--background-color-focused:var(--gr-color-primary);--color:var(--gr-color-dark);--color-focused:var(--gr-color-primary-contrast);--color-disabled:var(--gr-color-medium);--padding-top:var(--gr-spacing-xx-small);--padding-start:var(--gr-spacing-x-large);--padding-end:var(--gr-spacing-x-large);--padding-bottom:var(--gr-spacing-xx-small);--transition:background-color 150ms linear, color 150ms linear;position:relative;display:flex;align-items:stretch;font-family:var(--gr-font-family);font-size:var(--gr-font-size-medium);font-weight:var(--gr-font-weight-normal);line-height:var(--line-height);letter-spacing:var(--gr-letter-spacing-normal);text-align:left;background-color:var(--background-color);color:var(--color);padding-top:var(--padding-top);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-bottom:var(--padding-bottom);transition:var(--transition);user-select:none;white-space:nowrap;cursor:pointer;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host(.menu-item-focused:not(.menu-item-disabled)){outline:none;background-color:var(--background-color-focused);color:var(--color-focused)}:host(.menu-item-disabled){outline:none;color:var(--color-disabled);cursor:not-allowed}.checkmark{display:flex;position:absolute;left:0.5em;top:calc(50% - 0.5em);visibility:hidden;align-items:center;font-size:inherit}.checkmark svg{display:inline-block;width:1.1em;height:1.1em;contain:strict;fill:currentcolor;box-sizing:content-box !important}:host(.menu-item-checked) .checkmark{visibility:visible}.label{flex:1 1 auto}.start{flex:0 0 auto;display:flex;align-items:center}.start ::slotted(:last-child){margin-right:0.5em}.end{flex:0 0 auto;display:flex;align-items:center}.end ::slotted(:first-child){margin-left:0.5em}"}},[1,"gr-menu-item",{checked:[516],value:[513],disabled:[516],hasFocus:[32],setFocus:[64],removeFocus:[64]}]); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */!function(){if("undefined"==typeof customElements)return;["gr-menu-item"].forEach((e=>{if("gr-menu-item"===e)customElements.get(e)||customElements.define(e,si)}))}();const li={"gr-select":ai,"gr-menu-item":si};class ci extends(P(_)){constructor(){super(...arguments),this.value=null,this.multiple=!1,this.clearable=!1,this._refSelect=y()}reset(){this.value=null}_valueChangedHandler(e){const t=this._refSelect.value?.value;if(void 0!==t&&!l(this.value,t)){const e=null===this.value;this.value=t,e||w(this,"select:change",t)}}willUpdate(e){e.has("initialValue")&&this.initialValue&&!this.value&&(this.value=this.initialValue)}render(){return $` - ${this.options?.map((e=>$`${e.label}`))} - `}static get styles(){return k(':root, :host {\n --gr-color-primary: #1079b2;\n --gr-color-primary-rgb: 16, 121, 178;\n --gr-color-primary-contrast: #ffffff;\n --gr-color-primary-contrast-rgb: 255, 255, 255;\n --gr-color-primary-shade: #0d6696;\n --gr-color-primary-tint: #1499e1;\n --gr-color-secondary: #051f2c;\n --gr-color-secondary-rgb: 5, 31, 44;\n --gr-color-secondary-contrast: #ffffff;\n --gr-color-secondary-contrast-rgb: 255, 255, 255;\n --gr-color-secondary-shade: #000000;\n --gr-color-secondary-tint: #0a415c;\n --gr-color-tertiary: #0c4a6e;\n --gr-color-tertiary-rgb: 12, 74, 110;\n --gr-color-tertiary-contrast: #ffffff;\n --gr-color-tertiary-contrast-rgb: 255, 255, 255;\n --gr-color-tertiary-shade: #083249;\n --gr-color-tertiary-tint: #106393;\n --gr-color-success: #0fbe78;\n --gr-color-success-rgb: 15, 190, 120;\n --gr-color-success-contrast: #000000;\n --gr-color-success-contrast-rgb: 0, 0, 0;\n --gr-color-success-shade: #057f4e;\n --gr-color-success-tint: #12e28f;\n --gr-color-warning: #fbbc4e;\n --gr-color-warning-rgb: 251, 188, 78;\n --gr-color-warning-contrast: #051f2c;\n --gr-color-warning-contrast-rgb: 5, 31, 44;\n --gr-color-warning-shade: #9e6400;\n --gr-color-warning-tint: #fdd187;\n --gr-color-danger: #e60017;\n --gr-color-danger-rgb: 230, 0, 23;\n --gr-color-danger-contrast: #ffffff;\n --gr-color-danger-contrast-rgb: 255, 255, 255;\n --gr-color-danger-shade: #cc0014;\n --gr-color-danger-tint: #ff1f35;\n --gr-color-light: #f4f5f8;\n --gr-color-light-rgb: 244, 245, 248;\n --gr-color-light-contrast: #051f2c;\n --gr-color-light-contrast-rgb: 5, 31, 44;\n --gr-color-light-shade: #d7d8da;\n --gr-color-light-tint: #f9fafb;\n --gr-color-medium: #5e6c78;\n --gr-color-medium-rgb: 94, 108, 120;\n --gr-color-medium-contrast: #ffffff;\n --gr-color-medium-contrast-rgb: 255, 255, 255;\n --gr-color-medium-shade: #48535b;\n --gr-color-medium-tint: #81909c;\n --gr-color-dark: #02131b;\n --gr-color-dark-rgb: 2, 19, 27;\n --gr-color-dark-contrast: #ffffff;\n --gr-color-dark-contrast-rgb: 255, 255, 255;\n --gr-color-dark-shade: #000000;\n --gr-color-dark-tint: #222428;\n --gr-color-white: #ffffff;\n --gr-color-black: #000000;\n --gr-border-radius-small: 0.125rem;\n --gr-border-radius-medium: 0.25rem;\n --gr-border-radius-large: 0.5rem;\n --gr-border-radius-x-large: 1rem;\n --gr-border-width-small: 0.063rem;\n --gr-border-width-medium: 0.125rem;\n --gr-border-width-large: 0.188rem;\n --gr-shadow-x-small: 0 1px 0 #0d131e0d;\n --gr-shadow-small: 0 1px 2px #0d131e1a;\n --gr-shadow-medium: 0 2px 4px #0d131e1a;\n --gr-shadow-large: 0 2px 8px #0d131e1a;\n --gr-shadow-x-large: 0 4px 16px #0d131e1a;\n --gr-spacing-xxx-small: 0.125rem;\n --gr-spacing-xx-small: 0.25rem;\n --gr-spacing-x-small: 0.5rem;\n --gr-spacing-small: 0.75rem;\n --gr-spacing-medium: 1rem;\n --gr-spacing-large: 1.25rem;\n --gr-spacing-x-large: 1.75rem;\n --gr-spacing-xx-large: 2.25rem;\n --gr-spacing-xxx-large: 3rem;\n --gr-spacing-xxxx-large: 4.5rem;\n --gr-font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial,\n sans-serif;\n --gr-letter-spacing-dense: -0.015em;\n --gr-letter-spacing-normal: normal;\n --gr-letter-spacing-loose: 0.075em;\n --gr-line-height-dense: 1.4;\n --gr-line-height-normal: 1.8;\n --gr-line-height-loose: 2.2;\n --gr-font-size-xx-small: 0.625rem;\n --gr-font-size-x-small: 0.75rem;\n --gr-font-size-small: 0.875rem;\n --gr-font-size-medium: 1rem;\n --gr-font-size-large: 1.25rem;\n --gr-font-size-x-large: 1.5rem;\n --gr-font-size-xx-large: 2.25rem;\n --gr-font-size-xxx-large: 3rem;\n --gr-font-size-xxxx-large: 4.5rem;\n --gr-font-weight-thin: 100;\n --gr-font-weight-extra-light: 200;\n --gr-font-weight-light: 300;\n --gr-font-weight-normal: 400;\n --gr-font-weight-medium: 500;\n --gr-font-weight-semi-bold: 600;\n --gr-font-weight-bold: 700;\n --gr-font-weight-extra-bold: 800;\n --gr-font-weight-black: 900;\n --gr-form-element-font-size-x-small: var(--gr-font-size-x-small);\n --gr-form-element-font-size-small: var(--gr-font-size-small);\n --gr-form-element-font-size-medium: var(--gr-font-size-medium);\n --gr-form-element-font-size-large: var(--gr-font-size-large);\n --gr-form-element-height-small: 2.188rem;\n --gr-form-element-height-medium: 3.125rem;\n --gr-form-element-height-large: 4.063rem;\n --gr-form-element-border-radius-small: var(--gr-border-radius-medium);\n --gr-form-element-border-radius-medium: var(--gr-border-radius-medium);\n --gr-form-element-border-radius-large: var(--gr-border-radius-medium);\n --gr-focus-ring-width: 2px;\n --gr-form-element-label-font-size-small: var(--gr-font-size-small);\n --gr-form-element-label-font-size-medium: var(--gr-font-size-medium);\n --gr-form-element-label-font-size-large: var(--gr-font-size-large);\n --gr-form-element-label-color: inherit;\n --gr-form-element-help-text-font-size-small: var(--gr-font-size-x-small);\n --gr-form-element-help-text-font-size-medium: var(--gr-font-size-small);\n --gr-form-element-help-text-font-size-large: var(--gr-font-size-medium);\n --gr-form-element-help-text-color: var(--gr-color-medium);\n --gr-form-element-invalid-text-font-size-small: var(--gr-font-size-x-small);\n --gr-form-element-invalid-text-font-size-medium: var(--gr-font-size-small);\n --gr-form-element-invalid-text-font-size-large: var(--gr-font-size-medium);\n --gr-form-element-invalid-text-color: var(--gr-color-danger);\n --gr-toggle-size: 1rem;\n --gr-panel-border-color: var(--gr-color-light-shade);\n --gr-z-index-dropdown: 900;\n}\n\n')}}ci.elementDefinitions={...li},f([v({attribute:!1,hasChanged:b})],ci.prototype,"options",void 0),f([v({attribute:!1,hasChanged:b})],ci.prototype,"value",void 0),f([v({attribute:!1,hasChanged:b})],ci.prototype,"initialValue",void 0),f([v({attribute:!0})],ci.prototype,"label",void 0),f([v({attribute:!0})],ci.prototype,"placeholder",void 0),f([v({attribute:!0,type:Boolean})],ci.prototype,"multiple",void 0),f([v({attribute:!0,type:Boolean})],ci.prototype,"clearable",void 0);let di=class extends(P(_)){constructor(){super(...arguments),this._mediaFilterController=new U(this),this._refMediaType=y(),this._refCamera=y(),this._refWhen=y(),this._refWhenFrom=y(),this._refWhenTo=y(),this._refWhat=y(),this._refWhere=y(),this._refFavorite=y(),this._refTags=y()}willUpdate(e){e.has("viewManagerEpoch")&&this._mediaFilterController.setViewManager(this.viewManagerEpoch?.manager??null),e.has("cameraManager")&&this.cameraManager&&(this._mediaFilterController.computeCameraOptions(this.cameraManager),this._mediaFilterController.computeMetadataOptions(this.cameraManager)),!e.get("viewManager")&&this.viewManagerEpoch&&this.cameraManager&&this._mediaFilterController.computeInitialDefaultsFromView(this.cameraManager)}render(){const e=async()=>{this.cameraManager&&this.viewManagerEpoch&&this.cardWideConfig&&await this._mediaFilterController.valueChangeHandler(this.cameraManager,this.cardWideConfig,{camera:this._refCamera.value?.value??void 0,mediaType:this._refMediaType.value?.value??void 0,when:{selected:this._refWhen.value?.value??void 0,from:this._refWhenFrom.value?.value,to:this._refWhenTo.value?.value},favorite:this._refFavorite.value?.value??void 0,where:this._refWhere.value?.value??void 0,what:this._refWhat.value?.value??void 0,tags:this._refTags.value?.value??void 0})},t=async t=>{"custom"===t&&this._refWhen.value?this._refWhenFrom.value?.value||this._refWhenTo.value?.value?this._refWhen.value.value=B.Custom:this._refWhen.value.reset():this._refWhen.value?.value!==B.Custom&&(this._refWhenFrom.value?.reset(),this._refWhenTo.value?.reset()),await e()};if(!this.cameraManager||!this.viewManagerEpoch)return;const r=this._mediaFilterController.getControlsToShow(this.cameraManager),o=this._mediaFilterController.getDefaults(),n=this._mediaFilterController.getWhatOptions(),a=this._mediaFilterController.getTagsOptions(),s=this._mediaFilterController.getWhereOptions();return $` e()} - > - -

- t("selected")} - > - - t("custom")} - > - - t("custom")} - > - -
- e()} - > - - ${r.events&&n.length?$` e()} - > - `:""} - ${r.events&&a.length?$` e()} - > - `:""} - ${r.events&&s.length?$` e()} - > - `:""} - ${r.favorites?$` - e()} - > - - `:""}`}static get styles(){return k(":host {\n display: flex;\n flex-direction: column;\n overflow: auto;\n scrollbar-width: none;\n -ms-overflow-style: none;\n height: 100%;\n width: 300px;\n margin: 5px;\n}\n\n/* Hide scrollbar for Chrome, Safari and Opera */\n:host::-webkit-scrollbar {\n display: none;\n}\n\nfrigate-card-select {\n padding: 5px;\n}\n\ndiv.when {\n display: inline-flex;\n align-items: flex-end;\n}\n\ndiv.when frigate-card-select {\n flex: 1;\n}\n\ndiv.when frigate-card-date-picker {\n padding-bottom: 5px;\n transition: width 0.5s ease-in-out;\n}\n\ndiv.when frigate-card-date-picker {\n color: var(--secondary-color);\n}\n\ndiv.when frigate-card-date-picker.selected {\n color: var(--primary-color);\n}\n\ndiv.when frigate-card-date-picker.hidden {\n width: 0px;\n}")}};di.elementDefinitions={"frigate-card-select":ci,"frigate-card-date-picker":R},f([v({attribute:!1})],di.prototype,"hass",void 0),f([v({attribute:!1})],di.prototype,"cameraManager",void 0),f([v({attribute:!1})],di.prototype,"viewManagerEpoch",void 0),f([v({attribute:!1})],di.prototype,"cardWideConfig",void 0),di=f([C("frigate-card-media-filter")],di);const hi={closed:"mdi:filter-cog-outline",open:"mdi:filter-cog"};let gi=class extends _{render(){const e=this.viewManagerEpoch?.manager.getView();if(this.hass&&e?.isGalleryView()&&this.cameraManager&&this.cardWideConfig)return $` - - ${this.galleryConfig&&"none"!==this.galleryConfig.controls.filter.mode?$` - `:""} - - - - `}static get styles(){return k(":host {\n width: 100%;\n height: 100%;\n display: block;\n}\n\nfrigate-card-surround-basic {\n max-height: 110dvh;\n}")}};f([v({attribute:!1})],gi.prototype,"hass",void 0),f([v({attribute:!1})],gi.prototype,"viewManagerEpoch",void 0),f([v({attribute:!1})],gi.prototype,"galleryConfig",void 0),f([v({attribute:!1})],gi.prototype,"cameraManager",void 0),f([v({attribute:!1})],gi.prototype,"cardWideConfig",void 0),gi=f([C("frigate-card-gallery")],gi);let ui=class extends _{constructor(){super(),this._refLoaderBottom=y(),this._refSelected=y(),this._showLoaderBottom=!0,this._showLoaderTop=!1,this._boundWheelHandler=this._wheelHandler.bind(this),this._boundTouchStartHandler=this._touchStartHandler.bind(this),this._boundTouchEndHandler=this._touchEndHandler.bind(this),this._throttleExtendGalleryLater=O(this._extendGallery.bind(this),500,{leading:!0,trailing:!1}),this._touchScrollYPosition=null,this._resizeObserver=new ResizeObserver(this._resizeHandler.bind(this)),this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this))}_touchStartHandler(e){1===e.touches.length?this._touchScrollYPosition=e.touches[0].screenY:this._touchScrollYPosition=null}async _touchEndHandler(e){!this.scrollTop&&1===e.changedTouches.length&&this._touchScrollYPosition&&e.changedTouches[0].screenY>this._touchScrollYPosition&&await this._extendLater(),this._touchScrollYPosition=null}async _wheelHandler(e){!this.scrollTop&&e.deltaY<0&&await this._extendLater()}async _extendLater(){const e=new Date;this._showLoaderTop=!0,await this._throttleExtendGalleryLater("later",!1);const t=(new Date).getTime()-e.getTime();t<500&&await S(.5-t/1e3),this._showLoaderTop=!1}connectedCallback(){super.connectedCallback(),this._resizeObserver.observe(this),this.addEventListener("wheel",this._boundWheelHandler,{passive:!0}),this.addEventListener("touchstart",this._boundTouchStartHandler,{passive:!0}),this.addEventListener("touchend",this._boundTouchEndHandler),this.requestUpdate()}disconnectedCallback(){this.removeEventListener("wheel",this._boundWheelHandler),this.removeEventListener("touchstart",this._boundTouchStartHandler),this.removeEventListener("touchend",this._boundTouchEndHandler),this._resizeObserver.disconnect(),this._intersectionObserver.disconnect(),super.disconnectedCallback()}_setColumnCount(){const e=this.galleryConfig?.controls.thumbnails.size??M.media_gallery.controls.thumbnails.size,t=this.galleryConfig?.controls.thumbnails.show_details?Math.max(1,Math.floor(this.clientWidth/z)):Math.max(1,Math.ceil(this.clientWidth/e));this.style.setProperty("--frigate-card-gallery-columns",String(t))}_resizeHandler(){this._setColumnCount()}async _intersectionHandler(e){e.every((e=>!e.isIntersecting))||(this._showLoaderBottom=!1,await this._extendGallery("earlier"))}async _extendGallery(e,t=!0){const r=this.viewManagerEpoch?.manager.getView();if(!this.cameraManager||!this.hass||!r)return;const i=r.query,n=i?.getQueries()??null,s=r.queryResults?.getResults();if(!i||!n||!s)return;let l;try{l=await this.cameraManager.extendMediaQueries(n,s,e,{useCache:t})}catch(e){return void d(e)}if(l){const e=c.areEventQueries(i)?new o(l.queries):c.areRecordingQueries(i)?new a(l.queries):null;e&&this.viewManagerEpoch?.manager.setViewByParameters({baseView:r,params:{query:e,queryResults:new L({results:l.results}).selectResultIfFound((e=>e===r.queryResults?.getSelectedResult()))}})}}willUpdate(e){if(e.has("galleryConfig")&&(this.galleryConfig?.controls.thumbnails.show_details?this.setAttribute("details",""):this.removeAttribute("details"),this._setColumnCount(),this.galleryConfig?.controls.thumbnails.size&&this.style.setProperty("--frigate-card-thumbnail-size",`${this.galleryConfig.controls.thumbnails.size}px`)),e.has("viewManagerEpoch")){this._showLoaderBottom=!0;const e=this.viewManagerEpoch?.manager.getView(),t=this.viewManagerEpoch?.oldView;this._media&&t?.queryResults?.getResults()===e?.queryResults?.getResults()||(this._media=[...e?.queryResults?.getResults()??[]].reverse())}}render(){if(!this._media||!this.hass)return $``;const e=this.viewManagerEpoch?.manager.getView();if(!e?.queryResults||0===e.queryResults.getResultsCount()){const t=!!e?.context?.loading?.query;return D({type:"info",message:i(t?"error.awaiting_media":"common.no_media"),icon:"mdi:multimedia",dotdotdot:t})}const t=e.queryResults.getSelectedResult();return $`
- ${this._showLoaderTop?$`${A({cardWideConfig:this.cardWideConfig,classes:{top:!0},size:"small"})}`:""} - ${this._media.map(((r,i)=>$`{this._media&&this.viewManagerEpoch?.manager.setViewByParameters({params:{view:"media",queryResults:e.queryResults?.clone().selectIndex(this._media.length-i-1)}}),F(t)}} - > - `))} - ${this._showLoaderBottom?$`${A({cardWideConfig:this.cardWideConfig,componentRef:this._refLoaderBottom})}`:""} -
`}updated(e){this._refLoaderBottom.value&&(this._intersectionObserver.disconnect(),this._intersectionObserver.observe(this._refLoaderBottom.value)),this.updateComplete.then((()=>{e.has("viewManagerEpoch")&&!e.get("viewManagerEpoch")&&this._refSelected.value&&this._refSelected.value.scrollIntoView({block:"center"})}))}static get styles(){return k(":host {\n width: 100%;\n height: 100%;\n display: block;\n overflow: auto;\n -ms-overflow-style: none;\n scrollbar-width: none;\n --frigate-card-gallery-gap: 3px;\n --frigate-card-gallery-columns: 4;\n}\n\n.grid {\n display: grid;\n grid-template-columns: repeat(var(--frigate-card-gallery-columns), minmax(0, 1fr));\n grid-auto-rows: min-content;\n gap: var(--frigate-card-gallery-gap);\n}\n\n:host::-webkit-scrollbar {\n display: none;\n}\n\nfrigate-card-thumbnail {\n height: 100%;\n max-height: var(--frigate-card-thumbnail-size);\n}\n\nfrigate-card-thumbnail:not([details]) {\n width: 100%;\n}\n\nfrigate-card-thumbnail.selected {\n border: 4px solid var(--accent-color);\n border-radius: calc(var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px)) + 4px);\n}\n\nfrigate-card-progress-indicator.top {\n grid-column: 1/-1;\n}")}};f([v({attribute:!1})],ui.prototype,"hass",void 0),f([v({attribute:!1})],ui.prototype,"viewManagerEpoch",void 0),f([v({attribute:!1})],ui.prototype,"galleryConfig",void 0),f([v({attribute:!1})],ui.prototype,"cameraManager",void 0),f([v({attribute:!1})],ui.prototype,"cardWideConfig",void 0),f([E()],ui.prototype,"_showLoaderBottom",void 0),f([E()],ui.prototype,"_showLoaderTop",void 0),ui=f([C("frigate-card-gallery-core")],ui);export{gi as FrigateCardGallery,ui as FrigateCardGalleryCore}; diff --git a/config/www/community/frigate-hass-card/gallery-c718155d.js.gz b/config/www/community/frigate-hass-card/gallery-c718155d.js.gz deleted file mode 100644 index d5eda4d8904e5a5672da6917f13c063d6ed3f7f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30838 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.registry.define(t,r))));const n=this.renderOptions.creationScope=this.attachShadow({...o,customElements:e.registry});return r(n,this.constructor.elementStyles),n}}}!function(e){e.Favorite="favorite",e.NotFavorite="not-favorite"}(j||(j={})),function(e){e.Today="today",e.Yesterday="yesterday",e.PastWeek="past-week",e.PastMonth="past-month",e.Custom="custom"}(B||(B={})),function(e){e.Clips="clips",e.Snapshots="snapshots",e.Recordings="recordings"}(P||(P={}));class U{constructor(e){this._cameraOptions=[],this._whenOptions=[],this._metaDataWhenOptions=[],this._whatOptions=[],this._whereOptions=[],this._tagsOptions=[],this._defaults=null,this._viewManager=null,this._host=e,this._favoriteOptions=[{value:j.Favorite,label:i("media_filter.favorite")},{value:j.NotFavorite,label:i("media_filter.not_favorite")}],this._mediaTypeOptions=[{value:P.Clips,label:i("media_filter.media_types.clips")},{value:P.Snapshots,label:i("media_filter.media_types.snapshots")},{value:P.Recordings,label:i("media_filter.media_types.recordings")}],this._staticWhenOptions=[{value:B.Today,label:i("media_filter.whens.today")},{value:B.Yesterday,label:i("media_filter.whens.yesterday")},{value:B.PastWeek,label:i("media_filter.whens.past_week")},{value:B.PastMonth,label:i("media_filter.whens.past_month")},{value:B.Custom,label:i("media_filter.whens.custom")}],this._computeWhenOptions()}getMediaTypeOptions(){return this._mediaTypeOptions}getCameraOptions(){return this._cameraOptions}getWhenOptions(){return this._whenOptions}getWhatOptions(){return this._whatOptions}getWhereOptions(){return this._whereOptions}getTagsOptions(){return this._tagsOptions}getFavoriteOptions(){return this._favoriteOptions}getDefaults(){return this._defaults}setViewManager(e){this._viewManager=e}async valueChangeHandler(e,t,r,i){const s=e=>e&&Array.isArray(e)&&e.length&&!e.includes("")?new Set([...e]):null,l=s(r.camera)??this._getAllCameraIDs(e);if(!l.size||!r.mediaType)return;const c=this._getWhen(r.when),d=r.favorite?r.favorite===j.Favorite:null,h=t.performance?.features.media_chunk_size;if(r.mediaType===P.Clips||r.mediaType===P.Snapshots){const e=s(r.where),t=s(r.what),i=s(r.tags),a=new o([{type:n.Event,cameraIDs:l,...i&&{tags:i},...t&&{what:t},...e&&{where:e},...null!==d&&{favorite:d},...c&&{...c.start&&{start:c.start},...c.end&&{end:c.end}},...h&&{limit:h},...r.mediaType===P.Clips&&{hasClip:!0},...r.mediaType===P.Snapshots&&{hasSnapshot:!0}}]);this._viewManager?.setViewByParametersWithExistingQuery({params:{query:a,...1===l.size&&{camera:[...l][0]},view:r.mediaType===P.Clips?"clips":"snapshots"}})}else{const e=new a([{type:n.Recording,cameraIDs:l,...h&&{limit:h},...c&&{...c.start&&{start:c.start},...c.end&&{end:c.end}},...null!==d&&{favorite:d}}]);this._viewManager?.setViewByParametersWithExistingQuery({params:{query:e,...1===l.size&&{camera:[...l][0]},view:"recordings"}})}this._host.requestUpdate()}_getAllCameraIDs(e){return e.getStore().getCameraIDsWithCapability({anyCapabilities:["clips","snapshots","recordings"]})}computeInitialDefaultsFromView(e){const t=this._viewManager?.getView(),r=t?.query?.getQueries(),i=this._getAllCameraIDs(e);if(!t||!r||!i.size)return;let o,n,a,d,h,g;1!==s(r.map((e=>e.cameraIDs)),l).length||l(r[0].cameraIDs,i)||(n=[...r[0].cameraIDs]); -/* istanbul ignore else: the else path cannot be reached -- @preserve */ -if(1===s(r.map((e=>e.favorite)),l).length&&void 0!==r[0].favorite&&(h=r[0].favorite?j.Favorite:j.NotFavorite),c.areEventQueries(t.query)){const e=t.query.getQueries(); -/* istanbul ignore if: the if path cannot be reached -- @preserve */if(!e)return;const r=s(e.map((e=>e.hasClip)),l),i=s(e.map((e=>e.hasSnapshot)),l);1===r.length&&1===i.length&&(o=r[0]?P.Clips:i[0]?P.Snapshots:void 0);1===s(e.map((e=>e.what)),l).length&&e[0].what?.size&&(a=[...e[0].what]);1===s(e.map((e=>e.where)),l).length&&e[0].where?.size&&(d=[...e[0].where]);1===s(e.map((e=>e.tags)),l).length&&e[0].tags?.size&&(g=[...e[0].tags])}else c.areRecordingQueries(t.query)&&(o=P.Recordings);this._defaults={...o&&{mediaType:o},...n&&{cameraIDs:n},...a&&{what:a},...d&&{where:d},...void 0!==h&&{favorite:h},...g&&{tags:g}}}computeCameraOptions(e){this._cameraOptions=[...this._getAllCameraIDs(e)].map((t=>({value:t,label:e.getCameraMetadata(t)?.title??t})))}async computeMetadataOptions(e){let t=null;try{t=await e.getMediaMetadata()}catch(e){d(e)}if(t){if(t.what&&(this._whatOptions=[...t.what].sort().map((e=>({value:e,label:h(e)})))),t.where&&(this._whereOptions=[...t.where].sort().map((e=>({value:e,label:h(e)})))),t.tags&&(this._tagsOptions=[...t.tags].sort().map((e=>({value:e,label:h(e)})))),t.days){const e=new Set;[...t.days].forEach((t=>{e.add(t.substring(0,7))}));const r=[];e.forEach((e=>{r.push(W(e,"yyyy-MM",new Date))})),this._metaDataWhenOptions=g(r,(e=>e.getTime()),"desc").map((e=>({label:u(e,"MMMM yyyy"),value:this._dateRangeToString({start:e,end:N(e)})}))),this._computeWhenOptions()}this._host.requestUpdate()}}getControlsToShow(e){const t=this._viewManager?.getView(),r=c.areEventQueries(t?.query),i=c.areRecordingQueries(t?.query),o=e.getAggregateCameraCapabilities();return{events:r,recordings:i,favorites:r?o?.has("favorite-events"):!!i&&o?.has("favorite-recordings")}}_computeWhenOptions(){this._whenOptions=[...this._staticWhenOptions,...this._metaDataWhenOptions]}_dateRangeToString(e){return`${m(e.start)},${m(e.end)}`}_stringToDateRange(e){const t=e.split(",");return{start:W(t[0],"yyyy-MM-dd",new Date),end:I(W(t[1],"yyyy-MM-dd",new Date))}}_getWhen(e){if(e.from||e.to)return{...e.from&&{start:e.from},...e.to&&{end:e.to}};if(!e.selected||Array.isArray(e.selected))return null;const r=new Date;switch(e.selected){case B.Custom:return null;case B.Today:return{start:t(Date.now()),end:I(Date.now())};case B.Yesterday:return{start:V(),end:H()};case B.PastWeek:return{start:t(p(r,{days:7})),end:I(r)};case B.PastMonth:return{start:t(p(r,{months:1})),end:I(r)};default:return this._stringToDateRange(e.selected)}}}const K=!0,Y=!0,Q=!0,G=!1,X=!1;let Z,J,ee,te=!1,re=!1,ie=!1,oe=!1,ne=null,ae=!1;const se="http://www.w3.org/1999/xlink",le={},ce=e=>"object"===(e=typeof e)||"function"===e;const de=(e,t,...r)=>{let i=null,o=null,n=null,a=!1,s=!1;const l=[],c=t=>{for(let r=0;re[t])).join(" "))}}if("function"==typeof e)return e(null===t?{}:t,l,ue);const d=he(e,null);return d.$attrs$=t,l.length>0&&(d.$children$=l),d.$key$=o,d.$name$=n,d},he=(e,t)=>{const r={$flags$:0,$tag$:e,$text$:t,$elm$:null,$children$:null,$attrs$:null,$key$:null,$name$:null};return r},ge={},ue={forEach:(e,t)=>e.map(me).forEach(t),map:(e,t)=>e.map(me).map(t).map(pe)},me=e=>({vattrs:e.$attrs$,vchildren:e.$children$,vkey:e.$key$,vname:e.$name$,vtag:e.$tag$,vtext:e.$text$}),pe=e=>{if("function"==typeof e.vtag){const t=Object.assign({},e.vattrs);return e.vkey&&(t.key=e.vkey),e.vname&&(t.name=e.vname),de(e.vtag,t,...e.vchildren||[])}const t=he(e.vtag,e.vtext);return t.$attrs$=e.vattrs,t.$children$=e.vchildren,t.$key$=e.vkey,t.$name$=e.vname,t},fe=(e,t,r)=>{const i=e;return{emit:e=>ve(i,t,{bubbles:!!(4&r),composed:!!(2&r),cancelable:!!(1&r),detail:e})}},ve=(e,t,r)=>{const i=ht.ce(t,r);return e.dispatchEvent(i),i},be=new WeakMap,ye=e=>{const t=e.$cmpMeta$,r=e.$hostElement$,i=t.$flags$,o=(t.$tagName$,()=>{}),n=((e,t,r,i)=>{var o;let n=we(t,r);const a=at.get(n);if(e=11===e.nodeType?e:ct,a)if("string"==typeof a){e=e.head||e;let t,r=be.get(e);if(r||be.set(e,r=new Set),!r.has(n)){{t=ct.createElement("style"),t.innerHTML=a;const r=null!==(o=ht.$nonce$)&&void 0!==o?o:function(e){var t,r,i;return null!==(i=null===(r=null===(t=e.head)||void 0===t?void 0:t.querySelector('meta[name="csp-nonce"]'))||void 0===r?void 0:r.getAttribute("content"))&&void 0!==i?i:void 0}(ct);null!=r&&t.setAttribute("nonce",r),e.insertBefore(t,e.querySelector("link"))}r&&r.add(n)}}else e.adoptedStyleSheets.includes(a)||(e.adoptedStyleSheets=[...e.adoptedStyleSheets,a]);return n})(r.shadowRoot?r.shadowRoot:r.getRootNode(),t,e.$modeName$);10&i&&(r["s-sc"]=n,r.classList.add(n+"-h"),2&i&&r.classList.add(n+"-s")),o()},we=(e,t)=>"sc-"+(t&&32&e.$flags$?e.$tagName$+"-"+t:e.$tagName$),$e=(e,t,r,i,o,n)=>{if(r!==i){let a=ot(e,t),s=t.toLowerCase();if("class"===t){const t=e.classList,o=ke(r),n=ke(i);t.remove(...o.filter((e=>e&&!n.includes(e)))),t.add(...n.filter((e=>e&&!o.includes(e))))}else if("style"===t){for(const t in r)i&&null!=i[t]||(t.includes("-")?e.style.removeProperty(t):e.style[t]="");for(const t in i)r&&i[t]===r[t]||(t.includes("-")?e.style.setProperty(t,i[t]):e.style[t]=i[t])}else if("key"===t);else if("ref"===t)i&&i(e);else if(e.__lookupSetter__(t)||"o"!==t[0]||"n"!==t[1]){const l=ce(i);if((a||l&&null!==i)&&!o)try{if(e.tagName.includes("-"))e[t]=i;else{const o=null==i?"":i;"list"===t?a=!1:null!=r&&e[t]==o||(e[t]=o)}}catch(e){}let c=!1;s!==(s=s.replace(/^xlink\:?/,""))&&(t=s,c=!0),null==i||!1===i?!1===i&&""!==e.getAttribute(t)||(c?e.removeAttributeNS(se,t):e.removeAttribute(t)):(!a||4&n||o)&&!l&&(i=!0===i?"":i,c?e.setAttributeNS(se,t,i):e.setAttribute(t,i))}else t="-"===t[2]?t.slice(3):ot(lt,s)?s.slice(2):s[2]+t.slice(3),r&&ht.rel(e,t,r,!1),i&&ht.ael(e,t,i,!1)}},xe=/\s/,ke=e=>e?e.split(xe):[],_e=(e,t,r,i)=>{const o=11===t.$elm$.nodeType&&t.$elm$.host?t.$elm$.host:t.$elm$,n=e&&e.$attrs$||le,a=t.$attrs$||le;for(i in n)i in a||$e(o,i,n[i],void 0,r,t.$flags$);for(i in a)$e(o,i,n[i],a[i],r,t.$flags$)},Ce=(e,t,r,i)=>{const o=t.$children$[r];let n,a,s,l=0;if(te||(ie=!0,"slot"===o.$tag$&&(Z&&i.classList.add(Z+"-s"),o.$flags$|=o.$children$?2:1)),null!==o.$text$)n=o.$elm$=ct.createTextNode(o.$text$);else if(1&o.$flags$)n=o.$elm$=ct.createTextNode("");else{if(oe||(oe="svg"===o.$tag$),n=o.$elm$=ct.createElementNS(oe?"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",2&o.$flags$?"slot-fb":o.$tag$),oe&&"foreignObject"===o.$tag$&&(oe=!1),_e(null,o,oe),null!=Z&&n["s-si"]!==Z&&n.classList.add(n["s-si"]=Z),o.$children$)for(l=0;l{ht.$flags$|=1;const r=e.childNodes;for(let e=r.length-1;e>=0;e--){const i=r[e];i["s-hn"]!==ee&&i["s-ol"]&&(ze(i).insertBefore(i,Me(i)),i["s-ol"].remove(),i["s-ol"]=void 0,ie=!0),t&&Te(i,t)}ht.$flags$&=-2},Ee=(e,t,r,i,o,n)=>{let a,s=e["s-cr"]&&e["s-cr"].parentNode||e;for(s.shadowRoot&&s.tagName===ee&&(s=s.shadowRoot);o<=n;++o)i[o]&&(a=Ce(null,r,o,e),a&&(i[o].$elm$=a,s.insertBefore(a,Me(t))))},Oe=(e,t,r,i,o)=>{for(;t<=r;++t)(i=e[t])&&(o=i.$elm$,We(i),re=!0,o["s-ol"]?o["s-ol"].remove():Te(o,!0),o.remove())},Se=(e,t)=>e.$tag$===t.$tag$&&("slot"===e.$tag$?e.$name$===t.$name$:e.$key$===t.$key$),Me=e=>e&&e["s-ol"]||e,ze=e=>(e["s-ol"]?e["s-ol"]:e).parentNode,Le=(e,t)=>{const r=t.$elm$=e.$elm$,i=e.$children$,o=t.$children$,n=t.$tag$,a=t.$text$;let s;null===a?(oe="svg"===n||"foreignObject"!==n&&oe,"slot"===n||_e(e,t,oe),null!==i&&null!==o?((e,t,r,i)=>{let o,n,a=0,s=0,l=0,c=0,d=t.length-1,h=t[0],g=t[d],u=i.length-1,m=i[0],p=i[u];for(;a<=d&&s<=u;)if(null==h)h=t[++a];else if(null==g)g=t[--d];else if(null==m)m=i[++s];else if(null==p)p=i[--u];else if(Se(h,m))Le(h,m),h=t[++a],m=i[++s];else if(Se(g,p))Le(g,p),g=t[--d],p=i[--u];else if(Se(h,p))"slot"!==h.$tag$&&"slot"!==p.$tag$||Te(h.$elm$.parentNode,!1),Le(h,p),e.insertBefore(h.$elm$,g.$elm$.nextSibling),h=t[++a],p=i[--u];else if(Se(g,m))"slot"!==h.$tag$&&"slot"!==p.$tag$||Te(g.$elm$.parentNode,!1),Le(g,m),e.insertBefore(g.$elm$,h.$elm$),g=t[--d],m=i[++s];else{for(l=-1,c=a;c<=d;++c)if(t[c]&&null!==t[c].$key$&&t[c].$key$===m.$key$){l=c;break}l>=0?(n=t[l],n.$tag$!==m.$tag$?o=Ce(t&&t[s],r,l,e):(Le(n,m),t[l]=void 0,o=n.$elm$),m=i[++s]):(o=Ce(t&&t[s],r,s,e),m=i[++s]),o&&ze(h.$elm$).insertBefore(o,Me(h.$elm$))}a>d?Ee(e,null==i[u+1]?null:i[u+1].$elm$,r,i,s,u):s>u&&Oe(t,a,d)})(r,i,t,o):null!==o?(null!==e.$text$&&(r.textContent=""),Ee(r,null,t,o,0,o.length-1)):null!==i&&Oe(i,0,i.length-1),oe&&"svg"===n&&(oe=!1)):(s=r["s-cr"])?s.parentNode.textContent=a:e.$text$!==a&&(r.data=a)},De=e=>{const t=e.childNodes;let r,i,o,n,a,s;for(i=0,o=t.length;i{let t,r,i,o,n,a,s=0;const l=e.childNodes,c=l.length;for(;s=0;a--)r=i[a],r["s-cn"]||r["s-nr"]||r["s-hn"]===t["s-hn"]||(Ie(r,o)?(n=Ae.find((e=>e.$nodeToRelocate$===r)),re=!0,r["s-sn"]=r["s-sn"]||o,n?n.$slotRefNode$=t:Ae.push({$slotRefNode$:t,$nodeToRelocate$:r}),r["s-sr"]&&Ae.map((e=>{Ie(e.$nodeToRelocate$,r["s-sn"])&&(n=Ae.find((e=>e.$nodeToRelocate$===r)),n&&!e.$slotRefNode$&&(e.$slotRefNode$=n.$slotRefNode$))}))):Ae.some((e=>e.$nodeToRelocate$===r))||Ae.push({$nodeToRelocate$:r}));1===t.nodeType&&Fe(t)}},Ie=(e,t)=>1===e.nodeType?null===e.getAttribute("slot")&&""===t||e.getAttribute("slot")===t:e["s-sn"]===t||""===t,We=e=>{e.$attrs$&&e.$attrs$.ref&&e.$attrs$.ref(null),e.$children$&&e.$children$.map(We)},Re=(e,t)=>{const r=e.$hostElement$,i=e.$cmpMeta$,o=e.$vnode$||he(null,null),n=(a=t)&&a.$tag$===ge?t:de(null,null,t);var a;if(ee=r.tagName,i.$attrsToReflect$&&(n.$attrs$=n.$attrs$||{},i.$attrsToReflect$.map((([e,t])=>n.$attrs$[t]=r[e]))),n.$tag$=null,n.$flags$|=4,e.$vnode$=n,n.$elm$=o.$elm$=r.shadowRoot||r,Z=r["s-sc"],J=r["s-cr"],te=!!(1&i.$flags$),re=!1,Le(o,n),ht.$flags$|=1,ie){let e,t,r,i,o,a;Fe(n.$elm$);let s=0;for(;s{e.$flags$|=16,e.$ancestorComponent$;return $t((()=>He(e,t)))},He=(e,t)=>{const r=e.$hostElement$,i=(e.$cmpMeta$.$tagName$,()=>{}),o=r;let n;return n=Pe(o,t?"componentWillLoad":"componentWillUpdate"),n=qe(n,(()=>Pe(o,"componentWillRender"))),i(),qe(n,(()=>Ve(e,o,t)))},Ve=async(e,t,r)=>{const i=e.$hostElement$,o=(e.$cmpMeta$.$tagName$,()=>{});i["s-rc"],r&&ye(e);const n=(e.$cmpMeta$.$tagName$,()=>{});je(e,t,i),n(),o(),Be(e)},je=(e,t,r)=>{try{ne=t,t=t.render&&t.render(),e.$flags$&=-17,e.$flags$|=2,(K||Y)&&(Q||Y)&&(G||Re(e,t))}catch(t){nt(t,e.$hostElement$)}return ne=null,null},Be=e=>{e.$cmpMeta$.$tagName$;const t=()=>{},r=e.$hostElement$;e.$ancestorComponent$,Pe(r,"componentDidRender"),64&e.$flags$?(Pe(r,"componentDidUpdate"),t()):(e.$flags$|=64,Pe(r,"componentDidLoad"),t())},Pe=(e,t,r)=>{if(e&&e[t])try{return e[t](r)}catch(e){nt(e)}},qe=(e,t)=>e&&e.then?e.then(t):t(),Ue=(e,t,r,i)=>{const o=rt(e),n=e,a=o.$instanceValues$.get(t),s=o.$flags$,l=n;var c,d;c=r,d=i.$members$[t][0],r=null==c||ce(c)?c:4&d?"false"!==c&&(""===c||!!c):2&d?parseFloat(c):1&d?String(c):c;const h=Number.isNaN(a)&&Number.isNaN(r);if(r!==a&&!h){if(o.$instanceValues$.set(t,r),i.$watchers$&&128&s){const e=i.$watchers$[t];e&&e.map((e=>{try{l[e](r,a,t)}catch(e){nt(e,n)}}))}if(2==(18&s)){if(l.componentShouldUpdate&&!1===l.componentShouldUpdate(r,a,t))return;Ne(o,!1)}}},Ke=(e,t,r)=>{if(t.$members$){e.watchers&&(t.$watchers$=e.watchers);const r=Object.entries(t.$members$),i=e.prototype;r.map((([e,[r]])=>{(31&r||32&r)&&Object.defineProperty(i,e,{get(){return t=e,rt(this).$instanceValues$.get(t);var t},set(r){Ue(this,e,r,t)},configurable:!0,enumerable:!0})}));{const o=new Map;i.attributeChangedCallback=function(e,t,r){ht.jmp((()=>{const t=o.get(e);if(this.hasOwnProperty(t))r=this[t],delete this[t];else if(i.hasOwnProperty(t)&&"number"==typeof this[t]&&this[t]==r)return;this[t]=(null!==r||"boolean"!=typeof this[t])&&r}))},e.observedAttributes=r.filter((([e,t])=>15&t[0])).map((([e,r])=>{const i=r[1]||e;return o.set(i,e),512&r[0]&&t.$attrsToReflect$.push([e,i]),i}))}}return e},Ye=async(e,t,r,i,o)=>{if(!(32&t.$flags$)&&(o=e.constructor,t.$flags$|=32,customElements.whenDefined(r.$tagName$).then((()=>t.$flags$|=128)),o.style)){let i=o.style;"string"!=typeof i&&(i=i[t.$modeName$=(e=>st.map((t=>t(e))).find((e=>!!e)))(e)]);const n=we(r,t.$modeName$);if(!at.has(n)){const e=(r.$tagName$,()=>{});((e,t,r)=>{let i=at.get(e);mt&&r?(i=i||new CSSStyleSheet,"string"==typeof i?i=t:i.replaceSync(t)):i=t,at.set(e,i)})(n,i,!!(1&r.$flags$)),e()}}t.$ancestorComponent$;Ne(t,!0)},Qe=e=>{const t=e["s-cr"]=ct.createComment("");t["s-cn"]=!0,e.insertBefore(t,e.firstChild)},Ge=(e,t)=>{const r={$flags$:t[0],$tagName$:t[1]};r.$members$=t[2],r.$listeners$=t[3],r.$watchers$=e.$watchers$,r.$attrsToReflect$=[],!gt&&1&r.$flags$&&(r.$flags$|=8);const i=e.prototype.connectedCallback,o=e.prototype.disconnectedCallback;return Object.assign(e.prototype,{__registerHost(){it(this,r)},connectedCallback(){(e=>{if(!(1&ht.$flags$)){const t=rt(e),r=t.$cmpMeta$,i=(r.$tagName$,()=>{});1&t.$flags$?(Xe(e,t,r.$listeners$),t.$lazyInstance$):(t.$flags$|=1,12&r.$flags$&&Qe(e),r.$members$&&Object.entries(r.$members$).map((([t,[r]])=>{if(31&r&&e.hasOwnProperty(t)){const r=e[t];delete e[t],e[t]=r}})),Ye(e,t,r)),i()}})(this),i&&i.call(this)},disconnectedCallback(){(e=>{if(!(1&ht.$flags$)){const t=rt(e);t.$rmListeners$&&(t.$rmListeners$.map((e=>e())),t.$rmListeners$=void 0)}})(this),o&&o.call(this)},__attachShadow(){gt?this.attachShadow({mode:"open",delegatesFocus:!!(16&r.$flags$)}):this.shadowRoot=this}}),e.is=r.$tagName$,Ke(e,r)},Xe=(e,t,r,i)=>{r&&r.map((([r,i,o])=>{const n=Je(e,r),a=Ze(t,o),s=et(r);ht.ael(n,i,a,s),(t.$rmListeners$=t.$rmListeners$||[]).push((()=>ht.rel(n,i,a,s)))}))},Ze=(e,t)=>r=>{try{X||e.$hostElement$[t](r)}catch(e){nt(e)}},Je=(e,t)=>4&t?ct:8&t?lt:16&t?ct.body:e,et=e=>ut?{passive:!!(1&e),capture:!!(2&e)}:!!(2&e),tt=new WeakMap,rt=e=>tt.get(e),it=(e,t)=>{const r={$flags$:0,$hostElement$:e,$cmpMeta$:t,$instanceValues$:new Map};return Xe(e,r,t.$listeners$),tt.set(e,r)},ot=(e,t)=>t in e,nt=(e,t)=>(0,console.error)(e,t),at=new Map,st=[],lt="undefined"!=typeof window?window:{},ct=lt.document||{head:{}},dt=lt.HTMLElement||class{},ht={$flags$:0,$resourcesUrl$:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,r,i)=>e.addEventListener(t,r,i),rel:(e,t,r,i)=>e.removeEventListener(t,r,i),ce:(e,t)=>new CustomEvent(e,t)},gt=!0,ut=(()=>{let e=!1;try{ct.addEventListener("e",null,Object.defineProperty({},"passive",{get(){e=!0}}))}catch(e){}return e})(),mt=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(e){}return!1})(),pt=[],ft=[],vt=(e,t)=>r=>{e.push(r),ae||(ae=!0,t&&4&ht.$flags$?wt(yt):ht.raf(yt))},bt=e=>{for(let t=0;t{bt(pt),bt(ft),(ae=pt.length>0)&&ht.raf(yt)},wt=e=>{return Promise.resolve(t).then(e);var t},$t=vt(ft,!0),xt=(e,t)=>{const r=!!e.label||e.hasLabelSlot,i=!!e.helpText||e.hasHelpTextSlot,o=!!e.invalidText||e.hasInvalidTextSlot,n=!e.invalid,a=!!e.invalid;return de("div",{class:{"form-control":!0,[`form-control-${e.size}`]:!0,"form-control-has-label":r,"form-control-has-help-text":i,"form-control-has-invalid-text":o}},de("label",{id:e.labelId,class:"form-control-label",htmlFor:e.inputId,"aria-hidden":r?"false":"true",onClick:e.onLabelClick},de("slot",{name:"label"},e.label),e.requiredIndicator&&de("div",{class:"asterisk"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 1200 1200"},de("path",{fill:"currentColor",d:"M489.838 29.354v443.603L68.032 335.894 0 545.285l421.829 137.086-260.743 358.876 178.219 129.398L600.048 811.84l260.673 358.806 178.146-129.398-260.766-358.783L1200 545.379l-68.032-209.403-421.899 137.07V29.443H489.84l-.002-.089z"})))),de("div",{class:"form-control-input"},t),n&&de("div",{id:e.helpTextId,class:"form-control-help-text","aria-hidden":i?"false":"true"},de("slot",{name:"help-text"},e.helpText)),a&&de("div",{id:e.invalidTextId,class:"form-control-invalid-text","aria-hidden":o?"false":"true"},de("div",{class:"icon"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Alert Circle"),de("path",{d:"M256,48C141.31,48,48,141.31,48,256s93.31,208,208,208,208-93.31,208-208S370.69,48,256,48Zm0,319.91a20,20,0,1,1,20-20A20,20,0,0,1,256,367.91Zm21.72-201.15-5.74,122a16,16,0,0,1-32,0l-5.74-121.94v-.05a21.74,21.74,0,1,1,43.44,0Z",fill:"currentColor"}))),de("div",{class:"text"},de("slot",{name:"invalid-text"},e.invalidText))))}; -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -function kt(e){const t=e?e.assignedNodes({flatten:!0}):[];let r="";return[...t].map((e=>{e.nodeType===Node.TEXT_NODE&&(r+=e.textContent)})),r}function _t(e,t){return t?null!==e.querySelector(`[slot="${t}"]`):[...e.childNodes].some((e=>{if(e.nodeType===e.TEXT_NODE&&""!==e.textContent.trim())return!0;if(e.nodeType===e.ELEMENT_NODE){if(!e.hasAttribute("slot"))return!0}return!1}))} -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */const Ct=(e,t=[])=>{const r={};return t.forEach((t=>{if(e.hasAttribute(t)){null!==e.getAttribute(t)&&(r[t]=e.getAttribute(t)),e.removeAttribute(t)}})),r},Tt=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow()}render(){return de("span",{class:"spinner","aria-busy":"true","aria-live":"polite"})}static get style(){return":host{--track-color:var(--gr-color-light-shade);--indicator-color:var(--gr-color-primary);--stroke-width:2px;display:inline-flex;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}.spinner{display:inline-block;width:1em;height:1em;border-radius:50%;border:solid var(--stroke-width) var(--track-color);border-top-color:var(--indicator-color);border-right-color:var(--indicator-color);animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}"}},[1,"gr-spinner"]);function Et(){if("undefined"==typeof customElements)return;["gr-spinner"].forEach((e=>{if("gr-spinner"===e)customElements.get(e)||customElements.define(e,Tt)}))}Et(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const Ot=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grFocus=fe(this,"gr-focus",7),this.grBlur=fe(this,"gr-blur",7),this.inheritedAttributes={},this.handleClick=e=>{if("button"!==this.type){const t=this.el.closest("form");if(t){e.preventDefault();const r=document.createElement("button");r.type=this.type,r.style.display="none",t.appendChild(r),r.click(),r.remove()}}},this.onFocus=()=>{this.grFocus.emit()},this.onBlur=()=>{this.grBlur.emit()},this.variant="default",this.disabled=!1,this.loading=!1,this.size="medium",this.caret=!1,this.pill=!1,this.expand=void 0,this.circle=!1,this.href=void 0,this.target=void 0,this.rel=void 0,this.type="button"}componentWillLoad(){this.inheritedAttributes=Ct(this.el,["aria-label","tabindex","title"])}async setFocus(e){this.button.focus(e)}async removeFocus(){this.button.blur()}render(){const{rel:e,target:t,href:r,variant:i,size:o,expand:n,type:a,inheritedAttributes:s,disabled:l}=this,c=void 0===r?"button":"a",d="button"===c?{type:a}:{href:r,rel:e,target:t};return de(ge,{onClick:this.handleClick,"aria-disabled":l?"true":null,class:{[`button-${i}`]:!0,[`button-${o}`]:!0,[`button-${n}`]:void 0!==n,"button-caret":this.caret,"button-circle":this.circle,"button-pill":this.pill,"button-disabled":l,"button-loading":this.loading}},de(c,Object.assign({ref:e=>this.button=e},d,{class:"button-native",disabled:l,onFocus:this.onFocus,onBlur:this.onBlur},s),de("span",{class:"button-inner"},de("slot",{name:"icon-only"}),de("slot",{name:"start"}),de("slot",null),de("slot",{name:"end"}),this.caret&&de("span",{class:"caret"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Chevron Down"),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"48",d:"M112 184l144 144 144-144"})))),this.loading&&de("gr-spinner",null)))}get el(){return this}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{display:inline-block;width:auto;font-family:var(--gr-font-family);font-weight:var(--gr-font-weight-medium);font-size:var(--gr-form-element-font-size-medium);font-kerning:none;user-select:none;vertical-align:top;vertical-align:-webkit-baseline-middle;pointer-events:auto;--height:var(--gr-form-element-height-medium);--border-radius:var(--gr-form-element-border-radius-medium);--border-width:1px;--border-style:solid;--background:transparent;--background-hover:transparent;--background-focus:transparent;--color:var(--gr-color-dark-tint);--color-hover:var(--gr-color-dark-tint);--color-focus:var(--gr-color-dark-tint);--border-color:var(--gr-color-light-shade);--border-color-hover:var(--gr-color-medium);--border-color-focus:var(--gr-color-primary);--padding-top:0;--padding-start:var(--gr-spacing-medium);--padding-end:var(--gr-spacing-medium);--padding-bottom:0;--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33);--shadow:none;--transition:background-color 150ms linear, opacity 150ms linear, border 150ms linear, color 150ms linear}:host(.button-disabled){pointer-events:none;opacity:0.5}:host(.button-primary){--border-color:var(--gr-color-primary);--background:var(--gr-color-primary);--color:var(--gr-color-primary-contrast);--border-color-hover:var(--gr-color-primary-shade);--background-hover:var(--gr-color-primary-shade);--color-hover:var(--gr-color-primary-contrast);--border-color-focus:var(--gr-color-primary);--background-focus:var(--gr-color-primary-shade);--color-focus:var(--gr-color-primary-contrast);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33)}:host(.button-secondary){--border-color:var(--gr-color-light-shade);--background:transparent;--color:var(--gr-color-primary);--border-color-hover:var(--gr-color-primary);--background-hover:transparent;--color-hover:var(--gr-color-primary);--border-color-focus:var(--gr-color-primary);--background-focus:transparent;--color-focus:var(--gr-color-primary);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33)}:host(.button-danger){--border-color:var(--gr-color-danger);--background:transparent;--color:var(--gr-color-danger);--border-color-hover:var(--gr-color-danger);--background-hover:var(--gr-color-danger);--color-hover:var(--gr-color-danger-contrast);--border-color-focus:var(--gr-color-danger);--background-focus:var(--gr-color-danger);--color-focus:var(--gr-color-danger-contrast);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-danger-rgb), 0.33)}:host(.button-plain){--border-color:transparent;--background:transparent;--color:var(--gr-color-primary);--border-color-hover:transparent;--background-hover:transparent;--color-hover:var(--gr-color-primary-shade);--border-color-focus:transparent;--background-focus:transparent;--color-focus:var(--gr-color-primary-shade);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33)}:host(.button-small){--padding-start:var(--gr-spacing-small);--padding-end:var(--gr-spacing-small);--border-radius:var(--gr-form-element-border-radius-small);--height:var(--gr-form-element-height-small);font-size:var(--gr-form-element-font-size-small)}:host(.button-large){--padding-start:var(--gr-spacing-large);--padding-end:var(--gr-spacing-large);--border-radius:var(--gr-form-element-border-radius-large);--height:var(--gr-form-element-height-large);font-size:var(--gr-form-element-font-size-large)}:host(.button-block){display:block}:host(.button-block) .button-native{margin-left:0;margin-right:0;display:block;width:100%;clear:both;contain:content}:host(.button-block) .button-native::after{clear:both}:host(.button-full){display:block}:host(.button-full) .button-native{margin-left:0;margin-right:0;display:block;width:100%;contain:content;border-radius:0;border-right-width:0;border-left-width:0}.button-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;position:relative;padding-top:var(--padding-top);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-bottom:var(--padding-bottom);width:100%;height:var(--height);transition:var(--transition);border-radius:var(--border-radius);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);color:var(--color);box-shadow:var(--shadow);line-height:1;cursor:pointer;z-index:0;text-decoration:none;box-sizing:border-box}.button-native::-moz-focus-inner{border:0}.button-native:focus{outline:none;box-shadow:var(--focus-ring);border-color:var(--border-color-focus);background-color:var(--background-focus);color:var(--color-focus)}.button-native *,.button-native *:before,.button-native *:after{box-sizing:inherit}.button-inner{display:flex;position:relative;flex-flow:row nowrap;flex-shrink:0;align-items:center;justify-content:center;width:100%;height:100%;z-index:1}:host(.button-circle) .button-native{padding-top:0;padding-bottom:0;padding-left:0;padding-right:0;border-radius:50%;width:var(--height)}@media (any-hover: hover){.button-native:hover{color:var(--color-hover);background:var(--background-hover);border-color:var(--border-color-hover)}}:host(.button-caret) .caret{display:flex;align-items:center;margin-left:0.3em}:host(.button-caret) .caret svg{width:1em;height:1em}:host(.button-pill) .button-native{border-radius:var(--height)}::slotted(*){pointer-events:none}::slotted([slot=start]){margin-top:0;margin-left:-0.3em;margin-right:0.3em;margin-bottom:0}::slotted([slot=end]){margin-top:0;margin-left:0.3em;margin-right:-0.2em;margin-bottom:0}::slotted([slot=icon-only]){font-size:1.4em;pointer-events:none}:host(.button-loading){position:relative;pointer-events:none}:host(.button-loading) .caret{visibility:hidden}:host(.button-loading) slot[name=start],:host(.button-loading) slot[name=end],:host(.button-loading) slot[name=icon-only],:host(.button-loading) slot:not([name]){visibility:hidden}:host(.button-loading) gr-spinner{--indicator-color:currentColor;position:absolute;height:1em;width:1em;top:calc(50% - 0.5em);left:calc(50% - 0.5em)}@media not all and (min-resolution: 0.001dpcm){@supports (-webkit-appearance: none) and (stroke-color: transparent){:host([type=button]),:host([type=reset]),:host([type=submit]){-webkit-appearance:none !important}}}"}},[1,"gr-button",{variant:[513],disabled:[516],loading:[516],size:[513],caret:[4],pill:[516],expand:[513],circle:[516],href:[1],target:[1],rel:[1],type:[1],setFocus:[64],removeFocus:[64]}]);function St(){if("undefined"==typeof customElements)return;["gr-button","gr-spinner"].forEach((e=>{switch(e){case"gr-button":customElements.get(e)||customElements.define(e,Ot);break;case"gr-spinner":customElements.get(e)||Et()}}))}function Mt(e,t,r="vertical",i="smooth"){const o= -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -function(e,t){return{top:Math.round(e.getBoundingClientRect().top-t.getBoundingClientRect().top),left:Math.round(e.getBoundingClientRect().left-t.getBoundingClientRect().left)}}(e,t),n=o.top+t.scrollTop,a=o.left+t.scrollLeft,s=t.scrollLeft,l=t.scrollLeft+t.offsetWidth,c=t.scrollTop,d=t.scrollTop+t.offsetHeight;"horizontal"!==r&&"both"!==r||(al&&t.scrollTo({left:a-t.offsetWidth+e.clientWidth,behavior:i})),"vertical"!==r&&"both"!==r||(nd&&t.scrollTo({top:n-t.offsetHeight+e.clientHeight,behavior:i}))} -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */function zt(e){return e.tabIndex>-1}function Lt(e){if(zt(e))return e;if(e.shadowRoot){const t=[...e.shadowRoot.children].find(zt);if(t)return t}return e.children?[...e.children].map(Lt)[0]:null}St();var Dt="top",At="bottom",Ft="right",It="left",Wt="auto",Rt=[Dt,At,Ft,It],Nt="start",Ht="end",Vt="clippingParents",jt="viewport",Bt="popper",Pt="reference",qt=Rt.reduce((function(e,t){return e.concat([t+"-"+Nt,t+"-"+Ht])}),[]),Ut=[].concat(Rt,[Wt]).reduce((function(e,t){return e.concat([t,t+"-"+Nt,t+"-"+Ht])}),[]),Kt=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Yt(e){return e?(e.nodeName||"").toLowerCase():null}function Qt(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Gt(e){return e instanceof Qt(e).Element||e instanceof Element}function Xt(e){return e instanceof Qt(e).HTMLElement||e instanceof HTMLElement}function Zt(e){return"undefined"!=typeof ShadowRoot&&(e instanceof Qt(e).ShadowRoot||e instanceof ShadowRoot)}const Jt={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var r=t.styles[e]||{},i=t.attributes[e]||{},o=t.elements[e];Xt(o)&&Yt(o)&&(Object.assign(o.style,r),Object.keys(i).forEach((function(e){var t=i[e];!1===t?o.removeAttribute(e):o.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,r={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,r.popper),t.styles=r,t.elements.arrow&&Object.assign(t.elements.arrow.style,r.arrow),function(){Object.keys(t.elements).forEach((function(e){var i=t.elements[e],o=t.attributes[e]||{},n=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:r[e]).reduce((function(e,t){return e[t]="",e}),{});Xt(i)&&Yt(i)&&(Object.assign(i.style,n),Object.keys(o).forEach((function(e){i.removeAttribute(e)})))}))}},requires:["computeStyles"]};function er(e){return e.split("-")[0]}var tr=Math.max,rr=Math.min,ir=Math.round;function or(e,t){void 0===t&&(t=!1);var r=e.getBoundingClientRect(),i=1,o=1;if(Xt(e)&&t){var n=e.offsetHeight,a=e.offsetWidth;a>0&&(i=ir(r.width)/a||1),n>0&&(o=ir(r.height)/n||1)}return{width:r.width/i,height:r.height/o,top:r.top/o,right:r.right/i,bottom:r.bottom/o,left:r.left/i,x:r.left/i,y:r.top/o}}function nr(e){var t=or(e),r=e.offsetWidth,i=e.offsetHeight;return Math.abs(t.width-r)<=1&&(r=t.width),Math.abs(t.height-i)<=1&&(i=t.height),{x:e.offsetLeft,y:e.offsetTop,width:r,height:i}}function ar(e,t){var r=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(r&&Zt(r)){var i=t;do{if(i&&e.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function sr(e){return Qt(e).getComputedStyle(e)}function lr(e){return["table","td","th"].indexOf(Yt(e))>=0}function cr(e){return((Gt(e)?e.ownerDocument:e.document)||window.document).documentElement}function dr(e){return"html"===Yt(e)?e:e.assignedSlot||e.parentNode||(Zt(e)?e.host:null)||cr(e)}function hr(e){return Xt(e)&&"fixed"!==sr(e).position?e.offsetParent:null}function gr(e){for(var t=Qt(e),r=hr(e);r&&lr(r)&&"static"===sr(r).position;)r=hr(r);return r&&("html"===Yt(r)||"body"===Yt(r)&&"static"===sr(r).position)?t:r||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&Xt(e)&&"fixed"===sr(e).position)return null;var r=dr(e);for(Zt(r)&&(r=r.host);Xt(r)&&["html","body"].indexOf(Yt(r))<0;){var i=sr(r);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||t&&"filter"===i.willChange||t&&i.filter&&"none"!==i.filter)return r;r=r.parentNode}return null}(e)||t}function ur(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function mr(e,t,r){return tr(e,rr(t,r))}function pr(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function fr(e,t){return t.reduce((function(t,r){return t[r]=e,t}),{})}const vr={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,r=e.state,i=e.name,o=e.options,n=r.elements.arrow,a=r.modifiersData.popperOffsets,s=er(r.placement),l=ur(s),c=[It,Ft].indexOf(s)>=0?"height":"width";if(n&&a){var d=function(e,t){return pr("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:fr(e,Rt))}(o.padding,r),h=nr(n),g="y"===l?Dt:It,u="y"===l?At:Ft,m=r.rects.reference[c]+r.rects.reference[l]-a[l]-r.rects.popper[c],p=a[l]-r.rects.reference[l],f=gr(n),v=f?"y"===l?f.clientHeight||0:f.clientWidth||0:0,b=m/2-p/2,y=d[g],w=v-h[c]-d[u],$=v/2-h[c]/2+b,x=mr(y,$,w),k=l;r.modifiersData[i]=((t={})[k]=x,t.centerOffset=x-$,t)}},effect:function(e){var t=e.state,r=e.options.element,i=void 0===r?"[data-popper-arrow]":r;null!=i&&("string"!=typeof i||(i=t.elements.popper.querySelector(i)))&&ar(t.elements.popper,i)&&(t.elements.arrow=i)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function br(e){return e.split("-")[1]}var yr={top:"auto",right:"auto",bottom:"auto",left:"auto"};function wr(e){var t,r=e.popper,i=e.popperRect,o=e.placement,n=e.variation,a=e.offsets,s=e.position,l=e.gpuAcceleration,c=e.adaptive,d=e.roundOffsets,h=e.isFixed,g=a.x,u=void 0===g?0:g,m=a.y,p=void 0===m?0:m,f="function"==typeof d?d({x:u,y:p}):{x:u,y:p};u=f.x,p=f.y;var v=a.hasOwnProperty("x"),b=a.hasOwnProperty("y"),y=It,w=Dt,$=window;if(c){var x=gr(r),k="clientHeight",_="clientWidth";if(x===Qt(r)&&"static"!==sr(x=cr(r)).position&&"absolute"===s&&(k="scrollHeight",_="scrollWidth"),o===Dt||(o===It||o===Ft)&&n===Ht)w=At,p-=(h&&x===$&&$.visualViewport?$.visualViewport.height:x[k])-i.height,p*=l?1:-1;if(o===It||(o===Dt||o===At)&&n===Ht)y=Ft,u-=(h&&x===$&&$.visualViewport?$.visualViewport.width:x[_])-i.width,u*=l?1:-1}var C,T=Object.assign({position:s},c&&yr),E=!0===d?function(e){var t=e.x,r=e.y,i=window.devicePixelRatio||1;return{x:ir(t*i)/i||0,y:ir(r*i)/i||0}}({x:u,y:p}):{x:u,y:p};return u=E.x,p=E.y,l?Object.assign({},T,((C={})[w]=b?"0":"",C[y]=v?"0":"",C.transform=($.devicePixelRatio||1)<=1?"translate("+u+"px, "+p+"px)":"translate3d("+u+"px, "+p+"px, 0)",C)):Object.assign({},T,((t={})[w]=b?p+"px":"",t[y]=v?u+"px":"",t.transform="",t))}var $r={passive:!0};var xr={left:"right",right:"left",bottom:"top",top:"bottom"};function kr(e){return e.replace(/left|right|bottom|top/g,(function(e){return xr[e]}))}var _r={start:"end",end:"start"};function Cr(e){return e.replace(/start|end/g,(function(e){return _r[e]}))}function Tr(e){var t=Qt(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Er(e){return or(cr(e)).left+Tr(e).scrollLeft}function Or(e){var t=sr(e),r=t.overflow,i=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(r+o+i)}function Sr(e){return["html","body","#document"].indexOf(Yt(e))>=0?e.ownerDocument.body:Xt(e)&&Or(e)?e:Sr(dr(e))}function Mr(e,t){var r;void 0===t&&(t=[]);var i=Sr(e),o=i===(null==(r=e.ownerDocument)?void 0:r.body),n=Qt(i),a=o?[n].concat(n.visualViewport||[],Or(i)?i:[]):i,s=t.concat(a);return o?s:s.concat(Mr(dr(a)))}function zr(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Lr(e,t){return t===jt?zr(function(e){var t=Qt(e),r=cr(e),i=t.visualViewport,o=r.clientWidth,n=r.clientHeight,a=0,s=0;return i&&(o=i.width,n=i.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(a=i.offsetLeft,s=i.offsetTop)),{width:o,height:n,x:a+Er(e),y:s}}(e)):Gt(t)?function(e){var t=or(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(t):zr(function(e){var t,r=cr(e),i=Tr(e),o=null==(t=e.ownerDocument)?void 0:t.body,n=tr(r.scrollWidth,r.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=tr(r.scrollHeight,r.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),s=-i.scrollLeft+Er(e),l=-i.scrollTop;return"rtl"===sr(o||r).direction&&(s+=tr(r.clientWidth,o?o.clientWidth:0)-n),{width:n,height:a,x:s,y:l}}(cr(e)))}function Dr(e,t,r){var i="clippingParents"===t?function(e){var t=Mr(dr(e)),r=["absolute","fixed"].indexOf(sr(e).position)>=0&&Xt(e)?gr(e):e;return Gt(r)?t.filter((function(e){return Gt(e)&&ar(e,r)&&"body"!==Yt(e)})):[]}(e):[].concat(t),o=[].concat(i,[r]),n=o[0],a=o.reduce((function(t,r){var i=Lr(e,r);return t.top=tr(i.top,t.top),t.right=rr(i.right,t.right),t.bottom=rr(i.bottom,t.bottom),t.left=tr(i.left,t.left),t}),Lr(e,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function Ar(e){var t,r=e.reference,i=e.element,o=e.placement,n=o?er(o):null,a=o?br(o):null,s=r.x+r.width/2-i.width/2,l=r.y+r.height/2-i.height/2;switch(n){case Dt:t={x:s,y:r.y-i.height};break;case At:t={x:s,y:r.y+r.height};break;case Ft:t={x:r.x+r.width,y:l};break;case It:t={x:r.x-i.width,y:l};break;default:t={x:r.x,y:r.y}}var c=n?ur(n):null;if(null!=c){var d="y"===c?"height":"width";switch(a){case Nt:t[c]=t[c]-(r[d]/2-i[d]/2);break;case Ht:t[c]=t[c]+(r[d]/2-i[d]/2)}}return t}function Fr(e,t){void 0===t&&(t={});var r=t,i=r.placement,o=void 0===i?e.placement:i,n=r.boundary,a=void 0===n?Vt:n,s=r.rootBoundary,l=void 0===s?jt:s,c=r.elementContext,d=void 0===c?Bt:c,h=r.altBoundary,g=void 0!==h&&h,u=r.padding,m=void 0===u?0:u,p=pr("number"!=typeof m?m:fr(m,Rt)),f=d===Bt?Pt:Bt,v=e.rects.popper,b=e.elements[g?f:d],y=Dr(Gt(b)?b:b.contextElement||cr(e.elements.popper),a,l),w=or(e.elements.reference),$=Ar({reference:w,element:v,strategy:"absolute",placement:o}),x=zr(Object.assign({},v,$)),k=d===Bt?x:w,_={top:y.top-k.top+p.top,bottom:k.bottom-y.bottom+p.bottom,left:y.left-k.left+p.left,right:k.right-y.right+p.right},C=e.modifiersData.offset;if(d===Bt&&C){var T=C[o];Object.keys(_).forEach((function(e){var t=[Ft,At].indexOf(e)>=0?1:-1,r=[Dt,At].indexOf(e)>=0?"y":"x";_[e]+=T[r]*t}))}return _}function Ir(e,t){void 0===t&&(t={});var r=t,i=r.placement,o=r.boundary,n=r.rootBoundary,a=r.padding,s=r.flipVariations,l=r.allowedAutoPlacements,c=void 0===l?Ut:l,d=br(i),h=d?s?qt:qt.filter((function(e){return br(e)===d})):Rt,g=h.filter((function(e){return c.indexOf(e)>=0}));0===g.length&&(g=h);var u=g.reduce((function(t,r){return t[r]=Fr(e,{placement:r,boundary:o,rootBoundary:n,padding:a})[er(r)],t}),{});return Object.keys(u).sort((function(e,t){return u[e]-u[t]}))}const Wr={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,r=e.options,i=e.name;if(!t.modifiersData[i]._skip){for(var o=r.mainAxis,n=void 0===o||o,a=r.altAxis,s=void 0===a||a,l=r.fallbackPlacements,c=r.padding,d=r.boundary,h=r.rootBoundary,g=r.altBoundary,u=r.flipVariations,m=void 0===u||u,p=r.allowedAutoPlacements,f=t.options.placement,v=er(f),b=l||(v===f||!m?[kr(f)]:function(e){if(er(e)===Wt)return[];var t=kr(e);return[Cr(e),t,Cr(t)]}(f)),y=[f].concat(b).reduce((function(e,r){return e.concat(er(r)===Wt?Ir(t,{placement:r,boundary:d,rootBoundary:h,padding:c,flipVariations:m,allowedAutoPlacements:p}):r)}),[]),w=t.rects.reference,$=t.rects.popper,x=new Map,k=!0,_=y[0],C=0;C=0,M=S?"width":"height",z=Fr(t,{placement:T,boundary:d,rootBoundary:h,altBoundary:g,padding:c}),L=S?O?Ft:It:O?At:Dt;w[M]>$[M]&&(L=kr(L));var D=kr(L),A=[];if(n&&A.push(z[E]<=0),s&&A.push(z[L]<=0,z[D]<=0),A.every((function(e){return e}))){_=T,k=!1;break}x.set(T,A)}if(k)for(var F=function(e){var t=y.find((function(t){var r=x.get(t);if(r)return r.slice(0,e).every((function(e){return e}))}));if(t)return _=t,"break"},I=m?3:1;I>0;I--){if("break"===F(I))break}t.placement!==_&&(t.modifiersData[i]._skip=!0,t.placement=_,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Rr(e,t,r){return void 0===r&&(r={x:0,y:0}),{top:e.top-t.height-r.y,right:e.right-t.width+r.x,bottom:e.bottom-t.height+r.y,left:e.left-t.width-r.x}}function Nr(e){return[Dt,Ft,At,It].some((function(t){return e[t]>=0}))}const Hr={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,r=e.options,i=e.name,o=r.offset,n=void 0===o?[0,0]:o,a=Ut.reduce((function(e,r){return e[r]=function(e,t,r){var i=er(e),o=[It,Dt].indexOf(i)>=0?-1:1,n="function"==typeof r?r(Object.assign({},t,{placement:e})):r,a=n[0],s=n[1];return a=a||0,s=(s||0)*o,[It,Ft].indexOf(i)>=0?{x:s,y:a}:{x:a,y:s}}(r,t.rects,n),e}),{}),s=a[t.placement],l=s.x,c=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[i]=a}};const Vr={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,r=e.options,i=e.name,o=r.mainAxis,n=void 0===o||o,a=r.altAxis,s=void 0!==a&&a,l=r.boundary,c=r.rootBoundary,d=r.altBoundary,h=r.padding,g=r.tether,u=void 0===g||g,m=r.tetherOffset,p=void 0===m?0:m,f=Fr(t,{boundary:l,rootBoundary:c,padding:h,altBoundary:d}),v=er(t.placement),b=br(t.placement),y=!b,w=ur(v),$="x"===w?"y":"x",x=t.modifiersData.popperOffsets,k=t.rects.reference,_=t.rects.popper,C="function"==typeof p?p(Object.assign({},t.rects,{placement:t.placement})):p,T="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),E=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,O={x:0,y:0};if(x){if(n){var S,M="y"===w?Dt:It,z="y"===w?At:Ft,L="y"===w?"height":"width",D=x[w],A=D+f[M],F=D-f[z],I=u?-_[L]/2:0,W=b===Nt?k[L]:_[L],R=b===Nt?-_[L]:-k[L],N=t.elements.arrow,H=u&&N?nr(N):{width:0,height:0},V=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},j=V[M],B=V[z],P=mr(0,k[L],H[L]),q=y?k[L]/2-I-P-j-T.mainAxis:W-P-j-T.mainAxis,U=y?-k[L]/2+I+P+B+T.mainAxis:R+P+B+T.mainAxis,K=t.elements.arrow&&gr(t.elements.arrow),Y=K?"y"===w?K.clientTop||0:K.clientLeft||0:0,Q=null!=(S=null==E?void 0:E[w])?S:0,G=D+U-Q,X=mr(u?rr(A,D+q-Q-Y):A,D,u?tr(F,G):F);x[w]=X,O[w]=X-D}if(s){var Z,J="x"===w?Dt:It,ee="x"===w?At:Ft,te=x[$],re="y"===$?"height":"width",ie=te+f[J],oe=te-f[ee],ne=-1!==[Dt,It].indexOf(v),ae=null!=(Z=null==E?void 0:E[$])?Z:0,se=ne?ie:te-k[re]-_[re]-ae+T.altAxis,le=ne?te+k[re]+_[re]-ae-T.altAxis:oe,ce=u&&ne?function(e,t,r){var i=mr(e,t,r);return i>r?r:i}(se,te,le):mr(u?se:ie,te,u?le:oe);x[$]=ce,O[$]=ce-te}t.modifiersData[i]=O}},requiresIfExists:["offset"]};function jr(e,t,r){void 0===r&&(r=!1);var i,o,n=Xt(t),a=Xt(t)&&function(e){var t=e.getBoundingClientRect(),r=ir(t.width)/e.offsetWidth||1,i=ir(t.height)/e.offsetHeight||1;return 1!==r||1!==i}(t),s=cr(t),l=or(e,a),c={scrollLeft:0,scrollTop:0},d={x:0,y:0};return(n||!n&&!r)&&(("body"!==Yt(t)||Or(s))&&(c=(i=t)!==Qt(i)&&Xt(i)?{scrollLeft:(o=i).scrollLeft,scrollTop:o.scrollTop}:Tr(i)),Xt(t)?((d=or(t,!0)).x+=t.clientLeft,d.y+=t.clientTop):s&&(d.x=Er(s))),{x:l.left+c.scrollLeft-d.x,y:l.top+c.scrollTop-d.y,width:l.width,height:l.height}}function Br(e){var t=new Map,r=new Set,i=[];function o(e){r.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!r.has(e)){var i=t.get(e);i&&o(i)}})),i.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){r.has(e.name)||o(e)})),i}var Pr={placement:"bottom",modifiers:[],strategy:"absolute"};function qr(){for(var e=arguments.length,t=new Array(e),r=0;r{},onAfterHide:()=>{},onTransitionEnd:()=>{}},r),this.isVisible=!1,this.popover.hidden=!0,this.popover.classList.remove(this.options.visibleClass),this.popover.addEventListener("transitionend",this.handleTransitionEnd)}handleTransitionEnd(e){e.target===this.options.transitionElement&&(this.options.onTransitionEnd.call(this,e),this.isVisible||this.popover.hidden||(this.popover.hidden=!0,this.popover.classList.remove(this.options.visibleClass),this.options.onAfterHide.call(this)))}destroy(){this.popover.removeEventListener("transitionend",this.handleTransitionEnd),this.popper&&(this.popper.destroy(),this.popper=null)}show(){this.isVisible=!0,this.popover.hidden=!1,requestAnimationFrame((()=>this.popover.classList.add(this.options.visibleClass))),this.popper&&this.popper.destroy(),this.popper=Kr(this.anchor,this.popover,{placement:this.options.placement,strategy:this.options.strategy,modifiers:[{name:"flip",options:{boundary:"viewport"}},{name:"offset",options:{offset:[this.options.skidding,this.options.distance]}}]}),this.popover.addEventListener("transitionend",(()=>this.options.onAfterShow.call(this)),{once:!0}),requestAnimationFrame((()=>this.popper.update()))}hide(){this.isVisible=!1,this.popover.classList.remove(this.options.visibleClass)}setOptions(e){this.options=Object.assign(this.options,e),this.isVisible?this.popover.classList.add(this.options.visibleClass):this.popover.classList.remove(this.options.visibleClass),this.popper&&(this.popper.setOptions({placement:this.options.placement,strategy:this.options.strategy}),requestAnimationFrame((()=>this.popper.update())))}}let Qr=0;const Gr=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grShow=fe(this,"gr-show",7),this.grAfterShow=fe(this,"gr-after-show",7),this.grHide=fe(this,"gr-hide",7),this.grAfterHide=fe(this,"gr-after-hide",7),this.componentId="dropdown-"+ ++Qr,this.isVisible=!1,this.open=!1,this.placement="bottom-start",this.closeOnSelect=!0,this.containingElement=void 0,this.distance=2,this.skidding=0,this.hoist=!1}handleOpenChange(){this.open?this.show():this.hide(),this.updateAccessibleTrigger()}handlePopoverOptionsChange(){this.popoverElement.setOptions({strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding})}connectedCallback(){this.containingElement||(this.containingElement=this.el),this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this),this.handleMenuItemActivate=this.handleMenuItemActivate.bind(this),this.handlePanelSelect=this.handlePanelSelect.bind(this),this.handleTriggerClick=this.handleTriggerClick.bind(this),this.handleTriggerKeyDown=this.handleTriggerKeyDown.bind(this),this.handleTriggerKeyUp=this.handleTriggerKeyUp.bind(this),this.handleTriggerSlotChange=this.handleTriggerSlotChange.bind(this)}componentDidLoad(){this.popoverElement=new Yr(this.trigger,this.positioner,{strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding,transitionElement:this.panel,onAfterHide:()=>this.grAfterHide.emit(),onAfterShow:()=>this.grAfterShow.emit(),onTransitionEnd:()=>{this.open||(this.panel.scrollTop=0)}}),this.open&&this.show()}disconnectedCallback(){this.hide(),this.popoverElement.destroy()}async show(){if(this.isVisible)return;this.grShow.emit().defaultPrevented?this.open=!1:(this.panel.addEventListener("gr-activate",this.handleMenuItemActivate),this.panel.addEventListener("gr-select",this.handlePanelSelect),document.addEventListener("keydown",this.handleDocumentKeyDown),document.addEventListener("mousedown",this.handleDocumentMouseDown),this.isVisible=!0,this.open=!0,this.popoverElement.show())}async hide(){if(!this.isVisible)return;this.grHide.emit().defaultPrevented?this.open=!0:(this.panel.removeEventListener("gr-activate",this.handleMenuItemActivate),this.panel.removeEventListener("gr-select",this.handlePanelSelect),document.addEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("mousedown",this.handleDocumentMouseDown),this.isVisible=!1,this.open=!1,this.popoverElement.hide())}async focusOnTrigger(){const e=this.trigger.querySelector("slot").assignedElements({flatten:!0})[0];e&&("function"==typeof e.setFocus?e.setFocus():"function"==typeof e.focus&&e.focus())}getMenu(){return this.panel.querySelector("slot").assignedElements({flatten:!0}).filter((e=>"gr-menu"===e.tagName.toLowerCase()))[0]}handleDocumentKeyDown(e){var t;if("Escape"===e.key)return this.hide(),void this.focusOnTrigger();if("Tab"===e.key){if(this.open&&"gr-menu-item"===(null===(t=document.activeElement)||void 0===t?void 0:t.tagName.toLowerCase()))return e.preventDefault(),this.hide(),void this.focusOnTrigger();setTimeout((()=>{var e;const t=this.containingElement.getRootNode()instanceof ShadowRoot?null===(e=document.activeElement.shadowRoot)||void 0===e?void 0:e.activeElement:document.activeElement;(null==t?void 0:t.closest(this.containingElement.tagName.toLowerCase()))===this.containingElement||this.hide()}))}}handleDocumentMouseDown(e){e.composedPath().includes(this.containingElement)||this.hide()}handleMenuItemActivate(e){Mt(e.target,this.panel)}handlePanelSelect(e){const t=e.target;this.closeOnSelect&&"gr-menu"===t.tagName.toLowerCase()&&(this.hide(),this.focusOnTrigger())}handleTriggerClick(){this.open?this.hide():this.show()}handleTriggerKeyDown(e){const t=this.getMenu(),r=t?[...t.querySelectorAll("gr-menu-item")]:null,i=r[0],o=r[r.length-1];if("Escape"===e.key)return this.focusOnTrigger(),void this.hide();if([" ","Enter"].includes(e.key))return e.preventDefault(),void(this.open?this.hide():this.show());if(["ArrowDown","ArrowUp"].includes(e.key)){if(e.preventDefault(),this.open||this.show(),"ArrowDown"===e.key&&i)return void i.setFocus();if("ArrowUp"===e.key&&o)return void o.setFocus()}this.open&&t&&!["Tab","Shift","Meta","Ctrl","Alt"].includes(e.key)&&t.typeToSelect(e.key)}handleTriggerKeyUp(e){" "===e.key&&e.preventDefault()}handleTriggerSlotChange(){this.updateAccessibleTrigger()}updateAccessibleTrigger(){const e=this.trigger.querySelector("slot").assignedElements({flatten:!0}).map(Lt)[0];e&&(e.setAttribute("aria-haspopup","true"),e.setAttribute("aria-expanded",this.open?"true":"false"))}render(){return de(ge,{id:this.componentId,class:{"dropdown-open":this.open}},de("span",{class:"dropdown-trigger",ref:e=>this.trigger=e,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown,onKeyUp:this.handleTriggerKeyUp},de("slot",{name:"trigger",onSlotchange:this.handleTriggerSlotChange})),de("div",{ref:e=>this.positioner=e,class:"dropdown-positioner"},de("div",{ref:e=>this.panel=e,class:"dropdown-panel",role:"menu","aria-hidden":this.open?"false":"true","aria-labelledby":this.componentId},de("slot",null))))}get el(){return this}static get watchers(){return{open:["handleOpenChange"],distance:["handlePopoverOptionsChange"],hoist:["handlePopoverOptionsChange"],placement:["handlePopoverOptionsChange"],skidding:["handlePopoverOptionsChange"]}}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{--panel-background-color:var(--gr-color-white);--panel-border-radius:var(--gr-border-radius-medium);--panel-border-color:var(--gr-panel-border-color);--panel-box-shadow:var(--gr-shadow-large);--transition:150ms opacity, 150ms transform;display:inline-block;position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}.dropdown-trigger{display:block}.dropdown-positioner{position:absolute;z-index:var(--gr-z-index-dropdown)}.dropdown-panel{max-height:50vh;font-family:var(--gr-font-family);font-size:var(--gr-font-size-medium);font-weight:var(--gr-font-weight-normal);background-color:var(--panel-background-color);border:solid 1px var(--panel-border-color);border-radius:var(--panel-border-radius);box-shadow:var(--panel-box-shadow);opacity:0;overflow:auto;overscroll-behavior:none;pointer-events:none;transform:scale(0.9);transition:var(--transition)}.dropdown-positioner[data-popper-placement^=top] .dropdown-panel{transform-origin:bottom}.dropdown-positioner[data-popper-placement^=bottom] .dropdown-panel{transform-origin:top}.dropdown-positioner[data-popper-placement^=left] .dropdown-panel{transform-origin:right}.dropdown-positioner[data-popper-placement^=right] .dropdown-panel{transform-origin:left}.dropdown-positioner.popover-visible .dropdown-panel{opacity:1;transform:none;pointer-events:all}"}},[1,"gr-dropdown",{open:[1540],placement:[1],closeOnSelect:[4,"close-on-select"],containingElement:[1040],distance:[2],skidding:[2],hoist:[4],show:[64],hide:[64],focusOnTrigger:[64]}]);function Xr(){if("undefined"==typeof customElements)return;["gr-dropdown"].forEach((e=>{if("gr-dropdown"===e)customElements.get(e)||customElements.define(e,Gr)}))}Xr(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const Zr=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grSelect=fe(this,"gr-select",7),this.typeToSelectString=""}connectedCallback(){this.handleClick=this.handleClick.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this)}async typeToSelect(e){clearTimeout(this.typeToSelectTimeout),this.typeToSelectTimeout=setTimeout((()=>this.typeToSelectString=""),750),this.typeToSelectString+=e.toLowerCase();const t=this.getItems();for(const e of t){if(kt(e.shadowRoot.querySelector("slot:not([name])")).toLowerCase().trim().substring(0,this.typeToSelectString.length)===this.typeToSelectString){e.setFocus();break}}}getItems(){return[...this.menu.querySelector("slot").assignedElements({flatten:!0})].filter((e=>"gr-menu-item"===e.tagName.toLowerCase()&&!e.disabled))}getActiveItem(){return this.getItems().find((e=>e===document.activeElement))}setActiveItem(e){e.setFocus()}handleClick(e){const t=e.target.closest("gr-menu-item");t&&!t.disabled&&this.grSelect.emit({item:t})}handleKeyDown(e){if("Enter"===e.key){const t=this.getActiveItem();e.preventDefault(),t&&this.grSelect.emit({item:t})}if(" "===e.key&&e.preventDefault(),["ArrowDown","ArrowUp","Home","End"].includes(e.key)){const t=this.getItems(),r=this.getActiveItem();let i=t.indexOf(r);if(t.length)return e.preventDefault(),"ArrowDown"===e.key?i++:"ArrowUp"===e.key?i--:"Home"===e.key?i=0:"End"===e.key&&(i=t.length-1),i<0&&(i=0),i>t.length-1&&(i=t.length-1),void this.setActiveItem(t[i])}this.typeToSelect(e.key)}render(){return de("div",{ref:e=>this.menu=e,class:"menu",role:"menu",onClick:this.handleClick,onKeyDown:this.handleKeyDown},de("slot",null))}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{--padding-top:var(--gr-spacing-x-small);--padding-bottom:var(--gr-spacing-x-small);display:block;padding-top:var(--padding-top);padding-left:0;padding-right:0;padding-bottom:var(--padding-bottom);box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host:focus{outline:none}"}},[1,"gr-menu",{typeToSelect:[64]}]);function Jr(){if("undefined"==typeof customElements)return;["gr-menu"].forEach((e=>{if("gr-menu"===e)customElements.get(e)||customElements.define(e,Zr)}))}Jr(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const ei=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grClear=fe(this,"gr-clear",7),this.type="primary",this.size="medium",this.pill=!1,this.clearable=!1,this.truncate=!1,this.title=""}connectedCallback(){this.handleClearClick=this.handleClearClick.bind(this)}handleClearClick(){this.grClear.emit()}render(){return de(ge,{class:{[`tag-${this.type}`]:!0,[`tag-${this.size}`]:!0,"tag-pill":this.pill,"tag-clearable":this.clearable}},de("span",{class:"tag"},de("span",{class:{"tag-truncate":this.truncate},title:this.title},de("slot",null)),this.clearable&&de("gr-button",{variant:"plain",size:this.size,class:"tag-clear","aria-label":"clear",onClick:this.handleClearClick},de("svg",{slot:"icon-only",role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Close"),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 368L144 144M368 144L144 368"})))))}static get style(){return":host{--height:calc(var(--gr-form-element-height-medium) * 0.8);--line-height:calc(var(--gr-form-element-height-medium) - 1px * 2);--border-radius:var(--gr-form-element-border-radius-medium);--border-width:1px;--border-style:solid;--padding-top:0;--padding-start:var(--gr-spacing-small);--padding-end:var(--gr-spacing-small);--padding-bottom:0;--font-size:var(--gr-form-element-font-size-medium);--background-color:rgba(var(--gr-color-primary-rgb), 0.05);--border-color:rgba(var(--gr-color-primary-rgb), 0.2);--color:var(--gr-color-primary-shade);--clear-color:var(--gr-color-primary);--clear-color-hover:var(--gr-color-primary-shade);--clear-margin-left:var(--gr-spacing-xx-small);--clear-margin-right:calc(-1 * var(--gr-spacing-xxx-small));display:inline-block;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host(.tag-success){--background-color:rgba(var(--gr-color-success-rgb), 0.05);--border-color:rgba(var(--gr-color-success-rgb), 0.2);--color:var(--gr-color-success-shade);--clear-color:var(--gr-color-success);--clear-color-hover:var(--gr-color-success-shade)}:host(.tag-info){--background-color:rgba(var(--gr-color-medium-rgb), 0.05);--border-color:rgba(var(--gr-color-medium-rgb), 0.2);--color:var(--gr-color-medium-shade);--clear-color:var(--gr-color-medium);--clear-color-hover:var(--gr-color-medium-shade)}:host(.tag-warning){--background-color:rgba(var(--gr-color-warning-rgb), 0.05);--border-color:rgba(var(--gr-color-warning-rgb), 0.2);--color:var(--gr-color-warning-shade);--clear-color:var(--gr-color-warning);--clear-color-hover:var(--gr-color-warning-shade)}:host(.tag-danger){--background-color:rgba(var(--gr-color-danger-rgb), 0.05);--border-color:rgba(var(--gr-color-danger-rgb), 0.2);--color:var(--gr-color-danger-shade);--clear-color:var(--gr-color-danger);--clear-color-hover:var(--gr-color-danger-shade)}:host(.tag-small){--font-size:var(--gr-form-element-font-size-small);--height:calc(var(--gr-form-element-height-small) * 0.8);--line-height:calc(var(--gr-form-element-height-small) - 1px * 2);--border-radius:var(--gr-form-element-border-radius-small);--padding-start:var(--gr-spacing-x-small);--padding-end:var(--gr-spacing-x-small);--clear-margin-left:var(--gr-spacing-xx-small);--clear-margin-right:calc(-1 * var(--gr-spacing-xxx-small))}:host(.tag-large){--font-size:var(--gr-form-element-font-size-large);--height:calc(var(--gr-form-element-height-large) * 0.8);--line-height:calc(var(--gr-form-element-height-large) - 1px * 2);--border-radius:var(--gr-form-element-border-radius-large);--padding:0 var(--gr-spacing-medium);--clear-margin-left:var(--gr-spacing-xx-small);--clear-margin-right:calc(-1 * var(--gr-spacing-x-small))}.tag{display:flex;align-items:center;border-style:var(--border-style);border-width:var(--border-width);border-radius:var(--border-radius);white-space:nowrap;user-select:none;cursor:default;font-family:var(--gr-font-family);font-size:var(--font-size);font-weight:var(--gr-font-weight-normal);height:var(--height);line-height:var(--line-height);padding-top:var(--padding-top);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-bottom:var(--padding-bottom);background-color:var(--background-color);border-color:var(--border-color);color:var(--color)}.tag-clear{--color:var(--clear-color);--color-hover:var(--clear-color-hover);--padding-start:0;--padding-end:0;margin-left:var(--clear-margin-left);margin-right:var(--clear-margin-right);--height:1em}.tag-clear svg{font-size:0.7em}.tag-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-clear svg{width:1.1em;height:1.1em}:host(.tag-pill) .tag{border-radius:var(--height)}"}},[1,"gr-tag",{type:[513],size:[513],pill:[516],clearable:[516],truncate:[516],title:[513]}]);function ti(){if("undefined"==typeof customElements)return;["gr-tag","gr-button","gr-spinner"].forEach((e=>{switch(e){case"gr-tag":customElements.get(e)||customElements.define(e,ei);break;case"gr-button":customElements.get(e)||St();break;case"gr-spinner":customElements.get(e)||Et()}}))}ti(); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */ -const ri="undefined"!=typeof HTMLElement?HTMLElement:class{};let ii=0;const oi=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.grChange=fe(this,"gr-change",7),this.grFocus=fe(this,"gr-focus",7),this.grBlur=fe(this,"gr-blur",7),this.inputId="select-"+ ++ii,this.labelId=`select-label-${ii}`,this.helpTextId=`select-help-text-${ii}`,this.invalidTextId=`select-invalid-text-${ii}`,this.inheritedAttributes={},this.handleBlur=()=>{this.isOpen||(this.hasFocus=!1,this.grBlur.emit())},this.handleFocus=()=>{this.hasFocus||(this.hasFocus=!0,this.grFocus.emit())},this.hasFocus=!1,this.hasHelpTextSlot=!1,this.hasInvalidTextSlot=!1,this.hasLabelSlot=!1,this.isOpen=!1,this.items=[],this.displayLabel="",this.displayTags=[],this.multiple=!1,this.maxTagsVisible=3,this.disabled=!1,this.name="",this.placeholder="",this.size="medium",this.hoist=!1,this.value="",this.pill=!1,this.label="",this.requiredIndicator=!1,this.helpText="",this.invalidText="",this.invalid=!1,this.clearable=!1}handleDisabledChange(){this.disabled&&this.isOpen&&this.dropdown.hide()}handleLabelChange(){this.handleSlotChange()}handleMultipleChange(){const e=this.getValueAsArray();this.value=this.multiple?e:e[0]||"",this.syncItemsFromValue()}handleValueChange(){this.syncItemsFromValue(),this.grChange.emit()}connectedCallback(){this.handleClearClick=this.handleClearClick.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleLabelClick=this.handleLabelClick.bind(this),this.handleMenuHide=this.handleMenuHide.bind(this),this.handleMenuShow=this.handleMenuShow.bind(this),this.handleMenuSelect=this.handleMenuSelect.bind(this),this.handleSlotChange=this.handleSlotChange.bind(this),this.handleTagInteraction=this.handleTagInteraction.bind(this),this.el.shadowRoot.addEventListener("slotchange",this.handleSlotChange)}componentWillLoad(){this.handleSlotChange(),this.inheritedAttributes=Ct(this.el,["aria-label"])}componentDidLoad(){this.resizeObserver=new ResizeObserver((()=>this.resizeMenu())),this.reportDuplicateItemValues(),requestAnimationFrame((()=>this.syncItemsFromValue()))}disconnectedCallback(){this.el.shadowRoot.removeEventListener("slotchange",this.handleSlotChange)}async setFocus(){this.hasFocus=!0,this.grFocus.emit(),this.dropdown.focusOnTrigger()}getItemLabel(e){return kt(e.shadowRoot.querySelector("slot:not([name])"))}getItems(){return[...this.el.querySelectorAll("gr-menu-item")]}getValueAsArray(){return Array.isArray(this.value)?this.value:[this.value]}handleClearClick(e){e.stopPropagation(),this.value=this.multiple?[]:"",this.syncItemsFromValue()}handleKeyDown(e){const t=e.target,r=this.getItems(),i=r[0],o=r[r.length-1];if("gr-tag"!==t.tagName.toLowerCase())if("Tab"!==e.key){if(["ArrowDown","ArrowUp"].includes(e.key)){if(e.preventDefault(),this.isOpen||this.dropdown.show(),"ArrowDown"===e.key&&i)return void i.setFocus();if("ArrowUp"===e.key&&o)return void o.setFocus()}this.isOpen||1!==e.key.length||(e.stopPropagation(),e.preventDefault(),this.dropdown.show(),this.menu.typeToSelect(e.key))}else this.isOpen&&this.dropdown.hide()}handleLabelClick(){this.box.focus()}handleMenuSelect(e){const t=e.detail.item;this.multiple?this.value=this.value.includes(t.value)?this.value.filter((e=>e!==t.value)):[...this.value,t.value]:this.value=t.value,this.syncItemsFromValue()}handleMenuShow(e){this.disabled?e.preventDefault():(this.resizeMenu(),this.resizeObserver.observe(this.el),this.isOpen=!0)}handleMenuHide(){this.resizeObserver.unobserve(this.el),this.isOpen=!1,this.box.focus()}handleSlotChange(){this.hasHelpTextSlot=_t(this.el,"help-text"),this.hasInvalidTextSlot=_t(this.el,"invalid-text"),this.hasLabelSlot=_t(this.el,"label"),this.syncItemsFromValue(),this.reportDuplicateItemValues()}handleTagInteraction(e){e.composedPath().find((e=>{if(e instanceof ri)return e.classList.contains("tag-clear")}))&&e.stopPropagation()}reportDuplicateItemValues(){const e=this.getItems().map((e=>e.value)).filter(((e,t,r)=>r.indexOf(e)!==t));if(e.length)throw new Error('Duplicate value found on in : "'+e.join('", "')+'"')}resizeMenu(){this.menu.style.width=`${this.box.clientWidth}px`}syncItemsFromValue(){const e=this.getItems(),t=this.getValueAsArray();if(e.map((e=>e.checked=t.includes(e.value))),this.multiple){const r=[];if(t.map((t=>e.map((e=>e.value===t?r.push(e):null)))),this.displayTags=r.map((e=>de("gr-tag",{type:"info",size:this.size,pill:this.pill,clearable:!0,onClick:this.handleTagInteraction,onKeyDown:this.handleTagInteraction,"onGr-clear":t=>{t.stopPropagation(),this.disabled||(e.checked=!1,this.syncValueFromItems())}},this.getItemLabel(e)))),this.maxTagsVisible>0&&this.displayTags.length>this.maxTagsVisible){const e=this.displayTags.length;this.displayLabel="",this.displayTags=this.displayTags.slice(0,this.maxTagsVisible),this.displayTags.push(de("gr-tag",{type:"info",size:this.size,pill:this.pill},"+",e-this.maxTagsVisible))}}else{const r=e.filter((e=>e.value===t[0]))[0];this.displayLabel=r?this.getItemLabel(r):"",this.displayTags=[]}}syncValueFromItems(){const e=this.getItems().filter((e=>e.checked)).map((e=>e.value));this.multiple?this.value=this.value.filter((t=>e.includes(t))):this.value=e.length>0?e[0]:""}render(){var e;const t=this.multiple?this.value.length>0:""!==this.value,r=this.inheritedAttributes["aria-label"]?{"aria-label":this.inheritedAttributes["aria-label"]}:{"aria-labelledby":this.labelId};return((e,t,r,i)=>{let o=e.querySelector("input.aux-input");o||(o=e.ownerDocument.createElement("input"),o.type="hidden",o.classList.add("aux-input"),e.appendChild(o)),o.disabled=i,o.name=t,o.value=r||""})(this.el,this.name,ni(this.value),this.disabled),de(xt,{inputId:this.inputId,label:this.label,labelId:this.labelId,hasLabelSlot:this.hasLabelSlot,helpTextId:this.helpTextId,helpText:this.helpText,hasHelpTextSlot:this.hasHelpTextSlot,invalidTextId:this.invalidTextId,invalidText:this.invalidText,invalid:this.invalid,hasInvalidTextSlot:this.hasInvalidTextSlot,size:this.size,onLabelClick:this.handleLabelClick,requiredIndicator:this.requiredIndicator},de("gr-dropdown",{ref:e=>this.dropdown=e,hoist:this.hoist,closeOnSelect:!this.multiple,containingElement:this.el,class:{select:!0,"select-open":this.isOpen,"select-empty":0===(null===(e=this.value)||void 0===e?void 0:e.length),"select-focused":this.hasFocus,"select-clearable":this.clearable,"select-disabled":this.disabled,"select-multiple":this.multiple,"select-has-tags":this.multiple&&t,"select-placeholder-visible":""===this.displayLabel,[`select-${this.size}`]:!0,"select-pill":this.pill,"select-invalid":this.invalid},"onGr-show":this.handleMenuShow,"onGr-hide":this.handleMenuHide},de("div",Object.assign({slot:"trigger",ref:e=>this.box=e,id:this.inputId,class:"select-box",role:"combobox"},r,{"aria-describedby":this.invalid?this.invalidTextId:this.helpTextId,"aria-haspopup":"true","aria-expanded":this.isOpen?"true":"false","aria-invalid":this.invalid?"true":"false","aria-required":this.requiredIndicator?"true":"false",tabIndex:this.disabled?-1:0,onBlur:this.handleBlur,onFocus:this.handleFocus,onKeyDown:this.handleKeyDown}),de("div",{class:"select-label"},this.displayTags.length?de("span",{class:"select-tags"},this.displayTags):this.displayLabel||this.placeholder),this.clearable&&t&&de("button",{class:"select-clear",type:"button",onClick:this.handleClearClick,"aria-label":"clear",tabindex:"-1"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Close Circle"),de("path",{d:"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"}),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M320 320L192 192M192 320l128-128"}))),de("span",{class:"caret"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Chevron Down"),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"48",d:"M112 184l144 144 144-144"}))),de("input",{class:"select-hidden-select","aria-hidden":"true",value:t?"1":"",tabIndex:-1})),de("gr-menu",{ref:e=>this.menu=e,class:"select-menu","onGr-select":this.handleMenuSelect},de("slot",{onSlotchange:this.handleSlotChange}))))}get el(){return this}static get watchers(){return{disabled:["handleDisabledChange"],helpText:["handleLabelChange"],invalidText:["handleLabelChange"],label:["handleLabelChange"],multiple:["handleMultipleChange"],value:["handleValueChange"]}}static get style(){return".form-control .form-control-label{display:none}.form-control .form-control-help-text{display:none}.form-control .form-control-invalid-text{display:none}.form-control-has-label .form-control-label{display:flex;line-height:var(--gr-line-height-normal);color:var(--gr-form-element-label-color);margin-bottom:var(--gr-spacing-xxx-small)}.form-control-has-label.form-control-small .form-control-label{font-size:var(--gr-form-element-label-font-size-small)}.form-control-has-label.form-control-medium .form-control-label{font-size:var(--gr-form-element-label-font-size-medium)}.form-control-has-label.form-control-large .form-control-label{font-size:var(--gr-form-element-label-font-size-large)}.form-control-has-label .form-control-label .asterisk{margin-left:var(--gr-spacing-x-small);color:var(--gr-color-medium)}.form-control-has-label .form-control-label .asterisk svg{width:0.6em;height:0.6em;margin-bottom:var(--gr-spacing-xxx-small)}.form-control-has-help-text .form-control-help-text{display:block;line-height:var(--gr-line-height-normal);color:var(--gr-form-element-help-text-color);margin-top:var(--gr-spacing-xxx-small)}.form-control-has-help-text.form-control-small .form-control-help-text{font-size:var(--gr-form-element-help-text-font-size-small);min-height:1.625rem}.form-control-has-help-text.form-control-medium .form-control-help-text{font-size:var(--gr-form-element-help-text-font-size-medium);min-height:1.875rem}.form-control-has-help-text.form-control-large .form-control-help-text{font-size:var(--gr-form-element-help-text-font-size-large);min-height:2.125rem}.form-control-has-invalid-text .form-control-invalid-text{display:flex;margin-left:-2px;line-height:var(--gr-line-height-normal);color:var(--gr-form-element-invalid-text-color);margin-top:var(--gr-spacing-xxx-small)}.form-control-has-invalid-text .form-control-invalid-text .icon{margin-top:var(--gr-spacing-xxx-small);margin-right:var(--gr-spacing-xx-small)}.form-control-has-invalid-text .form-control-invalid-text .icon svg{width:1.4em;height:1.4em}.form-control-has-invalid-text.form-control-small .form-control-invalid-text{font-size:var(--gr-form-element-invalid-text-font-size-small);min-height:1.625rem}.form-control-has-invalid-text.form-control-medium .form-control-invalid-text{font-size:var(--gr-form-element-invalid-text-font-size-medium);min-height:1.875rem}.form-control-has-invalid-text.form-control-large .form-control-invalid-text{font-size:var(--gr-form-element-invalid-text-font-size-large);min-height:2.125rem}.gr-scroll-lock{overflow:hidden !important}:host{--font-size:var(--gr-form-element-font-size-medium);--font-weight:var(--gr-font-weight-normal);--background-color:var(--gr-color-white);--background-color-hover:var(--gr-color-white);--background-color-focus:var(--gr-color-white);--background-color-invalid:var(--gr-color-white);--background-color-invalid-hover:var(--gr-color-white);--border-radius:var(--gr-form-element-border-radius-small);--border-color:var(--gr-color-light-shade);--border-color-hover:var(--gr-color-medium);--border-color-focus:var(--gr-color-primary);--border-color-invalid:var(--gr-color-danger);--border-color-invalid-hover:var(--gr-color-danger-shade);--color:var(--gr-color-dark-tint);--placeholder-color:var(--gr-color-medium-tint);--min-height:var(--gr-form-element-height-medium);--label-margin-start:var(--gr-spacing-medium);--label-margin-end:var(--gr-spacing-medium);--clear-icon-margin-end:var(--gr-spacing-medium);--caret-margin-end:var(--gr-spacing-medium);--tags-padding-top:3px;--tags-padding-bottom:3px;--tags-margin-end:var(--gr-spacing-xx-small);--focus-ring:0 0 0 var(--gr-focus-ring-width) rgb(var(--gr-color-primary-rgb), 0.33);display:block;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}.select-small{--font-size:var(--gr-form-element-font-size-small);--min-height:var(--gr-form-element-height-small);--label-margin-start:var(--gr-spacing-small);--label-margin-end:var(--gr-spacing-small);--clear-icon-margin-end:var(--gr-spacing-small);--caret-margin-end:var(--gr-spacing-small);--tags-padding-top:2px;--tags-padding-bottom:2px}.select-large{--font-size:var(--gr-form-element-font-size-large);--min-height:var(--gr-form-element-height-large);--label-margin-start:var(--gr-spacing-large);--label-margin-end:var(--gr-spacing-large);--clear-icon-margin-end:var(--gr-spacing-large);--caret-margin-end:var(--gr-spacing-large);--tags-padding-top:4px;--tags-padding-bottom:4px}.select{display:block}.select-box{display:inline-flex;align-items:center;justify-content:start;position:relative;width:100%;font-family:var(--gr-font-family);font-size:var(--font-size);font-weight:var(--font-weight);letter-spacing:normal;background-color:var(--background-color);border:solid 1px var(--border-color);border-radius:var(--border-radius);min-height:var(--min-height);color:var(--color);vertical-align:middle;overflow:hidden;transition:150ms color, 150ms border, 150ms box-shadow;cursor:pointer}.select.select-invalid:not(.select-disabled) .select-box{background-color:var(--background-color-invalid);border-color:var(--border-color-invalid)}.select.select-invalid:not(.select-disabled):not(.select-focused) .select-box:hover{background-color:var(--background-color-invalid-hover);border-color:var(--border-color-invalid-hover)}.select.select-invalid:not(.select-disabled) .select-box{background-color:var(--background-color-invalid);border-color:var(--border-color-invalid)}.select:not(.select-disabled) .select-box:hover{background-color:var(--background-color-hover);border-color:var(--border-color-hover)}.select.select-focused:not(.select-disabled) .select-box{outline:none;box-shadow:var(--focus-ring);border-color:var(--border-color-focus);background-color:var(--background-color-focus)}.select-disabled .select-box{opacity:0.5;cursor:not-allowed;outline:none}.select-disabled .select-tags,.select-disabled .select-clear{pointer-events:none}.select-label{flex:1 1 auto;display:flex;align-items:center;user-select:none;margin-top:0;margin-left:var(--label-margin-start);margin-right:var(--label-margin-end);margin-bottom:0;scrollbar-width:none;-ms-overflow-style:none;overflow-x:auto;overflow-y:hidden;white-space:nowrap}.select-label::-webkit-scrollbar{width:0;height:0}.select-has-tags .select-label{margin-left:0}.select-clear{display:inline-flex;align-items:center;font-size:inherit;color:var(--gr-color-medium);border:none;background:none;padding:0;transition:150ms color;cursor:pointer;margin-right:var(--clear-icon-margin-end)}.select-clear:hover{color:var(--gr-color-dark)}.select-clear:focus{outline:none}.select-clear svg{width:1.2em;height:1.2em;font-size:var(--font-size)}.caret{flex:0 0 auto;display:inline-flex;transition:250ms transform ease;margin-right:var(--caret-margin-end)}.caret svg{width:1em;height:1em;font-size:var(--font-size)}.select-open .caret{transform:rotate(-180deg)}.select-placeholder-visible .select-label{color:var(--placeholder-color)}.select-tags{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:left;margin-left:var(--gr-spacing-xx-small);padding-bottom:var(--tags-padding-bottom)}.select-tags gr-tag{padding-top:var(--tags-padding-top)}.select-tags gr-tag:not(:last-of-type){margin-right:var(--tags-margin-end)}.select-hidden-select{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px;position:absolute;top:0;left:0;width:100%;height:100%}.select-pill .select-box{border-radius:var(--min-height)}"}},[1,"gr-select",{multiple:[4],maxTagsVisible:[2,"max-tags-visible"],disabled:[4],name:[1],placeholder:[1],size:[1],hoist:[4],value:[1025],pill:[4],label:[1],requiredIndicator:[4,"required-indicator"],helpText:[1,"help-text"],invalidText:[1,"invalid-text"],invalid:[516],clearable:[4],hasFocus:[32],hasHelpTextSlot:[32],hasInvalidTextSlot:[32],hasLabelSlot:[32],isOpen:[32],items:[32],displayLabel:[32],displayTags:[32],setFocus:[64]}]),ni=e=>{if(null!=e)return Array.isArray(e)?e.join(","):e.toString()};!function(){if("undefined"==typeof customElements)return;["gr-select","gr-button","gr-dropdown","gr-menu","gr-spinner","gr-tag"].forEach((e=>{switch(e){case"gr-select":customElements.get(e)||customElements.define(e,oi);break;case"gr-button":customElements.get(e)||St();break;case"gr-dropdown":customElements.get(e)||Xr();break;case"gr-menu":customElements.get(e)||Jr();break;case"gr-spinner":customElements.get(e)||Et();break;case"gr-tag":customElements.get(e)||ti()}}))}();const ai=oi,si=Ge(class extends dt{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.hasFocus=!1,this.checked=!1,this.value="",this.disabled=!1}connectedCallback(){this.handleBlur=this.handleBlur.bind(this),this.handleFocus=this.handleFocus.bind(this),this.handleMouseEnter=this.handleMouseEnter.bind(this),this.handleMouseLeave=this.handleMouseLeave.bind(this)}async setFocus(e){this.el.focus(e)}async removeFocus(){this.el.blur()}handleBlur(){this.hasFocus=!1}handleFocus(){this.hasFocus=!0}handleMouseEnter(){this.setFocus()}handleMouseLeave(){this.removeFocus()}render(){return de(ge,{class:{"menu-item-checked":this.checked,"menu-item-disabled":this.disabled,"menu-item-focused":this.hasFocus},role:"menuitem","aria-disabled":this.disabled?"true":"false","aria-checked":this.checked?"true":"false",tabIndex:this.disabled?null:0,onFocus:this.handleFocus,onBlur:this.handleBlur,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave},de("span",{class:"checkmark"},de("svg",{role:"img","aria-hidden":"true",viewBox:"0 0 512 512"},de("title",null,"Checkmark"),de("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M416 128L192 384l-96-96"}))),de("span",{class:"start"},de("slot",{name:"start"})),de("span",{class:"label"},de("slot",null)),de("span",{class:"end"},de("slot",{name:"end"})))}get el(){return this}static get style(){return".gr-scroll-lock{overflow:hidden !important}:host{--line-height:var(--gr-line-height-normal);--background-color:transparent;--background-color-focused:var(--gr-color-primary);--color:var(--gr-color-dark);--color-focused:var(--gr-color-primary-contrast);--color-disabled:var(--gr-color-medium);--padding-top:var(--gr-spacing-xx-small);--padding-start:var(--gr-spacing-x-large);--padding-end:var(--gr-spacing-x-large);--padding-bottom:var(--gr-spacing-xx-small);--transition:background-color 150ms linear, color 150ms linear;position:relative;display:flex;align-items:stretch;font-family:var(--gr-font-family);font-size:var(--gr-font-size-medium);font-weight:var(--gr-font-weight-normal);line-height:var(--line-height);letter-spacing:var(--gr-letter-spacing-normal);text-align:left;background-color:var(--background-color);color:var(--color);padding-top:var(--padding-top);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-bottom:var(--padding-bottom);transition:var(--transition);user-select:none;white-space:nowrap;cursor:pointer;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host(.menu-item-focused:not(.menu-item-disabled)){outline:none;background-color:var(--background-color-focused);color:var(--color-focused)}:host(.menu-item-disabled){outline:none;color:var(--color-disabled);cursor:not-allowed}.checkmark{display:flex;position:absolute;left:0.5em;top:calc(50% - 0.5em);visibility:hidden;align-items:center;font-size:inherit}.checkmark svg{display:inline-block;width:1.1em;height:1.1em;contain:strict;fill:currentcolor;box-sizing:content-box !important}:host(.menu-item-checked) .checkmark{visibility:visible}.label{flex:1 1 auto}.start{flex:0 0 auto;display:flex;align-items:center}.start ::slotted(:last-child){margin-right:0.5em}.end{flex:0 0 auto;display:flex;align-items:center}.end ::slotted(:first-child){margin-left:0.5em}"}},[1,"gr-menu-item",{checked:[516],value:[513],disabled:[516],hasFocus:[32],setFocus:[64],removeFocus:[64]}]); -/*! - * (C) PAQT.com B.V. https://paqt.com - MIT License - */!function(){if("undefined"==typeof customElements)return;["gr-menu-item"].forEach((e=>{if("gr-menu-item"===e)customElements.get(e)||customElements.define(e,si)}))}();const li={"gr-select":ai,"gr-menu-item":si};class ci extends(q(_)){constructor(){super(...arguments),this.value=null,this.multiple=!1,this.clearable=!1,this._refSelect=y()}reset(){this.value=null}_valueChangedHandler(e){const t=this._refSelect.value?.value;if(void 0!==t&&!l(this.value,t)){const e=null===this.value;this.value=t,e||w(this,"select:change",t)}}willUpdate(e){e.has("initialValue")&&this.initialValue&&!this.value&&(this.value=this.initialValue)}render(){return $` - ${this.options?.map((e=>$`${e.label}`))} - `}static get styles(){return k(':root, :host {\n --gr-color-primary: #1079b2;\n --gr-color-primary-rgb: 16, 121, 178;\n --gr-color-primary-contrast: #ffffff;\n --gr-color-primary-contrast-rgb: 255, 255, 255;\n --gr-color-primary-shade: #0d6696;\n --gr-color-primary-tint: #1499e1;\n --gr-color-secondary: #051f2c;\n --gr-color-secondary-rgb: 5, 31, 44;\n --gr-color-secondary-contrast: #ffffff;\n --gr-color-secondary-contrast-rgb: 255, 255, 255;\n --gr-color-secondary-shade: #000000;\n --gr-color-secondary-tint: #0a415c;\n --gr-color-tertiary: #0c4a6e;\n --gr-color-tertiary-rgb: 12, 74, 110;\n --gr-color-tertiary-contrast: #ffffff;\n --gr-color-tertiary-contrast-rgb: 255, 255, 255;\n --gr-color-tertiary-shade: #083249;\n --gr-color-tertiary-tint: #106393;\n --gr-color-success: #0fbe78;\n --gr-color-success-rgb: 15, 190, 120;\n --gr-color-success-contrast: #000000;\n --gr-color-success-contrast-rgb: 0, 0, 0;\n --gr-color-success-shade: #057f4e;\n --gr-color-success-tint: #12e28f;\n --gr-color-warning: #fbbc4e;\n --gr-color-warning-rgb: 251, 188, 78;\n --gr-color-warning-contrast: #051f2c;\n --gr-color-warning-contrast-rgb: 5, 31, 44;\n --gr-color-warning-shade: #9e6400;\n --gr-color-warning-tint: #fdd187;\n --gr-color-danger: #e60017;\n --gr-color-danger-rgb: 230, 0, 23;\n --gr-color-danger-contrast: #ffffff;\n --gr-color-danger-contrast-rgb: 255, 255, 255;\n --gr-color-danger-shade: #cc0014;\n --gr-color-danger-tint: #ff1f35;\n --gr-color-light: #f4f5f8;\n --gr-color-light-rgb: 244, 245, 248;\n --gr-color-light-contrast: #051f2c;\n --gr-color-light-contrast-rgb: 5, 31, 44;\n --gr-color-light-shade: #d7d8da;\n --gr-color-light-tint: #f9fafb;\n --gr-color-medium: #5e6c78;\n --gr-color-medium-rgb: 94, 108, 120;\n --gr-color-medium-contrast: #ffffff;\n --gr-color-medium-contrast-rgb: 255, 255, 255;\n --gr-color-medium-shade: #48535b;\n --gr-color-medium-tint: #81909c;\n --gr-color-dark: #02131b;\n --gr-color-dark-rgb: 2, 19, 27;\n --gr-color-dark-contrast: #ffffff;\n --gr-color-dark-contrast-rgb: 255, 255, 255;\n --gr-color-dark-shade: #000000;\n --gr-color-dark-tint: #222428;\n --gr-color-white: #ffffff;\n --gr-color-black: #000000;\n --gr-border-radius-small: 0.125rem;\n --gr-border-radius-medium: 0.25rem;\n --gr-border-radius-large: 0.5rem;\n --gr-border-radius-x-large: 1rem;\n --gr-border-width-small: 0.063rem;\n --gr-border-width-medium: 0.125rem;\n --gr-border-width-large: 0.188rem;\n --gr-shadow-x-small: 0 1px 0 #0d131e0d;\n --gr-shadow-small: 0 1px 2px #0d131e1a;\n --gr-shadow-medium: 0 2px 4px #0d131e1a;\n --gr-shadow-large: 0 2px 8px #0d131e1a;\n --gr-shadow-x-large: 0 4px 16px #0d131e1a;\n --gr-spacing-xxx-small: 0.125rem;\n --gr-spacing-xx-small: 0.25rem;\n --gr-spacing-x-small: 0.5rem;\n --gr-spacing-small: 0.75rem;\n --gr-spacing-medium: 1rem;\n --gr-spacing-large: 1.25rem;\n --gr-spacing-x-large: 1.75rem;\n --gr-spacing-xx-large: 2.25rem;\n --gr-spacing-xxx-large: 3rem;\n --gr-spacing-xxxx-large: 4.5rem;\n --gr-font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial,\n sans-serif;\n --gr-letter-spacing-dense: -0.015em;\n --gr-letter-spacing-normal: normal;\n --gr-letter-spacing-loose: 0.075em;\n --gr-line-height-dense: 1.4;\n --gr-line-height-normal: 1.8;\n --gr-line-height-loose: 2.2;\n --gr-font-size-xx-small: 0.625rem;\n --gr-font-size-x-small: 0.75rem;\n --gr-font-size-small: 0.875rem;\n --gr-font-size-medium: 1rem;\n --gr-font-size-large: 1.25rem;\n --gr-font-size-x-large: 1.5rem;\n --gr-font-size-xx-large: 2.25rem;\n --gr-font-size-xxx-large: 3rem;\n --gr-font-size-xxxx-large: 4.5rem;\n --gr-font-weight-thin: 100;\n --gr-font-weight-extra-light: 200;\n --gr-font-weight-light: 300;\n --gr-font-weight-normal: 400;\n --gr-font-weight-medium: 500;\n --gr-font-weight-semi-bold: 600;\n --gr-font-weight-bold: 700;\n --gr-font-weight-extra-bold: 800;\n --gr-font-weight-black: 900;\n --gr-form-element-font-size-x-small: var(--gr-font-size-x-small);\n --gr-form-element-font-size-small: var(--gr-font-size-small);\n --gr-form-element-font-size-medium: var(--gr-font-size-medium);\n --gr-form-element-font-size-large: var(--gr-font-size-large);\n --gr-form-element-height-small: 2.188rem;\n --gr-form-element-height-medium: 3.125rem;\n --gr-form-element-height-large: 4.063rem;\n --gr-form-element-border-radius-small: var(--gr-border-radius-medium);\n --gr-form-element-border-radius-medium: var(--gr-border-radius-medium);\n --gr-form-element-border-radius-large: var(--gr-border-radius-medium);\n --gr-focus-ring-width: 2px;\n --gr-form-element-label-font-size-small: var(--gr-font-size-small);\n --gr-form-element-label-font-size-medium: var(--gr-font-size-medium);\n --gr-form-element-label-font-size-large: var(--gr-font-size-large);\n --gr-form-element-label-color: inherit;\n --gr-form-element-help-text-font-size-small: var(--gr-font-size-x-small);\n --gr-form-element-help-text-font-size-medium: var(--gr-font-size-small);\n --gr-form-element-help-text-font-size-large: var(--gr-font-size-medium);\n --gr-form-element-help-text-color: var(--gr-color-medium);\n --gr-form-element-invalid-text-font-size-small: var(--gr-font-size-x-small);\n --gr-form-element-invalid-text-font-size-medium: var(--gr-font-size-small);\n --gr-form-element-invalid-text-font-size-large: var(--gr-font-size-medium);\n --gr-form-element-invalid-text-color: var(--gr-color-danger);\n --gr-toggle-size: 1rem;\n --gr-panel-border-color: var(--gr-color-light-shade);\n --gr-z-index-dropdown: 900;\n}\n\n')}}ci.elementDefinitions={...li},f([v({attribute:!1,hasChanged:b})],ci.prototype,"options",void 0),f([v({attribute:!1,hasChanged:b})],ci.prototype,"value",void 0),f([v({attribute:!1,hasChanged:b})],ci.prototype,"initialValue",void 0),f([v({attribute:!0})],ci.prototype,"label",void 0),f([v({attribute:!0})],ci.prototype,"placeholder",void 0),f([v({attribute:!0,type:Boolean})],ci.prototype,"multiple",void 0),f([v({attribute:!0,type:Boolean})],ci.prototype,"clearable",void 0);let di=class extends(q(_)){constructor(){super(...arguments),this._mediaFilterController=new U(this),this._refMediaType=y(),this._refCamera=y(),this._refWhen=y(),this._refWhenFrom=y(),this._refWhenTo=y(),this._refWhat=y(),this._refWhere=y(),this._refFavorite=y(),this._refTags=y()}willUpdate(e){e.has("viewManagerEpoch")&&this._mediaFilterController.setViewManager(this.viewManagerEpoch?.manager??null),e.has("cameraManager")&&this.cameraManager&&(this._mediaFilterController.computeCameraOptions(this.cameraManager),this._mediaFilterController.computeMetadataOptions(this.cameraManager)),!e.get("viewManager")&&this.viewManagerEpoch&&this.cameraManager&&this._mediaFilterController.computeInitialDefaultsFromView(this.cameraManager)}render(){const e=async()=>{this.cameraManager&&this.viewManagerEpoch&&this.cardWideConfig&&await this._mediaFilterController.valueChangeHandler(this.cameraManager,this.cardWideConfig,{camera:this._refCamera.value?.value??void 0,mediaType:this._refMediaType.value?.value??void 0,when:{selected:this._refWhen.value?.value??void 0,from:this._refWhenFrom.value?.value,to:this._refWhenTo.value?.value},favorite:this._refFavorite.value?.value??void 0,where:this._refWhere.value?.value??void 0,what:this._refWhat.value?.value??void 0,tags:this._refTags.value?.value??void 0})},t=async t=>{"custom"===t&&this._refWhen.value?this._refWhenFrom.value?.value||this._refWhenTo.value?.value?this._refWhen.value.value=B.Custom:this._refWhen.value.reset():this._refWhen.value?.value!==B.Custom&&(this._refWhenFrom.value?.reset(),this._refWhenTo.value?.reset()),await e()};if(!this.cameraManager||!this.viewManagerEpoch)return;const r=this._mediaFilterController.getControlsToShow(this.cameraManager),o=this._mediaFilterController.getDefaults(),n=this._mediaFilterController.getWhatOptions(),a=this._mediaFilterController.getTagsOptions(),s=this._mediaFilterController.getWhereOptions();return $` e()} - > - -
- t("selected")} - > - - t("custom")} - > - - t("custom")} - > - -
- e()} - > - - ${r.events&&n.length?$` e()} - > - `:""} - ${r.events&&a.length?$` e()} - > - `:""} - ${r.events&&s.length?$` e()} - > - `:""} - ${r.favorites?$` - e()} - > - - `:""}`}static get styles(){return k(":host {\n display: flex;\n flex-direction: column;\n overflow: auto;\n scrollbar-width: none;\n -ms-overflow-style: none;\n height: 100%;\n width: 300px;\n margin: 5px;\n}\n\n/* Hide scrollbar for Chrome, Safari and Opera */\n:host::-webkit-scrollbar {\n display: none;\n}\n\nfrigate-card-select {\n padding: 5px;\n}\n\ndiv.when {\n display: inline-flex;\n align-items: flex-end;\n}\n\ndiv.when frigate-card-select {\n flex: 1;\n}\n\ndiv.when frigate-card-date-picker {\n padding-bottom: 5px;\n transition: width 0.5s ease-in-out;\n}\n\ndiv.when frigate-card-date-picker {\n color: var(--secondary-color);\n}\n\ndiv.when frigate-card-date-picker.selected {\n color: var(--primary-color);\n}\n\ndiv.when frigate-card-date-picker.hidden {\n width: 0px;\n}")}};di.elementDefinitions={"frigate-card-select":ci,"frigate-card-date-picker":R},f([v({attribute:!1})],di.prototype,"hass",void 0),f([v({attribute:!1})],di.prototype,"cameraManager",void 0),f([v({attribute:!1})],di.prototype,"viewManagerEpoch",void 0),f([v({attribute:!1})],di.prototype,"cardWideConfig",void 0),di=f([C("frigate-card-media-filter")],di);const hi={closed:"mdi:filter-cog-outline",open:"mdi:filter-cog"};let gi=class extends _{render(){const e=this.viewManagerEpoch?.manager.getView();if(this.hass&&e?.isGalleryView()&&this.cameraManager&&this.cardWideConfig)return $` - - ${this.galleryConfig&&"none"!==this.galleryConfig.controls.filter.mode?$` - `:""} - - - - `}static get styles(){return k(":host {\n width: 100%;\n height: 100%;\n display: block;\n}\n\nfrigate-card-surround-basic {\n max-height: 110dvh;\n}")}};f([v({attribute:!1})],gi.prototype,"hass",void 0),f([v({attribute:!1})],gi.prototype,"viewManagerEpoch",void 0),f([v({attribute:!1})],gi.prototype,"galleryConfig",void 0),f([v({attribute:!1})],gi.prototype,"cameraManager",void 0),f([v({attribute:!1})],gi.prototype,"cardWideConfig",void 0),gi=f([C("frigate-card-gallery")],gi);let ui=class extends _{constructor(){super(),this._refLoaderBottom=y(),this._refSelected=y(),this._showLoaderBottom=!0,this._showLoaderTop=!1,this._boundWheelHandler=this._wheelHandler.bind(this),this._boundTouchStartHandler=this._touchStartHandler.bind(this),this._boundTouchEndHandler=this._touchEndHandler.bind(this),this._throttleExtendGalleryLater=O(this._extendGallery.bind(this),500,{leading:!0,trailing:!1}),this._touchScrollYPosition=null,this._resizeObserver=new ResizeObserver(this._resizeHandler.bind(this)),this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this))}_touchStartHandler(e){1===e.touches.length?this._touchScrollYPosition=e.touches[0].screenY:this._touchScrollYPosition=null}async _touchEndHandler(e){!this.scrollTop&&1===e.changedTouches.length&&this._touchScrollYPosition&&e.changedTouches[0].screenY>this._touchScrollYPosition&&await this._extendLater(),this._touchScrollYPosition=null}async _wheelHandler(e){!this.scrollTop&&e.deltaY<0&&await this._extendLater()}async _extendLater(){const e=new Date;this._showLoaderTop=!0,await this._throttleExtendGalleryLater("later",!1);const t=(new Date).getTime()-e.getTime();t<500&&await S(.5-t/1e3),this._showLoaderTop=!1}connectedCallback(){super.connectedCallback(),this._resizeObserver.observe(this),this.addEventListener("wheel",this._boundWheelHandler,{passive:!0}),this.addEventListener("touchstart",this._boundTouchStartHandler,{passive:!0}),this.addEventListener("touchend",this._boundTouchEndHandler),this.requestUpdate()}disconnectedCallback(){this.removeEventListener("wheel",this._boundWheelHandler),this.removeEventListener("touchstart",this._boundTouchStartHandler),this.removeEventListener("touchend",this._boundTouchEndHandler),this._resizeObserver.disconnect(),this._intersectionObserver.disconnect(),super.disconnectedCallback()}_setColumnCount(){const e=this.galleryConfig?.controls.thumbnails.size??M.media_gallery.controls.thumbnails.size,t=this.galleryConfig?.controls.thumbnails.show_details?Math.max(1,Math.floor(this.clientWidth/z)):Math.max(1,Math.ceil(this.clientWidth/e));this.style.setProperty("--frigate-card-gallery-columns",String(t))}_resizeHandler(){this._setColumnCount()}async _intersectionHandler(e){e.every((e=>!e.isIntersecting))||(this._showLoaderBottom=!1,await this._extendGallery("earlier"))}async _extendGallery(e,t=!0){const r=this.viewManagerEpoch?.manager.getView();if(!this.cameraManager||!this.hass||!r)return;const i=r.query,n=i?.getQueries()??null,s=r.queryResults?.getResults();if(!i||!n||!s)return;let l;try{l=await this.cameraManager.extendMediaQueries(n,s,e,{useCache:t})}catch(e){return void d(e)}if(l){const e=c.areEventQueries(i)?new o(l.queries):c.areRecordingQueries(i)?new a(l.queries):null;e&&this.viewManagerEpoch?.manager.setViewByParameters({baseView:r,params:{query:e,queryResults:new L({results:l.results}).selectResultIfFound((e=>e===r.queryResults?.getSelectedResult()))}})}}willUpdate(e){if(e.has("galleryConfig")&&(this.galleryConfig?.controls.thumbnails.show_details?this.setAttribute("details",""):this.removeAttribute("details"),this._setColumnCount(),this.galleryConfig?.controls.thumbnails.size&&this.style.setProperty("--frigate-card-thumbnail-size",`${this.galleryConfig.controls.thumbnails.size}px`)),e.has("viewManagerEpoch")){this._showLoaderBottom=!0;const e=this.viewManagerEpoch?.manager.getView(),t=this.viewManagerEpoch?.oldView;this._media&&t?.queryResults?.getResults()===e?.queryResults?.getResults()||(this._media=[...e?.queryResults?.getResults()??[]].reverse())}}render(){if(!this._media||!this.hass)return $``;const e=this.viewManagerEpoch?.manager.getView();if(!e?.queryResults||0===e.queryResults.getResultsCount()){const t=!!e?.context?.loading?.query;return D({type:"info",message:i(t?"error.awaiting_media":"common.no_media"),icon:"mdi:multimedia",dotdotdot:t})}const t=e.queryResults.getSelectedResult();return $`
- ${this._showLoaderTop?$`${A({cardWideConfig:this.cardWideConfig,classes:{top:!0},size:"small"})}`:""} - ${this._media.map(((r,i)=>$`{this._media&&this.viewManagerEpoch?.manager.setViewByParameters({params:{view:"media",queryResults:e.queryResults?.clone().selectIndex(this._media.length-i-1)}}),F(t)}} - > - `))} - ${this._showLoaderBottom?$`${A({cardWideConfig:this.cardWideConfig,componentRef:this._refLoaderBottom})}`:""} -
`}updated(e){this._refLoaderBottom.value&&(this._intersectionObserver.disconnect(),this._intersectionObserver.observe(this._refLoaderBottom.value)),this.updateComplete.then((()=>{e.has("viewManagerEpoch")&&!e.get("viewManagerEpoch")&&this._refSelected.value&&this._refSelected.value.scrollIntoView({block:"center"})}))}static get styles(){return k(":host {\n width: 100%;\n height: 100%;\n display: block;\n overflow: auto;\n -ms-overflow-style: none;\n scrollbar-width: none;\n --frigate-card-gallery-gap: 3px;\n --frigate-card-gallery-columns: 4;\n}\n\n.grid {\n display: grid;\n grid-template-columns: repeat(var(--frigate-card-gallery-columns), minmax(0, 1fr));\n grid-auto-rows: min-content;\n gap: var(--frigate-card-gallery-gap);\n}\n\n:host::-webkit-scrollbar {\n display: none;\n}\n\nfrigate-card-thumbnail {\n height: 100%;\n max-height: var(--frigate-card-thumbnail-size);\n}\n\nfrigate-card-thumbnail:not([details]) {\n width: 100%;\n}\n\nfrigate-card-thumbnail.selected {\n border: 4px solid var(--accent-color);\n border-radius: calc(var(--frigate-card-css-border-radius, var(--ha-card-border-radius, 4px)) + 4px);\n}\n\nfrigate-card-progress-indicator.top {\n grid-column: 1/-1;\n}")}};f([v({attribute:!1})],ui.prototype,"hass",void 0),f([v({attribute:!1})],ui.prototype,"viewManagerEpoch",void 0),f([v({attribute:!1})],ui.prototype,"galleryConfig",void 0),f([v({attribute:!1})],ui.prototype,"cameraManager",void 0),f([v({attribute:!1})],ui.prototype,"cardWideConfig",void 0),f([E()],ui.prototype,"_showLoaderBottom",void 0),f([E()],ui.prototype,"_showLoaderTop",void 0),ui=f([C("frigate-card-gallery-core")],ui);export{gi as FrigateCardGallery,ui as FrigateCardGalleryCore}; diff --git a/config/www/community/frigate-hass-card/gallery-f478918c.js.gz b/config/www/community/frigate-hass-card/gallery-f478918c.js.gz deleted file mode 100644 index 3b44cfdbe869fcdb6f70ab2af0d0d735e3ca0fab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30839 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 S4mj4QfBHW+qsB+4w*dg~uH^3k diff --git a/config/www/community/frigate-hass-card/get-technology-for-video-rtc-778a0c05.js b/config/www/community/frigate-hass-card/get-technology-for-video-rtc-778a0c05.js deleted file mode 100644 index 8bcd1216..00000000 --- a/config/www/community/frigate-hass-card/get-technology-for-video-rtc-778a0c05.js +++ /dev/null @@ -1 +0,0 @@ -const e=e=>{const s=[...e.pc?["webrtc"]:[],...!e.pc&&e.mseCodecs?["mse","hls"]:[]];return s.length?s:void 0};export{e as g}; diff --git a/config/www/community/frigate-hass-card/get-technology-for-video-rtc-778a0c05.js.gz b/config/www/community/frigate-hass-card/get-technology-for-video-rtc-778a0c05.js.gz deleted file mode 100644 index e36ccd79cbd52a2e0cfc8ab6507aedf574e2f793..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmV;c095}UiwFqlFOg>g|7T@%Ep%mLXl`$8Z)bTeW^ZyWc4=f~Z!L0kV=Xr~IAJhj zFf}e}a{wL6K@Ng25Jus>r>I@9A`{m%m4(M>y3pYdm|#mfgPIWTZe{oK<#A4;1|I&p z@zLS~5rG!&gZ?KI1=MOUC}Nk(W!8g=TWd*|n1 ZF1y2b$wfDqyO?ozryq>OnMHj7008C`PhkK6 diff --git a/config/www/community/frigate-hass-card/ha-1d1cb9a1.js b/config/www/community/frigate-hass-card/ha-1d1cb9a1.js deleted file mode 100644 index 4d9b2217..00000000 --- a/config/www/community/frigate-hass-card/ha-1d1cb9a1.js +++ /dev/null @@ -1,61 +0,0 @@ -import{dm as e,cQ as t,x as s,dw as a,dx as r,dy as i,dz as o,r as h,eM as l,_ as n,t as u,a as d,cR as c,cU as y,l as p,cV as m,n as _}from"./card-45855f1f.js";import{c as v,e as g}from"./ha-hls-player-ad38a2a0.js";import{m as f}from"./audio-cf3a75aa.js";import{s as $,h as b,c as w}from"./media-1a34ac2c.js";import{g as R}from"./index-9bf80040.js";customElements.whenDefined("ha-web-rtc-player").then((()=>{let d=class extends(customElements.get("ha-web-rtc-player")){async play(){return this._video?.play()}async pause(){this._video?.pause()}async mute(){this._video&&(this._video.muted=!0)}async unmute(){this._video&&(this._video.muted=!1)}isMuted(){return this._video?.muted??!0}async seek(e){this._video&&(this._video.currentTime=e)}async setControls(e){this._video&&$(this._video,e??this.controls)}isPaused(){return this._video?.paused??!0}async getScreenshotURL(){return this._video?e(this._video):null}render(){return this._error?t(this,`${this._error} (${this.entityid})`):s` - - `}static get styles(){return[super.styles,h(v),l` - :host { - width: 100%; - height: 100%; - } - video { - width: 100%; - height: 100%; - } - `]}};n([g("#remote-stream")],d.prototype,"_video",void 0),d=n([u("frigate-card-ha-web-rtc-player")],d)})),customElements.whenDefined("ha-camera-stream").then((()=>{let e=class extends(customElements.get("ha-camera-stream")){async play(){return this._player?.play()}async pause(){this._player?.pause()}async mute(){this._player?.mute()}async unmute(){this._player?.unmute()}isMuted(){return this._player?.isMuted()??!0}async seek(e){this._player?.seek(e)}async setControls(e){this._player&&this._player.setControls(e??this.controls)}isPaused(){return this._player?.isPaused()??!0}async getScreenshotURL(){return this._player?await this._player.getScreenshotURL():null}render(){return this.stateObj?this._shouldRenderMJPEG?s` - {a(this,e,{player:this,technology:["mjpeg"]})}} - .src=${void 0===this._connected||this._connected?(e=this.stateObj,`/api/camera_proxy_stream/${e.entity_id}?token=${e.attributes.access_token}`):""} - /> - `:"hls"===this.stateObj.attributes.frontend_stream_type?this._url?s` `:s``:"web_rtc"===this.stateObj.attributes.frontend_stream_type?s``:void 0:s``;var e}static get styles(){return[super.styles,h(v),l` - :host { - width: 100%; - height: 100%; - } - img { - width: 100%; - height: 100%; - } - `]}};n([g("#player")],e.prototype,"_player",void 0),e=n([u("frigate-card-ha-camera-stream")],e)}));let j=class extends d{constructor(){super(...arguments),this.controls=!0,this._playerRef=c()}async play(){return this._playerRef.value?.play()}async pause(){this._playerRef.value?.pause()}async mute(){this._playerRef.value?.mute()}async unmute(){this._playerRef.value?.unmute()}isMuted(){return this._playerRef.value?.isMuted()??!0}async seek(e){this._playerRef.value?.seek(e)}async setControls(e){this._playerRef.value?.setControls(e??this.controls)}isPaused(){return this._playerRef.value?.isPaused()??!0}async getScreenshotURL(){return await(this._playerRef.value?.getScreenshotURL())??null}render(){if(!this.hass)return;const e=R(this,this.hass,this.cameraConfig);return e?"unavailable"===e.state?y({message:p("error.live_camera_unavailable"),type:"error",icon:"mdi:connection",context:this.cameraConfig}):s` - `:void 0}static get styles(){return h(":host {\n width: 100%;\n height: 100%;\n display: block;\n}")}};n([_({attribute:!1})],j.prototype,"hass",void 0),n([_({attribute:!1})],j.prototype,"cameraConfig",void 0),n([_({attribute:!0,type:Boolean})],j.prototype,"controls",void 0),j=n([u("frigate-card-live-ha")],j);export{j as FrigateCardLiveHA}; diff --git a/config/www/community/frigate-hass-card/ha-1d1cb9a1.js.gz b/config/www/community/frigate-hass-card/ha-1d1cb9a1.js.gz deleted file mode 100644 index 064197b432a3f151e91bebc6d90736f203287263..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1566 zcmV+(2I2W1iwFqOQ&?vL|7c+?F=R1gVmVmg?#T2A6= zN?BIZG`&qSP2Hw1X-0yGl?a6w4FF1375;k{;6~gulo2$70`GI%n&SU0S><&=ATW3E=5<^R z|J|DW_13aD>)Qh2R6$270W`K7&H>F-s;@`COsn^Aai2Fp<=K@8vuU~qI$rW5!kb=! zjOiz1YC)?eSGa251bq{wlmUxDQAQO-s2PzK{_=9%I>e=$?@3XH14h%Ln?TmZ-1uf2 z&^aCRh${}#U(0N+2fa9b|GY~=Dqm<4@h7db%ZY*@OwuTwuKf2l4kXT_{UP6~VUb2z zj6j-9p?nEp^0+Nn*?sNi``o&i(w}bo?{2S5Nq41XluJbwH&@b%6y2cD_re9NZ1v!v>s#U0(yDb+<7hJ z$xOYeukwEeU6;XhNx5p7yxqtnG_EHRei_e-nui#YMeN=n-~9ac)ei&NoW5HgPg?_F zDC{VCwMZzQ&0)I3LCD=w1em25g?_(Z6oVa1Ai$IR^l8g5aG>8RpNy{PoL?2!b%;~; zuo@PZ_6mzDWoU>xG*IbBNOZ*>RZ8$N-VD@}AOIW^9Jy>_~Up?~ffWhEzAYx1hp;|C5*_ zJ^eRQz7bz&X?SU`MH~)@_?C`h8m-|yt;Dmo5?gGIXNL5 zt^)qTAx#0eheR%!Ud9vn2{asKSAEVxyy74rPsrXFTrO;NL zHG>}EO)GTlk{ka_+8n0$E$Y$+#-)B+-x^10@DWY9?H1fMbk?=z`KU+8JhLW&=`L*8 z>x6*ju^b8P7U%tKnnpmA-7IA*HyLL8h*RGtY@p`LncIU0^9Qb({sY(d1?(lFUL)wo Q7kTgOZzp~BbT{let c=class extends(customElements.get("ha-web-rtc-player")){async play(){return this._video?.play()}async pause(){this._video?.pause()}async mute(){this._video&&(this._video.muted=!0)}async unmute(){this._video&&(this._video.muted=!1)}isMuted(){return this._video?.muted??!0}async seek(e){this._video&&(this._video.currentTime=e)}async setControls(e){this._video&&R(this._video,e??this.controls)}isPaused(){return this._video?.paused??!0}async getScreenshotURL(){return this._video?e(this._video):null}render(){return this._error?t(this,`${this._error} (${this.entityid})`):s` - - `}static get styles(){return[super.styles,h($),d` - :host { - width: 100%; - height: 100%; - } - video { - width: 100%; - height: 100%; - } - `]}};n([b("#remote-stream")],c.prototype,"_video",void 0),c=n([l("frigate-card-ha-web-rtc-player")],c)})),customElements.whenDefined("ha-camera-stream").then((()=>{const e="web_rtc",t="mjpeg";let a=class extends(customElements.get("ha-camera-stream")){constructor(){super(...arguments),this._mediaLoadedInfoPerStream={},this._mediaLoadedInfoDispatched=null}async play(){return this._player?.play()}async pause(){this._player?.pause()}async mute(){this._player?.mute()}async unmute(){this._player?.unmute()}isMuted(){return this._player?.isMuted()??!0}async seek(e){this._player?.seek(e)}async setControls(e){this._player&&this._player.setControls(e??this.controls)}isPaused(){return this._player?.isPaused()??!0}async getScreenshotURL(){return this._player?await this._player.getScreenshotURL():null}_storeMediaLoadedInfoHandler(e,t){this._storeMediaLoadedInfo(e,t.detail),t.stopPropagation()}_storeMediaLoadedInfo(e,t){this._mediaLoadedInfoPerStream[e]=t,this.requestUpdate()}_renderStream(a){return this.stateObj?a.type===t?s` - this._storeMediaLoadedInfo(t,p(e,{player:this,technology:["mjpeg"]}))} - .src=${void 0===this._connected||this._connected?(i=this.stateObj,`/api/camera_proxy_stream/${i.entity_id}?token=${i.attributes.access_token}`):this._posterUrl||""} - /> - `:"hls"===a.type?s` this._storeMediaLoadedInfoHandler("hls",e)} - @streams=${this._handleHlsStreams} - class=${a.visible?"":"hidden"} - >`:a.type===e?s`this._storeMediaLoadedInfoHandler(e,t)} - @streams=${this._handleWebRtcStreams} - class=${a.visible?"":"hidden"} - >`:c:c;var i}updated(e){super.updated(e);const t=this._streams(this._capabilities?.frontend_stream_types,this._hlsStreams,this._webRtcStreams).find((e=>e.visible))??null;if(t){const e=this._mediaLoadedInfoPerStream[t.type];e&&e!==this._mediaLoadedInfoDispatched&&(this._mediaLoadedInfoDispatched=e,u(this,e))}}static get styles(){return[super.styles,h($),d` - :host { - width: 100%; - height: 100%; - } - img { - width: 100%; - height: 100%; - } - `]}};n([b("#player")],a.prototype,"_player",void 0),a=n([l("frigate-card-ha-camera-stream")],a)}));let S=class extends y{constructor(){super(...arguments),this.controls=!0,this._playerRef=m()}async play(){return this._playerRef.value?.play()}async pause(){this._playerRef.value?.pause()}async mute(){this._playerRef.value?.mute()}async unmute(){this._playerRef.value?.unmute()}isMuted(){return this._playerRef.value?.isMuted()??!0}async seek(e){this._playerRef.value?.seek(e)}async setControls(e){this._playerRef.value?.setControls(e??this.controls)}isPaused(){return this._playerRef.value?.isPaused()??!0}async getScreenshotURL(){return await(this._playerRef.value?.getScreenshotURL())??null}render(){if(!this.hass)return;const e=I(this,this.hass,this.cameraConfig);return e?"unavailable"===e.state?_({message:f("error.live_camera_unavailable"),type:"error",icon:"mdi:connection",context:this.cameraConfig}):s` - `:void 0}static get styles(){return h(":host {\n width: 100%;\n height: 100%;\n display: block;\n}")}};n([g({attribute:!1})],S.prototype,"hass",void 0),n([g({attribute:!1})],S.prototype,"cameraConfig",void 0),n([g({attribute:!0,type:Boolean})],S.prototype,"controls",void 0),S=n([l("frigate-card-live-ha")],S);export{S as FrigateCardLiveHA}; diff --git a/config/www/community/frigate-hass-card/ha-31684cf1.js.gz b/config/www/community/frigate-hass-card/ha-31684cf1.js.gz deleted file mode 100644 index e42179767f34f0e1c9489ef13035fb5763ad6570..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1851 zcmV-B2gLXviwFnDlQlu=|%1t_RbN&JYcoteTDW*P|l$dXOYu>5-Dy%sGkIdK4u7w;l^3^pFsEtH+p3^pF#!hm^42 z^vDQY>2X1r8B0R-uqNzUj~QX_^f)1@9%h97Q;$oM>tSBaM3K3{8KWW|u$M2s0r>t! z@IksGZXIVD_KbiYrVTowgCv!MMM~Eo26Q_8;pGo~GjrWlgQsQ8ivgQ`OTYh)(k@PF z+%-w`a7oOET{Tu2#GDRZ0*zVxa@e(+YuuX#$MYEO2SYl1{>|*gw+6>bsfz5^6f($_ z3|0x`zrc*=5PL2qI1$IU_QJ;vWq zxz3rR=bpb2ph}TDD&aDiEO`vYIIvq)jiaRm1ojbjv4&)&+CiM2dYxII0daIPYz)f$ zSd-^|#pPT5{{deOZah92)<;W#j~+aBGAo6^7y1X!AOgQNQ?H6#i6WH`tgpM~1jb`C zWi?zoc%`4?kcZ~2x-Md5ZkPbbWm2ej*O&Y4p!=zQn3riNq@(Tmf03U?7zMnz^0LF)dZ0(<7>n)$=Qy zR~=9tyBc98-R-fqmpo4~(;JXkdSjM)(B_dFTr=;2eoPA*L!5!4F;x_yrbK%9)6>gd z5U>1d&k?mbpf$Cx31nmICNxt<7j()~t~khWBg=&@bQ}HfWJnS!f6^opu6nVnhys@6 zMOw_);d>Vg66?{ut#*7^7HOFwkmhr!FTu?@eh*f^zTOu5wzV_$ezCiMaeii8x~Ny~ zDygXACM6xI)+xv~x!&XTKm>M`B;GTh#CM%f3X?)AXVY16oE48%5<1U^!>>oZjRg2S zQ4e>zt{cz3+<|wuRW-`J_fyaPOFy6eTf%~cC{&@=3m~oylS`HbkDZ}UScGP&=gtJ5 zQ#3PeXAhI&F@EJE{&5~>Gy_4~5AV`ArYF83L^>xXIw^>X-0Z^w=I%&SJUx!$cRs($3vgoU1-c4t8kd33wj`q%7#M$f2? z>56jITM8ap+FmljR1)yEAK%wBk5fz*Aga0HKA7GQVkBIiVk#j=6pJfSEGU)>FLDgQ zL96D}Lz(v;ZX;!LPrx4~NcC=kw5-EAvE9$&JlcN%&13Ml>4z~5bWul9q{gyKSLZyN z_ZY-*zGeGIE~?1F+i3zlGPlKwT;5}0?154+Jls->_Qre!CP5Ailkd}~orST-quxcx z-5Fi*Gh5mdWUKr2#1{D3vkkA?`2_pxt2UNXrl8=){-P?Q@LJPbuZ`#sJvp&!vcclUOskG-Sb9# z<|)5bT~Bl(WwQEq1gEEP5=Bqwq4rDWVZ{WbtiM%YxA-AP~ z(*ufoN7&*qT5ua_eAAc4&iYu<+wuW^Ve1N|YnVmZR;eD8w1^9qG%eu>ZQI2@C2~91 zr`2u;e4Om<7#ypAJ0?d9;hxQZFM@mCewG?G0@yon)zZN8V!?zKj;BxSROGP+Iat56e-aB;VJb~Zcn(`N1QsF p@BuYn-uNT9H@`;T=wGA%YGJPsb%~(YKUJfz{sX`-$P)Y)003P2pECde diff --git a/config/www/community/frigate-hass-card/ha-378b7a69.js b/config/www/community/frigate-hass-card/ha-378b7a69.js deleted file mode 100644 index d5f93879..00000000 --- a/config/www/community/frigate-hass-card/ha-378b7a69.js +++ /dev/null @@ -1,69 +0,0 @@ -import{dm as e,cQ as t,x as s,dw as a,dx as i,dy as r,dz as o,r as h,eM as d,_ as n,t as l,cN as c,eP as p,cP as u,a as y,cR as m,cU as _,l as f,cV as v,n as g}from"./card-769e2b91.js";import{c as $,e as b}from"./ha-hls-player-2c0fea5b.js";import{m as w}from"./audio-cf3a75aa.js";import{s as R,h as L,c as P}from"./media-d4c0d154.js";import{g as I}from"./index-9b434861.js";customElements.whenDefined("ha-web-rtc-player").then((()=>{let c=class extends(customElements.get("ha-web-rtc-player")){async play(){return this._video?.play()}async pause(){this._video?.pause()}async mute(){this._video&&(this._video.muted=!0)}async unmute(){this._video&&(this._video.muted=!1)}isMuted(){return this._video?.muted??!0}async seek(e){this._video&&(this._video.currentTime=e)}async setControls(e){this._video&&R(this._video,e??this.controls)}isPaused(){return this._video?.paused??!0}async getScreenshotURL(){return this._video?e(this._video):null}render(){return this._error?t(this,`${this._error} (${this.entityid})`):s` - - `}static get styles(){return[super.styles,h($),d` - :host { - width: 100%; - height: 100%; - } - video { - width: 100%; - height: 100%; - } - `]}};n([b("#remote-stream")],c.prototype,"_video",void 0),c=n([l("frigate-card-ha-web-rtc-player")],c)})),customElements.whenDefined("ha-camera-stream").then((()=>{const e="web_rtc",t="mjpeg";let a=class extends(customElements.get("ha-camera-stream")){constructor(){super(...arguments),this._mediaLoadedInfoPerStream={},this._mediaLoadedInfoDispatched=null}async play(){return this._player?.play()}async pause(){this._player?.pause()}async mute(){this._player?.mute()}async unmute(){this._player?.unmute()}isMuted(){return this._player?.isMuted()??!0}async seek(e){this._player?.seek(e)}async setControls(e){this._player&&this._player.setControls(e??this.controls)}isPaused(){return this._player?.isPaused()??!0}async getScreenshotURL(){return this._player?await this._player.getScreenshotURL():null}_storeMediaLoadedInfoHandler(e,t){this._storeMediaLoadedInfo(e,t.detail),t.stopPropagation()}_storeMediaLoadedInfo(e,t){this._mediaLoadedInfoPerStream[e]=t,this.requestUpdate()}_renderStream(a){return this.stateObj?a.type===t?s` - this._storeMediaLoadedInfo(t,p(e,{player:this,technology:["mjpeg"]}))} - .src=${void 0===this._connected||this._connected?(i=this.stateObj,`/api/camera_proxy_stream/${i.entity_id}?token=${i.attributes.access_token}`):this._posterUrl||""} - /> - `:"hls"===a.type?s` this._storeMediaLoadedInfoHandler("hls",e)} - @streams=${this._handleHlsStreams} - class=${a.visible?"":"hidden"} - >`:a.type===e?s`this._storeMediaLoadedInfoHandler(e,t)} - @streams=${this._handleWebRtcStreams} - class=${a.visible?"":"hidden"} - >`:c:c;var i}updated(e){super.updated(e);const t=this._streams(this._capabilities?.frontend_stream_types,this._hlsStreams,this._webRtcStreams).find((e=>e.visible))??null;if(t){const e=this._mediaLoadedInfoPerStream[t.type];e&&e!==this._mediaLoadedInfoDispatched&&(this._mediaLoadedInfoDispatched=e,u(this,e))}}static get styles(){return[super.styles,h($),d` - :host { - width: 100%; - height: 100%; - } - img { - width: 100%; - height: 100%; - } - `]}};n([b("#player")],a.prototype,"_player",void 0),a=n([l("frigate-card-ha-camera-stream")],a)}));let S=class extends y{constructor(){super(...arguments),this.controls=!0,this._playerRef=m()}async play(){return this._playerRef.value?.play()}async pause(){this._playerRef.value?.pause()}async mute(){this._playerRef.value?.mute()}async unmute(){this._playerRef.value?.unmute()}isMuted(){return this._playerRef.value?.isMuted()??!0}async seek(e){this._playerRef.value?.seek(e)}async setControls(e){this._playerRef.value?.setControls(e??this.controls)}isPaused(){return this._playerRef.value?.isPaused()??!0}async getScreenshotURL(){return await(this._playerRef.value?.getScreenshotURL())??null}render(){if(!this.hass)return;const e=I(this,this.hass,this.cameraConfig);return e?"unavailable"===e.state?_({message:f("error.live_camera_unavailable"),type:"error",icon:"mdi:connection",context:this.cameraConfig}):s` - `:void 0}static get styles(){return h(":host {\n width: 100%;\n height: 100%;\n display: block;\n}")}};n([g({attribute:!1})],S.prototype,"hass",void 0),n([g({attribute:!1})],S.prototype,"cameraConfig",void 0),n([g({attribute:!0,type:Boolean})],S.prototype,"controls",void 0),S=n([l("frigate-card-live-ha")],S);export{S as FrigateCardLiveHA}; diff --git a/config/www/community/frigate-hass-card/ha-378b7a69.js.gz b/config/www/community/frigate-hass-card/ha-378b7a69.js.gz deleted file mode 100644 index c9402eb7ca0589520cbc45e1713f22df28a75377..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1854 zcmV-E2f_FsiwFoxdR%7$|7c+?GdDP5H(@q8E^2cC-B@jN+qe<_e!qfdQx7=<(ehn# z*HEU_>)myd8RzQSP5UAB$Pl>_k?=(YK*_4Y|9%UAq(E7+l}tTa6{*YDfvZQ)5CVYAA?QLq_6X z)ff}FR^x)idaMXl!2v#W+Kf{a_ka#XSzk=z2%ec9K>jx46p6B_|eYK6&ue$#KOwzR=%T4iWgBnf$3NBrh}Z$oj@M zComrCY23h-gV*Xg4tc2G%61VWa~pGjLZqd9e{;3p4(w0$!=lQv8vRay@8W^;l8>dv zllvDNYqfT~W{x*za?O(3zxP9N|Bci9UFh?>spGIDayjIsgn^J8Xzp5@V_L~lrAO2p ztLE1@uPsm$y9S{r_V!rW3sz*9=`Bbvz12%SX#2=5uASSUKV~IOAjv_}gi4A~T_QdF z>FHH3h}V9-=ZMA}(3+ap1hO%86Y6P97j()pCK-ruBdUcebQAsXWJppfepDn9u6nVn ziG(;U%B-BP!w)VNB-W#QSMT_+EVC*{AT8$5T!QIy{2r`%eYMT^Z7XM*{c?Bz^5RUp zblI%j*FsXsbV@oxt}_r_a(%$-0T0Y7Nxc_7N$#yr3e!?ZXJf56&Wa^64W0Ah@b{zM zMha}6%Evpl>)Nxgci{b9U5^Uy!_;$s*UxAFj>N%&m$H=W1rXPS$tBB@CC<<%afD`> z=gv5rQ#8|UXAhI&F@EhM{%IbMX%3urA8yk)rYF83L@FmHDk+GJ-2CGL=I%&QJUx!$ zcRs;4=kh9+r6LO*NG}Ki%IB4~^ohw&-Mp@J?!PT&_N>(n8GQ{_fFY+T}wHqs4XG2fId#Y*wFY5e9mCYR`fm^5}N4^{?Ik zf}YVB(-md1w-h|KG`(bksl?%3KfZ5hkz|-GKxBKveK55jBuKa{!&E|!C>PhfTu>|* zRu&k7gI4XShcfR2+(pvl9*2KbAmsZ6(y|Kc#B@J{^JxD86pz7QrXR;NP(>X@ksJ$~ zt}a+U?=gtxe8cunTvU>Ux6=fAWNwNTxxB~1*aHQR@o+;a${YO=m;?pHn0%iFMW;uE{vR;Ck?~iJem|s`0dW|QmXtfJt~6aIszVw9 zxm_3;xg(?YYTBblD%;X}9N?GcLP?$mG*S5_8cC9NsoX5A>a4yS!RaZSMA0*PsQZ$6STO;qnr{`@E&i93H@3$Aj_%$nW!e+m z&3dP}=>f&PBW&>)CAhUTzU@n6XML>b?f3w{u-QWC24+#dRjLOiE#iVD%_=xT+uGRY zM6QK>UhP`o<7BU8aIF5dOpX@9J)8er1oyoCA~mc9uy^3B$7T&NY=2lmhB)cEfNu^R zwS@83lyA4+B$Q54yz7k3{ZZowa%ol2B?@GU1fsrgf z=GZktrB}Me=lX5euQ8f>$w<$~O{V83_83DJPw=LbdTzsw|1A0(rsh5BQVR)EGu}3I zrdb((!ll~v4R_7GO{b+p6d}kww>E*PSJ<-G5e9Zxo-iDmc>k#^GoZ!eQ<|sTo^ZR5 sI8`>`11i3}^+)iae~rFXzefMrz4f}|RiToD;00b(rJOBUy diff --git a/config/www/community/frigate-hass-card/ha-45d9145a.js b/config/www/community/frigate-hass-card/ha-45d9145a.js deleted file mode 100644 index 68475589..00000000 --- a/config/www/community/frigate-hass-card/ha-45d9145a.js +++ /dev/null @@ -1,68 +0,0 @@ -import{dh as e,cO as t,x as s,cY as a,ds as i,dt as r,du as o,dr as d,r as h,eE as n,_ as l,t as c,eH as p,eI as u,cK as y,a as m,cL as _,cP as f,n as v}from"./card-e5d55e5b.js";import{c as g,e as $}from"./ha-hls-player-1787796f.js";import{s as b,d as w,h as L,c as R}from"./media-921a03ae.js";import{m as I}from"./audio-cf3a75aa.js";customElements.whenDefined("ha-web-rtc-player").then((()=>{let p=class extends(customElements.get("ha-web-rtc-player")){async play(){return this._video?.play()}async pause(){this._video?.pause()}async mute(){this._video&&(this._video.muted=!0)}async unmute(){this._video&&(this._video.muted=!1)}isMuted(){return this._video?.muted??!0}async seek(e){this._video&&(this._video.currentTime=e)}async setControls(e){this._video&&b(this._video,e??this.controls)}isPaused(){return this._video?.paused??!0}async getScreenshotURL(){return this._video?e(this._video):null}render(){return this._error?(w(this),t({type:"error",message:this._error,context:{entity_id:this.entityid}})):s` - - `}_loadedDataHandler(e){super._loadedData(),d(this,e,{player:this,capabilities:{supportsPause:!0,hasAudio:I(this._video)},technology:["webrtc"]})}static get styles(){return[super.styles,h(g),n` - :host { - width: 100%; - height: 100%; - } - video { - width: 100%; - height: 100%; - } - `]}};l([$("#remote-stream")],p.prototype,"_video",void 0),p=l([c("frigate-card-ha-web-rtc-player")],p)})),customElements.whenDefined("ha-camera-stream").then((()=>{const e="web_rtc",t="mjpeg";let a=class extends(customElements.get("ha-camera-stream")){constructor(){super(...arguments),this._mediaLoadedInfoPerStream={},this._mediaLoadedInfoDispatched=null}async play(){return this._player?.play()}async pause(){this._player?.pause()}async mute(){this._player?.mute()}async unmute(){this._player?.unmute()}isMuted(){return this._player?.isMuted()??!0}async seek(e){this._player?.seek(e)}async setControls(e){this._player&&this._player.setControls(e??this.controls)}isPaused(){return this._player?.isPaused()??!0}async getScreenshotURL(){return this._player?await this._player.getScreenshotURL():null}_storeMediaLoadedInfoHandler(e,t){this._storeMediaLoadedInfo(e,t.detail),t.stopPropagation()}_storeMediaLoadedInfo(e,t){this._mediaLoadedInfoPerStream[e]=t,this.requestUpdate()}_renderStream(a){return this.stateObj?a.type===t?s` - this._storeMediaLoadedInfo(t,u(e,{player:this,technology:["mjpeg"]}))} - .src=${void 0===this._connected||this._connected?(i=this.stateObj,`/api/camera_proxy_stream/${i.entity_id}?token=${i.attributes.access_token}`):this._posterUrl||""} - /> - `:"hls"===a.type?s` this._storeMediaLoadedInfoHandler("hls",e)} - @streams=${this._handleHlsStreams} - class="player ${a.visible?"":"hidden"}" - >`:a.type===e?s`this._storeMediaLoadedInfoHandler(e,t)} - @streams=${this._handleWebRtcStreams} - class="player ${a.visible?"":"hidden"}" - >`:p:p;var i}updated(e){super.updated(e);const t=this._streams(this._capabilities?.frontend_stream_types,this._hlsStreams,this._webRtcStreams).find((e=>e.visible))??null;if(t){const e=this._mediaLoadedInfoPerStream[t.type];e&&e!==this._mediaLoadedInfoDispatched&&(this._mediaLoadedInfoDispatched=e,y(this,e))}}static get styles(){return[super.styles,h(g),n` - :host { - width: 100%; - height: 100%; - } - img { - width: 100%; - height: 100%; - } - `]}};l([$(".player:not(.hidden)")],a.prototype,"_player",void 0),a=l([c("frigate-card-ha-camera-stream")],a)}));let P=class extends m{constructor(){super(...arguments),this.controls=!1,this._playerRef=_()}async play(){return this._playerRef.value?.play()}async pause(){this._playerRef.value?.pause()}async mute(){this._playerRef.value?.mute()}async unmute(){this._playerRef.value?.unmute()}isMuted(){return this._playerRef.value?.isMuted()??!0}async seek(e){this._playerRef.value?.seek(e)}async setControls(e){this._playerRef.value?.setControls(e??this.controls)}isPaused(){return this._playerRef.value?.isPaused()??!0}async getScreenshotURL(){return await(this._playerRef.value?.getScreenshotURL())??null}render(){if(this.hass)return s` - `}static get styles(){return h(":host {\n width: 100%;\n height: 100%;\n display: block;\n}")}};l([v({attribute:!1})],P.prototype,"hass",void 0),l([v({attribute:!1})],P.prototype,"cameraConfig",void 0),l([v({attribute:!0,type:Boolean})],P.prototype,"controls",void 0),P=l([c("frigate-card-live-ha")],P);export{P as FrigateCardLiveHA}; diff --git a/config/www/community/frigate-hass-card/ha-45d9145a.js.gz b/config/www/community/frigate-hass-card/ha-45d9145a.js.gz deleted file mode 100644 index 2cd9d2b4ef83df8cdd4c1479c9d3e5d3457f6919..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1828 zcmV+<2iy1`iwFo%^lE1U|7c+?G&N*7F*G${E^2cC-B@jJ<2Dlh-d~}pxj+IKCAlKE zS2>EW*WJSgP0=9jq9}5KLrY_eyLvm4a$F0 zz)(MGk)H)-DS{BWWm$@69#FQt;aGso>!}&D$DBKY< z9>)qcC!m(Y4xQ5DG!w^FMwh^k&))p?&6{ukGPBk6MW!TC%OlaZz9!n%ZD%Bhgwf+~ z|9nPIzoB3&=L&b#;b@((@;IJ-L*JZJs&R2GWSPIqAcsPV;4y{bEzDQ}iRYqkk1##v zGH(5I{XinX^E^MgTxB4gDvC2IFb_`>ibQxD=H?)`n(bRZ&WyTd8lJ$yNH?j zIpzR`NK5(Q_IkS>*kAR-qRz4g{Z4>y;(_y$kG)5&;1lVsdsHayjIsgkvE&(A>2S$F!EEDx&Dn zL{jZs49g7jtFYvYW5#^=G&;h zWhG4@$wAVDN{Vp(+y+*Uj;;p#oQ2y7cI)HoG-&W7dsR-DEGec8zHG=`h_?` zE;A5)t=}1^jFhC_+$Y6@b@MRAggPrr;y8~ik!k3hou2+_G&o3s%~SdO#15r)^}lEE z;l61`nRj>SxnB<-j(<<8pyH)0)w3n836e_|B}<%BpHva5#hyFkY)(;454kOk9nJXo zY{@HQC8jxW+JD@hDp=tdLx@yHCMqRFMsEJGg1I|V6Nm0MaW=l-8@s%YWvP0XPNWwE z0p;^rYhusR)uCtUwXV9WVpiS&|5@9JR?T+ATP7+h;}rXd?vJ}Cn+ej3qpgSRo^2h( z2)7Tj4%3Nu&94sEAMYGu9kP|aG_efy=*Zp$1LWS*Ywcfm{skkfRi=-W$$=<%u4zWw z1WSp-kHh@-J&DNfhTCB3JV>x-vkXfKdqi2?@Uo)#Tv%CP3U+FBR(Dn29o$FK)E>%Ue*%l3fEbJK^XCo0*kjS)BIMzOR_w$)?Fn|Pr{%;v z@RP$83wj#SjAi)=ibx5ml$=emxRC(FF|v?}K5HKQmW%W=`15DiwH-dWT=&h;MUw8K z&nA=@M(1L)6|QOg4i<87HsAtlYGD%+nq}qVyC=<5G*vL%Wgz_m1{3Th zOwWte!Ll0e}$uFYI_=lt>^?4OyckBgTl<$qEl|Bo4$`(#}8 z%006ED@<=?{Kq7Gm_Rd0QptodH8ssyO@vjQcboIn|adjxz#K4M(RSoAHmTP97NG8 ztf&9Wb~i5qvTT_<&V>IZevJe04`J6qI~74SUd88~YlswXm-fTnoG()3p@# zrM#BP-rRSf^Y8QCfwx~ofHmj!cG!BZ)^>^YPdlnzbfdvgRjOnMAwv3^hvH7^&P0aim_u58F+&$A6D%^+Wh4mkMZAA7X_Mp`1NVaBDbc^^{k<$Rpv7}5Z4B2IZnm|vj4c2or@GjUKY}OyE4BU|{T~MQJ)*7= S^!~eM^wsbD1&Cqn7XScsUz|k% diff --git a/config/www/community/frigate-hass-card/ha-4f7cd760.js b/config/www/community/frigate-hass-card/ha-4f7cd760.js deleted file mode 100644 index 45029929..00000000 --- a/config/www/community/frigate-hass-card/ha-4f7cd760.js +++ /dev/null @@ -1,68 +0,0 @@ -import{di as e,cP as t,x as s,cZ as a,dt as i,du as r,dv as o,ds as d,r as h,eJ as l,_ as n,t as c,eM as p,eN as u,cL as y,a as m,cM as _,cQ as f,n as v}from"./card-320adb66.js";import{c as g,e as $}from"./ha-hls-player-b195eaa1.js";import{s as b,d as w,h as L,c as R}from"./dispatch-live-error-c649b480.js";import{m as P}from"./audio-cf3a75aa.js";customElements.whenDefined("ha-web-rtc-player").then((()=>{let p=class extends(customElements.get("ha-web-rtc-player")){async play(){return this._video?.play()}async pause(){this._video?.pause()}async mute(){this._video&&(this._video.muted=!0)}async unmute(){this._video&&(this._video.muted=!1)}isMuted(){return this._video?.muted??!0}async seek(e){this._video&&(this._video.currentTime=e)}async setControls(e){this._video&&b(this._video,e??this.controls)}isPaused(){return this._video?.paused??!0}async getScreenshotURL(){return this._video?e(this._video):null}render(){return this._error?(w(this),t({type:"error",message:this._error,context:{entity_id:this.entityid}})):s` - - `}_loadedDataHandler(e){super._loadedData(),d(this,e,{player:this,capabilities:{supportsPause:!0,hasAudio:P(this._video)},technology:["webrtc"]})}static get styles(){return[super.styles,h(g),l` - :host { - width: 100%; - height: 100%; - } - video { - width: 100%; - height: 100%; - } - `]}};n([$("#remote-stream")],p.prototype,"_video",void 0),p=n([c("frigate-card-ha-web-rtc-player")],p)})),customElements.whenDefined("ha-camera-stream").then((()=>{const e="web_rtc",t="mjpeg";let a=class extends(customElements.get("ha-camera-stream")){constructor(){super(...arguments),this._mediaLoadedInfoPerStream={},this._mediaLoadedInfoDispatched=null}async play(){return this._player?.play()}async pause(){this._player?.pause()}async mute(){this._player?.mute()}async unmute(){this._player?.unmute()}isMuted(){return this._player?.isMuted()??!0}async seek(e){this._player?.seek(e)}async setControls(e){this._player&&this._player.setControls(e??this.controls)}isPaused(){return this._player?.isPaused()??!0}async getScreenshotURL(){return this._player?await this._player.getScreenshotURL():null}_storeMediaLoadedInfoHandler(e,t){this._storeMediaLoadedInfo(e,t.detail),t.stopPropagation()}_storeMediaLoadedInfo(e,t){this._mediaLoadedInfoPerStream[e]=t,this.requestUpdate()}_renderStream(a){return this.stateObj?a.type===t?s` - this._storeMediaLoadedInfo(t,u(e,{player:this,technology:["mjpeg"]}))} - .src=${void 0===this._connected||this._connected?(i=this.stateObj,`/api/camera_proxy_stream/${i.entity_id}?token=${i.attributes.access_token}`):this._posterUrl||""} - /> - `:"hls"===a.type?s` this._storeMediaLoadedInfoHandler("hls",e)} - @streams=${this._handleHlsStreams} - class="player ${a.visible?"":"hidden"}" - >`:a.type===e?s`this._storeMediaLoadedInfoHandler(e,t)} - @streams=${this._handleWebRtcStreams} - class="player ${a.visible?"":"hidden"}" - >`:p:p;var i}updated(e){super.updated(e);const t=this._streams(this._capabilities?.frontend_stream_types,this._hlsStreams,this._webRtcStreams).find((e=>e.visible))??null;if(t){const e=this._mediaLoadedInfoPerStream[t.type];e&&e!==this._mediaLoadedInfoDispatched&&(this._mediaLoadedInfoDispatched=e,y(this,e))}}static get styles(){return[super.styles,h(g),l` - :host { - width: 100%; - height: 100%; - } - img { - width: 100%; - height: 100%; - } - `]}};n([$(".player:not(.hidden)")],a.prototype,"_player",void 0),a=n([c("frigate-card-ha-camera-stream")],a)}));let I=class extends m{constructor(){super(...arguments),this.controls=!1,this._playerRef=_()}async play(){return this._playerRef.value?.play()}async pause(){this._playerRef.value?.pause()}async mute(){this._playerRef.value?.mute()}async unmute(){this._playerRef.value?.unmute()}isMuted(){return this._playerRef.value?.isMuted()??!0}async seek(e){this._playerRef.value?.seek(e)}async setControls(e){this._playerRef.value?.setControls(e??this.controls)}isPaused(){return this._playerRef.value?.isPaused()??!0}async getScreenshotURL(){return await(this._playerRef.value?.getScreenshotURL())??null}render(){if(this.hass)return s` - `}static get styles(){return h(":host {\n width: 100%;\n height: 100%;\n display: block;\n}")}};n([v({attribute:!1})],I.prototype,"hass",void 0),n([v({attribute:!1})],I.prototype,"cameraConfig",void 0),n([v({attribute:!0,type:Boolean})],I.prototype,"controls",void 0),I=n([c("frigate-card-live-ha")],I);export{I as FrigateCardLiveHA}; diff --git a/config/www/community/frigate-hass-card/ha-4f7cd760.js.gz b/config/www/community/frigate-hass-card/ha-4f7cd760.js.gz deleted file mode 100644 index 394a8081517aafb7d817f40a4144b121fe746bbc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1835 zcmV+`2h{iba)MUpAUPTXw;hUE*x<8!Ce-SO_RNLu8S zuOeb$W&sK>lTo?*}mn%jQmn%V0DOZZ3xm||Qi$M< zTnhw0$+bk`xm=eB%OypjIv%6&7r9PRCYO0NrFm+5M?T(gv_B2 zl;*S_K7IUb^7z|#fWDq&F z@N@x_KILKUt?hbT03640gVR+4+$w@F!AxZ3mO~aXXT#hK_*OIS3bSPvT5|8WD+;`% znZ;wmyz!hwkdHilRMj|KG7!KnLJMn1TJjAc;-7}Ta2zy}BJvmBO`iU|EmQV76p)%c4%<1|m$9qoy!j$kxW+pva92QOqec6q2` zWx6Ob^ERXa8H;oN?(%%Q9+*#c{j5xqO86ZC-NdUB961Z6;3Dp<__6@sR&pDqz!;u^ zZ-9|>Uet}h5`iFmIVO=l)>{%)mFxQK<_oL-J5gS=TgxI*U{gqQ4t>Tc;M6t_N4Vs< zETZ60M^f%D#J(~>b%tw%+L*^9sn1B3i2Klhl;})}I?yH+4X)Xnpdx1+s6b#HSG|8n z6W2t2m*hBtC(;T_>z#KB;?k|Qn5fkuIMrA!eJP}`aTX;ai_m@YJWt9L z!Wd^WsGm!8Mmw-Ntn!#{JC?;(pXZzBrzc0s<9XUZNEt(bR=Sa> zdO;yB@Ps6U6JWm7lbugr2mfGzV$7b)zUN ztN)(Co9n6?X3o{2V}IGbIPNtnyn^ODm)92AI!HE}=OnTQE-C_{7CQEnk{K3iYUFKc z?81yIt}S|Ctb{lPira^qQ$?rBV(Bo!~;8hU%<>B%87&bn>ZU!aJ5}phCG+O zOC{3rJP*@ZsWe5;Qq_?{MDV$)y0dJWUjTipYy_)nJK|+MibWq${c-nX(?Pm-w6&1k zv#o(>;r3zHU>fnR`PJassSwCjdO4}0J4w4&y)8f?8!?V1OXp0vt6B#bk^x0YHXMTW2?&? zmCi;B?zB>USw$!9Oa(D)84ZPT-BP4C>Jg#{G6+TSef+o~7&#>9ya>8E!UZ|fS9>hF z)$MYuFZj{nig+!Js75^h09hb~m~%=dqPPVC2t&a_#_FuPaceHp&ft$9ZQFGC=ycsT zeOpj=TllO)DZ*%-Y_`HRso%ju4vsrqU`;JdLV}YdU%a|iOhr)z&0RXuPhc?KKD5LW zBeDg^|2u~b9cuthHjH?i@HU>b!Tz2RD^u}+mnXHeK`zPf;DUttU z#`!)Om%Vb2Z2tz6OCElngm<$jl3w`5aE_@(s!}!OXw6;Mf}tigJZRogxmMFrlfI5T z@k>3E#HI#~Wl6D`c*JcP*Mf!lrmiRWRpdD0@<8)qu9%l{vJJ`9;cm;V9+)>=74r2E zdObJ@f(KYn`^$DWF9NiznY)+?|0RAc2H<2;?ptS`dh zYP$L4wrlU4JMD~Vr&@wHCX&qtR8k_Vo>GANJ6QY)9-tt)r>n z-Eq))|I?d$TALL+cHO@I$hvJt?mOK@3gib~5kB9VBzgEjh$`FF?Pcz)T2ku^!XWy= znb}rkVAefl4+S%D_b3jK`l9!Jo+p5_yH@HLt}UExYiH_vb&O>fJ9CF{tG-g7$* diff --git a/config/www/community/frigate-hass-card/ha-9af0bc47.js b/config/www/community/frigate-hass-card/ha-9af0bc47.js deleted file mode 100644 index 8e58f6c7..00000000 --- a/config/www/community/frigate-hass-card/ha-9af0bc47.js +++ /dev/null @@ -1,61 +0,0 @@ -import{dm as e,cQ as t,x as s,dw as a,dx as r,dy as i,dz as o,r as h,eM as l,_ as n,t as u,a as d,cR as c,cU as y,l as p,cV as m,n as _}from"./card-7cd05290.js";import{c as v,e as g}from"./ha-hls-player-717bfdfd.js";import{m as f}from"./audio-cf3a75aa.js";import{s as $,h as b,c as w}from"./media-67c578aa.js";import{g as R}from"./index-3c9b9749.js";customElements.whenDefined("ha-web-rtc-player").then((()=>{let d=class extends(customElements.get("ha-web-rtc-player")){async play(){return this._video?.play()}async pause(){this._video?.pause()}async mute(){this._video&&(this._video.muted=!0)}async unmute(){this._video&&(this._video.muted=!1)}isMuted(){return this._video?.muted??!0}async seek(e){this._video&&(this._video.currentTime=e)}async setControls(e){this._video&&$(this._video,e??this.controls)}isPaused(){return this._video?.paused??!0}async getScreenshotURL(){return this._video?e(this._video):null}render(){return this._error?t(this,`${this._error} (${this.entityid})`):s` - - `}static get styles(){return[super.styles,h(v),l` - :host { - width: 100%; - height: 100%; - } - video { - width: 100%; - height: 100%; - } - `]}};n([g("#remote-stream")],d.prototype,"_video",void 0),d=n([u("frigate-card-ha-web-rtc-player")],d)})),customElements.whenDefined("ha-camera-stream").then((()=>{let e=class extends(customElements.get("ha-camera-stream")){async play(){return this._player?.play()}async pause(){this._player?.pause()}async mute(){this._player?.mute()}async unmute(){this._player?.unmute()}isMuted(){return this._player?.isMuted()??!0}async seek(e){this._player?.seek(e)}async setControls(e){this._player&&this._player.setControls(e??this.controls)}isPaused(){return this._player?.isPaused()??!0}async getScreenshotURL(){return this._player?await this._player.getScreenshotURL():null}render(){return this.stateObj?this._shouldRenderMJPEG?s` - {a(this,e,{player:this,technology:["mjpeg"]})}} - .src=${void 0===this._connected||this._connected?(e=this.stateObj,`/api/camera_proxy_stream/${e.entity_id}?token=${e.attributes.access_token}`):""} - /> - `:"hls"===this.stateObj.attributes.frontend_stream_type?this._url?s` `:s``:"web_rtc"===this.stateObj.attributes.frontend_stream_type?s``:void 0:s``;var e}static get styles(){return[super.styles,h(v),l` - :host { - width: 100%; - height: 100%; - } - img { - width: 100%; - height: 100%; - } - `]}};n([g("#player")],e.prototype,"_player",void 0),e=n([u("frigate-card-ha-camera-stream")],e)}));let j=class extends d{constructor(){super(...arguments),this.controls=!0,this._playerRef=c()}async play(){return this._playerRef.value?.play()}async pause(){this._playerRef.value?.pause()}async mute(){this._playerRef.value?.mute()}async unmute(){this._playerRef.value?.unmute()}isMuted(){return this._playerRef.value?.isMuted()??!0}async seek(e){this._playerRef.value?.seek(e)}async setControls(e){this._playerRef.value?.setControls(e??this.controls)}isPaused(){return this._playerRef.value?.isPaused()??!0}async getScreenshotURL(){return await(this._playerRef.value?.getScreenshotURL())??null}render(){if(!this.hass)return;const e=R(this,this.hass,this.cameraConfig);return e?"unavailable"===e.state?y({message:p("error.live_camera_unavailable"),type:"error",icon:"mdi:connection",context:this.cameraConfig}):s` - `:void 0}static get styles(){return h(":host {\n width: 100%;\n height: 100%;\n display: block;\n}")}};n([_({attribute:!1})],j.prototype,"hass",void 0),n([_({attribute:!1})],j.prototype,"cameraConfig",void 0),n([_({attribute:!0,type:Boolean})],j.prototype,"controls",void 0),j=n([u("frigate-card-live-ha")],j);export{j as FrigateCardLiveHA}; diff --git a/config/www/community/frigate-hass-card/ha-9af0bc47.js.gz b/config/www/community/frigate-hass-card/ha-9af0bc47.js.gz deleted file mode 100644 index 79e9d4a7ac623e5e3cfbd7aa7a7cf0f737407cb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1566 zcmV+(2I2W1iwFpA_*Q2E|7c+?IbminVq-KnE^2cC%~;!V+cpq=&sWf_>mg?#T5g)U zrYx&zn%*Xvrf$=hG$TR8N`%6T1^^|i3je(e@FG$-E1hA1b^r?CW&5#`9!3#?Og^`u+DYBy3fA2>3TD1_jplYpkWIFdYM+}kaogI zcIFXXf#_UcU5_Vh!kS^`wI&swW{jtuVDgk+KclpXlNxtULcNTMdDyawih*(3`RY1& zcKvlbYN~Pf6^q7u*LK|#W#vz2ZNYHu2MP30;HEWLN!wE&fg#8M%b-f+Pg zqyw*TnT`u_)NHMqgxtXrm* z03RGUmO03Tzz+S+W9Wlhhp887qC^_Wo#^vsIDx^yY=aW63w)#7ai~Jmt7eIKGQR}^ zAdz9J-rm339|z5+x_**HQI2&p5ZibVA{7H=@MLtpZdh~6DfjrsT&+0E-I43d(G#ou zcWd(3Tg&3CZwrW11s$mb(AaJ`2Q*Wuz8?KDt=_-Eeck|-XICQ3rs*E&c*&CpZ+ZnX zrk{+d1+AJ~;i`QT^i7mf1}p|e8C4XaW<*-}i;HpV5SMPgCq)?!7)^_A0$CSx{CklcvNuzYS^55AwkT{R_`+Td0MH*!> z0% zu%qPFBB6LThv^OnA$Lm=V3uMO`u%=U40bSq08j4Y$1TIafqtueGP00HhomUye#;+s*ne?>6J@+xT^7S0z@D zZ|1@;uSCyO`TU`t_OiQ~h_Ij5?e>UoJ{VhFDO9nX`z=pX63?#kEpJ2Xwmcq%C9@t_M?^@?%v%9zcKKLkTQo_>^}LJ z1*_j&!&E{@CGSNOhxo3o0!5KZ!Zg z(|;r78}WsfhL`qQ#NmL5Z|Nwe(Hh>TvBlPS#t6&;m1?#&J#;+JqhgvFb#_VX zD&Q|1(iDJunDm2<0w0uW#CZ!EWpILKH?fb2cLV#liZ{Tg$$2B-R9$a`oGkFIn13$r zt!h6><&CgA2XgI(VbZq9^NDj-6M|bL?U|c}-+uRnRM-CULYYg7?>gaAw^!By13OFT zg7S!tBhZuz1%(V&&N@cbq*L(cj%|MUc@ba0uvFn@7+zT%7{5T-gkvGT9W(BilFrk_ zCc3FO1^!Mkx&H0AE1RvMD#!MG9d9?S{v~pdCu>gB-vzbtG3u?U8&A`iiqC{y3T@R{ zGw2cCv_i)&x$)1W&0%`qqAqP zP6%io%aOotao*piX#_Oc%~G~XxjlF=f8d(wKX83tz+NEg6@q?z Qp7);o4XTc4JU0{o0Dk@uumAu6 diff --git a/config/www/community/frigate-hass-card/ha-a4f2c69e.js b/config/www/community/frigate-hass-card/ha-a4f2c69e.js deleted file mode 100644 index 42f8ec35..00000000 --- a/config/www/community/frigate-hass-card/ha-a4f2c69e.js +++ /dev/null @@ -1,69 +0,0 @@ -import{dm as e,cQ as t,x as s,dw as a,dx as i,dy as r,dz as o,r as h,eM as d,_ as n,t as l,cN as c,eP as p,cP as u,a as y,cR as m,cU as _,l as f,cV as v,n as g}from"./card-09c4bade.js";import{c as $,e as b}from"./ha-hls-player-ba5834a9.js";import{m as w}from"./audio-cf3a75aa.js";import{s as R,h as L,c as P}from"./media-aef44451.js";import{g as I}from"./index-e610f971.js";customElements.whenDefined("ha-web-rtc-player").then((()=>{let c=class extends(customElements.get("ha-web-rtc-player")){async play(){return this._video?.play()}async pause(){this._video?.pause()}async mute(){this._video&&(this._video.muted=!0)}async unmute(){this._video&&(this._video.muted=!1)}isMuted(){return this._video?.muted??!0}async seek(e){this._video&&(this._video.currentTime=e)}async setControls(e){this._video&&R(this._video,e??this.controls)}isPaused(){return this._video?.paused??!0}async getScreenshotURL(){return this._video?e(this._video):null}render(){return this._error?t(this,`${this._error} (${this.entityid})`):s` - - `}static get styles(){return[super.styles,h($),d` - :host { - width: 100%; - height: 100%; - } - video { - width: 100%; - height: 100%; - } - `]}};n([b("#remote-stream")],c.prototype,"_video",void 0),c=n([l("frigate-card-ha-web-rtc-player")],c)})),customElements.whenDefined("ha-camera-stream").then((()=>{const e="web_rtc",t="mjpeg";let a=class extends(customElements.get("ha-camera-stream")){constructor(){super(...arguments),this._mediaLoadedInfoPerStream={},this._mediaLoadedInfoDispatched=null}async play(){return this._player?.play()}async pause(){this._player?.pause()}async mute(){this._player?.mute()}async unmute(){this._player?.unmute()}isMuted(){return this._player?.isMuted()??!0}async seek(e){this._player?.seek(e)}async setControls(e){this._player&&this._player.setControls(e??this.controls)}isPaused(){return this._player?.isPaused()??!0}async getScreenshotURL(){return this._player?await this._player.getScreenshotURL():null}_storeMediaLoadedInfoHandler(e,t){this._storeMediaLoadedInfo(e,t.detail),t.stopPropagation()}_storeMediaLoadedInfo(e,t){this._mediaLoadedInfoPerStream[e]=t,this.requestUpdate()}_renderStream(a){return this.stateObj?a.type===t?s` - this._storeMediaLoadedInfo(t,p(e,{player:this,technology:["mjpeg"]}))} - .src=${void 0===this._connected||this._connected?(i=this.stateObj,`/api/camera_proxy_stream/${i.entity_id}?token=${i.attributes.access_token}`):this._posterUrl||""} - /> - `:"hls"===a.type?s` this._storeMediaLoadedInfoHandler("hls",e)} - @streams=${this._handleHlsStreams} - class=${a.visible?"":"hidden"} - >`:a.type===e?s`this._storeMediaLoadedInfoHandler(e,t)} - @streams=${this._handleWebRtcStreams} - class=${a.visible?"":"hidden"} - >`:c:c;var i}updated(e){super.updated(e);const t=this._streams(this._capabilities?.frontend_stream_types,this._hlsStreams,this._webRtcStreams).find((e=>e.visible))??null;if(t){const e=this._mediaLoadedInfoPerStream[t.type];e&&e!==this._mediaLoadedInfoDispatched&&(this._mediaLoadedInfoDispatched=e,u(this,e))}}static get styles(){return[super.styles,h($),d` - :host { - width: 100%; - height: 100%; - } - img { - width: 100%; - height: 100%; - } - `]}};n([b("#player")],a.prototype,"_player",void 0),a=n([l("frigate-card-ha-camera-stream")],a)}));let S=class extends y{constructor(){super(...arguments),this.controls=!0,this._playerRef=m()}async play(){return this._playerRef.value?.play()}async pause(){this._playerRef.value?.pause()}async mute(){this._playerRef.value?.mute()}async unmute(){this._playerRef.value?.unmute()}isMuted(){return this._playerRef.value?.isMuted()??!0}async seek(e){this._playerRef.value?.seek(e)}async setControls(e){this._playerRef.value?.setControls(e??this.controls)}isPaused(){return this._playerRef.value?.isPaused()??!0}async getScreenshotURL(){return await(this._playerRef.value?.getScreenshotURL())??null}render(){if(!this.hass)return;const e=I(this,this.hass,this.cameraConfig);return e?"unavailable"===e.state?_({message:f("error.live_camera_unavailable"),type:"error",icon:"mdi:connection",context:this.cameraConfig}):s` - `:void 0}static get styles(){return h(":host {\n width: 100%;\n height: 100%;\n display: block;\n}")}};n([g({attribute:!1})],S.prototype,"hass",void 0),n([g({attribute:!1})],S.prototype,"cameraConfig",void 0),n([g({attribute:!0,type:Boolean})],S.prototype,"controls",void 0),S=n([l("frigate-card-live-ha")],S);export{S as FrigateCardLiveHA}; diff --git a/config/www/community/frigate-hass-card/ha-a4f2c69e.js.gz b/config/www/community/frigate-hass-card/ha-a4f2c69e.js.gz deleted file mode 100644 index c6f78956fea51ec5cd722d62815caa82916cd77f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1850 zcmV-A2gUdwiwFo?dR%7$|7c+?VKinkV>UTuE^2cC-B?|7+qw~bzrTWJQx7=<(ehlU zx1mg{_p6i4IIU|p?L+F3A#x=m;fD%syUC3#eXAjwLNlq7o2NU~NVC&|CmSQ4&=l)!s6CS;<9f=D%FB>s~c zV*)p7T##6g6`^WallWGRIf*~0aY8aR%t-t z2v#W+zrc(Yka#XSzk=z2%ec9K>jx46p6B_|)g}Y!#8I44f$@5jP$a_JIc^Se?=k*{ ziggh?YVP?P4zl8fBU2`V$&w{djsvq*H#k}eKwuwX78^)j$sNS$sb|ds1xTWkVQWwo z$C{k`H52dE{|9{4xbgU8*c>eYK6~)o$#KOwzR+J;4iWgBnf$pdBrh}Z#QN4YComrC zY23h-gE#6q4tc2G%61VWa~E@fLZqeqaC^Pq4(w0$!=lQv8vRay@8W^;l8>dvlZRIu zYqfT~W{x*za?O(3fAB-`@SW5AUF!3@spGIDayjIsgn^J8Xzp5@V_L~lrAO2ptL8U2 zuPsm$y9S{r_V!rW3sz*9=`Bbvz0*rQX#2=5uASSUKV&7+L6U={36&I~xT)6?r- z5O4f?&k>C|pfxqG31nmHCe+iIF6fkHOfnGRMpO$`=qCE%$&jQ}{HRDIT=imC6A5uz zlvz1nhaX)mNUTTqzTWX+S!Pv^Kw8Y9xdhYa_&r$j`f8i++g8pr`{nNb)#aIX>8e?I zsD-4G>6CPYTxTG<(;PVMKHR2pOiz46h*VBYR8kNbx%sCB%-xZqczPVg?|g!9 z&gE4sOGOqskX{f3l+P<|=@XNmx_Mpe+<#Zh${XN!`iy8(???Q?#DdB=#q!pKbhwq6 zM|!rGbdbZ%q=lHp{oSL*w9AJYMvLpV4|a_f*{nX-A`JBO)Sd-BtDP76+NRd zrYp*1Zz*_cX?n>7Q;Ea-eth53BFQjWfXMcS`(SE6NRV(@hN*-cQ7&$Hxu94stSm4D z2d&yu4`tp*xR0dCJr4h@K*$dZq-7P>iRpd@=h6NHC?119Pd|-mpo%(*A~_Z|U0t$# z-eVBW`G)PExu_%yZ>I_L$lMewa(R!1u?GqsBa${ePV-RAZ_iF6;O-dkT z1OLFYFJD~OcKGaS%bTH#ve`wS%~RqtI+wdtxE0nr%Aw)L1Crt7-2PBY2iWR?W?8xV z^-;?T;GNLut$u~v2#(PZ0k-ZAp#JY|w%Vx$v@x=xV8gptZt>f9@3m_CQA1r2q0u2P zWo28XI#2}q0>C6mcbQ45!EZBR3a587-CYn#gC!Gen!(t0G5jn^pm2M#;cx<6J%nA& zsbsl)zHNT{eEEM2zdR=VicXIR{oi4FE8}k({eDO>1L80qEh%?cU1_>bREIPIa=S1x zaz{q()wD;ARJNt{IKVH>g_1lCXrl5UkqJ z^Q7OYt`|Cy)LDH$g40ttiJ}+uQ1>PCuwnvIHQy?*Tl_C6Z)}bK9o@ZE%CslAoApj{ z(*ufoN7&*qN^omweAk!8&iYu<+wlQ@VY7wOEzF{Pt5gq4TEqoQnpJRwwzaV@iChc& zvf8!4$H`vH;8^`@nH(*Idp7^M2=00NRccrZVDG?LPt6))*#5AB3~|zR0pA=tY6;_= zDc^3tNhqD9c-I-5`=iDW@kKcp5aX=_1uOV|55ZgOwD`Lr4|yTX1s0aOtUin zj7zoa8}6EWn@&rIC_<2V?rZ{6udrpWBMj`YJYzUC@&2hSGoZ!OQ<|sTo^ZF1I8`>` o11i3}^GEQge~rFVzefMjz(i.configurable=!0,i.enumerable=!0,Reflect.decorate&&"object"!=typeof e&&Object.defineProperty(t,e,i),i) -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */;function f(t,e){return(i,s,a)=>{const o=e=>e.renderRoot?.querySelector(t)??null;if(e){const{get:t,set:e}="object"==typeof s?i:a??(()=>{const t=Symbol();return{get(){return this[t]},set(e){this[t]=e}}})();return _(i,s,{get(){let i=t.call(this);return void 0===i&&(i=o(this),(null!==i||this.hasUpdated)&&e.call(this,i)),i}})}return _(i,s,{get(){return o(this)}})}}var g="img,\nvideo {\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n object-view-box: inset(var(--frigate-card-media-layout-view-box-top, 0%) var(--frigate-card-media-layout-view-box-right, 0%) var(--frigate-card-media-layout-view-box-bottom, 0%) var(--frigate-card-media-layout-view-box-left, 0%));\n}";customElements.whenDefined("ha-hls-player").then((()=>{let _=class extends(customElements.get("ha-hls-player")){async play(){return this._video?.play()}async pause(){this._video?.pause()}async mute(){this._video&&(this._video.muted=!0)}async unmute(){this._video&&(this._video.muted=!1)}isMuted(){return this._video?.muted??!0}async seek(t){this._video&&(c(this._video),this._video.currentTime=t)}async setControls(t){this._video&&v(this._video,t??this.controls)}isPaused(){return this._video?.paused??!0}async getScreenshotURL(){return this._video?t(this._video):null}render(){if(this._error){if(this._errorIsFatal)return y(this),e({type:"error",message:this._error,context:{entity_id:this.entityid}});i(this._error,console.error)}return s` - - `}_loadedDataHandler(t){super._loadedData(),d(this,t,{player:this,capabilities:{supportsPause:!0,hasAudio:m(this._video)},technology:["hls"]})}static get styles(){return[super.styles,n(g),h` - :host { - width: 100%; - height: 100%; - } - video { - width: 100%; - height: 100%; - } - `]}};l([f("#video")],_.prototype,"_video",void 0),_=l([u("frigate-card-ha-hls-player")],_)}));export{g as c,f as e}; diff --git a/config/www/community/frigate-hass-card/ha-hls-player-1787796f.js.gz b/config/www/community/frigate-hass-card/ha-hls-player-1787796f.js.gz deleted file mode 100644 index 6ff649ac396fde7b882b46b82834f55084863282..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1276 zcmVniUw31`Z>hEOwOWk(3+5)w}N~%C79DXbWtH;q%>n zcgG{|juh2GX}jhnVTM?mzj72P|ItxF?;SCe8%G)C)=@=yqLE$Pe= zNjq@U7Ftz7a+EX8V>sa_Cvb9?yfeW>_}E?OoOU6WlsmGbxg(2>Z3SGg_@~FmZ2W}5 z(74(_Si^;i^Wq76dcs%-IXHUs=zu&T&!xzrHsJoBsl`f*d1=Yx@$pmgn^JQLIDW~YwxSTAQ}WBzdHf_kldS2y9ObGumdvuyQlKKrPD7EPtPt}?vpWgd z;h2g9>ZXD%{~8JjxlK6aN;3}mn3ASip)i4atX8ZNb3fVQhX41WK= zlqN+}=T@ki6fRt})?gc5hk_c)FvGRaS!Ix&LZYGOpkFIxr^!DJ=+zat&|YG!9Yv;e!(- zB{Odp98Zo%qY-@cgU5nLgMr(J!uGP>sYA6(rpY`DL^Y>x>!skJ$og$fh~JmE5H=-< z3FElHbH#vh*E_xmBwMMb15tu|Wtpg>$-sJ{jBv;JWfvP{d{4>A_=o804OZS@7k{O(=_ZBexR;1(}VuUhEk*fmYId;%qteMeTIjv3U=7>%DZl z^SK3gTQ^)W9@15=0Vipx?3>pY58K(D3{p2kT0bojk2BG0L2IS=`IqKbW|@q7ud99z zLAZ82c-Wz z>oVA~gb1Dmoh%p#6C4T_boRa9d(XYmvK?TitidkFTHT-=e~J7M)E82Z=$IWJ&fbVx zV!LgFInm2bv;*B7@dmfyhoI+DF%G-}%W$MKgm%5UgCC7{%8@Q`c7N)kH@DfT$9m~G zN`GfHm*B3%9kZp9_%6sxR?nf2%lg}42p%(j)T{ffMl*5N#&w$!j_k!CpCCB6O z50f253GSx&R5RSi{`&o|9Nylv?L>yxMHqbNdnLM|vt*%_Rj!F?;CCjV{?QT9S%&Z? m40i6Ly{iCSL@nMzaNoUo=l;Q5bWinma_}#)zc^3C3jhG{0)&hJ diff --git a/config/www/community/frigate-hass-card/ha-hls-player-2c0fea5b.js b/config/www/community/frigate-hass-card/ha-hls-player-2c0fea5b.js deleted file mode 100644 index 504f7779..00000000 --- a/config/www/community/frigate-hass-card/ha-hls-player-2c0fea5b.js +++ /dev/null @@ -1,34 +0,0 @@ -import{dm as e,cQ as t,db as i,x as s,dx as a,dy as o,dz as r,dw as d,r as n,eM as h,_ as l,t as u}from"./card-769e2b91.js";import{m as c}from"./audio-cf3a75aa.js";import{h as v,s as p,c as y}from"./media-d4c0d154.js"; -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const m=(e,t,i)=>(i.configurable=!0,i.enumerable=!0,Reflect.decorate&&"object"!=typeof t&&Object.defineProperty(e,t,i),i) -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */;function _(e,t){return(i,s,a)=>{const o=t=>t.renderRoot?.querySelector(e)??null;if(t){const{get:e,set:t}="object"==typeof s?i:a??(()=>{const e=Symbol();return{get(){return this[e]},set(t){this[e]=t}}})();return m(i,s,{get(){let i=e.call(this);return void 0===i&&(i=o(this),(null!==i||this.hasUpdated)&&t.call(this,i)),i}})}return m(i,s,{get(){return o(this)}})}}var f="img,\nvideo {\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n object-view-box: inset(var(--frigate-card-media-layout-view-box-top, 0%) var(--frigate-card-media-layout-view-box-right, 0%) var(--frigate-card-media-layout-view-box-bottom, 0%) var(--frigate-card-media-layout-view-box-left, 0%));\n}";customElements.whenDefined("ha-hls-player").then((()=>{let m=class extends(customElements.get("ha-hls-player")){async play(){return this._video?.play()}async pause(){this._video?.pause()}async mute(){this._video&&(this._video.muted=!0)}async unmute(){this._video&&(this._video.muted=!1)}isMuted(){return this._video?.muted??!0}async seek(e){this._video&&(v(this._video),this._video.currentTime=e)}async setControls(e){this._video&&p(this._video,e??this.controls)}isPaused(){return this._video?.paused??!0}async getScreenshotURL(){return this._video?e(this._video):null}render(){if(this._error){if(this._errorIsFatal)return t(this,this._error);i(this._error,console.error)}return s` - - `}_loadedDataHandler(e){super._loadedData(),d(this,e,{player:this,capabilities:{supportsPause:!0,hasAudio:c(this._video)},technology:["hls"]})}static get styles(){return[super.styles,n(f),h` - :host { - width: 100%; - height: 100%; - } - video { - width: 100%; - height: 100%; - } - `]}};l([_("#video")],m.prototype,"_video",void 0),m=l([u("frigate-card-ha-hls-player")],m)}));export{f as c,_ as e}; diff --git a/config/www/community/frigate-hass-card/ha-hls-player-2c0fea5b.js.gz b/config/www/community/frigate-hass-card/ha-hls-player-2c0fea5b.js.gz deleted file mode 100644 index 506e461be261b2be91174ee460002c67e08fc517..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1244 zcmV<21S9(&iwFoxdR%7$|7c+?Xl!#WaBN|DWpXVtV=!iAVKrhdYI6X!R(o&THW2?m zpMud=Ln0?FhDsGqTQ6R;#W(5YMK|+fsiyb9;B;`bN_1(vZKHuH% z9whIMWaUywy{0813IWc3w^U;~x0K;qOBAM#5=8<7YoShez}0hsg&OOqq}ELT5dU)Rc)h%O8_xPYD^~3X5A|Wyum} zmNdOp36znTKFP-P@aYq0wRiCF;U0R3UUHT}rNI6_7RyGmMWNB7@!>P{ix3MA==Aj1 zD$mbO{)|sOIDSo`(ky2nC+NrXllXCb%t`IM9Au(W8kK1XSYsBYMak~xQT ze~eiIRb9e{e+xN>OeYjFA&G|3C=l}xMiT6&x>Nf3{o%YLCGd3Z!Sr~o_1L=8F&IJ#nsn5f@2>YavE||K2 z%htNIQ93@=ZQDj08&taNJ5vrCu@sVwa2{HN4QwSCMdLJ0*=Q89RCp~8?K1X_^y5b> zND89fEvY#<8jVK!lOJ;|=4edd_P(&4taEBn?TSd0rvWP$_+hCg2$~gInLuuMb zB{v0BC$3Lv7!)KfxQds?2go2wv{8n>qHW=oX~u~%^YvDn&QalxD_bhNE}}J2O_d?b zZ&!YD<%(vOcvaisY$u1l7d|1pu!EGf-a(jxA8?5UP&2H0gSz@!lf$TG>W%&XnOq%i zHrpR}t`)#vW?1ZaUJZRmco- z?#|~Dc3U^h*c{S%Cc#Y7Lg;sIPw%&btrbk{3~BweG_niMF8qG4;5fAA(+TK`77?G%;hD7^v&F zE&OP-RZ_Sy^Y^Zc&K%6u=CEFRVx+&4igK{m+LqZ$aC5h31*sO$#U66w zFfk7lbHBZ^Pp?U~Rl+USW}%hfV$n=40yCn5OLL1UO*C^&fs}4Is7*Uu_>8<1S79FE z;(D;`Nnr{Mtp^f>ZWz_Y1RajY52jm+0_?QEs~PTNcZL2}4zDlUcFMzxt1$S^_eyk$ z%Va5q7WT!01HUr?_78^$m#Kl*VX$?l?2L2cB5KV|0=Modo4Y5ke(i.configurable=!0,i.enumerable=!0,Reflect.decorate&&"object"!=typeof t&&Object.defineProperty(e,t,i),i) -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */;function _(e,t){return(i,s,a)=>{const o=t=>t.renderRoot?.querySelector(e)??null;if(t){const{get:e,set:t}="object"==typeof s?i:a??(()=>{const e=Symbol();return{get(){return this[e]},set(t){this[e]=t}}})();return m(i,s,{get(){let i=e.call(this);return void 0===i&&(i=o(this),(null!==i||this.hasUpdated)&&t.call(this,i)),i}})}return m(i,s,{get(){return o(this)}})}}var f="img,\nvideo {\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n object-view-box: inset(var(--frigate-card-media-layout-view-box-top, 0%) var(--frigate-card-media-layout-view-box-right, 0%) var(--frigate-card-media-layout-view-box-bottom, 0%) var(--frigate-card-media-layout-view-box-left, 0%));\n}";customElements.whenDefined("ha-hls-player").then((()=>{let m=class extends(customElements.get("ha-hls-player")){async play(){return this._video?.play()}async pause(){this._video?.pause()}async mute(){this._video&&(this._video.muted=!0)}async unmute(){this._video&&(this._video.muted=!1)}isMuted(){return this._video?.muted??!0}async seek(e){this._video&&(v(this._video),this._video.currentTime=e)}async setControls(e){this._video&&p(this._video,e??this.controls)}isPaused(){return this._video?.paused??!0}async getScreenshotURL(){return this._video?e(this._video):null}render(){if(this._error){if(this._errorIsFatal)return t(this,this._error);i(this._error,console.error)}return s` - - `}_loadedDataHandler(e){super._loadedData(),d(this,e,{player:this,capabilities:{supportsPause:!0,hasAudio:c(this._video)},technology:["hls"]})}static get styles(){return[super.styles,n(f),h` - :host { - width: 100%; - height: 100%; - } - video { - width: 100%; - height: 100%; - } - `]}};l([_("#video")],m.prototype,"_video",void 0),m=l([u("frigate-card-ha-hls-player")],m)}));export{f as c,_ as e}; diff --git a/config/www/community/frigate-hass-card/ha-hls-player-717bfdfd.js.gz b/config/www/community/frigate-hass-card/ha-hls-player-717bfdfd.js.gz deleted file mode 100644 index 255a99698092ead528ad397b037a34cb2df5eb09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1243 zcmV<11SI<(iwFpA_*Q2E|7c+?Xl!#WaBN|DWpXVyF*jmnWM*V8YI6X!R(o&THW2?m zpMud=Ln>mEOwOWk(3k7)ps8sk}JC@+5($l_{N-%9K6`1~Gsl@coQi`P|6^2)q7Wl>z zj)QIC-anDf6*i=&Xm4nlce*`BQRyM92_VSlkLLOO`mZ zr0K0npp3-d9cM?!-*;Af2ag}`p~vVsXBkuq?Eh1-Y$RJ08a){w9;07`Sa3k+=ciVA zd2#kT5;pv6$T?&>p^ynlG>k@pn7=cUU_aH(5=4&lX!M&C8BoqDxR7EAQa4=~^Zoyp zG|lTO(@a$8#)ga55_B!AkYR<1S>f8RS)@8W(TRkLf_yE6o+W?RAe&3DixV=0Xf~^A z&ZjI7jTdLNUVxqeR_0f?X}|2WU$&aD37O5p@Ix3#FPm~McoK} z)}@Wo@u_axHrm*r(q-S7a?psSkYt4O&>C!DE5Rrlr)kPYqmZS-YjJ3ov2UdB-&;Xa z5cOtB&B@VdG}0gZm}4M4~(mSh>J&s}-Xl(E4qKkl&X$XL^DR zCXD0UoT~{KyUy_y&PgL`2g1ngl_so;rUUDxP|P0V=Uw#3_#UI9@uTR=4H|DS47*}* z7th801hL8<%IAFb_*jc2Mqd(rW8rH3D{baNYf*ls5r^Ezu`6wZX;v%aPt-yqn4>x_Wvhxb-3AV zf84oN0DqZbvEz9)^c~@0psbc=>gYdM2`NMyFZ$FpffQVQxY}UbTz87|P zK9#WBx?#rVkS;R`W|9^{zj=NBupMlzU}9%T>!+o`+nMOJAf=GI{7dyS(S%36S3g~b z22(b~V>>Gahr}!U@uP0{Q1^M}ve>W)F`5QW77T=mX>1KL{nqcF=iW%(4lpxPn@%!oK#`YWj@2Yan;nXLpjcY9WlY5`qb(oOgwtlKcF77wXy ziFJCpt3P>m;8H&6B)9E@X{}Xl-U!2#!w6GfI)K-HnoJyBiM6wjD&GVX z^FT58+Y9^jnq*rg++uAOS_v)|&EzUDBPzHyx0upIGuISI>4t;aw8NFp$V+h*<`FJ# z2g{xmrohm8AVKJkQC&>X;duOLx}_+*{{rQ+vVMjO F008q8W-I^z diff --git a/config/www/community/frigate-hass-card/ha-hls-player-abb86874.js b/config/www/community/frigate-hass-card/ha-hls-player-abb86874.js deleted file mode 100644 index e6a90422..00000000 --- a/config/www/community/frigate-hass-card/ha-hls-player-abb86874.js +++ /dev/null @@ -1,34 +0,0 @@ -import{dm as e,cQ as t,db as i,x as s,dx as a,dy as o,dz as r,dw as d,r as n,eM as h,_ as l,t as u}from"./card-c642ee74.js";import{m as c}from"./audio-cf3a75aa.js";import{h as v,s as p,c as y}from"./media-6eadcd60.js"; -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const m=(e,t,i)=>(i.configurable=!0,i.enumerable=!0,Reflect.decorate&&"object"!=typeof t&&Object.defineProperty(e,t,i),i) -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */;function _(e,t){return(i,s,a)=>{const o=t=>t.renderRoot?.querySelector(e)??null;if(t){const{get:e,set:t}="object"==typeof s?i:a??(()=>{const e=Symbol();return{get(){return this[e]},set(t){this[e]=t}}})();return m(i,s,{get(){let i=e.call(this);return void 0===i&&(i=o(this),(null!==i||this.hasUpdated)&&t.call(this,i)),i}})}return m(i,s,{get(){return o(this)}})}}var f="img,\nvideo {\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n object-view-box: inset(var(--frigate-card-media-layout-view-box-top, 0%) var(--frigate-card-media-layout-view-box-right, 0%) var(--frigate-card-media-layout-view-box-bottom, 0%) var(--frigate-card-media-layout-view-box-left, 0%));\n}";customElements.whenDefined("ha-hls-player").then((()=>{let m=class extends(customElements.get("ha-hls-player")){async play(){return this._video?.play()}async pause(){this._video?.pause()}async mute(){this._video&&(this._video.muted=!0)}async unmute(){this._video&&(this._video.muted=!1)}isMuted(){return this._video?.muted??!0}async seek(e){this._video&&(v(this._video),this._video.currentTime=e)}async setControls(e){this._video&&p(this._video,e??this.controls)}isPaused(){return this._video?.paused??!0}async getScreenshotURL(){return this._video?e(this._video):null}render(){if(this._error){if(this._errorIsFatal)return t(this,this._error);i(this._error,console.error)}return s` - - `}_loadedDataHandler(e){super._loadedData(),d(this,e,{player:this,capabilities:{supportsPause:!0,hasAudio:c(this._video)},technology:["hls"]})}static get styles(){return[super.styles,n(f),h` - :host { - width: 100%; - height: 100%; - } - video { - width: 100%; - height: 100%; - } - `]}};l([_("#video")],m.prototype,"_video",void 0),m=l([u("frigate-card-ha-hls-player")],m)}));export{f as c,_ as e}; diff --git a/config/www/community/frigate-hass-card/ha-hls-player-abb86874.js.gz b/config/www/community/frigate-hass-card/ha-hls-player-abb86874.js.gz deleted file mode 100644 index edf7b48c96dff2427fd9b1a1c89b63eabdffc63d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1242 zcmV<01SR_)iwFnb2KWh6cXLNj_ec2;`_k00-$$LKX@8B_}F|6{RiBwG|3Jsm%JiGC4c!2z9~9$V%4 z*~y>rsRzezC{&u|4CDm;czzN;i;p>}otJ}5R7#^V4FPM+qVy0eS*hnP1(e{j$@3*=oinWHt-K&tV`vZ_2sgVKnu5SQlZR6w(D#7jW5H zmo`err@C$1Xk&v)mwji-K_iwzk`c~BYp{W>1fyu2rYReZLY4}z#i3oszL9?VWCck< z)cYkhCr6{vNPqTYj>Q~}3EbWnwv%;EEvj7+iSjgHkkz|eqZ98=?OBJ zFphI`t|nmYI>%QyCyl5b2qUvsny@OG4y>0#F?)<(chMu`TZ~?eA4Ly0XuQEN?25rn zJQueU#439zU-Q-DV=a~#JtX?Z!qxgW+RTO4qWnf94!MtGSK0>CtX9U!PaI0qMk=`} zpgM7VO2eQaaluu*G(JEEQKF49^c8IjuS_#el$o!$+H{TzcU;+0*>w@EiE640S$@0n zlPgy=v&5^~4re<#^u6#I;e{Qfto07U6#RfoEP$F})f?2+LrtDUEmLpp|1ad~aI@L| zxO1%l{xZX2$Mb6FJHo?2SuM@f(SNWKQiwKQ^s#9IDY&}hY&rCWVK#GY*1>JQXLfhK zl(5^nVaDc=&NB&Sk`_Y0e|LJn9c-;&VrNL}r=`K$ndr12rI5S)8}&2Mgh#zsKV60f zQ#Qn7J1Yf;#4G#pqptT*_j%>A*susOng&i541|ekYz;E~-tV91-b>yNFf&q{PBrz` zqbz@B_#vn(h7RGFEg#liv5K3P*#xtqH%_z#?T@L)_52X@nhQdKmY|6l%fvukzir`1 zqpgy{jhVl9U3BJPt~Q7D(i0>7l~k02z1FtOR)U+mJu67HfG#fSCj1cAZJ1Sy`_#6? zI=$T0AH6zoDIax`>-OHX)~Ysdgkj2IgsCqbz-vEECXUU>lFS)5GaS^!+Sx~yZ-R+= zpqTsZ2mADzWLqWNVr>>$2`(1R(i.configurable=!0,i.enumerable=!0,Reflect.decorate&&"object"!=typeof t&&Object.defineProperty(e,t,i),i) -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */;function _(e,t){return(i,s,a)=>{const o=t=>t.renderRoot?.querySelector(e)??null;if(t){const{get:e,set:t}="object"==typeof s?i:a??(()=>{const e=Symbol();return{get(){return this[e]},set(t){this[e]=t}}})();return m(i,s,{get(){let i=e.call(this);return void 0===i&&(i=o(this),(null!==i||this.hasUpdated)&&t.call(this,i)),i}})}return m(i,s,{get(){return o(this)}})}}var f="img,\nvideo {\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n object-view-box: inset(var(--frigate-card-media-layout-view-box-top, 0%) var(--frigate-card-media-layout-view-box-right, 0%) var(--frigate-card-media-layout-view-box-bottom, 0%) var(--frigate-card-media-layout-view-box-left, 0%));\n}";customElements.whenDefined("ha-hls-player").then((()=>{let m=class extends(customElements.get("ha-hls-player")){async play(){return this._video?.play()}async pause(){this._video?.pause()}async mute(){this._video&&(this._video.muted=!0)}async unmute(){this._video&&(this._video.muted=!1)}isMuted(){return this._video?.muted??!0}async seek(e){this._video&&(v(this._video),this._video.currentTime=e)}async setControls(e){this._video&&p(this._video,e??this.controls)}isPaused(){return this._video?.paused??!0}async getScreenshotURL(){return this._video?e(this._video):null}render(){if(this._error){if(this._errorIsFatal)return t(this,this._error);i(this._error,console.error)}return s` - - `}_loadedDataHandler(e){super._loadedData(),d(this,e,{player:this,capabilities:{supportsPause:!0,hasAudio:c(this._video)},technology:["hls"]})}static get styles(){return[super.styles,n(f),h` - :host { - width: 100%; - height: 100%; - } - video { - width: 100%; - height: 100%; - } - `]}};l([_("#video")],m.prototype,"_video",void 0),m=l([u("frigate-card-ha-hls-player")],m)}));export{f as c,_ as e}; diff --git a/config/www/community/frigate-hass-card/ha-hls-player-ad38a2a0.js.gz b/config/www/community/frigate-hass-card/ha-hls-player-ad38a2a0.js.gz deleted file mode 100644 index 82362e373c75e5219f1d243412d2f8d7e61da399..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1244 zcmV<21S9(&iwFqOQ&?vL|7c+?Xl!#WaBN|DWpXWHWHUHnGGQ<-YI6X!R&8(FHW2=v zU%_abAr+M3v<*7gRopGvOMw*2niUw31_>>lB6gJMk(3k9)qmfSlw8?O(H7VY!{@tu z?uF#tk-S<+W!8B`m?l88-z_yXpIgf5y(OCFjxw6BER{6>$5KV}J4Qv9|w%4&21cVm&flRV*iX%B0kR-wH2Ten5LECQ&Xrt%GOI2O ze*eEEO^c?^43{;zw&9|+0@J8E(WN)_|&v*8*OYz<+ATg1sK9pNHQiwXbm>7rQ|sor)kPZqmZZ4YiVegv5(UC z@2wyynSQg#@#OMoG%_Fj;IZJ*VBq$lu$`=PYEkWyDN>{XuWsqvddYK;Wc{`##P3U7 za5Eu@3FElHbH#wM>l|OGB%ttd>`L2Unl&1o{3M{l zHqyym3H7P#(>x4H7MDWD3-kdhh!TU!&{woAyeiEE(>P!64R($WcU;+0*>w@EnO@Zy zvHW)BC)ciMW{Fp|9nN-g=zHMYtfmBI>>R z=`u8!@*$quSt$i1UfGWyeX~cp&vTc>h9!jOY2akRK$u`-8&K)De*Zl8Mu~QSnXv{t z73-}>S^gaPA*d^c4&j(BAJ$&;T42j;f?3f^C)$Gc$JFC`eh7LYB+DVMz%U%k456;y zw(z6TR!Pwn&fkw+bmo9po5OnPDN283buPeOYg=YZDe!L3N><-O7ngMtehBL}%&O%> zYFlERUhV3SpC7oCk2}dt`(RpY-QXKxm~t4=+?Ni}wVx&v$7XE7=3L+m2R*TN_EF`V zV1f@6yx)GXPp?U~Rl+SbxX@Y(dApii1~{UEE4;{Iv1YiB-4*&@IlQ@Q+o=dIufyOQ-z(7- zt&)Y3M%ot(4gAgo)IS^|TBQhY!eHx8*%{~PB5Ls_fqVCqE!>mWzmuVz?)?i(i,s)=>{var o;if(void 0===s){const s=null!==(o=i.originalKey)&&void 0!==o?o:i.key,r=null!=t?{kind:"method",placement:"prototype",key:s,descriptor:t(i.key)}:{...i,key:s};return null!=e&&(r.finisher=function(t){e(t,s)}),r}{const o=i.constructor;void 0!==t&&Object.defineProperty(i,s,t(s)),null==e||e(o,s)}} -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */;function m(e,t){return p({descriptor:i=>{const s={get(){var t,i;return null!==(i=null===(t=this.renderRoot)||void 0===t?void 0:t.querySelector(e))&&void 0!==i?i:null},enumerable:!0,configurable:!0};if(t){const t="symbol"==typeof i?Symbol():"__"+i;s.get=function(){var i,s;return void 0===this[t]&&(this[t]=null!==(s=null===(i=this.renderRoot)||void 0===i?void 0:i.querySelector(e))&&void 0!==s?s:null),this[t]}}return s}})}var _="img, video {\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n}";customElements.whenDefined("ha-hls-player").then((()=>{let p=class extends(customElements.get("ha-hls-player")){async play(){return this._video?.play()}async pause(){this._video?.pause()}async mute(){this._video&&(this._video.muted=!0)}async unmute(){this._video&&(this._video.muted=!1)}isMuted(){return this._video?.muted??!0}async seek(e){this._video&&(c(this._video),this._video.currentTime=e)}async setControls(e){this._video&&v(this._video,e??this.controls)}isPaused(){return this._video?.paused??!0}async getScreenshotURL(){return this._video?e(this._video):null}render(){if(this._error){if(this._errorIsFatal)return t(this,this._error);console.error(this._error)}return i` - - `}static get styles(){return[super.styles,n(_),d` - :host { - width: 100%; - height: 100%; - } - video { - width: 100%; - height: 100%; - } - `]}};l([m("#video")],p.prototype,"_video",void 0),p=l([h("frigate-card-ha-hls-player")],p)}));export{_ as c,m as i}; diff --git a/config/www/community/frigate-hass-card/ha-hls-player-aef987da.js.gz b/config/www/community/frigate-hass-card/ha-hls-player-aef987da.js.gz deleted file mode 100644 index c3e88c8c5ba7c55f150870376e03164c53ec7239..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1265 zcmV98rycWG8Mlq;U%;?8>d0uxqzU!h~BDVTD^M*?4|QSm{){Q;#rOGcGOe(em-*Y%|5>4wn(_mK*ZYEzKw; z=--WylttMC_VB^cchn0W9NxQkfbOAZf@e@_aR0}$Y81cB4SKM={|Nmo<)r|0a&qjL zXQ$8qh)#NN^nyWY_?Cl8&<|(Nqi>^QL2Iw&Fq5S=s7i6W@LUP5o_(pPumT8*mu${hz8cd%$XEvso;D-CRLtVg^ z=4o$yicM;Au44ry1NBNu6W-qL(rniKZ(`!VYEaD?2ykJ-5Ki;U*F16hIs#=~fT9}# z$(<#!wru%jJ<^>kAv0EvNdw&!8z};Nj?K2*BECNJJ2*^&^Yh>vzS6OE<9!Nye{2Ru zf8JYaop^2D*whbyySmgnSNZ2$<)f?ov##p3_O6CxIH&6dQ*_sboipz|4R~=$&<$rG zQTu0!ko1)lZMjL1h2SXK+M1vSB0p3LV4OyRHnR30f^3Kknw^aA$SE?8x?HnR9p_`cNf+Z@X0z84q{avJ4AN49MnP(c_Q%fuMFX(7N3 zmP}A>XYo5@qpk6tDp#BPD#DiPrp%C|@vgvq#?E~x*KyD42At~+3!EeR%>h!>W)Csc z$3Vpnz|uR*QJ^lrROEixasAT$f5KLeTd!@^_o_9(wXLN+&Dm6UUsK~jS*>iPn%{T< zDTF&M=Gc~ol0tu=>}INqz%*{Q})`)YhDW53?s;Iz3^Kz=$L>JH_}tkGk5g^ zvzH-dHY676J86brEM~<*8h7D*pkfdQE3Nx@0%`jeOFWs;if*{D?G8F=bzQlqNnaUm zWam_W?;bEoJXUA3_W4mJqKHcX(eRAjze>&`3 zblOnEePJSP8UcD&lCP~JpyGa)l=wU(>|%0Kl1qE#w38i#-g0L01l?aQ@2+Ny9Nc~V zA!lm(Fx>wug%|c7Sqc2Qz`<92#fEQ474M!xBtO-DGlfsHVXg%u4`>q diff --git a/config/www/community/frigate-hass-card/ha-hls-player-b195eaa1.js b/config/www/community/frigate-hass-card/ha-hls-player-b195eaa1.js deleted file mode 100644 index 9cc99dbd..00000000 --- a/config/www/community/frigate-hass-card/ha-hls-player-b195eaa1.js +++ /dev/null @@ -1,34 +0,0 @@ -import{di as t,cP as e,d7 as i,x as s,dt as a,du as o,dv as r,ds as d,r as n,eJ as h,_ as l,t as u}from"./card-320adb66.js";import{h as c,s as v,d as p,c as y}from"./dispatch-live-error-c649b480.js";import{m}from"./audio-cf3a75aa.js"; -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const _=(t,e,i)=>(i.configurable=!0,i.enumerable=!0,Reflect.decorate&&"object"!=typeof e&&Object.defineProperty(t,e,i),i) -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */;function f(t,e){return(i,s,a)=>{const o=e=>e.renderRoot?.querySelector(t)??null;if(e){const{get:t,set:e}="object"==typeof s?i:a??(()=>{const t=Symbol();return{get(){return this[t]},set(e){this[t]=e}}})();return _(i,s,{get(){let i=t.call(this);return void 0===i&&(i=o(this),(null!==i||this.hasUpdated)&&e.call(this,i)),i}})}return _(i,s,{get(){return o(this)}})}}var g="img,\nvideo {\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n object-view-box: inset(var(--frigate-card-media-layout-view-box-top, 0%) var(--frigate-card-media-layout-view-box-right, 0%) var(--frigate-card-media-layout-view-box-bottom, 0%) var(--frigate-card-media-layout-view-box-left, 0%));\n}";customElements.whenDefined("ha-hls-player").then((()=>{let _=class extends(customElements.get("ha-hls-player")){async play(){return this._video?.play()}async pause(){this._video?.pause()}async mute(){this._video&&(this._video.muted=!0)}async unmute(){this._video&&(this._video.muted=!1)}isMuted(){return this._video?.muted??!0}async seek(t){this._video&&(c(this._video),this._video.currentTime=t)}async setControls(t){this._video&&v(this._video,t??this.controls)}isPaused(){return this._video?.paused??!0}async getScreenshotURL(){return this._video?t(this._video):null}render(){if(this._error){if(this._errorIsFatal)return p(this),e({type:"error",message:this._error,context:{entity_id:this.entityid}});i(this._error,console.error)}return s` - - `}_loadedDataHandler(t){super._loadedData(),d(this,t,{player:this,capabilities:{supportsPause:!0,hasAudio:m(this._video)},technology:["hls"]})}static get styles(){return[super.styles,n(g),h` - :host { - width: 100%; - height: 100%; - } - video { - width: 100%; - height: 100%; - } - `]}};l([f("#video")],_.prototype,"_video",void 0),_=l([u("frigate-card-ha-hls-player")],_)}));export{g as c,f as e}; diff --git a/config/www/community/frigate-hass-card/ha-hls-player-b195eaa1.js.gz b/config/www/community/frigate-hass-card/ha-hls-player-b195eaa1.js.gz deleted file mode 100644 index 3eba34aaf571bc39759710b5d5373a8347b515a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1290 zcmV+l1@-zLiwFoEf?;O@|7c+?Xl!#WaBN|DWpXWIF*!A5VPP>YYI6X!R&8(FHW2=v zU%_arAqAA;zHf3BcT4utA;W@Z0S2UjLyISi9W8n!<;HOJ-**&cS9Vjh1vbMleaGjX z%Fbih$GL~Wq zF=(xHoIiW={q)Iq!#>q~W58-IRGb%&+4HB2wUC43qoV_IL|#gfLuJ7IKUIsB7PHcl zN5hBD$uCOHB#`s-Q#W~earRey?!oaZ4wV&!0G*N_FVEt~@u_5W%W|Bn%2+bVLQ8>) zC_4#7g1SP?YR#q+vcn-22~_nQw(@HzB;+>XkSonB3+w9$B6)l!Z`5h6=#wVr`ZEj9QHO|}U;+k|b#B4y)o7=CbLv&+?ds$>|A z{5l*(xLFjjr7+j_rg4?kEF>D5D&yu>RFt^gRYw&h85!_FEQE==#BN6Ud z7$qU`E7`Ozb9+F#&xU*L z`=Bn7Iz%h%a5#G-Dv9N`b>>vBTGbA8bHp3mM(%@NO2s(vIar1*oguWX)gAm`u#=8- zg}wV@iq70-Cm!pyXQ=&^Ra}C*5_im&O5(d9FIhE%&M)h3hd!*^FgLC4n|A5h&FlU7 zlNZPBl21C#ZFBFk)~3eyMSsa*M7h7zEM5Cf)Fu+m*@8`l#QqN^b$0Ic2-kZEx5rO&{$?gTTsN^IlwoJ*x;qbv|XQBjmQ+zzr-^cFy{jUgbZ<=N#!|NgpzVWpZ-Ox$0(8?-T z#5C|b6Hx!?i0C9kcpU~i_tD-}fD}=Kw-DU5Z{C@IJ{Rr7y%`<+3!C>{q0$Qg05wL2 A(i.configurable=!0,i.enumerable=!0,Reflect.decorate&&"object"!=typeof t&&Object.defineProperty(e,t,i),i) -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */;function _(e,t){return(i,s,a)=>{const o=t=>t.renderRoot?.querySelector(e)??null;if(t){const{get:e,set:t}="object"==typeof s?i:a??(()=>{const e=Symbol();return{get(){return this[e]},set(t){this[e]=t}}})();return m(i,s,{get(){let i=e.call(this);return void 0===i&&(i=o(this),(null!==i||this.hasUpdated)&&t.call(this,i)),i}})}return m(i,s,{get(){return o(this)}})}}var f="img,\nvideo {\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n object-view-box: inset(var(--frigate-card-media-layout-view-box-top, 0%) var(--frigate-card-media-layout-view-box-right, 0%) var(--frigate-card-media-layout-view-box-bottom, 0%) var(--frigate-card-media-layout-view-box-left, 0%));\n}";customElements.whenDefined("ha-hls-player").then((()=>{let m=class extends(customElements.get("ha-hls-player")){async play(){return this._video?.play()}async pause(){this._video?.pause()}async mute(){this._video&&(this._video.muted=!0)}async unmute(){this._video&&(this._video.muted=!1)}isMuted(){return this._video?.muted??!0}async seek(e){this._video&&(v(this._video),this._video.currentTime=e)}async setControls(e){this._video&&p(this._video,e??this.controls)}isPaused(){return this._video?.paused??!0}async getScreenshotURL(){return this._video?e(this._video):null}render(){if(this._error){if(this._errorIsFatal)return t(this,this._error);i(this._error,console.error)}return s` - - `}_loadedDataHandler(e){super._loadedData(),d(this,e,{player:this,capabilities:{supportsPause:!0,hasAudio:c(this._video)},technology:["hls"]})}static get styles(){return[super.styles,n(f),h` - :host { - width: 100%; - height: 100%; - } - video { - width: 100%; - height: 100%; - } - `]}};l([_("#video")],m.prototype,"_video",void 0),m=l([u("frigate-card-ha-hls-player")],m)}));export{f as c,_ as e}; diff --git a/config/www/community/frigate-hass-card/ha-hls-player-ba5834a9.js.gz b/config/www/community/frigate-hass-card/ha-hls-player-ba5834a9.js.gz deleted file mode 100644 index 735e1c35e673f5cb20fe42d49e64ab2cea18d4d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1243 zcmV<11SI<(iwFo?dR%7$|7c+?Xl!#WaBN|DWpXWIVKq22G+{X|YI6X!R&8(FHW2=v zU%_arAr+M3tSO4wRopGvOMw*2niUw31_>>lB6gJMk(3k9)qmfSlw8?O(H7VY!{@tu z?uF#tk-S<+W!8B`m?l88-z_yXpIgf5y(OCFjxw6BER{6>$5KV}J4z09vr{Sp*FnWpeE$Ui_`c?d?Hxmyc}e*)`nDR2-Hv>rN<#pP*(8UMzOho zbbm~F0(DcthJOu(fXpO0WKuB$qfsE|?@$u#r)ISPSr9WC{pLgnDtHa&N-jW|RTl=o z|KF0PMN?;n%bHxH_TIqzWOL z&FV&oDKA3w;;h!UU?xB{{+c%Jm!0;@)-yg~vsoB^2m|TGs+vm?MpK`MbrJSS5mRz~ z30JLkX`^&}YTCAqHa4Vk*>|P_4B;sx851J31{>H?@|=v*H07gF$W!UHG_=duN9p_b zR*;lTzggsXa(OfwnGb&OSny~taQjf$PS!cKsCLN|Dbj#fxAbkjR0q z>Ey12`qcGl9tI_gOQGWh`T!L~i9u!PE7}%bm1crzoUiu=J4c5*u5797x`@_Huj-6g ze!KFMYgaV0#H-p4XFECcz3>6yg&m}7%nkwze!wLbkmIoG4VwB(O%9`$>sR*wCvtVT z*=&E@xz+%G;jq~8yd3(D=rB;$D4aUx4_-kE(Z-88!6r~r=#QK&hQ27wW{%A|xXt(6 z?#`zYc3U^h7!T-e~$bR)D=UAaLkquYp;1Nuw^#Etmvf^Z9)5E>Tx|k1icUv9};;5hT&Ld2zC9o zg&&Q!N{X&<{(kJDGY7od9M(%uQTi*Za{=~R+cH~9fp>dWvicUfxU8G-Ls++ARxKY= z+Y;;aYFB^!{J^Dr+(~ZQ2h&>X2Hyz7l*5STzI1@D{WO_4He(Am=K^Oq=!vznk1F2; z6MUfH{q}=>dQGye5^kx%h1OEY+tuVUz!4Q(;Vq^OGu$-=(Pkw;Z`$F~XXK@{4vUDE zH-lwQN-Qw49!Lne{this.updateValue(),this._host.requestUpdate()}))}hasTimer(){return this._timer.isRunning()}hostConnected(){this.updateValue(),this.startTimer(),this._host.requestUpdate()}hostDisconnected(){this.clearValue(),this.stopTimer()}}var U="data:image/jpeg;base64,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";let y=class extends I{constructor(){super(...arguments),this._message=null,this._refImage=n(),this._boundVisibilityHandler=this._visibilityHandler.bind(this),this._mediaLoadedInfo=null}async play(){this._cachedValueController?.startTimer()}async pause(){this._cachedValueController?.stopTimer()}async mute(){}async unmute(){}isMuted(){return!0}async seek(A){}async setControls(A){}isPaused(){return!this._cachedValueController?.hasTimer()}async getScreenshotURL(){return this._cachedValueController?.value??null}_getCameraEntity(){return(this.cameraConfig?.camera_entity||this.cameraConfig?.webrtc_card?.entity)??null}shouldUpdate(A){if(!this.hass||"visible"!==document.visibilityState)return!1;const e=this._getRelevantEntityForMode(this._resolveMode(this.imageConfig?.mode));return!A.has("hass")||1!=A.size||!e||(E(this.hass,A.get("hass"),[e])?(this._cachedValueController?.clearValue(),!0):!this.hasUpdated)}willUpdate(A){A.has("imageConfig")&&(this._cachedValueController&&this._cachedValueController.removeController(),this.imageConfig&&(this._cachedValueController=new k(this,this.imageConfig.refresh_seconds,this._getImageSource.bind(this),(()=>u(this)),(()=>m(this)))));const e=this._getRelevantEntityForMode(this._resolveMode(this.imageConfig?.mode));(A.has("cameraConfig")||A.has("view")||e&&!this._getAcceptableState(e))&&this._cachedValueController?.clearValue(),this._cachedValueController?.value||this._cachedValueController?.updateValue(),["imageConfig","view"].some((e=>A.has(e)))&&(this._message=null)}_getAcceptableState(A){const e=(A?this.hass?.states[A]:null)??null;return this.hass&&this.hass.connected&&e&&Date.now()-Date.parse(e.last_updated)<3e5?e:null}connectedCallback(){super.connectedCallback(),document.addEventListener("visibilitychange",this._boundVisibilityHandler),this._cachedValueController?.startTimer()}disconnectedCallback(){this._cachedValueController?.stopTimer(),this._message=null,document.removeEventListener("visibilitychange",this._boundVisibilityHandler),super.disconnectedCallback()}_visibilityHandler(){this._refImage.value&&("hidden"===document.visibilityState?(this._cachedValueController?.stopTimer(),this._cachedValueController?.clearValue(),this._forceSafeImage()):(this._cachedValueController?.startTimer(),this.requestUpdate()))}_buildImageURL(A){return A.searchParams.append("_t",String(Date.now())),A.toString()}_addQueryParametersToURL(A,e){if(e){const t=new URLSearchParams(e);for(const[e,i]of t.entries())A.searchParams.append(e,i)}return A}_getRelevantEntityForMode(A){return"camera"===A?this._getCameraEntity():"entity"===A?this.imageConfig?.entity??null:null}_resolveMode(A){if(!A)return"screensaver";if("auto"!==A)return A;const e=this._getCameraEntity();return this.imageConfig?.entity?"entity":this.imageConfig?.url?"url":e?"camera":"screensaver"}_getImageSource(){const A=this._resolveMode(this.imageConfig?.mode);if(this.hass&&"camera"===A){const A=this._getAcceptableState(this._getCameraEntity());if(A?.attributes.entity_picture){const e=new URL(A.attributes.entity_picture,document.baseURI);return this._addQueryParametersToURL(e,this.imageConfig?.entity_parameters),this._buildImageURL(e)}}if(this.hass&&"entity"===A&&this.imageConfig?.entity){const A=this._getAcceptableState(this.imageConfig?.entity);if(A?.attributes.entity_picture){const e=new URL(A.attributes.entity_picture,document.baseURI);return this._addQueryParametersToURL(e,this.imageConfig?.entity_parameters),this._buildImageURL(e)}}return"url"===A&&this.imageConfig?.url?this._buildImageURL(new URL(this.imageConfig.url,document.baseURI)):U}_forceSafeImage(A){this._refImage.value&&(this._refImage.value.src=!A&&this.imageConfig?.url?this.imageConfig.url:U)}render(){if(this._message)return w(this._message);const A=this._cachedValueController?.value;return A?Q` - {const e=B(A,{player:this,capabilities:{supportsPause:!!this.imageConfig?.refresh_seconds}});e&&!d(this._mediaLoadedInfo,e)&&(this._mediaLoadedInfo=e,b(this,e))}} - @error=${()=>{const A=this._resolveMode(this.imageConfig?.mode);"camera"===A||"entity"===A?this._forceSafeImage(!0):"url"===A&&(this._message={type:"error",message:L("error.image_load_error"),context:this.imageConfig})}} - /> - `:Q``}static get styles(){return D(':host {\n background-color: var(--primary-background-color);\n background-position: center;\n background-repeat: no-repeat;\n background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4yLjIgKGIwYTg0ODY1NDEsIDIwMjItMTItMDEpIgogICBzb2RpcG9kaTpkb2NuYW1lPSJjYW1lcmEtaXJpcy5zdmciCiAgIGlkPSJzdmc0IgogICB2ZXJzaW9uPSIxLjEiCiAgIHZpZXdCb3g9IjAgMCAyNCAyNCIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9Im5hbWVkdmlldzYiCiAgICAgcGFnZWNvbG9yPSIjYjkzZTNlIgogICAgIGJvcmRlcmNvbG9yPSIjMDAwMDAwIgogICAgIGJvcmRlcm9wYWNpdHk9IjAuMjUiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuNjA3ODQzMTQiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6ZGVza2NvbG9yPSIjZDFkMWQxIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIyNi42MjUwNiIKICAgICBpbmtzY2FwZTpjeD0iLTEuOTM0MjY4IgogICAgIGlua3NjYXBlOmN5PSIxNS42ODA3MTYiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIzODQwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjE1MjciCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjEwODAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjIyNyIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzQiIC8+CiAgPGcKICAgICBpZD0iZzExMTkiCiAgICAgc3R5bGU9ImZpbGwtb3BhY2l0eTowLjA1O2ZpbGw6I2ZmZmZmZiI+CiAgICA8Y2lyY2xlCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjA1O3N0cm9rZS13aWR0aDoxLjM5NzI5IgogICAgICAgaWQ9InBhdGgxNzAiCiAgICAgICBjeD0iMTIiCiAgICAgICBjeT0iMTIiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iV2hpdGUgQmFja2dyb3VuZCIKICAgICAgIHI9IjExLjI1IiAvPgogICAgPHBhdGgKICAgICAgIGQ9Ik0gMTMuNzMwMDAxLDE1IDkuODMwMDAwMywyMS43NiBDIDEwLjUzLDIxLjkxIDExLjI1LDIyIDEyLDIyIGMgMi40MDAwMDEsMCA0LjYsLTAuODUgNi4zMiwtMi4yNSBMIDE0LjY2MDAwMSwxMy40IE0gMi40NjAwMDAzLDE1IGMgMC45MiwyLjkyIDMuMTUsNS4yNiA1Ljk5LDYuMzQgTCAxMi4xMiwxNSBtIC0zLjU3OTk5OTcsLTMgLTMuOSwtNi43NDk5OTk2IGMgLTEuNjQsMS43NDk5OTkgLTIuNjQsNC4xMzk5OTkzIC0yLjY0LDYuNzQ5OTk5NiAwLDAuNjggMC4wNywxLjM1IDAuMiwyIGggNy40OSBNIDIxLjgsOS45OTk5OTk3IEggMTQuMzEwMDAxIEwgMTQuNjAwMDAxLDEwLjUgMTkuMzYsMTguNzUgQyAyMSwxNi45NyAyMiwxNC42IDIyLDEyIDIyLDExLjMxIDIxLjkzLDEwLjY0IDIxLjgsOS45OTk5OTk3IG0gLTAuMjYsLTEgQyAyMC42Miw2LjA3MDAwMDUgMTguMzksMy43NDAwMDAyIDE1LjU1MDAwMSwyLjY2MDAwMDIgTCAxMS44OCw4Ljk5OTk5OTcgTSA5LjQwMDAwMDMsMTAuNSAxNC4xNzAwMDEsMi4yNDAwMDAyIGMgLTAuNywtMC4xNSAtMS40MjAwMDEsLTAuMjQgLTIuMTcwMDAxLC0wLjI0IC0yLjM5OTk5OTcsMCAtNC41OTk5OTk3LDAuODQgLTYuMzE5OTk5NywyLjI1MDAwMDMgbCAzLjY2LDYuMzQ5OTk5NSB6IgogICAgICAgaWQ9InBhdGgyIgogICAgICAgaW5rc2NhcGU6bGFiZWw9IklyaXMiCiAgICAgICBzdHlsZT0iZmlsbC1vcGFjaXR5OjAuMDU7ZmlsbDojZmZmZmZmIiAvPgogIDwvZz4KPC9zdmc+Cg==");\n background-size: 10%;\n background-position: center;\n}\n\nimg {\n width: 100%;\n height: 100%;\n display: block;\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n object-view-box: inset(var(--frigate-card-media-layout-view-box-top, 0%) var(--frigate-card-media-layout-view-box-right, 0%) var(--frigate-card-media-layout-view-box-bottom, 0%) var(--frigate-card-media-layout-view-box-left, 0%));\n}')}};o([c({attribute:!1})],y.prototype,"hass",void 0),o([c({attribute:!1})],y.prototype,"view",void 0),o([c({attribute:!1})],y.prototype,"cameraConfig",void 0),o([c({attribute:!1})],y.prototype,"cameraManager",void 0),o([c({attribute:!1,hasChanged:h})],y.prototype,"imageConfig",void 0),o([C()],y.prototype,"_message",void 0),y=o([l("frigate-card-image")],y);export{y as FrigateCardImage}; diff --git a/config/www/community/frigate-hass-card/image-04d4df35.js.gz b/config/www/community/frigate-hass-card/image-04d4df35.js.gz deleted file mode 100644 index 57775fd4ce54ef41b422da1a75d22923be5c2bd7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22280 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._timerStartCallback?.(),this._timer.startRepeated(this._timerSeconds,(()=>{this.updateValue(),this._host.requestUpdate()})))}hasTimer(){return this._timer.isRunning()}hostConnected(){this.updateValue(),this.startTimer(),this._host.requestUpdate()}hostDisconnected(){this.clearValue(),this.stopTimer()}}var L="data:image/jpeg;base64,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";let q=class extends h{constructor(){super(...arguments),this._refImage=c(),this._boundVisibilityHandler=this._visibilityHandler.bind(this),this._mediaLoadedInfo=null}async play(){this._cachedValueController?.startTimer()}async pause(){this._cachedValueController?.stopTimer()}async mute(){}async unmute(){}isMuted(){return!0}async seek(A){}async setControls(A){}isPaused(){return!this._cachedValueController?.hasTimer()??!0}async getScreenshotURL(){return this._cachedValueController?.value??null}_getCameraEntity(){return(this.cameraConfig?.camera_entity||this.cameraConfig?.webrtc_card?.entity)??null}shouldUpdate(A){if(!this.hass||"visible"!==document.visibilityState)return!1;const e=this._getCameraEntity();return!A.has("hass")||1!=A.size||"camera"!==this.imageConfig?.mode||!e||!!l(this.hass,A.get("hass"),[e])&&(this._cachedValueController?.clearValue(),!0)}willUpdate(A){A.has("imageConfig")&&(this._cachedValueController&&this._cachedValueController.removeController(),this.imageConfig&&(this._cachedValueController=new H(this,this.imageConfig.refresh_seconds,this._getImageSource.bind(this),(()=>g(this)),(()=>E(this)))),U(this,this.imageConfig?.layout),A.has("imageConfig")&&this.imageConfig?.zoomable&&import("./zoomer-1857311a.js")),(A.has("cameraConfig")||A.has("view")||"camera"===this.imageConfig?.mode&&!this._getAcceptableState(this._getCameraEntity()))&&this._cachedValueController?.clearValue(),this._cachedValueController?.value||this._cachedValueController?.updateValue()}_getAcceptableState(A){const e=(A?this.hass?.states[A]:null)??null;return this.hass&&this.hass.connected&&e&&Date.now()-Date.parse(e.last_updated)<3e5?e:null}connectedCallback(){super.connectedCallback(),document.addEventListener("visibilitychange",this._boundVisibilityHandler),this._cachedValueController?.startTimer()}disconnectedCallback(){this._cachedValueController?.stopTimer(),document.removeEventListener("visibilitychange",this._boundVisibilityHandler),super.disconnectedCallback()}_visibilityHandler(){this._refImage.value&&("hidden"===document.visibilityState?(this._cachedValueController?.stopTimer(),this._cachedValueController?.clearValue(),this._forceSafeImage()):(this._cachedValueController?.startTimer(),this.requestUpdate()))}_buildImageURL(A){const e=new URL(A,document.baseURI);return e.searchParams.append("_t",String(Date.now())),e.toString()}_getImageSource(){if(this.hass&&"camera"===this.imageConfig?.mode){const A=this._getAcceptableState(this._getCameraEntity());if(A?.attributes.entity_picture)return this._buildImageURL(A.attributes.entity_picture)}return"screensaver"!==this.imageConfig?.mode&&this.imageConfig?.url?this._buildImageURL(this.imageConfig.url):L}_forceSafeImage(A){this._refImage.value&&(this._refImage.value.src=!A&&this.imageConfig?.url?this.imageConfig.url:L)}_useZoomIfRequired(A){return this.imageConfig?.zoomable?n` ${A} `:A}render(){const A=this._cachedValueController?.value;return A?this._useZoomIfRequired(n` {const e=Q(A,{player:this,capabilities:{supportsPause:!!this.imageConfig?.refresh_seconds}});e&&!B(this._mediaLoadedInfo,e)&&(this._mediaLoadedInfo=e,u(this,e))}} - @error=${()=>{"camera"===this.imageConfig?.mode?this._forceSafeImage(!0):"url"===this.imageConfig?.mode&&m(this,w("error.image_load_error"),{context:this.imageConfig})}} - />`):n``}static get styles(){return d("img {\n width: 100%;\n height: 100%;\n display: block;\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n}")}};I([f({attribute:!1})],q.prototype,"hass",void 0),I([f({attribute:!1})],q.prototype,"view",void 0),I([f({attribute:!1})],q.prototype,"cameraConfig",void 0),I([f({attribute:!1,hasChanged:p})],q.prototype,"imageConfig",void 0),q=I([b("frigate-card-image")],q);export{q as FrigateCardImage}; diff --git a/config/www/community/frigate-hass-card/image-0b99ab11.js.gz b/config/www/community/frigate-hass-card/image-0b99ab11.js.gz deleted file mode 100644 index bac8cde5080044927d4526d20c6e5c226a3c9b21..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20521 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 diff --git a/config/www/community/frigate-hass-card/image-1c1ebdfa.js b/config/www/community/frigate-hass-card/image-1c1ebdfa.js deleted file mode 100644 index a9d7d40c..00000000 --- a/config/www/community/frigate-hass-card/image-1c1ebdfa.js +++ /dev/null @@ -1,13 +0,0 @@ -import{cL as A,cM as e,eR as t,eS as i,dC as a,cN as r,cO as g,dD as o,_ as c,n as s,cW as h,t as C,a as l,cR as I,eT as n,dy as E,dz as u,x as m,cV as w,eP as Q,i as M,cP as B,cQ as d,l as b,r as L}from"./card-09c4bade.js"; -/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const D=A(class extends e{constructor(A){if(super(A),A.type!==t.PROPERTY&&A.type!==t.ATTRIBUTE&&A.type!==t.BOOLEAN_ATTRIBUTE)throw Error("The `live` directive is not allowed on child or event bindings");if(!i(A))throw Error("`live` bindings can only contain a single expression")}render(A){return A}update(A,[e]){if(e===a||e===r)return e;const i=A.element,o=A.name;if(A.type===t.PROPERTY){if(e===i[o])return a}else if(A.type===t.BOOLEAN_ATTRIBUTE){if(!!e===i.hasAttribute(o))return a}else if(A.type===t.ATTRIBUTE&&i.getAttribute(o)===e+"")return a;return g(A),e}});class p{constructor(A,e,t,i,a){this._timer=new o,this._timerSeconds=e,this._callback=t,this._timerStartCallback=i,this._timerStopCallback=a,(this._host=A).addController(this)}removeController(){this.stopTimer(),this._host.removeController(this)}get value(){return this._value}updateValue(){this._value=this._callback()}clearValue(){this._value=void 0}stopTimer(){this._timer.isRunning()&&(this._timer.stop(),this._timerStopCallback?.())}startTimer(){this.stopTimer(),this._timerStartCallback?.(),this._timer.startRepeated(this._timerSeconds,(()=>{this.updateValue(),this._host.requestUpdate()}))}hasTimer(){return this._timer.isRunning()}hostConnected(){this.updateValue(),this.startTimer(),this._host.requestUpdate()}hostDisconnected(){this.clearValue(),this.stopTimer()}}var k="data:image/jpeg;base64,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";let U=class extends l{constructor(){super(...arguments),this._refImage=I(),this._boundVisibilityHandler=this._visibilityHandler.bind(this),this._mediaLoadedInfo=null}async play(){this._cachedValueController?.startTimer()}async pause(){this._cachedValueController?.stopTimer()}async mute(){}async unmute(){}isMuted(){return!0}async seek(A){}async setControls(A){}isPaused(){return!this._cachedValueController?.hasTimer()}async getScreenshotURL(){return this._cachedValueController?.value??null}_getCameraEntity(){return(this.cameraConfig?.camera_entity||this.cameraConfig?.webrtc_card?.entity)??null}shouldUpdate(A){if(!this.hass||"visible"!==document.visibilityState)return!1;const e=this._getRelevantEntityForMode(this._resolveMode(this.imageConfig?.mode));return!A.has("hass")||1!=A.size||!e||(n(this.hass,A.get("hass"),[e])?(this._cachedValueController?.clearValue(),!0):!this.hasUpdated)}willUpdate(A){A.has("imageConfig")&&(this._cachedValueController&&this._cachedValueController.removeController(),this.imageConfig&&(this._cachedValueController=new p(this,this.imageConfig.refresh_seconds,this._getImageSource.bind(this),(()=>E(this)),(()=>u(this)))));const e=this._getRelevantEntityForMode(this._resolveMode(this.imageConfig?.mode));(A.has("cameraConfig")||A.has("view")||e&&!this._getAcceptableState(e))&&this._cachedValueController?.clearValue(),this._cachedValueController?.value||this._cachedValueController?.updateValue()}_getAcceptableState(A){const e=(A?this.hass?.states[A]:null)??null;return this.hass&&this.hass.connected&&e&&Date.now()-Date.parse(e.last_updated)<3e5?e:null}connectedCallback(){super.connectedCallback(),document.addEventListener("visibilitychange",this._boundVisibilityHandler),this._cachedValueController?.startTimer()}disconnectedCallback(){this._cachedValueController?.stopTimer(),document.removeEventListener("visibilitychange",this._boundVisibilityHandler),super.disconnectedCallback()}_visibilityHandler(){this._refImage.value&&("hidden"===document.visibilityState?(this._cachedValueController?.stopTimer(),this._cachedValueController?.clearValue(),this._forceSafeImage()):(this._cachedValueController?.startTimer(),this.requestUpdate()))}_buildImageURL(A){return A.searchParams.append("_t",String(Date.now())),A.toString()}_addQueryParametersToURL(A,e){if(e){const t=new URLSearchParams(e);for(const[e,i]of t.entries())A.searchParams.append(e,i)}return A}_getRelevantEntityForMode(A){return"camera"===A?this._getCameraEntity():"entity"===A?this.imageConfig?.entity??null:null}_resolveMode(A){if(!A)return"screensaver";if("auto"!==A)return A;const e=this._getCameraEntity();return this.imageConfig?.entity?"entity":this.imageConfig?.url?"url":e?"camera":"screensaver"}_getImageSource(){const A=this._resolveMode(this.imageConfig?.mode);if(this.hass&&"camera"===A){const A=this._getAcceptableState(this._getCameraEntity());if(A?.attributes.entity_picture){const e=new URL(A.attributes.entity_picture,document.baseURI);return this._addQueryParametersToURL(e,this.imageConfig?.entity_parameters),this._buildImageURL(e)}}if(this.hass&&"entity"===A&&this.imageConfig?.entity){const A=this._getAcceptableState(this.imageConfig?.entity);if(A?.attributes.entity_picture){const e=new URL(A.attributes.entity_picture,document.baseURI);return this._addQueryParametersToURL(e,this.imageConfig?.entity_parameters),this._buildImageURL(e)}}return"url"===A&&this.imageConfig?.url?this._buildImageURL(new URL(this.imageConfig.url,document.baseURI)):k}_forceSafeImage(A){this._refImage.value&&(this._refImage.value.src=!A&&this.imageConfig?.url?this.imageConfig.url:k)}render(){const A=this._cachedValueController?.value;return A?m` - {const e=Q(A,{player:this,capabilities:{supportsPause:!!this.imageConfig?.refresh_seconds}});e&&!M(this._mediaLoadedInfo,e)&&(this._mediaLoadedInfo=e,B(this,e))}} - @error=${()=>{const A=this._resolveMode(this.imageConfig?.mode);"camera"===A||"entity"===A?this._forceSafeImage(!0):"url"===A&&d(this,b("error.image_load_error"),{context:this.imageConfig})}} - /> - `:m``}static get styles(){return L(':host {\n background-color: var(--primary-background-color);\n background-position: center;\n background-repeat: no-repeat;\n background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4yLjIgKGIwYTg0ODY1NDEsIDIwMjItMTItMDEpIgogICBzb2RpcG9kaTpkb2NuYW1lPSJjYW1lcmEtaXJpcy5zdmciCiAgIGlkPSJzdmc0IgogICB2ZXJzaW9uPSIxLjEiCiAgIHZpZXdCb3g9IjAgMCAyNCAyNCIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9Im5hbWVkdmlldzYiCiAgICAgcGFnZWNvbG9yPSIjYjkzZTNlIgogICAgIGJvcmRlcmNvbG9yPSIjMDAwMDAwIgogICAgIGJvcmRlcm9wYWNpdHk9IjAuMjUiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuNjA3ODQzMTQiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6ZGVza2NvbG9yPSIjZDFkMWQxIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIyNi42MjUwNiIKICAgICBpbmtzY2FwZTpjeD0iLTEuOTM0MjY4IgogICAgIGlua3NjYXBlOmN5PSIxNS42ODA3MTYiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIzODQwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjE1MjciCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjEwODAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjIyNyIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzQiIC8+CiAgPGcKICAgICBpZD0iZzExMTkiCiAgICAgc3R5bGU9ImZpbGwtb3BhY2l0eTowLjA1O2ZpbGw6I2ZmZmZmZiI+CiAgICA8Y2lyY2xlCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjA1O3N0cm9rZS13aWR0aDoxLjM5NzI5IgogICAgICAgaWQ9InBhdGgxNzAiCiAgICAgICBjeD0iMTIiCiAgICAgICBjeT0iMTIiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iV2hpdGUgQmFja2dyb3VuZCIKICAgICAgIHI9IjExLjI1IiAvPgogICAgPHBhdGgKICAgICAgIGQ9Ik0gMTMuNzMwMDAxLDE1IDkuODMwMDAwMywyMS43NiBDIDEwLjUzLDIxLjkxIDExLjI1LDIyIDEyLDIyIGMgMi40MDAwMDEsMCA0LjYsLTAuODUgNi4zMiwtMi4yNSBMIDE0LjY2MDAwMSwxMy40IE0gMi40NjAwMDAzLDE1IGMgMC45MiwyLjkyIDMuMTUsNS4yNiA1Ljk5LDYuMzQgTCAxMi4xMiwxNSBtIC0zLjU3OTk5OTcsLTMgLTMuOSwtNi43NDk5OTk2IGMgLTEuNjQsMS43NDk5OTkgLTIuNjQsNC4xMzk5OTkzIC0yLjY0LDYuNzQ5OTk5NiAwLDAuNjggMC4wNywxLjM1IDAuMiwyIGggNy40OSBNIDIxLjgsOS45OTk5OTk3IEggMTQuMzEwMDAxIEwgMTQuNjAwMDAxLDEwLjUgMTkuMzYsMTguNzUgQyAyMSwxNi45NyAyMiwxNC42IDIyLDEyIDIyLDExLjMxIDIxLjkzLDEwLjY0IDIxLjgsOS45OTk5OTk3IG0gLTAuMjYsLTEgQyAyMC42Miw2LjA3MDAwMDUgMTguMzksMy43NDAwMDAyIDE1LjU1MDAwMSwyLjY2MDAwMDIgTCAxMS44OCw4Ljk5OTk5OTcgTSA5LjQwMDAwMDMsMTAuNSAxNC4xNzAwMDEsMi4yNDAwMDAyIGMgLTAuNywtMC4xNSAtMS40MjAwMDEsLTAuMjQgLTIuMTcwMDAxLC0wLjI0IC0yLjM5OTk5OTcsMCAtNC41OTk5OTk3LDAuODQgLTYuMzE5OTk5NywyLjI1MDAwMDMgbCAzLjY2LDYuMzQ5OTk5NSB6IgogICAgICAgaWQ9InBhdGgyIgogICAgICAgaW5rc2NhcGU6bGFiZWw9IklyaXMiCiAgICAgICBzdHlsZT0iZmlsbC1vcGFjaXR5OjAuMDU7ZmlsbDojZmZmZmZmIiAvPgogIDwvZz4KPC9zdmc+Cg==");\n background-size: 10%;\n background-position: center;\n}\n\nimg {\n width: 100%;\n height: 100%;\n display: block;\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n object-view-box: inset(var(--frigate-card-media-layout-view-box-top, 0%) var(--frigate-card-media-layout-view-box-right, 0%) var(--frigate-card-media-layout-view-box-bottom, 0%) var(--frigate-card-media-layout-view-box-left, 0%));\n}')}};c([s({attribute:!1})],U.prototype,"hass",void 0),c([s({attribute:!1})],U.prototype,"view",void 0),c([s({attribute:!1})],U.prototype,"cameraConfig",void 0),c([s({attribute:!1})],U.prototype,"cameraManager",void 0),c([s({attribute:!1,hasChanged:h})],U.prototype,"imageConfig",void 0),U=c([C("frigate-card-image")],U);export{U as FrigateCardImage}; diff --git a/config/www/community/frigate-hass-card/image-1c1ebdfa.js.gz b/config/www/community/frigate-hass-card/image-1c1ebdfa.js.gz deleted file mode 100644 index 43d473030a4c3052d0130798598c812420aecb4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22203 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 O_J06{i*2cZg8%>lssaQ6 diff --git a/config/www/community/frigate-hass-card/image-1e2a0a79.js b/config/www/community/frigate-hass-card/image-1e2a0a79.js deleted file mode 100644 index 4923fbd0..00000000 --- a/config/www/community/frigate-hass-card/image-1e2a0a79.js +++ /dev/null @@ -1,13 +0,0 @@ -import{cL as A,cM as e,eQ as t,eR as i,dC as a,cN as r,cO as g,dD as o,_ as c,n as s,cW as h,t as C,a as l,cR as I,eS as n,dy as E,dz as u,x as m,cV as w,eT as Q,i as M,cP as B,cQ as d,l as b,r as L}from"./card-45855f1f.js"; -/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const D=A(class extends e{constructor(A){if(super(A),A.type!==t.PROPERTY&&A.type!==t.ATTRIBUTE&&A.type!==t.BOOLEAN_ATTRIBUTE)throw Error("The `live` directive is not allowed on child or event bindings");if(!i(A))throw Error("`live` bindings can only contain a single expression")}render(A){return A}update(A,[e]){if(e===a||e===r)return e;const i=A.element,o=A.name;if(A.type===t.PROPERTY){if(e===i[o])return a}else if(A.type===t.BOOLEAN_ATTRIBUTE){if(!!e===i.hasAttribute(o))return a}else if(A.type===t.ATTRIBUTE&&i.getAttribute(o)===e+"")return a;return g(A),e}});class p{constructor(A,e,t,i,a){this._timer=new o,this._timerSeconds=e,this._callback=t,this._timerStartCallback=i,this._timerStopCallback=a,(this._host=A).addController(this)}removeController(){this.stopTimer(),this._host.removeController(this)}get value(){return this._value}updateValue(){this._value=this._callback()}clearValue(){this._value=void 0}stopTimer(){this._timer.isRunning()&&(this._timer.stop(),this._timerStopCallback?.())}startTimer(){this.stopTimer(),this._timerStartCallback?.(),this._timer.startRepeated(this._timerSeconds,(()=>{this.updateValue(),this._host.requestUpdate()}))}hasTimer(){return this._timer.isRunning()}hostConnected(){this.updateValue(),this.startTimer(),this._host.requestUpdate()}hostDisconnected(){this.clearValue(),this.stopTimer()}}var k="data:image/jpeg;base64,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";let U=class extends l{constructor(){super(...arguments),this._refImage=I(),this._boundVisibilityHandler=this._visibilityHandler.bind(this),this._mediaLoadedInfo=null}async play(){this._cachedValueController?.startTimer()}async pause(){this._cachedValueController?.stopTimer()}async mute(){}async unmute(){}isMuted(){return!0}async seek(A){}async setControls(A){}isPaused(){return!this._cachedValueController?.hasTimer()}async getScreenshotURL(){return this._cachedValueController?.value??null}_getCameraEntity(){return(this.cameraConfig?.camera_entity||this.cameraConfig?.webrtc_card?.entity)??null}shouldUpdate(A){if(!this.hass||"visible"!==document.visibilityState)return!1;const e=this._getRelevantEntityForMode(this._resolveMode(this.imageConfig?.mode));return!A.has("hass")||1!=A.size||!e||(n(this.hass,A.get("hass"),[e])?(this._cachedValueController?.clearValue(),!0):!this.hasUpdated)}willUpdate(A){A.has("imageConfig")&&(this._cachedValueController&&this._cachedValueController.removeController(),this.imageConfig&&(this._cachedValueController=new p(this,this.imageConfig.refresh_seconds,this._getImageSource.bind(this),(()=>E(this)),(()=>u(this)))));const e=this._getRelevantEntityForMode(this._resolveMode(this.imageConfig?.mode));(A.has("cameraConfig")||A.has("view")||e&&!this._getAcceptableState(e))&&this._cachedValueController?.clearValue(),this._cachedValueController?.value||this._cachedValueController?.updateValue()}_getAcceptableState(A){const e=(A?this.hass?.states[A]:null)??null;return this.hass&&this.hass.connected&&e&&Date.now()-Date.parse(e.last_updated)<3e5?e:null}connectedCallback(){super.connectedCallback(),document.addEventListener("visibilitychange",this._boundVisibilityHandler),this._cachedValueController?.startTimer()}disconnectedCallback(){this._cachedValueController?.stopTimer(),document.removeEventListener("visibilitychange",this._boundVisibilityHandler),super.disconnectedCallback()}_visibilityHandler(){this._refImage.value&&("hidden"===document.visibilityState?(this._cachedValueController?.stopTimer(),this._cachedValueController?.clearValue(),this._forceSafeImage()):(this._cachedValueController?.startTimer(),this.requestUpdate()))}_buildImageURL(A){return A.searchParams.append("_t",String(Date.now())),A.toString()}_addQueryParametersToURL(A,e){if(e){const t=new URLSearchParams(e);for(const[e,i]of t.entries())A.searchParams.append(e,i)}return A}_getRelevantEntityForMode(A){return"camera"===A?this._getCameraEntity():"entity"===A?this.imageConfig?.entity??null:null}_resolveMode(A){if(!A)return"screensaver";if("auto"!==A)return A;const e=this._getCameraEntity();return this.imageConfig?.entity?"entity":this.imageConfig?.url?"url":e?"camera":"screensaver"}_getImageSource(){const A=this._resolveMode(this.imageConfig?.mode);if(this.hass&&"camera"===A){const A=this._getAcceptableState(this._getCameraEntity());if(A?.attributes.entity_picture){const e=new URL(A.attributes.entity_picture,document.baseURI);return this._addQueryParametersToURL(e,this.imageConfig?.entity_parameters),this._buildImageURL(e)}}if(this.hass&&"entity"===A&&this.imageConfig?.entity){const A=this._getAcceptableState(this.imageConfig?.entity);if(A?.attributes.entity_picture){const e=new URL(A.attributes.entity_picture,document.baseURI);return this._addQueryParametersToURL(e,this.imageConfig?.entity_parameters),this._buildImageURL(e)}}return"url"===A&&this.imageConfig?.url?this._buildImageURL(new URL(this.imageConfig.url,document.baseURI)):k}_forceSafeImage(A){this._refImage.value&&(this._refImage.value.src=!A&&this.imageConfig?.url?this.imageConfig.url:k)}render(){const A=this._cachedValueController?.value;return A?m` - {const e=Q(A,{player:this,capabilities:{supportsPause:!!this.imageConfig?.refresh_seconds}});e&&!M(this._mediaLoadedInfo,e)&&(this._mediaLoadedInfo=e,B(this,e))}} - @error=${()=>{const A=this._resolveMode(this.imageConfig?.mode);"camera"===A||"entity"===A?this._forceSafeImage(!0):"url"===A&&d(this,b("error.image_load_error"),{context:this.imageConfig})}} - /> - `:m``}static get styles(){return L(':host {\n background-color: var(--primary-background-color);\n background-position: center;\n background-repeat: no-repeat;\n background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4yLjIgKGIwYTg0ODY1NDEsIDIwMjItMTItMDEpIgogICBzb2RpcG9kaTpkb2NuYW1lPSJjYW1lcmEtaXJpcy5zdmciCiAgIGlkPSJzdmc0IgogICB2ZXJzaW9uPSIxLjEiCiAgIHZpZXdCb3g9IjAgMCAyNCAyNCIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9Im5hbWVkdmlldzYiCiAgICAgcGFnZWNvbG9yPSIjYjkzZTNlIgogICAgIGJvcmRlcmNvbG9yPSIjMDAwMDAwIgogICAgIGJvcmRlcm9wYWNpdHk9IjAuMjUiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuNjA3ODQzMTQiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6ZGVza2NvbG9yPSIjZDFkMWQxIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIyNi42MjUwNiIKICAgICBpbmtzY2FwZTpjeD0iLTEuOTM0MjY4IgogICAgIGlua3NjYXBlOmN5PSIxNS42ODA3MTYiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIzODQwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjE1MjciCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjEwODAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjIyNyIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzQiIC8+CiAgPGcKICAgICBpZD0iZzExMTkiCiAgICAgc3R5bGU9ImZpbGwtb3BhY2l0eTowLjA1O2ZpbGw6I2ZmZmZmZiI+CiAgICA8Y2lyY2xlCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjA1O3N0cm9rZS13aWR0aDoxLjM5NzI5IgogICAgICAgaWQ9InBhdGgxNzAiCiAgICAgICBjeD0iMTIiCiAgICAgICBjeT0iMTIiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iV2hpdGUgQmFja2dyb3VuZCIKICAgICAgIHI9IjExLjI1IiAvPgogICAgPHBhdGgKICAgICAgIGQ9Ik0gMTMuNzMwMDAxLDE1IDkuODMwMDAwMywyMS43NiBDIDEwLjUzLDIxLjkxIDExLjI1LDIyIDEyLDIyIGMgMi40MDAwMDEsMCA0LjYsLTAuODUgNi4zMiwtMi4yNSBMIDE0LjY2MDAwMSwxMy40IE0gMi40NjAwMDAzLDE1IGMgMC45MiwyLjkyIDMuMTUsNS4yNiA1Ljk5LDYuMzQgTCAxMi4xMiwxNSBtIC0zLjU3OTk5OTcsLTMgLTMuOSwtNi43NDk5OTk2IGMgLTEuNjQsMS43NDk5OTkgLTIuNjQsNC4xMzk5OTkzIC0yLjY0LDYuNzQ5OTk5NiAwLDAuNjggMC4wNywxLjM1IDAuMiwyIGggNy40OSBNIDIxLjgsOS45OTk5OTk3IEggMTQuMzEwMDAxIEwgMTQuNjAwMDAxLDEwLjUgMTkuMzYsMTguNzUgQyAyMSwxNi45NyAyMiwxNC42IDIyLDEyIDIyLDExLjMxIDIxLjkzLDEwLjY0IDIxLjgsOS45OTk5OTk3IG0gLTAuMjYsLTEgQyAyMC42Miw2LjA3MDAwMDUgMTguMzksMy43NDAwMDAyIDE1LjU1MDAwMSwyLjY2MDAwMDIgTCAxMS44OCw4Ljk5OTk5OTcgTSA5LjQwMDAwMDMsMTAuNSAxNC4xNzAwMDEsMi4yNDAwMDAyIGMgLTAuNywtMC4xNSAtMS40MjAwMDEsLTAuMjQgLTIuMTcwMDAxLC0wLjI0IC0yLjM5OTk5OTcsMCAtNC41OTk5OTk3LDAuODQgLTYuMzE5OTk5NywyLjI1MDAwMDMgbCAzLjY2LDYuMzQ5OTk5NSB6IgogICAgICAgaWQ9InBhdGgyIgogICAgICAgaW5rc2NhcGU6bGFiZWw9IklyaXMiCiAgICAgICBzdHlsZT0iZmlsbC1vcGFjaXR5OjAuMDU7ZmlsbDojZmZmZmZmIiAvPgogIDwvZz4KPC9zdmc+Cg==");\n background-size: 10%;\n background-position: center;\n}\n\nimg {\n width: 100%;\n height: 100%;\n display: block;\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n object-view-box: inset(var(--frigate-card-media-layout-view-box-top, 0%) var(--frigate-card-media-layout-view-box-right, 0%) var(--frigate-card-media-layout-view-box-bottom, 0%) var(--frigate-card-media-layout-view-box-left, 0%));\n}')}};c([s({attribute:!1})],U.prototype,"hass",void 0),c([s({attribute:!1})],U.prototype,"view",void 0),c([s({attribute:!1})],U.prototype,"cameraConfig",void 0),c([s({attribute:!1})],U.prototype,"cameraManager",void 0),c([s({attribute:!1,hasChanged:h})],U.prototype,"imageConfig",void 0),U=c([C("frigate-card-image")],U);export{U as FrigateCardImage}; diff --git a/config/www/community/frigate-hass-card/image-1e2a0a79.js.gz b/config/www/community/frigate-hass-card/image-1e2a0a79.js.gz deleted file mode 100644 index 36073fa2f50760a610728a7a60a34ee75d92eaf5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22202 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ⅇ<&)rs%84@*`RvDgN;Nji=_E$_|e&)*2HEgd+?meYJVoE z$*g|_{>apKB@_Voo|`uxlF#49Sp27{;77~v>&p4~@{dXUhKvu%(>TCy75zum%%kM- zPuV~J?Zwm2e??jF?DEBnfB&ufhSE2mzuGWS{O`X}fYGnl|0e}~Ah?5n{O>0lkwN_a zZR!NQ>K0qxI#y}jQXdG*AEpvy8kBkOwLZLj`MnUnsa&UNe^U`CzW!nV33A1goWE^N zy|=`@ItF#(=Wi(YrrC^u^xLSoe?53T4_BaF`Y!x`Ya&yF@yt5!Rrg!_^{X2l_Y;1d zr1|S@0kkj^Q4Q$$zYEZxzvgBB-%l6+{E+?gpVO4RCc3qwFY0DUr(F1$u7%hC`C*zh z_u{vI&ji>p<=e)q1dz-iU+?%Vrse)$HfENYKnX+5c9!~py-khihw7H(OxR0!)_AmSSI#T zYK=3L9@K3-{dO|CvGi@}4Cr)jL`HbPvuOhEPuGhF97|K*j@Eh89#p;;V*0+1GfPu< zNgEC}e2fPoi4W54!QbfjSg5vharKN3z~?lP4_^tx26kbmeRi+4;cYG~(a=7hMu%l$ zQx~t#?mwIvHa3fn`}`);ZsHBlTDY9j?IY~!ECHW70q!L&cn&$4l$zOQFqZ&-c3KDv zMN`Pl7n!JwPRNvn`8Cbo(dmxjoxTysn8L3PY~~NL0ebISXDlaq{WZ84na;vY_LMnY zasQayUFL~-Hpe~52f}#Y^NgRBoiUAhR+iTJ1m9$Fvk`f+ok?bio298c8qwoDAj8}| zOIMrS3_x$O5htU0l+ruh)0x|=lPSOkzU%=sPIPwP@7Z+5St?yFnRMNXu@-%y;ftL* z%kb*LL})Hgqs20b4Fj3P{EzqE==&P46yxxol1K3<{{f6tfJX&vGP0Mfg6@_krxXBY1TyM=h%@mARwbOw>V%QF%5~a^C!3`AErA%$Diz*^aS`H ze#kcrU?!b6_L)JfGgNxnDVccu3IC9jZ&N#$flo82sq-5?mzL%zM?48)A)w>HI#1`^ z^gPnNcuc<7IIN)dEv}fQ&326qY|mJx3-4HTLX1QEs#FjXe6q^P`{UMCh_X zFO6Sh49>jS3W(WXuN}WzdoJhNI0Lx>xYIH$T~-U^jESwKJJ|54eT-#y+vX>|0-AV; zkMQf^fu;j@qvgv!7SNY00`Vxe(kM4o9-`f z`_--&2V}w1iyICQ7bY6U8%+~l5tKz)tw|)n zIo{SrfD_PRET%K1QJ&UNKu0G~Q#=bMT03dzCc6Og1hEs)&9gxu0si(XA@MgE2K8P= z&^uiT%+mnwC<7kon=W{|yInuXVbaYcf3TK-Jw`1a18_F5g8?5V*#TZqX?i~KO(IKh z2G9vTJp7($>F?(z;~kf=_#qwaBAE0g-t0%y z>;ULOgC6ubJn5F=?|M-YWKVX;q^}2k1V7Z8zln1fDBc9;$iZeyB$sT@_5Eg zPhigg>}cAf;tjwHV(xwKop$-AH}UA)Wk-UXAM=a5-o(eVC;M!`InX2Tlm0-Q1+bGX z(RaNL6CXVEKwn^!z$O7-5B7H7qY|s1`2O(q`j_|$;$LK*JK%%qVCiD?)0jj;*QqwL zbOqf{d6?4H-^QvZKc~8@3F?RgsCPhZG9!bJA76b}AW!dAe0TvZ{^KuH&Y%C0|04&T z*}XRJBDV=A&UL7s~z&#pBL*{o5Dl;y>Q}b%5ax@ch{6<^Fee(SLXm<+azm z{xe*U``2-tOv=>(Wg1K)Z!Jb=t{rQ)F N`#%oBTS{this.updateValue(),this._host.requestUpdate()}))}hasTimer(){return this._timer.isRunning()}hostConnected(){this.updateValue(),this.startTimer(),this._host.requestUpdate()}hostDisconnected(){this.clearValue(),this.stopTimer()}}var k="data:image/jpeg;base64,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";let U=class extends l{constructor(){super(...arguments),this._refImage=I(),this._boundVisibilityHandler=this._visibilityHandler.bind(this),this._mediaLoadedInfo=null}async play(){this._cachedValueController?.startTimer()}async pause(){this._cachedValueController?.stopTimer()}async mute(){}async unmute(){}isMuted(){return!0}async seek(A){}async setControls(A){}isPaused(){return!this._cachedValueController?.hasTimer()}async getScreenshotURL(){return this._cachedValueController?.value??null}_getCameraEntity(){return(this.cameraConfig?.camera_entity||this.cameraConfig?.webrtc_card?.entity)??null}shouldUpdate(A){if(!this.hass||"visible"!==document.visibilityState)return!1;const e=this._getRelevantEntityForMode(this._resolveMode(this.imageConfig?.mode));return!A.has("hass")||1!=A.size||!e||(n(this.hass,A.get("hass"),[e])?(this._cachedValueController?.clearValue(),!0):!this.hasUpdated)}willUpdate(A){A.has("imageConfig")&&(this._cachedValueController&&this._cachedValueController.removeController(),this.imageConfig&&(this._cachedValueController=new p(this,this.imageConfig.refresh_seconds,this._getImageSource.bind(this),(()=>E(this)),(()=>u(this)))));const e=this._getRelevantEntityForMode(this._resolveMode(this.imageConfig?.mode));(A.has("cameraConfig")||A.has("view")||e&&!this._getAcceptableState(e))&&this._cachedValueController?.clearValue(),this._cachedValueController?.value||this._cachedValueController?.updateValue()}_getAcceptableState(A){const e=(A?this.hass?.states[A]:null)??null;return this.hass&&this.hass.connected&&e&&Date.now()-Date.parse(e.last_updated)<3e5?e:null}connectedCallback(){super.connectedCallback(),document.addEventListener("visibilitychange",this._boundVisibilityHandler),this._cachedValueController?.startTimer()}disconnectedCallback(){this._cachedValueController?.stopTimer(),document.removeEventListener("visibilitychange",this._boundVisibilityHandler),super.disconnectedCallback()}_visibilityHandler(){this._refImage.value&&("hidden"===document.visibilityState?(this._cachedValueController?.stopTimer(),this._cachedValueController?.clearValue(),this._forceSafeImage()):(this._cachedValueController?.startTimer(),this.requestUpdate()))}_buildImageURL(A){return A.searchParams.append("_t",String(Date.now())),A.toString()}_addQueryParametersToURL(A,e){if(e){const t=new URLSearchParams(e);for(const[e,i]of t.entries())A.searchParams.append(e,i)}return A}_getRelevantEntityForMode(A){return"camera"===A?this._getCameraEntity():"entity"===A?this.imageConfig?.entity??null:null}_resolveMode(A){if(!A)return"screensaver";if("auto"!==A)return A;const e=this._getCameraEntity();return this.imageConfig?.entity?"entity":this.imageConfig?.url?"url":e?"camera":"screensaver"}_getImageSource(){const A=this._resolveMode(this.imageConfig?.mode);if(this.hass&&"camera"===A){const A=this._getAcceptableState(this._getCameraEntity());if(A?.attributes.entity_picture){const e=new URL(A.attributes.entity_picture,document.baseURI);return this._addQueryParametersToURL(e,this.imageConfig?.entity_parameters),this._buildImageURL(e)}}if(this.hass&&"entity"===A&&this.imageConfig?.entity){const A=this._getAcceptableState(this.imageConfig?.entity);if(A?.attributes.entity_picture){const e=new URL(A.attributes.entity_picture,document.baseURI);return this._addQueryParametersToURL(e,this.imageConfig?.entity_parameters),this._buildImageURL(e)}}return"url"===A&&this.imageConfig?.url?this._buildImageURL(new URL(this.imageConfig.url,document.baseURI)):k}_forceSafeImage(A){this._refImage.value&&(this._refImage.value.src=!A&&this.imageConfig?.url?this.imageConfig.url:k)}render(){const A=this._cachedValueController?.value;return A?m` - {const e=Q(A,{player:this,capabilities:{supportsPause:!!this.imageConfig?.refresh_seconds}});e&&!M(this._mediaLoadedInfo,e)&&(this._mediaLoadedInfo=e,B(this,e))}} - @error=${()=>{const A=this._resolveMode(this.imageConfig?.mode);"camera"===A||"entity"===A?this._forceSafeImage(!0):"url"===A&&d(this,b("error.image_load_error"),{context:this.imageConfig})}} - /> - `:m``}static get styles(){return L(':host {\n background-color: var(--primary-background-color);\n background-position: center;\n background-repeat: no-repeat;\n background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4yLjIgKGIwYTg0ODY1NDEsIDIwMjItMTItMDEpIgogICBzb2RpcG9kaTpkb2NuYW1lPSJjYW1lcmEtaXJpcy5zdmciCiAgIGlkPSJzdmc0IgogICB2ZXJzaW9uPSIxLjEiCiAgIHZpZXdCb3g9IjAgMCAyNCAyNCIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9Im5hbWVkdmlldzYiCiAgICAgcGFnZWNvbG9yPSIjYjkzZTNlIgogICAgIGJvcmRlcmNvbG9yPSIjMDAwMDAwIgogICAgIGJvcmRlcm9wYWNpdHk9IjAuMjUiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuNjA3ODQzMTQiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6ZGVza2NvbG9yPSIjZDFkMWQxIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIyNi42MjUwNiIKICAgICBpbmtzY2FwZTpjeD0iLTEuOTM0MjY4IgogICAgIGlua3NjYXBlOmN5PSIxNS42ODA3MTYiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIzODQwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjE1MjciCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjEwODAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjIyNyIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzQiIC8+CiAgPGcKICAgICBpZD0iZzExMTkiCiAgICAgc3R5bGU9ImZpbGwtb3BhY2l0eTowLjA1O2ZpbGw6I2ZmZmZmZiI+CiAgICA8Y2lyY2xlCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjA1O3N0cm9rZS13aWR0aDoxLjM5NzI5IgogICAgICAgaWQ9InBhdGgxNzAiCiAgICAgICBjeD0iMTIiCiAgICAgICBjeT0iMTIiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iV2hpdGUgQmFja2dyb3VuZCIKICAgICAgIHI9IjExLjI1IiAvPgogICAgPHBhdGgKICAgICAgIGQ9Ik0gMTMuNzMwMDAxLDE1IDkuODMwMDAwMywyMS43NiBDIDEwLjUzLDIxLjkxIDExLjI1LDIyIDEyLDIyIGMgMi40MDAwMDEsMCA0LjYsLTAuODUgNi4zMiwtMi4yNSBMIDE0LjY2MDAwMSwxMy40IE0gMi40NjAwMDAzLDE1IGMgMC45MiwyLjkyIDMuMTUsNS4yNiA1Ljk5LDYuMzQgTCAxMi4xMiwxNSBtIC0zLjU3OTk5OTcsLTMgLTMuOSwtNi43NDk5OTk2IGMgLTEuNjQsMS43NDk5OTkgLTIuNjQsNC4xMzk5OTkzIC0yLjY0LDYuNzQ5OTk5NiAwLDAuNjggMC4wNywxLjM1IDAuMiwyIGggNy40OSBNIDIxLjgsOS45OTk5OTk3IEggMTQuMzEwMDAxIEwgMTQuNjAwMDAxLDEwLjUgMTkuMzYsMTguNzUgQyAyMSwxNi45NyAyMiwxNC42IDIyLDEyIDIyLDExLjMxIDIxLjkzLDEwLjY0IDIxLjgsOS45OTk5OTk3IG0gLTAuMjYsLTEgQyAyMC42Miw2LjA3MDAwMDUgMTguMzksMy43NDAwMDAyIDE1LjU1MDAwMSwyLjY2MDAwMDIgTCAxMS44OCw4Ljk5OTk5OTcgTSA5LjQwMDAwMDMsMTAuNSAxNC4xNzAwMDEsMi4yNDAwMDAyIGMgLTAuNywtMC4xNSAtMS40MjAwMDEsLTAuMjQgLTIuMTcwMDAxLC0wLjI0IC0yLjM5OTk5OTcsMCAtNC41OTk5OTk3LDAuODQgLTYuMzE5OTk5NywyLjI1MDAwMDMgbCAzLjY2LDYuMzQ5OTk5NSB6IgogICAgICAgaWQ9InBhdGgyIgogICAgICAgaW5rc2NhcGU6bGFiZWw9IklyaXMiCiAgICAgICBzdHlsZT0iZmlsbC1vcGFjaXR5OjAuMDU7ZmlsbDojZmZmZmZmIiAvPgogIDwvZz4KPC9zdmc+Cg==");\n background-size: 10%;\n background-position: center;\n}\n\nimg {\n width: 100%;\n height: 100%;\n display: block;\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n object-view-box: inset(var(--frigate-card-media-layout-view-box-top, 0%) var(--frigate-card-media-layout-view-box-right, 0%) var(--frigate-card-media-layout-view-box-bottom, 0%) var(--frigate-card-media-layout-view-box-left, 0%));\n}')}};c([s({attribute:!1})],U.prototype,"hass",void 0),c([s({attribute:!1})],U.prototype,"view",void 0),c([s({attribute:!1})],U.prototype,"cameraConfig",void 0),c([s({attribute:!1})],U.prototype,"cameraManager",void 0),c([s({attribute:!1,hasChanged:h})],U.prototype,"imageConfig",void 0),U=c([C("frigate-card-image")],U);export{U as FrigateCardImage}; diff --git a/config/www/community/frigate-hass-card/image-5371a090.js.gz b/config/www/community/frigate-hass-card/image-5371a090.js.gz deleted file mode 100644 index 149539da660ba4181f5e1b078074f136f7ec2f13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22203 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.updateValue(),this._host.requestUpdate()}))}hasTimer(){return this._timer.isRunning()}hostConnected(){this.updateValue(),this.startTimer(),this._host.requestUpdate()}hostDisconnected(){this.clearValue(),this.stopTimer()}}var k="data:image/jpeg;base64,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";let U=class extends l{constructor(){super(...arguments),this._refImage=I(),this._boundVisibilityHandler=this._visibilityHandler.bind(this),this._mediaLoadedInfo=null}async play(){this._cachedValueController?.startTimer()}async pause(){this._cachedValueController?.stopTimer()}async mute(){}async unmute(){}isMuted(){return!0}async seek(A){}async setControls(A){}isPaused(){return!this._cachedValueController?.hasTimer()}async getScreenshotURL(){return this._cachedValueController?.value??null}_getCameraEntity(){return(this.cameraConfig?.camera_entity||this.cameraConfig?.webrtc_card?.entity)??null}shouldUpdate(A){if(!this.hass||"visible"!==document.visibilityState)return!1;const e=this._getRelevantEntityForMode(this._resolveMode(this.imageConfig?.mode));return!A.has("hass")||1!=A.size||!e||(n(this.hass,A.get("hass"),[e])?(this._cachedValueController?.clearValue(),!0):!this.hasUpdated)}willUpdate(A){A.has("imageConfig")&&(this._cachedValueController&&this._cachedValueController.removeController(),this.imageConfig&&(this._cachedValueController=new p(this,this.imageConfig.refresh_seconds,this._getImageSource.bind(this),(()=>E(this)),(()=>u(this)))));const e=this._getRelevantEntityForMode(this._resolveMode(this.imageConfig?.mode));(A.has("cameraConfig")||A.has("view")||e&&!this._getAcceptableState(e))&&this._cachedValueController?.clearValue(),this._cachedValueController?.value||this._cachedValueController?.updateValue()}_getAcceptableState(A){const e=(A?this.hass?.states[A]:null)??null;return this.hass&&this.hass.connected&&e&&Date.now()-Date.parse(e.last_updated)<3e5?e:null}connectedCallback(){super.connectedCallback(),document.addEventListener("visibilitychange",this._boundVisibilityHandler),this._cachedValueController?.startTimer()}disconnectedCallback(){this._cachedValueController?.stopTimer(),document.removeEventListener("visibilitychange",this._boundVisibilityHandler),super.disconnectedCallback()}_visibilityHandler(){this._refImage.value&&("hidden"===document.visibilityState?(this._cachedValueController?.stopTimer(),this._cachedValueController?.clearValue(),this._forceSafeImage()):(this._cachedValueController?.startTimer(),this.requestUpdate()))}_buildImageURL(A){return A.searchParams.append("_t",String(Date.now())),A.toString()}_addQueryParametersToURL(A,e){if(e){const t=new URLSearchParams(e);for(const[e,i]of t.entries())A.searchParams.append(e,i)}return A}_getRelevantEntityForMode(A){return"camera"===A?this._getCameraEntity():"entity"===A?this.imageConfig?.entity??null:null}_resolveMode(A){if(!A)return"screensaver";if("auto"!==A)return A;const e=this._getCameraEntity();return this.imageConfig?.entity?"entity":this.imageConfig?.url?"url":e?"camera":"screensaver"}_getImageSource(){const A=this._resolveMode(this.imageConfig?.mode);if(this.hass&&"camera"===A){const A=this._getAcceptableState(this._getCameraEntity());if(A?.attributes.entity_picture){const e=new URL(A.attributes.entity_picture,document.baseURI);return this._addQueryParametersToURL(e,this.imageConfig?.entity_parameters),this._buildImageURL(e)}}if(this.hass&&"entity"===A&&this.imageConfig?.entity){const A=this._getAcceptableState(this.imageConfig?.entity);if(A?.attributes.entity_picture){const e=new URL(A.attributes.entity_picture,document.baseURI);return this._addQueryParametersToURL(e,this.imageConfig?.entity_parameters),this._buildImageURL(e)}}return"url"===A&&this.imageConfig?.url?this._buildImageURL(new URL(this.imageConfig.url,document.baseURI)):k}_forceSafeImage(A){this._refImage.value&&(this._refImage.value.src=!A&&this.imageConfig?.url?this.imageConfig.url:k)}render(){const A=this._cachedValueController?.value;return A?m` - {const e=Q(A,{player:this,capabilities:{supportsPause:!!this.imageConfig?.refresh_seconds}});e&&!M(this._mediaLoadedInfo,e)&&(this._mediaLoadedInfo=e,B(this,e))}} - @error=${()=>{const A=this._resolveMode(this.imageConfig?.mode);"camera"===A||"entity"===A?this._forceSafeImage(!0):"url"===A&&d(this,b("error.image_load_error"),{context:this.imageConfig})}} - /> - `:m``}static get styles(){return L(':host {\n background-color: var(--primary-background-color);\n background-position: center;\n background-repeat: no-repeat;\n background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4yLjIgKGIwYTg0ODY1NDEsIDIwMjItMTItMDEpIgogICBzb2RpcG9kaTpkb2NuYW1lPSJjYW1lcmEtaXJpcy5zdmciCiAgIGlkPSJzdmc0IgogICB2ZXJzaW9uPSIxLjEiCiAgIHZpZXdCb3g9IjAgMCAyNCAyNCIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9Im5hbWVkdmlldzYiCiAgICAgcGFnZWNvbG9yPSIjYjkzZTNlIgogICAgIGJvcmRlcmNvbG9yPSIjMDAwMDAwIgogICAgIGJvcmRlcm9wYWNpdHk9IjAuMjUiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuNjA3ODQzMTQiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6ZGVza2NvbG9yPSIjZDFkMWQxIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIyNi42MjUwNiIKICAgICBpbmtzY2FwZTpjeD0iLTEuOTM0MjY4IgogICAgIGlua3NjYXBlOmN5PSIxNS42ODA3MTYiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIzODQwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjE1MjciCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjEwODAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjIyNyIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzQiIC8+CiAgPGcKICAgICBpZD0iZzExMTkiCiAgICAgc3R5bGU9ImZpbGwtb3BhY2l0eTowLjA1O2ZpbGw6I2ZmZmZmZiI+CiAgICA8Y2lyY2xlCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjA1O3N0cm9rZS13aWR0aDoxLjM5NzI5IgogICAgICAgaWQ9InBhdGgxNzAiCiAgICAgICBjeD0iMTIiCiAgICAgICBjeT0iMTIiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iV2hpdGUgQmFja2dyb3VuZCIKICAgICAgIHI9IjExLjI1IiAvPgogICAgPHBhdGgKICAgICAgIGQ9Ik0gMTMuNzMwMDAxLDE1IDkuODMwMDAwMywyMS43NiBDIDEwLjUzLDIxLjkxIDExLjI1LDIyIDEyLDIyIGMgMi40MDAwMDEsMCA0LjYsLTAuODUgNi4zMiwtMi4yNSBMIDE0LjY2MDAwMSwxMy40IE0gMi40NjAwMDAzLDE1IGMgMC45MiwyLjkyIDMuMTUsNS4yNiA1Ljk5LDYuMzQgTCAxMi4xMiwxNSBtIC0zLjU3OTk5OTcsLTMgLTMuOSwtNi43NDk5OTk2IGMgLTEuNjQsMS43NDk5OTkgLTIuNjQsNC4xMzk5OTkzIC0yLjY0LDYuNzQ5OTk5NiAwLDAuNjggMC4wNywxLjM1IDAuMiwyIGggNy40OSBNIDIxLjgsOS45OTk5OTk3IEggMTQuMzEwMDAxIEwgMTQuNjAwMDAxLDEwLjUgMTkuMzYsMTguNzUgQyAyMSwxNi45NyAyMiwxNC42IDIyLDEyIDIyLDExLjMxIDIxLjkzLDEwLjY0IDIxLjgsOS45OTk5OTk3IG0gLTAuMjYsLTEgQyAyMC42Miw2LjA3MDAwMDUgMTguMzksMy43NDAwMDAyIDE1LjU1MDAwMSwyLjY2MDAwMDIgTCAxMS44OCw4Ljk5OTk5OTcgTSA5LjQwMDAwMDMsMTAuNSAxNC4xNzAwMDEsMi4yNDAwMDAyIGMgLTAuNywtMC4xNSAtMS40MjAwMDEsLTAuMjQgLTIuMTcwMDAxLC0wLjI0IC0yLjM5OTk5OTcsMCAtNC41OTk5OTk3LDAuODQgLTYuMzE5OTk5NywyLjI1MDAwMDMgbCAzLjY2LDYuMzQ5OTk5NSB6IgogICAgICAgaWQ9InBhdGgyIgogICAgICAgaW5rc2NhcGU6bGFiZWw9IklyaXMiCiAgICAgICBzdHlsZT0iZmlsbC1vcGFjaXR5OjAuMDU7ZmlsbDojZmZmZmZmIiAvPgogIDwvZz4KPC9zdmc+Cg==");\n background-size: 10%;\n background-position: center;\n}\n\nimg {\n width: 100%;\n height: 100%;\n display: block;\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n object-view-box: inset(var(--frigate-card-media-layout-view-box-top, 0%) var(--frigate-card-media-layout-view-box-right, 0%) var(--frigate-card-media-layout-view-box-bottom, 0%) var(--frigate-card-media-layout-view-box-left, 0%));\n}')}};c([s({attribute:!1})],U.prototype,"hass",void 0),c([s({attribute:!1})],U.prototype,"view",void 0),c([s({attribute:!1})],U.prototype,"cameraConfig",void 0),c([s({attribute:!1})],U.prototype,"cameraManager",void 0),c([s({attribute:!1,hasChanged:h})],U.prototype,"imageConfig",void 0),U=c([C("frigate-card-image")],U);export{U as FrigateCardImage}; diff --git a/config/www/community/frigate-hass-card/image-632882b9.js.gz b/config/www/community/frigate-hass-card/image-632882b9.js.gz deleted file mode 100644 index 54da439cf6d4fd5bbafb80e852a22c87362882de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22203 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 OZ~q7V)U6tTg8%?PYz4gl diff --git a/config/www/community/frigate-hass-card/image-669f8abb.js b/config/www/community/frigate-hass-card/image-669f8abb.js deleted file mode 100644 index ba3616de..00000000 --- a/config/www/community/frigate-hass-card/image-669f8abb.js +++ /dev/null @@ -1,9 +0,0 @@ -import{a,cR as e,x as s,cV as t,r as i,d2 as r,_ as m,n as g,t as n}from"./card-769e2b91.js";import{g as u}from"./index-9b434861.js";import"./image-632882b9.js";import"./media-d4c0d154.js";let o=class extends a{constructor(){super(...arguments),this._refImage=e()}async play(){await(this._refImage.value?.play())}async pause(){await(this._refImage.value?.pause())}async mute(){await(this._refImage.value?.mute())}async unmute(){await(this._refImage.value?.unmute())}isMuted(){return!!this._refImage.value?.isMuted()}async seek(a){await(this._refImage.value?.seek(a))}async setControls(a){await(this._refImage.value?.setControls(a))}isPaused(){return this._refImage.value?.isPaused()??!0}async getScreenshotURL(){return await(this._refImage.value?.getScreenshotURL())??null}render(){if(this.hass&&this.cameraConfig)return u(this,this.hass,this.cameraConfig),s` - - - `}static get styles(){return i(r)}};m([g({attribute:!1})],o.prototype,"hass",void 0),m([g({attribute:!1})],o.prototype,"cameraConfig",void 0),o=m([n("frigate-card-live-image")],o);export{o as FrigateCardLiveImage}; diff --git a/config/www/community/frigate-hass-card/image-669f8abb.js.gz b/config/www/community/frigate-hass-card/image-669f8abb.js.gz deleted file mode 100644 index 68305dcae63d52fa16844cb811426206bd8ceff5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 554 zcmV+_0@eK=iwFoydR%7$|7mSuXJsumHaTWEVPaw~YI6XMlu>WmFcgK~`zuT|Rf%L$ zpp?NFRzU)HOVD-OKfCcQxM93pY0F`qbtqJjdZ?q?}>90UM!`;Eu+aj zVVVG4yP|3G!&Rip6;9KhtBO9lQc&SaM$r{f&Xp{J_$py4ZNDFkpf?+JQ7?n(KL_(H1+gJ~KW*oy~ zDqgYNz%;Iqy@44G=NuJNTMC2c92HU%rN2#B0gBn|bDl-JDaKQDkJ3|;>Zc3hua9%ZGltOi--qAu zokGaF?Z088axePU6N}Vi8j^2QjjD;}_)2f^P4Oi|jee>_U!A6|w5L)dL+)P!(YVP$ zAC8}gDk{ry5&q1=Ekjg%W_RpEt6N6DsEn6NqQuP-XyBeFpexB!(uwFB49&C$qnuc) s2!o@vIbT5)IdEN~F|7T6NV@;f=Zd_w;GO0Cp_k)}ztmSKO9%x30PL+5n*aa+ diff --git a/config/www/community/frigate-hass-card/image-678a8283.js b/config/www/community/frigate-hass-card/image-678a8283.js deleted file mode 100644 index 41bb54a7..00000000 --- a/config/www/community/frigate-hass-card/image-678a8283.js +++ /dev/null @@ -1,9 +0,0 @@ -import{a as e,cM as a,x as t,cQ as s,r as i,c_ as r,_ as u,n as g,t as m}from"./card-320adb66.js";import"./image-88fcb8ac.js";let n=class extends e{constructor(){super(...arguments),this._refImage=a()}async play(){await(this._refImage.value?.play())}async pause(){await(this._refImage.value?.pause())}async mute(){await(this._refImage.value?.mute())}async unmute(){await(this._refImage.value?.unmute())}isMuted(){return!!this._refImage.value?.isMuted()}async seek(e){await(this._refImage.value?.seek(e))}async setControls(e){await(this._refImage.value?.setControls(e))}isPaused(){return this._refImage.value?.isPaused()??!0}async getScreenshotURL(){return await(this._refImage.value?.getScreenshotURL())??null}render(){if(this.hass&&this.cameraConfig)return t` - - - `}static get styles(){return i(r)}};u([g({attribute:!1})],n.prototype,"hass",void 0),u([g({attribute:!1})],n.prototype,"cameraConfig",void 0),n=u([m("frigate-card-live-image")],n);export{n as FrigateCardLiveImage}; diff --git a/config/www/community/frigate-hass-card/image-678a8283.js.gz b/config/www/community/frigate-hass-card/image-678a8283.js.gz deleted file mode 100644 index f4e82f80325037637d74432f2ae0884b106790bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 514 zcmV+d0{#6TiwFoEf?;O@|7mSuXJsumH#lK9GB`6XYI6XMR9$P^Fcf|7uW(E$HYjek zK?%#UJQN0l7WToO#%OQkYe$MvA9T-b)~3*0Ca$i z-#P@gb3lxLb*PzgAQ-=MsF(-Cq=TH1gR;$3RffqW2bE6Wy`4e2zPd_&>u@1_f~7)zOHho7ZQ;Q9+q$XuJRVs=bZE93ek|dyVQ=%jtGujB9+$qdH zyO~Rf;uiE?@}MqYZ$0oA1VxWk$rcKOtE7`04PZ2$a&(&BQW`qt=p?n%U-uyO=gGO z9O*k(h*EDV`tj{%81hnur!G5Fnxbfx-5hkwBC^iAu^V-9;g1|jRA9SjB9Hs3_h*6s zK4ePdKsfb#>o@ek1i^Wu|0xo;N75%O&zob~i1K5)z+N#f(eWewn0(IAOF#CdFQ2yV zxcgQUknk5AXxbO3hpQEliraQ!qMv!x0Fe@FyFc$IZ`$}5lS!>As%T#$3*G;OY+H#m zn8oZBhH=}$D3{h+M&YBjh1g-K=db>D#0CL<1W~BrG E09TFp?*IS* diff --git a/config/www/community/frigate-hass-card/image-88fcb8ac.js b/config/www/community/frigate-hass-card/image-88fcb8ac.js deleted file mode 100644 index c334a730..00000000 --- a/config/www/community/frigate-hass-card/image-88fcb8ac.js +++ /dev/null @@ -1,13 +0,0 @@ -import{dx as A,dy as e,eP as t,eQ as i,dz as a,eM as r,eR as g,dA as s,_ as o,n as c,cR as h,b as C,t as l,a as n,cM as I,eS as E,du as u,dv as m,cP as w,x as Q,cQ as M,eN as B,i as d,cL as b,l as L,r as D}from"./card-320adb66.js"; -/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const p=A(class extends e{constructor(A){if(super(A),A.type!==t.PROPERTY&&A.type!==t.ATTRIBUTE&&A.type!==t.BOOLEAN_ATTRIBUTE)throw Error("The `live` directive is not allowed on child or event bindings");if(!i(A))throw Error("`live` bindings can only contain a single expression")}render(A){return A}update(A,[e]){if(e===a||e===r)return e;const i=A.element,s=A.name;if(A.type===t.PROPERTY){if(e===i[s])return a}else if(A.type===t.BOOLEAN_ATTRIBUTE){if(!!e===i.hasAttribute(s))return a}else if(A.type===t.ATTRIBUTE&&i.getAttribute(s)===e+"")return a;return g(A),e}});class k{constructor(A,e,t,i,a){this._timer=new s,this._timerSeconds=e,this._callback=t,this._timerStartCallback=i,this._timerStopCallback=a,(this._host=A).addController(this)}removeController(){this.stopTimer(),this._host.removeController(this)}get value(){return this._value}updateValue(){this._value=this._callback()}clearValue(){this._value=void 0}stopTimer(){this._timer.isRunning()&&(this._timer.stop(),this._timerStopCallback?.())}startTimer(){this.stopTimer(),this._timerStartCallback?.(),this._timer.startRepeated(this._timerSeconds,(()=>{this.updateValue(),this._host.requestUpdate()}))}hasTimer(){return this._timer.isRunning()}hostConnected(){this.updateValue(),this.startTimer(),this._host.requestUpdate()}hostDisconnected(){this.clearValue(),this.stopTimer()}}var U="data:image/jpeg;base64,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";let y=class extends n{constructor(){super(...arguments),this._message=null,this._refImage=I(),this._boundVisibilityHandler=this._visibilityHandler.bind(this),this._mediaLoadedInfo=null}async play(){this._cachedValueController?.startTimer()}async pause(){this._cachedValueController?.stopTimer()}async mute(){}async unmute(){}isMuted(){return!0}async seek(A){}async setControls(A){}isPaused(){return!this._cachedValueController?.hasTimer()}async getScreenshotURL(){return this._cachedValueController?.value??null}_getCameraEntity(){return(this.cameraConfig?.camera_entity||this.cameraConfig?.webrtc_card?.entity)??null}shouldUpdate(A){if(!this.hass||"visible"!==document.visibilityState)return!1;const e=this._getRelevantEntityForMode(this._resolveMode(this.imageConfig?.mode));return!A.has("hass")||1!=A.size||!e||(E(this.hass,A.get("hass"),[e])?(this._cachedValueController?.clearValue(),!0):!this.hasUpdated)}willUpdate(A){A.has("imageConfig")&&(this._cachedValueController&&this._cachedValueController.removeController(),this.imageConfig&&(this._cachedValueController=new k(this,this.imageConfig.refresh_seconds,this._getImageSource.bind(this),(()=>u(this)),(()=>m(this)))));const e=this._getRelevantEntityForMode(this._resolveMode(this.imageConfig?.mode));(A.has("cameraConfig")||A.has("view")||e&&!this._getAcceptableState(e))&&this._cachedValueController?.clearValue(),this._cachedValueController?.value||this._cachedValueController?.updateValue(),["imageConfig","view"].some((e=>A.has(e)))&&(this._message=null)}_getAcceptableState(A){const e=(A?this.hass?.states[A]:null)??null;return this.hass&&this.hass.connected&&e&&Date.now()-Date.parse(e.last_updated)<3e5?e:null}connectedCallback(){super.connectedCallback(),document.addEventListener("visibilitychange",this._boundVisibilityHandler),this._cachedValueController?.startTimer()}disconnectedCallback(){this._cachedValueController?.stopTimer(),this._message=null,document.removeEventListener("visibilitychange",this._boundVisibilityHandler),super.disconnectedCallback()}_visibilityHandler(){this._refImage.value&&("hidden"===document.visibilityState?(this._cachedValueController?.stopTimer(),this._cachedValueController?.clearValue(),this._forceSafeImage()):(this._cachedValueController?.startTimer(),this.requestUpdate()))}_buildImageURL(A){return A.searchParams.append("_t",String(Date.now())),A.toString()}_addQueryParametersToURL(A,e){if(e){const t=new URLSearchParams(e);for(const[e,i]of t.entries())A.searchParams.append(e,i)}return A}_getRelevantEntityForMode(A){return"camera"===A?this._getCameraEntity():"entity"===A?this.imageConfig?.entity??null:null}_resolveMode(A){if(!A)return"screensaver";if("auto"!==A)return A;const e=this._getCameraEntity();return this.imageConfig?.entity?"entity":this.imageConfig?.url?"url":e?"camera":"screensaver"}_getImageSource(){const A=this._resolveMode(this.imageConfig?.mode);if(this.hass&&"camera"===A){const A=this._getAcceptableState(this._getCameraEntity());if(A?.attributes.entity_picture){const e=new URL(A.attributes.entity_picture,document.baseURI);return this._addQueryParametersToURL(e,this.imageConfig?.entity_parameters),this._buildImageURL(e)}}if(this.hass&&"entity"===A&&this.imageConfig?.entity){const A=this._getAcceptableState(this.imageConfig?.entity);if(A?.attributes.entity_picture){const e=new URL(A.attributes.entity_picture,document.baseURI);return this._addQueryParametersToURL(e,this.imageConfig?.entity_parameters),this._buildImageURL(e)}}return"url"===A&&this.imageConfig?.url?this._buildImageURL(new URL(this.imageConfig.url,document.baseURI)):U}_forceSafeImage(A){this._refImage.value&&(this._refImage.value.src=!A&&this.imageConfig?.url?this.imageConfig.url:U)}render(){if(this._message)return w(this._message);const A=this._cachedValueController?.value;return A?Q` - {const e=B(A,{player:this,capabilities:{supportsPause:!!this.imageConfig?.refresh_seconds}});e&&!d(this._mediaLoadedInfo,e)&&(this._mediaLoadedInfo=e,b(this,e))}} - @error=${()=>{const A=this._resolveMode(this.imageConfig?.mode);"camera"===A||"entity"===A?this._forceSafeImage(!0):"url"===A&&(this._message={type:"error",message:L("error.image_load_error"),context:this.imageConfig})}} - /> - `:Q``}static get styles(){return D(':host {\n background-color: var(--primary-background-color);\n background-position: center;\n background-repeat: no-repeat;\n background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4yLjIgKGIwYTg0ODY1NDEsIDIwMjItMTItMDEpIgogICBzb2RpcG9kaTpkb2NuYW1lPSJjYW1lcmEtaXJpcy5zdmciCiAgIGlkPSJzdmc0IgogICB2ZXJzaW9uPSIxLjEiCiAgIHZpZXdCb3g9IjAgMCAyNCAyNCIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9Im5hbWVkdmlldzYiCiAgICAgcGFnZWNvbG9yPSIjYjkzZTNlIgogICAgIGJvcmRlcmNvbG9yPSIjMDAwMDAwIgogICAgIGJvcmRlcm9wYWNpdHk9IjAuMjUiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuNjA3ODQzMTQiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6ZGVza2NvbG9yPSIjZDFkMWQxIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIyNi42MjUwNiIKICAgICBpbmtzY2FwZTpjeD0iLTEuOTM0MjY4IgogICAgIGlua3NjYXBlOmN5PSIxNS42ODA3MTYiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIzODQwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjE1MjciCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjEwODAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjIyNyIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzQiIC8+CiAgPGcKICAgICBpZD0iZzExMTkiCiAgICAgc3R5bGU9ImZpbGwtb3BhY2l0eTowLjA1O2ZpbGw6I2ZmZmZmZiI+CiAgICA8Y2lyY2xlCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjA1O3N0cm9rZS13aWR0aDoxLjM5NzI5IgogICAgICAgaWQ9InBhdGgxNzAiCiAgICAgICBjeD0iMTIiCiAgICAgICBjeT0iMTIiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iV2hpdGUgQmFja2dyb3VuZCIKICAgICAgIHI9IjExLjI1IiAvPgogICAgPHBhdGgKICAgICAgIGQ9Ik0gMTMuNzMwMDAxLDE1IDkuODMwMDAwMywyMS43NiBDIDEwLjUzLDIxLjkxIDExLjI1LDIyIDEyLDIyIGMgMi40MDAwMDEsMCA0LjYsLTAuODUgNi4zMiwtMi4yNSBMIDE0LjY2MDAwMSwxMy40IE0gMi40NjAwMDAzLDE1IGMgMC45MiwyLjkyIDMuMTUsNS4yNiA1Ljk5LDYuMzQgTCAxMi4xMiwxNSBtIC0zLjU3OTk5OTcsLTMgLTMuOSwtNi43NDk5OTk2IGMgLTEuNjQsMS43NDk5OTkgLTIuNjQsNC4xMzk5OTkzIC0yLjY0LDYuNzQ5OTk5NiAwLDAuNjggMC4wNywxLjM1IDAuMiwyIGggNy40OSBNIDIxLjgsOS45OTk5OTk3IEggMTQuMzEwMDAxIEwgMTQuNjAwMDAxLDEwLjUgMTkuMzYsMTguNzUgQyAyMSwxNi45NyAyMiwxNC42IDIyLDEyIDIyLDExLjMxIDIxLjkzLDEwLjY0IDIxLjgsOS45OTk5OTk3IG0gLTAuMjYsLTEgQyAyMC42Miw2LjA3MDAwMDUgMTguMzksMy43NDAwMDAyIDE1LjU1MDAwMSwyLjY2MDAwMDIgTCAxMS44OCw4Ljk5OTk5OTcgTSA5LjQwMDAwMDMsMTAuNSAxNC4xNzAwMDEsMi4yNDAwMDAyIGMgLTAuNywtMC4xNSAtMS40MjAwMDEsLTAuMjQgLTIuMTcwMDAxLC0wLjI0IC0yLjM5OTk5OTcsMCAtNC41OTk5OTk3LDAuODQgLTYuMzE5OTk5NywyLjI1MDAwMDMgbCAzLjY2LDYuMzQ5OTk5NSB6IgogICAgICAgaWQ9InBhdGgyIgogICAgICAgaW5rc2NhcGU6bGFiZWw9IklyaXMiCiAgICAgICBzdHlsZT0iZmlsbC1vcGFjaXR5OjAuMDU7ZmlsbDojZmZmZmZmIiAvPgogIDwvZz4KPC9zdmc+Cg==");\n background-size: 10%;\n background-position: center;\n}\n\nimg {\n width: 100%;\n height: 100%;\n display: block;\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n object-view-box: inset(var(--frigate-card-media-layout-view-box-top, 0%) var(--frigate-card-media-layout-view-box-right, 0%) var(--frigate-card-media-layout-view-box-bottom, 0%) var(--frigate-card-media-layout-view-box-left, 0%));\n}')}};o([c({attribute:!1})],y.prototype,"hass",void 0),o([c({attribute:!1})],y.prototype,"view",void 0),o([c({attribute:!1})],y.prototype,"cameraConfig",void 0),o([c({attribute:!1})],y.prototype,"cameraManager",void 0),o([c({attribute:!1,hasChanged:h})],y.prototype,"imageConfig",void 0),o([C()],y.prototype,"_message",void 0),y=o([l("frigate-card-image")],y);export{y as FrigateCardImage}; diff --git a/config/www/community/frigate-hass-card/image-88fcb8ac.js.gz b/config/www/community/frigate-hass-card/image-88fcb8ac.js.gz deleted file mode 100644 index f7cf1675ee5db211ca594a690b6bace9b6078933..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22282 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 diff --git a/config/www/community/frigate-hass-card/image-b5d57727.js b/config/www/community/frigate-hass-card/image-b5d57727.js deleted file mode 100644 index 97c60e50..00000000 --- a/config/www/community/frigate-hass-card/image-b5d57727.js +++ /dev/null @@ -1,9 +0,0 @@ -import{a,cR as e,x as s,cV as t,r as i,d2 as r,_ as m,n as g,t as n}from"./card-7cd05290.js";import{g as u}from"./index-3c9b9749.js";import"./image-5371a090.js";import"./media-67c578aa.js";let o=class extends a{constructor(){super(...arguments),this._refImage=e()}async play(){await(this._refImage.value?.play())}async pause(){await(this._refImage.value?.pause())}async mute(){await(this._refImage.value?.mute())}async unmute(){await(this._refImage.value?.unmute())}isMuted(){return!!this._refImage.value?.isMuted()}async seek(a){await(this._refImage.value?.seek(a))}async setControls(a){await(this._refImage.value?.setControls(a))}isPaused(){return this._refImage.value?.isPaused()??!0}async getScreenshotURL(){return await(this._refImage.value?.getScreenshotURL())??null}render(){if(this.hass&&this.cameraConfig)return u(this,this.hass,this.cameraConfig),s` - - - `}static get styles(){return i(r)}};m([g({attribute:!1})],o.prototype,"hass",void 0),m([g({attribute:!1})],o.prototype,"cameraConfig",void 0),o=m([n("frigate-card-live-image")],o);export{o as FrigateCardLiveImage}; diff --git a/config/www/community/frigate-hass-card/image-b5d57727.js.gz b/config/www/community/frigate-hass-card/image-b5d57727.js.gz deleted file mode 100644 index a6ef6a44e5a2835928d32655cd3a21803deb966f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 555 zcmV+`0@VEy5oJ*7+#GB@h=-pWZgXV zSkYioCAjWii}B-l^m^Rkyp}_X{o(cK5(Wo7oR(uEq5ozihNHItm6jnfJrx;PmwZjA z63bvKw6bIhLE41T))q@NVI0R`(jrGiHsZ99HoiAF|K#UQF^o#E8ztB>gN^gRACMFt zQt=A10%viJ>6E>r=4BYr~KlNrH#q{m$Knzv)*7gH%0m?45G3NP2cWr+a}LNICi<7 zs>rg^xXnSoEOK6Z7jC1@&#PMjIT~=;=Q53UQ;Le>dz2rO+&-MK>UuvnG6lkZ^?g(u zzEc=`wf#42RPM#9_0%EFn2uDnsYf+LcYLjP_^$Yrp+P@1p)Zb8*V;pA2}o8ifmzyQ zXxrnLp^3_Jl7~Oia0^66KDr%y*SjpEpIpaFqe;_di9GPn6Y!Om2^&QG1%__g)~Kh> ts>0wPZ6;S(M-F_KXoBnNKcxMC=wnUZIPlhS)uES@v%mEIc)bV(001)k5u^YB diff --git a/config/www/community/frigate-hass-card/image-c0a8dc12.js b/config/www/community/frigate-hass-card/image-c0a8dc12.js deleted file mode 100644 index ba4755f7..00000000 --- a/config/www/community/frigate-hass-card/image-c0a8dc12.js +++ /dev/null @@ -1,9 +0,0 @@ -import{a,cR as e,x as s,cV as t,r as i,d2 as r,_ as m,n as g,t as n}from"./card-45855f1f.js";import{g as u}from"./index-9bf80040.js";import"./image-1e2a0a79.js";import"./media-1a34ac2c.js";let o=class extends a{constructor(){super(...arguments),this._refImage=e()}async play(){await(this._refImage.value?.play())}async pause(){await(this._refImage.value?.pause())}async mute(){await(this._refImage.value?.mute())}async unmute(){await(this._refImage.value?.unmute())}isMuted(){return!!this._refImage.value?.isMuted()}async seek(a){await(this._refImage.value?.seek(a))}async setControls(a){await(this._refImage.value?.setControls(a))}isPaused(){return this._refImage.value?.isPaused()??!0}async getScreenshotURL(){return await(this._refImage.value?.getScreenshotURL())??null}render(){if(this.hass&&this.cameraConfig)return u(this,this.hass,this.cameraConfig),s` - - - `}static get styles(){return i(r)}};m([g({attribute:!1})],o.prototype,"hass",void 0),m([g({attribute:!1})],o.prototype,"cameraConfig",void 0),o=m([n("frigate-card-live-image")],o);export{o as FrigateCardLiveImage}; diff --git a/config/www/community/frigate-hass-card/image-c0a8dc12.js.gz b/config/www/community/frigate-hass-card/image-c0a8dc12.js.gz deleted file mode 100644 index a0cc541d772954588a34bef80ac25d80767e757e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 554 zcmV+_0@eK=iwFqOQ&?vL|7mSuXJsv8Fkv`kV=*!=YI6XMltF9TKoEuR`4wwXf&^ST$(+bG2KfobG@ZsuED=-nzAHe$&#KXAOawMjvaSp~NUlGd0 zFxbRO8q#G1y;vOq~D;4~K|eAJkJb@Qg^2NjsLjM*ZGwe`Rs5ab_H z;S%x^XJLcv3{V<8ETj*Lz(keHnon6$W{N|2jACvtrWy{TGy=Xf(L;4)RL#)L^rxA`7-t%9`RklpmAaJe{%n`jl#s0b#%XKI#qM zDvZ6`{2Ml?c4FOnYLRwKN2=R2qgtXnzR^2;SA5CPqMzH)7ssg^?Wr;ZB@q-ecB?z!jj_)>|4MFD? - - `}static get styles(){return i(r)}};u([g({attribute:!1})],n.prototype,"hass",void 0),u([g({attribute:!1})],n.prototype,"cameraConfig",void 0),n=u([m("frigate-card-live-image")],n);export{n as FrigateCardLiveImage}; diff --git a/config/www/community/frigate-hass-card/image-c4c28ccb.js.gz b/config/www/community/frigate-hass-card/image-c4c28ccb.js.gz deleted file mode 100644 index 2a705da21e027e7f1e0e4ce30ab0def6715c880a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 514 zcmV+d0{#6TiwFo%^lE1U|7mSuXJsv8G-EP2V`E}2YI6XMR9$P^Fcf|7uW(E$7AS7U z>X&9&9twj&24!O}8>3a_Ye$rqqXK~Vm~qoQ{n43!>AiXLiPsHTq7OU_h2g)Gl9$R5()I-ZM=;3!eE z5~j1O{3}x z&|lmscX|bAl$=bScN}$x7!B|zf!9+Gn!$oMjYQQ{`m}Q_^(}AxwG1_*ms<9^<#IAR zOlhjhDz`b{mqiqvckMRn;vyV5t3ff>y$~hotKOeQ z;rmc1Q8I*S*xRt72PTTnTm4@VVvl41 z-EsF;BSR4`IMTSUKo3_d5=E??o8)JivUOfX4oRV!CZa z9?b}SgJIluFv^9q)=B)RZ6&tQRgV1>GKXDwfx>I@sZ-uK;mYa4rQ7-0KQHV_ - - `}static get styles(){return i(r)}};m([g({attribute:!1})],o.prototype,"hass",void 0),m([g({attribute:!1})],o.prototype,"cameraConfig",void 0),o=m([n("frigate-card-live-image")],o);export{o as FrigateCardLiveImage}; diff --git a/config/www/community/frigate-hass-card/image-c6a10ba0.js.gz b/config/www/community/frigate-hass-card/image-c6a10ba0.js.gz deleted file mode 100644 index 33d8936a15c0a2b1f28ad9ff6bd4d079fdd0fabd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 553 zcmV+^0@nQ>iwFnL^JP(77#9l8G5Dgh`$>W?%fgDMoPxW+Qp9EMVh2@CO7%$5gU{ z!s0Axki7w{!E=s=X)UFtbB+dS4OYIv(n4`1%vX1pI$k4LEqlF}9eZv!#vuNV;Pojx z=3t>)B}uEooOgCnpYoeOmP5?oe<@pTHtP*`b91EcTq8=eQ1s*e?$G452&XRBQ`(}a zwA&o?%ObMIyKozId0F3bC{csUo{2o(O|dn__9#0gnR&hl>g!{sMGoZF+J7JQhVPUh zc(?sGY+UWdy7kl{?U;^Kw`oSTM0b3nclfUOlA%REwV|(0Q#aakWe7;rFCj3rDbO5_ zUqm{ts!16==Ft|2w3xdc`_Q|t;-5?;I7Q|Dn$fdF#MC$JK{kO)mZd)UE2_2n7HDtoRS) diff --git a/config/www/community/frigate-hass-card/image-cbfd7ccb.js b/config/www/community/frigate-hass-card/image-cbfd7ccb.js deleted file mode 100644 index e0833450..00000000 --- a/config/www/community/frigate-hass-card/image-cbfd7ccb.js +++ /dev/null @@ -1,13 +0,0 @@ -import{cL as A,cM as e,eR as t,eS as i,dC as a,cN as r,cO as g,dD as o,_ as c,n as s,cW as h,t as C,a as l,cR as I,eT as n,dy as E,dz as u,x as m,cV as w,eP as Q,i as M,cP as B,cQ as d,l as b,r as L}from"./card-c642ee74.js"; -/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const D=A(class extends e{constructor(A){if(super(A),A.type!==t.PROPERTY&&A.type!==t.ATTRIBUTE&&A.type!==t.BOOLEAN_ATTRIBUTE)throw Error("The `live` directive is not allowed on child or event bindings");if(!i(A))throw Error("`live` bindings can only contain a single expression")}render(A){return A}update(A,[e]){if(e===a||e===r)return e;const i=A.element,o=A.name;if(A.type===t.PROPERTY){if(e===i[o])return a}else if(A.type===t.BOOLEAN_ATTRIBUTE){if(!!e===i.hasAttribute(o))return a}else if(A.type===t.ATTRIBUTE&&i.getAttribute(o)===e+"")return a;return g(A),e}});class p{constructor(A,e,t,i,a){this._timer=new o,this._timerSeconds=e,this._callback=t,this._timerStartCallback=i,this._timerStopCallback=a,(this._host=A).addController(this)}removeController(){this.stopTimer(),this._host.removeController(this)}get value(){return this._value}updateValue(){this._value=this._callback()}clearValue(){this._value=void 0}stopTimer(){this._timer.isRunning()&&(this._timer.stop(),this._timerStopCallback?.())}startTimer(){this.stopTimer(),this._timerStartCallback?.(),this._timer.startRepeated(this._timerSeconds,(()=>{this.updateValue(),this._host.requestUpdate()}))}hasTimer(){return this._timer.isRunning()}hostConnected(){this.updateValue(),this.startTimer(),this._host.requestUpdate()}hostDisconnected(){this.clearValue(),this.stopTimer()}}var k="data:image/jpeg;base64,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";let U=class extends l{constructor(){super(...arguments),this._refImage=I(),this._boundVisibilityHandler=this._visibilityHandler.bind(this),this._mediaLoadedInfo=null}async play(){this._cachedValueController?.startTimer()}async pause(){this._cachedValueController?.stopTimer()}async mute(){}async unmute(){}isMuted(){return!0}async seek(A){}async setControls(A){}isPaused(){return!this._cachedValueController?.hasTimer()}async getScreenshotURL(){return this._cachedValueController?.value??null}_getCameraEntity(){return(this.cameraConfig?.camera_entity||this.cameraConfig?.webrtc_card?.entity)??null}shouldUpdate(A){if(!this.hass||"visible"!==document.visibilityState)return!1;const e=this._getRelevantEntityForMode(this._resolveMode(this.imageConfig?.mode));return!A.has("hass")||1!=A.size||!e||(n(this.hass,A.get("hass"),[e])?(this._cachedValueController?.clearValue(),!0):!this.hasUpdated)}willUpdate(A){A.has("imageConfig")&&(this._cachedValueController&&this._cachedValueController.removeController(),this.imageConfig&&(this._cachedValueController=new p(this,this.imageConfig.refresh_seconds,this._getImageSource.bind(this),(()=>E(this)),(()=>u(this)))));const e=this._getRelevantEntityForMode(this._resolveMode(this.imageConfig?.mode));(A.has("cameraConfig")||A.has("view")||e&&!this._getAcceptableState(e))&&this._cachedValueController?.clearValue(),this._cachedValueController?.value||this._cachedValueController?.updateValue()}_getAcceptableState(A){const e=(A?this.hass?.states[A]:null)??null;return this.hass&&this.hass.connected&&e&&Date.now()-Date.parse(e.last_updated)<3e5?e:null}connectedCallback(){super.connectedCallback(),document.addEventListener("visibilitychange",this._boundVisibilityHandler),this._cachedValueController?.startTimer()}disconnectedCallback(){this._cachedValueController?.stopTimer(),document.removeEventListener("visibilitychange",this._boundVisibilityHandler),super.disconnectedCallback()}_visibilityHandler(){this._refImage.value&&("hidden"===document.visibilityState?(this._cachedValueController?.stopTimer(),this._cachedValueController?.clearValue(),this._forceSafeImage()):(this._cachedValueController?.startTimer(),this.requestUpdate()))}_buildImageURL(A){return A.searchParams.append("_t",String(Date.now())),A.toString()}_addQueryParametersToURL(A,e){if(e){const t=new URLSearchParams(e);for(const[e,i]of t.entries())A.searchParams.append(e,i)}return A}_getRelevantEntityForMode(A){return"camera"===A?this._getCameraEntity():"entity"===A?this.imageConfig?.entity??null:null}_resolveMode(A){if(!A)return"screensaver";if("auto"!==A)return A;const e=this._getCameraEntity();return this.imageConfig?.entity?"entity":this.imageConfig?.url?"url":e?"camera":"screensaver"}_getImageSource(){const A=this._resolveMode(this.imageConfig?.mode);if(this.hass&&"camera"===A){const A=this._getAcceptableState(this._getCameraEntity());if(A?.attributes.entity_picture){const e=new URL(A.attributes.entity_picture,document.baseURI);return this._addQueryParametersToURL(e,this.imageConfig?.entity_parameters),this._buildImageURL(e)}}if(this.hass&&"entity"===A&&this.imageConfig?.entity){const A=this._getAcceptableState(this.imageConfig?.entity);if(A?.attributes.entity_picture){const e=new URL(A.attributes.entity_picture,document.baseURI);return this._addQueryParametersToURL(e,this.imageConfig?.entity_parameters),this._buildImageURL(e)}}return"url"===A&&this.imageConfig?.url?this._buildImageURL(new URL(this.imageConfig.url,document.baseURI)):k}_forceSafeImage(A){this._refImage.value&&(this._refImage.value.src=!A&&this.imageConfig?.url?this.imageConfig.url:k)}render(){const A=this._cachedValueController?.value;return A?m` - {const e=Q(A,{player:this,capabilities:{supportsPause:!!this.imageConfig?.refresh_seconds}});e&&!M(this._mediaLoadedInfo,e)&&(this._mediaLoadedInfo=e,B(this,e))}} - @error=${()=>{const A=this._resolveMode(this.imageConfig?.mode);"camera"===A||"entity"===A?this._forceSafeImage(!0):"url"===A&&d(this,b("error.image_load_error"),{context:this.imageConfig})}} - /> - `:m``}static get styles(){return L(':host {\n background-color: var(--primary-background-color);\n background-position: center;\n background-repeat: no-repeat;\n background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4yLjIgKGIwYTg0ODY1NDEsIDIwMjItMTItMDEpIgogICBzb2RpcG9kaTpkb2NuYW1lPSJjYW1lcmEtaXJpcy5zdmciCiAgIGlkPSJzdmc0IgogICB2ZXJzaW9uPSIxLjEiCiAgIHZpZXdCb3g9IjAgMCAyNCAyNCIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9Im5hbWVkdmlldzYiCiAgICAgcGFnZWNvbG9yPSIjYjkzZTNlIgogICAgIGJvcmRlcmNvbG9yPSIjMDAwMDAwIgogICAgIGJvcmRlcm9wYWNpdHk9IjAuMjUiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuNjA3ODQzMTQiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6ZGVza2NvbG9yPSIjZDFkMWQxIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIyNi42MjUwNiIKICAgICBpbmtzY2FwZTpjeD0iLTEuOTM0MjY4IgogICAgIGlua3NjYXBlOmN5PSIxNS42ODA3MTYiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIzODQwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjE1MjciCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjEwODAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjIyNyIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzQiIC8+CiAgPGcKICAgICBpZD0iZzExMTkiCiAgICAgc3R5bGU9ImZpbGwtb3BhY2l0eTowLjA1O2ZpbGw6I2ZmZmZmZiI+CiAgICA8Y2lyY2xlCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjA1O3N0cm9rZS13aWR0aDoxLjM5NzI5IgogICAgICAgaWQ9InBhdGgxNzAiCiAgICAgICBjeD0iMTIiCiAgICAgICBjeT0iMTIiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iV2hpdGUgQmFja2dyb3VuZCIKICAgICAgIHI9IjExLjI1IiAvPgogICAgPHBhdGgKICAgICAgIGQ9Ik0gMTMuNzMwMDAxLDE1IDkuODMwMDAwMywyMS43NiBDIDEwLjUzLDIxLjkxIDExLjI1LDIyIDEyLDIyIGMgMi40MDAwMDEsMCA0LjYsLTAuODUgNi4zMiwtMi4yNSBMIDE0LjY2MDAwMSwxMy40IE0gMi40NjAwMDAzLDE1IGMgMC45MiwyLjkyIDMuMTUsNS4yNiA1Ljk5LDYuMzQgTCAxMi4xMiwxNSBtIC0zLjU3OTk5OTcsLTMgLTMuOSwtNi43NDk5OTk2IGMgLTEuNjQsMS43NDk5OTkgLTIuNjQsNC4xMzk5OTkzIC0yLjY0LDYuNzQ5OTk5NiAwLDAuNjggMC4wNywxLjM1IDAuMiwyIGggNy40OSBNIDIxLjgsOS45OTk5OTk3IEggMTQuMzEwMDAxIEwgMTQuNjAwMDAxLDEwLjUgMTkuMzYsMTguNzUgQyAyMSwxNi45NyAyMiwxNC42IDIyLDEyIDIyLDExLjMxIDIxLjkzLDEwLjY0IDIxLjgsOS45OTk5OTk3IG0gLTAuMjYsLTEgQyAyMC42Miw2LjA3MDAwMDUgMTguMzksMy43NDAwMDAyIDE1LjU1MDAwMSwyLjY2MDAwMDIgTCAxMS44OCw4Ljk5OTk5OTcgTSA5LjQwMDAwMDMsMTAuNSAxNC4xNzAwMDEsMi4yNDAwMDAyIGMgLTAuNywtMC4xNSAtMS40MjAwMDEsLTAuMjQgLTIuMTcwMDAxLC0wLjI0IC0yLjM5OTk5OTcsMCAtNC41OTk5OTk3LDAuODQgLTYuMzE5OTk5NywyLjI1MDAwMDMgbCAzLjY2LDYuMzQ5OTk5NSB6IgogICAgICAgaWQ9InBhdGgyIgogICAgICAgaW5rc2NhcGU6bGFiZWw9IklyaXMiCiAgICAgICBzdHlsZT0iZmlsbC1vcGFjaXR5OjAuMDU7ZmlsbDojZmZmZmZmIiAvPgogIDwvZz4KPC9zdmc+Cg==");\n background-size: 10%;\n background-position: center;\n}\n\nimg {\n width: 100%;\n height: 100%;\n display: block;\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n object-view-box: inset(var(--frigate-card-media-layout-view-box-top, 0%) var(--frigate-card-media-layout-view-box-right, 0%) var(--frigate-card-media-layout-view-box-bottom, 0%) var(--frigate-card-media-layout-view-box-left, 0%));\n}')}};c([s({attribute:!1})],U.prototype,"hass",void 0),c([s({attribute:!1})],U.prototype,"view",void 0),c([s({attribute:!1})],U.prototype,"cameraConfig",void 0),c([s({attribute:!1})],U.prototype,"cameraManager",void 0),c([s({attribute:!1,hasChanged:h})],U.prototype,"imageConfig",void 0),U=c([C("frigate-card-image")],U);export{U as FrigateCardImage}; diff --git a/config/www/community/frigate-hass-card/image-cbfd7ccb.js.gz b/config/www/community/frigate-hass-card/image-cbfd7ccb.js.gz deleted file mode 100644 index fd6d123b3bc60604aa523eba2333732435819129..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22203 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 O_J07-J@+qwg8%@nFao6j diff --git a/config/www/community/frigate-hass-card/image-cdeb2c7e.js b/config/www/community/frigate-hass-card/image-cdeb2c7e.js deleted file mode 100644 index 4e4b6599..00000000 --- a/config/www/community/frigate-hass-card/image-cdeb2c7e.js +++ /dev/null @@ -1,9 +0,0 @@ -import{a,cR as e,x as s,cV as t,r as i,d2 as r,_ as m,n as g,t as n}from"./card-09c4bade.js";import{g as u}from"./index-e610f971.js";import"./image-1c1ebdfa.js";import"./media-aef44451.js";let o=class extends a{constructor(){super(...arguments),this._refImage=e()}async play(){await(this._refImage.value?.play())}async pause(){await(this._refImage.value?.pause())}async mute(){await(this._refImage.value?.mute())}async unmute(){await(this._refImage.value?.unmute())}isMuted(){return!!this._refImage.value?.isMuted()}async seek(a){await(this._refImage.value?.seek(a))}async setControls(a){await(this._refImage.value?.setControls(a))}isPaused(){return this._refImage.value?.isPaused()??!0}async getScreenshotURL(){return await(this._refImage.value?.getScreenshotURL())??null}render(){if(this.hass&&this.cameraConfig)return u(this,this.hass,this.cameraConfig),s` - - - `}static get styles(){return i(r)}};m([g({attribute:!1})],o.prototype,"hass",void 0),m([g({attribute:!1})],o.prototype,"cameraConfig",void 0),o=m([n("frigate-card-live-image")],o);export{o as FrigateCardLiveImage}; diff --git a/config/www/community/frigate-hass-card/image-cdeb2c7e.js.gz b/config/www/community/frigate-hass-card/image-cdeb2c7e.js.gz deleted file mode 100644 index cd71058ba4b736c762cd9e2e12a2b9f9f5b46dab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 552 zcmV+@0@wW?iwFo?dR%7$|7mSuXJsv8WMyJ9V>e|kYI6XMl-+9EKoEuR^Au}Qf&^>D zE^bTey1ob$3Mqt?_NJ6%yc)^dO1oxvSWC01rzicp-&G5`) zWrs71fLIzg#kAnBl}lJ<+cOB`>IN}~pYrxkmywXul5LwMe$ zWeyU$(Ta@D?RjM%^(pWCu^eKu|E27>`Ft>HeKVx5!XPTU)b#EC_AunR2&XDHQ0Ke>)qMw6!P3VGn4C*W%>6E=$Y3k3bN2ce!hsS1Om qw7Fbk6FKlxqA70b|B&|op-&BY!e.hasSelectedResult()}}))}async _setURL(){const e=this.media?.getContentID();if(!this.media||!e||!this.hass||this.viewerConfig?.lazy_load&&!this.load)return;let i=this.resolvedMediaCache?.get(e)??null;if(i||(i=await l(this.hass,e,this.resolvedMediaCache)),!i)return;const t=i.url;if(g(t))return void(this._url=h(this.hass,t));const a=this.cameraManager?.getStore().getCamera(this.media.getCameraID()),r=a?.getProxyConfig();if(r&&c(this.hass,r,"media")){if(r.dynamic){const e=t.split(/#/)[0];await u(this.hass,e,{sslVerification:r.ssl_verification,sslCiphers:r.ssl_ciphers,openLimit:0})}try{this._url=await m(this.hass,v(t))}catch(e){p(e)}}else this._url=t}willUpdate(e){if((e.has("load")||e.has("media")||e.has("viewerConfig")||e.has("resolvedMediaCache")||e.has("hass"))&&this._setURL().then((()=>{this.requestUpdate()})),e.has("viewerConfig")&&this.viewerConfig?.zoomable&&import("./zoomer-725f087c.js"),e.has("media")||e.has("cameraManager")){const e=this.media?.getCameraID(),i=e?this.cameraManager?.getStore().getCameraConfig(e):null;S(this,i?.dimensions?.layout),this.style.aspectRatio=C({ratio:i?.dimensions?.aspect_ratio})}}_useZoomIfRequired(e){if(!this.media)return e;const i=this.media.getCameraID(),t=this.media.getID()??void 0,a=this.cameraManager?.getStore().getCameraConfig(i),r=this.viewManagerEpoch?.manager.getView();return this.viewerConfig?.zoomable?w` a?.dimensions?.layout?{pan:a.dimensions.layout.pan,zoom:a.dimensions.layout.zoom}:void 0))} - .settings=${t?r?.context?.zoom?.[t]?.requested:void 0} - @frigate-card:zoom:zoomed=${()=>this.setControls(!1)} - @frigate-card:zoom:unzoomed=${()=>this.setControls()} - @frigate-card:zoom:change=${e=>f(e,this.viewManagerEpoch?.manager,t)} - > - ${e} - `:e}render(){if(this.load&&this.media&&this.hass&&this.viewerConfig)return this._url?this._useZoomIfRequired(w` - ${n.isVideo(this.media)?this.media.getVideoContentType()===Q.HLS?w` - `:w` - - `:w`{this.viewerConfig?.snapshot_click_plays_clip&&this._switchToRelatedClipView()}} - @load=${e=>{y(this,e,{player:this,technology:["jpg"]})}} - />`} - `):I({cardWideConfig:this.cardWideConfig})}static get styles(){return D(':host {\n background-color: var(--primary-background-color);\n background-position: center;\n background-repeat: no-repeat;\n background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4yLjIgKGIwYTg0ODY1NDEsIDIwMjItMTItMDEpIgogICBzb2RpcG9kaTpkb2NuYW1lPSJjYW1lcmEtaXJpcy5zdmciCiAgIGlkPSJzdmc0IgogICB2ZXJzaW9uPSIxLjEiCiAgIHZpZXdCb3g9IjAgMCAyNCAyNCIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9Im5hbWVkdmlldzYiCiAgICAgcGFnZWNvbG9yPSIjYjkzZTNlIgogICAgIGJvcmRlcmNvbG9yPSIjMDAwMDAwIgogICAgIGJvcmRlcm9wYWNpdHk9IjAuMjUiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuNjA3ODQzMTQiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6ZGVza2NvbG9yPSIjZDFkMWQxIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIyNi42MjUwNiIKICAgICBpbmtzY2FwZTpjeD0iLTEuOTM0MjY4IgogICAgIGlua3NjYXBlOmN5PSIxNS42ODA3MTYiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIzODQwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjE1MjciCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjEwODAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjIyNyIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzQiIC8+CiAgPGcKICAgICBpZD0iZzExMTkiCiAgICAgc3R5bGU9ImZpbGwtb3BhY2l0eTowLjA1O2ZpbGw6I2ZmZmZmZiI+CiAgICA8Y2lyY2xlCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjA1O3N0cm9rZS13aWR0aDoxLjM5NzI5IgogICAgICAgaWQ9InBhdGgxNzAiCiAgICAgICBjeD0iMTIiCiAgICAgICBjeT0iMTIiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iV2hpdGUgQmFja2dyb3VuZCIKICAgICAgIHI9IjExLjI1IiAvPgogICAgPHBhdGgKICAgICAgIGQ9Ik0gMTMuNzMwMDAxLDE1IDkuODMwMDAwMywyMS43NiBDIDEwLjUzLDIxLjkxIDExLjI1LDIyIDEyLDIyIGMgMi40MDAwMDEsMCA0LjYsLTAuODUgNi4zMiwtMi4yNSBMIDE0LjY2MDAwMSwxMy40IE0gMi40NjAwMDAzLDE1IGMgMC45MiwyLjkyIDMuMTUsNS4yNiA1Ljk5LDYuMzQgTCAxMi4xMiwxNSBtIC0zLjU3OTk5OTcsLTMgLTMuOSwtNi43NDk5OTk2IGMgLTEuNjQsMS43NDk5OTkgLTIuNjQsNC4xMzk5OTkzIC0yLjY0LDYuNzQ5OTk5NiAwLDAuNjggMC4wNywxLjM1IDAuMiwyIGggNy40OSBNIDIxLjgsOS45OTk5OTk3IEggMTQuMzEwMDAxIEwgMTQuNjAwMDAxLDEwLjUgMTkuMzYsMTguNzUgQyAyMSwxNi45NyAyMiwxNC42IDIyLDEyIDIyLDExLjMxIDIxLjkzLDEwLjY0IDIxLjgsOS45OTk5OTk3IG0gLTAuMjYsLTEgQyAyMC42Miw2LjA3MDAwMDUgMTguMzksMy43NDAwMDAyIDE1LjU1MDAwMSwyLjY2MDAwMDIgTCAxMS44OCw4Ljk5OTk5OTcgTSA5LjQwMDAwMDMsMTAuNSAxNC4xNzAwMDEsMi4yNDAwMDAyIGMgLTAuNywtMC4xNSAtMS40MjAwMDEsLTAuMjQgLTIuMTcwMDAxLC0wLjI0IC0yLjM5OTk5OTcsMCAtNC41OTk5OTk3LDAuODQgLTYuMzE5OTk5NywyLjI1MDAwMDMgbCAzLjY2LDYuMzQ5OTk5NSB6IgogICAgICAgaWQ9InBhdGgyIgogICAgICAgaW5rc2NhcGU6bGFiZWw9IklyaXMiCiAgICAgICBzdHlsZT0iZmlsbC1vcGFjaXR5OjAuMDU7ZmlsbDojZmZmZmZmIiAvPgogIDwvZz4KPC9zdmc+Cg==");\n background-size: 10%;\n background-position: center;\n}\n\n:host {\n display: block;\n width: 100%;\n height: 100%;\n}\n\nimg,\nvideo,\nfrigate-card-ha-hls-player {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n object-view-box: inset(var(--frigate-card-media-layout-view-box-top, 0%) var(--frigate-card-media-layout-view-box-right, 0%) var(--frigate-card-media-layout-view-box-bottom, 0%) var(--frigate-card-media-layout-view-box-left, 0%));\n}\n\nfrigate-card-progress-indicator {\n padding: 30px;\n box-sizing: border-box;\n}')}};e([i({attribute:!1})],q.prototype,"hass",void 0),e([i({attribute:!1})],q.prototype,"viewManagerEpoch",void 0),e([i({attribute:!1})],q.prototype,"media",void 0),e([i({attribute:!1})],q.prototype,"viewerConfig",void 0),e([i({attribute:!1})],q.prototype,"resolvedMediaCache",void 0),e([i({attribute:!1})],q.prototype,"load",void 0),e([i({attribute:!1})],q.prototype,"cameraManager",void 0),e([i({attribute:!1})],q.prototype,"cardWideConfig",void 0),e([t()],q.prototype,"_url",void 0),q=e([a("frigate-card-viewer-provider")],q);let H=class extends r{constructor(){super(...arguments),this.showControls=!0,this._selected=0,this._media=null,this._mediaActionsController=new O,this._player=null,this._refCarousel=s()}updated(e){super.updated(e),e.has("viewManagerEpoch")&&this.viewManagerEpoch?.manager.getView()?.context?.mediaViewer!==this.viewManagerEpoch?.oldView?.context?.mediaViewer&&this._seekHandler(),!this._mediaActionsController.hasRoot()&&this._refCarousel.value&&this._mediaActionsController.initialize(this._refCarousel.value)}connectedCallback(){super.connectedCallback(),this.requestUpdate()}disconnectedCallback(){this._mediaActionsController.destroy(),super.disconnectedCallback()}_getTransitionEffect(){return this.viewerConfig?.transition_effect??k.media_viewer.transition_effect}_getPlugins(){return[R({...this.viewerConfig?.lazy_load&&{lazyLoadCallback:(e,i)=>this._lazyloadSlide(i)}}),U(),Y()]}_getMediaNeighbors(){const e=this._media?.length??0;if(!this._media)return null;const i=this._selected>0?this._selected-1:null,t=this._selected+1{if(!t||!this._media)return;const i=("previous"===e?t.previous?.index:t.next?.index)??null;null!==i&&this._setViewSelectedIndex(i)},r=this.viewManagerEpoch?.manager.getView();return w` - {this._setViewSelectedIndex(e.detail.index)}} - @frigate-card:media:loaded=${e=>{this._player=e.detail.player??null,this._seekHandler()}} - @frigate-card:media:unloaded=${()=>{this._player=null}} - > - ${this.showControls?w` {a("previous"),N(e)}} - >`:""} - ${W([this._media,r],(()=>this._getSlides()))} - ${this.showControls?w` {a("next"),N(e)}} - >`:""} - - ${r?w` - `:""} -
- - -
- `}async _seekHandler(){const e=this.viewManagerEpoch?.manager.getView(),i=e?.context?.mediaViewer?.seek;if(!(this.hass&&i&&this._media&&this._player))return;const t=this._media[this._selected];if(!t)return;const a=t.includesTime(i);$(this,!a,"unseekable"),a||this._player.isPaused()?a&&this._player.isPaused()&&this._player.play():this._player.pause();const r=await(this.cameraManager?.getMediaSeekTime(t,i))??null;null!==r&&this._player.seek(r)}_renderMediaItem(e){const i=this.viewManagerEpoch?.manager.getView();return this.hass&&i&&this.viewerConfig?w`
- -
`:null}static get styles(){return D(":host {\n position: relative;\n --video-max-height: none;\n}\n\n:host([unselected]) frigate-card-carousel,\n:host([unselected]) .seek-warning {\n pointer-events: none;\n}\n\n:host([unseekable]) frigate-card-carousel {\n filter: brightness(50%);\n}\n\n:host([unseekable]) .seek-warning {\n display: block;\n}\n\n.seek-warning {\n display: none;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translateX(-50%) translateY(-50%);\n color: white;\n}\n\n.embla__slide {\n height: 100%;\n flex: 0 0 100%;\n}")}};e([i({attribute:!1})],H.prototype,"hass",void 0),e([i({attribute:!1})],H.prototype,"viewManagerEpoch",void 0),e([i({attribute:!1})],H.prototype,"viewFilterCameraID",void 0),e([i({attribute:!1,hasChanged:x})],H.prototype,"viewerConfig",void 0),e([i({attribute:!1})],H.prototype,"resolvedMediaCache",void 0),e([i({attribute:!1})],H.prototype,"cardWideConfig",void 0),e([i({attribute:!1})],H.prototype,"cameraManager",void 0),e([i({attribute:!1})],H.prototype,"showControls",void 0),e([t()],H.prototype,"_selected",void 0),H=e([a("frigate-card-viewer-carousel")],H);let X=class extends r{_renderCarousel(e){const i=this.viewManagerEpoch?.manager.getView()?.camera;return w` - - - `}willUpdate(e){e.has("viewManagerEpoch")&&this._needsGrid()&&import("./media-grid-3082f0ad.js")}_needsGrid(){const e=this.viewManagerEpoch?.manager.getView(),i=e?.queryResults?.getCameraIDs();return!!e?.isGrid()&&!!e?.supportsMultipleDisplayModes()&&(i?.size??0)>1}_gridSelectCamera(e){const i=this.viewManagerEpoch?.manager.getView();this.viewManagerEpoch?.manager.setViewByParameters({params:{camera:e,queryResults:i?.queryResults?.clone().promoteCameraSelectionToMainSelection(e)}})}render(){const e=this.viewManagerEpoch?.manager.getView(),i=e?.queryResults?.getCameraIDs();return i&&this._needsGrid()?w` - this._gridSelectCamera(e.detail.selected)} - > - ${[...i].map((e=>this._renderCarousel(e)))} - - `:this._renderCarousel()}static get styles(){return D(E)}};e([i({attribute:!1})],X.prototype,"hass",void 0),e([i({attribute:!1})],X.prototype,"viewManagerEpoch",void 0),e([i({attribute:!1})],X.prototype,"viewerConfig",void 0),e([i({attribute:!1})],X.prototype,"resolvedMediaCache",void 0),e([i({attribute:!1})],X.prototype,"cardWideConfig",void 0),e([i({attribute:!1})],X.prototype,"cameraManager",void 0),X=e([a("frigate-card-viewer-grid")],X);let J=class extends r{render(){if(this.hass&&this.viewManagerEpoch&&this.viewerConfig&&this.cameraManager&&this.cardWideConfig){if(!this.viewManagerEpoch.manager.getView()?.queryResults?.hasResults()){const e=!!this.viewManagerEpoch.manager.getView()?.context?.loading?.query;return P({type:"info",message:z(e?"error.awaiting_media":"common.no_media"),icon:"mdi:multimedia",dotdotdot:e})}return w` - `}}static get styles(){return D(":host {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n gap: 5px;\n}\n\nfrigate-card-viewer-carousel {\n flex: 1;\n min-height: 0;\n}")}};e([i({attribute:!1})],J.prototype,"hass",void 0),e([i({attribute:!1})],J.prototype,"viewManagerEpoch",void 0),e([i({attribute:!1})],J.prototype,"viewerConfig",void 0),e([i({attribute:!1})],J.prototype,"resolvedMediaCache",void 0),e([i({attribute:!1})],J.prototype,"cameraManager",void 0),e([i({attribute:!1})],J.prototype,"cardWideConfig",void 0),J=e([a("frigate-card-viewer")],J);export{J as FrigateCardViewer}; diff --git a/config/www/community/frigate-hass-card/index-0197eb89.js.gz b/config/www/community/frigate-hass-card/index-0197eb89.js.gz deleted file mode 100644 index 85b7ec08fa3bc84ba11670dc763da442b6a071a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6431 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 diff --git a/config/www/community/frigate-hass-card/index-0a012f43.js b/config/www/community/frigate-hass-card/index-0a012f43.js deleted file mode 100644 index fc574140..00000000 --- a/config/www/community/frigate-hass-card/index-0a012f43.js +++ /dev/null @@ -1,162 +0,0 @@ -import{cL as e,cM as i,cN as t,cO as a,cP as r,cQ as o,l as s,_ as n,n as d,b as g,t as c,a as h,cR as l,cI as m,cS as v,cT as p,x as u,cU as C,cV as f,e as I,r as M,cW as _,cX as w,cY as b,cZ as y,c_ as L,c$ as A,d0 as D,d1 as $,d2 as j}from"./card-c642ee74.js";import{p as z,u as k,i as S,M as E,A as N,a as x,b as T}from"./media-6eadcd60.js"; -/** - * @license - * Copyright 2021 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const Z=e(class extends i{constructor(){super(...arguments),this.key=t}render(e,i){return this.key=e,i}update(e,[i,t]){return i!==this.key&&(a(e),this.key=i),t}});class O{constructor(e){this._inBackground=!1,this._messageReceived=!1,this._lastMediaLoadedInfo=null,this._renderEpoch=0,this._handleMessage=e=>{this._messageReceived=!0,this._inBackground&&(e.stopPropagation(),this._renderEpoch++)},this._handleMediaLoaded=e=>{this._lastMediaLoadedInfo={source:e.composedPath()[0],mediaLoadedInfo:e.detail},this._inBackground&&e.stopPropagation()},this._host=e,e.addController(this),this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this))}shouldUpdate(){return!(this._inBackground&&this._messageReceived)}hostConnected(){this._intersectionObserver.observe(this._host),this._host.addEventListener("frigate-card:media:loaded",this._handleMediaLoaded),this._host.addEventListener("frigate-card:message",this._handleMessage)}hostDisconnected(){this._intersectionObserver.disconnect(),this._host.removeEventListener("frigate-card:media:loaded",this._handleMediaLoaded),this._host.removeEventListener("frigate-card:message",this._handleMessage)}clearMessageReceived(){this._messageReceived=!1}isInBackground(){return this._inBackground}getRenderEpoch(){return this._renderEpoch}_intersectionHandler(e){const i=this._inBackground;this._inBackground=!e.some((e=>e.isIntersecting)),this._inBackground||this._messageReceived||!this._lastMediaLoadedInfo||r(this._lastMediaLoadedInfo.source,this._lastMediaLoadedInfo.mediaLoadedInfo),i!==this._inBackground&&this._host.requestUpdate()}}const P=(e,i,t)=>{if(!t?.camera_entity)return o(e,s("error.no_live_camera"),{context:t}),null;const a=i.states[t.camera_entity];return a||(o(e,s("error.live_camera_not_found"),{context:t}),null)};let G=class extends h{constructor(){super(...arguments),this.load=!1,this.label="",this._isVideoMediaLoaded=!1,this._refProvider=l(),this._importPromises=[]}async play(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await z(this,this._refProvider.value)}async pause(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.pause())}async mute(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.mute())}async unmute(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.unmute())}isMuted(){return this._refProvider.value?.isMuted()??!0}async seek(e){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.seek(e))}async setControls(e){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.setControls(e))}isPaused(){return this._refProvider.value?.isPaused()??!0}async getScreenshotURL(){return await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.getScreenshotURL())??null}_getResolvedProvider(){return"auto"===this.cameraConfig?.live_provider?this.cameraConfig?.webrtc_card?.entity||this.cameraConfig?.webrtc_card?.url?"webrtc-card":this.cameraConfig?.camera_entity?"ha":this.cameraConfig?.frigate.camera_name?"jsmpeg":m.cameras.live_provider:this.cameraConfig?.live_provider||"image"}_shouldShowImageDuringLoading(){return!!this.cameraConfig?.camera_entity&&!!this.hass&&!!this.liveConfig?.show_image_during_load}disconnectedCallback(){this._isVideoMediaLoaded=!1}_videoMediaShowHandler(){this._isVideoMediaLoaded=!0}willUpdate(e){if(e.has("load")&&(this.load||(this._isVideoMediaLoaded=!1,v(this))),e.has("liveConfig")&&(this.liveConfig?.show_image_during_load&&this._importPromises.push(import("./image-c6a10ba0.js")),this.liveConfig?.zoomable&&this._importPromises.push(import("./zoomer-725f087c.js"))),e.has("cameraConfig")){const e=this._getResolvedProvider();"jsmpeg"===e?this._importPromises.push(import("./jsmpeg-66c8006d.js")):"ha"===e?this._importPromises.push(import("./ha-31684cf1.js")):"webrtc-card"===e?this._importPromises.push(import("./webrtc-card-74652e9d.js")):"image"===e?this._importPromises.push(import("./image-c6a10ba0.js")):"go2rtc"===e&&this._importPromises.push(import("./index-17f8eed5.js")),k(this,this.cameraConfig?.dimensions?.layout),this.style.aspectRatio=p({ratio:this.cameraConfig?.dimensions?.aspect_ratio})}}async getUpdateComplete(){const e=await super.getUpdateComplete();return await Promise.all(this._importPromises),this._importPromises=[],e}_useZoomIfRequired(e){return this.liveConfig?.zoomable?u` this.cameraConfig?.dimensions?.layout?{pan:this.cameraConfig.dimensions.layout.pan,zoom:this.cameraConfig.dimensions.layout.zoom}:void 0))} - .settings=${this.zoomSettings} - @frigate-card:zoom:zoomed=${()=>this.setControls(!1)} - @frigate-card:zoom:unzoomed=${()=>this.setControls()} - > - ${e} - `:e}render(){if(!(this.load&&this.hass&&this.liveConfig&&this.cameraConfig))return;this.title=this.label,this.ariaLabel=this.label;const e=this._getResolvedProvider(),i=!this._isVideoMediaLoaded&&this._shouldShowImageDuringLoading(),t={hidden:i};if("ha"===e||"image"===e){const e=P(this,this.hass,this.cameraConfig);if(!e)return;if("unavailable"===e.state)return v(this),C({message:`${s("error.live_camera_unavailable")}${this.label?`: ${this.label}`:""}`,type:"info",icon:"mdi:cctv-off",dotdotdot:!0})}return u`${this._useZoomIfRequired(u` - ${i||"image"===e?u` {"image"===e?this._videoMediaShowHandler():i.stopPropagation()}} - > - `:u``} - ${"ha"===e?u` - `:"go2rtc"===e?u` - `:"webrtc-card"===e?u` - `:"jsmpeg"===e?u` - `:u``} - `)} - ${i&&!this._isVideoMediaLoaded?u``:""} `}static get styles(){return M(':host {\n background-color: var(--primary-background-color);\n background-position: center;\n background-repeat: no-repeat;\n background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4yLjIgKGIwYTg0ODY1NDEsIDIwMjItMTItMDEpIgogICBzb2RpcG9kaTpkb2NuYW1lPSJjYW1lcmEtaXJpcy5zdmciCiAgIGlkPSJzdmc0IgogICB2ZXJzaW9uPSIxLjEiCiAgIHZpZXdCb3g9IjAgMCAyNCAyNCIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9Im5hbWVkdmlldzYiCiAgICAgcGFnZWNvbG9yPSIjYjkzZTNlIgogICAgIGJvcmRlcmNvbG9yPSIjMDAwMDAwIgogICAgIGJvcmRlcm9wYWNpdHk9IjAuMjUiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuNjA3ODQzMTQiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6ZGVza2NvbG9yPSIjZDFkMWQxIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIyNi42MjUwNiIKICAgICBpbmtzY2FwZTpjeD0iLTEuOTM0MjY4IgogICAgIGlua3NjYXBlOmN5PSIxNS42ODA3MTYiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIzODQwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjE1MjciCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjEwODAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjIyNyIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzQiIC8+CiAgPGcKICAgICBpZD0iZzExMTkiCiAgICAgc3R5bGU9ImZpbGwtb3BhY2l0eTowLjA1O2ZpbGw6I2ZmZmZmZiI+CiAgICA8Y2lyY2xlCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjA1O3N0cm9rZS13aWR0aDoxLjM5NzI5IgogICAgICAgaWQ9InBhdGgxNzAiCiAgICAgICBjeD0iMTIiCiAgICAgICBjeT0iMTIiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iV2hpdGUgQmFja2dyb3VuZCIKICAgICAgIHI9IjExLjI1IiAvPgogICAgPHBhdGgKICAgICAgIGQ9Ik0gMTMuNzMwMDAxLDE1IDkuODMwMDAwMywyMS43NiBDIDEwLjUzLDIxLjkxIDExLjI1LDIyIDEyLDIyIGMgMi40MDAwMDEsMCA0LjYsLTAuODUgNi4zMiwtMi4yNSBMIDE0LjY2MDAwMSwxMy40IE0gMi40NjAwMDAzLDE1IGMgMC45MiwyLjkyIDMuMTUsNS4yNiA1Ljk5LDYuMzQgTCAxMi4xMiwxNSBtIC0zLjU3OTk5OTcsLTMgLTMuOSwtNi43NDk5OTk2IGMgLTEuNjQsMS43NDk5OTkgLTIuNjQsNC4xMzk5OTkzIC0yLjY0LDYuNzQ5OTk5NiAwLDAuNjggMC4wNywxLjM1IDAuMiwyIGggNy40OSBNIDIxLjgsOS45OTk5OTk3IEggMTQuMzEwMDAxIEwgMTQuNjAwMDAxLDEwLjUgMTkuMzYsMTguNzUgQyAyMSwxNi45NyAyMiwxNC42IDIyLDEyIDIyLDExLjMxIDIxLjkzLDEwLjY0IDIxLjgsOS45OTk5OTk3IG0gLTAuMjYsLTEgQyAyMC42Miw2LjA3MDAwMDUgMTguMzksMy43NDAwMDAyIDE1LjU1MDAwMSwyLjY2MDAwMDIgTCAxMS44OCw4Ljk5OTk5OTcgTSA5LjQwMDAwMDMsMTAuNSAxNC4xNzAwMDEsMi4yNDAwMDAyIGMgLTAuNywtMC4xNSAtMS40MjAwMDEsLTAuMjQgLTIuMTcwMDAxLC0wLjI0IC0yLjM5OTk5OTcsMCAtNC41OTk5OTk3LDAuODQgLTYuMzE5OTk5NywyLjI1MDAwMDMgbCAzLjY2LDYuMzQ5OTk5NSB6IgogICAgICAgaWQ9InBhdGgyIgogICAgICAgaW5rc2NhcGU6bGFiZWw9IklyaXMiCiAgICAgICBzdHlsZT0iZmlsbC1vcGFjaXR5OjAuMDU7ZmlsbDojZmZmZmZmIiAvPgogIDwvZz4KPC9zdmc+Cg==");\n background-size: 10%;\n background-position: center;\n}\n\n:host {\n display: block;\n height: 100%;\n width: 100%;\n position: relative;\n}\n\n.hidden {\n display: none;\n}\n\nha-icon {\n position: absolute;\n top: 10px;\n right: 10px;\n color: var(--primary-color);\n}')}};n([d({attribute:!1})],G.prototype,"hass",void 0),n([d({attribute:!1})],G.prototype,"cameraConfig",void 0),n([d({attribute:!1})],G.prototype,"cameraEndpoints",void 0),n([d({attribute:!1})],G.prototype,"liveConfig",void 0),n([d({attribute:!0,type:Boolean})],G.prototype,"load",void 0),n([d({attribute:!1})],G.prototype,"label",void 0),n([d({attribute:!1})],G.prototype,"cardWideConfig",void 0),n([d({attribute:!1})],G.prototype,"microphoneStream",void 0),n([d({attribute:!1})],G.prototype,"zoomSettings",void 0),n([g()],G.prototype,"_isVideoMediaLoaded",void 0),G=n([c("frigate-card-live-provider")],G);const W="frigate-card-live-provider";let U=class extends h{constructor(){super(...arguments),this._cameraToSlide={},this._refPTZControl=l(),this._refCarousel=l(),this._mediaActionsController=new E,this._mediaHasLoaded=!1}connectedCallback(){super.connectedCallback(),this.requestUpdate()}disconnectedCallback(){this._mediaActionsController.destroy(),super.disconnectedCallback()}_getTransitionEffect(){return this.overriddenLiveConfig?.transition_effect??m.live.transition_effect}_getSelectedCameraIndex(){if(this.viewFilterCameraID)return 0;const e=this.cameraManager?.getStore().getCameraIDsWithCapability("live"),i=this.viewManagerEpoch?.manager.getView();return e?.size&&i?Math.max(0,Array.from(e).indexOf(i.camera)):0}willUpdate(e){(e.has("microphoneManager")||e.has("overriddenLiveConfig"))&&this._mediaActionsController.setOptions({playerSelector:W,...this.overriddenLiveConfig?.auto_play&&{autoPlayConditions:this.overriddenLiveConfig.auto_play},...this.overriddenLiveConfig?.auto_pause&&{autoPauseConditions:this.overriddenLiveConfig.auto_pause},...this.overriddenLiveConfig?.auto_mute&&{autoMuteConditions:this.overriddenLiveConfig.auto_mute},...this.overriddenLiveConfig?.auto_unmute&&{autoUnmuteConditions:this.overriddenLiveConfig.auto_unmute},...(this.overriddenLiveConfig?.auto_unmute||this.overriddenLiveConfig?.auto_mute)&&{microphoneManager:this.microphoneManager,microphoneMuteSeconds:this.overriddenLiveConfig.microphone.mute_after_microphone_mute_seconds}})}_getPlugins(){return[N({...this.overriddenLiveConfig?.lazy_load&&{lazyLoadCallback:(e,i)=>this._lazyloadOrUnloadSlide("load",e,i)},lazyUnloadConditions:this.overriddenLiveConfig?.lazy_unload,lazyUnloadCallback:(e,i)=>this._lazyloadOrUnloadSlide("unload",e,i)}),x(),T()]}_getLazyLoadCount(){return!1===this.overriddenLiveConfig?.lazy_load?null:0}_getSlides(){if(!this.cameraManager)return[[],{}];const e=this.viewManagerEpoch?.manager.getView(),i=this.viewFilterCameraID?new Set([this.viewFilterCameraID]):this.cameraManager?.getStore().getCameraIDsWithCapability("live"),t=[],a={};for(const[r,o]of this.cameraManager.getStore().getCameraConfigEntries(i)){const i=this._getSubstreamCameraID(r,e),s=r===i?o:this.cameraManager?.getStore().getCameraConfig(i),n=s?this._renderLive(i,s):null;n&&(a[r]=t.length,t.push(n))}return[t,a]}_setViewHandler(e){const i=this.cameraManager?.getStore().getCameraIDsWithCapability("live");i?.size&&e.detail.index!==this._getSelectedCameraIndex()&&this._setViewCameraID([...i][e.detail.index])}_setViewCameraID(e){e&&this.viewManagerEpoch?.manager.setViewByParametersWithNewQuery({params:{camera:e}})}_lazyloadOrUnloadSlide(e,i,t){t instanceof HTMLSlotElement&&(t=t.assignedElements({flatten:!0})[0]);const a=t?.querySelector(W);a&&(a.load="load"===e)}_renderLive(e,i){if(!(this.overriddenLiveConfig&&this.nonOverriddenLiveConfig&&this.hass&&this.cameraManager&&this.conditionsManagerEpoch))return;let t=null;try{t=w(this.conditionsManagerEpoch.manager,{live:this.nonOverriddenLiveConfig},{configOverrides:this.overrides,stateOverrides:{camera:e},schema:b}).live}catch(e){return y(this,e)}const a=this.cameraManager.getCameraMetadata(e),r=this.viewManagerEpoch?.manager.getView();return u` -
- this.cameraManager?.getCameraEndpoints(e)??void 0))} - .label=${a?.title??""} - .liveConfig=${t} - .hass=${this.hass} - .cardWideConfig=${this.cardWideConfig} - .zoomSettings=${r?.context?.zoom?.[e]?.requested} - @frigate-card:zoom:change=${i=>L(i,this.viewManagerEpoch?.manager,e)} - > - -
- `}_getCameraIDsOfNeighbors(){const e=this.cameraManager?[...this.cameraManager?.getStore().getCameraIDsWithCapability("live")]:[],i=this.viewManagerEpoch?.manager.getView();if(this.viewFilterCameraID||e.length<=1||!i||!this.hass)return[null,null];const t=this.viewFilterCameraID??i.camera,a=e.indexOf(t);return a<0?[null,null]:[e[a>0?a-1:e.length-1],e[a+11,[r,o]=this._getCameraIDsOfNeighbors(),s=r?this.cameraManager.getCameraMetadata(this._getSubstreamCameraID(r,e)):null,n=o?this.cameraManager.getCameraMetadata(this._getSubstreamCameraID(o,e)):null,d=!(!this._mediaHasLoaded||this.viewFilterCameraID&&this.viewFilterCameraID!==e.camera||!1===e.context?.ptzControls?.enabled)&&e.context?.ptzControls?.enabled;return u` - {this._mediaHasLoaded=!0}} - @frigate-card:media:unloaded=${()=>{this._mediaHasLoaded=!1}} - > - {this._setViewCameraID(r),A(e)}} - > - - ${i} - {this._setViewCameraID(o),A(e)}} - > - - - - - `}_setMediaTarget(){const e=this.viewManagerEpoch?.manager.getView(),i=this._getSelectedCameraIndex();this.viewFilterCameraID?this._mediaActionsController.setTarget(i,e?.camera===this.viewFilterCameraID):this._mediaActionsController.setTarget(i,!0)}updated(e){super.updated(e);let i=!1;!this._mediaActionsController.hasRoot()&&this._refCarousel.value&&(this._mediaActionsController.initialize(this._refCarousel.value),i=!0),(i||e.has("viewManagerEpoch"))&&this._setMediaTarget()}static get styles(){return M(":host {\n display: block;\n --video-max-height: none;\n}\n\n:host(:not([grid-id])) {\n height: 100%;\n}\n\n:host([unselected]) frigate-card-carousel {\n pointer-events: none;\n}\n\n.embla__slide {\n display: flex;\n justify-content: center;\n height: 100%;\n flex: 0 0 100%;\n}")}};n([d({attribute:!1})],U.prototype,"hass",void 0),n([d({attribute:!1})],U.prototype,"viewManagerEpoch",void 0),n([d({attribute:!1})],U.prototype,"nonOverriddenLiveConfig",void 0),n([d({attribute:!1})],U.prototype,"overriddenLiveConfig",void 0),n([d({attribute:!1,hasChanged:_})],U.prototype,"overrides",void 0),n([d({attribute:!1})],U.prototype,"conditionsManagerEpoch",void 0),n([d({attribute:!1})],U.prototype,"cardWideConfig",void 0),n([d({attribute:!1})],U.prototype,"cameraManager",void 0),n([d({attribute:!1})],U.prototype,"microphoneManager",void 0),n([d({attribute:!1})],U.prototype,"viewFilterCameraID",void 0),n([g()],U.prototype,"_mediaHasLoaded",void 0),U=n([c("frigate-card-live-carousel")],U);let B=class extends h{_renderCarousel(e){const i=this.viewManagerEpoch?.manager.getView(),t=e??i?.camera;return u` - - - `}_gridSelectCamera(e){this.viewManagerEpoch?.manager.setViewByParameters({params:{camera:e}})}_needsGrid(){const e=this.cameraManager?.getStore().getCameraIDsWithCapability("live"),i=this.viewManagerEpoch?.manager.getView();return!!i?.isGrid()&&!!i?.supportsMultipleDisplayModes()&&!!e&&e.size>1}willUpdate(e){e.has("viewManagerEpoch")&&this._needsGrid()&&import("./media-grid-3082f0ad.js")}render(){if(!this.conditionsManagerEpoch||!this.nonOverriddenLiveConfig)return;const e=this.cameraManager?.getStore().getCameraIDsWithCapability("live");return e?.size&&this._needsGrid()?u` - this._gridSelectCamera(e.detail.selected)} - > - ${[...e].map((e=>this._renderCarousel(e)))} - - `:this._renderCarousel()}static get styles(){return M(":host {\n width: 100%;\n height: 100%;\n display: block;\n}\n\n@keyframes warning-pulse {\n 0% {\n border: solid 2px var(--frigate-card-triggered-color-1, rgba(0, 0, 0, 0));\n }\n 50% {\n border: solid 2px var(--frigate-card-triggered-color-2, var(--warning-color));\n }\n 100% {\n border: solid 2px var(--frigate-card-triggered-color-1, rgba(0, 0, 0, 0));\n }\n}\nfrigate-card-live-carousel[triggered] {\n animation: warning-pulse 5s infinite;\n}\n\nfrigate-card-live-carousel[selected] {\n --frigate-card-triggered-color-1: var(--primary-color);\n}")}};n([d({attribute:!1})],B.prototype,"hass",void 0),n([d({attribute:!1})],B.prototype,"viewManagerEpoch",void 0),n([d({attribute:!1})],B.prototype,"nonOverriddenLiveConfig",void 0),n([d({attribute:!1})],B.prototype,"overriddenLiveConfig",void 0),n([d({attribute:!1,hasChanged:_})],B.prototype,"overrides",void 0),n([d({attribute:!1})],B.prototype,"conditionsManagerEpoch",void 0),n([d({attribute:!1})],B.prototype,"cardWideConfig",void 0),n([d({attribute:!1})],B.prototype,"cameraManager",void 0),n([d({attribute:!1})],B.prototype,"microphoneManager",void 0),n([d({attribute:!1})],B.prototype,"triggeredCameraIDs",void 0),B=n([c("frigate-card-live-grid")],B);let V=class extends h{constructor(){super(...arguments),this._controller=new O(this)}shouldUpdate(e){return this._controller.shouldUpdate()}willUpdate(){this._controller.clearMessageReceived()}render(){if(this.hass&&this.nonOverriddenLiveConfig&&this.cameraManager)return u`${Z(this._controller.getRenderEpoch(),u` - - - `)}`}static get styles(){return M(j)}};n([d({attribute:!1})],V.prototype,"conditionsManagerEpoch",void 0),n([d({attribute:!1})],V.prototype,"hass",void 0),n([d({attribute:!1})],V.prototype,"viewManagerEpoch",void 0),n([d({attribute:!1})],V.prototype,"nonOverriddenLiveConfig",void 0),n([d({attribute:!1})],V.prototype,"overriddenLiveConfig",void 0),n([d({attribute:!1,hasChanged:_})],V.prototype,"overrides",void 0),n([d({attribute:!1})],V.prototype,"cameraManager",void 0),n([d({attribute:!1})],V.prototype,"cardWideConfig",void 0),n([d({attribute:!1})],V.prototype,"microphoneManager",void 0),n([d({attribute:!1})],V.prototype,"triggeredCameraIDs",void 0),V=n([c("frigate-card-live")],V);var Y=Object.freeze({__proto__:null,get FrigateCardLive(){return V}});export{P as g,Y as i}; diff --git a/config/www/community/frigate-hass-card/index-0a012f43.js.gz b/config/www/community/frigate-hass-card/index-0a012f43.js.gz deleted file mode 100644 index 242ea06c82353327ff7d8c1e5a41f0a191e00879..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6883 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 dthis.onconnect())),this.ondisconnect()):(this.ondisconnect(),this.onconnect())}set src(e){"string"!=typeof e&&(e=e.toString()),e.startsWith("http")?e="ws"+e.substring(4):e.startsWith("/")&&(e="ws"+location.origin.substring(4)+e),this.wsURL=e,this.onconnect()}play(){}send(e){this.ws&&this.ws.send(JSON.stringify(e))}codecs(e){return this.CODECS.filter((e=>this.media.indexOf(e.indexOf("vc1")>0?"video":"audio")>=0)).filter((t=>e(`video/mp4; codecs="${t}"`))).join()}connectedCallback(){if(this.disconnectTID&&(clearTimeout(this.disconnectTID),this.disconnectTID=0),this.video){const e=this.video.seekable;e.length>0&&(this.video.currentTime=e.end(e.length-1)),this.play()}else this.oninit();this.onconnect()}disconnectedCallback(){this.background||this.disconnectTID||this.wsState===WebSocket.CLOSED&&this.pcState===WebSocket.CLOSED||(this.disconnectTID=setTimeout((()=>{this.reconnectTID&&(clearTimeout(this.reconnectTID),this.reconnectTID=0),this.disconnectTID=0,this.ondisconnect()}),this.DISCONNECT_TIMEOUT))}oninit(){this.video=document.createElement("video"),m(this.video,this.controls),this.video.playsInline=!0,this.video.preload="auto",this.video.style.display="block",this.video.style.width="100%",this.video.style.height="100%",this.appendChild(this.video),this.video.addEventListener("error",(e=>{this.ws&&this.wsState===WebSocket.OPEN&&this.ws.close()}));const n=window.navigator.userAgent.match(/Version\/(\d+).+Safari/);if(n){const e=n[1]<"13"?"mp4a.40.2":n[1]<"14"?"flac":"opus";this.CODECS.splice(this.CODECS.indexOf(e))}if(!this.background){if("hidden"in document&&this.visibilityCheck&&document.addEventListener("visibilitychange",(()=>{document.hidden?this.disconnectedCallback():this.isConnected&&this.connectedCallback()})),"IntersectionObserver"in window&&this.visibilityThreshold){new IntersectionObserver((e=>{e.forEach((e=>{e.isIntersecting?this.isConnected&&this.connectedCallback():this.disconnectedCallback()}))}),{threshold:this.visibilityThreshold}).observe(this)}this.video.onloadeddata=()=>{this.controls&&v(this.video,y),e(this,this.video,{player:this.containingPlayer,capabilities:{supports2WayAudio:!!this.pc,supportsPause:!0,hasAudio:g(this.video)},technology:f(this)})},this.video.onvolumechange=()=>t(this),this.video.onplay=()=>i(this),this.video.onpause=()=>s(this),this.video.muted=!0}}onconnect(){return!(!this.isConnected||!this.wsURL||this.ws||this.pc)&&(this.wsState=WebSocket.CONNECTING,this.connectTS=Date.now(),this.ws=new WebSocket(this.wsURL),this.ws.binaryType="arraybuffer",this.ws.addEventListener("open",(e=>this.onopen(e))),this.ws.addEventListener("close",(e=>this.onclose(e))),!0)}ondisconnect(){this.wsState=WebSocket.CLOSED,this.ws&&(this.ws.close(),this.ws=null),this.pcState=WebSocket.CLOSED,this.pc&&(this.pc.getSenders().forEach((e=>{e.track&&e.track.stop()})),this.pc.close(),this.pc=null),this.video.src="",this.video.srcObject=null}onopen(){this.wsState=WebSocket.OPEN,this.ws.addEventListener("message",(e=>{if("string"==typeof e.data){const t=JSON.parse(e.data);for(const e in this.onmessage)this.onmessage[e](t)}else this.ondata(e.data)})),this.ondata=null,this.onmessage={};const e=[];return this.mode.indexOf("mse")>=0&&("MediaSource"in window||"ManagedMediaSource"in window)?(e.push("mse"),this.onmse()):this.mode.indexOf("hls")>=0&&this.video.canPlayType("application/vnd.apple.mpegurl")?(e.push("hls"),this.onhls()):this.mode.indexOf("mp4")>=0&&(e.push("mp4"),this.onmp4()),this.mode.indexOf("webrtc")>=0&&"RTCPeerConnection"in window&&(e.push("webrtc"),this.onwebrtc()),this.mode.indexOf("mjpeg")>=0&&(e.length?this.onmessage.mjpeg=t=>{"error"===t.type&&0===t.value.indexOf(e[0])&&this.onmjpeg()}:(e.push("mjpeg"),this.onmjpeg())),e}onclose(){if(this.wsState===WebSocket.CLOSED)return!1;this.wsState=WebSocket.CONNECTING,this.ws=null;const e=Math.max(this.RECONNECT_TIMEOUT-(Date.now()-this.connectTS),0);return this.reconnectTID=setTimeout((()=>{this.reconnectTID=0,this.onconnect()}),e),!0}onmse(){let e;if("ManagedMediaSource"in window){const t=window.ManagedMediaSource;e=new t,e.addEventListener("sourceopen",(()=>{this.send({type:"mse",value:this.codecs(t.isTypeSupported)})}),{once:!0}),this.video.disableRemotePlayback=!0,this.video.srcObject=e}else e=new MediaSource,e.addEventListener("sourceopen",(()=>{URL.revokeObjectURL(this.video.src),this.send({type:"mse",value:this.codecs(MediaSource.isTypeSupported)})}),{once:!0}),this.video.src=URL.createObjectURL(e),this.video.srcObject=null;this.play(),this.mseCodecs="",this.onmessage.mse=t=>{if("mse"!==t.type)return;this.mseCodecs=t.value;const i=e.addSourceBuffer(t.value);i.mode="segments",i.addEventListener("updateend",(()=>{if(!i.updating)try{if(n>0){const e=s.slice(0,n);n=0,i.appendBuffer(e)}else if(i.buffered&&i.buffered.length){const t=i.buffered.end(i.buffered.length-1)-15,s=i.buffered.start(0);t>s&&(i.remove(s,t),e.setLiveSeekableRange(t,t+15))}}catch(e){}}));const s=new Uint8Array(2097152);let n=0;this.ondata=e=>{if(i.updating||n>0){const t=new Uint8Array(e);s.set(t,n),n+=t.byteLength}else try{i.appendBuffer(e)}catch(e){}}}}onwebrtc(){const e=new RTCPeerConnection(this.pcConfig);e.addEventListener("icecandidate",(e=>{if(e.candidate&&this.mode.indexOf("webrtc/tcp")>=0&&"udp"===e.candidate.protocol)return;const t=e.candidate?e.candidate.toJSON().candidate:"";this.send({type:"webrtc/candidate",value:t})})),e.addEventListener("connectionstatechange",(()=>{if("connected"===e.connectionState){const t=e.getTransceivers().filter((e=>"recvonly"===e.currentDirection)).map((e=>e.receiver.track)),i=document.createElement("video");i.addEventListener("loadeddata",(()=>this.onpcvideo(i)),{once:!0}),i.srcObject=new MediaStream(t)}else"failed"!==e.connectionState&&"disconnected"!==e.connectionState||(e.close(),this.pcState=WebSocket.CLOSED,this.pc=null,this.onconnect())})),this.onmessage.webrtc=t=>{switch(t.type){case"webrtc/candidate":if(this.mode.indexOf("webrtc/tcp")>=0&&t.value.indexOf(" udp ")>0)return;e.addIceCandidate({candidate:t.value,sdpMid:"0"}).catch((e=>{console.warn(e)}));break;case"webrtc/answer":e.setRemoteDescription({type:"answer",sdp:t.value}).catch((e=>{console.warn(e)}));break;case"error":if(t.value.indexOf("webrtc/offer")<0)return;e.close()}},this.createOffer(e).then((e=>{this.send({type:"webrtc/offer",value:e.sdp})})),this.pcState=WebSocket.CONNECTING,this.pc=e}async createOffer(e){this.microphoneStream?.getTracks().forEach((t=>{e.addTransceiver(t,{direction:"sendonly"})}));try{if(this.media.indexOf("microphone")>=0){(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach((t=>{e.addTransceiver(t,{direction:"sendonly"})}))}}catch(e){console.warn(e)}for(const t of["video","audio"])this.media.indexOf(t)>=0&&e.addTransceiver(t,{direction:"recvonly"});const t=await e.createOffer();return await e.setLocalDescription(t),t}onpcvideo(e){if(this.pc){let t=0,i=0;const s=e.srcObject;s.getVideoTracks().length>0&&(t+=544),s.getAudioTracks().length>0&&(t+=258),this.mseCodecs.indexOf("hvc1.")>=0&&(i+=560),this.mseCodecs.indexOf("avc1.")>=0&&(i+=528),this.mseCodecs.indexOf("mp4a.")>=0&&(i+=257),t>=i?(this.video.srcObject=s,this.play(),this.pcState=WebSocket.OPEN,this.wsState=WebSocket.CLOSED,this.ws&&(this.ws.close(),this.ws=null)):(this.pcState=WebSocket.CLOSED,this.pc&&(this.pc.close(),this.pc=null))}e.srcObject=null}onmjpeg(){let t=!1;this.ondata=i=>{m(this.video,!1),this.video.poster="data:image/jpeg;base64,"+b.btoa(i),t||(t=!0,e(this,this.video,{player:this.containingPlayer,technology:["mjpeg"]}))},this.send({type:"mjpeg"})}onhls(){this.onmessage.hls=e=>{if("hls"!==e.type)return;const t="http"+this.wsURL.substring(2,this.wsURL.indexOf("/ws"))+"/hls/",i=e.value.replace("hls/",t);this.video.src="data:application/vnd.apple.mpegurl;base64,"+btoa(i),this.play()},this.send({type:"hls",value:this.codecs((e=>this.video.canPlayType(e)))})}onmp4(){const t=document.createElement("canvas");let i;const s=document.createElement("video");s.autoplay=!0,s.playsInline=!0,s.muted=!0,s.addEventListener("loadeddata",(n=>{i||(t.width=s.videoWidth,t.height=s.videoHeight,i=t.getContext("2d"),e(this,s,{player:this.containingPlayer,technology:["mp4"]})),i.drawImage(s,0,0,t.width,t.height),m(this.video,!1),this.video.poster=t.toDataURL("image/jpeg")})),this.ondata=e=>{s.src="data:video/mp4;base64,"+b.btoa(e)},this.send({type:"mp4",value:this.codecs(this.video.canPlayType)})}static btoa(e){const t=new Uint8Array(e),i=t.byteLength;let s="";for(let e=0;e%0U1XV} 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

!N( z66O5pV2hT~LOLGT56WQ~>KN>~btt*J3&9f&a9T7IbFL~&Pxj|6%mf1!PoKIfVdzI| z&XP{A^&W{*#I_Snds*Q>D=Op{RVym>=9_l6+EeLTuRb=LgU;7Oo4H03lLgJmg}J>b z0In;u!Sd*y4Tc?}J!5Q+>?5?VZ@TBVjDNFtAHj#BHK9u#ID_kgM+2CyoZye_g*1GN zxBDP0?r4niGLx_->Bc>-YA{RExCPdppp2`0*Y-rWD#M+f-MPruZ}OwuLro3Ch8V1X z$0`Z7_Z?gcL!jFYDBd+8RYrWKr@EsAxkb>fF+p+1($u`|*xLU79>qPu@Lp37FEA&r zJBk)saG(p`Y(`H5Z3#cL3ej-ckppzPqAd%w$}|Y{%H+y?gs`%u1-KJN0I;j z*P1ws-);DuVKl@$G@_zTd~Yy^=-=6X%{m>083rA^S~J9VjUAj1=I+j*qwem&r{Zh& zHB*j9kH8hC?@k%?T9e%Gc5AUw-#3O4_(~Cl9b-zt(CH0ugsIH(*&!@t_de{L^!^sS zyu(I!aHm}}de@!s`$30gSeSioEKA=7EE#rQGJDx0S3vN``b@Y4?D2!0QaaW1=#~D7 z4F>dA4Cnq$>TihzyflH>I{+9G+=h3$u8W{9^ju#6=uX9!AbfGh%F2JFZ^JtOT<2%G z20)F-^;gbQO0wn>tmi35xEsM3%g2$SheHHIdao|ZtN%^#cTIW*l>gvIpRdn~;a~m_ La=T-oZ!iD=6afKW diff --git a/config/www/community/frigate-hass-card/index-25c40d01.js b/config/www/community/frigate-hass-card/index-25c40d01.js deleted file mode 100644 index 30d57352..00000000 --- a/config/www/community/frigate-hass-card/index-25c40d01.js +++ /dev/null @@ -1,131 +0,0 @@ -import{_ as e,n as i,b as t,t as a,a as r,cR as s,dm as o,dn as n,da as d,dp as l,dq as g,dr as h,ds as c,dt as u,du as m,dv as v,db as p,cT as C,x as w,c_ as f,dl as I,cV as M,dw as y,dx as _,dy as b,dz as A,r as D,cW as x,cI as k,dA as j,s as $,dB as T,l as z,c$ as N,d1 as L,d2 as E,cU as P}from"./card-45855f1f.js";import"./ha-hls-player-ad38a2a0.js";import{p as Z,h as V,s as G,u as S,i as W,c as F,M as O,A as R,a as U,b as Y}from"./media-1a34ac2c.js";import{m as B}from"./audio-cf3a75aa.js";import{V as Q}from"./media-c9012082.js";let q=class extends r{constructor(){super(...arguments),this.load=!1,this._refFrigateCardMediaPlayer=s(),this._refVideoProvider=s(),this._refImageProvider=s(),this._url=null}async play(){await Z(this,this._refFrigateCardMediaPlayer.value??this._refVideoProvider.value)}async pause(){(this._refFrigateCardMediaPlayer.value||this._refVideoProvider.value)?.pause()}async mute(){this._refFrigateCardMediaPlayer.value?this._refFrigateCardMediaPlayer.value?.mute():this._refVideoProvider.value&&(this._refVideoProvider.value.muted=!0)}async unmute(){this._refFrigateCardMediaPlayer.value?this._refFrigateCardMediaPlayer.value?.mute():this._refVideoProvider.value&&(this._refVideoProvider.value.muted=!1)}isMuted(){return this._refFrigateCardMediaPlayer.value?this._refFrigateCardMediaPlayer.value?.isMuted()??!0:!this._refVideoProvider.value||this._refVideoProvider.value.muted}async seek(e){if(this._refFrigateCardMediaPlayer.value)return this._refFrigateCardMediaPlayer.value.seek(e);this._refVideoProvider.value&&(V(this._refVideoProvider.value),this._refVideoProvider.value.currentTime=e)}async setControls(e){if(this._refFrigateCardMediaPlayer.value)return this._refFrigateCardMediaPlayer.value.setControls(e);this._refVideoProvider.value&&G(this._refVideoProvider.value,e??this.viewerConfig?.controls.builtin??!0)}isPaused(){return this._refFrigateCardMediaPlayer.value?this._refFrigateCardMediaPlayer.value.isPaused():!this._refVideoProvider.value||this._refVideoProvider.value.paused}async getScreenshotURL(){return this._refFrigateCardMediaPlayer.value?await this._refFrigateCardMediaPlayer.value.getScreenshotURL():this._refVideoProvider.value?o(this._refVideoProvider.value):this._refImageProvider.value?this._refImageProvider.value.src:null}async _switchToRelatedClipView(){const e=this.viewManagerEpoch?.manager.getView();if(!(this.hass&&e&&this.cameraManager&&this.media&&n.isEvent(this.media)&&d.areEventQueries(e.query)))return;const i=e.query.clone();i.convertToClipsQueries();i.getQueries()&&await(this.viewManagerEpoch?.manager.setViewByParametersWithExistingQuery({params:{view:"media",query:i},queryExecutorOptions:{selectResult:{id:this.media.getID()??void 0},rejectResults:e=>!e.hasSelectedResult()}}))}async _setURL(){const e=this.media?.getContentID();if(!this.media||!e||!this.hass||this.viewerConfig?.lazy_load&&!this.load)return;let i=this.resolvedMediaCache?.get(e)??null;if(i||(i=await l(this.hass,e,this.resolvedMediaCache)),!i)return;const t=i.url;if(g(t))return void(this._url=h(this.hass,t));const a=this.cameraManager?.getStore().getCamera(this.media.getCameraID()),r=a?.getProxyConfig();if(r&&c(this.hass,r,"media")){if(r.dynamic){const e=t.split(/#/)[0];await u(this.hass,e,{sslVerification:r.ssl_verification,sslCiphers:r.ssl_ciphers,openLimit:0})}try{this._url=await m(this.hass,v(t))}catch(e){p(e)}}else this._url=t}willUpdate(e){if((e.has("load")||e.has("media")||e.has("viewerConfig")||e.has("resolvedMediaCache")||e.has("hass"))&&this._setURL().then((()=>{this.requestUpdate()})),e.has("viewerConfig")&&this.viewerConfig?.zoomable&&import("./zoomer-28db7d93.js"),e.has("media")||e.has("cameraManager")){const e=this.media?.getCameraID(),i=e?this.cameraManager?.getStore().getCameraConfig(e):null;S(this,i?.dimensions?.layout),this.style.aspectRatio=C({ratio:i?.dimensions?.aspect_ratio})}}_useZoomIfRequired(e){if(!this.media)return e;const i=this.media.getCameraID(),t=this.media.getID()??void 0,a=this.cameraManager?.getStore().getCameraConfig(i),r=this.viewManagerEpoch?.manager.getView();return this.viewerConfig?.zoomable?w` a?.dimensions?.layout?{pan:a.dimensions.layout.pan,zoom:a.dimensions.layout.zoom}:void 0))} - .settings=${t?r?.context?.zoom?.[t]?.requested:void 0} - @frigate-card:zoom:zoomed=${()=>this.setControls(!1)} - @frigate-card:zoom:unzoomed=${()=>this.setControls()} - @frigate-card:zoom:change=${e=>f(e,this.viewManagerEpoch?.manager,t)} - > - ${e} - `:e}render(){if(this.load&&this.media&&this.hass&&this.viewerConfig)return this._url?this._useZoomIfRequired(w` - ${n.isVideo(this.media)?this.media.getVideoContentType()===Q.HLS?w` - `:w` - - `:w`{this.viewerConfig?.snapshot_click_plays_clip&&this._switchToRelatedClipView()}} - @load=${e=>{y(this,e,{player:this,technology:["jpg"]})}} - />`} - `):I({cardWideConfig:this.cardWideConfig})}static get styles(){return D(':host {\n background-color: var(--primary-background-color);\n background-position: center;\n background-repeat: no-repeat;\n background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4yLjIgKGIwYTg0ODY1NDEsIDIwMjItMTItMDEpIgogICBzb2RpcG9kaTpkb2NuYW1lPSJjYW1lcmEtaXJpcy5zdmciCiAgIGlkPSJzdmc0IgogICB2ZXJzaW9uPSIxLjEiCiAgIHZpZXdCb3g9IjAgMCAyNCAyNCIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9Im5hbWVkdmlldzYiCiAgICAgcGFnZWNvbG9yPSIjYjkzZTNlIgogICAgIGJvcmRlcmNvbG9yPSIjMDAwMDAwIgogICAgIGJvcmRlcm9wYWNpdHk9IjAuMjUiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuNjA3ODQzMTQiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6ZGVza2NvbG9yPSIjZDFkMWQxIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIyNi42MjUwNiIKICAgICBpbmtzY2FwZTpjeD0iLTEuOTM0MjY4IgogICAgIGlua3NjYXBlOmN5PSIxNS42ODA3MTYiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIzODQwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjE1MjciCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjEwODAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjIyNyIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzQiIC8+CiAgPGcKICAgICBpZD0iZzExMTkiCiAgICAgc3R5bGU9ImZpbGwtb3BhY2l0eTowLjA1O2ZpbGw6I2ZmZmZmZiI+CiAgICA8Y2lyY2xlCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjA1O3N0cm9rZS13aWR0aDoxLjM5NzI5IgogICAgICAgaWQ9InBhdGgxNzAiCiAgICAgICBjeD0iMTIiCiAgICAgICBjeT0iMTIiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iV2hpdGUgQmFja2dyb3VuZCIKICAgICAgIHI9IjExLjI1IiAvPgogICAgPHBhdGgKICAgICAgIGQ9Ik0gMTMuNzMwMDAxLDE1IDkuODMwMDAwMywyMS43NiBDIDEwLjUzLDIxLjkxIDExLjI1LDIyIDEyLDIyIGMgMi40MDAwMDEsMCA0LjYsLTAuODUgNi4zMiwtMi4yNSBMIDE0LjY2MDAwMSwxMy40IE0gMi40NjAwMDAzLDE1IGMgMC45MiwyLjkyIDMuMTUsNS4yNiA1Ljk5LDYuMzQgTCAxMi4xMiwxNSBtIC0zLjU3OTk5OTcsLTMgLTMuOSwtNi43NDk5OTk2IGMgLTEuNjQsMS43NDk5OTkgLTIuNjQsNC4xMzk5OTkzIC0yLjY0LDYuNzQ5OTk5NiAwLDAuNjggMC4wNywxLjM1IDAuMiwyIGggNy40OSBNIDIxLjgsOS45OTk5OTk3IEggMTQuMzEwMDAxIEwgMTQuNjAwMDAxLDEwLjUgMTkuMzYsMTguNzUgQyAyMSwxNi45NyAyMiwxNC42IDIyLDEyIDIyLDExLjMxIDIxLjkzLDEwLjY0IDIxLjgsOS45OTk5OTk3IG0gLTAuMjYsLTEgQyAyMC42Miw2LjA3MDAwMDUgMTguMzksMy43NDAwMDAyIDE1LjU1MDAwMSwyLjY2MDAwMDIgTCAxMS44OCw4Ljk5OTk5OTcgTSA5LjQwMDAwMDMsMTAuNSAxNC4xNzAwMDEsMi4yNDAwMDAyIGMgLTAuNywtMC4xNSAtMS40MjAwMDEsLTAuMjQgLTIuMTcwMDAxLC0wLjI0IC0yLjM5OTk5OTcsMCAtNC41OTk5OTk3LDAuODQgLTYuMzE5OTk5NywyLjI1MDAwMDMgbCAzLjY2LDYuMzQ5OTk5NSB6IgogICAgICAgaWQ9InBhdGgyIgogICAgICAgaW5rc2NhcGU6bGFiZWw9IklyaXMiCiAgICAgICBzdHlsZT0iZmlsbC1vcGFjaXR5OjAuMDU7ZmlsbDojZmZmZmZmIiAvPgogIDwvZz4KPC9zdmc+Cg==");\n background-size: 10%;\n background-position: center;\n}\n\n:host {\n display: block;\n width: 100%;\n height: 100%;\n}\n\nimg,\nvideo,\nfrigate-card-ha-hls-player {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n object-view-box: inset(var(--frigate-card-media-layout-view-box-top, 0%) var(--frigate-card-media-layout-view-box-right, 0%) var(--frigate-card-media-layout-view-box-bottom, 0%) var(--frigate-card-media-layout-view-box-left, 0%));\n}\n\nfrigate-card-progress-indicator {\n padding: 30px;\n box-sizing: border-box;\n}')}};e([i({attribute:!1})],q.prototype,"hass",void 0),e([i({attribute:!1})],q.prototype,"viewManagerEpoch",void 0),e([i({attribute:!1})],q.prototype,"media",void 0),e([i({attribute:!1})],q.prototype,"viewerConfig",void 0),e([i({attribute:!1})],q.prototype,"resolvedMediaCache",void 0),e([i({attribute:!1})],q.prototype,"load",void 0),e([i({attribute:!1})],q.prototype,"cameraManager",void 0),e([i({attribute:!1})],q.prototype,"cardWideConfig",void 0),e([t()],q.prototype,"_url",void 0),q=e([a("frigate-card-viewer-provider")],q);let H=class extends r{constructor(){super(...arguments),this.showControls=!0,this._selected=0,this._media=null,this._mediaActionsController=new O,this._player=null,this._refCarousel=s()}updated(e){super.updated(e),e.has("viewManagerEpoch")&&this.viewManagerEpoch?.manager.getView()?.context?.mediaViewer!==this.viewManagerEpoch?.oldView?.context?.mediaViewer&&this._seekHandler(),!this._mediaActionsController.hasRoot()&&this._refCarousel.value&&this._mediaActionsController.initialize(this._refCarousel.value)}connectedCallback(){super.connectedCallback(),this.requestUpdate()}disconnectedCallback(){this._mediaActionsController.destroy(),super.disconnectedCallback()}_getTransitionEffect(){return this.viewerConfig?.transition_effect??k.media_viewer.transition_effect}_getPlugins(){return[R({...this.viewerConfig?.lazy_load&&{lazyLoadCallback:(e,i)=>this._lazyloadSlide(i)}}),U(),Y()]}_getMediaNeighbors(){const e=this._media?.length??0;if(!this._media)return null;const i=this._selected>0?this._selected-1:null,t=this._selected+1{if(!t||!this._media)return;const i=("previous"===e?t.previous?.index:t.next?.index)??null;null!==i&&this._setViewSelectedIndex(i)},r=this.viewManagerEpoch?.manager.getView();return w` - {this._setViewSelectedIndex(e.detail.index)}} - @frigate-card:media:loaded=${e=>{this._player=e.detail.player??null,this._seekHandler()}} - @frigate-card:media:unloaded=${()=>{this._player=null}} - > - ${this.showControls?w` {a("previous"),N(e)}} - >`:""} - ${W([this._media,r],(()=>this._getSlides()))} - ${this.showControls?w` {a("next"),N(e)}} - >`:""} - - ${r?w` - `:""} -

- - -
- `}async _seekHandler(){const e=this.viewManagerEpoch?.manager.getView(),i=e?.context?.mediaViewer?.seek;if(!(this.hass&&i&&this._media&&this._player))return;const t=this._media[this._selected];if(!t)return;const a=t.includesTime(i);$(this,!a,"unseekable"),a||this._player.isPaused()?a&&this._player.isPaused()&&this._player.play():this._player.pause();const r=await(this.cameraManager?.getMediaSeekTime(t,i))??null;null!==r&&this._player.seek(r)}_renderMediaItem(e){const i=this.viewManagerEpoch?.manager.getView();return this.hass&&i&&this.viewerConfig?w`
- -
`:null}static get styles(){return D(":host {\n position: relative;\n --video-max-height: none;\n}\n\n:host([unselected]) frigate-card-carousel,\n:host([unselected]) .seek-warning {\n pointer-events: none;\n}\n\n:host([unseekable]) frigate-card-carousel {\n filter: brightness(50%);\n}\n\n:host([unseekable]) .seek-warning {\n display: block;\n}\n\n.seek-warning {\n display: none;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translateX(-50%) translateY(-50%);\n color: white;\n}\n\n.embla__slide {\n height: 100%;\n flex: 0 0 100%;\n}")}};e([i({attribute:!1})],H.prototype,"hass",void 0),e([i({attribute:!1})],H.prototype,"viewManagerEpoch",void 0),e([i({attribute:!1})],H.prototype,"viewFilterCameraID",void 0),e([i({attribute:!1,hasChanged:x})],H.prototype,"viewerConfig",void 0),e([i({attribute:!1})],H.prototype,"resolvedMediaCache",void 0),e([i({attribute:!1})],H.prototype,"cardWideConfig",void 0),e([i({attribute:!1})],H.prototype,"cameraManager",void 0),e([i({attribute:!1})],H.prototype,"showControls",void 0),e([t()],H.prototype,"_selected",void 0),H=e([a("frigate-card-viewer-carousel")],H);let X=class extends r{_renderCarousel(e){const i=this.viewManagerEpoch?.manager.getView()?.camera;return w` - - - `}willUpdate(e){e.has("viewManagerEpoch")&&this._needsGrid()&&import("./media-grid-0f7352bc.js")}_needsGrid(){const e=this.viewManagerEpoch?.manager.getView(),i=e?.queryResults?.getCameraIDs();return!!e?.isGrid()&&!!e?.supportsMultipleDisplayModes()&&(i?.size??0)>1}_gridSelectCamera(e){const i=this.viewManagerEpoch?.manager.getView();this.viewManagerEpoch?.manager.setViewByParameters({params:{camera:e,queryResults:i?.queryResults?.clone().promoteCameraSelectionToMainSelection(e)}})}render(){const e=this.viewManagerEpoch?.manager.getView(),i=e?.queryResults?.getCameraIDs();return i&&this._needsGrid()?w` - this._gridSelectCamera(e.detail.selected)} - > - ${[...i].map((e=>this._renderCarousel(e)))} - - `:this._renderCarousel()}static get styles(){return D(E)}};e([i({attribute:!1})],X.prototype,"hass",void 0),e([i({attribute:!1})],X.prototype,"viewManagerEpoch",void 0),e([i({attribute:!1})],X.prototype,"viewerConfig",void 0),e([i({attribute:!1})],X.prototype,"resolvedMediaCache",void 0),e([i({attribute:!1})],X.prototype,"cardWideConfig",void 0),e([i({attribute:!1})],X.prototype,"cameraManager",void 0),X=e([a("frigate-card-viewer-grid")],X);let J=class extends r{render(){if(this.hass&&this.viewManagerEpoch&&this.viewerConfig&&this.cameraManager&&this.cardWideConfig){if(!this.viewManagerEpoch.manager.getView()?.queryResults?.hasResults()){const e=!!this.viewManagerEpoch.manager.getView()?.context?.loading?.query;return P({type:"info",message:z(e?"error.awaiting_media":"common.no_media"),icon:"mdi:multimedia",dotdotdot:e})}return w` - `}}static get styles(){return D(":host {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n gap: 5px;\n}\n\nfrigate-card-viewer-carousel {\n flex: 1;\n min-height: 0;\n}")}};e([i({attribute:!1})],J.prototype,"hass",void 0),e([i({attribute:!1})],J.prototype,"viewManagerEpoch",void 0),e([i({attribute:!1})],J.prototype,"viewerConfig",void 0),e([i({attribute:!1})],J.prototype,"resolvedMediaCache",void 0),e([i({attribute:!1})],J.prototype,"cameraManager",void 0),e([i({attribute:!1})],J.prototype,"cardWideConfig",void 0),J=e([a("frigate-card-viewer")],J);export{J as FrigateCardViewer}; diff --git a/config/www/community/frigate-hass-card/index-25c40d01.js.gz b/config/www/community/frigate-hass-card/index-25c40d01.js.gz deleted file mode 100644 index 76c70773960402382c317bb72063f1069eded282..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6433 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 diff --git a/config/www/community/frigate-hass-card/index-33db4eee.js b/config/www/community/frigate-hass-card/index-33db4eee.js deleted file mode 100644 index bb79fff7..00000000 --- a/config/www/community/frigate-hass-card/index-33db4eee.js +++ /dev/null @@ -1,154 +0,0 @@ -import{cL as e,_ as i,n as a,b as t,t as r,a as o,cM as s,cI as n,cN as d,cO as g,x as c,cP as h,l,cQ as m,e as v,r as p,cR as u,cS as C,cT as f,cU as I,cV as M,cW as _,cX as w,cY as b,cZ as y,c_ as L}from"./card-320adb66.js";import{p as A,u as D,i as $,d as j,M as z,A as E,a as S,b as N}from"./dispatch-live-error-c649b480.js";class k{constructor(e){this._inBackground=!1,this._lastMediaLoadedInfo=null,this._handleMediaLoaded=e=>{this._lastMediaLoadedInfo={source:e.composedPath()[0],mediaLoadedInfo:e.detail},this._inBackground&&e.stopPropagation()},this._host=e,e.addController(this),this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this))}hostConnected(){this._intersectionObserver.observe(this._host),this._host.addEventListener("frigate-card:media:loaded",this._handleMediaLoaded)}hostDisconnected(){this._intersectionObserver.disconnect(),this._host.removeEventListener("frigate-card:media:loaded",this._handleMediaLoaded)}isInBackground(){return this._inBackground}_intersectionHandler(i){const a=this._inBackground;this._inBackground=!i.some((e=>e.isIntersecting)),!this._inBackground&&this._lastMediaLoadedInfo&&e(this._lastMediaLoadedInfo.source,this._lastMediaLoadedInfo.mediaLoadedInfo),a!==this._inBackground&&this._host.requestUpdate()}}let x=class extends o{constructor(){super(...arguments),this.load=!1,this.label="",this._isVideoMediaLoaded=!1,this._hasProviderError=!1,this._refProvider=s(),this._importPromises=[]}async play(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await A(this,this._refProvider.value)}async pause(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.pause())}async mute(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.mute())}async unmute(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.unmute())}isMuted(){return this._refProvider.value?.isMuted()??!0}async seek(e){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.seek(e))}async setControls(e){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.setControls(e))}isPaused(){return this._refProvider.value?.isPaused()??!0}async getScreenshotURL(){return await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.getScreenshotURL())??null}_getResolvedProvider(){return"auto"===this.cameraConfig?.live_provider?this.cameraConfig?.webrtc_card?.entity||this.cameraConfig?.webrtc_card?.url?"webrtc-card":this.cameraConfig?.camera_entity?"ha":this.cameraConfig?.frigate.camera_name?"jsmpeg":n.cameras.live_provider:this.cameraConfig?.live_provider||"image"}_shouldShowImageDuringLoading(){return!(!this.cameraConfig?.camera_entity||!this.hass||!this.liveConfig?.show_image_during_load||this._hasProviderError)}disconnectedCallback(){this._isVideoMediaLoaded=!1}_videoMediaShowHandler(){this._isVideoMediaLoaded=!0}_providerErrorHandler(){this._hasProviderError=!0}willUpdate(e){if(e.has("load")&&(this.load||(this._isVideoMediaLoaded=!1,d(this))),e.has("liveConfig")&&(this.liveConfig?.show_image_during_load&&this._importPromises.push(import("./image-678a8283.js")),this.liveConfig?.zoomable&&this._importPromises.push(import("./zoomer-85596cd4.js"))),e.has("cameraConfig")){const e=this._getResolvedProvider();"jsmpeg"===e?this._importPromises.push(import("./jsmpeg-50dde246.js")):"ha"===e?this._importPromises.push(import("./ha-4f7cd760.js")):"webrtc-card"===e?this._importPromises.push(import("./webrtc-card-a69dcd1f.js")):"image"===e?this._importPromises.push(import("./image-678a8283.js")):"go2rtc"===e&&this._importPromises.push(import("./index-a3bb8676.js")),D(this,this.cameraConfig?.dimensions?.layout),this.style.aspectRatio=g({ratio:this.cameraConfig?.dimensions?.aspect_ratio})}}async getUpdateComplete(){const e=await super.getUpdateComplete();return await Promise.all(this._importPromises),this._importPromises=[],e}_useZoomIfRequired(e){return this.liveConfig?.zoomable?c` this.cameraConfig?.dimensions?.layout?{pan:this.cameraConfig.dimensions.layout.pan,zoom:this.cameraConfig.dimensions.layout.zoom}:void 0))} - .settings=${this.zoomSettings} - @frigate-card:zoom:zoomed=${()=>this.setControls(!1)} - @frigate-card:zoom:unzoomed=${()=>this.setControls()} - > - ${e} - `:e}render(){if(!(this.load&&this.hass&&this.liveConfig&&this.cameraConfig))return;this.title=this.label,this.ariaLabel=this.label;const e=this._getResolvedProvider(),i=!this._isVideoMediaLoaded&&this._shouldShowImageDuringLoading(),a={hidden:i};if("ha"===e||"image"===e||this.cameraConfig?.camera_entity&&this.cameraConfig.always_error_if_entity_unavailable){if(!this.cameraConfig?.camera_entity)return j(this),h({message:l("error.no_live_camera"),type:"error",icon:"mdi:camera",context:this.cameraConfig});const e=this.hass.states[this.cameraConfig.camera_entity];if(!e)return j(this),h({message:l("error.live_camera_not_found"),type:"error",icon:"mdi:camera",context:this.cameraConfig});if("unavailable"===e.state)return j(this),d(this),h({message:`${l("error.live_camera_unavailable")}${this.label?`: ${this.label}`:""}`,type:"info",icon:"mdi:cctv-off",dotdotdot:!0})}return c`${this._useZoomIfRequired(c` - ${i||"image"===e?c` this._providerErrorHandler()} - @frigate-card:media:loaded=${i=>{"image"===e?this._videoMediaShowHandler():i.stopPropagation()}} - > - `:c``} - ${"ha"===e?c` this._providerErrorHandler()} - @frigate-card:media:loaded=${this._videoMediaShowHandler.bind(this)} - > - `:"go2rtc"===e?c`this._providerErrorHandler()} - @frigate-card:media:loaded=${this._videoMediaShowHandler.bind(this)} - > - `:"webrtc-card"===e?c`this._providerErrorHandler()} - @frigate-card:media:loaded=${this._videoMediaShowHandler.bind(this)} - > - `:"jsmpeg"===e?c` this._providerErrorHandler()} - @frigate-card:media:loaded=${this._videoMediaShowHandler.bind(this)} - > - `:c``} - `)} - ${i&&!this._isVideoMediaLoaded?c``:""} `}static get styles(){return p(':host {\n background-color: var(--primary-background-color);\n background-position: center;\n background-repeat: no-repeat;\n background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4yLjIgKGIwYTg0ODY1NDEsIDIwMjItMTItMDEpIgogICBzb2RpcG9kaTpkb2NuYW1lPSJjYW1lcmEtaXJpcy5zdmciCiAgIGlkPSJzdmc0IgogICB2ZXJzaW9uPSIxLjEiCiAgIHZpZXdCb3g9IjAgMCAyNCAyNCIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9Im5hbWVkdmlldzYiCiAgICAgcGFnZWNvbG9yPSIjYjkzZTNlIgogICAgIGJvcmRlcmNvbG9yPSIjMDAwMDAwIgogICAgIGJvcmRlcm9wYWNpdHk9IjAuMjUiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuNjA3ODQzMTQiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6ZGVza2NvbG9yPSIjZDFkMWQxIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIyNi42MjUwNiIKICAgICBpbmtzY2FwZTpjeD0iLTEuOTM0MjY4IgogICAgIGlua3NjYXBlOmN5PSIxNS42ODA3MTYiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIzODQwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjE1MjciCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjEwODAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjIyNyIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzQiIC8+CiAgPGcKICAgICBpZD0iZzExMTkiCiAgICAgc3R5bGU9ImZpbGwtb3BhY2l0eTowLjA1O2ZpbGw6I2ZmZmZmZiI+CiAgICA8Y2lyY2xlCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjA1O3N0cm9rZS13aWR0aDoxLjM5NzI5IgogICAgICAgaWQ9InBhdGgxNzAiCiAgICAgICBjeD0iMTIiCiAgICAgICBjeT0iMTIiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iV2hpdGUgQmFja2dyb3VuZCIKICAgICAgIHI9IjExLjI1IiAvPgogICAgPHBhdGgKICAgICAgIGQ9Ik0gMTMuNzMwMDAxLDE1IDkuODMwMDAwMywyMS43NiBDIDEwLjUzLDIxLjkxIDExLjI1LDIyIDEyLDIyIGMgMi40MDAwMDEsMCA0LjYsLTAuODUgNi4zMiwtMi4yNSBMIDE0LjY2MDAwMSwxMy40IE0gMi40NjAwMDAzLDE1IGMgMC45MiwyLjkyIDMuMTUsNS4yNiA1Ljk5LDYuMzQgTCAxMi4xMiwxNSBtIC0zLjU3OTk5OTcsLTMgLTMuOSwtNi43NDk5OTk2IGMgLTEuNjQsMS43NDk5OTkgLTIuNjQsNC4xMzk5OTkzIC0yLjY0LDYuNzQ5OTk5NiAwLDAuNjggMC4wNywxLjM1IDAuMiwyIGggNy40OSBNIDIxLjgsOS45OTk5OTk3IEggMTQuMzEwMDAxIEwgMTQuNjAwMDAxLDEwLjUgMTkuMzYsMTguNzUgQyAyMSwxNi45NyAyMiwxNC42IDIyLDEyIDIyLDExLjMxIDIxLjkzLDEwLjY0IDIxLjgsOS45OTk5OTk3IG0gLTAuMjYsLTEgQyAyMC42Miw2LjA3MDAwMDUgMTguMzksMy43NDAwMDAyIDE1LjU1MDAwMSwyLjY2MDAwMDIgTCAxMS44OCw4Ljk5OTk5OTcgTSA5LjQwMDAwMDMsMTAuNSAxNC4xNzAwMDEsMi4yNDAwMDAyIGMgLTAuNywtMC4xNSAtMS40MjAwMDEsLTAuMjQgLTIuMTcwMDAxLC0wLjI0IC0yLjM5OTk5OTcsMCAtNC41OTk5OTk3LDAuODQgLTYuMzE5OTk5NywyLjI1MDAwMDMgbCAzLjY2LDYuMzQ5OTk5NSB6IgogICAgICAgaWQ9InBhdGgyIgogICAgICAgaW5rc2NhcGU6bGFiZWw9IklyaXMiCiAgICAgICBzdHlsZT0iZmlsbC1vcGFjaXR5OjAuMDU7ZmlsbDojZmZmZmZmIiAvPgogIDwvZz4KPC9zdmc+Cg==");\n background-size: 10%;\n background-position: center;\n}\n\n:host {\n display: block;\n height: 100%;\n width: 100%;\n position: relative;\n}\n\n.hidden {\n display: none;\n}\n\nha-icon {\n position: absolute;\n top: 10px;\n right: 10px;\n color: var(--primary-color);\n}')}};i([a({attribute:!1})],x.prototype,"hass",void 0),i([a({attribute:!1})],x.prototype,"cameraConfig",void 0),i([a({attribute:!1})],x.prototype,"cameraEndpoints",void 0),i([a({attribute:!1})],x.prototype,"liveConfig",void 0),i([a({attribute:!0,type:Boolean})],x.prototype,"load",void 0),i([a({attribute:!1})],x.prototype,"label",void 0),i([a({attribute:!1})],x.prototype,"cardWideConfig",void 0),i([a({attribute:!1})],x.prototype,"microphoneStream",void 0),i([a({attribute:!1})],x.prototype,"zoomSettings",void 0),i([t()],x.prototype,"_isVideoMediaLoaded",void 0),i([t()],x.prototype,"_hasProviderError",void 0),x=i([r("frigate-card-live-provider")],x);const P="frigate-card-live-provider";let T=class extends o{constructor(){super(...arguments),this._cameraToSlide={},this._refPTZControl=s(),this._refCarousel=s(),this._mediaActionsController=new z,this._mediaHasLoaded=!1}connectedCallback(){super.connectedCallback(),this.requestUpdate()}disconnectedCallback(){this._mediaActionsController.destroy(),super.disconnectedCallback()}_getTransitionEffect(){return this.overriddenLiveConfig?.transition_effect??n.live.transition_effect}_getSelectedCameraIndex(){if(this.viewFilterCameraID)return 0;const e=this.cameraManager?.getStore().getCameraIDsWithCapability("live"),i=this.viewManagerEpoch?.manager.getView();return e?.size&&i?Math.max(0,Array.from(e).indexOf(i.camera)):0}willUpdate(e){(e.has("microphoneManager")||e.has("overriddenLiveConfig"))&&this._mediaActionsController.setOptions({playerSelector:P,...this.overriddenLiveConfig?.auto_play&&{autoPlayConditions:this.overriddenLiveConfig.auto_play},...this.overriddenLiveConfig?.auto_pause&&{autoPauseConditions:this.overriddenLiveConfig.auto_pause},...this.overriddenLiveConfig?.auto_mute&&{autoMuteConditions:this.overriddenLiveConfig.auto_mute},...this.overriddenLiveConfig?.auto_unmute&&{autoUnmuteConditions:this.overriddenLiveConfig.auto_unmute},...(this.overriddenLiveConfig?.auto_unmute||this.overriddenLiveConfig?.auto_mute)&&{microphoneManager:this.microphoneManager,microphoneMuteSeconds:this.overriddenLiveConfig.microphone.mute_after_microphone_mute_seconds}})}_getPlugins(){return[E({...this.overriddenLiveConfig?.lazy_load&&{lazyLoadCallback:(e,i)=>this._lazyloadOrUnloadSlide("load",e,i)},lazyUnloadConditions:this.overriddenLiveConfig?.lazy_unload,lazyUnloadCallback:(e,i)=>this._lazyloadOrUnloadSlide("unload",e,i)}),S(),N()]}_getLazyLoadCount(){return!1===this.overriddenLiveConfig?.lazy_load?null:0}_getSlides(){if(!this.cameraManager)return[[],{}];const e=this.viewManagerEpoch?.manager.getView(),i=this.viewFilterCameraID?new Set([this.viewFilterCameraID]):this.cameraManager?.getStore().getCameraIDsWithCapability("live"),a=[],t={};for(const[r,o]of this.cameraManager.getStore().getCameraConfigEntries(i)){const i=this._getSubstreamCameraID(r,e),s=r===i?o:this.cameraManager?.getStore().getCameraConfig(i),n=s?this._renderLive(i,s):null;n&&(t[r]=a.length,a.push(n))}return[a,t]}_setViewHandler(e){const i=this.cameraManager?.getStore().getCameraIDsWithCapability("live");i?.size&&e.detail.index!==this._getSelectedCameraIndex()&&this._setViewCameraID([...i][e.detail.index])}_setViewCameraID(e){e&&this.viewManagerEpoch?.manager.setViewByParametersWithNewQuery({params:{camera:e}})}_lazyloadOrUnloadSlide(e,i,a){a instanceof HTMLSlotElement&&(a=a.assignedElements({flatten:!0})[0]);const t=a?.querySelector(P);t&&(t.load="load"===e)}_renderLive(e,i){if(!(this.overriddenLiveConfig&&this.nonOverriddenLiveConfig&&this.hass&&this.cameraManager&&this.conditionsManagerEpoch))return;let a=null;try{a=C(this.conditionsManagerEpoch.manager,{live:this.nonOverriddenLiveConfig},{configOverrides:this.overrides,stateOverrides:{camera:e},schema:f}).live}catch(e){return I(this,e)}const t=this.cameraManager.getCameraMetadata(e),r=this.viewManagerEpoch?.manager.getView();return c` -
- this.cameraManager?.getCameraEndpoints(e)??void 0))} - .label=${t?.title??""} - .liveConfig=${a} - .hass=${this.hass} - .cardWideConfig=${this.cardWideConfig} - .zoomSettings=${r?.context?.zoom?.[e]?.requested} - @frigate-card:zoom:change=${i=>M(i,this.viewManagerEpoch?.manager,e)} - > - -
- `}_getSubstreamCameraID(e,i){return i?.context?.live?.overrides?.get(e)??e}_getCameraNeighbors(){const e=this.cameraManager?[...this.cameraManager?.getStore().getCameraIDsWithCapability("live")]:[],i=this.viewManagerEpoch?.manager.getView();if(this.viewFilterCameraID||e.length<=1||!i||!this.hass)return{};const a=this.viewFilterCameraID??i.camera,t=e.indexOf(a);if(t<0)return{};const r=e[t>0?t-1:e.length-1],o=e[t+1{this._setViewCameraID(t?.id),w(e)}} - > - `}render(){const e=this.viewManagerEpoch?.manager.getView();if(!(this.overriddenLiveConfig&&this.hass&&e&&this.cameraManager))return;const[i,a]=this._getSlides();if(this._cameraToSlide=a,!i.length)return;const t=i.length>1,r=this._getCameraNeighbors(),o=!(!this._mediaHasLoaded||this.viewFilterCameraID&&this.viewFilterCameraID!==e.camera||!1===e.context?.ptzControls?.enabled)&&e.context?.ptzControls?.enabled;return c` - {this._mediaHasLoaded=!0}} - @frigate-card:media:unloaded=${()=>{this._mediaHasLoaded=!1}} - > - ${this._renderNextPrevious("left",r)} - - ${i} - - ${this._renderNextPrevious("right",r)} - - - - `}_setMediaTarget(){const e=this.viewManagerEpoch?.manager.getView(),i=this._getSelectedCameraIndex();this.viewFilterCameraID?this._mediaActionsController.setTarget(i,e?.camera===this.viewFilterCameraID):this._mediaActionsController.setTarget(i,!0)}updated(e){super.updated(e);let i=!1;!this._mediaActionsController.hasRoot()&&this._refCarousel.value&&(this._mediaActionsController.initialize(this._refCarousel.value),i=!0),(i||e.has("viewManagerEpoch"))&&this._setMediaTarget()}static get styles(){return p(":host {\n display: block;\n --video-max-height: none;\n}\n\n:host(:not([grid-id])) {\n height: 100%;\n}\n\n:host([unselected]) frigate-card-carousel {\n pointer-events: none;\n}\n\n.embla__slide {\n display: flex;\n justify-content: center;\n height: 100%;\n flex: 0 0 100%;\n}")}};i([a({attribute:!1})],T.prototype,"hass",void 0),i([a({attribute:!1})],T.prototype,"viewManagerEpoch",void 0),i([a({attribute:!1})],T.prototype,"nonOverriddenLiveConfig",void 0),i([a({attribute:!1})],T.prototype,"overriddenLiveConfig",void 0),i([a({attribute:!1,hasChanged:u})],T.prototype,"overrides",void 0),i([a({attribute:!1})],T.prototype,"conditionsManagerEpoch",void 0),i([a({attribute:!1})],T.prototype,"cardWideConfig",void 0),i([a({attribute:!1})],T.prototype,"cameraManager",void 0),i([a({attribute:!1})],T.prototype,"microphoneManager",void 0),i([a({attribute:!1})],T.prototype,"viewFilterCameraID",void 0),i([t()],T.prototype,"_mediaHasLoaded",void 0),T=i([r("frigate-card-live-carousel")],T);let Z=class extends o{_renderCarousel(e){const i=this.viewManagerEpoch?.manager.getView(),a=e??i?.camera;return c` - - - `}_gridSelectCamera(e){this.viewManagerEpoch?.manager.setViewByParameters({params:{camera:e}})}_needsGrid(){const e=this.cameraManager?.getStore().getCameraIDsWithCapability("live"),i=this.viewManagerEpoch?.manager.getView();return!!i?.isGrid()&&!!i?.supportsMultipleDisplayModes()&&!!e&&e.size>1}willUpdate(e){e.has("viewManagerEpoch")&&this._needsGrid()&&import("./media-grid-adc03f7c.js")}render(){if(!this.conditionsManagerEpoch||!this.nonOverriddenLiveConfig)return;const e=this.cameraManager?.getStore().getCameraIDsWithCapability("live");return e?.size&&this._needsGrid()?c` - this._gridSelectCamera(e.detail.selected)} - > - ${[...e].map((e=>this._renderCarousel(e)))} - - `:this._renderCarousel()}static get styles(){return p(":host {\n width: 100%;\n height: 100%;\n display: block;\n}\n\n@keyframes warning-pulse {\n 0% {\n border: solid 2px var(--frigate-card-triggered-color-1, rgba(0, 0, 0, 0));\n }\n 50% {\n border: solid 2px var(--frigate-card-triggered-color-2, var(--warning-color));\n }\n 100% {\n border: solid 2px var(--frigate-card-triggered-color-1, rgba(0, 0, 0, 0));\n }\n}\nfrigate-card-live-carousel[triggered] {\n animation: warning-pulse 5s infinite;\n}\n\nfrigate-card-live-carousel[selected] {\n --frigate-card-triggered-color-1: var(--primary-color);\n}")}};i([a({attribute:!1})],Z.prototype,"hass",void 0),i([a({attribute:!1})],Z.prototype,"viewManagerEpoch",void 0),i([a({attribute:!1})],Z.prototype,"nonOverriddenLiveConfig",void 0),i([a({attribute:!1})],Z.prototype,"overriddenLiveConfig",void 0),i([a({attribute:!1,hasChanged:u})],Z.prototype,"overrides",void 0),i([a({attribute:!1})],Z.prototype,"conditionsManagerEpoch",void 0),i([a({attribute:!1})],Z.prototype,"cardWideConfig",void 0),i([a({attribute:!1})],Z.prototype,"cameraManager",void 0),i([a({attribute:!1})],Z.prototype,"microphoneManager",void 0),i([a({attribute:!1})],Z.prototype,"triggeredCameraIDs",void 0),Z=i([r("frigate-card-live-grid")],Z);let G=class extends o{constructor(){super(...arguments),this._controller=new k(this)}render(){if(this.hass&&this.nonOverriddenLiveConfig&&this.cameraManager)return c` - - - `}static get styles(){return p(L)}};i([a({attribute:!1})],G.prototype,"conditionsManagerEpoch",void 0),i([a({attribute:!1})],G.prototype,"hass",void 0),i([a({attribute:!1})],G.prototype,"viewManagerEpoch",void 0),i([a({attribute:!1})],G.prototype,"nonOverriddenLiveConfig",void 0),i([a({attribute:!1})],G.prototype,"overriddenLiveConfig",void 0),i([a({attribute:!1,hasChanged:u})],G.prototype,"overrides",void 0),i([a({attribute:!1})],G.prototype,"cameraManager",void 0),i([a({attribute:!1})],G.prototype,"cardWideConfig",void 0),i([a({attribute:!1})],G.prototype,"microphoneManager",void 0),i([a({attribute:!1})],G.prototype,"triggeredCameraIDs",void 0),G=i([r("frigate-card-live")],G);export{G as FrigateCardLive}; diff --git a/config/www/community/frigate-hass-card/index-33db4eee.js.gz b/config/www/community/frigate-hass-card/index-33db4eee.js.gz deleted file mode 100644 index 5174b75e31c0907c7880a9a2d42b4b2c186c0ab9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6687 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 diff --git a/config/www/community/frigate-hass-card/index-33ed76c0.js b/config/www/community/frigate-hass-card/index-33ed76c0.js deleted file mode 100644 index 86217596..00000000 --- a/config/www/community/frigate-hass-card/index-33ed76c0.js +++ /dev/null @@ -1 +0,0 @@ -import{dr as e,ds as t,dt as i,du as s,a as n,dh as o,l as a,cO as c,x as r,r as h,_ as d,n as l,b as p,t as m}from"./card-e5d55e5b.js";import{s as u,h as v,c as y,d as g}from"./media-921a03ae.js";import{c as f}from"./endpoint-c9cec68c.js";import"./image-04d4df35.js";import{m as b}from"./audio-cf3a75aa.js";import{g as w}from"./get-technology-for-video-rtc-778a0c05.js";class S extends HTMLElement{constructor(){super(),this.DISCONNECT_TIMEOUT=5e3,this.RECONNECT_TIMEOUT=15e3,this.CODECS=["avc1.640029","avc1.64002A","avc1.640033","hvc1.1.6.L153.B0","mp4a.40.2","mp4a.40.5","flac","opus"],this.mode="webrtc,mse,hls,mjpeg",this.media="video,audio",this.background=!1,this.visibilityThreshold=0,this.visibilityCheck=!0,this.pcConfig={bundlePolicy:"max-bundle",iceServers:[{urls:"stun:stun.l.google.com:19302"}],sdpSemantics:"unified-plan"},this.wsState=WebSocket.CLOSED,this.pcState=WebSocket.CLOSED,this.video=null,this.ws=null,this.wsURL="",this.pc=null,this.connectTS=0,this.mseCodecs="",this.disconnectTID=0,this.reconnectTID=0,this.ondata=null,this.onmessage=null,this.microphoneStream=null,this.containingPlayer=null,this.controls=!0}reconnect(){this.wsState!==WebSocket.CLOSED?(this.ws?.addEventListener("close",(()=>this.onconnect())),this.ondisconnect()):(this.ondisconnect(),this.onconnect())}set src(e){"string"!=typeof e&&(e=e.toString()),e.startsWith("http")?e="ws"+e.substring(4):e.startsWith("/")&&(e="ws"+location.origin.substring(4)+e),this.wsURL=e,this.onconnect()}play(){}send(e){this.ws&&this.ws.send(JSON.stringify(e))}codecs(e){return this.CODECS.filter((e=>this.media.indexOf(e.indexOf("vc1")>0?"video":"audio")>=0)).filter((t=>e(`video/mp4; codecs="${t}"`))).join()}connectedCallback(){if(this.disconnectTID&&(clearTimeout(this.disconnectTID),this.disconnectTID=0),this.video){const e=this.video.seekable;e.length>0&&(this.video.currentTime=e.end(e.length-1)),this.play()}else this.oninit();this.onconnect()}disconnectedCallback(){this.background||this.disconnectTID||this.wsState===WebSocket.CLOSED&&this.pcState===WebSocket.CLOSED||(this.disconnectTID=setTimeout((()=>{this.reconnectTID&&(clearTimeout(this.reconnectTID),this.reconnectTID=0),this.disconnectTID=0,this.ondisconnect()}),this.DISCONNECT_TIMEOUT))}oninit(){this.video=document.createElement("video"),u(this.video,this.controls),this.video.playsInline=!0,this.video.preload="auto",this.video.style.display="block",this.video.style.width="100%",this.video.style.height="100%",this.appendChild(this.video),this.video.addEventListener("error",(e=>{this.ws&&this.wsState===WebSocket.OPEN&&this.ws.close()}));const n=window.navigator.userAgent.match(/Version\/(\d+).+Safari/);if(n){const e=n[1]<"13"?"mp4a.40.2":n[1]<"14"?"flac":"opus";this.CODECS.splice(this.CODECS.indexOf(e))}if(!this.background){if("hidden"in document&&this.visibilityCheck&&document.addEventListener("visibilitychange",(()=>{document.hidden?this.disconnectedCallback():this.isConnected&&this.connectedCallback()})),"IntersectionObserver"in window&&this.visibilityThreshold){new IntersectionObserver((e=>{e.forEach((e=>{e.isIntersecting?this.isConnected&&this.connectedCallback():this.disconnectedCallback()}))}),{threshold:this.visibilityThreshold}).observe(this)}this.video.onloadeddata=()=>{this.controls&&v(this.video,y),e(this,this.video,{player:this.containingPlayer,capabilities:{supports2WayAudio:!!this.pc,supportsPause:!0,hasAudio:b(this.video)},technology:w(this)})},this.video.onvolumechange=()=>t(this),this.video.onplay=()=>i(this),this.video.onpause=()=>s(this),this.video.muted=!0}}onconnect(){return!(!this.isConnected||!this.wsURL||this.ws||this.pc)&&(this.wsState=WebSocket.CONNECTING,this.connectTS=Date.now(),this.ws=new WebSocket(this.wsURL),this.ws.binaryType="arraybuffer",this.ws.addEventListener("open",(e=>this.onopen(e))),this.ws.addEventListener("close",(e=>this.onclose(e))),!0)}ondisconnect(){this.wsState=WebSocket.CLOSED,this.ws&&(this.ws.close(),this.ws=null),this.pcState=WebSocket.CLOSED,this.pc&&(this.pc.getSenders().forEach((e=>{e.track&&e.track.stop()})),this.pc.close(),this.pc=null),this.video.src="",this.video.srcObject=null}onopen(){this.wsState=WebSocket.OPEN,this.ws.addEventListener("message",(e=>{if("string"==typeof e.data){const t=JSON.parse(e.data);for(const e in this.onmessage)this.onmessage[e](t)}else this.ondata(e.data)})),this.ondata=null,this.onmessage={};const e=[];return this.mode.indexOf("mse")>=0&&("MediaSource"in window||"ManagedMediaSource"in window)?(e.push("mse"),this.onmse()):this.mode.indexOf("hls")>=0&&this.video.canPlayType("application/vnd.apple.mpegurl")?(e.push("hls"),this.onhls()):this.mode.indexOf("mp4")>=0&&(e.push("mp4"),this.onmp4()),this.mode.indexOf("webrtc")>=0&&"RTCPeerConnection"in window&&(e.push("webrtc"),this.onwebrtc()),this.mode.indexOf("mjpeg")>=0&&(e.length?this.onmessage.mjpeg=t=>{"error"===t.type&&0===t.value.indexOf(e[0])&&this.onmjpeg()}:(e.push("mjpeg"),this.onmjpeg())),e}onclose(){if(this.wsState===WebSocket.CLOSED)return!1;this.wsState=WebSocket.CONNECTING,this.ws=null;const e=Math.max(this.RECONNECT_TIMEOUT-(Date.now()-this.connectTS),0);return this.reconnectTID=setTimeout((()=>{this.reconnectTID=0,this.onconnect()}),e),!0}onmse(){let e;if("ManagedMediaSource"in window){const t=window.ManagedMediaSource;e=new t,e.addEventListener("sourceopen",(()=>{this.send({type:"mse",value:this.codecs(t.isTypeSupported)})}),{once:!0}),this.video.disableRemotePlayback=!0,this.video.srcObject=e}else e=new MediaSource,e.addEventListener("sourceopen",(()=>{URL.revokeObjectURL(this.video.src),this.send({type:"mse",value:this.codecs(MediaSource.isTypeSupported)})}),{once:!0}),this.video.src=URL.createObjectURL(e),this.video.srcObject=null;this.play(),this.mseCodecs="",this.onmessage.mse=t=>{if("mse"!==t.type)return;this.mseCodecs=t.value;const i=e.addSourceBuffer(t.value);i.mode="segments",i.addEventListener("updateend",(()=>{if(!i.updating)try{if(n>0){const e=s.slice(0,n);n=0,i.appendBuffer(e)}else if(i.buffered&&i.buffered.length){const t=i.buffered.end(i.buffered.length-1)-15,s=i.buffered.start(0);t>s&&(i.remove(s,t),e.setLiveSeekableRange(t,t+15))}}catch(e){}}));const s=new Uint8Array(2097152);let n=0;this.ondata=e=>{if(i.updating||n>0){const t=new Uint8Array(e);s.set(t,n),n+=t.byteLength}else try{i.appendBuffer(e)}catch(e){}}}}onwebrtc(){const e=new RTCPeerConnection(this.pcConfig);e.addEventListener("icecandidate",(e=>{if(e.candidate&&this.mode.indexOf("webrtc/tcp")>=0&&"udp"===e.candidate.protocol)return;const t=e.candidate?e.candidate.toJSON().candidate:"";this.send({type:"webrtc/candidate",value:t})})),e.addEventListener("connectionstatechange",(()=>{if("connected"===e.connectionState){const t=e.getTransceivers().filter((e=>"recvonly"===e.currentDirection)).map((e=>e.receiver.track)),i=document.createElement("video");i.addEventListener("loadeddata",(()=>this.onpcvideo(i)),{once:!0}),i.srcObject=new MediaStream(t)}else"failed"!==e.connectionState&&"disconnected"!==e.connectionState||(e.close(),this.pcState=WebSocket.CLOSED,this.pc=null,this.onconnect())})),this.onmessage.webrtc=t=>{switch(t.type){case"webrtc/candidate":if(this.mode.indexOf("webrtc/tcp")>=0&&t.value.indexOf(" udp ")>0)return;e.addIceCandidate({candidate:t.value,sdpMid:"0"}).catch((e=>{console.warn(e)}));break;case"webrtc/answer":e.setRemoteDescription({type:"answer",sdp:t.value}).catch((e=>{console.warn(e)}));break;case"error":if(t.value.indexOf("webrtc/offer")<0)return;e.close()}},this.createOffer(e).then((e=>{this.send({type:"webrtc/offer",value:e.sdp})})),this.pcState=WebSocket.CONNECTING,this.pc=e}async createOffer(e){this.microphoneStream?.getTracks().forEach((t=>{e.addTransceiver(t,{direction:"sendonly"})}));try{if(this.media.indexOf("microphone")>=0){(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach((t=>{e.addTransceiver(t,{direction:"sendonly"})}))}}catch(e){console.warn(e)}for(const t of["video","audio"])this.media.indexOf(t)>=0&&e.addTransceiver(t,{direction:"recvonly"});const t=await e.createOffer();return await e.setLocalDescription(t),t}onpcvideo(e){if(this.pc){let t=0,i=0;const s=e.srcObject;s.getVideoTracks().length>0&&(t+=544),s.getAudioTracks().length>0&&(t+=258),this.mseCodecs.indexOf("hvc1.")>=0&&(i+=560),this.mseCodecs.indexOf("avc1.")>=0&&(i+=528),this.mseCodecs.indexOf("mp4a.")>=0&&(i+=257),t>=i?(this.video.srcObject=s,this.play(),this.pcState=WebSocket.OPEN,this.wsState=WebSocket.CLOSED,this.ws&&(this.ws.close(),this.ws=null)):(this.pcState=WebSocket.CLOSED,this.pc&&(this.pc.close(),this.pc=null))}e.srcObject=null}onmjpeg(){let t=!1;this.ondata=i=>{u(this.video,!1),this.video.poster="data:image/jpeg;base64,"+S.btoa(i),t||(t=!0,e(this,this.video,{player:this.containingPlayer,technology:["mjpeg"]}))},this.send({type:"mjpeg"})}onhls(){this.onmessage.hls=e=>{if("hls"!==e.type)return;const t="http"+this.wsURL.substring(2,this.wsURL.indexOf("/ws"))+"/hls/",i=e.value.replace("hls/",t);this.video.src="data:application/vnd.apple.mpegurl;base64,"+btoa(i),this.play()},this.send({type:"hls",value:this.codecs((e=>this.video.canPlayType(e)))})}onmp4(){const t=document.createElement("canvas");let i;const s=document.createElement("video");s.autoplay=!0,s.playsInline=!0,s.muted=!0,s.addEventListener("loadeddata",(n=>{i||(t.width=s.videoWidth,t.height=s.videoHeight,i=t.getContext("2d"),e(this,s,{player:this.containingPlayer,technology:["mp4"]})),i.drawImage(s,0,0,t.width,t.height),u(this.video,!1),this.video.poster=t.toDataURL("image/jpeg")})),this.ondata=e=>{s.src="data:video/mp4;base64,"+S.btoa(e)},this.send({type:"mp4",value:this.codecs(this.video.canPlayType)})}static btoa(e){const t=new Uint8Array(e),i=t.byteLength;let s="";for(let e=0;eMUe}yCL1rj1F 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 diff --git a/config/www/community/frigate-hass-card/index-37750213.js b/config/www/community/frigate-hass-card/index-37750213.js deleted file mode 100644 index 9b6c9aba..00000000 --- a/config/www/community/frigate-hass-card/index-37750213.js +++ /dev/null @@ -1,131 +0,0 @@ -import{_ as e,n as i,b as t,t as a,a as r,cR as s,dm as o,dn as n,da as d,dp as l,dq as g,dr as h,ds as c,dt as u,du as m,dv as v,db as p,cT as C,x as w,c_ as f,dl as I,cV as M,dw as y,dx as _,dy as b,dz as A,r as D,cW as x,cI as k,dA as j,s as $,dB as T,l as z,c$ as N,d1 as L,d2 as E,cU as P}from"./card-769e2b91.js";import"./ha-hls-player-2c0fea5b.js";import{p as Z,h as V,s as G,u as S,i as W,c as F,M as O,A as R,a as U,b as Y}from"./media-d4c0d154.js";import{m as B}from"./audio-cf3a75aa.js";import{V as Q}from"./media-c9012082.js";let q=class extends r{constructor(){super(...arguments),this.load=!1,this._refFrigateCardMediaPlayer=s(),this._refVideoProvider=s(),this._refImageProvider=s(),this._url=null}async play(){await Z(this,this._refFrigateCardMediaPlayer.value??this._refVideoProvider.value)}async pause(){(this._refFrigateCardMediaPlayer.value||this._refVideoProvider.value)?.pause()}async mute(){this._refFrigateCardMediaPlayer.value?this._refFrigateCardMediaPlayer.value?.mute():this._refVideoProvider.value&&(this._refVideoProvider.value.muted=!0)}async unmute(){this._refFrigateCardMediaPlayer.value?this._refFrigateCardMediaPlayer.value?.mute():this._refVideoProvider.value&&(this._refVideoProvider.value.muted=!1)}isMuted(){return this._refFrigateCardMediaPlayer.value?this._refFrigateCardMediaPlayer.value?.isMuted()??!0:!this._refVideoProvider.value||this._refVideoProvider.value.muted}async seek(e){if(this._refFrigateCardMediaPlayer.value)return this._refFrigateCardMediaPlayer.value.seek(e);this._refVideoProvider.value&&(V(this._refVideoProvider.value),this._refVideoProvider.value.currentTime=e)}async setControls(e){if(this._refFrigateCardMediaPlayer.value)return this._refFrigateCardMediaPlayer.value.setControls(e);this._refVideoProvider.value&&G(this._refVideoProvider.value,e??this.viewerConfig?.controls.builtin??!0)}isPaused(){return this._refFrigateCardMediaPlayer.value?this._refFrigateCardMediaPlayer.value.isPaused():!this._refVideoProvider.value||this._refVideoProvider.value.paused}async getScreenshotURL(){return this._refFrigateCardMediaPlayer.value?await this._refFrigateCardMediaPlayer.value.getScreenshotURL():this._refVideoProvider.value?o(this._refVideoProvider.value):this._refImageProvider.value?this._refImageProvider.value.src:null}async _switchToRelatedClipView(){const e=this.viewManagerEpoch?.manager.getView();if(!(this.hass&&e&&this.cameraManager&&this.media&&n.isEvent(this.media)&&d.areEventQueries(e.query)))return;const i=e.query.clone();i.convertToClipsQueries();i.getQueries()&&await(this.viewManagerEpoch?.manager.setViewByParametersWithExistingQuery({params:{view:"media",query:i},queryExecutorOptions:{selectResult:{id:this.media.getID()??void 0},rejectResults:e=>!e.hasSelectedResult()}}))}async _setURL(){const e=this.media?.getContentID();if(!this.media||!e||!this.hass||this.viewerConfig?.lazy_load&&!this.load)return;let i=this.resolvedMediaCache?.get(e)??null;if(i||(i=await l(this.hass,e,this.resolvedMediaCache)),!i)return;const t=i.url;if(g(t))return void(this._url=h(this.hass,t));const a=this.cameraManager?.getStore().getCamera(this.media.getCameraID()),r=a?.getProxyConfig();if(r&&c(this.hass,r,"media")){if(r.dynamic){const e=t.split(/#/)[0];await u(this.hass,e,{sslVerification:r.ssl_verification,sslCiphers:r.ssl_ciphers,openLimit:0})}try{this._url=await m(this.hass,v(t))}catch(e){p(e)}}else this._url=t}willUpdate(e){if((e.has("load")||e.has("media")||e.has("viewerConfig")||e.has("resolvedMediaCache")||e.has("hass"))&&this._setURL().then((()=>{this.requestUpdate()})),e.has("viewerConfig")&&this.viewerConfig?.zoomable&&import("./zoomer-ddec5522.js"),e.has("media")||e.has("cameraManager")){const e=this.media?.getCameraID(),i=e?this.cameraManager?.getStore().getCameraConfig(e):null;S(this,i?.dimensions?.layout),this.style.aspectRatio=C({ratio:i?.dimensions?.aspect_ratio})}}_useZoomIfRequired(e){if(!this.media)return e;const i=this.media.getCameraID(),t=this.media.getID()??void 0,a=this.cameraManager?.getStore().getCameraConfig(i),r=this.viewManagerEpoch?.manager.getView();return this.viewerConfig?.zoomable?w` a?.dimensions?.layout?{pan:a.dimensions.layout.pan,zoom:a.dimensions.layout.zoom}:void 0))} - .settings=${t?r?.context?.zoom?.[t]?.requested:void 0} - @frigate-card:zoom:zoomed=${()=>this.setControls(!1)} - @frigate-card:zoom:unzoomed=${()=>this.setControls()} - @frigate-card:zoom:change=${e=>f(e,this.viewManagerEpoch?.manager,t)} - > - ${e} - `:e}render(){if(this.load&&this.media&&this.hass&&this.viewerConfig)return this._url?this._useZoomIfRequired(w` - ${n.isVideo(this.media)?this.media.getVideoContentType()===Q.HLS?w` - `:w` - - `:w`{this.viewerConfig?.snapshot_click_plays_clip&&this._switchToRelatedClipView()}} - @load=${e=>{y(this,e,{player:this,technology:["jpg"]})}} - />`} - `):I({cardWideConfig:this.cardWideConfig})}static get styles(){return D(':host {\n background-color: var(--primary-background-color);\n background-position: center;\n background-repeat: no-repeat;\n background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4yLjIgKGIwYTg0ODY1NDEsIDIwMjItMTItMDEpIgogICBzb2RpcG9kaTpkb2NuYW1lPSJjYW1lcmEtaXJpcy5zdmciCiAgIGlkPSJzdmc0IgogICB2ZXJzaW9uPSIxLjEiCiAgIHZpZXdCb3g9IjAgMCAyNCAyNCIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9Im5hbWVkdmlldzYiCiAgICAgcGFnZWNvbG9yPSIjYjkzZTNlIgogICAgIGJvcmRlcmNvbG9yPSIjMDAwMDAwIgogICAgIGJvcmRlcm9wYWNpdHk9IjAuMjUiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuNjA3ODQzMTQiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6ZGVza2NvbG9yPSIjZDFkMWQxIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIyNi42MjUwNiIKICAgICBpbmtzY2FwZTpjeD0iLTEuOTM0MjY4IgogICAgIGlua3NjYXBlOmN5PSIxNS42ODA3MTYiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIzODQwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjE1MjciCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjEwODAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjIyNyIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzQiIC8+CiAgPGcKICAgICBpZD0iZzExMTkiCiAgICAgc3R5bGU9ImZpbGwtb3BhY2l0eTowLjA1O2ZpbGw6I2ZmZmZmZiI+CiAgICA8Y2lyY2xlCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjA1O3N0cm9rZS13aWR0aDoxLjM5NzI5IgogICAgICAgaWQ9InBhdGgxNzAiCiAgICAgICBjeD0iMTIiCiAgICAgICBjeT0iMTIiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iV2hpdGUgQmFja2dyb3VuZCIKICAgICAgIHI9IjExLjI1IiAvPgogICAgPHBhdGgKICAgICAgIGQ9Ik0gMTMuNzMwMDAxLDE1IDkuODMwMDAwMywyMS43NiBDIDEwLjUzLDIxLjkxIDExLjI1LDIyIDEyLDIyIGMgMi40MDAwMDEsMCA0LjYsLTAuODUgNi4zMiwtMi4yNSBMIDE0LjY2MDAwMSwxMy40IE0gMi40NjAwMDAzLDE1IGMgMC45MiwyLjkyIDMuMTUsNS4yNiA1Ljk5LDYuMzQgTCAxMi4xMiwxNSBtIC0zLjU3OTk5OTcsLTMgLTMuOSwtNi43NDk5OTk2IGMgLTEuNjQsMS43NDk5OTkgLTIuNjQsNC4xMzk5OTkzIC0yLjY0LDYuNzQ5OTk5NiAwLDAuNjggMC4wNywxLjM1IDAuMiwyIGggNy40OSBNIDIxLjgsOS45OTk5OTk3IEggMTQuMzEwMDAxIEwgMTQuNjAwMDAxLDEwLjUgMTkuMzYsMTguNzUgQyAyMSwxNi45NyAyMiwxNC42IDIyLDEyIDIyLDExLjMxIDIxLjkzLDEwLjY0IDIxLjgsOS45OTk5OTk3IG0gLTAuMjYsLTEgQyAyMC42Miw2LjA3MDAwMDUgMTguMzksMy43NDAwMDAyIDE1LjU1MDAwMSwyLjY2MDAwMDIgTCAxMS44OCw4Ljk5OTk5OTcgTSA5LjQwMDAwMDMsMTAuNSAxNC4xNzAwMDEsMi4yNDAwMDAyIGMgLTAuNywtMC4xNSAtMS40MjAwMDEsLTAuMjQgLTIuMTcwMDAxLC0wLjI0IC0yLjM5OTk5OTcsMCAtNC41OTk5OTk3LDAuODQgLTYuMzE5OTk5NywyLjI1MDAwMDMgbCAzLjY2LDYuMzQ5OTk5NSB6IgogICAgICAgaWQ9InBhdGgyIgogICAgICAgaW5rc2NhcGU6bGFiZWw9IklyaXMiCiAgICAgICBzdHlsZT0iZmlsbC1vcGFjaXR5OjAuMDU7ZmlsbDojZmZmZmZmIiAvPgogIDwvZz4KPC9zdmc+Cg==");\n background-size: 10%;\n background-position: center;\n}\n\n:host {\n display: block;\n width: 100%;\n height: 100%;\n}\n\nimg,\nvideo,\nfrigate-card-ha-hls-player {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n object-view-box: inset(var(--frigate-card-media-layout-view-box-top, 0%) var(--frigate-card-media-layout-view-box-right, 0%) var(--frigate-card-media-layout-view-box-bottom, 0%) var(--frigate-card-media-layout-view-box-left, 0%));\n}\n\nfrigate-card-progress-indicator {\n padding: 30px;\n box-sizing: border-box;\n}')}};e([i({attribute:!1})],q.prototype,"hass",void 0),e([i({attribute:!1})],q.prototype,"viewManagerEpoch",void 0),e([i({attribute:!1})],q.prototype,"media",void 0),e([i({attribute:!1})],q.prototype,"viewerConfig",void 0),e([i({attribute:!1})],q.prototype,"resolvedMediaCache",void 0),e([i({attribute:!1})],q.prototype,"load",void 0),e([i({attribute:!1})],q.prototype,"cameraManager",void 0),e([i({attribute:!1})],q.prototype,"cardWideConfig",void 0),e([t()],q.prototype,"_url",void 0),q=e([a("frigate-card-viewer-provider")],q);let H=class extends r{constructor(){super(...arguments),this.showControls=!0,this._selected=0,this._media=null,this._mediaActionsController=new O,this._player=null,this._refCarousel=s()}updated(e){super.updated(e),e.has("viewManagerEpoch")&&this.viewManagerEpoch?.manager.getView()?.context?.mediaViewer!==this.viewManagerEpoch?.oldView?.context?.mediaViewer&&this._seekHandler(),!this._mediaActionsController.hasRoot()&&this._refCarousel.value&&this._mediaActionsController.initialize(this._refCarousel.value)}connectedCallback(){super.connectedCallback(),this.requestUpdate()}disconnectedCallback(){this._mediaActionsController.destroy(),super.disconnectedCallback()}_getTransitionEffect(){return this.viewerConfig?.transition_effect??k.media_viewer.transition_effect}_getPlugins(){return[R({...this.viewerConfig?.lazy_load&&{lazyLoadCallback:(e,i)=>this._lazyloadSlide(i)}}),U(),Y()]}_getMediaNeighbors(){const e=this._media?.length??0;if(!this._media)return null;const i=this._selected>0?this._selected-1:null,t=this._selected+1{if(!t||!this._media)return;const i=("previous"===e?t.previous?.index:t.next?.index)??null;null!==i&&this._setViewSelectedIndex(i)},r=this.viewManagerEpoch?.manager.getView();return w` - {this._setViewSelectedIndex(e.detail.index)}} - @frigate-card:media:loaded=${e=>{this._player=e.detail.player??null,this._seekHandler()}} - @frigate-card:media:unloaded=${()=>{this._player=null}} - > - ${this.showControls?w` {a("previous"),N(e)}} - >`:""} - ${W([this._media,r],(()=>this._getSlides()))} - ${this.showControls?w` {a("next"),N(e)}} - >`:""} - - ${r?w` - `:""} -
- - -
- `}async _seekHandler(){const e=this.viewManagerEpoch?.manager.getView(),i=e?.context?.mediaViewer?.seek;if(!(this.hass&&i&&this._media&&this._player))return;const t=this._media[this._selected];if(!t)return;const a=t.includesTime(i);$(this,!a,"unseekable"),a||this._player.isPaused()?a&&this._player.isPaused()&&this._player.play():this._player.pause();const r=await(this.cameraManager?.getMediaSeekTime(t,i))??null;null!==r&&this._player.seek(r)}_renderMediaItem(e){const i=this.viewManagerEpoch?.manager.getView();return this.hass&&i&&this.viewerConfig?w`
- -
`:null}static get styles(){return D(":host {\n position: relative;\n --video-max-height: none;\n}\n\n:host([unselected]) frigate-card-carousel,\n:host([unselected]) .seek-warning {\n pointer-events: none;\n}\n\n:host([unseekable]) frigate-card-carousel {\n filter: brightness(50%);\n}\n\n:host([unseekable]) .seek-warning {\n display: block;\n}\n\n.seek-warning {\n display: none;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translateX(-50%) translateY(-50%);\n color: white;\n}\n\n.embla__slide {\n height: 100%;\n flex: 0 0 100%;\n}")}};e([i({attribute:!1})],H.prototype,"hass",void 0),e([i({attribute:!1})],H.prototype,"viewManagerEpoch",void 0),e([i({attribute:!1})],H.prototype,"viewFilterCameraID",void 0),e([i({attribute:!1,hasChanged:x})],H.prototype,"viewerConfig",void 0),e([i({attribute:!1})],H.prototype,"resolvedMediaCache",void 0),e([i({attribute:!1})],H.prototype,"cardWideConfig",void 0),e([i({attribute:!1})],H.prototype,"cameraManager",void 0),e([i({attribute:!1})],H.prototype,"showControls",void 0),e([t()],H.prototype,"_selected",void 0),H=e([a("frigate-card-viewer-carousel")],H);let X=class extends r{_renderCarousel(e){const i=this.viewManagerEpoch?.manager.getView()?.camera;return w` - - - `}willUpdate(e){e.has("viewManagerEpoch")&&this._needsGrid()&&import("./media-grid-110faed3.js")}_needsGrid(){const e=this.viewManagerEpoch?.manager.getView(),i=e?.queryResults?.getCameraIDs();return!!e?.isGrid()&&!!e?.supportsMultipleDisplayModes()&&(i?.size??0)>1}_gridSelectCamera(e){const i=this.viewManagerEpoch?.manager.getView();this.viewManagerEpoch?.manager.setViewByParameters({params:{camera:e,queryResults:i?.queryResults?.clone().promoteCameraSelectionToMainSelection(e)}})}render(){const e=this.viewManagerEpoch?.manager.getView(),i=e?.queryResults?.getCameraIDs();return i&&this._needsGrid()?w` - this._gridSelectCamera(e.detail.selected)} - > - ${[...i].map((e=>this._renderCarousel(e)))} - - `:this._renderCarousel()}static get styles(){return D(E)}};e([i({attribute:!1})],X.prototype,"hass",void 0),e([i({attribute:!1})],X.prototype,"viewManagerEpoch",void 0),e([i({attribute:!1})],X.prototype,"viewerConfig",void 0),e([i({attribute:!1})],X.prototype,"resolvedMediaCache",void 0),e([i({attribute:!1})],X.prototype,"cardWideConfig",void 0),e([i({attribute:!1})],X.prototype,"cameraManager",void 0),X=e([a("frigate-card-viewer-grid")],X);let J=class extends r{render(){if(this.hass&&this.viewManagerEpoch&&this.viewerConfig&&this.cameraManager&&this.cardWideConfig){if(!this.viewManagerEpoch.manager.getView()?.queryResults?.hasResults()){const e=!!this.viewManagerEpoch.manager.getView()?.context?.loading?.query;return P({type:"info",message:z(e?"error.awaiting_media":"common.no_media"),icon:"mdi:multimedia",dotdotdot:e})}return w` - `}}static get styles(){return D(":host {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n gap: 5px;\n}\n\nfrigate-card-viewer-carousel {\n flex: 1;\n min-height: 0;\n}")}};e([i({attribute:!1})],J.prototype,"hass",void 0),e([i({attribute:!1})],J.prototype,"viewManagerEpoch",void 0),e([i({attribute:!1})],J.prototype,"viewerConfig",void 0),e([i({attribute:!1})],J.prototype,"resolvedMediaCache",void 0),e([i({attribute:!1})],J.prototype,"cameraManager",void 0),e([i({attribute:!1})],J.prototype,"cardWideConfig",void 0),J=e([a("frigate-card-viewer")],J);export{J as FrigateCardViewer}; diff --git a/config/www/community/frigate-hass-card/index-37750213.js.gz b/config/www/community/frigate-hass-card/index-37750213.js.gz deleted file mode 100644 index be6634a261b9bcb99b0900726cc56f18105bad19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6430 zcmV+(8R6z1iwFoydR%7$|7mVyWq2(!H#apfGBGnQYI6Y1JZX30xU%2-R}kL3Tyw_I zK$5-_rwKO!l8_t70@>*4lQy;j0xyhh)-?b9RY~44Wa+u@+?nYymQi%JMN}EOv8aymsf+3apA%7KvyDWhjn9fW!^c!q7)j5fs^POPDtGv7i0Txdb5UjE zo2rtZY%qKNESc z8yfS%*wYdF__*VAoQjMWEs^5mUR3aLA~x`GDKd(0IQwt8OddT-bfQu@tL`d!wXnAv zo`y;1*c&I0RcdCH=N^oG2-12{ zOv84pvErDPka@AkBVq};Tu!!nW1Sd|oe`ZrwR4&&tEH_1e|fUV^NB@!vO_As!3NHC z#TZqxg-kH!j;h4GvdjrQV_kJ!?vaG9v89!av8F9$du}KxWIvE4Pi5+)Is%S)jfC7p z*2bhTErP!M(S@R)yG~gZ{?+}O*C!R08X*XR-2HaKr%1%`EAOT zdC$^vF7|_0_7okJO07I=U*)k(>>7@Ig1({L~) zgpw(-0PQpFm2--VKGz*n&7lU09`)=BE%-m9Xt@CUFDV&wGM<+8h|^LmLJYfaI=43$ z@1>kO*0<5WI@d+`tUB zyQN6USAm9X06wcWGL=4fDgK5_;{XSs&|94DKJ1g*+n`|VO_6nC$u6|p#`f6lZ384* zn}DSVL2G7vTZKK8u=eXQu_ysm&iw_y=9!FZ4F{Y$T5>ybie?%Fi9r3F5X)(sxE9+( zfIUE}|GK@+dr#dmIn#wOliwyk1wnR#Y zTLhWhVmOG(J7D)*W-`8DiL2BRIWqiZoB+K9Fc{}yk_)88aGR*eN}sUV!8eu5sE0T={rOX%C2mhzpg|%L*PzH` z#4Q@t1gAuE5C9>%p5S;VTVC3tXx{vQ$}SA1O`gQ*u^@9sE~LgvM?iB zCC*o{x7nO?iE|cIUI|TWiLQcV*cM>r)VU$+R0#c&CmbyIrA<5{eUxO9AV6h zZEJU+%Fk4hQK2MIRa<+SgqlQXsL)X#RMzcP_?u{sh;c!6>PY!zX6ab-mw-cjGCefe z1lhR+oJt?Jtr7fhxg?rRQUR2+oKj7@9jV|$+`Ua;8Y-kwFVdNxKiyY%?f!dMt3u7I zG7ohkS-?KmmH3*TbNa*(1R+y8d~p>AOwV>)vNB*CV&beWqNsu|OjDP;8aOe2ND$y; zfNgN1QB|Vs?G@S4z(*NhSVWsp*z4@j*C7$SS^2G+=xP}31h zBb}RL$Bk8NXReW)Y>&{BpoWwx!i$AJq!<_<^ThfZi!LA7Ow(ATn5*pP=tvmjLq<4V>5==;FZ2? z^aw!1ruQtkJHlE?gHsRi9fmLie9-arbAo&ie@J8rK|6#>LJ*wu9WETQgaVuuEsBQf z;27OlY}J0IKR$VcVGP8Ayl@Ouj+zMTcX#aed<1q-DwVEtXBRC{*QmBeE?+_%;FC38 zJ99+jf&a*wW=^wYW+q~kEh=X4l4PA??q$QGKH5#EKF5K-erCPVW;CF$RPTLSYb%kXbBw}|*$L8~4ig{kezytzOVOw@bUFEw zpmMe$kMO$Ti4A;WhK0XJe%!q7=pWMrrimMMFrrR_QEx?^J|F(zuRk(UU3fvCb`PB8 zq)KkY7j6T1+kyC#UDKpk=xPTSG*#grQs0Cq^W{$?mFmjMuxFWLL(M8cge9dWvL$4* zBa7;?HP6QTGY2uKk!e$Qh)OB2zY;6nZ;=s^9Vum)?$7uDirOOK_93LvU?tY@*`D-% zpXu5`SGLKQUGb{AzuUc^_Ei0Dt`xONcaW!z*6y@UkF~DeoODjLac7aIcXv0Z7wsOc zpEdK3_j|*~``M(c-|pA-y-9uW$M2QFY@zDPzw4Ewo_xP&DaB@AIlcW7!#lqi)O-Iv ztxq4@z5HeMvCyp6?0U66Z4By8qYZzmwNbri_Ue`6MYnh}Qcm}Wa(guF7MtV8`+|1W zIv?Ou(QA(Ua6VGzdpIwx(4$`cR2xD+zUN&W#m>X|LcZT0U$yG9i$RT#JL`-(4{D{m z)7!5Pj(UyC(Y(q2)EWKcv|x9Q#+T4KV4eNEdUo{XV!pql?kM9>-?+PTZd?@i`rZ4x zg>rf_=sYwgp?-JHzSBM3TU;89r&C-T&}yn@H`7b{$3!W@IvjNGdo%`mbd%8adxeXo%!$qgv)HvNZ=lMj@Z$JlvF+d~IIb9vIKYhG!j?}Xu z%6i-w+|q!CKu?uof1>Uj_dCVAg?xH4?CtyQ3P4&Sap2O)feut`8vJ zQCD{skHwQ|r#<@8E$%yjW8S2@Mc~1-NfXBn2+(xVu8l9-jeKM9xEt_O8_PS*!Q;cR zcBwb_(4LyD-Qs2SXs6MBOr&2eg6}xp-??~DN1d}96JQp=qiG^eLj^i+ChEKZJkkvL z4D@4AD>MemE4a~yYg3@(m2oI1SpPh6-8%q-GIzT7C%f`}VMO%1A+B-F`U{G2u62!T zu<4V%&O?2_ZZwOX#Wk&0z!w4?SEq_U50mqvHfywpfsXIo>~)!6>5RIkQ>P2M_gK{O zq-{a+^5_M5z1HNihN_L__Op1)?#PL1QfdfJ;c7Xgo9PNpm1v!iY8m9{XS?ZK;JOmYqT5V z=AwZ@&%SK!?s2+?JM|jC zwXb0fH71LCZOYzVKA>!n|IjvsF^_hm-GjM759UX6od=KT-U~;Q*{D2Se7D4}axNMP*9?&tgL1w@!MkDG0$l|u(%5(0^ zwp!>uJuWk!USU@`Qc{o68GWi?LXtb z%D40Cbkc!1;tJv&h)sU4^h%}lN`P$B1%$VS{Qtfoa$f#v{Aq-ubCue7RFG0#%~XaA z!IY{_AMv>e`-JxTj^DsA!0Al<(_m*ec&@(;`RF96l-b3cTK1Vb-hm-93$Fs=cdj@{ zWVcc>H8Nr7fB~@cBPX>6d9JNKKp20pWQd7ULK>gl^4BiB+tp0yapy-R+txVI8s<0fD5k?t7MRA z>e3y;eOnmFBF_~WoGzfplE3AcB{f+hjuDs(8p27=h*E|Vov$RyLb)SG?j2*_R%u

4YxH<+_{7vF)^nMJ5Lgpjijl7z%u86l24Y5WBG*lf0k_UZJ_r23*yUE~tr{GWcjaUZ?WpCdf5n^qhXVoDXVLo+9~Xmi>;ToP7&C z%$K7L*@DC^DmL)Ht^5+pd@?~vo6C33CD?;r*~tz-Ck5)3 zndiCRV5HeXs7fPZHs8JfrKpxORq{IB;*BSs zMrRgYcZd!H4rJs5j4#RH3cOm8)vBRQ^*QU@DahTesuSF-gvU8)Gv~x)Cx_WXwgZEL z;BQQfL!U}{<=$$>&<9v<#E6+M4<-J715O;a5h*57U7T2n{W?kn*ocwWw7WQO*~{x# zIS~5zwXw(h3rfYn6nqy1o$l}TUZd(yO)_*aNusW5pI7khgtcJWDDN|Vt57Y)@oH+ct4H$#)Rkw)v0vIy|ITa z;*otag|ru5q;XR&J2~&YoO5G`oWXRGy?JG{L3rX9MXp8>5QcrASk5mti540uZZQ2R zF@f%d+M(QePPOD-%|P{6lPWLDY(S3{;gz>Sg=x7F4^VlX-3naTlD><+2;8VP*9AWD zLW3|ZzNL97d9NWD7Jb*gQ5#d;&L*zClO?&IgW6HCMjNb%=QY$*V*n zSlz>;kB7f|ZgKS__R0)n!=EE4H3*+jefYzWDy*E4SL-TKi?g0`XWa^!SowwxfmA85 zi1!v`!O_Yh%s;`X0L{uUcXF;z$-3!R@F3Yw9;y{gPJgU-4PZN~!3^1MP}1Rz2o?Cp zvGD4WwHQK0A@K?{I7@m4wiSYokMpZXP;KOp&&h~QR^T12O^cPIB}(q_hZLqKuvKoE zqUF}Y`ZnansA0SOn-vE~{-V+_6#st;V+7&G2b3ia{dPq`$k&vFvEpx1kQjjHB@g|w zSZh`8BWLj`E``_G4^UBJb8y~K$Q`vQtDD1`wQ#L8jQ3S9NBDLXMi4F~i>(4cql;AO zB*ktQOYHoZoywL$jb1vy@wG2!F>(nCz!vVw)4Q_?2aU^g3I~^1n4@5>BWn@eoRBca z&o0VCpVdGHfB6x79TeICJ{XyA3XWr+g3-tk&U@i|NG3UmN(|K2-6>E*(Z=9R@PkW; zat^$hTaLxtviE@?pE~qiVL3)ss4LdNzpIv_ZT#zHmm;ea`nGKKO9mDjwty%`ts~M* zEQqsWGqNvMEjZZ6&($Bf6$)P;MuiixA2hy@_7c6T$xlxiHv-CwYU=(A5lx2e8@`0*gq|gNQVS2D|l=TdRj<|NbPg>PtO zu8n3=iJo0d9-9mMMUN7Sx#TRt4?yj;({ZC-Hyuay%+9z{s>`yN2C;3yO{K2ImO#)- zc9{Wh8t9T7=BnHU^%^_8*)c~FCUw~hCO(5VcIto~N|*Rgtj&E8vMgonH$3tN2H@7b zPW#mH*^~?0E2nKG|NX4NSu&M}f4#hWdVPBI?7ivHvtLP%t^h~xDmH;*!Fz?(tEhG|@xU&seRL{sTi+aYhs1GYyRCl-X zE&@KXS$Wr1uiQk$sPbKF&!TFUqAR|@ko7;cBdsdvfA{wEo(%_YO2TPw*wx6-pLq94 z;-~)PttlGV|A^iAzm}M)bL-~$uP6##`o`(K#C@4NO_Ha2(%^f z{?ET14_{Ss>1{gSyF)f!p0P=#@Lc}=$BOv9>pE|ACh1!3TP~NQ-+^%>LGW>{INIPw zC1#WXQLa5oi5On__@=f#PI!24obd1~al*q#_x6Wh+uI*LzPCTTVQ+ufu=S$saNB+0 z+wS?ww!88PbL?B?Fn<#cejEPImgqu5spUA@q>Vgk(^%c(rtw0F!L7HW^Y0$;Fa`0q zJAvmNu7nrlu;k{3bO`+M3$2Af%4uR*rj=tSbO3bINK!&#DKViWs;0yLlL+&4ZeWre zl7xKD+MwgzA;+8Ji4R2+?}#Pd5lMI_({)Tb{IPudQT5f*UjH11XB_{qllAX)B|J2Z zb%S;FWIT(p+R@dj(^wSao+{bNslcFhYWU~k{40m3^Y=Q(^Ivg}=O1;B=fCD0&p&*6 sIe&{=Jzwt}(J!874#{this._messageReceived=!0,this._inBackground&&(e.stopPropagation(),this._renderEpoch++)},this._handleMediaLoaded=e=>{this._lastMediaLoadedInfo={source:e.composedPath()[0],mediaLoadedInfo:e.detail},this._inBackground&&e.stopPropagation()},this._host=e,e.addController(this),this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this))}shouldUpdate(){return!(this._inBackground&&this._messageReceived)}hostConnected(){this._intersectionObserver.observe(this._host),this._host.addEventListener("frigate-card:media:loaded",this._handleMediaLoaded),this._host.addEventListener("frigate-card:message",this._handleMessage)}hostDisconnected(){this._intersectionObserver.disconnect(),this._host.removeEventListener("frigate-card:media:loaded",this._handleMediaLoaded),this._host.removeEventListener("frigate-card:message",this._handleMessage)}clearMessageReceived(){this._messageReceived=!1}isInBackground(){return this._inBackground}getRenderEpoch(){return this._renderEpoch}_intersectionHandler(e){const i=this._inBackground;this._inBackground=!e.some((e=>e.isIntersecting)),this._inBackground||this._messageReceived||!this._lastMediaLoadedInfo||r(this._lastMediaLoadedInfo.source,this._lastMediaLoadedInfo.mediaLoadedInfo),i!==this._inBackground&&this._host.requestUpdate()}}const P=(e,i,t)=>{if(!t?.camera_entity)return o(e,s("error.no_live_camera"),{context:t}),null;const a=i.states[t.camera_entity];return a||(o(e,s("error.live_camera_not_found"),{context:t}),null)};let G=class extends h{constructor(){super(...arguments),this.load=!1,this.label="",this._isVideoMediaLoaded=!1,this._refProvider=l(),this._importPromises=[]}async play(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await z(this,this._refProvider.value)}async pause(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.pause())}async mute(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.mute())}async unmute(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.unmute())}isMuted(){return this._refProvider.value?.isMuted()??!0}async seek(e){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.seek(e))}async setControls(e){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.setControls(e))}isPaused(){return this._refProvider.value?.isPaused()??!0}async getScreenshotURL(){return await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.getScreenshotURL())??null}_getResolvedProvider(){return"auto"===this.cameraConfig?.live_provider?this.cameraConfig?.webrtc_card?.entity||this.cameraConfig?.webrtc_card?.url?"webrtc-card":this.cameraConfig?.camera_entity?"ha":this.cameraConfig?.frigate.camera_name?"jsmpeg":m.cameras.live_provider:this.cameraConfig?.live_provider||"image"}_shouldShowImageDuringLoading(){return!!this.cameraConfig?.camera_entity&&!!this.hass&&!!this.liveConfig?.show_image_during_load}disconnectedCallback(){this._isVideoMediaLoaded=!1}_videoMediaShowHandler(){this._isVideoMediaLoaded=!0}willUpdate(e){if(e.has("load")&&(this.load||(this._isVideoMediaLoaded=!1,v(this))),e.has("liveConfig")&&(this.liveConfig?.show_image_during_load&&this._importPromises.push(import("./image-b5d57727.js")),this.liveConfig?.zoomable&&this._importPromises.push(import("./zoomer-672d26af.js"))),e.has("cameraConfig")){const e=this._getResolvedProvider();"jsmpeg"===e?this._importPromises.push(import("./jsmpeg-45778f1d.js")):"ha"===e?this._importPromises.push(import("./ha-9af0bc47.js")):"webrtc-card"===e?this._importPromises.push(import("./webrtc-card-b8854548.js")):"image"===e?this._importPromises.push(import("./image-b5d57727.js")):"go2rtc"===e&&this._importPromises.push(import("./index-78f3984a.js")),k(this,this.cameraConfig?.dimensions?.layout),this.style.aspectRatio=p({ratio:this.cameraConfig?.dimensions?.aspect_ratio})}}async getUpdateComplete(){const e=await super.getUpdateComplete();return await Promise.all(this._importPromises),this._importPromises=[],e}_useZoomIfRequired(e){return this.liveConfig?.zoomable?u` this.cameraConfig?.dimensions?.layout?{pan:this.cameraConfig.dimensions.layout.pan,zoom:this.cameraConfig.dimensions.layout.zoom}:void 0))} - .settings=${this.zoomSettings} - @frigate-card:zoom:zoomed=${()=>this.setControls(!1)} - @frigate-card:zoom:unzoomed=${()=>this.setControls()} - > - ${e} - `:e}render(){if(!(this.load&&this.hass&&this.liveConfig&&this.cameraConfig))return;this.title=this.label,this.ariaLabel=this.label;const e=this._getResolvedProvider(),i=!this._isVideoMediaLoaded&&this._shouldShowImageDuringLoading(),t={hidden:i};if("ha"===e||"image"===e){const e=P(this,this.hass,this.cameraConfig);if(!e)return;if("unavailable"===e.state)return v(this),C({message:`${s("error.live_camera_unavailable")}${this.label?`: ${this.label}`:""}`,type:"info",icon:"mdi:cctv-off",dotdotdot:!0})}return u`${this._useZoomIfRequired(u` - ${i||"image"===e?u` {"image"===e?this._videoMediaShowHandler():i.stopPropagation()}} - > - `:u``} - ${"ha"===e?u` - `:"go2rtc"===e?u` - `:"webrtc-card"===e?u` - `:"jsmpeg"===e?u` - `:u``} - `)} - ${i&&!this._isVideoMediaLoaded?u``:""} `}static get styles(){return M(':host {\n background-color: var(--primary-background-color);\n background-position: center;\n background-repeat: no-repeat;\n background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4yLjIgKGIwYTg0ODY1NDEsIDIwMjItMTItMDEpIgogICBzb2RpcG9kaTpkb2NuYW1lPSJjYW1lcmEtaXJpcy5zdmciCiAgIGlkPSJzdmc0IgogICB2ZXJzaW9uPSIxLjEiCiAgIHZpZXdCb3g9IjAgMCAyNCAyNCIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9Im5hbWVkdmlldzYiCiAgICAgcGFnZWNvbG9yPSIjYjkzZTNlIgogICAgIGJvcmRlcmNvbG9yPSIjMDAwMDAwIgogICAgIGJvcmRlcm9wYWNpdHk9IjAuMjUiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuNjA3ODQzMTQiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6ZGVza2NvbG9yPSIjZDFkMWQxIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIyNi42MjUwNiIKICAgICBpbmtzY2FwZTpjeD0iLTEuOTM0MjY4IgogICAgIGlua3NjYXBlOmN5PSIxNS42ODA3MTYiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIzODQwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjE1MjciCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjEwODAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjIyNyIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzQiIC8+CiAgPGcKICAgICBpZD0iZzExMTkiCiAgICAgc3R5bGU9ImZpbGwtb3BhY2l0eTowLjA1O2ZpbGw6I2ZmZmZmZiI+CiAgICA8Y2lyY2xlCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjA1O3N0cm9rZS13aWR0aDoxLjM5NzI5IgogICAgICAgaWQ9InBhdGgxNzAiCiAgICAgICBjeD0iMTIiCiAgICAgICBjeT0iMTIiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iV2hpdGUgQmFja2dyb3VuZCIKICAgICAgIHI9IjExLjI1IiAvPgogICAgPHBhdGgKICAgICAgIGQ9Ik0gMTMuNzMwMDAxLDE1IDkuODMwMDAwMywyMS43NiBDIDEwLjUzLDIxLjkxIDExLjI1LDIyIDEyLDIyIGMgMi40MDAwMDEsMCA0LjYsLTAuODUgNi4zMiwtMi4yNSBMIDE0LjY2MDAwMSwxMy40IE0gMi40NjAwMDAzLDE1IGMgMC45MiwyLjkyIDMuMTUsNS4yNiA1Ljk5LDYuMzQgTCAxMi4xMiwxNSBtIC0zLjU3OTk5OTcsLTMgLTMuOSwtNi43NDk5OTk2IGMgLTEuNjQsMS43NDk5OTkgLTIuNjQsNC4xMzk5OTkzIC0yLjY0LDYuNzQ5OTk5NiAwLDAuNjggMC4wNywxLjM1IDAuMiwyIGggNy40OSBNIDIxLjgsOS45OTk5OTk3IEggMTQuMzEwMDAxIEwgMTQuNjAwMDAxLDEwLjUgMTkuMzYsMTguNzUgQyAyMSwxNi45NyAyMiwxNC42IDIyLDEyIDIyLDExLjMxIDIxLjkzLDEwLjY0IDIxLjgsOS45OTk5OTk3IG0gLTAuMjYsLTEgQyAyMC42Miw2LjA3MDAwMDUgMTguMzksMy43NDAwMDAyIDE1LjU1MDAwMSwyLjY2MDAwMDIgTCAxMS44OCw4Ljk5OTk5OTcgTSA5LjQwMDAwMDMsMTAuNSAxNC4xNzAwMDEsMi4yNDAwMDAyIGMgLTAuNywtMC4xNSAtMS40MjAwMDEsLTAuMjQgLTIuMTcwMDAxLC0wLjI0IC0yLjM5OTk5OTcsMCAtNC41OTk5OTk3LDAuODQgLTYuMzE5OTk5NywyLjI1MDAwMDMgbCAzLjY2LDYuMzQ5OTk5NSB6IgogICAgICAgaWQ9InBhdGgyIgogICAgICAgaW5rc2NhcGU6bGFiZWw9IklyaXMiCiAgICAgICBzdHlsZT0iZmlsbC1vcGFjaXR5OjAuMDU7ZmlsbDojZmZmZmZmIiAvPgogIDwvZz4KPC9zdmc+Cg==");\n background-size: 10%;\n background-position: center;\n}\n\n:host {\n display: block;\n height: 100%;\n width: 100%;\n position: relative;\n}\n\n.hidden {\n display: none;\n}\n\nha-icon {\n position: absolute;\n top: 10px;\n right: 10px;\n color: var(--primary-color);\n}')}};n([d({attribute:!1})],G.prototype,"hass",void 0),n([d({attribute:!1})],G.prototype,"cameraConfig",void 0),n([d({attribute:!1})],G.prototype,"cameraEndpoints",void 0),n([d({attribute:!1})],G.prototype,"liveConfig",void 0),n([d({attribute:!0,type:Boolean})],G.prototype,"load",void 0),n([d({attribute:!1})],G.prototype,"label",void 0),n([d({attribute:!1})],G.prototype,"cardWideConfig",void 0),n([d({attribute:!1})],G.prototype,"microphoneStream",void 0),n([d({attribute:!1})],G.prototype,"zoomSettings",void 0),n([g()],G.prototype,"_isVideoMediaLoaded",void 0),G=n([c("frigate-card-live-provider")],G);const W="frigate-card-live-provider";let U=class extends h{constructor(){super(...arguments),this._cameraToSlide={},this._refPTZControl=l(),this._refCarousel=l(),this._mediaActionsController=new E,this._mediaHasLoaded=!1}connectedCallback(){super.connectedCallback(),this.requestUpdate()}disconnectedCallback(){this._mediaActionsController.destroy(),super.disconnectedCallback()}_getTransitionEffect(){return this.overriddenLiveConfig?.transition_effect??m.live.transition_effect}_getSelectedCameraIndex(){if(this.viewFilterCameraID)return 0;const e=this.cameraManager?.getStore().getCameraIDsWithCapability("live"),i=this.viewManagerEpoch?.manager.getView();return e?.size&&i?Math.max(0,Array.from(e).indexOf(i.camera)):0}willUpdate(e){(e.has("microphoneManager")||e.has("overriddenLiveConfig"))&&this._mediaActionsController.setOptions({playerSelector:W,...this.overriddenLiveConfig?.auto_play&&{autoPlayConditions:this.overriddenLiveConfig.auto_play},...this.overriddenLiveConfig?.auto_pause&&{autoPauseConditions:this.overriddenLiveConfig.auto_pause},...this.overriddenLiveConfig?.auto_mute&&{autoMuteConditions:this.overriddenLiveConfig.auto_mute},...this.overriddenLiveConfig?.auto_unmute&&{autoUnmuteConditions:this.overriddenLiveConfig.auto_unmute},...(this.overriddenLiveConfig?.auto_unmute||this.overriddenLiveConfig?.auto_mute)&&{microphoneManager:this.microphoneManager,microphoneMuteSeconds:this.overriddenLiveConfig.microphone.mute_after_microphone_mute_seconds}})}_getPlugins(){return[N({...this.overriddenLiveConfig?.lazy_load&&{lazyLoadCallback:(e,i)=>this._lazyloadOrUnloadSlide("load",e,i)},lazyUnloadConditions:this.overriddenLiveConfig?.lazy_unload,lazyUnloadCallback:(e,i)=>this._lazyloadOrUnloadSlide("unload",e,i)}),x(),T()]}_getLazyLoadCount(){return!1===this.overriddenLiveConfig?.lazy_load?null:0}_getSlides(){if(!this.cameraManager)return[[],{}];const e=this.viewManagerEpoch?.manager.getView(),i=this.viewFilterCameraID?new Set([this.viewFilterCameraID]):this.cameraManager?.getStore().getCameraIDsWithCapability("live"),t=[],a={};for(const[r,o]of this.cameraManager.getStore().getCameraConfigEntries(i)){const i=this._getSubstreamCameraID(r,e),s=r===i?o:this.cameraManager?.getStore().getCameraConfig(i),n=s?this._renderLive(i,s):null;n&&(a[r]=t.length,t.push(n))}return[t,a]}_setViewHandler(e){const i=this.cameraManager?.getStore().getCameraIDsWithCapability("live");i?.size&&e.detail.index!==this._getSelectedCameraIndex()&&this._setViewCameraID([...i][e.detail.index])}_setViewCameraID(e){e&&this.viewManagerEpoch?.manager.setViewByParametersWithNewQuery({params:{camera:e}})}_lazyloadOrUnloadSlide(e,i,t){t instanceof HTMLSlotElement&&(t=t.assignedElements({flatten:!0})[0]);const a=t?.querySelector(W);a&&(a.load="load"===e)}_renderLive(e,i){if(!(this.overriddenLiveConfig&&this.nonOverriddenLiveConfig&&this.hass&&this.cameraManager&&this.conditionsManagerEpoch))return;let t=null;try{t=w(this.conditionsManagerEpoch.manager,{live:this.nonOverriddenLiveConfig},{configOverrides:this.overrides,stateOverrides:{camera:e},schema:b}).live}catch(e){return y(this,e)}const a=this.cameraManager.getCameraMetadata(e),r=this.viewManagerEpoch?.manager.getView();return u` -

- this.cameraManager?.getCameraEndpoints(e)??void 0))} - .label=${a?.title??""} - .liveConfig=${t} - .hass=${this.hass} - .cardWideConfig=${this.cardWideConfig} - .zoomSettings=${r?.context?.zoom?.[e]?.requested} - @frigate-card:zoom:change=${i=>L(i,this.viewManagerEpoch?.manager,e)} - > - -
- `}_getCameraIDsOfNeighbors(){const e=this.cameraManager?[...this.cameraManager?.getStore().getCameraIDsWithCapability("live")]:[],i=this.viewManagerEpoch?.manager.getView();if(this.viewFilterCameraID||e.length<=1||!i||!this.hass)return[null,null];const t=this.viewFilterCameraID??i.camera,a=e.indexOf(t);return a<0?[null,null]:[e[a>0?a-1:e.length-1],e[a+11,[r,o]=this._getCameraIDsOfNeighbors(),s=r?this.cameraManager.getCameraMetadata(this._getSubstreamCameraID(r,e)):null,n=o?this.cameraManager.getCameraMetadata(this._getSubstreamCameraID(o,e)):null,d=!(!this._mediaHasLoaded||this.viewFilterCameraID&&this.viewFilterCameraID!==e.camera||!1===e.context?.ptzControls?.enabled)&&e.context?.ptzControls?.enabled;return u` - {this._mediaHasLoaded=!0}} - @frigate-card:media:unloaded=${()=>{this._mediaHasLoaded=!1}} - > - {this._setViewCameraID(r),A(e)}} - > - - ${i} - {this._setViewCameraID(o),A(e)}} - > - - - - - `}_setMediaTarget(){const e=this.viewManagerEpoch?.manager.getView(),i=this._getSelectedCameraIndex();this.viewFilterCameraID?this._mediaActionsController.setTarget(i,e?.camera===this.viewFilterCameraID):this._mediaActionsController.setTarget(i,!0)}updated(e){super.updated(e);let i=!1;!this._mediaActionsController.hasRoot()&&this._refCarousel.value&&(this._mediaActionsController.initialize(this._refCarousel.value),i=!0),(i||e.has("viewManagerEpoch"))&&this._setMediaTarget()}static get styles(){return M(":host {\n display: block;\n --video-max-height: none;\n}\n\n:host(:not([grid-id])) {\n height: 100%;\n}\n\n:host([unselected]) frigate-card-carousel {\n pointer-events: none;\n}\n\n.embla__slide {\n display: flex;\n justify-content: center;\n height: 100%;\n flex: 0 0 100%;\n}")}};n([d({attribute:!1})],U.prototype,"hass",void 0),n([d({attribute:!1})],U.prototype,"viewManagerEpoch",void 0),n([d({attribute:!1})],U.prototype,"nonOverriddenLiveConfig",void 0),n([d({attribute:!1})],U.prototype,"overriddenLiveConfig",void 0),n([d({attribute:!1,hasChanged:_})],U.prototype,"overrides",void 0),n([d({attribute:!1})],U.prototype,"conditionsManagerEpoch",void 0),n([d({attribute:!1})],U.prototype,"cardWideConfig",void 0),n([d({attribute:!1})],U.prototype,"cameraManager",void 0),n([d({attribute:!1})],U.prototype,"microphoneManager",void 0),n([d({attribute:!1})],U.prototype,"viewFilterCameraID",void 0),n([g()],U.prototype,"_mediaHasLoaded",void 0),U=n([c("frigate-card-live-carousel")],U);let B=class extends h{_renderCarousel(e){const i=this.viewManagerEpoch?.manager.getView(),t=e??i?.camera;return u` - - - `}_gridSelectCamera(e){this.viewManagerEpoch?.manager.setViewByParameters({params:{camera:e}})}_needsGrid(){const e=this.cameraManager?.getStore().getCameraIDsWithCapability("live"),i=this.viewManagerEpoch?.manager.getView();return!!i?.isGrid()&&!!i?.supportsMultipleDisplayModes()&&!!e&&e.size>1}willUpdate(e){e.has("viewManagerEpoch")&&this._needsGrid()&&import("./media-grid-cff66b0b.js")}render(){if(!this.conditionsManagerEpoch||!this.nonOverriddenLiveConfig)return;const e=this.cameraManager?.getStore().getCameraIDsWithCapability("live");return e?.size&&this._needsGrid()?u` - this._gridSelectCamera(e.detail.selected)} - > - ${[...e].map((e=>this._renderCarousel(e)))} - - `:this._renderCarousel()}static get styles(){return M(":host {\n width: 100%;\n height: 100%;\n display: block;\n}\n\n@keyframes warning-pulse {\n 0% {\n border: solid 2px var(--frigate-card-triggered-color-1, rgba(0, 0, 0, 0));\n }\n 50% {\n border: solid 2px var(--frigate-card-triggered-color-2, var(--warning-color));\n }\n 100% {\n border: solid 2px var(--frigate-card-triggered-color-1, rgba(0, 0, 0, 0));\n }\n}\nfrigate-card-live-carousel[triggered] {\n animation: warning-pulse 5s infinite;\n}\n\nfrigate-card-live-carousel[selected] {\n --frigate-card-triggered-color-1: var(--primary-color);\n}")}};n([d({attribute:!1})],B.prototype,"hass",void 0),n([d({attribute:!1})],B.prototype,"viewManagerEpoch",void 0),n([d({attribute:!1})],B.prototype,"nonOverriddenLiveConfig",void 0),n([d({attribute:!1})],B.prototype,"overriddenLiveConfig",void 0),n([d({attribute:!1,hasChanged:_})],B.prototype,"overrides",void 0),n([d({attribute:!1})],B.prototype,"conditionsManagerEpoch",void 0),n([d({attribute:!1})],B.prototype,"cardWideConfig",void 0),n([d({attribute:!1})],B.prototype,"cameraManager",void 0),n([d({attribute:!1})],B.prototype,"microphoneManager",void 0),n([d({attribute:!1})],B.prototype,"triggeredCameraIDs",void 0),B=n([c("frigate-card-live-grid")],B);let V=class extends h{constructor(){super(...arguments),this._controller=new O(this)}shouldUpdate(e){return this._controller.shouldUpdate()}willUpdate(){this._controller.clearMessageReceived()}render(){if(this.hass&&this.nonOverriddenLiveConfig&&this.cameraManager)return u`${Z(this._controller.getRenderEpoch(),u` - - - `)}`}static get styles(){return M(j)}};n([d({attribute:!1})],V.prototype,"conditionsManagerEpoch",void 0),n([d({attribute:!1})],V.prototype,"hass",void 0),n([d({attribute:!1})],V.prototype,"viewManagerEpoch",void 0),n([d({attribute:!1})],V.prototype,"nonOverriddenLiveConfig",void 0),n([d({attribute:!1})],V.prototype,"overriddenLiveConfig",void 0),n([d({attribute:!1,hasChanged:_})],V.prototype,"overrides",void 0),n([d({attribute:!1})],V.prototype,"cameraManager",void 0),n([d({attribute:!1})],V.prototype,"cardWideConfig",void 0),n([d({attribute:!1})],V.prototype,"microphoneManager",void 0),n([d({attribute:!1})],V.prototype,"triggeredCameraIDs",void 0),V=n([c("frigate-card-live")],V);var Y=Object.freeze({__proto__:null,get FrigateCardLive(){return V}});export{P as g,Y as i}; diff --git a/config/www/community/frigate-hass-card/index-3c9b9749.js.gz b/config/www/community/frigate-hass-card/index-3c9b9749.js.gz deleted file mode 100644 index 0a5cf6403471fa2372e7395ba89bc86ec8f180d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6887 zcmVx0uH#9jeYI6X+J#Bm1$gbb}D+o_-4?b%s zkfd!$DVso=vIocuBx%UWLybMafU!BYfdJvZUunj#*bqp%ySrV(jHJ;>8c8!FQ#u^! zhP99@G0BV(QLf^XigFE~mMCA~QxfG%d>W#Bg-=~n@nMQBd}yME4@GR_qbpkYkVOd} zJyE{Krz*;2d=5pqj?alGH}E+UpYSmj_$f-|u4o zj{T`pnP?`#&qaMSGibMG#j@#aCU&mtU6sTtl_GZ5FH1j@6%L#%D@3zshY}+fJFSVs0-qF2^H9vIz7)P|fRt55`BrpEAxc^6 z=y`3ds&+S@#@R@hd-=58){`_vB~?x_Px9XuYsPR8{4BwwNXoSI(WRk}q^@L9T}uez z(f;^DSgwrcGU*#Liv5MDj}4jRNJ`eh@JymyN>(o+Jft7RVGtHz6k%Q#fH^ zY4-H7s@!nnaja%95ygC@QiLTk4h(BB22m28)r46}>HI^&o3Y@VJ3^LRwyGxo66F-jfN3f#w zAxR`)1(Osq>JZhsf)KF=pPwVA`TV@McKts;JBulzGsS(wdgqr~@eqROy5z|9Wo!6< zV`5s)vRp2?R4()A|3ymxcSSpiJ*$wCr6Dn-7KR^dCfL%}0nALqiDBqQO4C~^OtHlw z%Fu}xTdeoh34`zW_G-D-7kDp6wy%VU*T zvGaT|2==xOg1A21AfrlcqUPg{c~kS2Dn$1?bT=Fsqyz4D0{uo_b(bd3AE0AMO=9LB z9+#3i)8yDlm1e+&G?l2uZI*}CBKUn^pNOm{5h9(MNa~mrR-gqA9-A`+aSfK>jExDy zZy$U;xILaT{BUgjlcV$DoWaN1KRmoMpa9OTI_BPe#Z`rHT*yLUFKsh!5;8!q^-u9_ zk0-dpTXwEs{8hea7)qA_hJL z`m~HKrLh4)8T~Unyi{}VCH_Bruwi--INUEdr~?iIOE{F~V zcalCjFHYRaB!WRMH5!|}1aC{g9+;se+lR{G=g-;CxCeIfCI1L>T^~wqm25{7p@{(- z>#UOfBy~7ZcQ$?6{i@W}(1)t632;Vk5E32aTGCnb-h zPP#20e0I?N3vO#VKBQ#(%a_B0!-FplLB2+|CKaWuT)eAiVE{&DOPxdd{ged3>>qtO zkZhd~eA!8G87dSqFcZ>q6BfBN)5p$s&9r7JY*ft=tgUO@$L2?gg@GS(FOcClEe5-U zyw>&qHvxa0@T`MJ0G1b~BH)e#fx@163RZg}N+4_VKanh35SE%?z~#<0WZ%?)7)65d zENWpC#=l};{d=z@Uj*-B?msDobfmFr)rp1M5;OmPQBOQE7-zfBxzy! z`yg#V$ow=Bx!ejE0hhUnPL)_1LcM=prZ*u*2|=An`T_q8>`mFoOh^hKy3_OL6nh!r z1^ltLnSu}hn~&1_1@St*evHuDw_iEpoV77$zUR4bdy(-tv|Dx7jGS2 z`rHIcAnY&%q_RhxStH4@CQT%&;zD8M`2Nz_rrPmNEG8EAc0Bj%{UUO2=_e#CZF^(V zD*VdD{NIU5zIx7l4uXOt*?tuB*g5ZCyJ!%46 zn*X*4N1`<;P>x2NUHS*}ud|h<<%t89*Z9}3r7K7`Fh`59C+#dhcD?|UD<`bKRk8)y z_B9Tu=L=F!SE@axD!9WPbh1GQzH{4MA**WE~-D4iI2;JArQ!`HMo|S?n&t znWl_%s##_b$88Rw4XF&a+tW2tw+tc;9lX`{4TwP|eG2zLRv?OWxRijGaipVDSK#h?-~F*vQbk24sH89#LU`7x!}ZuOIC(zOi&J_G^im zBV}8~7~6iD-XUQ%@vj_So5U9X)nc)>d!>?;byYWVv590PlF5+)8Hh1UuJ#MZD_A4l zq?q62Vlu(&q}6_djEH3AVw!G$Tm@j6PA)b!)I=P1t5S|Nd^9KBKc0r_aa%IUrvve_ zbac?Zn|77q?M%+9lXgE%tM!9vnVzccVQtbpSI5nHn%>@CpH~`PTK-W>-`^b$?(d!^ z?cvQ)d3ZP}_rLs6>_5$wq5Pk6@uVx=9U5}B)|1a~KCRH5Rr=-bf6mL(`$ji?QM%96 zN@r%dRGwD*WvkkNKc%x#xvO`}#nX8^dp(lRj|Ng>G-zjQAIzJLn#%dcG5?y#!)ves4+eNdKBr-rqv`!!ZKV7dpsvT&{tfkb z@a$C1_9n{yX|I{RolEE62km{3NxvKo%lHe@t@Tg#FG^SQYU64HPEChD2G}HRXTQ&y zr8I30zngM4nkSI+T*`WLY?i(cs&`jU?i_#A^!C1@$wQ`tA*{)Hv(D`S^gC(~t@(ZS z`?T2@eQIZqETA!~(St0=U|OS*aD4(iRT^jGi$*nF?cX1G@>IvteyxB1^HjYU)(&w! z)#?Y?i_*z{wQ(QGzmf&taelO4`KgSWKdyDanS+d`ku)K)wTIUeWtIUMshacy?4y5{ zsrKa;XyY0_n*tv%z@eUC{7QgSvaJ16Iolkve`)y-8}|#q&F-^LszVEXrSd~Hn+>!l)ohpazKu1s>4fR;*V3>y zjAlIpbH7eYB^~@@^{_TCAG&jP)~R;dQ_j0jwYeu_7?arw`0QX?Bh==Xvw439as#~E zY;UBT-*m5r-}_QlnYH(C$Br-Kwp~WO0#D^knVw88ZJsWFFkU>kbKq}~?p7Psacy2j zAMjKuon^|U!T6%YzE7*O=?r4eevO`%%B3@y|INHo!gw%vg70h$_&$TrGxj{McB}Lt z&3($53GpFa>ED}`#tG28>B1VCSLxIOm|3lUS_M4p&ocP>^r<>KNSDvjj0X4x$ldwGTEGYJG7NqTdfE*=d5iGG=Y!%G>%!D zUt!xJ@G-5F(4TdY*J*7wMY{lbg6{;r%jey04d!=IKdqIS47=t<{os)EHP|no0bb(@ z=5WSzQ9hfp@3tIJHz! z;|}JW)_ppXkMndF^;KnhJLB|$9?;E#{qJ+#A|GAgV_<^LKvs-Lv;)w^O~%&e%++nF z%=J<~IJhWI4^UsWKDv$i$zi2`#qF(Bg?WJt>nAt|TsPc~&|aJ|n4SP;26lun^%D!| zg3sl!ocAlHw`xP?vMWN&@0ZhDZ&hb(v`-7h$vAUI{ehnaT(qS#uGbmPqnxq%>$Zzv zlQ1va-Z)JC^wXNPKMS^d{uTTmZQe~`4XQKgXO*t?NyW?rb0g{J_2C7^;nL0LRbS<< z^U`$EggoLB@*T)c{wQ|y`FJQnHt8JF+f4fZw#b~9|JDAh`Lc6`npk9$i?vl<9xwtu zf;F~C(55)0iq-Rd_sAMVggw1cjJ~ChaJ11A z`(`-Y*xw^J5$?`m`7dF)Jk}BqN@5{dmO3N|>FjwjJ#9QUem(Y{9! zw?GJ7m+p?}ZdiB1_1!qHM@#d=^;2C}iKK;T;Jx=wgW|dUj#KpStan0PJ?`5H*?+?o zK#edaO7aoCf}Ajbrf-=C)ig(clk|_tg!CpwS{%|4NF6>t3WNkSo-SJ z8cq8`%~v`H?L`TeyGi`5?C9cz)pD9%^)f3?KJ$b8kW8=IBC0xrU-U-wa4M^XksE6~ zqM1r5K)}#vK#~s@O@kHwGz>}OF5|4zVYR)13t@di41;-~itlRJa*H*+WA}yX6 zhBQmzYZeJ2q*%SdMJGXR<^&I;TAnb#qmX;MXST39NrJe1+<`#OxPLH2{Za44!o(wKbK#wVW27J^Dy+U^fjHx~ z$+97bn}i_}h>v*#^g#>y*7M+F!62fRHw*r^K2VJbDw;x$y>g)8%V-bAW8O-sMC)2T z(c;x=n&1>;JXoRx#$s|!tb0Y|Ey6vfP7rfm+u|Y1eL-VgbaqQ@IB%}h9$-P!$A=)b zM`0NPgjqN>d+Tk`Mmn8cN(La}n=Lqx8kt^=i7|t)hV5olQg zlQfxt{rqTDD|J=3&QyXKAy$}zIv|UrU5zMqD@4x@Y`P$;WQ8&h=|{nRU&Jb;{)e16 zfi-a_980KJ{<;SDKdg*s>9+#*4x?9E6}8lD*}zWjVtuc#5G!B>PMhoJ{Ni=1vM_75 z*sF=hmN8pc`DtPUnxhnPfu@t&#NCp;{Q@8CP7?I9#1vT-l-KL&Pc-Eo8A`eKQeYY5 zQkE>a=c_}U@hU8QiObPJq!ZwVRs}1>3n+Z))7Uw~bL*YHDs*CB%*M&EtxBzyiAELo zZW_O?-=Fwy{tC=2-Y@nn&yxo#3L|PX45u92D^UssaC_M!MnbS_6$5lv?t^JWr~lqJ zSf1%*2_#&N=^wusBm*)p6e7ze`P)nH7gB*21r`eNco4ufCA zn!mQi>st${2l7~O_FP1Hp(a!ANm`fiy0Qwm`px!+HXKo-8Ff|dSds(v^&=Q0|MH7v z0Ir+A=+y8qsjVAkVx_=5sIUho^Lk78c+5d)-eKpoeoKd29Ucb1<}=UFd(?R!5q0b& zFzhXA{GXG=SZgzrg0tg-%z?PuFw3i!{+cfM=;a>BgY+$3kdm34!$>moC_?KWnXgVu z0lwtYk34@1XAJ%~)2YvrP*w%c`7s%@#o?>7-8CsY-YR?;PF8qaDji*(Rb?I*=r+eg-{GOds zuN>dlo3OCy`I4Go#~zmda<0I*GpriewULoEcS^VMRVXa;RRqk+HbR60Rls-1_A%AF z$SNe~5XE&h`d?Wf2m5fVeU0$PsDMBtR)FLwwb6p0)O0-x%e)4w}6lyxF0bK;FV_`4+S%XLJvUhe zL9+{?hGbwGw0q_w(ie^5;ru0T=LOky6sQK_OH%2aB-T)1Z&jrQF+ts{hgFUEt{qlY zxw%3$zWEM3nPhdo$)WU=bne6b*Vqg@k<&l|4_#OZNvb>w0w=d}f9`{S7;8=%@F>J0 zm!fkq&VG$0N$@vi%;3-||CWDc0v(m`OY;8Mv}k9>)<2L4l+K3k_Yo@>OT)ho%klM> z=r_Awq6ZK{`r8G0&H2twH1r(_h%m(>+ej<9);elrHz7oyXzfN~rwjL+a5;i=tG5eg z_)c(F)d#&+_{Khfu#ymZ&^K#u>z!4ExAiyNmz{<#;_ahP$Jc~Tu($F0Rvt0{>Nw^X zHa-E?+{k6S4G3886aKT84LMJUH3w|9eFY^b_I%*2+jXa=4(WA=svZG-1Gc^yHF_nu zNkU|Acw}O(3`fjBO0ml++-~VgXhnoyVhbS^V2yO4g>MDjAJA}H-Ghk&3whpaH*3LnA~n&tZhkhkAc^&BNXv#UHTYjG!R#`e;1DpAs;u zW7VP~m6UjBtm^Cp34z${65cX>%dFHstj#f;6vH>~43sUsPPf@_ zIRxKZ-(b?t>EfET7ChAY4WbU!jD)6FSmVmPsjffS*g}DhM><6(Oe{j9kSNd zs?1PY7fNec`uOL7%sRNf&Dc~jG^%xzqp@n*nPmF^_%jx3>jwV5P|VaJ&x~b9PjDUn{coE9{I}lmKDd+~ zIRlbLhY~Mt4a)h@j8U*-*!{RE{RXn`et}bciT(9;u^UqQ(_K^g)3>Dbr@tYkKmDyK z{pqVx`qQ_k^rx>+=}%vs(x1L5r4L|-a~2Q%bZwH3P7o9HQ=XvTzP?g6SlD`DA72N4 zLU-jSgM2ut;7{%Pa{;Gd)dw8?8?Au|zgh#axmY5qCW`&sNiz`|eDzmcMK?M}ZZ!ho z`K3eD-M19KVbAcUT>~Dr`hRoweOOzozmU6nF8qc~$ClfU*IfVavh{f7<^#~ei`Kyl z_iS4c;N>;!we=U?4)3oIMYnHvs<*pFv)i{sv)kVg&2E2dG`oFOG`oFuJh^>+5W9U- zD7xJ?6y2^1MHq!{g=0vWV)yxrb{{gWRL3A>P7;e&i&1a2_{}?7@^_98$-2Vo=3JA$ h#UJe_PwekNxa5C}1N$2m=<@j8{{tUeMEN3O002j|sX4J+g%lQz)Ukv#^YHvf*DR{?>kYlX^RTa9m9 zP7Rr#tDUAa#4t28r(SqiI=EGK$nKQKmCr7v zMHs?+?XA>V2HckN-Ws&GYCi2-F-`a1hwf%E9EhgLIIBB1H?(zYYG#*Lk)SL;X2^eK zD0i;Qs983!e.hasSelectedResult()}}))}async _setURL(){const e=this.media?.getContentID();if(!this.media||!e||!this.hass||this.viewerConfig?.lazy_load&&!this.load)return;let i=this.resolvedMediaCache?.get(e)??null;if(i||(i=await l(this.hass,e,this.resolvedMediaCache)),!i)return;const t=i.url;if(g(t))return void(this._url=h(this.hass,t));const a=this.cameraManager?.getStore().getCamera(this.media.getCameraID()),r=a?.getProxyConfig();if(r&&c(this.hass,r,"media")){if(r.dynamic){const e=t.split(/#/)[0];await u(this.hass,e,{sslVerification:r.ssl_verification,sslCiphers:r.ssl_ciphers,openLimit:0})}try{this._url=await m(this.hass,v(t))}catch(e){C(e)}}else this._url=t}willUpdate(e){if((e.has("load")||e.has("media")||e.has("viewerConfig")||e.has("resolvedMediaCache")||e.has("hass"))&&this._setURL().then((()=>{this.requestUpdate()})),e.has("viewerConfig")&&this.viewerConfig?.zoomable&&import("./zoomer-85596cd4.js"),e.has("media")||e.has("cameraManager")){const e=this.media?.getCameraID(),i=e?this.cameraManager?.getStore().getCameraConfig(e):null;S(this,i?.dimensions?.layout),this.style.aspectRatio=p({ratio:i?.dimensions?.aspect_ratio})}}_useZoomIfRequired(e){if(!this.media)return e;const i=this.media.getCameraID(),t=this.media.getID()??void 0,a=this.cameraManager?.getStore().getCameraConfig(i),r=this.viewManagerEpoch?.manager.getView();return this.viewerConfig?.zoomable?w` a?.dimensions?.layout?{pan:a.dimensions.layout.pan,zoom:a.dimensions.layout.zoom}:void 0))} - .settings=${t?r?.context?.zoom?.[t]?.requested:void 0} - @frigate-card:zoom:zoomed=${()=>this.setControls(!1)} - @frigate-card:zoom:unzoomed=${()=>this.setControls()} - @frigate-card:zoom:change=${e=>I(e,this.viewManagerEpoch?.manager,t)} - > - ${e} - `:e}render(){if(this.load&&this.media&&this.hass&&this.viewerConfig)return this._url?this._useZoomIfRequired(w` - ${n.isVideo(this.media)?this.media.getVideoContentType()===Q.HLS?w` - `:w` - - `:w`{this.viewerConfig?.snapshot_click_plays_clip&&this._switchToRelatedClipView()}} - @load=${e=>{y(this,e,{player:this,technology:["jpg"]})}} - />`} - `):f({cardWideConfig:this.cardWideConfig})}static get styles(){return D(':host {\n background-color: var(--primary-background-color);\n background-position: center;\n background-repeat: no-repeat;\n background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4yLjIgKGIwYTg0ODY1NDEsIDIwMjItMTItMDEpIgogICBzb2RpcG9kaTpkb2NuYW1lPSJjYW1lcmEtaXJpcy5zdmciCiAgIGlkPSJzdmc0IgogICB2ZXJzaW9uPSIxLjEiCiAgIHZpZXdCb3g9IjAgMCAyNCAyNCIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9Im5hbWVkdmlldzYiCiAgICAgcGFnZWNvbG9yPSIjYjkzZTNlIgogICAgIGJvcmRlcmNvbG9yPSIjMDAwMDAwIgogICAgIGJvcmRlcm9wYWNpdHk9IjAuMjUiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuNjA3ODQzMTQiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6ZGVza2NvbG9yPSIjZDFkMWQxIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIyNi42MjUwNiIKICAgICBpbmtzY2FwZTpjeD0iLTEuOTM0MjY4IgogICAgIGlua3NjYXBlOmN5PSIxNS42ODA3MTYiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIzODQwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjE1MjciCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjEwODAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjIyNyIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzQiIC8+CiAgPGcKICAgICBpZD0iZzExMTkiCiAgICAgc3R5bGU9ImZpbGwtb3BhY2l0eTowLjA1O2ZpbGw6I2ZmZmZmZiI+CiAgICA8Y2lyY2xlCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjA1O3N0cm9rZS13aWR0aDoxLjM5NzI5IgogICAgICAgaWQ9InBhdGgxNzAiCiAgICAgICBjeD0iMTIiCiAgICAgICBjeT0iMTIiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iV2hpdGUgQmFja2dyb3VuZCIKICAgICAgIHI9IjExLjI1IiAvPgogICAgPHBhdGgKICAgICAgIGQ9Ik0gMTMuNzMwMDAxLDE1IDkuODMwMDAwMywyMS43NiBDIDEwLjUzLDIxLjkxIDExLjI1LDIyIDEyLDIyIGMgMi40MDAwMDEsMCA0LjYsLTAuODUgNi4zMiwtMi4yNSBMIDE0LjY2MDAwMSwxMy40IE0gMi40NjAwMDAzLDE1IGMgMC45MiwyLjkyIDMuMTUsNS4yNiA1Ljk5LDYuMzQgTCAxMi4xMiwxNSBtIC0zLjU3OTk5OTcsLTMgLTMuOSwtNi43NDk5OTk2IGMgLTEuNjQsMS43NDk5OTkgLTIuNjQsNC4xMzk5OTkzIC0yLjY0LDYuNzQ5OTk5NiAwLDAuNjggMC4wNywxLjM1IDAuMiwyIGggNy40OSBNIDIxLjgsOS45OTk5OTk3IEggMTQuMzEwMDAxIEwgMTQuNjAwMDAxLDEwLjUgMTkuMzYsMTguNzUgQyAyMSwxNi45NyAyMiwxNC42IDIyLDEyIDIyLDExLjMxIDIxLjkzLDEwLjY0IDIxLjgsOS45OTk5OTk3IG0gLTAuMjYsLTEgQyAyMC42Miw2LjA3MDAwMDUgMTguMzksMy43NDAwMDAyIDE1LjU1MDAwMSwyLjY2MDAwMDIgTCAxMS44OCw4Ljk5OTk5OTcgTSA5LjQwMDAwMDMsMTAuNSAxNC4xNzAwMDEsMi4yNDAwMDAyIGMgLTAuNywtMC4xNSAtMS40MjAwMDEsLTAuMjQgLTIuMTcwMDAxLC0wLjI0IC0yLjM5OTk5OTcsMCAtNC41OTk5OTk3LDAuODQgLTYuMzE5OTk5NywyLjI1MDAwMDMgbCAzLjY2LDYuMzQ5OTk5NSB6IgogICAgICAgaWQ9InBhdGgyIgogICAgICAgaW5rc2NhcGU6bGFiZWw9IklyaXMiCiAgICAgICBzdHlsZT0iZmlsbC1vcGFjaXR5OjAuMDU7ZmlsbDojZmZmZmZmIiAvPgogIDwvZz4KPC9zdmc+Cg==");\n background-size: 10%;\n background-position: center;\n}\n\n:host {\n display: block;\n width: 100%;\n height: 100%;\n}\n\nimg,\nvideo,\nfrigate-card-ha-hls-player {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n object-view-box: inset(var(--frigate-card-media-layout-view-box-top, 0%) var(--frigate-card-media-layout-view-box-right, 0%) var(--frigate-card-media-layout-view-box-bottom, 0%) var(--frigate-card-media-layout-view-box-left, 0%));\n}\n\nfrigate-card-progress-indicator {\n padding: 30px;\n box-sizing: border-box;\n}')}};e([i({attribute:!1})],q.prototype,"hass",void 0),e([i({attribute:!1})],q.prototype,"viewManagerEpoch",void 0),e([i({attribute:!1})],q.prototype,"media",void 0),e([i({attribute:!1})],q.prototype,"viewerConfig",void 0),e([i({attribute:!1})],q.prototype,"resolvedMediaCache",void 0),e([i({attribute:!1})],q.prototype,"load",void 0),e([i({attribute:!1})],q.prototype,"cameraManager",void 0),e([i({attribute:!1})],q.prototype,"cardWideConfig",void 0),e([t()],q.prototype,"_url",void 0),q=e([a("frigate-card-viewer-provider")],q);let H=class extends r{constructor(){super(...arguments),this.showControls=!0,this._selected=0,this._media=null,this._mediaActionsController=new O,this._player=null,this._refCarousel=s()}updated(e){super.updated(e),e.has("viewManagerEpoch")&&this.viewManagerEpoch?.manager.getView()?.context?.mediaViewer!==this.viewManagerEpoch?.oldView?.context?.mediaViewer&&this._seekHandler(),!this._mediaActionsController.hasRoot()&&this._refCarousel.value&&this._mediaActionsController.initialize(this._refCarousel.value)}connectedCallback(){super.connectedCallback(),this.requestUpdate()}disconnectedCallback(){this._mediaActionsController.destroy(),super.disconnectedCallback()}_getTransitionEffect(){return this.viewerConfig?.transition_effect??k.media_viewer.transition_effect}_getPlugins(){return[R({...this.viewerConfig?.lazy_load&&{lazyLoadCallback:(e,i)=>this._lazyloadSlide(i)}}),U(),Y()]}_getMediaNeighbors(){const e=this._media?.length??0;if(!this._media)return null;const i=this._selected>0?this._selected-1:null,t=this._selected+1{if(!i||!this._media)return;const t=("previous"===e?i.previous?.index:i.next?.index)??null;null!==t&&this._setViewSelectedIndex(t)},a=N(this),r="ltr"===a&&"left"===e||"rtl"===a&&"right"===e?"previous":"next";return w` {t(r),z(e)}} - >`}render(){const e=this._media?.length??0;if(!this._media||!e)return $({message:L("common.no_media"),type:"info",icon:"mdi:multimedia",...this.viewFilterCameraID&&{context:{camera_id:this.viewFilterCameraID}}});const i=this._media[this._selected]??this._media[e-1];if(!this.hass||!this.cameraManager||!i)return;const t=this._getMediaNeighbors(),a=this.viewManagerEpoch?.manager.getView();return w` - {this._setViewSelectedIndex(e.detail.index)}} - @frigate-card:media:loaded=${e=>{this._player=e.detail.player??null,this._seekHandler()}} - @frigate-card:media:unloaded=${()=>{this._player=null}} - > - ${this.showControls?this._renderNextPrevious("left",t):""} - ${W([this._media,a],(()=>this._getSlides()))} - ${this.showControls?this._renderNextPrevious("right",t):""} - - ${a?w` - `:""} -
- - -
- `}async _seekHandler(){const e=this.viewManagerEpoch?.manager.getView(),i=e?.context?.mediaViewer?.seek;if(!(this.hass&&i&&this._media&&this._player))return;const t=this._media[this._selected];if(!t)return;const a=t.includesTime(i);T(this,!a,"unseekable"),a||this._player.isPaused()?a&&this._player.isPaused()&&this._player.play():this._player.pause();const r=await(this.cameraManager?.getMediaSeekTime(t,i))??null;null!==r&&this._player.seek(r)}_renderMediaItem(e){const i=this.viewManagerEpoch?.manager.getView();return this.hass&&i&&this.viewerConfig?w`
- -
`:null}static get styles(){return D(":host {\n position: relative;\n --video-max-height: none;\n}\n\n:host([unselected]) frigate-card-carousel,\n:host([unselected]) .seek-warning {\n pointer-events: none;\n}\n\n:host([unseekable]) frigate-card-carousel {\n filter: brightness(50%);\n}\n\n:host([unseekable]) .seek-warning {\n display: block;\n}\n\n.seek-warning {\n display: none;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translateX(-50%) translateY(-50%);\n color: white;\n}\n\n.embla__slide {\n height: 100%;\n flex: 0 0 100%;\n}")}};e([i({attribute:!1})],H.prototype,"hass",void 0),e([i({attribute:!1})],H.prototype,"viewManagerEpoch",void 0),e([i({attribute:!1})],H.prototype,"viewFilterCameraID",void 0),e([i({attribute:!1,hasChanged:j})],H.prototype,"viewerConfig",void 0),e([i({attribute:!1})],H.prototype,"resolvedMediaCache",void 0),e([i({attribute:!1})],H.prototype,"cardWideConfig",void 0),e([i({attribute:!1})],H.prototype,"cameraManager",void 0),e([i({attribute:!1})],H.prototype,"showControls",void 0),e([t()],H.prototype,"_selected",void 0),H=e([a("frigate-card-viewer-carousel")],H);let X=class extends r{_renderCarousel(e){const i=this.viewManagerEpoch?.manager.getView()?.camera;return w` - - - `}willUpdate(e){e.has("viewManagerEpoch")&&this._needsGrid()&&import("./media-grid-adc03f7c.js")}_needsGrid(){const e=this.viewManagerEpoch?.manager.getView(),i=e?.queryResults?.getCameraIDs();return!!e?.isGrid()&&!!e?.supportsMultipleDisplayModes()&&(i?.size??0)>1}_gridSelectCamera(e){const i=this.viewManagerEpoch?.manager.getView();this.viewManagerEpoch?.manager.setViewByParameters({params:{camera:e,queryResults:i?.queryResults?.clone().promoteCameraSelectionToMainSelection(e)}})}render(){const e=this.viewManagerEpoch?.manager.getView(),i=e?.queryResults?.getCameraIDs();return i&&this._needsGrid()?w` - this._gridSelectCamera(e.detail.selected)} - > - ${[...i].map((e=>this._renderCarousel(e)))} - - `:this._renderCarousel()}static get styles(){return D(E)}};e([i({attribute:!1})],X.prototype,"hass",void 0),e([i({attribute:!1})],X.prototype,"viewManagerEpoch",void 0),e([i({attribute:!1})],X.prototype,"viewerConfig",void 0),e([i({attribute:!1})],X.prototype,"resolvedMediaCache",void 0),e([i({attribute:!1})],X.prototype,"cardWideConfig",void 0),e([i({attribute:!1})],X.prototype,"cameraManager",void 0),X=e([a("frigate-card-viewer-grid")],X);let J=class extends r{render(){if(this.hass&&this.viewManagerEpoch&&this.viewerConfig&&this.cameraManager&&this.cardWideConfig){if(!this.viewManagerEpoch.manager.getView()?.queryResults?.hasResults()){const e=!!this.viewManagerEpoch.manager.getView()?.context?.loading?.query;return $({type:"info",message:L(e?"error.awaiting_media":"common.no_media"),icon:"mdi:multimedia",dotdotdot:e})}return w` - `}}static get styles(){return D(":host {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n gap: 5px;\n}\n\nfrigate-card-viewer-carousel {\n flex: 1;\n min-height: 0;\n}")}};e([i({attribute:!1})],J.prototype,"hass",void 0),e([i({attribute:!1})],J.prototype,"viewManagerEpoch",void 0),e([i({attribute:!1})],J.prototype,"viewerConfig",void 0),e([i({attribute:!1})],J.prototype,"resolvedMediaCache",void 0),e([i({attribute:!1})],J.prototype,"cameraManager",void 0),e([i({attribute:!1})],J.prototype,"cardWideConfig",void 0),J=e([a("frigate-card-viewer")],J);export{J as FrigateCardViewer}; diff --git a/config/www/community/frigate-hass-card/index-5de5f421.js.gz b/config/www/community/frigate-hass-card/index-5de5f421.js.gz deleted file mode 100644 index db72ad0bfe0aaa1c0b0c089077da671b5a14a6d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6511 zcmV-#8Ia~5iwFoFf?;O@|7mVyWq2($WMwsGG%_(RYI6Y1JZX30$gbb#R}kLZTyxsc zK$ht^O_&5oLT(@nWFyljZR`pZcwua_Cj9p&Re1$NmY#dgotYlvs**}2sU%fNZmJJV z%XxW9$aaE=20p0R#)l(1_>e^zAC{=p@M()G#iuE%J$xFXx{FU$RQveUL{-CQM^tru zc14vTRYY}w&!MRPjZa-vEqsnd^$&cOMCAgX195_nv8deQvnr}xd_IfH6+UaCYU6V% zs*JiPQ61v5Evh4Y9*PWWSyZm^*%Os2KKr6N#^*$2&`nXf!)IMo?(sPjl}mj7E;8EB zMWuz$OHpBbsmz}(Q%`2TDzc@fxAIw8ZSU@8dUkT3GWJ1NS59{|J3Y|kDY4S++};k6 zgY3tN6mWXrkbbexEc_=d<>dM7IQI2IYBFT_K9Tyyr{aG5-Kl&I7m$d1xYYji}? z#Ij5)t?X{^wYR@z!;>-@9C=XkP^D&CdES!$*pcP%IL7QNZ=6n4DyNmbY%ZVumS^KM z;w1hqD4J}8o=hBKfE=tB#WZZk8Y+%y38@!*I3Sjg$z)`!Gt`OU*eTKJQahuWvRc^4 z@s}ryJRe)MBRix7{H)(IU>!G7|qNsXq2%aU&~jtfOhY z25^d9w%UaB1(JH9&+k*N)JK+T_gSmeptHHw}k7*R4N7NC8monl6D(P!F2syWm^(W9PS;tu}rC|V}K{!2>6 zjEtvc9pW?;ix9)^n$FGj`9~?|hV^~)FVD4hdl$|1$|uG9f<>0bbY^TzkwQ-5$sSX1 zq)qdhXh6MM(&*q8#0|_~-Yr22z6#W21MpdufvI%CO7S;b8VA@1h2G$Fcfn6?Zi0fb zH$~QoCA-jW8}qT7n+8a>GJ>5V1g)vfO%;47VeMB#Vo?IBocSAmO;ag%H|%rjXu<8s zD4J;yBm(twL@cLi;#zDE0rmi?{_Ex@lb`U$>TJHcqv@q=!7?0T*>}|GRwmR2)$bs> zsqiwuPFs3GJW`UaA}KPuBs%9mDifj%AyBv&I21^iUTmTf#knT-P;;ags!9O|kkD!w zjq1pxY9c!qEz{pv5R#IQ6ce0WMN9Q3Y@R7-zHPeCC*t;c_lQhCAtcdVlKeSs8d7MsS*-Y#vW*( znqU9#Yw9ukW1ll-7-7tdZELrn%Fk4hQK2MIRa<)+g_=ZYDA7R|RMzcP_?u`Bh;dGJ z>PXpnYVKImmw-cjGCefe2-!JTFy2PDRf7M`=R~tfB7kz{W2$L40~KtD>)QmTp+XY% zBAI%9bzj}J`|n|`3NYIdK2VVP z6L`%QEWP@C4IHHw_+c*NkkRlq9Pusls;weAh1I4`eE(i_IY4piz1v5HJ$$^pi{qb( z@6X(sr`eI0OZ~Tm|4&9G&oUU?264~{*oEI;?u17 z5oe9<#E!Yd*##RjOqU%HEVjIV#y@}a2*VhN1$p5Zs2JTMtl#z6&FKL4L7`B% z%AB4zKwYES8o7!Iaez-&d+W>*kq7=GYnnMulZhFNQMRa@*5o$P3d!GJqC_{TqY>QN z$>cn_09TYD7($F7*^S)doZb;*p_!c#7upbqO%072WTD5w=|4sly0YH`XShff6T3G6 ze=iOwdW3s}!pgC9aEd}7MBWxuG$K^cR9}7k@fhQq3yli`kDMfyxHjY3j3Ok=8>LwgzXdgb~xF)=fRR)MH+9FQThkhyVsAsI)uVAZkF#3Ito z&0E0(5Rbvfu9_q?!Ib-W2>!SpuoHu*$OE}eAzp-Ijf9tw7_9K)vb2#EK}`?w-cvgA z=S$5+hbUdc)XdIQdQ5_5C4bCgX&9N>P$#|(MhpJLsEARYKV6RFp!VuPNSHh7Fn-j* z64ZCw99jxVz~MErKNAkv!a|bi{#SjlolJaP1pfY&^+ua<1AV7@=eL!6C319Lpzw41 z1Zhu(iH~-FcnkfhXjJLDoP3EC20pQkg}(=W+`Q`Ozn}?B6W8isM4ftr z&XPKPJ^0CAf2O2o;RS8l9dMSDD!CC~xDDWK2jWk5O_N}us~ud>l!bpwT@#|rm%ofe zqAe@^j%5xFHLU;sCA+ZTeB>^y}dp;Z+2+)w4Qyq+vz{tO-60~X0NL6jHs6gv6aJJdgKEd@R7*#* zcK&*xob2`G=Ahrs*M|>xIqkA>*2AZwR~-5NY@keca9&!Xhn?z))`xz4&$>ABt^2c? ze785eY*Z)by$T<9+8VU()lz$_vsdjMc50==X`TJ4GWy9$&TbpE-OxHngy?4nfdoX_}}(0X>;`mxix zyUxpZw_A)COh>LzcaUd&Ro66i_CUQp;GxmFtB=|zdsC2G@1fV9wVHK}(~WbUjTHSF zbRZZ5G$Nhjef-WmA{?IC&&Hv7VxB3jUUVC zi{h>K4!17KSF>94Y7I=?gg+MOByH!9r>%09w)A6L$;Z(1;Ue>`qA2fOY3o&z|hb-JAg9*pZWc3h7DP3O(Z z@S<7E)_M=y0Y9~&yjAZ#+#hKddVL4?Q@ydBzbGGW)tV2n^s9NW9VdHR=lANMb$V?A z%nW!mj>T!HK*#k+o#uc?njxQpe)KB2T2FZcH}2ue80dIo9LfpSKaE}Y7Qmp)o%Y@F zwtSZx5dF4~Yh1DZoMN15ZQ}~|^zlyXzPeX6>iO2}idIWt3xSTy6UCp0$$3_p)SCT3 z$G5I`+RU!B2JMrv(+1sp$ZJ{BG{@(?!`wxlweME*EuH;Kt6yB$Z!m89ke_HCF0_^E zsb;sDs85>RE}K0UN_X)r8;STr)aJTvHKs~wXTIj>IJTem~cmT}##qFjNdYOYET zN0%;5m#2)DVB87N*Uxrp&DyX&tDy~;oR=%PYPmnWD6{u*Z91NU@7b!;qjI%ef%V_a z&dcZz`V)9(bHMu)eoxu+q}Hj??JTz`6&w6R_PqCCpEnNy=S>Ip(5yzs4vd-B8%H&O z!~Q%Q-xyD7)9q}vl4Ur+E+7pvMib&KZSMdq_`yERR~y!vH#Y1e*q4VnXxlk2KMZTL zt4_0YI01P0GlqS3ww)`366i^kXidba9iZ13lB4&1->-j&VP z%-f-@%G&BBz&T@WGr$RSJY;ds`s@nZc7TrYc^U0l2WcJGr(@I$;3wElpu2j~>C|C; z7mcHOmGQ7+Uo^INI9>g%Y6ak$SFnZ(lSQ>MX74T^P&UYaXzRn62fNnnz}%n*)59t9 z4%V_$$KSZ_(smx^0GU*#?h|R5@Ok?)j_V;COUFsJgYv2|xm7rRzz2Bqp#NK3wn#?@ z=;+%ZGvF1Y5%mCMag%f9IrU{*u5!6Fwzn@z<873eE00dIakz8dyW;v*uEDy1hmAvA z1MVBHN2o8}9869yW(s;mg+g*EK(^@&!rNT-U+;*V z=YJW08KLMLYjxnLASK$Gsq`6wF;$%|;&Typ3GH+pzky+Z)0y~}!Om{*Tzwhx*+~)! zvyC~m^fPt514CpMUIoPOTyc=dZlz>uq{7ev1KvX6jZ9C(#7_2KsrLg+IY4+?Jn5y| z=0r+R!zPaK7A|jm+A#-W;yttb5EioSgD`E=aZLS#KpJ`G^Q1f-hyV>Nvttq4PE$k0 z443JOejuwVH9AsaD?6BQ{RCv7v8=IeS}Ingnb`>OMi>4dEnb zL@C3G&NmWeq1+K8_m;75qp&K|W@;)9i3bZ3wWNP48>)sW7I9-8H*f{lrs)WNmN&!z zuY74O0&0Nulr`{N!U_bbIS^|wVU=V}L$~IMI}_6*#^#j4^Tc6UOPUG@EOQDd`DF1p z=1+M4XUPV41C{4z7_d;J6ut3t{J~FzjV>1ZTn7 zL_v|H7w|=7B2kf%B!$R(q(A0!F#vM_%z%C2fjBWB4uH((Pj1PPSKCv?@wm++i+pcA zRtW#=Yfv-e*B<)Ts!$+H1vN!pTjiD=6}=j(3oD<`X9A*!h2L=Vf-v)l#0Pt@J$eOy1!RjjiPJh$R zMZK!ih^_Mdk&yHpZxY>Ak!HO2V#amE8G}iSy?F(ufd}@>1(*FRCdK7KohPJ4tB}+j z3ughjCh=g(W_*23T8`#5vx70GBp^&mA_YmW&TOfc413ew=(JlE;3i6Ka2kbBq0-87 zlZ*}KD>BkW#J6NzRYRx(0ZDlBNboT@-J#w#WQqkapm~qhk76hb?RAD~l08742#*5_ zrLNtZ44Z*RlFt1ImdC5NHMQ;F zq^R~Q?)mGt*qRIPbQUVN$f%awsTiKl#Hck6=&-uY;zp>JF*D$28eW>Y1Q#~GKSY1! z?m;Ni1_Q!PL6{cbID1tbUPCa(SvaowLt~F}0bI23(PNXuC-64KYU@SdNa?`#bPeBp z6=Hto;DtpItnPh-kB7f|o^<)}{>BVL!=EFlP6=OX`0xiIRam-IDTbrTi2L9+S#(lT zU|bM|Cu=TQQFhC3eHnORaagV&o0wbu=*$b&$rIm!U*ah*7ZnejS)|AY?ep8V8=#`K zIT?uE6>>{$%4)!{{z?voEim3+Q-<(;6h;s(i&|I(fFAq|FH)tW1iL9Ku(MElEL#RO zI>`XX_pY2qn-~-`ox7(f@BSei0L_yL99&=qRKa`uv_*7tM8X)qx+o8PRs$LQ_rjGs6>n5y4fm?^F*Ouz2wI9C4+=E3@5PVuLi{LuAG`6X zL*K|17pMw#Ep+g2gr#U3{}R`w$SQ=slUlCIXTG8VL@{a|i0T%?E^A>%_VuNenlGIZ zKXbzoz6y&9C$fKV^M$mR=xt4Yda}_L_`3Fe-AVDccT@l`5ggvi;r0*+5B?*y=@H7~ ztU+k#@@>8cu-p>@i%8Lfh%|-Rd}|-zj+FL!rhmcUEbyEQhVS>E z{FBAC6@kf6&N0Z!Sy&@MA`M<#c>gubPgddS>CFlxQ;-WI&KAxM{(a*kTA;%9JwTbpu_J!(5fy zpk8p`XU&c|kT5~XUeGTGZ!8=F52Z`|C)SzX3u%`A^cx;{0|RjDH^*J-_-x9A_baDu zDVO`K!RarNg@3&qa&mR5@ARXozSCbx^(_HM!~AvNSiD_gwb!cDi^cWcB;e__+0 znVEYV^aJU@2xK@qTTTW>hWZ{h7+I zUy;=CT4SJ*GWP{FQ{|t|3lzrC8JxMZse|1735n+?Quj0I&jfS7lHGChI7E!3c~&N{ zz*^`ge)@(`oN(}KO|vFb!+&MhPpK7mO8=w;5;R6biYx3xpe?Z%6aGza_zs0jZ{6jf zJ7n#to=qx+=kgEMOXBzL5xmi!u_wr3HP7%?f1Xt+wVW`+wb4u+wa%7UX&fW-FxnK&z9Wo(&xAf-`$4! z8*}hm^Y@QL7aB^FE~1Td<2f};Y;V>cA6BE z?5{q{uoF4}x|h^a%(Zp=Rkdn5{6C2>OBbKB2ubVB%*01Sj(5ispNb|v5KDX@lJHKZ ztC)1~bN>FL>YHV%{y7ZKIR0TLtx}7-DG3ivL)~Cq9U0GJtPXOyf^s2>aZi=(!e.hasSelectedResult()}}))}async _setURL(){const e=this.media?.getContentID();if(!this.media||!e||!this.hass||this.viewerConfig?.lazy_load&&!this.load)return;let i=this.resolvedMediaCache?.get(e)??null;if(i||(i=await l(this.hass,e,this.resolvedMediaCache)),!i)return;const t=i.url;if(g(t))return void(this._url=h(this.hass,t));const a=this.cameraManager?.getStore().getCamera(this.media.getCameraID()),r=a?.getProxyConfig();if(r&&c(this.hass,r,"media")){if(r.dynamic){const e=t.split(/#/)[0];await u(this.hass,e,{sslVerification:r.ssl_verification,sslCiphers:r.ssl_ciphers,openLimit:0})}try{this._url=await m(this.hass,v(t))}catch(e){p(e)}}else this._url=t}willUpdate(e){if((e.has("load")||e.has("media")||e.has("viewerConfig")||e.has("resolvedMediaCache")||e.has("hass"))&&this._setURL().then((()=>{this.requestUpdate()})),e.has("viewerConfig")&&this.viewerConfig?.zoomable&&import("./zoomer-37e20bdd.js"),e.has("media")||e.has("cameraManager")){const e=this.media?.getCameraID(),i=e?this.cameraManager?.getStore().getCameraConfig(e):null;S(this,i?.dimensions?.layout),this.style.aspectRatio=C({ratio:i?.dimensions?.aspect_ratio})}}_useZoomIfRequired(e){if(!this.media)return e;const i=this.media.getCameraID(),t=this.media.getID()??void 0,a=this.cameraManager?.getStore().getCameraConfig(i),r=this.viewManagerEpoch?.manager.getView();return this.viewerConfig?.zoomable?w` a?.dimensions?.layout?{pan:a.dimensions.layout.pan,zoom:a.dimensions.layout.zoom}:void 0))} - .settings=${t?r?.context?.zoom?.[t]?.requested:void 0} - @frigate-card:zoom:zoomed=${()=>this.setControls(!1)} - @frigate-card:zoom:unzoomed=${()=>this.setControls()} - @frigate-card:zoom:change=${e=>f(e,this.viewManagerEpoch?.manager,t)} - > - ${e} - `:e}render(){if(this.load&&this.media&&this.hass&&this.viewerConfig)return this._url?this._useZoomIfRequired(w` - ${n.isVideo(this.media)?this.media.getVideoContentType()===Q.HLS?w` - `:w` - - `:w`{this.viewerConfig?.snapshot_click_plays_clip&&this._switchToRelatedClipView()}} - @load=${e=>{y(this,e,{player:this,technology:["jpg"]})}} - />`} - `):I({cardWideConfig:this.cardWideConfig})}static get styles(){return D(':host {\n background-color: var(--primary-background-color);\n background-position: center;\n background-repeat: no-repeat;\n background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4yLjIgKGIwYTg0ODY1NDEsIDIwMjItMTItMDEpIgogICBzb2RpcG9kaTpkb2NuYW1lPSJjYW1lcmEtaXJpcy5zdmciCiAgIGlkPSJzdmc0IgogICB2ZXJzaW9uPSIxLjEiCiAgIHZpZXdCb3g9IjAgMCAyNCAyNCIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9Im5hbWVkdmlldzYiCiAgICAgcGFnZWNvbG9yPSIjYjkzZTNlIgogICAgIGJvcmRlcmNvbG9yPSIjMDAwMDAwIgogICAgIGJvcmRlcm9wYWNpdHk9IjAuMjUiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuNjA3ODQzMTQiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6ZGVza2NvbG9yPSIjZDFkMWQxIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIyNi42MjUwNiIKICAgICBpbmtzY2FwZTpjeD0iLTEuOTM0MjY4IgogICAgIGlua3NjYXBlOmN5PSIxNS42ODA3MTYiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIzODQwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjE1MjciCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjEwODAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjIyNyIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzQiIC8+CiAgPGcKICAgICBpZD0iZzExMTkiCiAgICAgc3R5bGU9ImZpbGwtb3BhY2l0eTowLjA1O2ZpbGw6I2ZmZmZmZiI+CiAgICA8Y2lyY2xlCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjA1O3N0cm9rZS13aWR0aDoxLjM5NzI5IgogICAgICAgaWQ9InBhdGgxNzAiCiAgICAgICBjeD0iMTIiCiAgICAgICBjeT0iMTIiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iV2hpdGUgQmFja2dyb3VuZCIKICAgICAgIHI9IjExLjI1IiAvPgogICAgPHBhdGgKICAgICAgIGQ9Ik0gMTMuNzMwMDAxLDE1IDkuODMwMDAwMywyMS43NiBDIDEwLjUzLDIxLjkxIDExLjI1LDIyIDEyLDIyIGMgMi40MDAwMDEsMCA0LjYsLTAuODUgNi4zMiwtMi4yNSBMIDE0LjY2MDAwMSwxMy40IE0gMi40NjAwMDAzLDE1IGMgMC45MiwyLjkyIDMuMTUsNS4yNiA1Ljk5LDYuMzQgTCAxMi4xMiwxNSBtIC0zLjU3OTk5OTcsLTMgLTMuOSwtNi43NDk5OTk2IGMgLTEuNjQsMS43NDk5OTkgLTIuNjQsNC4xMzk5OTkzIC0yLjY0LDYuNzQ5OTk5NiAwLDAuNjggMC4wNywxLjM1IDAuMiwyIGggNy40OSBNIDIxLjgsOS45OTk5OTk3IEggMTQuMzEwMDAxIEwgMTQuNjAwMDAxLDEwLjUgMTkuMzYsMTguNzUgQyAyMSwxNi45NyAyMiwxNC42IDIyLDEyIDIyLDExLjMxIDIxLjkzLDEwLjY0IDIxLjgsOS45OTk5OTk3IG0gLTAuMjYsLTEgQyAyMC42Miw2LjA3MDAwMDUgMTguMzksMy43NDAwMDAyIDE1LjU1MDAwMSwyLjY2MDAwMDIgTCAxMS44OCw4Ljk5OTk5OTcgTSA5LjQwMDAwMDMsMTAuNSAxNC4xNzAwMDEsMi4yNDAwMDAyIGMgLTAuNywtMC4xNSAtMS40MjAwMDEsLTAuMjQgLTIuMTcwMDAxLC0wLjI0IC0yLjM5OTk5OTcsMCAtNC41OTk5OTk3LDAuODQgLTYuMzE5OTk5NywyLjI1MDAwMDMgbCAzLjY2LDYuMzQ5OTk5NSB6IgogICAgICAgaWQ9InBhdGgyIgogICAgICAgaW5rc2NhcGU6bGFiZWw9IklyaXMiCiAgICAgICBzdHlsZT0iZmlsbC1vcGFjaXR5OjAuMDU7ZmlsbDojZmZmZmZmIiAvPgogIDwvZz4KPC9zdmc+Cg==");\n background-size: 10%;\n background-position: center;\n}\n\n:host {\n display: block;\n width: 100%;\n height: 100%;\n}\n\nimg,\nvideo,\nfrigate-card-ha-hls-player {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n object-view-box: inset(var(--frigate-card-media-layout-view-box-top, 0%) var(--frigate-card-media-layout-view-box-right, 0%) var(--frigate-card-media-layout-view-box-bottom, 0%) var(--frigate-card-media-layout-view-box-left, 0%));\n}\n\nfrigate-card-progress-indicator {\n padding: 30px;\n box-sizing: border-box;\n}')}};e([i({attribute:!1})],q.prototype,"hass",void 0),e([i({attribute:!1})],q.prototype,"viewManagerEpoch",void 0),e([i({attribute:!1})],q.prototype,"media",void 0),e([i({attribute:!1})],q.prototype,"viewerConfig",void 0),e([i({attribute:!1})],q.prototype,"resolvedMediaCache",void 0),e([i({attribute:!1})],q.prototype,"load",void 0),e([i({attribute:!1})],q.prototype,"cameraManager",void 0),e([i({attribute:!1})],q.prototype,"cardWideConfig",void 0),e([t()],q.prototype,"_url",void 0),q=e([a("frigate-card-viewer-provider")],q);let H=class extends r{constructor(){super(...arguments),this.showControls=!0,this._selected=0,this._media=null,this._mediaActionsController=new O,this._player=null,this._refCarousel=s()}updated(e){super.updated(e),e.has("viewManagerEpoch")&&this.viewManagerEpoch?.manager.getView()?.context?.mediaViewer!==this.viewManagerEpoch?.oldView?.context?.mediaViewer&&this._seekHandler(),!this._mediaActionsController.hasRoot()&&this._refCarousel.value&&this._mediaActionsController.initialize(this._refCarousel.value)}connectedCallback(){super.connectedCallback(),this.requestUpdate()}disconnectedCallback(){this._mediaActionsController.destroy(),super.disconnectedCallback()}_getTransitionEffect(){return this.viewerConfig?.transition_effect??k.media_viewer.transition_effect}_getPlugins(){return[R({...this.viewerConfig?.lazy_load&&{lazyLoadCallback:(e,i)=>this._lazyloadSlide(i)}}),U(),Y()]}_getMediaNeighbors(){const e=this._media?.length??0;if(!this._media)return null;const i=this._selected>0?this._selected-1:null,t=this._selected+1{if(!t||!this._media)return;const i=("previous"===e?t.previous?.index:t.next?.index)??null;null!==i&&this._setViewSelectedIndex(i)},r=this.viewManagerEpoch?.manager.getView();return w` - {this._setViewSelectedIndex(e.detail.index)}} - @frigate-card:media:loaded=${e=>{this._player=e.detail.player??null,this._seekHandler()}} - @frigate-card:media:unloaded=${()=>{this._player=null}} - > - ${this.showControls?w` {a("previous"),N(e)}} - >`:""} - ${W([this._media,r],(()=>this._getSlides()))} - ${this.showControls?w` {a("next"),N(e)}} - >`:""} - - ${r?w` - `:""} -
- - -
- `}async _seekHandler(){const e=this.viewManagerEpoch?.manager.getView(),i=e?.context?.mediaViewer?.seek;if(!(this.hass&&i&&this._media&&this._player))return;const t=this._media[this._selected];if(!t)return;const a=t.includesTime(i);$(this,!a,"unseekable"),a||this._player.isPaused()?a&&this._player.isPaused()&&this._player.play():this._player.pause();const r=await(this.cameraManager?.getMediaSeekTime(t,i))??null;null!==r&&this._player.seek(r)}_renderMediaItem(e){const i=this.viewManagerEpoch?.manager.getView();return this.hass&&i&&this.viewerConfig?w`
- -
`:null}static get styles(){return D(":host {\n position: relative;\n --video-max-height: none;\n}\n\n:host([unselected]) frigate-card-carousel,\n:host([unselected]) .seek-warning {\n pointer-events: none;\n}\n\n:host([unseekable]) frigate-card-carousel {\n filter: brightness(50%);\n}\n\n:host([unseekable]) .seek-warning {\n display: block;\n}\n\n.seek-warning {\n display: none;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translateX(-50%) translateY(-50%);\n color: white;\n}\n\n.embla__slide {\n height: 100%;\n flex: 0 0 100%;\n}")}};e([i({attribute:!1})],H.prototype,"hass",void 0),e([i({attribute:!1})],H.prototype,"viewManagerEpoch",void 0),e([i({attribute:!1})],H.prototype,"viewFilterCameraID",void 0),e([i({attribute:!1,hasChanged:x})],H.prototype,"viewerConfig",void 0),e([i({attribute:!1})],H.prototype,"resolvedMediaCache",void 0),e([i({attribute:!1})],H.prototype,"cardWideConfig",void 0),e([i({attribute:!1})],H.prototype,"cameraManager",void 0),e([i({attribute:!1})],H.prototype,"showControls",void 0),e([t()],H.prototype,"_selected",void 0),H=e([a("frigate-card-viewer-carousel")],H);let X=class extends r{_renderCarousel(e){const i=this.viewManagerEpoch?.manager.getView()?.camera;return w` - - - `}willUpdate(e){e.has("viewManagerEpoch")&&this._needsGrid()&&import("./media-grid-ef47501a.js")}_needsGrid(){const e=this.viewManagerEpoch?.manager.getView(),i=e?.queryResults?.getCameraIDs();return!!e?.isGrid()&&!!e?.supportsMultipleDisplayModes()&&(i?.size??0)>1}_gridSelectCamera(e){const i=this.viewManagerEpoch?.manager.getView();this.viewManagerEpoch?.manager.setViewByParameters({params:{camera:e,queryResults:i?.queryResults?.clone().promoteCameraSelectionToMainSelection(e)}})}render(){const e=this.viewManagerEpoch?.manager.getView(),i=e?.queryResults?.getCameraIDs();return i&&this._needsGrid()?w` - this._gridSelectCamera(e.detail.selected)} - > - ${[...i].map((e=>this._renderCarousel(e)))} - - `:this._renderCarousel()}static get styles(){return D(E)}};e([i({attribute:!1})],X.prototype,"hass",void 0),e([i({attribute:!1})],X.prototype,"viewManagerEpoch",void 0),e([i({attribute:!1})],X.prototype,"viewerConfig",void 0),e([i({attribute:!1})],X.prototype,"resolvedMediaCache",void 0),e([i({attribute:!1})],X.prototype,"cardWideConfig",void 0),e([i({attribute:!1})],X.prototype,"cameraManager",void 0),X=e([a("frigate-card-viewer-grid")],X);let J=class extends r{render(){if(this.hass&&this.viewManagerEpoch&&this.viewerConfig&&this.cameraManager&&this.cardWideConfig){if(!this.viewManagerEpoch.manager.getView()?.queryResults?.hasResults()){const e=!!this.viewManagerEpoch.manager.getView()?.context?.loading?.query;return P({type:"info",message:z(e?"error.awaiting_media":"common.no_media"),icon:"mdi:multimedia",dotdotdot:e})}return w` - `}}static get styles(){return D(":host {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n gap: 5px;\n}\n\nfrigate-card-viewer-carousel {\n flex: 1;\n min-height: 0;\n}")}};e([i({attribute:!1})],J.prototype,"hass",void 0),e([i({attribute:!1})],J.prototype,"viewManagerEpoch",void 0),e([i({attribute:!1})],J.prototype,"viewerConfig",void 0),e([i({attribute:!1})],J.prototype,"resolvedMediaCache",void 0),e([i({attribute:!1})],J.prototype,"cameraManager",void 0),e([i({attribute:!1})],J.prototype,"cardWideConfig",void 0),J=e([a("frigate-card-viewer")],J);export{J as FrigateCardViewer}; diff --git a/config/www/community/frigate-hass-card/index-76cab2a3.js.gz b/config/www/community/frigate-hass-card/index-76cab2a3.js.gz deleted file mode 100644 index 3c653503a2d9bb2a8cb762553e952b4a79c08282..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6434 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.onconnect())),this.ondisconnect()):(this.ondisconnect(),this.onconnect())}set src(e){"string"!=typeof e&&(e=e.toString()),e.startsWith("http")?e="ws"+e.substring(4):e.startsWith("/")&&(e="ws"+location.origin.substring(4)+e),this.wsURL=e,this.onconnect()}play(){}send(e){this.ws&&this.ws.send(JSON.stringify(e))}codecs(e){return this.CODECS.filter((e=>this.media.indexOf(e.indexOf("vc1")>0?"video":"audio")>=0)).filter((t=>e(`video/mp4; codecs="${t}"`))).join()}connectedCallback(){if(this.disconnectTID&&(clearTimeout(this.disconnectTID),this.disconnectTID=0),this.video){const e=this.video.seekable;e.length>0&&(this.video.currentTime=e.end(e.length-1)),this.play()}else this.oninit();this.onconnect()}disconnectedCallback(){this.background||this.disconnectTID||this.wsState===WebSocket.CLOSED&&this.pcState===WebSocket.CLOSED||(this.disconnectTID=setTimeout((()=>{this.reconnectTID&&(clearTimeout(this.reconnectTID),this.reconnectTID=0),this.disconnectTID=0,this.ondisconnect()}),this.DISCONNECT_TIMEOUT))}oninit(){this.video=document.createElement("video"),m(this.video,this.controls),this.video.playsInline=!0,this.video.preload="auto",this.video.style.display="block",this.video.style.width="100%",this.video.style.height="100%",this.appendChild(this.video),this.video.addEventListener("error",(e=>{this.ws&&this.wsState===WebSocket.OPEN&&this.ws.close()}));const n=window.navigator.userAgent.match(/Version\/(\d+).+Safari/);if(n){const e=n[1]<"13"?"mp4a.40.2":n[1]<"14"?"flac":"opus";this.CODECS.splice(this.CODECS.indexOf(e))}if(!this.background){if("hidden"in document&&this.visibilityCheck&&document.addEventListener("visibilitychange",(()=>{document.hidden?this.disconnectedCallback():this.isConnected&&this.connectedCallback()})),"IntersectionObserver"in window&&this.visibilityThreshold){new IntersectionObserver((e=>{e.forEach((e=>{e.isIntersecting?this.isConnected&&this.connectedCallback():this.disconnectedCallback()}))}),{threshold:this.visibilityThreshold}).observe(this)}this.video.onloadeddata=()=>{this.controls&&v(this.video,y),e(this,this.video,{player:this.containingPlayer,capabilities:{supports2WayAudio:!!this.pc,supportsPause:!0,hasAudio:g(this.video)},technology:f(this)})},this.video.onvolumechange=()=>t(this),this.video.onplay=()=>i(this),this.video.onpause=()=>s(this),this.video.muted=!0}}onconnect(){return!(!this.isConnected||!this.wsURL||this.ws||this.pc)&&(this.wsState=WebSocket.CONNECTING,this.connectTS=Date.now(),this.ws=new WebSocket(this.wsURL),this.ws.binaryType="arraybuffer",this.ws.addEventListener("open",(e=>this.onopen(e))),this.ws.addEventListener("close",(e=>this.onclose(e))),!0)}ondisconnect(){this.wsState=WebSocket.CLOSED,this.ws&&(this.ws.close(),this.ws=null),this.pcState=WebSocket.CLOSED,this.pc&&(this.pc.getSenders().forEach((e=>{e.track&&e.track.stop()})),this.pc.close(),this.pc=null),this.video.src="",this.video.srcObject=null}onopen(){this.wsState=WebSocket.OPEN,this.ws.addEventListener("message",(e=>{if("string"==typeof e.data){const t=JSON.parse(e.data);for(const e in this.onmessage)this.onmessage[e](t)}else this.ondata(e.data)})),this.ondata=null,this.onmessage={};const e=[];return this.mode.indexOf("mse")>=0&&("MediaSource"in window||"ManagedMediaSource"in window)?(e.push("mse"),this.onmse()):this.mode.indexOf("hls")>=0&&this.video.canPlayType("application/vnd.apple.mpegurl")?(e.push("hls"),this.onhls()):this.mode.indexOf("mp4")>=0&&(e.push("mp4"),this.onmp4()),this.mode.indexOf("webrtc")>=0&&"RTCPeerConnection"in window&&(e.push("webrtc"),this.onwebrtc()),this.mode.indexOf("mjpeg")>=0&&(e.length?this.onmessage.mjpeg=t=>{"error"===t.type&&0===t.value.indexOf(e[0])&&this.onmjpeg()}:(e.push("mjpeg"),this.onmjpeg())),e}onclose(){if(this.wsState===WebSocket.CLOSED)return!1;this.wsState=WebSocket.CONNECTING,this.ws=null;const e=Math.max(this.RECONNECT_TIMEOUT-(Date.now()-this.connectTS),0);return this.reconnectTID=setTimeout((()=>{this.reconnectTID=0,this.onconnect()}),e),!0}onmse(){let e;if("ManagedMediaSource"in window){const t=window.ManagedMediaSource;e=new t,e.addEventListener("sourceopen",(()=>{this.send({type:"mse",value:this.codecs(t.isTypeSupported)})}),{once:!0}),this.video.disableRemotePlayback=!0,this.video.srcObject=e}else e=new MediaSource,e.addEventListener("sourceopen",(()=>{URL.revokeObjectURL(this.video.src),this.send({type:"mse",value:this.codecs(MediaSource.isTypeSupported)})}),{once:!0}),this.video.src=URL.createObjectURL(e),this.video.srcObject=null;this.play(),this.mseCodecs="",this.onmessage.mse=t=>{if("mse"!==t.type)return;this.mseCodecs=t.value;const i=e.addSourceBuffer(t.value);i.mode="segments",i.addEventListener("updateend",(()=>{if(!i.updating)try{if(n>0){const e=s.slice(0,n);n=0,i.appendBuffer(e)}else if(i.buffered&&i.buffered.length){const t=i.buffered.end(i.buffered.length-1)-15,s=i.buffered.start(0);t>s&&(i.remove(s,t),e.setLiveSeekableRange(t,t+15))}}catch(e){}}));const s=new Uint8Array(2097152);let n=0;this.ondata=e=>{if(i.updating||n>0){const t=new Uint8Array(e);s.set(t,n),n+=t.byteLength}else try{i.appendBuffer(e)}catch(e){}}}}onwebrtc(){const e=new RTCPeerConnection(this.pcConfig);e.addEventListener("icecandidate",(e=>{if(e.candidate&&this.mode.indexOf("webrtc/tcp")>=0&&"udp"===e.candidate.protocol)return;const t=e.candidate?e.candidate.toJSON().candidate:"";this.send({type:"webrtc/candidate",value:t})})),e.addEventListener("connectionstatechange",(()=>{if("connected"===e.connectionState){const t=e.getTransceivers().filter((e=>"recvonly"===e.currentDirection)).map((e=>e.receiver.track)),i=document.createElement("video");i.addEventListener("loadeddata",(()=>this.onpcvideo(i)),{once:!0}),i.srcObject=new MediaStream(t)}else"failed"!==e.connectionState&&"disconnected"!==e.connectionState||(e.close(),this.pcState=WebSocket.CLOSED,this.pc=null,this.onconnect())})),this.onmessage.webrtc=t=>{switch(t.type){case"webrtc/candidate":if(this.mode.indexOf("webrtc/tcp")>=0&&t.value.indexOf(" udp ")>0)return;e.addIceCandidate({candidate:t.value,sdpMid:"0"}).catch((e=>{console.warn(e)}));break;case"webrtc/answer":e.setRemoteDescription({type:"answer",sdp:t.value}).catch((e=>{console.warn(e)}));break;case"error":if(t.value.indexOf("webrtc/offer")<0)return;e.close()}},this.createOffer(e).then((e=>{this.send({type:"webrtc/offer",value:e.sdp})})),this.pcState=WebSocket.CONNECTING,this.pc=e}async createOffer(e){this.microphoneStream?.getTracks().forEach((t=>{e.addTransceiver(t,{direction:"sendonly"})}));try{if(this.media.indexOf("microphone")>=0){(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach((t=>{e.addTransceiver(t,{direction:"sendonly"})}))}}catch(e){console.warn(e)}for(const t of["video","audio"])this.media.indexOf(t)>=0&&e.addTransceiver(t,{direction:"recvonly"});const t=await e.createOffer();return await e.setLocalDescription(t),t}onpcvideo(e){if(this.pc){let t=0,i=0;const s=e.srcObject;s.getVideoTracks().length>0&&(t+=544),s.getAudioTracks().length>0&&(t+=258),this.mseCodecs.indexOf("hvc1.")>=0&&(i+=560),this.mseCodecs.indexOf("avc1.")>=0&&(i+=528),this.mseCodecs.indexOf("mp4a.")>=0&&(i+=257),t>=i?(this.video.srcObject=s,this.play(),this.pcState=WebSocket.OPEN,this.wsState=WebSocket.CLOSED,this.ws&&(this.ws.close(),this.ws=null)):(this.pcState=WebSocket.CLOSED,this.pc&&(this.pc.close(),this.pc=null))}e.srcObject=null}onmjpeg(){let t=!1;this.ondata=i=>{m(this.video,!1),this.video.poster="data:image/jpeg;base64,"+b.btoa(i),t||(t=!0,e(this,this.video,{player:this.containingPlayer,technology:["mjpeg"]}))},this.send({type:"mjpeg"})}onhls(){this.onmessage.hls=e=>{if("hls"!==e.type)return;const t="http"+this.wsURL.substring(2,this.wsURL.indexOf("/ws"))+"/hls/",i=e.value.replace("hls/",t);this.video.src="data:application/vnd.apple.mpegurl;base64,"+btoa(i),this.play()},this.send({type:"hls",value:this.codecs((e=>this.video.canPlayType(e)))})}onmp4(){const t=document.createElement("canvas");let i;const s=document.createElement("video");s.autoplay=!0,s.playsInline=!0,s.muted=!0,s.addEventListener("loadeddata",(n=>{i||(t.width=s.videoWidth,t.height=s.videoHeight,i=t.getContext("2d"),e(this,s,{player:this.containingPlayer,technology:["mp4"]})),i.drawImage(s,0,0,t.width,t.height),m(this.video,!1),this.video.poster=t.toDataURL("image/jpeg")})),this.ondata=e=>{s.src="data:video/mp4;base64,"+b.btoa(e)},this.send({type:"mp4",value:this.codecs(this.video.canPlayType)})}static btoa(e){const t=new Uint8Array(e),i=t.byteLength;let s="";for(let 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 LgLe#%Z!iD=wJ0sW diff --git a/config/www/community/frigate-hass-card/index-8355422b.js b/config/www/community/frigate-hass-card/index-8355422b.js deleted file mode 100644 index b3b282c8..00000000 --- a/config/www/community/frigate-hass-card/index-8355422b.js +++ /dev/null @@ -1 +0,0 @@ -import{dw as e,dx as t,dy as i,dz as s,a as n,dm as o,cQ as a,l as c,x as r,r as d,_ as h,n as l,t as p}from"./card-769e2b91.js";import{g as u}from"./endpoint-9c79ab63.js";import{s as m,h as v,c as y}from"./media-d4c0d154.js";import"./image-632882b9.js";import{m as g}from"./audio-cf3a75aa.js";import{g as f}from"./get-technology-for-video-rtc-778a0c05.js";class b extends HTMLElement{constructor(){super(),this.DISCONNECT_TIMEOUT=5e3,this.RECONNECT_TIMEOUT=15e3,this.CODECS=["avc1.640029","avc1.64002A","avc1.640033","hvc1.1.6.L153.B0","mp4a.40.2","mp4a.40.5","flac","opus"],this.mode="webrtc,mse,hls,mjpeg",this.media="video,audio",this.background=!1,this.visibilityThreshold=0,this.visibilityCheck=!0,this.pcConfig={bundlePolicy:"max-bundle",iceServers:[{urls:"stun:stun.l.google.com:19302"}],sdpSemantics:"unified-plan"},this.wsState=WebSocket.CLOSED,this.pcState=WebSocket.CLOSED,this.video=null,this.ws=null,this.wsURL="",this.pc=null,this.connectTS=0,this.mseCodecs="",this.disconnectTID=0,this.reconnectTID=0,this.ondata=null,this.onmessage=null,this.microphoneStream=null,this.containingPlayer=null,this.controls=!0}reconnect(){this.wsState!==WebSocket.CLOSED?(this.ws?.addEventListener("close",(()=>this.onconnect())),this.ondisconnect()):(this.ondisconnect(),this.onconnect())}set src(e){"string"!=typeof e&&(e=e.toString()),e.startsWith("http")?e="ws"+e.substring(4):e.startsWith("/")&&(e="ws"+location.origin.substring(4)+e),this.wsURL=e,this.onconnect()}play(){}send(e){this.ws&&this.ws.send(JSON.stringify(e))}codecs(e){return this.CODECS.filter((e=>this.media.indexOf(e.indexOf("vc1")>0?"video":"audio")>=0)).filter((t=>e(`video/mp4; codecs="${t}"`))).join()}connectedCallback(){if(this.disconnectTID&&(clearTimeout(this.disconnectTID),this.disconnectTID=0),this.video){const e=this.video.seekable;e.length>0&&(this.video.currentTime=e.end(e.length-1)),this.play()}else this.oninit();this.onconnect()}disconnectedCallback(){this.background||this.disconnectTID||this.wsState===WebSocket.CLOSED&&this.pcState===WebSocket.CLOSED||(this.disconnectTID=setTimeout((()=>{this.reconnectTID&&(clearTimeout(this.reconnectTID),this.reconnectTID=0),this.disconnectTID=0,this.ondisconnect()}),this.DISCONNECT_TIMEOUT))}oninit(){this.video=document.createElement("video"),m(this.video,this.controls),this.video.playsInline=!0,this.video.preload="auto",this.video.style.display="block",this.video.style.width="100%",this.video.style.height="100%",this.appendChild(this.video),this.video.addEventListener("error",(e=>{this.ws&&this.wsState===WebSocket.OPEN&&this.ws.close()}));const n=window.navigator.userAgent.match(/Version\/(\d+).+Safari/);if(n){const e=n[1]<"13"?"mp4a.40.2":n[1]<"14"?"flac":"opus";this.CODECS.splice(this.CODECS.indexOf(e))}if(!this.background){if("hidden"in document&&this.visibilityCheck&&document.addEventListener("visibilitychange",(()=>{document.hidden?this.disconnectedCallback():this.isConnected&&this.connectedCallback()})),"IntersectionObserver"in window&&this.visibilityThreshold){new IntersectionObserver((e=>{e.forEach((e=>{e.isIntersecting?this.isConnected&&this.connectedCallback():this.disconnectedCallback()}))}),{threshold:this.visibilityThreshold}).observe(this)}this.video.onloadeddata=()=>{this.controls&&v(this.video,y),e(this,this.video,{player:this.containingPlayer,capabilities:{supports2WayAudio:!!this.pc,supportsPause:!0,hasAudio:g(this.video)},technology:f(this)})},this.video.onvolumechange=()=>t(this),this.video.onplay=()=>i(this),this.video.onpause=()=>s(this),this.video.muted=!0}}onconnect(){return!(!this.isConnected||!this.wsURL||this.ws||this.pc)&&(this.wsState=WebSocket.CONNECTING,this.connectTS=Date.now(),this.ws=new WebSocket(this.wsURL),this.ws.binaryType="arraybuffer",this.ws.addEventListener("open",(e=>this.onopen(e))),this.ws.addEventListener("close",(e=>this.onclose(e))),!0)}ondisconnect(){this.wsState=WebSocket.CLOSED,this.ws&&(this.ws.close(),this.ws=null),this.pcState=WebSocket.CLOSED,this.pc&&(this.pc.getSenders().forEach((e=>{e.track&&e.track.stop()})),this.pc.close(),this.pc=null),this.video.src="",this.video.srcObject=null}onopen(){this.wsState=WebSocket.OPEN,this.ws.addEventListener("message",(e=>{if("string"==typeof e.data){const t=JSON.parse(e.data);for(const e in this.onmessage)this.onmessage[e](t)}else this.ondata(e.data)})),this.ondata=null,this.onmessage={};const e=[];return this.mode.indexOf("mse")>=0&&("MediaSource"in window||"ManagedMediaSource"in window)?(e.push("mse"),this.onmse()):this.mode.indexOf("hls")>=0&&this.video.canPlayType("application/vnd.apple.mpegurl")?(e.push("hls"),this.onhls()):this.mode.indexOf("mp4")>=0&&(e.push("mp4"),this.onmp4()),this.mode.indexOf("webrtc")>=0&&"RTCPeerConnection"in window&&(e.push("webrtc"),this.onwebrtc()),this.mode.indexOf("mjpeg")>=0&&(e.length?this.onmessage.mjpeg=t=>{"error"===t.type&&0===t.value.indexOf(e[0])&&this.onmjpeg()}:(e.push("mjpeg"),this.onmjpeg())),e}onclose(){if(this.wsState===WebSocket.CLOSED)return!1;this.wsState=WebSocket.CONNECTING,this.ws=null;const e=Math.max(this.RECONNECT_TIMEOUT-(Date.now()-this.connectTS),0);return this.reconnectTID=setTimeout((()=>{this.reconnectTID=0,this.onconnect()}),e),!0}onmse(){let e;if("ManagedMediaSource"in window){const t=window.ManagedMediaSource;e=new t,e.addEventListener("sourceopen",(()=>{this.send({type:"mse",value:this.codecs(t.isTypeSupported)})}),{once:!0}),this.video.disableRemotePlayback=!0,this.video.srcObject=e}else e=new MediaSource,e.addEventListener("sourceopen",(()=>{URL.revokeObjectURL(this.video.src),this.send({type:"mse",value:this.codecs(MediaSource.isTypeSupported)})}),{once:!0}),this.video.src=URL.createObjectURL(e),this.video.srcObject=null;this.play(),this.mseCodecs="",this.onmessage.mse=t=>{if("mse"!==t.type)return;this.mseCodecs=t.value;const i=e.addSourceBuffer(t.value);i.mode="segments",i.addEventListener("updateend",(()=>{if(!i.updating)try{if(n>0){const e=s.slice(0,n);n=0,i.appendBuffer(e)}else if(i.buffered&&i.buffered.length){const t=i.buffered.end(i.buffered.length-1)-15,s=i.buffered.start(0);t>s&&(i.remove(s,t),e.setLiveSeekableRange(t,t+15))}}catch(e){}}));const s=new Uint8Array(2097152);let n=0;this.ondata=e=>{if(i.updating||n>0){const t=new Uint8Array(e);s.set(t,n),n+=t.byteLength}else try{i.appendBuffer(e)}catch(e){}}}}onwebrtc(){const e=new RTCPeerConnection(this.pcConfig);e.addEventListener("icecandidate",(e=>{if(e.candidate&&this.mode.indexOf("webrtc/tcp")>=0&&"udp"===e.candidate.protocol)return;const t=e.candidate?e.candidate.toJSON().candidate:"";this.send({type:"webrtc/candidate",value:t})})),e.addEventListener("connectionstatechange",(()=>{if("connected"===e.connectionState){const t=e.getTransceivers().filter((e=>"recvonly"===e.currentDirection)).map((e=>e.receiver.track)),i=document.createElement("video");i.addEventListener("loadeddata",(()=>this.onpcvideo(i)),{once:!0}),i.srcObject=new MediaStream(t)}else"failed"!==e.connectionState&&"disconnected"!==e.connectionState||(e.close(),this.pcState=WebSocket.CLOSED,this.pc=null,this.onconnect())})),this.onmessage.webrtc=t=>{switch(t.type){case"webrtc/candidate":if(this.mode.indexOf("webrtc/tcp")>=0&&t.value.indexOf(" udp ")>0)return;e.addIceCandidate({candidate:t.value,sdpMid:"0"}).catch((e=>{console.warn(e)}));break;case"webrtc/answer":e.setRemoteDescription({type:"answer",sdp:t.value}).catch((e=>{console.warn(e)}));break;case"error":if(t.value.indexOf("webrtc/offer")<0)return;e.close()}},this.createOffer(e).then((e=>{this.send({type:"webrtc/offer",value:e.sdp})})),this.pcState=WebSocket.CONNECTING,this.pc=e}async createOffer(e){this.microphoneStream?.getTracks().forEach((t=>{e.addTransceiver(t,{direction:"sendonly"})}));try{if(this.media.indexOf("microphone")>=0){(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach((t=>{e.addTransceiver(t,{direction:"sendonly"})}))}}catch(e){console.warn(e)}for(const t of["video","audio"])this.media.indexOf(t)>=0&&e.addTransceiver(t,{direction:"recvonly"});const t=await e.createOffer();return await e.setLocalDescription(t),t}onpcvideo(e){if(this.pc){let t=0,i=0;const s=e.srcObject;s.getVideoTracks().length>0&&(t+=544),s.getAudioTracks().length>0&&(t+=258),this.mseCodecs.indexOf("hvc1.")>=0&&(i+=560),this.mseCodecs.indexOf("avc1.")>=0&&(i+=528),this.mseCodecs.indexOf("mp4a.")>=0&&(i+=257),t>=i?(this.video.srcObject=s,this.play(),this.pcState=WebSocket.OPEN,this.wsState=WebSocket.CLOSED,this.ws&&(this.ws.close(),this.ws=null)):(this.pcState=WebSocket.CLOSED,this.pc&&(this.pc.close(),this.pc=null))}e.srcObject=null}onmjpeg(){let t=!1;this.ondata=i=>{m(this.video,!1),this.video.poster="data:image/jpeg;base64,"+b.btoa(i),t||(t=!0,e(this,this.video,{player:this.containingPlayer,technology:["mjpeg"]}))},this.send({type:"mjpeg"})}onhls(){this.onmessage.hls=e=>{if("hls"!==e.type)return;const t="http"+this.wsURL.substring(2,this.wsURL.indexOf("/ws"))+"/hls/",i=e.value.replace("hls/",t);this.video.src="data:application/vnd.apple.mpegurl;base64,"+btoa(i),this.play()},this.send({type:"hls",value:this.codecs((e=>this.video.canPlayType(e)))})}onmp4(){const t=document.createElement("canvas");let i;const s=document.createElement("video");s.autoplay=!0,s.playsInline=!0,s.muted=!0,s.addEventListener("loadeddata",(n=>{i||(t.width=s.videoWidth,t.height=s.videoHeight,i=t.getContext("2d"),e(this,s,{player:this.containingPlayer,technology:["mp4"]})),i.drawImage(s,0,0,t.width,t.height),m(this.video,!1),this.video.poster=t.toDataURL("image/jpeg")})),this.ondata=e=>{s.src="data:video/mp4;base64,"+b.btoa(e)},this.send({type:"mp4",value:this.codecs(this.video.canPlayType)})}static btoa(e){const t=new Uint8Array(e),i=t.byteLength;let s="";for(let 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.hasSelectedResult()}}))}async _setURL(){const e=this.media?.getContentID();if(!this.media||!e||!this.hass||this.viewerConfig?.lazy_load&&!this.load)return;let i=this.resolvedMediaCache?.get(e)??null;if(i||(i=await l(this.hass,e,this.resolvedMediaCache)),!i)return;const t=i.url;if(g(t))return void(this._url=h(this.hass,t));const a=this.cameraManager?.getStore().getCamera(this.media.getCameraID()),r=a?.getProxyConfig();if(r&&c(this.hass,r,"media")){if(r.dynamic){const e=t.split(/#/)[0];await u(this.hass,e,{sslVerification:r.ssl_verification,sslCiphers:r.ssl_ciphers,openLimit:0})}try{this._url=await m(this.hass,v(t))}catch(e){p(e)}}else this._url=t}willUpdate(e){if((e.has("load")||e.has("media")||e.has("viewerConfig")||e.has("resolvedMediaCache")||e.has("hass"))&&this._setURL().then((()=>{this.requestUpdate()})),e.has("viewerConfig")&&this.viewerConfig?.zoomable&&import("./zoomer-672d26af.js"),e.has("media")||e.has("cameraManager")){const e=this.media?.getCameraID(),i=e?this.cameraManager?.getStore().getCameraConfig(e):null;S(this,i?.dimensions?.layout),this.style.aspectRatio=C({ratio:i?.dimensions?.aspect_ratio})}}_useZoomIfRequired(e){if(!this.media)return e;const i=this.media.getCameraID(),t=this.media.getID()??void 0,a=this.cameraManager?.getStore().getCameraConfig(i),r=this.viewManagerEpoch?.manager.getView();return this.viewerConfig?.zoomable?w` a?.dimensions?.layout?{pan:a.dimensions.layout.pan,zoom:a.dimensions.layout.zoom}:void 0))} - .settings=${t?r?.context?.zoom?.[t]?.requested:void 0} - @frigate-card:zoom:zoomed=${()=>this.setControls(!1)} - @frigate-card:zoom:unzoomed=${()=>this.setControls()} - @frigate-card:zoom:change=${e=>f(e,this.viewManagerEpoch?.manager,t)} - > - ${e} - `:e}render(){if(this.load&&this.media&&this.hass&&this.viewerConfig)return this._url?this._useZoomIfRequired(w` - ${n.isVideo(this.media)?this.media.getVideoContentType()===Q.HLS?w` - `:w` - - `:w`{this.viewerConfig?.snapshot_click_plays_clip&&this._switchToRelatedClipView()}} - @load=${e=>{y(this,e,{player:this,technology:["jpg"]})}} - />`} - `):I({cardWideConfig:this.cardWideConfig})}static get styles(){return D(':host {\n background-color: var(--primary-background-color);\n background-position: center;\n background-repeat: no-repeat;\n background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4yLjIgKGIwYTg0ODY1NDEsIDIwMjItMTItMDEpIgogICBzb2RpcG9kaTpkb2NuYW1lPSJjYW1lcmEtaXJpcy5zdmciCiAgIGlkPSJzdmc0IgogICB2ZXJzaW9uPSIxLjEiCiAgIHZpZXdCb3g9IjAgMCAyNCAyNCIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9Im5hbWVkdmlldzYiCiAgICAgcGFnZWNvbG9yPSIjYjkzZTNlIgogICAgIGJvcmRlcmNvbG9yPSIjMDAwMDAwIgogICAgIGJvcmRlcm9wYWNpdHk9IjAuMjUiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuNjA3ODQzMTQiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6ZGVza2NvbG9yPSIjZDFkMWQxIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIyNi42MjUwNiIKICAgICBpbmtzY2FwZTpjeD0iLTEuOTM0MjY4IgogICAgIGlua3NjYXBlOmN5PSIxNS42ODA3MTYiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIzODQwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjE1MjciCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjEwODAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjIyNyIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzQiIC8+CiAgPGcKICAgICBpZD0iZzExMTkiCiAgICAgc3R5bGU9ImZpbGwtb3BhY2l0eTowLjA1O2ZpbGw6I2ZmZmZmZiI+CiAgICA8Y2lyY2xlCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjA1O3N0cm9rZS13aWR0aDoxLjM5NzI5IgogICAgICAgaWQ9InBhdGgxNzAiCiAgICAgICBjeD0iMTIiCiAgICAgICBjeT0iMTIiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iV2hpdGUgQmFja2dyb3VuZCIKICAgICAgIHI9IjExLjI1IiAvPgogICAgPHBhdGgKICAgICAgIGQ9Ik0gMTMuNzMwMDAxLDE1IDkuODMwMDAwMywyMS43NiBDIDEwLjUzLDIxLjkxIDExLjI1LDIyIDEyLDIyIGMgMi40MDAwMDEsMCA0LjYsLTAuODUgNi4zMiwtMi4yNSBMIDE0LjY2MDAwMSwxMy40IE0gMi40NjAwMDAzLDE1IGMgMC45MiwyLjkyIDMuMTUsNS4yNiA1Ljk5LDYuMzQgTCAxMi4xMiwxNSBtIC0zLjU3OTk5OTcsLTMgLTMuOSwtNi43NDk5OTk2IGMgLTEuNjQsMS43NDk5OTkgLTIuNjQsNC4xMzk5OTkzIC0yLjY0LDYuNzQ5OTk5NiAwLDAuNjggMC4wNywxLjM1IDAuMiwyIGggNy40OSBNIDIxLjgsOS45OTk5OTk3IEggMTQuMzEwMDAxIEwgMTQuNjAwMDAxLDEwLjUgMTkuMzYsMTguNzUgQyAyMSwxNi45NyAyMiwxNC42IDIyLDEyIDIyLDExLjMxIDIxLjkzLDEwLjY0IDIxLjgsOS45OTk5OTk3IG0gLTAuMjYsLTEgQyAyMC42Miw2LjA3MDAwMDUgMTguMzksMy43NDAwMDAyIDE1LjU1MDAwMSwyLjY2MDAwMDIgTCAxMS44OCw4Ljk5OTk5OTcgTSA5LjQwMDAwMDMsMTAuNSAxNC4xNzAwMDEsMi4yNDAwMDAyIGMgLTAuNywtMC4xNSAtMS40MjAwMDEsLTAuMjQgLTIuMTcwMDAxLC0wLjI0IC0yLjM5OTk5OTcsMCAtNC41OTk5OTk3LDAuODQgLTYuMzE5OTk5NywyLjI1MDAwMDMgbCAzLjY2LDYuMzQ5OTk5NSB6IgogICAgICAgaWQ9InBhdGgyIgogICAgICAgaW5rc2NhcGU6bGFiZWw9IklyaXMiCiAgICAgICBzdHlsZT0iZmlsbC1vcGFjaXR5OjAuMDU7ZmlsbDojZmZmZmZmIiAvPgogIDwvZz4KPC9zdmc+Cg==");\n background-size: 10%;\n background-position: center;\n}\n\n:host {\n display: block;\n width: 100%;\n height: 100%;\n}\n\nimg,\nvideo,\nfrigate-card-ha-hls-player {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n object-view-box: inset(var(--frigate-card-media-layout-view-box-top, 0%) var(--frigate-card-media-layout-view-box-right, 0%) var(--frigate-card-media-layout-view-box-bottom, 0%) var(--frigate-card-media-layout-view-box-left, 0%));\n}\n\nfrigate-card-progress-indicator {\n padding: 30px;\n box-sizing: border-box;\n}')}};e([i({attribute:!1})],q.prototype,"hass",void 0),e([i({attribute:!1})],q.prototype,"viewManagerEpoch",void 0),e([i({attribute:!1})],q.prototype,"media",void 0),e([i({attribute:!1})],q.prototype,"viewerConfig",void 0),e([i({attribute:!1})],q.prototype,"resolvedMediaCache",void 0),e([i({attribute:!1})],q.prototype,"load",void 0),e([i({attribute:!1})],q.prototype,"cameraManager",void 0),e([i({attribute:!1})],q.prototype,"cardWideConfig",void 0),e([t()],q.prototype,"_url",void 0),q=e([a("frigate-card-viewer-provider")],q);let H=class extends r{constructor(){super(...arguments),this.showControls=!0,this._selected=0,this._media=null,this._mediaActionsController=new O,this._player=null,this._refCarousel=s()}updated(e){super.updated(e),e.has("viewManagerEpoch")&&this.viewManagerEpoch?.manager.getView()?.context?.mediaViewer!==this.viewManagerEpoch?.oldView?.context?.mediaViewer&&this._seekHandler(),!this._mediaActionsController.hasRoot()&&this._refCarousel.value&&this._mediaActionsController.initialize(this._refCarousel.value)}connectedCallback(){super.connectedCallback(),this.requestUpdate()}disconnectedCallback(){this._mediaActionsController.destroy(),super.disconnectedCallback()}_getTransitionEffect(){return this.viewerConfig?.transition_effect??k.media_viewer.transition_effect}_getPlugins(){return[R({...this.viewerConfig?.lazy_load&&{lazyLoadCallback:(e,i)=>this._lazyloadSlide(i)}}),U(),Y()]}_getMediaNeighbors(){const e=this._media?.length??0;if(!this._media)return null;const i=this._selected>0?this._selected-1:null,t=this._selected+1{if(!t||!this._media)return;const i=("previous"===e?t.previous?.index:t.next?.index)??null;null!==i&&this._setViewSelectedIndex(i)},r=this.viewManagerEpoch?.manager.getView();return w` - {this._setViewSelectedIndex(e.detail.index)}} - @frigate-card:media:loaded=${e=>{this._player=e.detail.player??null,this._seekHandler()}} - @frigate-card:media:unloaded=${()=>{this._player=null}} - > - ${this.showControls?w` {a("previous"),N(e)}} - >`:""} - ${W([this._media,r],(()=>this._getSlides()))} - ${this.showControls?w` {a("next"),N(e)}} - >`:""} - - ${r?w` - `:""} -
- - -
- `}async _seekHandler(){const e=this.viewManagerEpoch?.manager.getView(),i=e?.context?.mediaViewer?.seek;if(!(this.hass&&i&&this._media&&this._player))return;const t=this._media[this._selected];if(!t)return;const a=t.includesTime(i);$(this,!a,"unseekable"),a||this._player.isPaused()?a&&this._player.isPaused()&&this._player.play():this._player.pause();const r=await(this.cameraManager?.getMediaSeekTime(t,i))??null;null!==r&&this._player.seek(r)}_renderMediaItem(e){const i=this.viewManagerEpoch?.manager.getView();return this.hass&&i&&this.viewerConfig?w`
- -
`:null}static get styles(){return D(":host {\n position: relative;\n --video-max-height: none;\n}\n\n:host([unselected]) frigate-card-carousel,\n:host([unselected]) .seek-warning {\n pointer-events: none;\n}\n\n:host([unseekable]) frigate-card-carousel {\n filter: brightness(50%);\n}\n\n:host([unseekable]) .seek-warning {\n display: block;\n}\n\n.seek-warning {\n display: none;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translateX(-50%) translateY(-50%);\n color: white;\n}\n\n.embla__slide {\n height: 100%;\n flex: 0 0 100%;\n}")}};e([i({attribute:!1})],H.prototype,"hass",void 0),e([i({attribute:!1})],H.prototype,"viewManagerEpoch",void 0),e([i({attribute:!1})],H.prototype,"viewFilterCameraID",void 0),e([i({attribute:!1,hasChanged:x})],H.prototype,"viewerConfig",void 0),e([i({attribute:!1})],H.prototype,"resolvedMediaCache",void 0),e([i({attribute:!1})],H.prototype,"cardWideConfig",void 0),e([i({attribute:!1})],H.prototype,"cameraManager",void 0),e([i({attribute:!1})],H.prototype,"showControls",void 0),e([t()],H.prototype,"_selected",void 0),H=e([a("frigate-card-viewer-carousel")],H);let X=class extends r{_renderCarousel(e){const i=this.viewManagerEpoch?.manager.getView()?.camera;return w` - - - `}willUpdate(e){e.has("viewManagerEpoch")&&this._needsGrid()&&import("./media-grid-cff66b0b.js")}_needsGrid(){const e=this.viewManagerEpoch?.manager.getView(),i=e?.queryResults?.getCameraIDs();return!!e?.isGrid()&&!!e?.supportsMultipleDisplayModes()&&(i?.size??0)>1}_gridSelectCamera(e){const i=this.viewManagerEpoch?.manager.getView();this.viewManagerEpoch?.manager.setViewByParameters({params:{camera:e,queryResults:i?.queryResults?.clone().promoteCameraSelectionToMainSelection(e)}})}render(){const e=this.viewManagerEpoch?.manager.getView(),i=e?.queryResults?.getCameraIDs();return i&&this._needsGrid()?w` - this._gridSelectCamera(e.detail.selected)} - > - ${[...i].map((e=>this._renderCarousel(e)))} - - `:this._renderCarousel()}static get styles(){return D(E)}};e([i({attribute:!1})],X.prototype,"hass",void 0),e([i({attribute:!1})],X.prototype,"viewManagerEpoch",void 0),e([i({attribute:!1})],X.prototype,"viewerConfig",void 0),e([i({attribute:!1})],X.prototype,"resolvedMediaCache",void 0),e([i({attribute:!1})],X.prototype,"cardWideConfig",void 0),e([i({attribute:!1})],X.prototype,"cameraManager",void 0),X=e([a("frigate-card-viewer-grid")],X);let J=class extends r{render(){if(this.hass&&this.viewManagerEpoch&&this.viewerConfig&&this.cameraManager&&this.cardWideConfig){if(!this.viewManagerEpoch.manager.getView()?.queryResults?.hasResults()){const e=!!this.viewManagerEpoch.manager.getView()?.context?.loading?.query;return P({type:"info",message:z(e?"error.awaiting_media":"common.no_media"),icon:"mdi:multimedia",dotdotdot:e})}return w` - `}}static get styles(){return D(":host {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n gap: 5px;\n}\n\nfrigate-card-viewer-carousel {\n flex: 1;\n min-height: 0;\n}")}};e([i({attribute:!1})],J.prototype,"hass",void 0),e([i({attribute:!1})],J.prototype,"viewManagerEpoch",void 0),e([i({attribute:!1})],J.prototype,"viewerConfig",void 0),e([i({attribute:!1})],J.prototype,"resolvedMediaCache",void 0),e([i({attribute:!1})],J.prototype,"cameraManager",void 0),e([i({attribute:!1})],J.prototype,"cardWideConfig",void 0),J=e([a("frigate-card-viewer")],J);export{J as FrigateCardViewer}; diff --git a/config/www/community/frigate-hass-card/index-961f10b9.js.gz b/config/www/community/frigate-hass-card/index-961f10b9.js.gz deleted file mode 100644 index 71e0b9a908dff261c75f07ba65951e92b5f90eed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6432 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 diff --git a/config/www/community/frigate-hass-card/index-9b434861.js b/config/www/community/frigate-hass-card/index-9b434861.js deleted file mode 100644 index 2581f2a8..00000000 --- a/config/www/community/frigate-hass-card/index-9b434861.js +++ /dev/null @@ -1,162 +0,0 @@ -import{cL as e,cM as i,cN as t,cO as a,cP as r,cQ as o,l as s,_ as n,n as d,b as g,t as c,a as h,cR as l,cI as m,cS as v,cT as p,x as u,cU as C,cV as f,e as I,r as M,cW as _,cX as w,cY as b,cZ as y,c_ as L,c$ as A,d0 as D,d1 as $,d2 as j}from"./card-769e2b91.js";import{p as z,u as k,i as S,M as E,A as N,a as x,b as T}from"./media-d4c0d154.js"; -/** - * @license - * Copyright 2021 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const Z=e(class extends i{constructor(){super(...arguments),this.key=t}render(e,i){return this.key=e,i}update(e,[i,t]){return i!==this.key&&(a(e),this.key=i),t}});class O{constructor(e){this._inBackground=!1,this._messageReceived=!1,this._lastMediaLoadedInfo=null,this._renderEpoch=0,this._handleMessage=e=>{this._messageReceived=!0,this._inBackground&&(e.stopPropagation(),this._renderEpoch++)},this._handleMediaLoaded=e=>{this._lastMediaLoadedInfo={source:e.composedPath()[0],mediaLoadedInfo:e.detail},this._inBackground&&e.stopPropagation()},this._host=e,e.addController(this),this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this))}shouldUpdate(){return!(this._inBackground&&this._messageReceived)}hostConnected(){this._intersectionObserver.observe(this._host),this._host.addEventListener("frigate-card:media:loaded",this._handleMediaLoaded),this._host.addEventListener("frigate-card:message",this._handleMessage)}hostDisconnected(){this._intersectionObserver.disconnect(),this._host.removeEventListener("frigate-card:media:loaded",this._handleMediaLoaded),this._host.removeEventListener("frigate-card:message",this._handleMessage)}clearMessageReceived(){this._messageReceived=!1}isInBackground(){return this._inBackground}getRenderEpoch(){return this._renderEpoch}_intersectionHandler(e){const i=this._inBackground;this._inBackground=!e.some((e=>e.isIntersecting)),this._inBackground||this._messageReceived||!this._lastMediaLoadedInfo||r(this._lastMediaLoadedInfo.source,this._lastMediaLoadedInfo.mediaLoadedInfo),i!==this._inBackground&&this._host.requestUpdate()}}const P=(e,i,t)=>{if(!t?.camera_entity)return o(e,s("error.no_live_camera"),{context:t}),null;const a=i.states[t.camera_entity];return a||(o(e,s("error.live_camera_not_found"),{context:t}),null)};let G=class extends h{constructor(){super(...arguments),this.load=!1,this.label="",this._isVideoMediaLoaded=!1,this._refProvider=l(),this._importPromises=[]}async play(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await z(this,this._refProvider.value)}async pause(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.pause())}async mute(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.mute())}async unmute(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.unmute())}isMuted(){return this._refProvider.value?.isMuted()??!0}async seek(e){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.seek(e))}async setControls(e){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.setControls(e))}isPaused(){return this._refProvider.value?.isPaused()??!0}async getScreenshotURL(){return await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.getScreenshotURL())??null}_getResolvedProvider(){return"auto"===this.cameraConfig?.live_provider?this.cameraConfig?.webrtc_card?.entity||this.cameraConfig?.webrtc_card?.url?"webrtc-card":this.cameraConfig?.camera_entity?"ha":this.cameraConfig?.frigate.camera_name?"jsmpeg":m.cameras.live_provider:this.cameraConfig?.live_provider||"image"}_shouldShowImageDuringLoading(){return!!this.cameraConfig?.camera_entity&&!!this.hass&&!!this.liveConfig?.show_image_during_load}disconnectedCallback(){this._isVideoMediaLoaded=!1}_videoMediaShowHandler(){this._isVideoMediaLoaded=!0}willUpdate(e){if(e.has("load")&&(this.load||(this._isVideoMediaLoaded=!1,v(this))),e.has("liveConfig")&&(this.liveConfig?.show_image_during_load&&this._importPromises.push(import("./image-669f8abb.js")),this.liveConfig?.zoomable&&this._importPromises.push(import("./zoomer-ddec5522.js"))),e.has("cameraConfig")){const e=this._getResolvedProvider();"jsmpeg"===e?this._importPromises.push(import("./jsmpeg-ef28408a.js")):"ha"===e?this._importPromises.push(import("./ha-378b7a69.js")):"webrtc-card"===e?this._importPromises.push(import("./webrtc-card-ee41138a.js")):"image"===e?this._importPromises.push(import("./image-669f8abb.js")):"go2rtc"===e&&this._importPromises.push(import("./index-8355422b.js")),k(this,this.cameraConfig?.dimensions?.layout),this.style.aspectRatio=p({ratio:this.cameraConfig?.dimensions?.aspect_ratio})}}async getUpdateComplete(){const e=await super.getUpdateComplete();return await Promise.all(this._importPromises),this._importPromises=[],e}_useZoomIfRequired(e){return this.liveConfig?.zoomable?u` this.cameraConfig?.dimensions?.layout?{pan:this.cameraConfig.dimensions.layout.pan,zoom:this.cameraConfig.dimensions.layout.zoom}:void 0))} - .settings=${this.zoomSettings} - @frigate-card:zoom:zoomed=${()=>this.setControls(!1)} - @frigate-card:zoom:unzoomed=${()=>this.setControls()} - > - ${e} - `:e}render(){if(!(this.load&&this.hass&&this.liveConfig&&this.cameraConfig))return;this.title=this.label,this.ariaLabel=this.label;const e=this._getResolvedProvider(),i=!this._isVideoMediaLoaded&&this._shouldShowImageDuringLoading(),t={hidden:i};if("ha"===e||"image"===e){const e=P(this,this.hass,this.cameraConfig);if(!e)return;if("unavailable"===e.state)return v(this),C({message:`${s("error.live_camera_unavailable")}${this.label?`: ${this.label}`:""}`,type:"info",icon:"mdi:cctv-off",dotdotdot:!0})}return u`${this._useZoomIfRequired(u` - ${i||"image"===e?u` {"image"===e?this._videoMediaShowHandler():i.stopPropagation()}} - > - `:u``} - ${"ha"===e?u` - `:"go2rtc"===e?u` - `:"webrtc-card"===e?u` - `:"jsmpeg"===e?u` - `:u``} - `)} - ${i&&!this._isVideoMediaLoaded?u``:""} `}static get styles(){return M(':host {\n background-color: var(--primary-background-color);\n background-position: center;\n background-repeat: no-repeat;\n background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4yLjIgKGIwYTg0ODY1NDEsIDIwMjItMTItMDEpIgogICBzb2RpcG9kaTpkb2NuYW1lPSJjYW1lcmEtaXJpcy5zdmciCiAgIGlkPSJzdmc0IgogICB2ZXJzaW9uPSIxLjEiCiAgIHZpZXdCb3g9IjAgMCAyNCAyNCIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9Im5hbWVkdmlldzYiCiAgICAgcGFnZWNvbG9yPSIjYjkzZTNlIgogICAgIGJvcmRlcmNvbG9yPSIjMDAwMDAwIgogICAgIGJvcmRlcm9wYWNpdHk9IjAuMjUiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuNjA3ODQzMTQiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6ZGVza2NvbG9yPSIjZDFkMWQxIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIyNi42MjUwNiIKICAgICBpbmtzY2FwZTpjeD0iLTEuOTM0MjY4IgogICAgIGlua3NjYXBlOmN5PSIxNS42ODA3MTYiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIzODQwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjE1MjciCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjEwODAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjIyNyIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzQiIC8+CiAgPGcKICAgICBpZD0iZzExMTkiCiAgICAgc3R5bGU9ImZpbGwtb3BhY2l0eTowLjA1O2ZpbGw6I2ZmZmZmZiI+CiAgICA8Y2lyY2xlCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjA1O3N0cm9rZS13aWR0aDoxLjM5NzI5IgogICAgICAgaWQ9InBhdGgxNzAiCiAgICAgICBjeD0iMTIiCiAgICAgICBjeT0iMTIiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iV2hpdGUgQmFja2dyb3VuZCIKICAgICAgIHI9IjExLjI1IiAvPgogICAgPHBhdGgKICAgICAgIGQ9Ik0gMTMuNzMwMDAxLDE1IDkuODMwMDAwMywyMS43NiBDIDEwLjUzLDIxLjkxIDExLjI1LDIyIDEyLDIyIGMgMi40MDAwMDEsMCA0LjYsLTAuODUgNi4zMiwtMi4yNSBMIDE0LjY2MDAwMSwxMy40IE0gMi40NjAwMDAzLDE1IGMgMC45MiwyLjkyIDMuMTUsNS4yNiA1Ljk5LDYuMzQgTCAxMi4xMiwxNSBtIC0zLjU3OTk5OTcsLTMgLTMuOSwtNi43NDk5OTk2IGMgLTEuNjQsMS43NDk5OTkgLTIuNjQsNC4xMzk5OTkzIC0yLjY0LDYuNzQ5OTk5NiAwLDAuNjggMC4wNywxLjM1IDAuMiwyIGggNy40OSBNIDIxLjgsOS45OTk5OTk3IEggMTQuMzEwMDAxIEwgMTQuNjAwMDAxLDEwLjUgMTkuMzYsMTguNzUgQyAyMSwxNi45NyAyMiwxNC42IDIyLDEyIDIyLDExLjMxIDIxLjkzLDEwLjY0IDIxLjgsOS45OTk5OTk3IG0gLTAuMjYsLTEgQyAyMC42Miw2LjA3MDAwMDUgMTguMzksMy43NDAwMDAyIDE1LjU1MDAwMSwyLjY2MDAwMDIgTCAxMS44OCw4Ljk5OTk5OTcgTSA5LjQwMDAwMDMsMTAuNSAxNC4xNzAwMDEsMi4yNDAwMDAyIGMgLTAuNywtMC4xNSAtMS40MjAwMDEsLTAuMjQgLTIuMTcwMDAxLC0wLjI0IC0yLjM5OTk5OTcsMCAtNC41OTk5OTk3LDAuODQgLTYuMzE5OTk5NywyLjI1MDAwMDMgbCAzLjY2LDYuMzQ5OTk5NSB6IgogICAgICAgaWQ9InBhdGgyIgogICAgICAgaW5rc2NhcGU6bGFiZWw9IklyaXMiCiAgICAgICBzdHlsZT0iZmlsbC1vcGFjaXR5OjAuMDU7ZmlsbDojZmZmZmZmIiAvPgogIDwvZz4KPC9zdmc+Cg==");\n background-size: 10%;\n background-position: center;\n}\n\n:host {\n display: block;\n height: 100%;\n width: 100%;\n position: relative;\n}\n\n.hidden {\n display: none;\n}\n\nha-icon {\n position: absolute;\n top: 10px;\n right: 10px;\n color: var(--primary-color);\n}')}};n([d({attribute:!1})],G.prototype,"hass",void 0),n([d({attribute:!1})],G.prototype,"cameraConfig",void 0),n([d({attribute:!1})],G.prototype,"cameraEndpoints",void 0),n([d({attribute:!1})],G.prototype,"liveConfig",void 0),n([d({attribute:!0,type:Boolean})],G.prototype,"load",void 0),n([d({attribute:!1})],G.prototype,"label",void 0),n([d({attribute:!1})],G.prototype,"cardWideConfig",void 0),n([d({attribute:!1})],G.prototype,"microphoneStream",void 0),n([d({attribute:!1})],G.prototype,"zoomSettings",void 0),n([g()],G.prototype,"_isVideoMediaLoaded",void 0),G=n([c("frigate-card-live-provider")],G);const W="frigate-card-live-provider";let U=class extends h{constructor(){super(...arguments),this._cameraToSlide={},this._refPTZControl=l(),this._refCarousel=l(),this._mediaActionsController=new E,this._mediaHasLoaded=!1}connectedCallback(){super.connectedCallback(),this.requestUpdate()}disconnectedCallback(){this._mediaActionsController.destroy(),super.disconnectedCallback()}_getTransitionEffect(){return this.overriddenLiveConfig?.transition_effect??m.live.transition_effect}_getSelectedCameraIndex(){if(this.viewFilterCameraID)return 0;const e=this.cameraManager?.getStore().getCameraIDsWithCapability("live"),i=this.viewManagerEpoch?.manager.getView();return e?.size&&i?Math.max(0,Array.from(e).indexOf(i.camera)):0}willUpdate(e){(e.has("microphoneManager")||e.has("overriddenLiveConfig"))&&this._mediaActionsController.setOptions({playerSelector:W,...this.overriddenLiveConfig?.auto_play&&{autoPlayConditions:this.overriddenLiveConfig.auto_play},...this.overriddenLiveConfig?.auto_pause&&{autoPauseConditions:this.overriddenLiveConfig.auto_pause},...this.overriddenLiveConfig?.auto_mute&&{autoMuteConditions:this.overriddenLiveConfig.auto_mute},...this.overriddenLiveConfig?.auto_unmute&&{autoUnmuteConditions:this.overriddenLiveConfig.auto_unmute},...(this.overriddenLiveConfig?.auto_unmute||this.overriddenLiveConfig?.auto_mute)&&{microphoneManager:this.microphoneManager,microphoneMuteSeconds:this.overriddenLiveConfig.microphone.mute_after_microphone_mute_seconds}})}_getPlugins(){return[N({...this.overriddenLiveConfig?.lazy_load&&{lazyLoadCallback:(e,i)=>this._lazyloadOrUnloadSlide("load",e,i)},lazyUnloadConditions:this.overriddenLiveConfig?.lazy_unload,lazyUnloadCallback:(e,i)=>this._lazyloadOrUnloadSlide("unload",e,i)}),x(),T()]}_getLazyLoadCount(){return!1===this.overriddenLiveConfig?.lazy_load?null:0}_getSlides(){if(!this.cameraManager)return[[],{}];const e=this.viewManagerEpoch?.manager.getView(),i=this.viewFilterCameraID?new Set([this.viewFilterCameraID]):this.cameraManager?.getStore().getCameraIDsWithCapability("live"),t=[],a={};for(const[r,o]of this.cameraManager.getStore().getCameraConfigEntries(i)){const i=this._getSubstreamCameraID(r,e),s=r===i?o:this.cameraManager?.getStore().getCameraConfig(i),n=s?this._renderLive(i,s):null;n&&(a[r]=t.length,t.push(n))}return[t,a]}_setViewHandler(e){const i=this.cameraManager?.getStore().getCameraIDsWithCapability("live");i?.size&&e.detail.index!==this._getSelectedCameraIndex()&&this._setViewCameraID([...i][e.detail.index])}_setViewCameraID(e){e&&this.viewManagerEpoch?.manager.setViewByParametersWithNewQuery({params:{camera:e}})}_lazyloadOrUnloadSlide(e,i,t){t instanceof HTMLSlotElement&&(t=t.assignedElements({flatten:!0})[0]);const a=t?.querySelector(W);a&&(a.load="load"===e)}_renderLive(e,i){if(!(this.overriddenLiveConfig&&this.nonOverriddenLiveConfig&&this.hass&&this.cameraManager&&this.conditionsManagerEpoch))return;let t=null;try{t=w(this.conditionsManagerEpoch.manager,{live:this.nonOverriddenLiveConfig},{configOverrides:this.overrides,stateOverrides:{camera:e},schema:b}).live}catch(e){return y(this,e)}const a=this.cameraManager.getCameraMetadata(e),r=this.viewManagerEpoch?.manager.getView();return u` -

- this.cameraManager?.getCameraEndpoints(e)??void 0))} - .label=${a?.title??""} - .liveConfig=${t} - .hass=${this.hass} - .cardWideConfig=${this.cardWideConfig} - .zoomSettings=${r?.context?.zoom?.[e]?.requested} - @frigate-card:zoom:change=${i=>L(i,this.viewManagerEpoch?.manager,e)} - > - -
- `}_getCameraIDsOfNeighbors(){const e=this.cameraManager?[...this.cameraManager?.getStore().getCameraIDsWithCapability("live")]:[],i=this.viewManagerEpoch?.manager.getView();if(this.viewFilterCameraID||e.length<=1||!i||!this.hass)return[null,null];const t=this.viewFilterCameraID??i.camera,a=e.indexOf(t);return a<0?[null,null]:[e[a>0?a-1:e.length-1],e[a+11,[r,o]=this._getCameraIDsOfNeighbors(),s=r?this.cameraManager.getCameraMetadata(this._getSubstreamCameraID(r,e)):null,n=o?this.cameraManager.getCameraMetadata(this._getSubstreamCameraID(o,e)):null,d=!(!this._mediaHasLoaded||this.viewFilterCameraID&&this.viewFilterCameraID!==e.camera||!1===e.context?.ptzControls?.enabled)&&e.context?.ptzControls?.enabled;return u` - {this._mediaHasLoaded=!0}} - @frigate-card:media:unloaded=${()=>{this._mediaHasLoaded=!1}} - > - {this._setViewCameraID(r),A(e)}} - > - - ${i} - {this._setViewCameraID(o),A(e)}} - > - - - - - `}_setMediaTarget(){const e=this.viewManagerEpoch?.manager.getView(),i=this._getSelectedCameraIndex();this.viewFilterCameraID?this._mediaActionsController.setTarget(i,e?.camera===this.viewFilterCameraID):this._mediaActionsController.setTarget(i,!0)}updated(e){super.updated(e);let i=!1;!this._mediaActionsController.hasRoot()&&this._refCarousel.value&&(this._mediaActionsController.initialize(this._refCarousel.value),i=!0),(i||e.has("viewManagerEpoch"))&&this._setMediaTarget()}static get styles(){return M(":host {\n display: block;\n --video-max-height: none;\n}\n\n:host(:not([grid-id])) {\n height: 100%;\n}\n\n:host([unselected]) frigate-card-carousel {\n pointer-events: none;\n}\n\n.embla__slide {\n display: flex;\n justify-content: center;\n height: 100%;\n flex: 0 0 100%;\n}")}};n([d({attribute:!1})],U.prototype,"hass",void 0),n([d({attribute:!1})],U.prototype,"viewManagerEpoch",void 0),n([d({attribute:!1})],U.prototype,"nonOverriddenLiveConfig",void 0),n([d({attribute:!1})],U.prototype,"overriddenLiveConfig",void 0),n([d({attribute:!1,hasChanged:_})],U.prototype,"overrides",void 0),n([d({attribute:!1})],U.prototype,"conditionsManagerEpoch",void 0),n([d({attribute:!1})],U.prototype,"cardWideConfig",void 0),n([d({attribute:!1})],U.prototype,"cameraManager",void 0),n([d({attribute:!1})],U.prototype,"microphoneManager",void 0),n([d({attribute:!1})],U.prototype,"viewFilterCameraID",void 0),n([g()],U.prototype,"_mediaHasLoaded",void 0),U=n([c("frigate-card-live-carousel")],U);let B=class extends h{_renderCarousel(e){const i=this.viewManagerEpoch?.manager.getView(),t=e??i?.camera;return u` - - - `}_gridSelectCamera(e){this.viewManagerEpoch?.manager.setViewByParameters({params:{camera:e}})}_needsGrid(){const e=this.cameraManager?.getStore().getCameraIDsWithCapability("live"),i=this.viewManagerEpoch?.manager.getView();return!!i?.isGrid()&&!!i?.supportsMultipleDisplayModes()&&!!e&&e.size>1}willUpdate(e){e.has("viewManagerEpoch")&&this._needsGrid()&&import("./media-grid-110faed3.js")}render(){if(!this.conditionsManagerEpoch||!this.nonOverriddenLiveConfig)return;const e=this.cameraManager?.getStore().getCameraIDsWithCapability("live");return e?.size&&this._needsGrid()?u` - this._gridSelectCamera(e.detail.selected)} - > - ${[...e].map((e=>this._renderCarousel(e)))} - - `:this._renderCarousel()}static get styles(){return M(":host {\n width: 100%;\n height: 100%;\n display: block;\n}\n\n@keyframes warning-pulse {\n 0% {\n border: solid 2px var(--frigate-card-triggered-color-1, rgba(0, 0, 0, 0));\n }\n 50% {\n border: solid 2px var(--frigate-card-triggered-color-2, var(--warning-color));\n }\n 100% {\n border: solid 2px var(--frigate-card-triggered-color-1, rgba(0, 0, 0, 0));\n }\n}\nfrigate-card-live-carousel[triggered] {\n animation: warning-pulse 5s infinite;\n}\n\nfrigate-card-live-carousel[selected] {\n --frigate-card-triggered-color-1: var(--primary-color);\n}")}};n([d({attribute:!1})],B.prototype,"hass",void 0),n([d({attribute:!1})],B.prototype,"viewManagerEpoch",void 0),n([d({attribute:!1})],B.prototype,"nonOverriddenLiveConfig",void 0),n([d({attribute:!1})],B.prototype,"overriddenLiveConfig",void 0),n([d({attribute:!1,hasChanged:_})],B.prototype,"overrides",void 0),n([d({attribute:!1})],B.prototype,"conditionsManagerEpoch",void 0),n([d({attribute:!1})],B.prototype,"cardWideConfig",void 0),n([d({attribute:!1})],B.prototype,"cameraManager",void 0),n([d({attribute:!1})],B.prototype,"microphoneManager",void 0),n([d({attribute:!1})],B.prototype,"triggeredCameraIDs",void 0),B=n([c("frigate-card-live-grid")],B);let V=class extends h{constructor(){super(...arguments),this._controller=new O(this)}shouldUpdate(e){return this._controller.shouldUpdate()}willUpdate(){this._controller.clearMessageReceived()}render(){if(this.hass&&this.nonOverriddenLiveConfig&&this.cameraManager)return u`${Z(this._controller.getRenderEpoch(),u` - - - `)}`}static get styles(){return M(j)}};n([d({attribute:!1})],V.prototype,"conditionsManagerEpoch",void 0),n([d({attribute:!1})],V.prototype,"hass",void 0),n([d({attribute:!1})],V.prototype,"viewManagerEpoch",void 0),n([d({attribute:!1})],V.prototype,"nonOverriddenLiveConfig",void 0),n([d({attribute:!1})],V.prototype,"overriddenLiveConfig",void 0),n([d({attribute:!1,hasChanged:_})],V.prototype,"overrides",void 0),n([d({attribute:!1})],V.prototype,"cameraManager",void 0),n([d({attribute:!1})],V.prototype,"cardWideConfig",void 0),n([d({attribute:!1})],V.prototype,"microphoneManager",void 0),n([d({attribute:!1})],V.prototype,"triggeredCameraIDs",void 0),V=n([c("frigate-card-live")],V);var Y=Object.freeze({__proto__:null,get FrigateCardLive(){return V}});export{P as g,Y as i}; diff --git a/config/www/community/frigate-hass-card/index-9b434861.js.gz b/config/www/community/frigate-hass-card/index-9b434861.js.gz deleted file mode 100644 index 593a09a5faed28d9e0b2a84804be39cec1339971..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6883 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 diff --git a/config/www/community/frigate-hass-card/index-9bf80040.js b/config/www/community/frigate-hass-card/index-9bf80040.js deleted file mode 100644 index cb15a605..00000000 --- a/config/www/community/frigate-hass-card/index-9bf80040.js +++ /dev/null @@ -1,162 +0,0 @@ -import{cL as e,cM as i,cN as t,cO as a,cP as r,cQ as o,l as s,_ as n,n as d,b as g,t as c,a as h,cR as l,cI as m,cS as v,cT as p,x as u,cU as C,cV as f,e as I,r as M,cW as _,cX as w,cY as b,cZ as y,c_ as L,c$ as A,d0 as D,d1 as $,d2 as j}from"./card-45855f1f.js";import{p as z,u as k,i as S,M as E,A as N,a as x,b as T}from"./media-1a34ac2c.js"; -/** - * @license - * Copyright 2021 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const Z=e(class extends i{constructor(){super(...arguments),this.key=t}render(e,i){return this.key=e,i}update(e,[i,t]){return i!==this.key&&(a(e),this.key=i),t}});class O{constructor(e){this._inBackground=!1,this._messageReceived=!1,this._lastMediaLoadedInfo=null,this._renderEpoch=0,this._handleMessage=e=>{this._messageReceived=!0,this._inBackground&&(e.stopPropagation(),this._renderEpoch++)},this._handleMediaLoaded=e=>{this._lastMediaLoadedInfo={source:e.composedPath()[0],mediaLoadedInfo:e.detail},this._inBackground&&e.stopPropagation()},this._host=e,e.addController(this),this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this))}shouldUpdate(){return!(this._inBackground&&this._messageReceived)}hostConnected(){this._intersectionObserver.observe(this._host),this._host.addEventListener("frigate-card:media:loaded",this._handleMediaLoaded),this._host.addEventListener("frigate-card:message",this._handleMessage)}hostDisconnected(){this._intersectionObserver.disconnect(),this._host.removeEventListener("frigate-card:media:loaded",this._handleMediaLoaded),this._host.removeEventListener("frigate-card:message",this._handleMessage)}clearMessageReceived(){this._messageReceived=!1}isInBackground(){return this._inBackground}getRenderEpoch(){return this._renderEpoch}_intersectionHandler(e){const i=this._inBackground;this._inBackground=!e.some((e=>e.isIntersecting)),this._inBackground||this._messageReceived||!this._lastMediaLoadedInfo||r(this._lastMediaLoadedInfo.source,this._lastMediaLoadedInfo.mediaLoadedInfo),i!==this._inBackground&&this._host.requestUpdate()}}const P=(e,i,t)=>{if(!t?.camera_entity)return o(e,s("error.no_live_camera"),{context:t}),null;const a=i.states[t.camera_entity];return a||(o(e,s("error.live_camera_not_found"),{context:t}),null)};let G=class extends h{constructor(){super(...arguments),this.load=!1,this.label="",this._isVideoMediaLoaded=!1,this._refProvider=l(),this._importPromises=[]}async play(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await z(this,this._refProvider.value)}async pause(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.pause())}async mute(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.mute())}async unmute(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.unmute())}isMuted(){return this._refProvider.value?.isMuted()??!0}async seek(e){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.seek(e))}async setControls(e){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.setControls(e))}isPaused(){return this._refProvider.value?.isPaused()??!0}async getScreenshotURL(){return await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.getScreenshotURL())??null}_getResolvedProvider(){return"auto"===this.cameraConfig?.live_provider?this.cameraConfig?.webrtc_card?.entity||this.cameraConfig?.webrtc_card?.url?"webrtc-card":this.cameraConfig?.camera_entity?"ha":this.cameraConfig?.frigate.camera_name?"jsmpeg":m.cameras.live_provider:this.cameraConfig?.live_provider||"image"}_shouldShowImageDuringLoading(){return!!this.cameraConfig?.camera_entity&&!!this.hass&&!!this.liveConfig?.show_image_during_load}disconnectedCallback(){this._isVideoMediaLoaded=!1}_videoMediaShowHandler(){this._isVideoMediaLoaded=!0}willUpdate(e){if(e.has("load")&&(this.load||(this._isVideoMediaLoaded=!1,v(this))),e.has("liveConfig")&&(this.liveConfig?.show_image_during_load&&this._importPromises.push(import("./image-c0a8dc12.js")),this.liveConfig?.zoomable&&this._importPromises.push(import("./zoomer-28db7d93.js"))),e.has("cameraConfig")){const e=this._getResolvedProvider();"jsmpeg"===e?this._importPromises.push(import("./jsmpeg-05cdf58e.js")):"ha"===e?this._importPromises.push(import("./ha-1d1cb9a1.js")):"webrtc-card"===e?this._importPromises.push(import("./webrtc-card-171319e4.js")):"image"===e?this._importPromises.push(import("./image-c0a8dc12.js")):"go2rtc"===e&&this._importPromises.push(import("./index-d3be62c7.js")),k(this,this.cameraConfig?.dimensions?.layout),this.style.aspectRatio=p({ratio:this.cameraConfig?.dimensions?.aspect_ratio})}}async getUpdateComplete(){const e=await super.getUpdateComplete();return await Promise.all(this._importPromises),this._importPromises=[],e}_useZoomIfRequired(e){return this.liveConfig?.zoomable?u` this.cameraConfig?.dimensions?.layout?{pan:this.cameraConfig.dimensions.layout.pan,zoom:this.cameraConfig.dimensions.layout.zoom}:void 0))} - .settings=${this.zoomSettings} - @frigate-card:zoom:zoomed=${()=>this.setControls(!1)} - @frigate-card:zoom:unzoomed=${()=>this.setControls()} - > - ${e} - `:e}render(){if(!(this.load&&this.hass&&this.liveConfig&&this.cameraConfig))return;this.title=this.label,this.ariaLabel=this.label;const e=this._getResolvedProvider(),i=!this._isVideoMediaLoaded&&this._shouldShowImageDuringLoading(),t={hidden:i};if("ha"===e||"image"===e){const e=P(this,this.hass,this.cameraConfig);if(!e)return;if("unavailable"===e.state)return v(this),C({message:`${s("error.live_camera_unavailable")}${this.label?`: ${this.label}`:""}`,type:"info",icon:"mdi:cctv-off",dotdotdot:!0})}return u`${this._useZoomIfRequired(u` - ${i||"image"===e?u` {"image"===e?this._videoMediaShowHandler():i.stopPropagation()}} - > - `:u``} - ${"ha"===e?u` - `:"go2rtc"===e?u` - `:"webrtc-card"===e?u` - `:"jsmpeg"===e?u` - `:u``} - `)} - ${i&&!this._isVideoMediaLoaded?u``:""} `}static get styles(){return M(':host {\n background-color: var(--primary-background-color);\n background-position: center;\n background-repeat: no-repeat;\n background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4yLjIgKGIwYTg0ODY1NDEsIDIwMjItMTItMDEpIgogICBzb2RpcG9kaTpkb2NuYW1lPSJjYW1lcmEtaXJpcy5zdmciCiAgIGlkPSJzdmc0IgogICB2ZXJzaW9uPSIxLjEiCiAgIHZpZXdCb3g9IjAgMCAyNCAyNCIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9Im5hbWVkdmlldzYiCiAgICAgcGFnZWNvbG9yPSIjYjkzZTNlIgogICAgIGJvcmRlcmNvbG9yPSIjMDAwMDAwIgogICAgIGJvcmRlcm9wYWNpdHk9IjAuMjUiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuNjA3ODQzMTQiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6ZGVza2NvbG9yPSIjZDFkMWQxIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIyNi42MjUwNiIKICAgICBpbmtzY2FwZTpjeD0iLTEuOTM0MjY4IgogICAgIGlua3NjYXBlOmN5PSIxNS42ODA3MTYiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIzODQwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjE1MjciCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjEwODAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjIyNyIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzQiIC8+CiAgPGcKICAgICBpZD0iZzExMTkiCiAgICAgc3R5bGU9ImZpbGwtb3BhY2l0eTowLjA1O2ZpbGw6I2ZmZmZmZiI+CiAgICA8Y2lyY2xlCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjA1O3N0cm9rZS13aWR0aDoxLjM5NzI5IgogICAgICAgaWQ9InBhdGgxNzAiCiAgICAgICBjeD0iMTIiCiAgICAgICBjeT0iMTIiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iV2hpdGUgQmFja2dyb3VuZCIKICAgICAgIHI9IjExLjI1IiAvPgogICAgPHBhdGgKICAgICAgIGQ9Ik0gMTMuNzMwMDAxLDE1IDkuODMwMDAwMywyMS43NiBDIDEwLjUzLDIxLjkxIDExLjI1LDIyIDEyLDIyIGMgMi40MDAwMDEsMCA0LjYsLTAuODUgNi4zMiwtMi4yNSBMIDE0LjY2MDAwMSwxMy40IE0gMi40NjAwMDAzLDE1IGMgMC45MiwyLjkyIDMuMTUsNS4yNiA1Ljk5LDYuMzQgTCAxMi4xMiwxNSBtIC0zLjU3OTk5OTcsLTMgLTMuOSwtNi43NDk5OTk2IGMgLTEuNjQsMS43NDk5OTkgLTIuNjQsNC4xMzk5OTkzIC0yLjY0LDYuNzQ5OTk5NiAwLDAuNjggMC4wNywxLjM1IDAuMiwyIGggNy40OSBNIDIxLjgsOS45OTk5OTk3IEggMTQuMzEwMDAxIEwgMTQuNjAwMDAxLDEwLjUgMTkuMzYsMTguNzUgQyAyMSwxNi45NyAyMiwxNC42IDIyLDEyIDIyLDExLjMxIDIxLjkzLDEwLjY0IDIxLjgsOS45OTk5OTk3IG0gLTAuMjYsLTEgQyAyMC42Miw2LjA3MDAwMDUgMTguMzksMy43NDAwMDAyIDE1LjU1MDAwMSwyLjY2MDAwMDIgTCAxMS44OCw4Ljk5OTk5OTcgTSA5LjQwMDAwMDMsMTAuNSAxNC4xNzAwMDEsMi4yNDAwMDAyIGMgLTAuNywtMC4xNSAtMS40MjAwMDEsLTAuMjQgLTIuMTcwMDAxLC0wLjI0IC0yLjM5OTk5OTcsMCAtNC41OTk5OTk3LDAuODQgLTYuMzE5OTk5NywyLjI1MDAwMDMgbCAzLjY2LDYuMzQ5OTk5NSB6IgogICAgICAgaWQ9InBhdGgyIgogICAgICAgaW5rc2NhcGU6bGFiZWw9IklyaXMiCiAgICAgICBzdHlsZT0iZmlsbC1vcGFjaXR5OjAuMDU7ZmlsbDojZmZmZmZmIiAvPgogIDwvZz4KPC9zdmc+Cg==");\n background-size: 10%;\n background-position: center;\n}\n\n:host {\n display: block;\n height: 100%;\n width: 100%;\n position: relative;\n}\n\n.hidden {\n display: none;\n}\n\nha-icon {\n position: absolute;\n top: 10px;\n right: 10px;\n color: var(--primary-color);\n}')}};n([d({attribute:!1})],G.prototype,"hass",void 0),n([d({attribute:!1})],G.prototype,"cameraConfig",void 0),n([d({attribute:!1})],G.prototype,"cameraEndpoints",void 0),n([d({attribute:!1})],G.prototype,"liveConfig",void 0),n([d({attribute:!0,type:Boolean})],G.prototype,"load",void 0),n([d({attribute:!1})],G.prototype,"label",void 0),n([d({attribute:!1})],G.prototype,"cardWideConfig",void 0),n([d({attribute:!1})],G.prototype,"microphoneStream",void 0),n([d({attribute:!1})],G.prototype,"zoomSettings",void 0),n([g()],G.prototype,"_isVideoMediaLoaded",void 0),G=n([c("frigate-card-live-provider")],G);const W="frigate-card-live-provider";let U=class extends h{constructor(){super(...arguments),this._cameraToSlide={},this._refPTZControl=l(),this._refCarousel=l(),this._mediaActionsController=new E,this._mediaHasLoaded=!1}connectedCallback(){super.connectedCallback(),this.requestUpdate()}disconnectedCallback(){this._mediaActionsController.destroy(),super.disconnectedCallback()}_getTransitionEffect(){return this.overriddenLiveConfig?.transition_effect??m.live.transition_effect}_getSelectedCameraIndex(){if(this.viewFilterCameraID)return 0;const e=this.cameraManager?.getStore().getCameraIDsWithCapability("live"),i=this.viewManagerEpoch?.manager.getView();return e?.size&&i?Math.max(0,Array.from(e).indexOf(i.camera)):0}willUpdate(e){(e.has("microphoneManager")||e.has("overriddenLiveConfig"))&&this._mediaActionsController.setOptions({playerSelector:W,...this.overriddenLiveConfig?.auto_play&&{autoPlayConditions:this.overriddenLiveConfig.auto_play},...this.overriddenLiveConfig?.auto_pause&&{autoPauseConditions:this.overriddenLiveConfig.auto_pause},...this.overriddenLiveConfig?.auto_mute&&{autoMuteConditions:this.overriddenLiveConfig.auto_mute},...this.overriddenLiveConfig?.auto_unmute&&{autoUnmuteConditions:this.overriddenLiveConfig.auto_unmute},...(this.overriddenLiveConfig?.auto_unmute||this.overriddenLiveConfig?.auto_mute)&&{microphoneManager:this.microphoneManager,microphoneMuteSeconds:this.overriddenLiveConfig.microphone.mute_after_microphone_mute_seconds}})}_getPlugins(){return[N({...this.overriddenLiveConfig?.lazy_load&&{lazyLoadCallback:(e,i)=>this._lazyloadOrUnloadSlide("load",e,i)},lazyUnloadConditions:this.overriddenLiveConfig?.lazy_unload,lazyUnloadCallback:(e,i)=>this._lazyloadOrUnloadSlide("unload",e,i)}),x(),T()]}_getLazyLoadCount(){return!1===this.overriddenLiveConfig?.lazy_load?null:0}_getSlides(){if(!this.cameraManager)return[[],{}];const e=this.viewManagerEpoch?.manager.getView(),i=this.viewFilterCameraID?new Set([this.viewFilterCameraID]):this.cameraManager?.getStore().getCameraIDsWithCapability("live"),t=[],a={};for(const[r,o]of this.cameraManager.getStore().getCameraConfigEntries(i)){const i=this._getSubstreamCameraID(r,e),s=r===i?o:this.cameraManager?.getStore().getCameraConfig(i),n=s?this._renderLive(i,s):null;n&&(a[r]=t.length,t.push(n))}return[t,a]}_setViewHandler(e){const i=this.cameraManager?.getStore().getCameraIDsWithCapability("live");i?.size&&e.detail.index!==this._getSelectedCameraIndex()&&this._setViewCameraID([...i][e.detail.index])}_setViewCameraID(e){e&&this.viewManagerEpoch?.manager.setViewByParametersWithNewQuery({params:{camera:e}})}_lazyloadOrUnloadSlide(e,i,t){t instanceof HTMLSlotElement&&(t=t.assignedElements({flatten:!0})[0]);const a=t?.querySelector(W);a&&(a.load="load"===e)}_renderLive(e,i){if(!(this.overriddenLiveConfig&&this.nonOverriddenLiveConfig&&this.hass&&this.cameraManager&&this.conditionsManagerEpoch))return;let t=null;try{t=w(this.conditionsManagerEpoch.manager,{live:this.nonOverriddenLiveConfig},{configOverrides:this.overrides,stateOverrides:{camera:e},schema:b}).live}catch(e){return y(this,e)}const a=this.cameraManager.getCameraMetadata(e),r=this.viewManagerEpoch?.manager.getView();return u` -
- this.cameraManager?.getCameraEndpoints(e)??void 0))} - .label=${a?.title??""} - .liveConfig=${t} - .hass=${this.hass} - .cardWideConfig=${this.cardWideConfig} - .zoomSettings=${r?.context?.zoom?.[e]?.requested} - @frigate-card:zoom:change=${i=>L(i,this.viewManagerEpoch?.manager,e)} - > - -
- `}_getCameraIDsOfNeighbors(){const e=this.cameraManager?[...this.cameraManager?.getStore().getCameraIDsWithCapability("live")]:[],i=this.viewManagerEpoch?.manager.getView();if(this.viewFilterCameraID||e.length<=1||!i||!this.hass)return[null,null];const t=this.viewFilterCameraID??i.camera,a=e.indexOf(t);return a<0?[null,null]:[e[a>0?a-1:e.length-1],e[a+11,[r,o]=this._getCameraIDsOfNeighbors(),s=r?this.cameraManager.getCameraMetadata(this._getSubstreamCameraID(r,e)):null,n=o?this.cameraManager.getCameraMetadata(this._getSubstreamCameraID(o,e)):null,d=!(!this._mediaHasLoaded||this.viewFilterCameraID&&this.viewFilterCameraID!==e.camera||!1===e.context?.ptzControls?.enabled)&&e.context?.ptzControls?.enabled;return u` - {this._mediaHasLoaded=!0}} - @frigate-card:media:unloaded=${()=>{this._mediaHasLoaded=!1}} - > - {this._setViewCameraID(r),A(e)}} - > - - ${i} - {this._setViewCameraID(o),A(e)}} - > - - - - - `}_setMediaTarget(){const e=this.viewManagerEpoch?.manager.getView(),i=this._getSelectedCameraIndex();this.viewFilterCameraID?this._mediaActionsController.setTarget(i,e?.camera===this.viewFilterCameraID):this._mediaActionsController.setTarget(i,!0)}updated(e){super.updated(e);let i=!1;!this._mediaActionsController.hasRoot()&&this._refCarousel.value&&(this._mediaActionsController.initialize(this._refCarousel.value),i=!0),(i||e.has("viewManagerEpoch"))&&this._setMediaTarget()}static get styles(){return M(":host {\n display: block;\n --video-max-height: none;\n}\n\n:host(:not([grid-id])) {\n height: 100%;\n}\n\n:host([unselected]) frigate-card-carousel {\n pointer-events: none;\n}\n\n.embla__slide {\n display: flex;\n justify-content: center;\n height: 100%;\n flex: 0 0 100%;\n}")}};n([d({attribute:!1})],U.prototype,"hass",void 0),n([d({attribute:!1})],U.prototype,"viewManagerEpoch",void 0),n([d({attribute:!1})],U.prototype,"nonOverriddenLiveConfig",void 0),n([d({attribute:!1})],U.prototype,"overriddenLiveConfig",void 0),n([d({attribute:!1,hasChanged:_})],U.prototype,"overrides",void 0),n([d({attribute:!1})],U.prototype,"conditionsManagerEpoch",void 0),n([d({attribute:!1})],U.prototype,"cardWideConfig",void 0),n([d({attribute:!1})],U.prototype,"cameraManager",void 0),n([d({attribute:!1})],U.prototype,"microphoneManager",void 0),n([d({attribute:!1})],U.prototype,"viewFilterCameraID",void 0),n([g()],U.prototype,"_mediaHasLoaded",void 0),U=n([c("frigate-card-live-carousel")],U);let B=class extends h{_renderCarousel(e){const i=this.viewManagerEpoch?.manager.getView(),t=e??i?.camera;return u` - - - `}_gridSelectCamera(e){this.viewManagerEpoch?.manager.setViewByParameters({params:{camera:e}})}_needsGrid(){const e=this.cameraManager?.getStore().getCameraIDsWithCapability("live"),i=this.viewManagerEpoch?.manager.getView();return!!i?.isGrid()&&!!i?.supportsMultipleDisplayModes()&&!!e&&e.size>1}willUpdate(e){e.has("viewManagerEpoch")&&this._needsGrid()&&import("./media-grid-0f7352bc.js")}render(){if(!this.conditionsManagerEpoch||!this.nonOverriddenLiveConfig)return;const e=this.cameraManager?.getStore().getCameraIDsWithCapability("live");return e?.size&&this._needsGrid()?u` - this._gridSelectCamera(e.detail.selected)} - > - ${[...e].map((e=>this._renderCarousel(e)))} - - `:this._renderCarousel()}static get styles(){return M(":host {\n width: 100%;\n height: 100%;\n display: block;\n}\n\n@keyframes warning-pulse {\n 0% {\n border: solid 2px var(--frigate-card-triggered-color-1, rgba(0, 0, 0, 0));\n }\n 50% {\n border: solid 2px var(--frigate-card-triggered-color-2, var(--warning-color));\n }\n 100% {\n border: solid 2px var(--frigate-card-triggered-color-1, rgba(0, 0, 0, 0));\n }\n}\nfrigate-card-live-carousel[triggered] {\n animation: warning-pulse 5s infinite;\n}\n\nfrigate-card-live-carousel[selected] {\n --frigate-card-triggered-color-1: var(--primary-color);\n}")}};n([d({attribute:!1})],B.prototype,"hass",void 0),n([d({attribute:!1})],B.prototype,"viewManagerEpoch",void 0),n([d({attribute:!1})],B.prototype,"nonOverriddenLiveConfig",void 0),n([d({attribute:!1})],B.prototype,"overriddenLiveConfig",void 0),n([d({attribute:!1,hasChanged:_})],B.prototype,"overrides",void 0),n([d({attribute:!1})],B.prototype,"conditionsManagerEpoch",void 0),n([d({attribute:!1})],B.prototype,"cardWideConfig",void 0),n([d({attribute:!1})],B.prototype,"cameraManager",void 0),n([d({attribute:!1})],B.prototype,"microphoneManager",void 0),n([d({attribute:!1})],B.prototype,"triggeredCameraIDs",void 0),B=n([c("frigate-card-live-grid")],B);let V=class extends h{constructor(){super(...arguments),this._controller=new O(this)}shouldUpdate(e){return this._controller.shouldUpdate()}willUpdate(){this._controller.clearMessageReceived()}render(){if(this.hass&&this.nonOverriddenLiveConfig&&this.cameraManager)return u`${Z(this._controller.getRenderEpoch(),u` - - - `)}`}static get styles(){return M(j)}};n([d({attribute:!1})],V.prototype,"conditionsManagerEpoch",void 0),n([d({attribute:!1})],V.prototype,"hass",void 0),n([d({attribute:!1})],V.prototype,"viewManagerEpoch",void 0),n([d({attribute:!1})],V.prototype,"nonOverriddenLiveConfig",void 0),n([d({attribute:!1})],V.prototype,"overriddenLiveConfig",void 0),n([d({attribute:!1,hasChanged:_})],V.prototype,"overrides",void 0),n([d({attribute:!1})],V.prototype,"cameraManager",void 0),n([d({attribute:!1})],V.prototype,"cardWideConfig",void 0),n([d({attribute:!1})],V.prototype,"microphoneManager",void 0),n([d({attribute:!1})],V.prototype,"triggeredCameraIDs",void 0),V=n([c("frigate-card-live")],V);var Y=Object.freeze({__proto__:null,get FrigateCardLive(){return V}});export{P as g,Y as i}; diff --git a/config/www/community/frigate-hass-card/index-9bf80040.js.gz b/config/www/community/frigate-hass-card/index-9bf80040.js.gz deleted file mode 100644 index 3e1f9c5deb190535f4996502ba6a6f4ff2d04253..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6885 zcmVf%_|QZRABxz)M^CiyA&U|| z`l5V`PgRu5_#BCH9iLNCZs2n)KI3B|%6IrIigFX5U6J6UEE@Qzit;@^+oJp(pEFT@ zz-LF4Tlk!dGGnA7%J1=cCMs!smP93k&-bE|#phtvHS|$D^}8$?O7iIV)A4aP(@hP` z_$lRL7$ew1oZw?9Qhd}!CXx&B3?DT(cjRg##zc3ehaurNqd^&g-S* zVX~-76Gr8CS=US}*2r0xVk}9W|C;2bS4P!V6ewJWTBxPFq_}b9NQctp|t|f%< zXutg?tk%YJne>er#s1RNCx%RNBqi%$cqUPo<9uWDHc}m`DV(sd zGW+^ORqnX)I979zh+;lcDZ&aF2Zl8mgD45lYQij~bp9dX%~M`M2aF}r1LT;fb1IW{e3L5oBgm!_k1|6(uM#!o-KM6vkcj{b1{vv7@@uEH3(aja zlT{)a)u0~T*@YMOikfAgAtZwSCtxJ29{l91l;I3#labOivvNR%w)W+~*%>`T9I)IspI57;}NNIXog(gOZje!>4pH-Q$GoZ8qzcjf4&4n$2I+#kokG8nSKXz_^9Se{QInYY z$ETHK&NVqUR;4*`A`!a zq?x)3QNqD;`HM>vOONMmf6o0NNTy4B1@0QhHbx-=U`9HICATqP7gF5O+RbD5+`( zVy&0NMa7I&d+IhK-%eVx4Jo~vQB}1gHLO91%LG|X#F2@(0Q(a+fI;-!7O|#wQZ9%N z1$UA@IxkM#$s~e7E;XK*{RD4Iz#f>PCFQjANs%*I+yguLl7EDSu8*XSN_L}((8Ne) zKPjC*l#@eF)SZoA$IxzPdc@9!BA3~zV~?=JNMRQiID9gFEGymPPlU6O!zHjYiN2J~ zC>gnPB4r$O|AO0@jt?oB`6F|fIUz?5LB2+ICKaWuT)d}eVE{&DN1a3Z{hU+|JLF?l z{=?S!(3hPAm!U!-12Z8#H(`-WbA94$*Gy}!!ba5`!`iyVeQbW5SQ_{t_W~J?(`K+M z$ZK8ye;4rA3C}us1Ymh#Dgy2_5Gd@4r(m@wq6D%r{}aio4PmJT23+pmLiSA!h*2aM z&!QGaVe%vP*}wNn@QsrPA=LZlWqK20ln~UJq#y9lz}}RN%!H%>qB}i*PH~VC zUcjGd+bQ_)zxXJTxUh$=e2IX#2qkyTM+!ujYmy@ zOY>ir;YhS01e?8?k4bUB7afndyCyg zxX_fbPBqI6;<(Krv=NoTcKfXt#Ik%PD1z6CMJq)*`<$U64x&E%IGO3+lIjfGnQ z8cZnVjkFpc)Ee`<8qap~*};HbVM4DqB8F%v_b`+7(fqApw6~bS-(U#qrVwomKINiC z__t!w?wUh{*x%h0UNVNA%;8lA@dlH4wNd;niVdqaTDe?T{&@VurUi+?hYuUGOY{S< zL&lWKHxAEkeaRc!kFgU87%U#(5>fLk8yg#X&w$J?*(WOO@8Vw0{`q%%j4v#mi~U$( z=1AFAF~+u^rgunKP5di|*Cw&$f3;Yw<6fyGWnI;cTx=>CiDYtYKn7yWlk5G$=^EBp zH!0>fxtL7wI%&P%AY&p~xtONgAJ+j`rjv_J3^fsl-Kvyh4ZoYy-fzz%^|T|Ia;UR(`x-_R;K4_XH=WEF4akEk*3Y&?PaCWqvdb4^uzt}@ZtV> z+8N!Qlt;(Y^5D~N#liDJ8Oi@C7teaq{jniuYkm3h?&BKWd1X-U{pYegdua61SEYwc zt#o0QOXXR0P`0WK_*1$VmwS4zTs&WNvbSUT@? zudzHo#&Kzpp7qL?>Ja+zd)lUvZGHc1A>E%$uIuIJ%HV>-eQS+d-<4wLuy;}(ob{^3 zvw4mEDKq}bWyb7i)sMb;z&!hD<=ffE%KYR|Ig}^9zDeisFRhY2?sx8+3;FWvp!K~v z_4V6h_N~t4@#0EjGM(YvfLC4lc00SGpQdsa=K1{``i2wuoRLR0wKY1Kx3WNg)J#{> zw|BS26Hg}f^sF+vO}BzPhxk+$RnFf6WL!F%%7-n@mJR6rc_J^yD6ie{21hv7r`Bb2 zB+rnBEAwINzO}e2mV1>2hw;tlV`uc$YTe&vrTgX~lLfPp8?+si*-#m&sXP9Mln zYu(qToy(Is=xy*Y7%p0kn#%dcG5?y%qg${64+eNdK4)Q=li9<4ZLEA7qOK>^!5#H@ z@a$C1_NU6>dB2ryE~Lw^!_FbdWKfQVW&8!{)&^&XSEZXpwQ;irr>4Un18kCZvR~(| zQku3#Urjk1%@fFZA!WTewn|@z)%%-gcaGm`dgoBlxB&s4DvgWDRim1&4jzs?d8!lXur_%3ey(1PYR9;q zYW1V+Rq5=o+IWcMU&(^+xI8(md{@S;Z?`(&EI>xHNSYAYI-}dEGS7gFR89H@_A$7~ zR0r}4v~dkz%z%#<;80I6|9RxR4*>^tZguXz9!d9^F&Q<7IL8h1&&b+eYDc?)HU0It z^}T#j)@s?-;)a%s;0u9|>r2@khv|87@my^TJsUr~J?=2S(i(RzXI2Mn?;)$ENkgAi z24|V8ENlN*&bCJEUt0dn#{C3v^M~xS>d-=8seDt-Rs-!xH9IAJU}KGJI$`>UwKS{^ zqgBtq+;7uTNeBN}J+3Xv$L^e+b*i2BmCN39ZQ;on#$>hvK0Daf2(|g;Y(CtB+yJkc z?T?kqyWY*{>p;pX^Uh&&;`lOd+hx=%@Knx}>Dlz!=IQzyZ;j%^~(2*64YuT)Key-z_R7j0eMK_|C?F?{oM(XV1%OuS$>7 z+^1Za5FgT&!Gl?8oB_?d9;~57mCh`Hnb+#)RlvjkEQ7Dlo~!etbonC9XnfV`0!^2>+IYr7t;&i`|zqU zJicnkz)Q6Uehds@Usa~J3r-*C0o^Rv{~^~c^3el6h9>9?WW{(yI{;nWWo&)UUEP+- zTrc&bqpRZV2=!&_qt~dP9ajc7+}=u6m>0;feui_vb;Iol?Zp{`=?P%wU`Gg3KeK=? z_*@RldB0(Lt2SgVyCTH=K{?I!R&~Zk`?O%3j5BxCANX0oMO(VydY$7u${Cx#UZ)5) z3G=e;jlKW!n@RuQ4w>`nzuJE_Uv{og6N_wev5ufE?tU_VL&ileW zY>+xp?Xgi2WxS*3SC4FrDJ8S7R0VHp_m`aOvvlyHkn6E3X;P0EyrKzI4?@C^4z77m zt$tA&OC73GYtBnd;&`3t4rWteRl0@Lh<`&GP3ZJ4+_4M{;=qRwv{03-J^(%^(&Cw6 zNb?lFW|1I5iq#ujbraNPP7reI;|MDS{21L7o; zM#Y&AB#xe2J;*qTX%xLiF2edZ4S&hHw7ez<_q z4YC2dmM0AGB;?-inJuhNk{~Xhb|H{6?jH?Nf6}|LF!4y*TzD7Y7%7N}3hVD!AkL&? zvTVrVCSiyK;$z+beb9ow^E~)iFo>w-&4T}}4^(4LU(nbTo!t@}&YLT>M_ADG=`l#{ zNmzvdVHQr!-ew!LkD`K^Gx!|0V(MJ;t(Hn5Ys+T80a#0pq})8_g)zj)oMEX)i;Rly4J0t#RHH1^K$+)vvD%&s8YLaqEW@Y zo5s(Z_b0xazXCIh_savz^W=ew!iX9T!zl;%N|ZtY++OyGkr3=!#Q@#4`(PT;>A&|4 zmS;Ly0tr`R`o}K@$$-oYg~+l={`S)QrBvWWfrUam9t3br32%V|UE6NI_r8S=6l~g} z=C5t>`qo0~kvtWgJr_}4sL7Q3lGY=JN52*7#BI?*l zVAxyK_&+C!u{LHV1!uNMv@qt8z2saAwgbH7o_l0~r zp>!3tc1B`}2h^5HfDC(slDB`!h%8I(bv$PWQ+u`2#zp zUOT?AH(_DZ^CdOGjsq(=+CDLDm zi+|@A=FU$?mmpJZpfrbP0DjYKvdS<#@eibJvUhe zL9+{?hGbwGw14I!(ie^5;ru0T=LOkK6sQK_OH%2ABsNfBZ&jrQF+ts{hjoqkt{v7@ zxxGR)zWok7nPhdo$&vJ&bne6b*Vqg@k<&l|k3CokNvb>v0w=e2f9`{SoM=uO@Fc_{ zm!fkq&VG$0N$@vi%;3-||CWDk0$r8xOY*_Qv}kwE)<2L4l+K3k_Yo@>OT)ho%kj;Z z=y&^Gq6ZK{`r8M2!}-o$H1s_Qh%m(>+ej<9_9kj%KOsb)XzfR0uM79Pa5;i=tG5qk z_)c(N)d#&+_{Khfu$B;d(03be>z!4ExAk}2mz{?$;_ahP$Jc~Tuy^tLRvt0{>Nw^X zHa-E?+{k6S4G3886aKT8Ejdq!H3w|HeGMfj_I%*2+fApY4(UyYsvZG-3%0%;HF_nu zNkU|Acw}O(4M)sCO0mx=+MDjAJA}H-Ghk&3whpaHyhHK zfOUDNa3BVrk8pbK?+5O6y|Lj+LnA~nFJXl3hkAc^&BMU~#UHTYjG!R#`e-u7pAs;u z6V;+)m6UjBtm^Cp34z${65cX>$*k2rY|Js76vH>~4XjJPZ#}n1GGs*P-@nCa!E(x1ONr9XdDN*}-u=PVxj`Nkw2oggOY=R84gzP?g6SlD`HA72N4 zLU-*agM2ut;7{%Pa{;Gd)dw8?8?Au|zg`2ey;vfuCW`&sNh=W=eEnBkMK?M}ZZ!ho z`K3eD{kIgqV9)TTT>~Dr`hRoweOO!TzmU6rF8qc~$Bx^M*IfVav-No8<^#~ei`Kyl z_v~5`;N>;!we=U?4j*g|Ma{Q6)#kp@tofE`*8Bz0toci$S@TuVtoiDA(tLdoYrZKI zHFpg~%}t>Qqfk>gg_J4wkiY5-Ak#{94MG+qv23>)^>&-zyrU(5<@k`SE39tLHR&e) fXg_&oe+R-f|63f`->^Ver|this.onconnect())),this.ondisconnect()):(this.ondisconnect(),this.onconnect())}set src(e){"string"!=typeof e&&(e=e.toString()),e.startsWith("http")?e="ws"+e.substring(4):e.startsWith("/")&&(e="ws"+location.origin.substring(4)+e),this.wsURL=e,this.onconnect()}play(){}send(e){this.ws&&this.ws.send(JSON.stringify(e))}codecs(e){return this.CODECS.filter((e=>this.media.indexOf(e.indexOf("vc1")>0?"video":"audio")>=0)).filter((t=>e(`video/mp4; codecs="${t}"`))).join()}connectedCallback(){if(this.disconnectTID&&(clearTimeout(this.disconnectTID),this.disconnectTID=0),this.video){const e=this.video.seekable;e.length>0&&(this.video.currentTime=e.end(e.length-1)),this.play()}else this.oninit();this.onconnect()}disconnectedCallback(){this.background||this.disconnectTID||this.wsState===WebSocket.CLOSED&&this.pcState===WebSocket.CLOSED||(this.disconnectTID=setTimeout((()=>{this.reconnectTID&&(clearTimeout(this.reconnectTID),this.reconnectTID=0),this.disconnectTID=0,this.ondisconnect()}),this.DISCONNECT_TIMEOUT))}oninit(){this.video=document.createElement("video"),u(this.video,this.controls),this.video.playsInline=!0,this.video.preload="auto",this.video.style.display="block",this.video.style.width="100%",this.video.style.height="100%",this.appendChild(this.video),this.video.addEventListener("error",(e=>{this.ws&&this.wsState===WebSocket.OPEN&&this.ws.close()}));const n=window.navigator.userAgent.match(/Version\/(\d+).+Safari/);if(n){const e=n[1]<"13"?"mp4a.40.2":n[1]<"14"?"flac":"opus";this.CODECS.splice(this.CODECS.indexOf(e))}if(!this.background){if("hidden"in document&&this.visibilityCheck&&document.addEventListener("visibilitychange",(()=>{document.hidden?this.disconnectedCallback():this.isConnected&&this.connectedCallback()})),"IntersectionObserver"in window&&this.visibilityThreshold){new IntersectionObserver((e=>{e.forEach((e=>{e.isIntersecting?this.isConnected&&this.connectedCallback():this.disconnectedCallback()}))}),{threshold:this.visibilityThreshold}).observe(this)}this.video.onloadeddata=()=>{this.controls&&v(this.video,y),e(this,this.video,{player:this.containingPlayer,capabilities:{supports2WayAudio:!!this.pc,supportsPause:!0,hasAudio:b(this.video)},technology:w(this)})},this.video.onvolumechange=()=>t(this),this.video.onplay=()=>i(this),this.video.onpause=()=>s(this),this.video.muted=!0}}onconnect(){return!(!this.isConnected||!this.wsURL||this.ws||this.pc)&&(this.wsState=WebSocket.CONNECTING,this.connectTS=Date.now(),this.ws=new WebSocket(this.wsURL),this.ws.binaryType="arraybuffer",this.ws.addEventListener("open",(e=>this.onopen(e))),this.ws.addEventListener("close",(e=>this.onclose(e))),!0)}ondisconnect(){this.wsState=WebSocket.CLOSED,this.ws&&(this.ws.close(),this.ws=null),this.pcState=WebSocket.CLOSED,this.pc&&(this.pc.getSenders().forEach((e=>{e.track&&e.track.stop()})),this.pc.close(),this.pc=null),this.video.src="",this.video.srcObject=null}onopen(){this.wsState=WebSocket.OPEN,this.ws.addEventListener("message",(e=>{if("string"==typeof e.data){const t=JSON.parse(e.data);for(const e in this.onmessage)this.onmessage[e](t)}else this.ondata(e.data)})),this.ondata=null,this.onmessage={};const e=[];return this.mode.indexOf("mse")>=0&&("MediaSource"in window||"ManagedMediaSource"in window)?(e.push("mse"),this.onmse()):this.mode.indexOf("hls")>=0&&this.video.canPlayType("application/vnd.apple.mpegurl")?(e.push("hls"),this.onhls()):this.mode.indexOf("mp4")>=0&&(e.push("mp4"),this.onmp4()),this.mode.indexOf("webrtc")>=0&&"RTCPeerConnection"in window&&(e.push("webrtc"),this.onwebrtc()),this.mode.indexOf("mjpeg")>=0&&(e.length?this.onmessage.mjpeg=t=>{"error"===t.type&&0===t.value.indexOf(e[0])&&this.onmjpeg()}:(e.push("mjpeg"),this.onmjpeg())),e}onclose(){if(this.wsState===WebSocket.CLOSED)return!1;this.wsState=WebSocket.CONNECTING,this.ws=null;const e=Math.max(this.RECONNECT_TIMEOUT-(Date.now()-this.connectTS),0);return this.reconnectTID=setTimeout((()=>{this.reconnectTID=0,this.onconnect()}),e),!0}onmse(){let e;if("ManagedMediaSource"in window){const t=window.ManagedMediaSource;e=new t,e.addEventListener("sourceopen",(()=>{this.send({type:"mse",value:this.codecs(t.isTypeSupported)})}),{once:!0}),this.video.disableRemotePlayback=!0,this.video.srcObject=e}else e=new MediaSource,e.addEventListener("sourceopen",(()=>{URL.revokeObjectURL(this.video.src),this.send({type:"mse",value:this.codecs(MediaSource.isTypeSupported)})}),{once:!0}),this.video.src=URL.createObjectURL(e),this.video.srcObject=null;this.play(),this.mseCodecs="",this.onmessage.mse=t=>{if("mse"!==t.type)return;this.mseCodecs=t.value;const i=e.addSourceBuffer(t.value);i.mode="segments",i.addEventListener("updateend",(()=>{if(!i.updating)try{if(n>0){const e=s.slice(0,n);n=0,i.appendBuffer(e)}else if(i.buffered&&i.buffered.length){const t=i.buffered.end(i.buffered.length-1)-15,s=i.buffered.start(0);t>s&&(i.remove(s,t),e.setLiveSeekableRange(t,t+15))}}catch(e){}}));const s=new Uint8Array(2097152);let n=0;this.ondata=e=>{if(i.updating||n>0){const t=new Uint8Array(e);s.set(t,n),n+=t.byteLength}else try{i.appendBuffer(e)}catch(e){}}}}onwebrtc(){const e=new RTCPeerConnection(this.pcConfig);e.addEventListener("icecandidate",(e=>{if(e.candidate&&this.mode.indexOf("webrtc/tcp")>=0&&"udp"===e.candidate.protocol)return;const t=e.candidate?e.candidate.toJSON().candidate:"";this.send({type:"webrtc/candidate",value:t})})),e.addEventListener("connectionstatechange",(()=>{if("connected"===e.connectionState){const t=e.getTransceivers().filter((e=>"recvonly"===e.currentDirection)).map((e=>e.receiver.track)),i=document.createElement("video");i.addEventListener("loadeddata",(()=>this.onpcvideo(i)),{once:!0}),i.srcObject=new MediaStream(t)}else"failed"!==e.connectionState&&"disconnected"!==e.connectionState||(e.close(),this.pcState=WebSocket.CLOSED,this.pc=null,this.onconnect())})),this.onmessage.webrtc=t=>{switch(t.type){case"webrtc/candidate":if(this.mode.indexOf("webrtc/tcp")>=0&&t.value.indexOf(" udp ")>0)return;e.addIceCandidate({candidate:t.value,sdpMid:"0"}).catch((e=>{console.warn(e)}));break;case"webrtc/answer":e.setRemoteDescription({type:"answer",sdp:t.value}).catch((e=>{console.warn(e)}));break;case"error":if(t.value.indexOf("webrtc/offer")<0)return;e.close()}},this.createOffer(e).then((e=>{this.send({type:"webrtc/offer",value:e.sdp})})),this.pcState=WebSocket.CONNECTING,this.pc=e}async createOffer(e){this.microphoneStream?.getTracks().forEach((t=>{e.addTransceiver(t,{direction:"sendonly"})}));try{if(this.media.indexOf("microphone")>=0){(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach((t=>{e.addTransceiver(t,{direction:"sendonly"})}))}}catch(e){console.warn(e)}for(const t of["video","audio"])this.media.indexOf(t)>=0&&e.addTransceiver(t,{direction:"recvonly"});const t=await e.createOffer();return await e.setLocalDescription(t),t}onpcvideo(e){if(this.pc){let t=0,i=0;const s=e.srcObject;s.getVideoTracks().length>0&&(t+=544),s.getAudioTracks().length>0&&(t+=258),this.mseCodecs.indexOf("hvc1.")>=0&&(i+=560),this.mseCodecs.indexOf("avc1.")>=0&&(i+=528),this.mseCodecs.indexOf("mp4a.")>=0&&(i+=257),t>=i?(this.video.srcObject=s,this.play(),this.pcState=WebSocket.OPEN,this.wsState=WebSocket.CLOSED,this.ws&&(this.ws.close(),this.ws=null)):(this.pcState=WebSocket.CLOSED,this.pc&&(this.pc.close(),this.pc=null))}e.srcObject=null}onmjpeg(){let t=!1;this.ondata=i=>{u(this.video,!1),this.video.poster="data:image/jpeg;base64,"+S.btoa(i),t||(t=!0,e(this,this.video,{player:this.containingPlayer,technology:["mjpeg"]}))},this.send({type:"mjpeg"})}onhls(){this.onmessage.hls=e=>{if("hls"!==e.type)return;const t="http"+this.wsURL.substring(2,this.wsURL.indexOf("/ws"))+"/hls/",i=e.value.replace("hls/",t);this.video.src="data:application/vnd.apple.mpegurl;base64,"+btoa(i),this.play()},this.send({type:"hls",value:this.codecs((e=>this.video.canPlayType(e)))})}onmp4(){const t=document.createElement("canvas");let i;const s=document.createElement("video");s.autoplay=!0,s.playsInline=!0,s.muted=!0,s.addEventListener("loadeddata",(n=>{i||(t.width=s.videoWidth,t.height=s.videoHeight,i=t.getContext("2d"),e(this,s,{player:this.containingPlayer,technology:["mp4"]})),i.drawImage(s,0,0,t.width,t.height),u(this.video,!1),this.video.poster=t.toDataURL("image/jpeg")})),this.ondata=e=>{s.src="data:video/mp4;base64,"+S.btoa(e)},this.send({type:"mp4",value:this.codecs(this.video.canPlayType)})}static btoa(e){const t=new Uint8Array(e),i=t.byteLength;let s="";for(let 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,o=r?e:1-e;if(o<=50)n=t||100;else{var u=o+50;n=t+100*Math.floor(u/100)-(t>=u%100?100:0)}return r?n:1-n}function ot(t){return t%400==0||t%4==0&&t%100!=0}function ut(t){return ut="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ut(t)}function it(t,e){for(var n=0;n0}},{key:"set",value:function(t,e,n){var r=t.getUTCFullYear();if(n.isTwoDigitYear){var o=rt(n.year,r);return t.setUTCFullYear(o,0,1),t.setUTCHours(0,0,0,0),t}var u="era"in e&&1!==e.era?1-n.year:n.year;return t.setUTCFullYear(u,0,1),t.setUTCHours(0,0,0,0),t}}])&&it(e.prototype,n),r&&it(e,r),u}();function pt(t){return pt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},pt(t)}function bt(t,e){for(var n=0;n0}},{key:"set",value:function(t,e,n,u){var i=r(t,u);if(n.isTwoDigitYear){var c=rt(n.year,i);return t.setUTCFullYear(c,0,u.firstWeekContainsDate),t.setUTCHours(0,0,0,0),o(t,u)}var a="era"in e&&1!==e.era?1-n.year:n.year;return t.setUTCFullYear(a,0,u.firstWeekContainsDate),t.setUTCHours(0,0,0,0),o(t,u)}}])&&bt(e.prototype,n),u&&bt(e,u),c}();function gt(t){return gt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gt(t)}function jt(t,e){for(var n=0;n=1&&e<=4}},{key:"set",value:function(t,e,n){return t.setUTCMonth(3*(n-1),1),t.setUTCHours(0,0,0,0),t}}])&&Ht(e.prototype,n),r&&Ht(e,r),u}();function Ft(t){return Ft="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ft(t)}function Xt(t,e){for(var n=0;n=1&&e<=4}},{key:"set",value:function(t,e,n){return t.setUTCMonth(3*(n-1),1),t.setUTCHours(0,0,0,0),t}}])&&Xt(e.prototype,n),r&&Xt(e,r),u}();function Jt(t){return Jt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Jt(t)}function te(t,e){for(var n=0;n=0&&e<=11}},{key:"set",value:function(t,e,n){return t.setUTCMonth(n,1),t.setUTCHours(0,0,0,0),t}}])&&te(e.prototype,n),r&&te(e,r),u}();function ce(t){return ce="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ce(t)}function ae(t,e){for(var n=0;n=0&&e<=11}},{key:"set",value:function(t,e,n){return t.setUTCMonth(n,1),t.setUTCHours(0,0,0,0),t}}])&&ae(e.prototype,n),r&&ae(e,r),u}();function he(t){return he="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},he(t)}function ve(t,e){for(var n=0;n=1&&e<=53}},{key:"set",value:function(t,e,n,r){return o(function(t,e,n){i(2,arguments);var r=c(t),o=f(e),u=a(r,n)-o;return r.setUTCDate(r.getUTCDate()-7*u),r}(t,n,r),r)}}],n&&ve(e.prototype,n),r&&ve(e,r),l}();function _e(t){return _e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_e(t)}function Pe(t,e){for(var n=0;n=1&&e<=53}},{key:"set",value:function(t,e,n){return u(function(t,e){i(2,arguments);var n=c(t),r=f(e),o=l(n)-r;return n.setUTCDate(n.getUTCDate()-7*o),n}(t,n))}}],n&&Pe(e.prototype,n),r&&Pe(e,r),a}();function Ce(t){return Ce="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ce(t)}function Be(t,e){for(var n=0;n=1&&e<=Ye[r]:e>=1&&e<=He[r]}},{key:"set",value:function(t,e,n){return t.setUTCDate(n),t.setUTCHours(0,0,0,0),t}}])&&Be(e.prototype,n),r&&Be(e,r),u}();function Ie(t){return Ie="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ie(t)}function Le(t,e){for(var n=0;n=1&&e<=366:e>=1&&e<=365}},{key:"set",value:function(t,e,n){return t.setUTCMonth(0,n),t.setUTCHours(0,0,0,0),t}}])&&Le(e.prototype,n),r&&Le(e,r),u}();function Ke(t,e,n){var r,o,u,a,l,y,p,b;i(2,arguments);var h=s(),v=f(null!==(r=null!==(o=null!==(u=null!==(a=null==n?void 0:n.weekStartsOn)&&void 0!==a?a:null==n||null===(l=n.locale)||void 0===l||null===(y=l.options)||void 0===y?void 0:y.weekStartsOn)&&void 0!==u?u:h.weekStartsOn)&&void 0!==o?o:null===(p=h.locale)||void 0===p||null===(b=p.options)||void 0===b?void 0:b.weekStartsOn)&&void 0!==r?r:0);if(!(v>=0&&v<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var d=c(t),w=f(e),m=((w%7+7)%7=0&&e<=6}},{key:"set",value:function(t,e,n,r){return(t=Ke(t,n,r)).setUTCHours(0,0,0,0),t}}])&&$e(e.prototype,n),r&&$e(e,r),u}();function on(t){return on="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},on(t)}function un(t,e){for(var n=0;n=0&&e<=6}},{key:"set",value:function(t,e,n,r){return(t=Ke(t,n,r)).setUTCHours(0,0,0,0),t}}])&&un(e.prototype,n),r&&un(e,r),u}();function pn(t){return pn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},pn(t)}function bn(t,e){for(var n=0;n=0&&e<=6}},{key:"set",value:function(t,e,n,r){return(t=Ke(t,n,r)).setUTCHours(0,0,0,0),t}}])&&bn(e.prototype,n),r&&bn(e,r),u}();function gn(t){return gn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gn(t)}function jn(t,e){for(var n=0;n=1&&e<=7}},{key:"set",value:function(t,e,n){return t=function(t,e){i(2,arguments);var n=f(e);n%7==0&&(n-=7);var r=c(t),o=((n%7+7)%7<1?7:0)+n-r.getUTCDay();return r.setUTCDate(r.getUTCDate()+o),r}(t,n),t.setUTCHours(0,0,0,0),t}}],n&&jn(e.prototype,n),r&&jn(e,r),u}();function xn(t){return xn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},xn(t)}function En(t,e){for(var n=0;n=1&&e<=12}},{key:"set",value:function(t,e,n){var r=t.getUTCHours()>=12;return r&&n<12?t.setUTCHours(n+12,0,0,0):r||12!==n?t.setUTCHours(n,0,0,0):t.setUTCHours(0,0,0,0),t}}])&&tr(e.prototype,n),r&&tr(e,r),u}();function cr(t){return cr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},cr(t)}function ar(t,e){for(var n=0;n=0&&e<=23}},{key:"set",value:function(t,e,n){return t.setUTCHours(n,0,0,0),t}}])&&ar(e.prototype,n),r&&ar(e,r),u}();function hr(t){return hr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},hr(t)}function vr(t,e){for(var n=0;n=0&&e<=11}},{key:"set",value:function(t,e,n){return t.getUTCHours()>=12&&n<12?t.setUTCHours(n+12,0,0,0):t.setUTCHours(n,0,0,0),t}}])&&vr(e.prototype,n),r&&vr(e,r),u}();function _r(t){return _r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_r(t)}function Pr(t,e){for(var n=0;n=1&&e<=24}},{key:"set",value:function(t,e,n){var r=n<=24?n%24:n;return t.setUTCHours(r,0,0,0),t}}])&&Pr(e.prototype,n),r&&Pr(e,r),u}();function Cr(t){return Cr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Cr(t)}function Br(t,e){for(var n=0;n=0&&e<=59}},{key:"set",value:function(t,e,n){return t.setUTCMinutes(n,0,0),t}}])&&Br(e.prototype,n),r&&Br(e,r),u}();function Yr(t){return Yr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Yr(t)}function Nr(t,e){for(var n=0;n=0&&e<=59}},{key:"set",value:function(t,e,n){return t.setUTCSeconds(n,0),t}}])&&Nr(e.prototype,n),r&&Nr(e,r),u}();function Wr(t){return Wr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Wr(t)}function Zr(t,e){for(var n=0;n=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var u,i=!0,c=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return i=t.done,t},e:function(t){c=!0,u=t},f:function(){try{i||null==n.return||n.return()}finally{if(c)throw u}}}}function qo(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=1&&Y<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var N=f(null!==(R=null!==(T=null!==(k=null!==(x=null==r?void 0:r.weekStartsOn)&&void 0!==x?x:null==r||null===(E=r.locale)||void 0===E||null===(C=E.options)||void 0===C?void 0:C.weekStartsOn)&&void 0!==k?k:q.weekStartsOn)&&void 0!==T?T:null===(B=q.locale)||void 0===B||null===(U=B.options)||void 0===U?void 0:U.weekStartsOn)&&void 0!==R?R:0);if(!(N>=0&&N<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(""===M)return""===A?c(n):new Date(NaN);var I,L={firstWeekContainsDate:Y,weekStartsOn:N,locale:H},Q=[new D],G=M.match(Yo).map((function(t){var e=t[0];return e in p?(0,p[e])(t,H.formatLong):t})).join("").match(Ho),F=[],X=Mo(G);try{var W=function(){var e=I.value;null!=r&&r.useAdditionalWeekYearTokens||!b(e)||h(e,M,t),null!=r&&r.useAdditionalDayOfYearTokens||!v(e)||h(e,M,t);var n=e[0],o=Uo[n];if(o){var u=o.incompatibleTokens;if(Array.isArray(u)){var i=F.find((function(t){return u.includes(t.token)||t.token===n}));if(i)throw new RangeError("The format string mustn't contain `".concat(i.fullToken,"` and `").concat(e,"` at the same time"))}else if("*"===o.incompatibleTokens&&F.length>0)throw new RangeError("The format string mustn't contain `".concat(e,"` and any other token at the same time"));F.push({token:n,fullToken:e});var c=o.run(A,e,H.match,L);if(!c)return{v:new Date(NaN)};Q.push(c.setter),A=c.rest}else{if(n.match(Qo))throw new RangeError("Format string contains an unescaped latin alphabet character `"+n+"`");if("''"===e?e="'":"'"===n&&(e=e.match(No)[1].replace(Io,"'")),0!==A.indexOf(e))return{v:new Date(NaN)};A=A.slice(e.length)}};for(X.s();!(I=X.n()).done;){var Z=W();if("object"===Ao(Z))return Z.v}}catch(t){X.e(t)}finally{X.f()}if(A.length>0&&Lo.test(A))return new Date(NaN);var K=Q.map((function(t){return t.priority})).sort((function(t,e){return e-t})).filter((function(t,e,n){return n.indexOf(t)===e})).map((function(t){return Q.filter((function(e){return e.priority===t})).sort((function(t,e){return e.subPriority-t.subPriority}))})).map((function(t){return t[0]})),V=c(n);if(isNaN(V.getTime()))return new Date(NaN);var $,z=d(V,w(V)),J={},tt=Mo(K);try{for(tt.s();!($=tt.n()).done;){var et=$.value;if(!et.validate(z,L))return new Date(NaN);var nt=et.set(z,J,L);Array.isArray(nt)?(z=nt[0],m(J,nt[1])):z=nt}}catch(t){tt.e(t)}finally{tt.f()}return z}export{Go as p}; diff --git a/config/www/community/frigate-hass-card/index-af8cf05c.js.gz b/config/www/community/frigate-hass-card/index-af8cf05c.js.gz deleted file mode 100644 index 740aa098124472ff02da2891b95750360de2520e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9378 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 c>EXK;H2cG!e.hasSelectedResult()}}))}async _setURL(){const e=this.media?.getContentID();if(!this.media||!e||!this.hass||this.viewerConfig?.lazy_load&&!this.load)return;let i=this.resolvedMediaCache?.get(e)??null;if(i||(i=await l(this.hass,e,this.resolvedMediaCache)),!i)return;const t=i.url;if(g(t))return void(this._url=h(this.hass,t));const a=this.cameraManager?.getStore().getCamera(this.media.getCameraID()),r=a?.getProxyConfig();if(r&&c(this.hass,r,"media")){if(r.dynamic){const e=t.split(/#/)[0];await u(this.hass,e,{sslVerification:r.ssl_verification,sslCiphers:r.ssl_ciphers,openLimit:0})}try{this._url=await m(this.hass,v(t))}catch(e){C(e)}}else this._url=t}willUpdate(e){if((e.has("load")||e.has("media")||e.has("viewerConfig")||e.has("resolvedMediaCache")||e.has("hass"))&&this._setURL().then((()=>{this.requestUpdate()})),e.has("viewerConfig")&&this.viewerConfig?.zoomable&&import("./zoomer-2b03f2ed.js"),e.has("media")||e.has("cameraManager")){const e=this.media?.getCameraID(),i=e?this.cameraManager?.getStore().getCameraConfig(e):null;S(this,i?.dimensions?.layout),this.style.aspectRatio=p({ratio:i?.dimensions?.aspect_ratio})}}_useZoomIfRequired(e){if(!this.media)return e;const i=this.media.getCameraID(),t=this.media.getID()??void 0,a=this.cameraManager?.getStore().getCameraConfig(i),r=this.viewManagerEpoch?.manager.getView();return this.viewerConfig?.zoomable?w` a?.dimensions?.layout?{pan:a.dimensions.layout.pan,zoom:a.dimensions.layout.zoom}:void 0))} - .settings=${t?r?.context?.zoom?.[t]?.requested:void 0} - @frigate-card:zoom:zoomed=${()=>this.setControls(!1)} - @frigate-card:zoom:unzoomed=${()=>this.setControls()} - @frigate-card:zoom:change=${e=>f(e,this.viewManagerEpoch?.manager,t)} - > - ${e} - `:e}render(){if(this.load&&this.media&&this.hass&&this.viewerConfig)return this._url?this._useZoomIfRequired(w` - ${n.isVideo(this.media)?this.media.getVideoContentType()===Q.HLS?w` - `:w` - - `:w`{this.viewerConfig?.snapshot_click_plays_clip&&this._switchToRelatedClipView()}} - @load=${e=>{y(this,e,{player:this,technology:["jpg"]})}} - />`} - `):I({cardWideConfig:this.cardWideConfig})}static get styles(){return D(':host {\n background-color: var(--primary-background-color);\n background-position: center;\n background-repeat: no-repeat;\n background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4yLjIgKGIwYTg0ODY1NDEsIDIwMjItMTItMDEpIgogICBzb2RpcG9kaTpkb2NuYW1lPSJjYW1lcmEtaXJpcy5zdmciCiAgIGlkPSJzdmc0IgogICB2ZXJzaW9uPSIxLjEiCiAgIHZpZXdCb3g9IjAgMCAyNCAyNCIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9Im5hbWVkdmlldzYiCiAgICAgcGFnZWNvbG9yPSIjYjkzZTNlIgogICAgIGJvcmRlcmNvbG9yPSIjMDAwMDAwIgogICAgIGJvcmRlcm9wYWNpdHk9IjAuMjUiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuNjA3ODQzMTQiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6ZGVza2NvbG9yPSIjZDFkMWQxIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIyNi42MjUwNiIKICAgICBpbmtzY2FwZTpjeD0iLTEuOTM0MjY4IgogICAgIGlua3NjYXBlOmN5PSIxNS42ODA3MTYiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIzODQwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjE1MjciCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjEwODAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjIyNyIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzQiIC8+CiAgPGcKICAgICBpZD0iZzExMTkiCiAgICAgc3R5bGU9ImZpbGwtb3BhY2l0eTowLjA1O2ZpbGw6I2ZmZmZmZiI+CiAgICA8Y2lyY2xlCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjA1O3N0cm9rZS13aWR0aDoxLjM5NzI5IgogICAgICAgaWQ9InBhdGgxNzAiCiAgICAgICBjeD0iMTIiCiAgICAgICBjeT0iMTIiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iV2hpdGUgQmFja2dyb3VuZCIKICAgICAgIHI9IjExLjI1IiAvPgogICAgPHBhdGgKICAgICAgIGQ9Ik0gMTMuNzMwMDAxLDE1IDkuODMwMDAwMywyMS43NiBDIDEwLjUzLDIxLjkxIDExLjI1LDIyIDEyLDIyIGMgMi40MDAwMDEsMCA0LjYsLTAuODUgNi4zMiwtMi4yNSBMIDE0LjY2MDAwMSwxMy40IE0gMi40NjAwMDAzLDE1IGMgMC45MiwyLjkyIDMuMTUsNS4yNiA1Ljk5LDYuMzQgTCAxMi4xMiwxNSBtIC0zLjU3OTk5OTcsLTMgLTMuOSwtNi43NDk5OTk2IGMgLTEuNjQsMS43NDk5OTkgLTIuNjQsNC4xMzk5OTkzIC0yLjY0LDYuNzQ5OTk5NiAwLDAuNjggMC4wNywxLjM1IDAuMiwyIGggNy40OSBNIDIxLjgsOS45OTk5OTk3IEggMTQuMzEwMDAxIEwgMTQuNjAwMDAxLDEwLjUgMTkuMzYsMTguNzUgQyAyMSwxNi45NyAyMiwxNC42IDIyLDEyIDIyLDExLjMxIDIxLjkzLDEwLjY0IDIxLjgsOS45OTk5OTk3IG0gLTAuMjYsLTEgQyAyMC42Miw2LjA3MDAwMDUgMTguMzksMy43NDAwMDAyIDE1LjU1MDAwMSwyLjY2MDAwMDIgTCAxMS44OCw4Ljk5OTk5OTcgTSA5LjQwMDAwMDMsMTAuNSAxNC4xNzAwMDEsMi4yNDAwMDAyIGMgLTAuNywtMC4xNSAtMS40MjAwMDEsLTAuMjQgLTIuMTcwMDAxLC0wLjI0IC0yLjM5OTk5OTcsMCAtNC41OTk5OTk3LDAuODQgLTYuMzE5OTk5NywyLjI1MDAwMDMgbCAzLjY2LDYuMzQ5OTk5NSB6IgogICAgICAgaWQ9InBhdGgyIgogICAgICAgaW5rc2NhcGU6bGFiZWw9IklyaXMiCiAgICAgICBzdHlsZT0iZmlsbC1vcGFjaXR5OjAuMDU7ZmlsbDojZmZmZmZmIiAvPgogIDwvZz4KPC9zdmc+Cg==");\n background-size: 10%;\n background-position: center;\n}\n\n:host {\n display: block;\n width: 100%;\n height: 100%;\n}\n\nimg,\nvideo,\nfrigate-card-ha-hls-player {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n object-view-box: inset(var(--frigate-card-media-layout-view-box-top, 0%) var(--frigate-card-media-layout-view-box-right, 0%) var(--frigate-card-media-layout-view-box-bottom, 0%) var(--frigate-card-media-layout-view-box-left, 0%));\n}\n\nfrigate-card-progress-indicator {\n padding: 30px;\n box-sizing: border-box;\n}')}};e([i({attribute:!1})],H.prototype,"hass",void 0),e([i({attribute:!1})],H.prototype,"viewManagerEpoch",void 0),e([i({attribute:!1})],H.prototype,"media",void 0),e([i({attribute:!1})],H.prototype,"viewerConfig",void 0),e([i({attribute:!1})],H.prototype,"resolvedMediaCache",void 0),e([i({attribute:!1})],H.prototype,"load",void 0),e([i({attribute:!1})],H.prototype,"cameraManager",void 0),e([i({attribute:!1})],H.prototype,"cardWideConfig",void 0),e([t()],H.prototype,"_url",void 0),H=e([a("frigate-card-viewer-provider")],H);let q=class extends r{constructor(){super(...arguments),this.showControls=!0,this._selected=0,this._media=null,this._mediaActionsController=new O,this._player=null,this._refCarousel=s()}updated(e){super.updated(e),e.has("viewManagerEpoch")&&this.viewManagerEpoch?.manager.getView()?.context?.mediaViewer!==this.viewManagerEpoch?.oldView?.context?.mediaViewer&&this._seekHandler(),!this._mediaActionsController.hasRoot()&&this._refCarousel.value&&this._mediaActionsController.initialize(this._refCarousel.value)}connectedCallback(){super.connectedCallback(),this.requestUpdate()}disconnectedCallback(){this._mediaActionsController.destroy(),super.disconnectedCallback()}_getTransitionEffect(){return this.viewerConfig?.transition_effect??k.media_viewer.transition_effect}_getPlugins(){return[R({...this.viewerConfig?.lazy_load&&{lazyLoadCallback:(e,i)=>this._lazyloadSlide(i)}}),U(),Y()]}_getMediaNeighbors(){const e=this._media?.length??0;if(!this._media)return null;const i=this._selected>0?this._selected-1:null,t=this._selected+1{if(!i||!this._media)return;const t=("previous"===e?i.previous?.index:i.next?.index)??null;null!==t&&this._setViewSelectedIndex(t)},a=T(this),r="ltr"===a&&"left"===e||"rtl"===a&&"right"===e?"previous":"next";return w` {t(r),$(e)}} - >`}render(){const e=this._media?.length??0;if(!this._media||!e)return z({message:L("common.no_media"),type:"info",icon:"mdi:multimedia",...this.viewFilterCameraID&&{context:{camera_id:this.viewFilterCameraID}}});const i=this._media[this._selected]??this._media[e-1];if(!this.hass||!this.cameraManager||!i)return;const t=this._getMediaNeighbors(),a=this.viewManagerEpoch?.manager.getView();return w` - {this._setViewSelectedIndex(e.detail.index)}} - @frigate-card:media:loaded=${e=>{this._player=e.detail.player??null,this._seekHandler()}} - @frigate-card:media:unloaded=${()=>{this._player=null}} - > - ${this.showControls?this._renderNextPrevious("left",t):""} - ${W([this._media,a],(()=>this._getSlides()))} - ${this.showControls?this._renderNextPrevious("right",t):""} - - ${a?w` - `:""} -
- - -
- `}async _seekHandler(){const e=this.viewManagerEpoch?.manager.getView(),i=e?.context?.mediaViewer?.seek;if(!(this.hass&&i&&this._media&&this._player))return;const t=this._media[this._selected];if(!t)return;const a=t.includesTime(i);N(this,!a,"unseekable"),a||this._player.isPaused()?a&&this._player.isPaused()&&this._player.play():this._player.pause();const r=await(this.cameraManager?.getMediaSeekTime(t,i))??null;null!==r&&this._player.seek(r)}_renderMediaItem(e){const i=this.viewManagerEpoch?.manager.getView();return this.hass&&i&&this.viewerConfig?w`
- -
`:null}static get styles(){return D(":host {\n position: relative;\n --video-max-height: none;\n}\n\n:host([unselected]) frigate-card-carousel,\n:host([unselected]) .seek-warning {\n pointer-events: none;\n}\n\n:host([unseekable]) frigate-card-carousel {\n filter: brightness(50%);\n}\n\n:host([unseekable]) .seek-warning {\n display: block;\n}\n\n.seek-warning {\n display: none;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translateX(-50%) translateY(-50%);\n color: white;\n}\n\n.embla__slide {\n height: 100%;\n flex: 0 0 100%;\n}")}};e([i({attribute:!1})],q.prototype,"hass",void 0),e([i({attribute:!1})],q.prototype,"viewManagerEpoch",void 0),e([i({attribute:!1})],q.prototype,"viewFilterCameraID",void 0),e([i({attribute:!1,hasChanged:j})],q.prototype,"viewerConfig",void 0),e([i({attribute:!1})],q.prototype,"resolvedMediaCache",void 0),e([i({attribute:!1})],q.prototype,"cardWideConfig",void 0),e([i({attribute:!1})],q.prototype,"cameraManager",void 0),e([i({attribute:!1})],q.prototype,"showControls",void 0),e([t()],q.prototype,"_selected",void 0),q=e([a("frigate-card-viewer-carousel")],q);let X=class extends r{_renderCarousel(e){const i=this.viewManagerEpoch?.manager.getView()?.camera;return w` - - - `}willUpdate(e){e.has("viewManagerEpoch")&&this._needsGrid()&&import("./media-grid-82029e37.js")}_needsGrid(){const e=this.viewManagerEpoch?.manager.getView(),i=e?.queryResults?.getCameraIDs();return!!e?.isGrid()&&!!e?.supportsMultipleDisplayModes()&&(i?.size??0)>1}_gridSelectCamera(e){const i=this.viewManagerEpoch?.manager.getView();this.viewManagerEpoch?.manager.setViewByParameters({params:{camera:e,queryResults:i?.queryResults?.clone().promoteCameraSelectionToMainSelection(e)}})}render(){const e=this.viewManagerEpoch?.manager.getView(),i=e?.queryResults?.getCameraIDs();return i&&this._needsGrid()?w` - this._gridSelectCamera(e.detail.selected)} - > - ${[...i].map((e=>this._renderCarousel(e)))} - - `:this._renderCarousel()}static get styles(){return D(E)}};e([i({attribute:!1})],X.prototype,"hass",void 0),e([i({attribute:!1})],X.prototype,"viewManagerEpoch",void 0),e([i({attribute:!1})],X.prototype,"viewerConfig",void 0),e([i({attribute:!1})],X.prototype,"resolvedMediaCache",void 0),e([i({attribute:!1})],X.prototype,"cardWideConfig",void 0),e([i({attribute:!1})],X.prototype,"cameraManager",void 0),X=e([a("frigate-card-viewer-grid")],X);let J=class extends r{render(){if(this.hass&&this.viewManagerEpoch&&this.viewerConfig&&this.cameraManager&&this.cardWideConfig){if(!this.viewManagerEpoch.manager.getView()?.queryResults?.hasResults()){const e=!!this.viewManagerEpoch.manager.getView()?.context?.loading?.query;return z({type:"info",message:L(e?"error.awaiting_media":"common.no_media"),icon:"mdi:multimedia",dotdotdot:e})}return w` - `}}static get styles(){return D(":host {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n gap: 5px;\n}\n\nfrigate-card-viewer-carousel {\n flex: 1;\n min-height: 0;\n}")}};e([i({attribute:!1})],J.prototype,"hass",void 0),e([i({attribute:!1})],J.prototype,"viewManagerEpoch",void 0),e([i({attribute:!1})],J.prototype,"viewerConfig",void 0),e([i({attribute:!1})],J.prototype,"resolvedMediaCache",void 0),e([i({attribute:!1})],J.prototype,"cameraManager",void 0),e([i({attribute:!1})],J.prototype,"cardWideConfig",void 0),J=e([a("frigate-card-viewer")],J);export{J as FrigateCardViewer}; diff --git a/config/www/community/frigate-hass-card/index-befc50c0.js.gz b/config/www/community/frigate-hass-card/index-befc50c0.js.gz deleted file mode 100644 index b7807a40793cf4356528cc939535573ca1e0388d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6501 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.onconnect())),this.ondisconnect()):(this.ondisconnect(),this.onconnect())}set src(e){"string"!=typeof e&&(e=e.toString()),e.startsWith("http")?e="ws"+e.substring(4):e.startsWith("/")&&(e="ws"+location.origin.substring(4)+e),this.wsURL=e,this.onconnect()}play(){}send(e){this.ws&&this.ws.send(JSON.stringify(e))}codecs(e){return this.CODECS.filter((e=>this.media.indexOf(e.indexOf("vc1")>0?"video":"audio")>=0)).filter((t=>e(`video/mp4; codecs="${t}"`))).join()}connectedCallback(){if(this.disconnectTID&&(clearTimeout(this.disconnectTID),this.disconnectTID=0),this.video){const e=this.video.seekable;e.length>0&&(this.video.currentTime=e.end(e.length-1)),this.play()}else this.oninit();this.onconnect()}disconnectedCallback(){this.background||this.disconnectTID||this.wsState===WebSocket.CLOSED&&this.pcState===WebSocket.CLOSED||(this.disconnectTID=setTimeout((()=>{this.reconnectTID&&(clearTimeout(this.reconnectTID),this.reconnectTID=0),this.disconnectTID=0,this.ondisconnect()}),this.DISCONNECT_TIMEOUT))}oninit(){this.video=document.createElement("video"),m(this.video,this.controls),this.video.playsInline=!0,this.video.preload="auto",this.video.style.display="block",this.video.style.width="100%",this.video.style.height="100%",this.appendChild(this.video),this.video.addEventListener("error",(e=>{this.ws&&this.wsState===WebSocket.OPEN&&this.ws.close()}));const n=window.navigator.userAgent.match(/Version\/(\d+).+Safari/);if(n){const e=n[1]<"13"?"mp4a.40.2":n[1]<"14"?"flac":"opus";this.CODECS.splice(this.CODECS.indexOf(e))}if(!this.background){if("hidden"in document&&this.visibilityCheck&&document.addEventListener("visibilitychange",(()=>{document.hidden?this.disconnectedCallback():this.isConnected&&this.connectedCallback()})),"IntersectionObserver"in window&&this.visibilityThreshold){new IntersectionObserver((e=>{e.forEach((e=>{e.isIntersecting?this.isConnected&&this.connectedCallback():this.disconnectedCallback()}))}),{threshold:this.visibilityThreshold}).observe(this)}this.video.onloadeddata=()=>{this.controls&&v(this.video,y),e(this,this.video,{player:this.containingPlayer,capabilities:{supports2WayAudio:!!this.pc,supportsPause:!0,hasAudio:g(this.video)},technology:f(this)})},this.video.onvolumechange=()=>t(this),this.video.onplay=()=>i(this),this.video.onpause=()=>s(this),this.video.muted=!0}}onconnect(){return!(!this.isConnected||!this.wsURL||this.ws||this.pc)&&(this.wsState=WebSocket.CONNECTING,this.connectTS=Date.now(),this.ws=new WebSocket(this.wsURL),this.ws.binaryType="arraybuffer",this.ws.addEventListener("open",(e=>this.onopen(e))),this.ws.addEventListener("close",(e=>this.onclose(e))),!0)}ondisconnect(){this.wsState=WebSocket.CLOSED,this.ws&&(this.ws.close(),this.ws=null),this.pcState=WebSocket.CLOSED,this.pc&&(this.pc.getSenders().forEach((e=>{e.track&&e.track.stop()})),this.pc.close(),this.pc=null),this.video.src="",this.video.srcObject=null}onopen(){this.wsState=WebSocket.OPEN,this.ws.addEventListener("message",(e=>{if("string"==typeof e.data){const t=JSON.parse(e.data);for(const e in this.onmessage)this.onmessage[e](t)}else this.ondata(e.data)})),this.ondata=null,this.onmessage={};const e=[];return this.mode.indexOf("mse")>=0&&("MediaSource"in window||"ManagedMediaSource"in window)?(e.push("mse"),this.onmse()):this.mode.indexOf("hls")>=0&&this.video.canPlayType("application/vnd.apple.mpegurl")?(e.push("hls"),this.onhls()):this.mode.indexOf("mp4")>=0&&(e.push("mp4"),this.onmp4()),this.mode.indexOf("webrtc")>=0&&"RTCPeerConnection"in window&&(e.push("webrtc"),this.onwebrtc()),this.mode.indexOf("mjpeg")>=0&&(e.length?this.onmessage.mjpeg=t=>{"error"===t.type&&0===t.value.indexOf(e[0])&&this.onmjpeg()}:(e.push("mjpeg"),this.onmjpeg())),e}onclose(){if(this.wsState===WebSocket.CLOSED)return!1;this.wsState=WebSocket.CONNECTING,this.ws=null;const e=Math.max(this.RECONNECT_TIMEOUT-(Date.now()-this.connectTS),0);return this.reconnectTID=setTimeout((()=>{this.reconnectTID=0,this.onconnect()}),e),!0}onmse(){let e;if("ManagedMediaSource"in window){const t=window.ManagedMediaSource;e=new t,e.addEventListener("sourceopen",(()=>{this.send({type:"mse",value:this.codecs(t.isTypeSupported)})}),{once:!0}),this.video.disableRemotePlayback=!0,this.video.srcObject=e}else e=new MediaSource,e.addEventListener("sourceopen",(()=>{URL.revokeObjectURL(this.video.src),this.send({type:"mse",value:this.codecs(MediaSource.isTypeSupported)})}),{once:!0}),this.video.src=URL.createObjectURL(e),this.video.srcObject=null;this.play(),this.mseCodecs="",this.onmessage.mse=t=>{if("mse"!==t.type)return;this.mseCodecs=t.value;const i=e.addSourceBuffer(t.value);i.mode="segments",i.addEventListener("updateend",(()=>{if(!i.updating)try{if(n>0){const e=s.slice(0,n);n=0,i.appendBuffer(e)}else if(i.buffered&&i.buffered.length){const t=i.buffered.end(i.buffered.length-1)-15,s=i.buffered.start(0);t>s&&(i.remove(s,t),e.setLiveSeekableRange(t,t+15))}}catch(e){}}));const s=new Uint8Array(2097152);let n=0;this.ondata=e=>{if(i.updating||n>0){const t=new Uint8Array(e);s.set(t,n),n+=t.byteLength}else try{i.appendBuffer(e)}catch(e){}}}}onwebrtc(){const e=new RTCPeerConnection(this.pcConfig);e.addEventListener("icecandidate",(e=>{if(e.candidate&&this.mode.indexOf("webrtc/tcp")>=0&&"udp"===e.candidate.protocol)return;const t=e.candidate?e.candidate.toJSON().candidate:"";this.send({type:"webrtc/candidate",value:t})})),e.addEventListener("connectionstatechange",(()=>{if("connected"===e.connectionState){const t=e.getTransceivers().filter((e=>"recvonly"===e.currentDirection)).map((e=>e.receiver.track)),i=document.createElement("video");i.addEventListener("loadeddata",(()=>this.onpcvideo(i)),{once:!0}),i.srcObject=new MediaStream(t)}else"failed"!==e.connectionState&&"disconnected"!==e.connectionState||(e.close(),this.pcState=WebSocket.CLOSED,this.pc=null,this.onconnect())})),this.onmessage.webrtc=t=>{switch(t.type){case"webrtc/candidate":if(this.mode.indexOf("webrtc/tcp")>=0&&t.value.indexOf(" udp ")>0)return;e.addIceCandidate({candidate:t.value,sdpMid:"0"}).catch((e=>{console.warn(e)}));break;case"webrtc/answer":e.setRemoteDescription({type:"answer",sdp:t.value}).catch((e=>{console.warn(e)}));break;case"error":if(t.value.indexOf("webrtc/offer")<0)return;e.close()}},this.createOffer(e).then((e=>{this.send({type:"webrtc/offer",value:e.sdp})})),this.pcState=WebSocket.CONNECTING,this.pc=e}async createOffer(e){this.microphoneStream?.getTracks().forEach((t=>{e.addTransceiver(t,{direction:"sendonly"})}));try{if(this.media.indexOf("microphone")>=0){(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach((t=>{e.addTransceiver(t,{direction:"sendonly"})}))}}catch(e){console.warn(e)}for(const t of["video","audio"])this.media.indexOf(t)>=0&&e.addTransceiver(t,{direction:"recvonly"});const t=await e.createOffer();return await e.setLocalDescription(t),t}onpcvideo(e){if(this.pc){let t=0,i=0;const s=e.srcObject;s.getVideoTracks().length>0&&(t+=544),s.getAudioTracks().length>0&&(t+=258),this.mseCodecs.indexOf("hvc1.")>=0&&(i+=560),this.mseCodecs.indexOf("avc1.")>=0&&(i+=528),this.mseCodecs.indexOf("mp4a.")>=0&&(i+=257),t>=i?(this.video.srcObject=s,this.play(),this.pcState=WebSocket.OPEN,this.wsState=WebSocket.CLOSED,this.ws&&(this.ws.close(),this.ws=null)):(this.pcState=WebSocket.CLOSED,this.pc&&(this.pc.close(),this.pc=null))}e.srcObject=null}onmjpeg(){let t=!1;this.ondata=i=>{m(this.video,!1),this.video.poster="data:image/jpeg;base64,"+b.btoa(i),t||(t=!0,e(this,this.video,{player:this.containingPlayer,technology:["mjpeg"]}))},this.send({type:"mjpeg"})}onhls(){this.onmessage.hls=e=>{if("hls"!==e.type)return;const t="http"+this.wsURL.substring(2,this.wsURL.indexOf("/ws"))+"/hls/",i=e.value.replace("hls/",t);this.video.src="data:application/vnd.apple.mpegurl;base64,"+btoa(i),this.play()},this.send({type:"hls",value:this.codecs((e=>this.video.canPlayType(e)))})}onmp4(){const t=document.createElement("canvas");let i;const s=document.createElement("video");s.autoplay=!0,s.playsInline=!0,s.muted=!0,s.addEventListener("loadeddata",(n=>{i||(t.width=s.videoWidth,t.height=s.videoHeight,i=t.getContext("2d"),e(this,s,{player:this.containingPlayer,technology:["mp4"]})),i.drawImage(s,0,0,t.width,t.height),m(this.video,!1),this.video.poster=t.toDataURL("image/jpeg")})),this.ondata=e=>{s.src="data:video/mp4;base64,"+b.btoa(e)},this.send({type:"mp4",value:this.codecs(this.video.canPlayType)})}static btoa(e){const t=new Uint8Array(e),i=t.byteLength;let s="";for(let e=0;ed}Lv=z$Xvm|H3B;Q+&js>Xe5$K9cYo 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 z{this._lastMediaLoadedInfo={source:e.composedPath()[0],mediaLoadedInfo:e.detail},this._inBackground&&e.stopPropagation()},this._host=e,e.addController(this),this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this))}hostConnected(){this._intersectionObserver.observe(this._host),this._host.addEventListener("frigate-card:media:loaded",this._handleMediaLoaded)}hostDisconnected(){this._intersectionObserver.disconnect(),this._host.removeEventListener("frigate-card:media:loaded",this._handleMediaLoaded)}isInBackground(){return this._inBackground}_intersectionHandler(i){const a=this._inBackground;this._inBackground=!i.some((e=>e.isIntersecting)),!this._inBackground&&this._lastMediaLoadedInfo&&e(this._lastMediaLoadedInfo.source,this._lastMediaLoadedInfo.mediaLoadedInfo),a!==this._inBackground&&this._host.requestUpdate()}}let x=class extends o{constructor(){super(...arguments),this.load=!1,this.label="",this._isVideoMediaLoaded=!1,this._hasProviderError=!1,this._refProvider=s(),this._importPromises=[]}async play(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await A(this,this._refProvider.value)}async pause(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.pause())}async mute(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.mute())}async unmute(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.unmute())}isMuted(){return this._refProvider.value?.isMuted()??!0}async seek(e){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.seek(e))}async setControls(e){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.setControls(e))}isPaused(){return this._refProvider.value?.isPaused()??!0}async getScreenshotURL(){return await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.getScreenshotURL())??null}_getResolvedProvider(){return"auto"===this.cameraConfig?.live_provider?this.cameraConfig?.webrtc_card?.entity||this.cameraConfig?.webrtc_card?.url?"webrtc-card":this.cameraConfig?.camera_entity?"ha":this.cameraConfig?.frigate.camera_name?"jsmpeg":n.cameras.live_provider:this.cameraConfig?.live_provider||"image"}_shouldShowImageDuringLoading(){return!(!this.cameraConfig?.camera_entity||!this.hass||!this.liveConfig?.show_image_during_load||this._hasProviderError)}disconnectedCallback(){this._isVideoMediaLoaded=!1}_videoMediaShowHandler(){this._isVideoMediaLoaded=!0}_providerErrorHandler(){this._hasProviderError=!0}willUpdate(e){if(e.has("load")&&(this.load||(this._isVideoMediaLoaded=!1,d(this))),e.has("liveConfig")&&(this.liveConfig?.show_image_during_load&&this._importPromises.push(import("./image-c4c28ccb.js")),this.liveConfig?.zoomable&&this._importPromises.push(import("./zoomer-2b03f2ed.js"))),e.has("cameraConfig")){const e=this._getResolvedProvider();"jsmpeg"===e?this._importPromises.push(import("./jsmpeg-1cb0aa9d.js")):"ha"===e?this._importPromises.push(import("./ha-45d9145a.js")):"webrtc-card"===e?this._importPromises.push(import("./webrtc-card-bb4c56e2.js")):"image"===e?this._importPromises.push(import("./image-c4c28ccb.js")):"go2rtc"===e&&this._importPromises.push(import("./index-33ed76c0.js")),D(this,this.cameraConfig?.dimensions?.layout),this.style.aspectRatio=g({ratio:this.cameraConfig?.dimensions?.aspect_ratio})}}async getUpdateComplete(){const e=await super.getUpdateComplete();return await Promise.all(this._importPromises),this._importPromises=[],e}_useZoomIfRequired(e){return this.liveConfig?.zoomable?c` this.cameraConfig?.dimensions?.layout?{pan:this.cameraConfig.dimensions.layout.pan,zoom:this.cameraConfig.dimensions.layout.zoom}:void 0))} - .settings=${this.zoomSettings} - @frigate-card:zoom:zoomed=${()=>this.setControls(!1)} - @frigate-card:zoom:unzoomed=${()=>this.setControls()} - > - ${e} - `:e}render(){if(!(this.load&&this.hass&&this.liveConfig&&this.cameraConfig))return;this.title=this.label,this.ariaLabel=this.label;const e=this._getResolvedProvider(),i=!this._isVideoMediaLoaded&&this._shouldShowImageDuringLoading(),a={hidden:i};if("ha"===e||"image"===e||this.cameraConfig?.camera_entity&&this.cameraConfig.always_error_if_entity_unavailable){if(!this.cameraConfig?.camera_entity)return j(this),h({message:l("error.no_live_camera"),type:"error",icon:"mdi:camera",context:this.cameraConfig});const e=this.hass.states[this.cameraConfig.camera_entity];if(!e)return j(this),h({message:l("error.live_camera_not_found"),type:"error",icon:"mdi:camera",context:this.cameraConfig});if("unavailable"===e.state)return j(this),d(this),h({message:`${l("error.live_camera_unavailable")}${this.label?`: ${this.label}`:""}`,type:"info",icon:"mdi:cctv-off",dotdotdot:!0})}return c`${this._useZoomIfRequired(c` - ${i||"image"===e?c` this._providerErrorHandler()} - @frigate-card:media:loaded=${i=>{"image"===e?this._videoMediaShowHandler():i.stopPropagation()}} - > - `:c``} - ${"ha"===e?c` this._providerErrorHandler()} - @frigate-card:media:loaded=${this._videoMediaShowHandler.bind(this)} - > - `:"go2rtc"===e?c`this._providerErrorHandler()} - @frigate-card:media:loaded=${this._videoMediaShowHandler.bind(this)} - > - `:"webrtc-card"===e?c`this._providerErrorHandler()} - @frigate-card:media:loaded=${this._videoMediaShowHandler.bind(this)} - > - `:"jsmpeg"===e?c` this._providerErrorHandler()} - @frigate-card:media:loaded=${this._videoMediaShowHandler.bind(this)} - > - `:c``} - `)} - ${i&&!this._isVideoMediaLoaded?c``:""} `}static get styles(){return p(':host {\n background-color: var(--primary-background-color);\n background-position: center;\n background-repeat: no-repeat;\n background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4yLjIgKGIwYTg0ODY1NDEsIDIwMjItMTItMDEpIgogICBzb2RpcG9kaTpkb2NuYW1lPSJjYW1lcmEtaXJpcy5zdmciCiAgIGlkPSJzdmc0IgogICB2ZXJzaW9uPSIxLjEiCiAgIHZpZXdCb3g9IjAgMCAyNCAyNCIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9Im5hbWVkdmlldzYiCiAgICAgcGFnZWNvbG9yPSIjYjkzZTNlIgogICAgIGJvcmRlcmNvbG9yPSIjMDAwMDAwIgogICAgIGJvcmRlcm9wYWNpdHk9IjAuMjUiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuNjA3ODQzMTQiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6ZGVza2NvbG9yPSIjZDFkMWQxIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIyNi42MjUwNiIKICAgICBpbmtzY2FwZTpjeD0iLTEuOTM0MjY4IgogICAgIGlua3NjYXBlOmN5PSIxNS42ODA3MTYiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIzODQwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjE1MjciCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjEwODAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjIyNyIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzQiIC8+CiAgPGcKICAgICBpZD0iZzExMTkiCiAgICAgc3R5bGU9ImZpbGwtb3BhY2l0eTowLjA1O2ZpbGw6I2ZmZmZmZiI+CiAgICA8Y2lyY2xlCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjA1O3N0cm9rZS13aWR0aDoxLjM5NzI5IgogICAgICAgaWQ9InBhdGgxNzAiCiAgICAgICBjeD0iMTIiCiAgICAgICBjeT0iMTIiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iV2hpdGUgQmFja2dyb3VuZCIKICAgICAgIHI9IjExLjI1IiAvPgogICAgPHBhdGgKICAgICAgIGQ9Ik0gMTMuNzMwMDAxLDE1IDkuODMwMDAwMywyMS43NiBDIDEwLjUzLDIxLjkxIDExLjI1LDIyIDEyLDIyIGMgMi40MDAwMDEsMCA0LjYsLTAuODUgNi4zMiwtMi4yNSBMIDE0LjY2MDAwMSwxMy40IE0gMi40NjAwMDAzLDE1IGMgMC45MiwyLjkyIDMuMTUsNS4yNiA1Ljk5LDYuMzQgTCAxMi4xMiwxNSBtIC0zLjU3OTk5OTcsLTMgLTMuOSwtNi43NDk5OTk2IGMgLTEuNjQsMS43NDk5OTkgLTIuNjQsNC4xMzk5OTkzIC0yLjY0LDYuNzQ5OTk5NiAwLDAuNjggMC4wNywxLjM1IDAuMiwyIGggNy40OSBNIDIxLjgsOS45OTk5OTk3IEggMTQuMzEwMDAxIEwgMTQuNjAwMDAxLDEwLjUgMTkuMzYsMTguNzUgQyAyMSwxNi45NyAyMiwxNC42IDIyLDEyIDIyLDExLjMxIDIxLjkzLDEwLjY0IDIxLjgsOS45OTk5OTk3IG0gLTAuMjYsLTEgQyAyMC42Miw2LjA3MDAwMDUgMTguMzksMy43NDAwMDAyIDE1LjU1MDAwMSwyLjY2MDAwMDIgTCAxMS44OCw4Ljk5OTk5OTcgTSA5LjQwMDAwMDMsMTAuNSAxNC4xNzAwMDEsMi4yNDAwMDAyIGMgLTAuNywtMC4xNSAtMS40MjAwMDEsLTAuMjQgLTIuMTcwMDAxLC0wLjI0IC0yLjM5OTk5OTcsMCAtNC41OTk5OTk3LDAuODQgLTYuMzE5OTk5NywyLjI1MDAwMDMgbCAzLjY2LDYuMzQ5OTk5NSB6IgogICAgICAgaWQ9InBhdGgyIgogICAgICAgaW5rc2NhcGU6bGFiZWw9IklyaXMiCiAgICAgICBzdHlsZT0iZmlsbC1vcGFjaXR5OjAuMDU7ZmlsbDojZmZmZmZmIiAvPgogIDwvZz4KPC9zdmc+Cg==");\n background-size: 10%;\n background-position: center;\n}\n\n:host {\n display: block;\n height: 100%;\n width: 100%;\n position: relative;\n}\n\n.hidden {\n display: none;\n}\n\nfrigate-card-icon {\n position: absolute;\n top: 10px;\n right: 10px;\n color: var(--primary-color);\n}')}};i([a({attribute:!1})],x.prototype,"hass",void 0),i([a({attribute:!1})],x.prototype,"cameraConfig",void 0),i([a({attribute:!1})],x.prototype,"cameraEndpoints",void 0),i([a({attribute:!1})],x.prototype,"liveConfig",void 0),i([a({attribute:!0,type:Boolean})],x.prototype,"load",void 0),i([a({attribute:!1})],x.prototype,"label",void 0),i([a({attribute:!1})],x.prototype,"cardWideConfig",void 0),i([a({attribute:!1})],x.prototype,"microphoneStream",void 0),i([a({attribute:!1})],x.prototype,"zoomSettings",void 0),i([t()],x.prototype,"_isVideoMediaLoaded",void 0),i([t()],x.prototype,"_hasProviderError",void 0),x=i([r("frigate-card-live-provider")],x);const P="frigate-card-live-provider";let T=class extends o{constructor(){super(...arguments),this._cameraToSlide={},this._refPTZControl=s(),this._refCarousel=s(),this._mediaActionsController=new z,this._mediaHasLoaded=!1}connectedCallback(){super.connectedCallback(),this.requestUpdate()}disconnectedCallback(){this._mediaActionsController.destroy(),super.disconnectedCallback()}_getTransitionEffect(){return this.overriddenLiveConfig?.transition_effect??n.live.transition_effect}_getSelectedCameraIndex(){if(this.viewFilterCameraID)return 0;const e=this.cameraManager?.getStore().getCameraIDsWithCapability("live"),i=this.viewManagerEpoch?.manager.getView();return e?.size&&i?Math.max(0,Array.from(e).indexOf(i.camera)):0}willUpdate(e){(e.has("microphoneManager")||e.has("overriddenLiveConfig"))&&this._mediaActionsController.setOptions({playerSelector:P,...this.overriddenLiveConfig?.auto_play&&{autoPlayConditions:this.overriddenLiveConfig.auto_play},...this.overriddenLiveConfig?.auto_pause&&{autoPauseConditions:this.overriddenLiveConfig.auto_pause},...this.overriddenLiveConfig?.auto_mute&&{autoMuteConditions:this.overriddenLiveConfig.auto_mute},...this.overriddenLiveConfig?.auto_unmute&&{autoUnmuteConditions:this.overriddenLiveConfig.auto_unmute},...(this.overriddenLiveConfig?.auto_unmute||this.overriddenLiveConfig?.auto_mute)&&{microphoneManager:this.microphoneManager,microphoneMuteSeconds:this.overriddenLiveConfig.microphone.mute_after_microphone_mute_seconds}})}_getPlugins(){return[E({...this.overriddenLiveConfig?.lazy_load&&{lazyLoadCallback:(e,i)=>this._lazyloadOrUnloadSlide("load",e,i)},lazyUnloadConditions:this.overriddenLiveConfig?.lazy_unload,lazyUnloadCallback:(e,i)=>this._lazyloadOrUnloadSlide("unload",e,i)}),S(),N()]}_getLazyLoadCount(){return!1===this.overriddenLiveConfig?.lazy_load?null:0}_getSlides(){if(!this.cameraManager)return[[],{}];const e=this.viewManagerEpoch?.manager.getView(),i=this.viewFilterCameraID?new Set([this.viewFilterCameraID]):this.cameraManager?.getStore().getCameraIDsWithCapability("live"),a=[],t={};for(const[r,o]of this.cameraManager.getStore().getCameraConfigEntries(i)){const i=this._getSubstreamCameraID(r,e),s=r===i?o:this.cameraManager?.getStore().getCameraConfig(i),n=s?this._renderLive(i,s):null;n&&(t[r]=a.length,a.push(n))}return[a,t]}_setViewHandler(e){const i=this.cameraManager?.getStore().getCameraIDsWithCapability("live");i?.size&&e.detail.index!==this._getSelectedCameraIndex()&&this._setViewCameraID([...i][e.detail.index])}_setViewCameraID(e){e&&this.viewManagerEpoch?.manager.setViewByParametersWithNewQuery({params:{camera:e}})}_lazyloadOrUnloadSlide(e,i,a){a instanceof HTMLSlotElement&&(a=a.assignedElements({flatten:!0})[0]);const t=a?.querySelector(P);t&&(t.load="load"===e)}_renderLive(e,i){if(!(this.overriddenLiveConfig&&this.nonOverriddenLiveConfig&&this.hass&&this.cameraManager&&this.conditionsManagerEpoch))return;let a=null;try{a=C(this.conditionsManagerEpoch.manager,{live:this.nonOverriddenLiveConfig},{configOverrides:this.overrides,stateOverrides:{camera:e},schema:f}).live}catch(e){return I(this,e)}const t=this.cameraManager.getCameraMetadata(e),r=this.viewManagerEpoch?.manager.getView();return c` -
- this.cameraManager?.getCameraEndpoints(e)??void 0))} - .label=${t?.title??""} - .liveConfig=${a} - .hass=${this.hass} - .cardWideConfig=${this.cardWideConfig} - .zoomSettings=${r?.context?.zoom?.[e]?.requested} - @frigate-card:zoom:change=${i=>M(i,this.viewManagerEpoch?.manager,e)} - > - -
- `}_getSubstreamCameraID(e,i){return i?.context?.live?.overrides?.get(e)??e}_getCameraNeighbors(){const e=this.cameraManager?[...this.cameraManager?.getStore().getCameraIDsWithCapability("live")]:[],i=this.viewManagerEpoch?.manager.getView();if(this.viewFilterCameraID||e.length<=1||!i||!this.hass)return{};const a=this.viewFilterCameraID??i.camera,t=e.indexOf(a);if(t<0)return{};const r=e[t>0?t-1:e.length-1],o=e[t+1{this._setViewCameraID(t?.id),w(e)}} - > - `}render(){const e=this.viewManagerEpoch?.manager.getView();if(!(this.overriddenLiveConfig&&this.hass&&e&&this.cameraManager))return;const[i,a]=this._getSlides();if(this._cameraToSlide=a,!i.length)return;const t=i.length>1,r=this._getCameraNeighbors(),o=!(!this._mediaHasLoaded||this.viewFilterCameraID&&this.viewFilterCameraID!==e.camera||!1===e.context?.ptzControls?.enabled)&&e.context?.ptzControls?.enabled;return c` - {this._mediaHasLoaded=!0}} - @frigate-card:media:unloaded=${()=>{this._mediaHasLoaded=!1}} - > - ${this._renderNextPrevious("left",r)} - - ${i} - - ${this._renderNextPrevious("right",r)} - - - - `}_setMediaTarget(){const e=this.viewManagerEpoch?.manager.getView(),i=this._getSelectedCameraIndex();this.viewFilterCameraID?this._mediaActionsController.setTarget(i,e?.camera===this.viewFilterCameraID):this._mediaActionsController.setTarget(i,!0)}updated(e){super.updated(e);let i=!1;!this._mediaActionsController.hasRoot()&&this._refCarousel.value&&(this._mediaActionsController.initialize(this._refCarousel.value),i=!0),(i||e.has("viewManagerEpoch"))&&this._setMediaTarget()}static get styles(){return p(":host {\n display: block;\n --video-max-height: none;\n}\n\n:host(:not([grid-id])) {\n height: 100%;\n}\n\n:host([unselected]) frigate-card-carousel {\n pointer-events: none;\n}\n\n.embla__slide {\n display: flex;\n justify-content: center;\n height: 100%;\n flex: 0 0 100%;\n}")}};i([a({attribute:!1})],T.prototype,"hass",void 0),i([a({attribute:!1})],T.prototype,"viewManagerEpoch",void 0),i([a({attribute:!1})],T.prototype,"nonOverriddenLiveConfig",void 0),i([a({attribute:!1})],T.prototype,"overriddenLiveConfig",void 0),i([a({attribute:!1,hasChanged:u})],T.prototype,"overrides",void 0),i([a({attribute:!1})],T.prototype,"conditionsManagerEpoch",void 0),i([a({attribute:!1})],T.prototype,"cardWideConfig",void 0),i([a({attribute:!1})],T.prototype,"cameraManager",void 0),i([a({attribute:!1})],T.prototype,"microphoneManager",void 0),i([a({attribute:!1})],T.prototype,"viewFilterCameraID",void 0),i([t()],T.prototype,"_mediaHasLoaded",void 0),T=i([r("frigate-card-live-carousel")],T);let Z=class extends o{_renderCarousel(e){const i=this.viewManagerEpoch?.manager.getView(),a=e??i?.camera;return c` - - - `}_gridSelectCamera(e){this.viewManagerEpoch?.manager.setViewByParameters({params:{camera:e}})}_needsGrid(){const e=this.cameraManager?.getStore().getCameraIDsWithCapability("live"),i=this.viewManagerEpoch?.manager.getView();return!!i?.isGrid()&&!!i?.supportsMultipleDisplayModes()&&!!e&&e.size>1}willUpdate(e){e.has("viewManagerEpoch")&&this._needsGrid()&&import("./media-grid-82029e37.js")}render(){if(!this.conditionsManagerEpoch||!this.nonOverriddenLiveConfig)return;const e=this.cameraManager?.getStore().getCameraIDsWithCapability("live");return e?.size&&this._needsGrid()?c` - this._gridSelectCamera(e.detail.selected)} - > - ${[...e].map((e=>this._renderCarousel(e)))} - - `:this._renderCarousel()}static get styles(){return p(":host {\n width: 100%;\n height: 100%;\n display: block;\n}\n\n@keyframes warning-pulse {\n 0% {\n border: solid 2px var(--frigate-card-triggered-color-1, rgba(0, 0, 0, 0));\n }\n 50% {\n border: solid 2px var(--frigate-card-triggered-color-2, var(--warning-color));\n }\n 100% {\n border: solid 2px var(--frigate-card-triggered-color-1, rgba(0, 0, 0, 0));\n }\n}\nfrigate-card-live-carousel[triggered] {\n animation: warning-pulse 5s infinite;\n}\n\nfrigate-card-live-carousel[selected] {\n --frigate-card-triggered-color-1: var(--primary-color);\n}")}};i([a({attribute:!1})],Z.prototype,"hass",void 0),i([a({attribute:!1})],Z.prototype,"viewManagerEpoch",void 0),i([a({attribute:!1})],Z.prototype,"nonOverriddenLiveConfig",void 0),i([a({attribute:!1})],Z.prototype,"overriddenLiveConfig",void 0),i([a({attribute:!1,hasChanged:u})],Z.prototype,"overrides",void 0),i([a({attribute:!1})],Z.prototype,"conditionsManagerEpoch",void 0),i([a({attribute:!1})],Z.prototype,"cardWideConfig",void 0),i([a({attribute:!1})],Z.prototype,"cameraManager",void 0),i([a({attribute:!1})],Z.prototype,"microphoneManager",void 0),i([a({attribute:!1})],Z.prototype,"triggeredCameraIDs",void 0),Z=i([r("frigate-card-live-grid")],Z);let G=class extends o{constructor(){super(...arguments),this._controller=new k(this)}render(){if(this.hass&&this.nonOverriddenLiveConfig&&this.cameraManager)return c` - - - `}static get styles(){return p(L)}};i([a({attribute:!1})],G.prototype,"conditionsManagerEpoch",void 0),i([a({attribute:!1})],G.prototype,"hass",void 0),i([a({attribute:!1})],G.prototype,"viewManagerEpoch",void 0),i([a({attribute:!1})],G.prototype,"nonOverriddenLiveConfig",void 0),i([a({attribute:!1})],G.prototype,"overriddenLiveConfig",void 0),i([a({attribute:!1,hasChanged:u})],G.prototype,"overrides",void 0),i([a({attribute:!1})],G.prototype,"cameraManager",void 0),i([a({attribute:!1})],G.prototype,"cardWideConfig",void 0),i([a({attribute:!1})],G.prototype,"microphoneManager",void 0),i([a({attribute:!1})],G.prototype,"triggeredCameraIDs",void 0),G=i([r("frigate-card-live")],G);export{G as FrigateCardLive}; diff --git a/config/www/community/frigate-hass-card/index-dd357256.js.gz b/config/www/community/frigate-hass-card/index-dd357256.js.gz deleted file mode 100644 index ff41f0f432a80866712ce8e5a2236447a572a23c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6676 zcmV+v8tdgBiwFo&^lE1U|7mVyWq2)QWHU84GBq|XYI6YPJZ*R4xX$1AS5VH}UN{?A zpzYi(9foa7hqAZO7ic@Bw}&x_0YgZ*Nq_>we}5!9uOv{I&hGv2>~1$;OR_Aq=PRwelXpDjs##OG9! zzv8nk$xry4NpcgPSIdr}598_IWMU{OdZZj3(W7>{Z^loUnBfS)PNgwEN)p4z2T8$4 zU*a>EOQ-m_5c8~y$=4jZL#i;6I?iQD=73O6SXPN?#s&*n*G$V8%a(2=XmVlon3--d z?TpBSuAz@LrLdQkL@QueRit#K6NM@jt)myTv8vkLJ)$Wp^#K%U;qziW>cZ5=hD`G` zE$c8#lPWjF>LrrTnHOmogasIdT7;=fDa_#hK24jJKDsgV5$O_(=~^P`0QPj#Do}~0 ziK3kAnq}y!N{s||CS6(k=U=aSFcNVl1$2*SxF4hzF+ z06~?6C)O~*v@Sj*Jbsft-jVN%3DvACW?EDO2I3uq!7OPCjU~?ol~=i>;_DP4_$e_{ z-i{^3g-ir^G3ZdA(4W8#Gb=s?0y74+#)cLPD|ZI6#)yN!`T8093&hFRLwhcuA@ zlcZ@J-XW@WlSyeW%Bt2{E*M;5ZD(3o_4*}~Ua{?@MD_}W^$ggO|L>TZ*8NBUQG<0a zRcggv3t|z|S5Sol-Yu}0lM8b^0$HWgX<~H8Lr|Jy@~9toS*xT?)k56S7Be51LUsQ# zb{#;En6Stu&~IEAhHiL02JJXK1=BSe;k=+@$V_S$o?n*4oN01wq>>r%N2Y{XLg!;X zv2*YPFfl6eoqolFry;@q+Co zWiq4&0m*b&x0qJhgtkUDMlk|lO527dw=g^v)8GV|HT(YkEx56v7UQCY2ex=V0z-Uj z37W-tk3>S*@zH_S;8BeC&Ebf4<9W?)HiPrXzctbC-{WjZx-`CQfhfnSQt#>03bvHS z2E;V<-0*NExR=;_YXaZD3lMPfrt=xcbbw);X^RiqQur7x3?sHEL!lwLRD9{iIZ@R% zL^dz&h>9}H*2HbZ`8d&j6H;dB%7l-*iW3f5ndOwJsvSvTHM35F;-nLCoKHNtzn^e} zqF93>2@>`ni{EGJ9E&!X~pbzbu2Il=X;Fv#*u$dgTQ7i6Z7ovnmv%~aR|nIl+@ceq0;bQ22$ zKjhyaBXC+Ab_sc>8%gd1o)@G6tUA7>=HNk)@ zojb^mnE}y`1|wtC!YIn$VxRnbmXufozr@^sV6WLBW7Vot3->G;T8 zND3gj)AMI1d)ee0_+xD|1t0!rAEgfq>UDhjEkbXfzvb!Dfc+15`ryp>JojxcGK^^U zN6#Yc2EQgA=wwolw8`Z$=_^R5$;$1_KUM@ zS->j8P8V5EaRA?HN5o-x_Ym+c;KoqVjtj%jE8Tu+J756~1i*v73fanY;rbobniO*r zA^$-bkYa_;i*OFHCf&`mi1SSUV15s|;uJl(f@74weOtO3aZ{>jUG&J#ir}YDFu6&B z{G}=?%661+Ks_&>cDmB-F;gLs{V$ZeL7Bco;awEiBcMHhx(G^((3t=TFuI-QHtFt7 z?d_~T7vVxvMmp0hGl=6hhtP&hhDFfRHCnd}N`?;JYWoJnAd^1J@jzCwf85@FqQ(7m zn+sZ9wA~4VLfZ>%pdt;>2ercdwsyGL61T9$AF#$BwnvU=D336c)zSQ|VYK&H)K9gk zzrd z{rSr`n-(Ne`}=G6Q6V3NS*>qGv7__l&-@I6pTfbg@!(z=aRGMWWyT=8t^rwisz=ok zHR8UM?DNVr5a}~dvt!?unAtOaW)kD)Fs66zK1%#EkN11A#ecL|tnJ?YrDR>zjeKlE zj6^CmG9aNdW~tTwIX|1Xb9W=Td^{kH(V(5H zjh`N~>P`L6K0f8)g+;#pIg)2bI4(P9r`<|f9Y8;R&)76_&98sX$>Z_(re1ly>R$-B z%jT&0RXJ}TbdM|j({AAyR&5jS019|N08@CVs z)UI+zz4qh7TrPj zS$SAfo5SN-GY9mC51FgX-TmG9u_u#yW_mTe%QS;Lhxk@ptt^0e=u)0YO3HH$NY055AVPRJQ&~+`J9Gf zj;BwLwUKf;KwXck{d?x|;Mu91>rIq{vtBdzFel|NgZ2T)q+f}K<@^Qd*7~Oh*QMKe zwQ;)vr>4W70XE6nxi7P3DZ`q>FQ%M}<_Y9HCpmA9&C-`a_3`%Ao#SOqZyzX{JmfkU z!kU~n>%tyDzoYihnm^^fOq-3-$9C@60vfX#JIsL$rZpA`*QdbKRpVlO-Kb`&{ij1u zp6Zw!)cQ|f&(!N-?FiRXt$vuhE}b4!8&8q^D>?8T<>P~^uga)-d8Y%;9Aq?&qzQ4f zJ-nMJvn;z7_jiDsJ>_0ihZg!uEy=d>E@F2 z;=z@Hzd@#3ZB)m#c@=%Y>s9F@TPY33*CqaaTAfX25PJ@4?5tENUBLYB=T{|+2ZLAm z&c}f7Gx$8?&vLa}WrrEzQ!Y%151Fg}lX=xR1)BF=SVQwFn_2)ftJTk{fQS7#4qubJl{4#&XtTkGGNe9odB+A6%Q zb`CV>yloCNfsdyQj#-=EV%rh$F}*6GKkFi|)7or`b^-DP-wAwI%H3`a=678`t5vuR zyXJNM@JR4AIH+6zUgH+#aKUv^xtQ|rwj5A5D1T@h0L+tFZFFI5u!Gs@3}pv%IjZ4j zocH-*4#ohTT+Hkz^71Oi9n1x-r%WUtbQ|^4qpSX{u(whb<^?jWpW+;F-3U8E zdvV6#dIFdk*b&0iPc5JeK3BjB-fy|ystsAl?i^x%zmgGpt2$$&eOfS1)|or%5Bx0P zqAgtrz0PnRm8{KQw|x#a3G=e;O~BO8KCW5&vtYaDU%~&e=HnFBpgJR8t8A@LI?qlp zHzHr}j;=8dm+t?y>Z{y!UYbstkVo7=z5}_*ujk!DAs$MQO*V)0HkJUzgtDF_mny$GJp$&zA z^+=MosjFj)@{ufkgyW80`8UJi%l;m@opARM%YP=9%M+G(CW!^HEQ7UyYJM-fOuk63 zY1sByI^GpXaoi)vCHrbo+5#a^L9jcbyHVZ=*H?tG9xWrTKhAVrr9=zUz*3N%2F06| z9jEBu(eH%1di=Q)vj5UIfM_LFK_m9qZ(*#~+j#J=1;ALT7Z&?{=TIV!)SOGbo5Ci@ z6Rdx2{Am5FeP`Ct>nczyESA2a(MHq0llIlILi;%ZM`2QbD?bxC<#oxXS6a?1$LD^K zOJaH@PEjRMqE;fJM^IU<{oPnt70pyy0Ro0T1CnB}Xd1i7U{t9Yu`3;c|p({WJw1eKV3l#RUzcx~Kk_~gFaF5;9Ba48{(=-fs* z_TXcV;K$u%c!6y*kd*4+acdAIxiqev`9R9)xz)X_Q`r25M0lYzI1}zaaWpd#s>-po zYrD(m=ND{h7>-dw3Y!-8fn&p~Q0$z=!-X5o~*uD3xO>1=jG3_!%Uv~V6Z zI=vlJV+LUj+s*t!$RJO-tBGEWum&ZPT#y*JAd6@+1^c;dRIlo)Ze6GpGeXb^0d+tY z$+{X<>{f`L9oVixR>@1Bo-;2_R%#VUG5ufU#0jj4o8$?SvBXcps}Zp#MtfY<0gK?>)I4QP&1qy@iC+{E2d zLJNftb|($`S!znWzRm0P^e35ej}A$`vrO`gaVZl^?)gf2E27>R1nTG@+6f3ltAZ8c z)fEtsjGZ$)w}S1H!Y1|wa-0s^DrvP$G^)6Fh52dy{=|2YSmb8$VX;R%Pae2vjHq!j zoU%%GkceJMJ7E~>my)-3mk)}^Ar zuL`byv%R4WN0d27-GMunJ>U);smcFcU!LV87SC33}aO;Jur;Medd ztF0SmV&y%Lpwge6?Cm`v=p_%~eTUuG`fVX@mqaN2RLFk+zQ_D8G1*QJvWURD!VyVL z(b=p)(m~xF91$ab%B&JH3iR3foGDtVY~C3^m3@(PZ2vX;$!ROXmwe{M_AQH%K_^Tf zgYRQX9ujcdQRM?~t%X;Y>(Dl4E|B8zBx5OQSays<=-v?e`-jlIA(l>LtHDq=_N;{Y zIg)NUZ`eaXvxv0J<6Jz~9CWzYmvVqpb`_Pq zT1<%W1>d^^Ykdf$LJAE)+Ju7sBsw#9E4Pr9mcxom$>;MNMMQW%r_dw-g>4Q%QDG)l zb@L!%Ijw)lDw7Aux%(RntN9jCWJ*$+!dkaWRfPXoaW|22{QS*(r()OL!^u`@j!0x^ zR4(JDDtYhbO$&~{gp@HFw^B!8cR6l9QO1Z-fY^DgkxM_Ce(@k@a%UF{UpL zLEfs5&;Wf+ia}uW?_Zl%tR*K!Cp#~at1kOUA@FM(zxdv8 z5<3^SMs3}0#>25z&O806;j>T=FPIHDV$TZ>Tq41pTx4MOp=k@DwA(}&gKS%Ung z1NZzlAo^@5V5-5&O}jA!TqyxuJ3*y&$JaiLj&8{GftgGsMS!TUYG7s7z@D4=fj#lt zmi#5>8+Dzn$c!fW7rS_XD} zvbT{W#G5-^x4d%B=FpYm5^e}OEM|Qtz2XK;Gf5u<56FdvB;(9 z+)DGG=}A%iZ6Gr^blSgvUYS5grQ(LVKQ=AaneqGsNCYZaL)Ywxm5*iMUx(%R`Wx)V zt~b~LgpmGrL0)rMvJ(w`M*Tt$HCipeFB>+++7J_zL7%) zSaTzn?KU7_%@Y2Dj131gA=VtQ)%F#Xpx6t6x4_pOK{}+@oltrN^bOehX4L4F;3f%? zz2T9mxiTCz11ZHWM_Rk3E1?w;exojgRD?Csg%+Mk!hU^E1X{P%J?$y-kmtQ?vnHJh zSeJLC1!55Sh@j{G7~xKL1#9jHG)fh-3?pnl-TJEw2=?|E{xp+d1Obw1rt6 zs}>unv?M}fRp+~01magUcxCfByHZH7Hpg&M4Bx!>_r0GL5kCjX*YoeWOzxN-{EPp# zNbq+QHkhGDOA)`q}V^d;iOzWmbW7V`X$;>~*GZt&>2L5tZ%+w*zjO9kJcDZ96<^4 z(l_6q(l>uRrEmUlO5c1}N*}-u=PVw2b8V82P7o9Hrby7sKVEhktP&mACxQN`yL!pL zxf&p<=x1Y69}I*)H*x=8=H-DO`*ltjW#8G&$`20zKTqi+l6MCy+_OzO@5>W5Cj?jP zy?Xim{;9lcU?{&QFqD5nU?~68z)=37z)=2S*IfSbcu;this.onconnect())),this.ondisconnect()):(this.ondisconnect(),this.onconnect())}set src(e){"string"!=typeof e&&(e=e.toString()),e.startsWith("http")?e="ws"+e.substring(4):e.startsWith("/")&&(e="ws"+location.origin.substring(4)+e),this.wsURL=e,this.onconnect()}play(){}send(e){this.ws&&this.ws.send(JSON.stringify(e))}codecs(e){return this.CODECS.filter((e=>this.media.indexOf(e.indexOf("vc1")>0?"video":"audio")>=0)).filter((t=>e(`video/mp4; codecs="${t}"`))).join()}connectedCallback(){if(this.disconnectTID&&(clearTimeout(this.disconnectTID),this.disconnectTID=0),this.video){const e=this.video.seekable;e.length>0&&(this.video.currentTime=e.end(e.length-1)),this.play()}else this.oninit();this.onconnect()}disconnectedCallback(){this.background||this.disconnectTID||this.wsState===WebSocket.CLOSED&&this.pcState===WebSocket.CLOSED||(this.disconnectTID=setTimeout((()=>{this.reconnectTID&&(clearTimeout(this.reconnectTID),this.reconnectTID=0),this.disconnectTID=0,this.ondisconnect()}),this.DISCONNECT_TIMEOUT))}oninit(){this.video=document.createElement("video"),m(this.video,this.controls),this.video.playsInline=!0,this.video.preload="auto",this.video.style.display="block",this.video.style.width="100%",this.video.style.height="100%",this.appendChild(this.video),this.video.addEventListener("error",(e=>{this.ws&&this.wsState===WebSocket.OPEN&&this.ws.close()}));const n=window.navigator.userAgent.match(/Version\/(\d+).+Safari/);if(n){const e=n[1]<"13"?"mp4a.40.2":n[1]<"14"?"flac":"opus";this.CODECS.splice(this.CODECS.indexOf(e))}if(!this.background){if("hidden"in document&&this.visibilityCheck&&document.addEventListener("visibilitychange",(()=>{document.hidden?this.disconnectedCallback():this.isConnected&&this.connectedCallback()})),"IntersectionObserver"in window&&this.visibilityThreshold){new IntersectionObserver((e=>{e.forEach((e=>{e.isIntersecting?this.isConnected&&this.connectedCallback():this.disconnectedCallback()}))}),{threshold:this.visibilityThreshold}).observe(this)}this.video.onloadeddata=()=>{this.controls&&v(this.video,y),e(this,this.video,{player:this.containingPlayer,capabilities:{supports2WayAudio:!!this.pc,supportsPause:!0,hasAudio:g(this.video)},technology:f(this)})},this.video.onvolumechange=()=>t(this),this.video.onplay=()=>i(this),this.video.onpause=()=>s(this),this.video.muted=!0}}onconnect(){return!(!this.isConnected||!this.wsURL||this.ws||this.pc)&&(this.wsState=WebSocket.CONNECTING,this.connectTS=Date.now(),this.ws=new WebSocket(this.wsURL),this.ws.binaryType="arraybuffer",this.ws.addEventListener("open",(e=>this.onopen(e))),this.ws.addEventListener("close",(e=>this.onclose(e))),!0)}ondisconnect(){this.wsState=WebSocket.CLOSED,this.ws&&(this.ws.close(),this.ws=null),this.pcState=WebSocket.CLOSED,this.pc&&(this.pc.getSenders().forEach((e=>{e.track&&e.track.stop()})),this.pc.close(),this.pc=null),this.video.src="",this.video.srcObject=null}onopen(){this.wsState=WebSocket.OPEN,this.ws.addEventListener("message",(e=>{if("string"==typeof e.data){const t=JSON.parse(e.data);for(const e in this.onmessage)this.onmessage[e](t)}else this.ondata(e.data)})),this.ondata=null,this.onmessage={};const e=[];return this.mode.indexOf("mse")>=0&&("MediaSource"in window||"ManagedMediaSource"in window)?(e.push("mse"),this.onmse()):this.mode.indexOf("hls")>=0&&this.video.canPlayType("application/vnd.apple.mpegurl")?(e.push("hls"),this.onhls()):this.mode.indexOf("mp4")>=0&&(e.push("mp4"),this.onmp4()),this.mode.indexOf("webrtc")>=0&&"RTCPeerConnection"in window&&(e.push("webrtc"),this.onwebrtc()),this.mode.indexOf("mjpeg")>=0&&(e.length?this.onmessage.mjpeg=t=>{"error"===t.type&&0===t.value.indexOf(e[0])&&this.onmjpeg()}:(e.push("mjpeg"),this.onmjpeg())),e}onclose(){if(this.wsState===WebSocket.CLOSED)return!1;this.wsState=WebSocket.CONNECTING,this.ws=null;const e=Math.max(this.RECONNECT_TIMEOUT-(Date.now()-this.connectTS),0);return this.reconnectTID=setTimeout((()=>{this.reconnectTID=0,this.onconnect()}),e),!0}onmse(){let e;if("ManagedMediaSource"in window){const t=window.ManagedMediaSource;e=new t,e.addEventListener("sourceopen",(()=>{this.send({type:"mse",value:this.codecs(t.isTypeSupported)})}),{once:!0}),this.video.disableRemotePlayback=!0,this.video.srcObject=e}else e=new MediaSource,e.addEventListener("sourceopen",(()=>{URL.revokeObjectURL(this.video.src),this.send({type:"mse",value:this.codecs(MediaSource.isTypeSupported)})}),{once:!0}),this.video.src=URL.createObjectURL(e),this.video.srcObject=null;this.play(),this.mseCodecs="",this.onmessage.mse=t=>{if("mse"!==t.type)return;this.mseCodecs=t.value;const i=e.addSourceBuffer(t.value);i.mode="segments",i.addEventListener("updateend",(()=>{if(!i.updating)try{if(n>0){const e=s.slice(0,n);n=0,i.appendBuffer(e)}else if(i.buffered&&i.buffered.length){const t=i.buffered.end(i.buffered.length-1)-15,s=i.buffered.start(0);t>s&&(i.remove(s,t),e.setLiveSeekableRange(t,t+15))}}catch(e){}}));const s=new Uint8Array(2097152);let n=0;this.ondata=e=>{if(i.updating||n>0){const t=new Uint8Array(e);s.set(t,n),n+=t.byteLength}else try{i.appendBuffer(e)}catch(e){}}}}onwebrtc(){const e=new RTCPeerConnection(this.pcConfig);e.addEventListener("icecandidate",(e=>{if(e.candidate&&this.mode.indexOf("webrtc/tcp")>=0&&"udp"===e.candidate.protocol)return;const t=e.candidate?e.candidate.toJSON().candidate:"";this.send({type:"webrtc/candidate",value:t})})),e.addEventListener("connectionstatechange",(()=>{if("connected"===e.connectionState){const t=e.getTransceivers().filter((e=>"recvonly"===e.currentDirection)).map((e=>e.receiver.track)),i=document.createElement("video");i.addEventListener("loadeddata",(()=>this.onpcvideo(i)),{once:!0}),i.srcObject=new MediaStream(t)}else"failed"!==e.connectionState&&"disconnected"!==e.connectionState||(e.close(),this.pcState=WebSocket.CLOSED,this.pc=null,this.onconnect())})),this.onmessage.webrtc=t=>{switch(t.type){case"webrtc/candidate":if(this.mode.indexOf("webrtc/tcp")>=0&&t.value.indexOf(" udp ")>0)return;e.addIceCandidate({candidate:t.value,sdpMid:"0"}).catch((e=>{console.warn(e)}));break;case"webrtc/answer":e.setRemoteDescription({type:"answer",sdp:t.value}).catch((e=>{console.warn(e)}));break;case"error":if(t.value.indexOf("webrtc/offer")<0)return;e.close()}},this.createOffer(e).then((e=>{this.send({type:"webrtc/offer",value:e.sdp})})),this.pcState=WebSocket.CONNECTING,this.pc=e}async createOffer(e){this.microphoneStream?.getTracks().forEach((t=>{e.addTransceiver(t,{direction:"sendonly"})}));try{if(this.media.indexOf("microphone")>=0){(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach((t=>{e.addTransceiver(t,{direction:"sendonly"})}))}}catch(e){console.warn(e)}for(const t of["video","audio"])this.media.indexOf(t)>=0&&e.addTransceiver(t,{direction:"recvonly"});const t=await e.createOffer();return await e.setLocalDescription(t),t}onpcvideo(e){if(this.pc){let t=0,i=0;const s=e.srcObject;s.getVideoTracks().length>0&&(t+=544),s.getAudioTracks().length>0&&(t+=258),this.mseCodecs.indexOf("hvc1.")>=0&&(i+=560),this.mseCodecs.indexOf("avc1.")>=0&&(i+=528),this.mseCodecs.indexOf("mp4a.")>=0&&(i+=257),t>=i?(this.video.srcObject=s,this.play(),this.pcState=WebSocket.OPEN,this.wsState=WebSocket.CLOSED,this.ws&&(this.ws.close(),this.ws=null)):(this.pcState=WebSocket.CLOSED,this.pc&&(this.pc.close(),this.pc=null))}e.srcObject=null}onmjpeg(){let t=!1;this.ondata=i=>{m(this.video,!1),this.video.poster="data:image/jpeg;base64,"+b.btoa(i),t||(t=!0,e(this,this.video,{player:this.containingPlayer,technology:["mjpeg"]}))},this.send({type:"mjpeg"})}onhls(){this.onmessage.hls=e=>{if("hls"!==e.type)return;const t="http"+this.wsURL.substring(2,this.wsURL.indexOf("/ws"))+"/hls/",i=e.value.replace("hls/",t);this.video.src="data:application/vnd.apple.mpegurl;base64,"+btoa(i),this.play()},this.send({type:"hls",value:this.codecs((e=>this.video.canPlayType(e)))})}onmp4(){const t=document.createElement("canvas");let i;const s=document.createElement("video");s.autoplay=!0,s.playsInline=!0,s.muted=!0,s.addEventListener("loadeddata",(n=>{i||(t.width=s.videoWidth,t.height=s.videoHeight,i=t.getContext("2d"),e(this,s,{player:this.containingPlayer,technology:["mp4"]})),i.drawImage(s,0,0,t.width,t.height),m(this.video,!1),this.video.poster=t.toDataURL("image/jpeg")})),this.ondata=e=>{s.src="data:video/mp4;base64,"+b.btoa(e)},this.send({type:"mp4",value:this.codecs(this.video.canPlayType)})}static btoa(e){const t=new Uint8Array(e),i=t.byteLength;let s="";for(let e=0;e%0U1XV} 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 diff --git a/config/www/community/frigate-hass-card/index-e610f971.js b/config/www/community/frigate-hass-card/index-e610f971.js deleted file mode 100644 index 37e75546..00000000 --- a/config/www/community/frigate-hass-card/index-e610f971.js +++ /dev/null @@ -1,162 +0,0 @@ -import{cL as e,cM as i,cN as t,cO as a,cP as r,cQ as o,l as s,_ as n,n as d,b as g,t as c,a as h,cR as l,cI as m,cS as v,cT as p,x as u,cU as C,cV as f,e as I,r as M,cW as _,cX as w,cY as b,cZ as y,c_ as L,c$ as A,d0 as D,d1 as $,d2 as j}from"./card-09c4bade.js";import{p as z,u as k,i as S,M as E,A as N,a as x,b as T}from"./media-aef44451.js"; -/** - * @license - * Copyright 2021 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const Z=e(class extends i{constructor(){super(...arguments),this.key=t}render(e,i){return this.key=e,i}update(e,[i,t]){return i!==this.key&&(a(e),this.key=i),t}});class O{constructor(e){this._inBackground=!1,this._messageReceived=!1,this._lastMediaLoadedInfo=null,this._renderEpoch=0,this._handleMessage=e=>{this._messageReceived=!0,this._inBackground&&(e.stopPropagation(),this._renderEpoch++)},this._handleMediaLoaded=e=>{this._lastMediaLoadedInfo={source:e.composedPath()[0],mediaLoadedInfo:e.detail},this._inBackground&&e.stopPropagation()},this._host=e,e.addController(this),this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this))}shouldUpdate(){return!(this._inBackground&&this._messageReceived)}hostConnected(){this._intersectionObserver.observe(this._host),this._host.addEventListener("frigate-card:media:loaded",this._handleMediaLoaded),this._host.addEventListener("frigate-card:message",this._handleMessage)}hostDisconnected(){this._intersectionObserver.disconnect(),this._host.removeEventListener("frigate-card:media:loaded",this._handleMediaLoaded),this._host.removeEventListener("frigate-card:message",this._handleMessage)}clearMessageReceived(){this._messageReceived=!1}isInBackground(){return this._inBackground}getRenderEpoch(){return this._renderEpoch}_intersectionHandler(e){const i=this._inBackground;this._inBackground=!e.some((e=>e.isIntersecting)),this._inBackground||this._messageReceived||!this._lastMediaLoadedInfo||r(this._lastMediaLoadedInfo.source,this._lastMediaLoadedInfo.mediaLoadedInfo),i!==this._inBackground&&this._host.requestUpdate()}}const P=(e,i,t)=>{if(!t?.camera_entity)return o(e,s("error.no_live_camera"),{context:t}),null;const a=i.states[t.camera_entity];return a||(o(e,s("error.live_camera_not_found"),{context:t}),null)};let G=class extends h{constructor(){super(...arguments),this.load=!1,this.label="",this._isVideoMediaLoaded=!1,this._refProvider=l(),this._importPromises=[]}async play(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await z(this,this._refProvider.value)}async pause(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.pause())}async mute(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.mute())}async unmute(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.unmute())}isMuted(){return this._refProvider.value?.isMuted()??!0}async seek(e){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.seek(e))}async setControls(e){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.setControls(e))}isPaused(){return this._refProvider.value?.isPaused()??!0}async getScreenshotURL(){return await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.getScreenshotURL())??null}_getResolvedProvider(){return"auto"===this.cameraConfig?.live_provider?this.cameraConfig?.webrtc_card?.entity||this.cameraConfig?.webrtc_card?.url?"webrtc-card":this.cameraConfig?.camera_entity?"ha":this.cameraConfig?.frigate.camera_name?"jsmpeg":m.cameras.live_provider:this.cameraConfig?.live_provider||"image"}_shouldShowImageDuringLoading(){return!!this.cameraConfig?.camera_entity&&!!this.hass&&!!this.liveConfig?.show_image_during_load}disconnectedCallback(){this._isVideoMediaLoaded=!1}_videoMediaShowHandler(){this._isVideoMediaLoaded=!0}willUpdate(e){if(e.has("load")&&(this.load||(this._isVideoMediaLoaded=!1,v(this))),e.has("liveConfig")&&(this.liveConfig?.show_image_during_load&&this._importPromises.push(import("./image-cdeb2c7e.js")),this.liveConfig?.zoomable&&this._importPromises.push(import("./zoomer-37e20bdd.js"))),e.has("cameraConfig")){const e=this._getResolvedProvider();"jsmpeg"===e?this._importPromises.push(import("./jsmpeg-fd152ef0.js")):"ha"===e?this._importPromises.push(import("./ha-a4f2c69e.js")):"webrtc-card"===e?this._importPromises.push(import("./webrtc-card-a9018c5e.js")):"image"===e?this._importPromises.push(import("./image-cdeb2c7e.js")):"go2rtc"===e&&this._importPromises.push(import("./index-e0b66e9f.js")),k(this,this.cameraConfig?.dimensions?.layout),this.style.aspectRatio=p({ratio:this.cameraConfig?.dimensions?.aspect_ratio})}}async getUpdateComplete(){const e=await super.getUpdateComplete();return await Promise.all(this._importPromises),this._importPromises=[],e}_useZoomIfRequired(e){return this.liveConfig?.zoomable?u` this.cameraConfig?.dimensions?.layout?{pan:this.cameraConfig.dimensions.layout.pan,zoom:this.cameraConfig.dimensions.layout.zoom}:void 0))} - .settings=${this.zoomSettings} - @frigate-card:zoom:zoomed=${()=>this.setControls(!1)} - @frigate-card:zoom:unzoomed=${()=>this.setControls()} - > - ${e} - `:e}render(){if(!(this.load&&this.hass&&this.liveConfig&&this.cameraConfig))return;this.title=this.label,this.ariaLabel=this.label;const e=this._getResolvedProvider(),i=!this._isVideoMediaLoaded&&this._shouldShowImageDuringLoading(),t={hidden:i};if("ha"===e||"image"===e){const e=P(this,this.hass,this.cameraConfig);if(!e)return;if("unavailable"===e.state)return v(this),C({message:`${s("error.live_camera_unavailable")}${this.label?`: ${this.label}`:""}`,type:"info",icon:"mdi:cctv-off",dotdotdot:!0})}return u`${this._useZoomIfRequired(u` - ${i||"image"===e?u` {"image"===e?this._videoMediaShowHandler():i.stopPropagation()}} - > - `:u``} - ${"ha"===e?u` - `:"go2rtc"===e?u` - `:"webrtc-card"===e?u` - `:"jsmpeg"===e?u` - `:u``} - `)} - ${i&&!this._isVideoMediaLoaded?u``:""} `}static get styles(){return M(':host {\n background-color: var(--primary-background-color);\n background-position: center;\n background-repeat: no-repeat;\n background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4yLjIgKGIwYTg0ODY1NDEsIDIwMjItMTItMDEpIgogICBzb2RpcG9kaTpkb2NuYW1lPSJjYW1lcmEtaXJpcy5zdmciCiAgIGlkPSJzdmc0IgogICB2ZXJzaW9uPSIxLjEiCiAgIHZpZXdCb3g9IjAgMCAyNCAyNCIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9Im5hbWVkdmlldzYiCiAgICAgcGFnZWNvbG9yPSIjYjkzZTNlIgogICAgIGJvcmRlcmNvbG9yPSIjMDAwMDAwIgogICAgIGJvcmRlcm9wYWNpdHk9IjAuMjUiCiAgICAgaW5rc2NhcGU6c2hvd3BhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuNjA3ODQzMTQiCiAgICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6ZGVza2NvbG9yPSIjZDFkMWQxIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIyNi42MjUwNiIKICAgICBpbmtzY2FwZTpjeD0iLTEuOTM0MjY4IgogICAgIGlua3NjYXBlOmN5PSIxNS42ODA3MTYiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIzODQwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjE1MjciCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjEwODAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjIyNyIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzQiIC8+CiAgPGcKICAgICBpZD0iZzExMTkiCiAgICAgc3R5bGU9ImZpbGwtb3BhY2l0eTowLjA1O2ZpbGw6I2ZmZmZmZiI+CiAgICA8Y2lyY2xlCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eTowLjA1O3N0cm9rZS13aWR0aDoxLjM5NzI5IgogICAgICAgaWQ9InBhdGgxNzAiCiAgICAgICBjeD0iMTIiCiAgICAgICBjeT0iMTIiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iV2hpdGUgQmFja2dyb3VuZCIKICAgICAgIHI9IjExLjI1IiAvPgogICAgPHBhdGgKICAgICAgIGQ9Ik0gMTMuNzMwMDAxLDE1IDkuODMwMDAwMywyMS43NiBDIDEwLjUzLDIxLjkxIDExLjI1LDIyIDEyLDIyIGMgMi40MDAwMDEsMCA0LjYsLTAuODUgNi4zMiwtMi4yNSBMIDE0LjY2MDAwMSwxMy40IE0gMi40NjAwMDAzLDE1IGMgMC45MiwyLjkyIDMuMTUsNS4yNiA1Ljk5LDYuMzQgTCAxMi4xMiwxNSBtIC0zLjU3OTk5OTcsLTMgLTMuOSwtNi43NDk5OTk2IGMgLTEuNjQsMS43NDk5OTkgLTIuNjQsNC4xMzk5OTkzIC0yLjY0LDYuNzQ5OTk5NiAwLDAuNjggMC4wNywxLjM1IDAuMiwyIGggNy40OSBNIDIxLjgsOS45OTk5OTk3IEggMTQuMzEwMDAxIEwgMTQuNjAwMDAxLDEwLjUgMTkuMzYsMTguNzUgQyAyMSwxNi45NyAyMiwxNC42IDIyLDEyIDIyLDExLjMxIDIxLjkzLDEwLjY0IDIxLjgsOS45OTk5OTk3IG0gLTAuMjYsLTEgQyAyMC42Miw2LjA3MDAwMDUgMTguMzksMy43NDAwMDAyIDE1LjU1MDAwMSwyLjY2MDAwMDIgTCAxMS44OCw4Ljk5OTk5OTcgTSA5LjQwMDAwMDMsMTAuNSAxNC4xNzAwMDEsMi4yNDAwMDAyIGMgLTAuNywtMC4xNSAtMS40MjAwMDEsLTAuMjQgLTIuMTcwMDAxLC0wLjI0IC0yLjM5OTk5OTcsMCAtNC41OTk5OTk3LDAuODQgLTYuMzE5OTk5NywyLjI1MDAwMDMgbCAzLjY2LDYuMzQ5OTk5NSB6IgogICAgICAgaWQ9InBhdGgyIgogICAgICAgaW5rc2NhcGU6bGFiZWw9IklyaXMiCiAgICAgICBzdHlsZT0iZmlsbC1vcGFjaXR5OjAuMDU7ZmlsbDojZmZmZmZmIiAvPgogIDwvZz4KPC9zdmc+Cg==");\n background-size: 10%;\n background-position: center;\n}\n\n:host {\n display: block;\n height: 100%;\n width: 100%;\n position: relative;\n}\n\n.hidden {\n display: none;\n}\n\nha-icon {\n position: absolute;\n top: 10px;\n right: 10px;\n color: var(--primary-color);\n}')}};n([d({attribute:!1})],G.prototype,"hass",void 0),n([d({attribute:!1})],G.prototype,"cameraConfig",void 0),n([d({attribute:!1})],G.prototype,"cameraEndpoints",void 0),n([d({attribute:!1})],G.prototype,"liveConfig",void 0),n([d({attribute:!0,type:Boolean})],G.prototype,"load",void 0),n([d({attribute:!1})],G.prototype,"label",void 0),n([d({attribute:!1})],G.prototype,"cardWideConfig",void 0),n([d({attribute:!1})],G.prototype,"microphoneStream",void 0),n([d({attribute:!1})],G.prototype,"zoomSettings",void 0),n([g()],G.prototype,"_isVideoMediaLoaded",void 0),G=n([c("frigate-card-live-provider")],G);const W="frigate-card-live-provider";let U=class extends h{constructor(){super(...arguments),this._cameraToSlide={},this._refPTZControl=l(),this._refCarousel=l(),this._mediaActionsController=new E,this._mediaHasLoaded=!1}connectedCallback(){super.connectedCallback(),this.requestUpdate()}disconnectedCallback(){this._mediaActionsController.destroy(),super.disconnectedCallback()}_getTransitionEffect(){return this.overriddenLiveConfig?.transition_effect??m.live.transition_effect}_getSelectedCameraIndex(){if(this.viewFilterCameraID)return 0;const e=this.cameraManager?.getStore().getCameraIDsWithCapability("live"),i=this.viewManagerEpoch?.manager.getView();return e?.size&&i?Math.max(0,Array.from(e).indexOf(i.camera)):0}willUpdate(e){(e.has("microphoneManager")||e.has("overriddenLiveConfig"))&&this._mediaActionsController.setOptions({playerSelector:W,...this.overriddenLiveConfig?.auto_play&&{autoPlayConditions:this.overriddenLiveConfig.auto_play},...this.overriddenLiveConfig?.auto_pause&&{autoPauseConditions:this.overriddenLiveConfig.auto_pause},...this.overriddenLiveConfig?.auto_mute&&{autoMuteConditions:this.overriddenLiveConfig.auto_mute},...this.overriddenLiveConfig?.auto_unmute&&{autoUnmuteConditions:this.overriddenLiveConfig.auto_unmute},...(this.overriddenLiveConfig?.auto_unmute||this.overriddenLiveConfig?.auto_mute)&&{microphoneManager:this.microphoneManager,microphoneMuteSeconds:this.overriddenLiveConfig.microphone.mute_after_microphone_mute_seconds}})}_getPlugins(){return[N({...this.overriddenLiveConfig?.lazy_load&&{lazyLoadCallback:(e,i)=>this._lazyloadOrUnloadSlide("load",e,i)},lazyUnloadConditions:this.overriddenLiveConfig?.lazy_unload,lazyUnloadCallback:(e,i)=>this._lazyloadOrUnloadSlide("unload",e,i)}),x(),T()]}_getLazyLoadCount(){return!1===this.overriddenLiveConfig?.lazy_load?null:0}_getSlides(){if(!this.cameraManager)return[[],{}];const e=this.viewManagerEpoch?.manager.getView(),i=this.viewFilterCameraID?new Set([this.viewFilterCameraID]):this.cameraManager?.getStore().getCameraIDsWithCapability("live"),t=[],a={};for(const[r,o]of this.cameraManager.getStore().getCameraConfigEntries(i)){const i=this._getSubstreamCameraID(r,e),s=r===i?o:this.cameraManager?.getStore().getCameraConfig(i),n=s?this._renderLive(i,s):null;n&&(a[r]=t.length,t.push(n))}return[t,a]}_setViewHandler(e){const i=this.cameraManager?.getStore().getCameraIDsWithCapability("live");i?.size&&e.detail.index!==this._getSelectedCameraIndex()&&this._setViewCameraID([...i][e.detail.index])}_setViewCameraID(e){e&&this.viewManagerEpoch?.manager.setViewByParametersWithNewQuery({params:{camera:e}})}_lazyloadOrUnloadSlide(e,i,t){t instanceof HTMLSlotElement&&(t=t.assignedElements({flatten:!0})[0]);const a=t?.querySelector(W);a&&(a.load="load"===e)}_renderLive(e,i){if(!(this.overriddenLiveConfig&&this.nonOverriddenLiveConfig&&this.hass&&this.cameraManager&&this.conditionsManagerEpoch))return;let t=null;try{t=w(this.conditionsManagerEpoch.manager,{live:this.nonOverriddenLiveConfig},{configOverrides:this.overrides,stateOverrides:{camera:e},schema:b}).live}catch(e){return y(this,e)}const a=this.cameraManager.getCameraMetadata(e),r=this.viewManagerEpoch?.manager.getView();return u` -
- this.cameraManager?.getCameraEndpoints(e)??void 0))} - .label=${a?.title??""} - .liveConfig=${t} - .hass=${this.hass} - .cardWideConfig=${this.cardWideConfig} - .zoomSettings=${r?.context?.zoom?.[e]?.requested} - @frigate-card:zoom:change=${i=>L(i,this.viewManagerEpoch?.manager,e)} - > - -
- `}_getCameraIDsOfNeighbors(){const e=this.cameraManager?[...this.cameraManager?.getStore().getCameraIDsWithCapability("live")]:[],i=this.viewManagerEpoch?.manager.getView();if(this.viewFilterCameraID||e.length<=1||!i||!this.hass)return[null,null];const t=this.viewFilterCameraID??i.camera,a=e.indexOf(t);return a<0?[null,null]:[e[a>0?a-1:e.length-1],e[a+11,[r,o]=this._getCameraIDsOfNeighbors(),s=r?this.cameraManager.getCameraMetadata(this._getSubstreamCameraID(r,e)):null,n=o?this.cameraManager.getCameraMetadata(this._getSubstreamCameraID(o,e)):null,d=!(!this._mediaHasLoaded||this.viewFilterCameraID&&this.viewFilterCameraID!==e.camera||!1===e.context?.ptzControls?.enabled)&&e.context?.ptzControls?.enabled;return u` - {this._mediaHasLoaded=!0}} - @frigate-card:media:unloaded=${()=>{this._mediaHasLoaded=!1}} - > - {this._setViewCameraID(r),A(e)}} - > - - ${i} - {this._setViewCameraID(o),A(e)}} - > - - - - - `}_setMediaTarget(){const e=this.viewManagerEpoch?.manager.getView(),i=this._getSelectedCameraIndex();this.viewFilterCameraID?this._mediaActionsController.setTarget(i,e?.camera===this.viewFilterCameraID):this._mediaActionsController.setTarget(i,!0)}updated(e){super.updated(e);let i=!1;!this._mediaActionsController.hasRoot()&&this._refCarousel.value&&(this._mediaActionsController.initialize(this._refCarousel.value),i=!0),(i||e.has("viewManagerEpoch"))&&this._setMediaTarget()}static get styles(){return M(":host {\n display: block;\n --video-max-height: none;\n}\n\n:host(:not([grid-id])) {\n height: 100%;\n}\n\n:host([unselected]) frigate-card-carousel {\n pointer-events: none;\n}\n\n.embla__slide {\n display: flex;\n justify-content: center;\n height: 100%;\n flex: 0 0 100%;\n}")}};n([d({attribute:!1})],U.prototype,"hass",void 0),n([d({attribute:!1})],U.prototype,"viewManagerEpoch",void 0),n([d({attribute:!1})],U.prototype,"nonOverriddenLiveConfig",void 0),n([d({attribute:!1})],U.prototype,"overriddenLiveConfig",void 0),n([d({attribute:!1,hasChanged:_})],U.prototype,"overrides",void 0),n([d({attribute:!1})],U.prototype,"conditionsManagerEpoch",void 0),n([d({attribute:!1})],U.prototype,"cardWideConfig",void 0),n([d({attribute:!1})],U.prototype,"cameraManager",void 0),n([d({attribute:!1})],U.prototype,"microphoneManager",void 0),n([d({attribute:!1})],U.prototype,"viewFilterCameraID",void 0),n([g()],U.prototype,"_mediaHasLoaded",void 0),U=n([c("frigate-card-live-carousel")],U);let B=class extends h{_renderCarousel(e){const i=this.viewManagerEpoch?.manager.getView(),t=e??i?.camera;return u` - - - `}_gridSelectCamera(e){this.viewManagerEpoch?.manager.setViewByParameters({params:{camera:e}})}_needsGrid(){const e=this.cameraManager?.getStore().getCameraIDsWithCapability("live"),i=this.viewManagerEpoch?.manager.getView();return!!i?.isGrid()&&!!i?.supportsMultipleDisplayModes()&&!!e&&e.size>1}willUpdate(e){e.has("viewManagerEpoch")&&this._needsGrid()&&import("./media-grid-ef47501a.js")}render(){if(!this.conditionsManagerEpoch||!this.nonOverriddenLiveConfig)return;const e=this.cameraManager?.getStore().getCameraIDsWithCapability("live");return e?.size&&this._needsGrid()?u` - this._gridSelectCamera(e.detail.selected)} - > - ${[...e].map((e=>this._renderCarousel(e)))} - - `:this._renderCarousel()}static get styles(){return M(":host {\n width: 100%;\n height: 100%;\n display: block;\n}\n\n@keyframes warning-pulse {\n 0% {\n border: solid 2px var(--frigate-card-triggered-color-1, rgba(0, 0, 0, 0));\n }\n 50% {\n border: solid 2px var(--frigate-card-triggered-color-2, var(--warning-color));\n }\n 100% {\n border: solid 2px var(--frigate-card-triggered-color-1, rgba(0, 0, 0, 0));\n }\n}\nfrigate-card-live-carousel[triggered] {\n animation: warning-pulse 5s infinite;\n}\n\nfrigate-card-live-carousel[selected] {\n --frigate-card-triggered-color-1: var(--primary-color);\n}")}};n([d({attribute:!1})],B.prototype,"hass",void 0),n([d({attribute:!1})],B.prototype,"viewManagerEpoch",void 0),n([d({attribute:!1})],B.prototype,"nonOverriddenLiveConfig",void 0),n([d({attribute:!1})],B.prototype,"overriddenLiveConfig",void 0),n([d({attribute:!1,hasChanged:_})],B.prototype,"overrides",void 0),n([d({attribute:!1})],B.prototype,"conditionsManagerEpoch",void 0),n([d({attribute:!1})],B.prototype,"cardWideConfig",void 0),n([d({attribute:!1})],B.prototype,"cameraManager",void 0),n([d({attribute:!1})],B.prototype,"microphoneManager",void 0),n([d({attribute:!1})],B.prototype,"triggeredCameraIDs",void 0),B=n([c("frigate-card-live-grid")],B);let V=class extends h{constructor(){super(...arguments),this._controller=new O(this)}shouldUpdate(e){return this._controller.shouldUpdate()}willUpdate(){this._controller.clearMessageReceived()}render(){if(this.hass&&this.nonOverriddenLiveConfig&&this.cameraManager)return u`${Z(this._controller.getRenderEpoch(),u` - - - `)}`}static get styles(){return M(j)}};n([d({attribute:!1})],V.prototype,"conditionsManagerEpoch",void 0),n([d({attribute:!1})],V.prototype,"hass",void 0),n([d({attribute:!1})],V.prototype,"viewManagerEpoch",void 0),n([d({attribute:!1})],V.prototype,"nonOverriddenLiveConfig",void 0),n([d({attribute:!1})],V.prototype,"overriddenLiveConfig",void 0),n([d({attribute:!1,hasChanged:_})],V.prototype,"overrides",void 0),n([d({attribute:!1})],V.prototype,"cameraManager",void 0),n([d({attribute:!1})],V.prototype,"cardWideConfig",void 0),n([d({attribute:!1})],V.prototype,"microphoneManager",void 0),n([d({attribute:!1})],V.prototype,"triggeredCameraIDs",void 0),V=n([c("frigate-card-live")],V);var Y=Object.freeze({__proto__:null,get FrigateCardLive(){return V}});export{P as g,Y as i}; diff --git a/config/www/community/frigate-hass-card/index-e610f971.js.gz b/config/www/community/frigate-hass-card/index-e610f971.js.gz deleted file mode 100644 index 3f4b28c3294e5a6d840047305971cdfd057f3bb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6881 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 bzXRc#|1A#eZ&;wK(|7+5XkVkWB4PjlzrKS- diff --git a/config/www/community/frigate-hass-card/jsmpeg-05cdf58e.js b/config/www/community/frigate-hass-card/jsmpeg-05cdf58e.js deleted file mode 100644 index ae20ce44..00000000 --- a/config/www/community/frigate-hass-card/jsmpeg-05cdf58e.js +++ /dev/null @@ -1,12 +0,0 @@ -import{cL as A,eN as t,dC as i,eO as e,a as s,dD as o,dy as g,dz as I,dw as a,cQ as B,l as r,x as C,dl as n,r as E,_ as Q,n as h,t as d}from"./card-45855f1f.js";import{g as c}from"./endpoint-f74ef6db.js";function l(){return l=Object.assign?Object.assign.bind():function(A){for(var t=1;t"string"==typeof A&&A.constructor===String,D=function(A){var t,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t=A,"Promise"===Object.prototype.toString.call(t).slice(8,-1)?A:new Promise((t=>{A(),setTimeout(t,i)}))};var m="WJ3NAvwFY9",f="tR2-0dd-e1",y="ZgIIHVSSYI",R="kAA8SjbHe2",k="OueN4AU4CJ";!function(A,t){void 0===t&&(t={});var i=t.insertAt;if(A&&"undefined"!=typeof document){var e=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.type="text/css","top"===i&&e.firstChild?e.insertBefore(s,e.firstChild):e.appendChild(s),s.styleSheet?s.styleSheet.cssText=A:s.appendChild(document.createTextNode(A))}}(".WJ3NAvwFY9,.ZgIIHVSSYI,.kAA8SjbHe2,.tR2-0dd-e1{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.ZgIIHVSSYI{-ms-flex-pack:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;justify-content:center}.WJ3NAvwFY9,.tR2-0dd-e1{display:block}.tR2-0dd-e1.OueN4AU4CJ{display:none}.ZgIIHVSSYI,.kAA8SjbHe2{-webkit-tap-highlight-color:rgba(255,0,0,0);cursor:pointer;opacity:.7}.OueN4AU4CJ.ZgIIHVSSYI,.OueN4AU4CJ.kAA8SjbHe2{display:none}.ZgIIHVSSYI{z-index:10}.ZgIIHVSSYI>svg{fill:#fff;height:12vw;max-height:60px;max-width:60px;width:12vw}.kAA8SjbHe2{-ms-flex-pack:end;-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:flex-end;justify-content:flex-end;z-index:10}.kAA8SjbHe2>svg{fill:#fff;height:9vw;margin:0 15px 15px 0;max-height:40px;max-width:40px;width:9vw}");var b=function(){function A(A,t,i,e){var s=void 0===i?{}:i,o=s.canvas,g=void 0===o?"":o,I=s.poster,a=void 0===I?"":I,B=s.autoplay,r=void 0!==B&&B,C=s.autoSetWrapperSize,n=void 0!==C&&C,E=s.loop,Q=void 0!==E&&E,h=s.control,d=void 0===h||h,c=s.decodeFirstFrame,u=void 0===c||c,w=s.picMode,D=void 0!==w&&w,m=s.progressive,f=void 0===m||m,y=s.chunkSize,R=void 0===y?1048576:y,k=s.hooks,b=void 0===k?{}:k;void 0===e&&(e={}),this.options=l({videoUrl:t,canvas:g,poster:a,picMode:D,autoplay:r,autoSetWrapperSize:n,loop:Q,control:d,decodeFirstFrame:u,progressive:f,chunkSize:R,hooks:l({play:function(){},pause:function(){},stop:function(){},load:function(){}},b)},e),this.options.needPlayButton=this.options.control&&!this.options.picMode,this.player=null,this.els={wrapper:p(A)?document.querySelector(A):A,canvas:null,playButton:document.createElement("div"),unmuteButton:null,poster:null},"static"===window.getComputedStyle(this.els.wrapper).getPropertyValue("position")&&(this.els.wrapper.style.position="relative"),this.els.wrapper.clientRect=this.els.wrapper.getBoundingClientRect(),this.initCanvas(),this.initPlayButton(),this.initPlayer()}var t=A.prototype;return t.initCanvas=function(){this.options.canvas?this.els.canvas=p(this.options.canvas)?document.querySelector(this.options.canvas):this.options.canvas:(this.els.canvas=document.createElement("canvas"),this.els.canvas.classList.add(m),this.els.wrapper.appendChild(this.els.canvas))},t.initPlayer=function(){var A=this;this.options=l(this.options,{canvas:this.els.canvas});var t=l({},this.options,{autoplay:!1});if(this.player=new X(this.options.videoUrl,t,{play:function(){A.options.needPlayButton&&A.els.playButton.classList.add(k),A.els.poster&&A.els.poster.classList.add(k),A.options.hooks.play()},pause:function(){A.options.needPlayButton&&A.els.playButton.classList.remove(k),A.options.hooks.pause()},stop:function(){A.els.poster&&A.els.poster.classList.remove(k),A.options.hooks.stop()},load:function(){A.options.autoplay&&A.play(),A._autoSetWrapperSize(),A.options.hooks.load()}}),this._copyPlayerFuncs(),this.els.wrapper.playerInstance=this.player,!this.options.poster||this.options.autoplay||this.player.options.streaming||(this.options.decodeFirstFrame=!1,this.els.poster=new Image,this.els.poster.src=this.options.poster,this.els.poster.classList.add(f),this.els.wrapper.appendChild(this.els.poster)),this.player.options.streaming||this.els.wrapper.addEventListener("click",this.onClick.bind(this)),(this.options.autoplay||this.player.options.streaming)&&this.els.playButton.classList.add(k),this.player.audioOut&&!this.player.audioOut.unlocked){var i=this.els.wrapper;(this.options.autoplay||this.player.options.streaming)&&(this.els.unmuteButton=document.createElement("div"),this.els.unmuteButton.innerHTML='\n\n \n\n',this.els.unmuteButton.classList.add(R),this.els.wrapper.appendChild(this.els.unmuteButton),i=this.els.unmuteButton),this.unlockAudioBound=this.onUnlockAudio.bind(this,i),i.addEventListener("touchstart",this.unlockAudioBound,!1),i.addEventListener("click",this.unlockAudioBound,!0)}},t.initPlayButton=function(){this.options.needPlayButton&&(this.els.playButton.classList.add(y),this.els.playButton.innerHTML='\n\n \n\n',this.els.wrapper.appendChild(this.els.playButton))},t._autoSetWrapperSize=function(){var A=this;if(!this.options.autoSetWrapperSize)return Promise.resolve();var t=this.player.video.destination;return t?Promise.resolve().then((function(){return D((function(){A.els.wrapper.style.width=t.width+"px",A.els.wrapper.style.height=t.height+"px"}))})):Promise.resolve()},t.onUnlockAudio=function(A,t){var i=this;this.els.unmuteButton&&(t.preventDefault(),t.stopPropagation()),this.player.audioOut.unlock((function(){i.els.unmuteButton&&i.els.unmuteButton.classList.add(k),A.removeEventListener("touchstart",i.unlockAudioBound),A.removeEventListener("click",i.unlockAudioBound)}))},t.onClick=function(){this.options.control&&(this.player.isPlaying?this.pause():this.play())},t._copyPlayerFuncs=function(){var A=this;this.play=function(){return A.player.play()},this.pause=function(){return A.player.pause()},this.stop=function(){return A.player.stop()},this.destroy=function(){A.player.destroy(),A.els.wrapper.innerHTML="",A.els.wrapper.playerInstance=null}},A}(),S=function(){return window.performance?window.performance.now()/1e3:Date.now()/1e3},G=function(A,t){if(A.fill)A.fill(t);else for(var i=0;iA&&this.loadNextChunk())},t.destroy=function(){this.request.abort(),this.aborted=!0},t.loadNextChunk=function(){var A=this,t=this.loadedSize,i=Math.min(this.loadedSize+this.chunkSize-1,this.fileSize-1);if(t>=this.fileSize||this.aborted)return this.completed=!0,void(this.onCompletedCallback&&this.onCompletedCallback(this));this.isLoading=!0,this.loadStartTime=S(),this.request=new XMLHttpRequest,this.request.onreadystatechange=function(){A.request.readyState===A.request.DONE&&A.request.status>=200&&A.request.status<300?A.onChunkLoad(A.request.response):A.request.readyState===A.request.DONE&&A.loadFails++<3&&A.loadNextChunk()},0===t&&(this.request.onprogress=this.onProgress.bind(this)),this.request.open("GET",this.url+"?"+t+"-"+i),this.request.setRequestHeader("Range","bytes="+t+"-"+i),this.request.responseType="arraybuffer",this.request.send()},t.onProgress=function(A){this.progress=A.loaded/A.total},t.onChunkLoad=function(A){var t=!this.established;this.established=!0,this.progress=1,this.loadedSize+=A.byteLength,this.loadFails=0,this.isLoading=!1,t&&this.hookOnEstablished&&this.hookOnEstablished(),t&&this.onEstablishedCallback&&this.onEstablishedCallback(this),this.destination&&this.destination.write(A),this.loadTime=S()-this.loadStartTime,this.throttled||this.loadNextChunk()},A}(),N=function(){function A(A,t){this.url=A,this.options=t,this.socket=null,this.streaming=!0,this.callbacks={connect:[],data:[]},this.destination=null,this.reconnectInterval=void 0!==t.reconnectInterval?t.reconnectInterval:5,this.shouldAttemptReconnect=!!this.reconnectInterval,this.completed=!1,this.established=!1,this.progress=0,this.reconnectTimeoutId=0,this.onEstablishedCallback=t.onSourceEstablished,this.onCompletedCallback=t.onSourceCompleted,t.hookOnEstablished&&(this.hookOnEstablished=t.hookOnEstablished)}var t=A.prototype;return t.connect=function(A){this.destination=A},t.destroy=function(){clearTimeout(this.reconnectTimeoutId),this.shouldAttemptReconnect=!1,this.socket.close()},t.start=function(){this.shouldAttemptReconnect=!!this.reconnectInterval,this.progress=0,this.established=!1,this.options.protocols?this.socket=new WebSocket(this.url,this.options.protocols):this.socket=new WebSocket(this.url),this.socket.binaryType="arraybuffer",this.socket.onmessage=this.onMessage.bind(this),this.socket.onopen=this.onOpen.bind(this),this.socket.onerror=this.onClose.bind(this),this.socket.onclose=this.onClose.bind(this)},t.resume=function(){},t.onOpen=function(){this.progress=1},t.onClose=function(){var A=this;this.shouldAttemptReconnect&&(clearTimeout(this.reconnectTimeoutId),this.reconnectTimeoutId=setTimeout((function(){A.start()}),1e3*this.reconnectInterval))},t.onMessage=function(A){var t=!this.established;this.established=!0,t&&this.hookOnEstablished&&this.hookOnEstablished(),t&&this.onEstablishedCallback&&this.onEstablishedCallback(this),this.destination&&this.destination.write(A.data)},A}(),L=function(){function A(t,i){"object"==typeof t?(this.bytes=t instanceof Uint8Array?t:new Uint8Array(t),this.byteLength=this.bytes.length):(this.bytes=new Uint8Array(t||1048576),this.byteLength=0),this.mode=i||A.MODE.EXPAND,this.index=0}var t=A.prototype;return t.resize=function(A){var t=new Uint8Array(A);0!==this.byteLength&&(this.byteLength=Math.min(this.byteLength,A),t.set(this.bytes,0,this.byteLength)),this.bytes=t,this.index=Math.min(this.index,this.byteLength<<3)},t.evict=function(A){var t=this.index>>3,i=this.bytes.length-this.byteLength;if(this.index===this.byteLength<<3||A>i+t)return this.byteLength=0,void(this.index=0);0!==t&&(this.bytes.copyWithin?this.bytes.copyWithin(0,t,this.byteLength):this.bytes.set(this.bytes.subarray(t,this.byteLength)),this.byteLength-=t,this.index-=t<<3)},t.write=function(t){var i="object"==typeof t[0],e=0,s=this.bytes.length-this.byteLength;if(i){e=0;for(var o=0;os)if(this.mode===A.MODE.EXPAND){var g=Math.max(2*this.bytes.length,e-s);this.resize(g)}else this.evict(e);if(i)for(var I=0;I>3;A>3;return A>=this.byteLength||0===this.bytes[A]&&0===this.bytes[A+1]&&1===this.bytes[A+2]},t.peek=function(A){for(var t=this.index,i=0;A;){var e=8-(7&t),s=e>3]&255>>8-s<>o,t+=s,A-=s}return i},t.read=function(A){var t=this.peek(A);return this.index+=A,t},t.skip=function(A){return this.index+=A},t.rewind=function(A){this.index=Math.max(this.index-A,0)},t.has=function(A){return(this.byteLength<<3)-this.index>=A},A}();L.MODE={EVICT:1,EXPAND:2};var U=function(){function A(){this.bits=null,this.leftoverBytes=null,this.guessVideoFrameEnd=!0,this.pidsToStreamIds={},this.pesPacketInfo={},this.startTime=0,this.currentTime=0}var t=A.prototype;return t.connect=function(A,t){this.pesPacketInfo[A]={destination:t,currentLength:0,totalLength:0,pts:0,buffers:[]}},t.write=function(A){if(this.leftoverBytes){var t=A.byteLength+this.leftoverBytes.byteLength;this.bits=new L(t),this.bits.write([this.leftoverBytes,A])}else this.bits=new L(A);for(;this.bits.has(1504)&&this.parsePacket(););var i=this.bits.byteLength-(this.bits.index>>3);this.leftoverBytes=i>0?this.bits.bytes.subarray(this.bits.index>>3):null},t.parsePacket=function(){if(71!==this.bits.read(8)&&!this.resync())return!1;var A=187+(this.bits.index>>3);this.bits.read(1);var t=this.bits.read(1);this.bits.read(1);var i=this.bits.read(13);this.bits.read(2);var e=this.bits.read(2);this.bits.read(4);var s=this.pidsToStreamIds[i];if(t&&s){var o=this.pesPacketInfo[s];o&&o.currentLength&&this.packetComplete(o)}if(1&e){if(2&e){var g=this.bits.read(8);this.bits.skip(g<<3)}if(t&&this.bits.nextBytesAreStartCode()){this.bits.skip(24),s=this.bits.read(8),this.pidsToStreamIds[i]=s;var I=this.bits.read(16);this.bits.skip(8);var a=this.bits.read(2);this.bits.skip(6);var B=this.bits.read(8),r=this.bits.index+(B<<3),C=this.pesPacketInfo[s];if(C){var n=0;if(2&a){this.bits.skip(4);var E=this.bits.read(3);this.bits.skip(1);var Q=this.bits.read(15);this.bits.skip(1);var h=this.bits.read(15);this.bits.skip(1),n=(1073741824*E+32768*Q+h)/9e4,this.currentTime=n,-1===this.startTime&&(this.startTime=n)}var d=I?I-B-3:0;this.packetStart(C,n,d)}this.bits.index=r}if(s){var c=this.pesPacketInfo[s];if(c){var l=this.bits.index>>3,u=!t&&2&e;(this.packetAddData(c,l,A)||this.guessVideoFrameEnd&&u)&&this.packetComplete(c)}}}return this.bits.index=A<<3,!0},t.resync=function(){if(!this.bits.has(9024))return!1;for(var A=this.bits.index>>3,t=0;t<187;t++)if(71===this.bits.bytes[A+t]){for(var i=!0,e=1;e<5;e++)if(71!==this.bits.bytes[A+t+188*e]){i=!1;break}if(i)return this.bits.index=A+t+1<<3,!0}return console.warn("JSMpeg: Possible garbage data. Skipping."),this.bits.skip(1496),!1},t.packetStart=function(A,t,i){A.totalLength=i,A.currentLength=0,A.pts=t},t.packetAddData=function(A,t,i){return A.buffers.push(this.bits.bytes.subarray(t,i)),A.currentLength+=i-t,0!==A.totalLength&&A.currentLength>=A.totalLength},t.packetComplete=function(A){A.destination.write(A.pts,A.buffers),A.totalLength=0,A.currentLength=0,A.buffers=[]},A}();U.STREAM={PACK_HEADER:186,SYSTEM_HEADER:187,PROGRAM_MAP:188,PRIVATE_1:189,PADDING:190,PRIVATE_2:191,AUDIO_1:192,VIDEO_1:224,DIRECTORY:255};var J=function(){function A(A){this.destination=null,this.canPlay=!1,this.collectTimestamps=!A.streaming,this.bytesWritten=0,this.timestamps=[],this.timestampIndex=0,this.startTime=0,this.decodedTime=0,Object.defineProperty(this,"currentTime",{get:this.getCurrentTime})}var t=A.prototype;return t.destroy=function(){},t.connect=function(A){this.destination=A},t.bufferGetIndex=function(){return this.bits.index},t.bufferSetIndex=function(A){this.bits.index=A},t.bufferWrite=function(A){return this.bits.write(A)},t.write=function(A,t){this.collectTimestamps&&(0===this.timestamps.length&&(this.startTime=A,this.decodedTime=A),this.timestamps.push({index:this.bytesWritten<<3,time:A})),this.bytesWritten+=this.bufferWrite(t),this.canPlay=!0},t.seek=function(A){if(this.collectTimestamps){this.timestampIndex=0;for(var t=0;tA);t++)this.timestampIndex=t;var i=this.timestamps[this.timestampIndex];i?(this.bufferSetIndex(i.index),this.decodedTime=i.time):(this.bits.index=0,this.decodedTime=this.startTime)}},t.decode=function(){this.advanceDecodedTime(0)},t.advanceDecodedTime=function(A){if(this.collectTimestamps){for(var t=-1,i=this.bufferGetIndex(),e=this.timestampIndex;ei);e++)t=e;if(-1!==t&&t!==this.timestampIndex)return this.timestampIndex=t,void(this.decodedTime=this.timestamps[this.timestampIndex].time)}this.decodedTime+=A},t.getCurrentTime=function(){return this.decodedTime},A}(),T=function(A){function t(t){var i;(i=A.call(this,t)||this).onDecodeCallback=t.onVideoDecode;var e=t.videoBufferSize||524288,s=t.streaming?L.MODE.EVICT:L.MODE.EXPAND;return i.bits=new L(e,s),i.customIntraQuantMatrix=new Uint8Array(64),i.customNonIntraQuantMatrix=new Uint8Array(64),i.blockData=new Int32Array(64),i.currentFrame=0,i.decodeFirstFrame=!1!==t.decodeFirstFrame,i}u(t,A);var i=t.prototype;return i.write=function(A,i){if(J.prototype.write.call(this,A,i),!this.hasSequenceHeader){if(-1===this.bits.findStartCode(t.START.SEQUENCE))return!1;this.decodeSequenceHeader(),this.decodeFirstFrame&&this.decode()}},i.decode=function(){var A=S();if(!this.hasSequenceHeader)return!1;if(-1===this.bits.findStartCode(t.START.PICTURE))return!1;this.decodePicture(),this.advanceDecodedTime(1/this.frameRate);var i=S()-A;return this.onDecodeCallback&&this.onDecodeCallback(this,i),!0},i.readHuffman=function(A){var t=0;do{t=A[t+this.bits.read(1)]}while(t>=0&&0!==A[t]);return A[t+2]},i.decodeSequenceHeader=function(){var A=this.bits.read(12),i=this.bits.read(12);if(this.bits.skip(4),this.frameRate=t.PICTURE_RATE[this.bits.read(4)],this.bits.skip(30),A===this.width&&i===this.height||(this.width=A,this.height=i,this.initBuffers(),this.destination&&this.destination.resize(A,i)),this.bits.read(1)){for(var e=0;e<64;e++)this.customIntraQuantMatrix[t.ZIG_ZAG[e]]=this.bits.read(8);this.intraQuantMatrix=this.customIntraQuantMatrix}if(this.bits.read(1)){for(var s=0;s<64;s++){var o=t.ZIG_ZAG[s];this.customNonIntraQuantMatrix[o]=this.bits.read(8)}this.nonIntraQuantMatrix=this.customNonIntraQuantMatrix}this.hasSequenceHeader=!0},i.initBuffers=function(){this.intraQuantMatrix=t.DEFAULT_INTRA_QUANT_MATRIX,this.nonIntraQuantMatrix=t.DEFAULT_NON_INTRA_QUANT_MATRIX,this.mbWidth=this.width+15>>4,this.mbHeight=this.height+15>>4,this.mbSize=this.mbWidth*this.mbHeight,this.codedWidth=this.mbWidth<<4,this.codedHeight=this.mbHeight<<4,this.codedSize=this.codedWidth*this.codedHeight,this.halfWidth=this.mbWidth<<3,this.halfHeight=this.mbHeight<<3,this.currentY=new Uint8ClampedArray(this.codedSize),this.currentY32=new Uint32Array(this.currentY.buffer),this.currentCr=new Uint8ClampedArray(this.codedSize>>2),this.currentCr32=new Uint32Array(this.currentCr.buffer),this.currentCb=new Uint8ClampedArray(this.codedSize>>2),this.currentCb32=new Uint32Array(this.currentCb.buffer),this.forwardY=new Uint8ClampedArray(this.codedSize),this.forwardY32=new Uint32Array(this.forwardY.buffer),this.forwardCr=new Uint8ClampedArray(this.codedSize>>2),this.forwardCr32=new Uint32Array(this.forwardCr.buffer),this.forwardCb=new Uint8ClampedArray(this.codedSize>>2),this.forwardCb32=new Uint32Array(this.forwardCb.buffer)},i.decodePicture=function(){if(this.currentFrame++,this.bits.skip(10),this.pictureType=this.bits.read(3),this.bits.skip(16),!(this.pictureType<=0||this.pictureType>=t.PICTURE_TYPE.B)){if(this.pictureType===t.PICTURE_TYPE.PREDICTIVE){if(this.fullPelForward=this.bits.read(1),this.forwardFCode=this.bits.read(3),0===this.forwardFCode)return;this.forwardRSize=this.forwardFCode-1,this.forwardF=1<=t.START.SLICE_FIRST&&A<=t.START.SLICE_LAST;)this.decodeSlice(255&A),A=this.bits.findNextStartCode();if(-1!==A&&this.bits.rewind(32),this.destination&&this.destination.render(this.currentY,this.currentCr,this.currentCb,!0),this.pictureType===t.PICTURE_TYPE.INTRA||this.pictureType===t.PICTURE_TYPE.PREDICTIVE){var i=this.forwardY,e=this.forwardY32,s=this.forwardCr,o=this.forwardCr32,g=this.forwardCb,I=this.forwardCb32;this.forwardY=this.currentY,this.forwardY32=this.currentY32,this.forwardCr=this.currentCr,this.forwardCr32=this.currentCr32,this.forwardCb=this.currentCb,this.forwardCb32=this.currentCb32,this.currentY=i,this.currentY32=e,this.currentCr=s,this.currentCr32=o,this.currentCb=g,this.currentCb32=I}}},i.decodeSlice=function(A){for(this.sliceBegin=!0,this.macroblockAddress=(A-1)*this.mbWidth-1,this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0,this.dcPredictorY=128,this.dcPredictorCr=128,this.dcPredictorCb=128,this.quantizerScale=this.bits.read(5);this.bits.read(1);)this.bits.skip(8);do{this.decodeMacroblock()}while(!this.bits.nextBytesAreStartCode())},i.decodeMacroblock=function(){for(var A=0,i=this.readHuffman(t.MACROBLOCK_ADDRESS_INCREMENT);34===i;)i=this.readHuffman(t.MACROBLOCK_ADDRESS_INCREMENT);for(;35===i;)A+=33,i=this.readHuffman(t.MACROBLOCK_ADDRESS_INCREMENT);if(A+=i,this.sliceBegin)this.sliceBegin=!1,this.macroblockAddress+=A;else{if(this.macroblockAddress+A>=this.mbSize)return;for(A>1&&(this.dcPredictorY=128,this.dcPredictorCr=128,this.dcPredictorCb=128,this.pictureType===t.PICTURE_TYPE.PREDICTIVE&&(this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0));A>1;)this.macroblockAddress++,this.mbRow=this.macroblockAddress/this.mbWidth|0,this.mbCol=this.macroblockAddress%this.mbWidth,this.copyMacroblock(this.motionFwH,this.motionFwV,this.forwardY,this.forwardCr,this.forwardCb),A--;this.macroblockAddress++}this.mbRow=this.macroblockAddress/this.mbWidth|0,this.mbCol=this.macroblockAddress%this.mbWidth;var e=t.MACROBLOCK_TYPE[this.pictureType];this.macroblockType=this.readHuffman(e),this.macroblockIntra=1&this.macroblockType,this.macroblockMotFw=8&this.macroblockType,16&this.macroblockType&&(this.quantizerScale=this.bits.read(5)),this.macroblockIntra?(this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0):(this.dcPredictorY=128,this.dcPredictorCr=128,this.dcPredictorCb=128,this.decodeMotionVectors(),this.copyMacroblock(this.motionFwH,this.motionFwV,this.forwardY,this.forwardCr,this.forwardCb));for(var s=2&this.macroblockType?this.readHuffman(t.CODE_BLOCK_PATTERN):this.macroblockIntra?63:0,o=0,g=32;o<6;o++)s&g&&this.decodeBlock(o),g>>=1},i.decodeMotionVectors=function(){var A,i,e=0;this.macroblockMotFw?(0!==(A=this.readHuffman(t.MOTION))&&1!==this.forwardF?(e=this.bits.read(this.forwardRSize),i=(Math.abs(A)-1<(this.forwardF<<4)-1?this.motionFwHPrev-=this.forwardF<<5:this.motionFwHPrev<-this.forwardF<<4&&(this.motionFwHPrev+=this.forwardF<<5),this.motionFwH=this.motionFwHPrev,this.fullPelForward&&(this.motionFwH<<=1),0!==(A=this.readHuffman(t.MOTION))&&1!==this.forwardF?(e=this.bits.read(this.forwardRSize),i=(Math.abs(A)-1<(this.forwardF<<4)-1?this.motionFwVPrev-=this.forwardF<<5:this.motionFwVPrev<-this.forwardF<<4&&(this.motionFwVPrev+=this.forwardF<<5),this.motionFwV=this.motionFwVPrev,this.fullPelForward&&(this.motionFwV<<=1)):this.pictureType===t.PICTURE_TYPE.PREDICTIVE&&(this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0)},i.copyMacroblock=function(A,t,i,e,s){var o,g,I,a,B,r,C,n,E,Q,h,d,c,l,u,w,p,D,m,f=this.currentY32,y=this.currentCb32,R=this.currentCr32;if(g=(o=this.codedWidth)-16,I=A>>1,a=t>>1,B=!(1&~A),r=!(1&~t),C=((this.mbRow<<4)+a)*o+(this.mbCol<<4)+I,E=(n=this.mbRow*o+this.mbCol<<2)+(o<<2),B)if(r)for(;n>2&255,c|=(h=i[++C]+i[C+o])+d+2<<6&65280,c|=h+(d=i[++C]+i[C+o])+2<<14&16711680,h=i[++C]+i[C+o],C++,c|=h+d+2<<22&4278190080,f[n++]=c;n+=g>>2,C+=g-1}else for(;n>1&255,c|=(h=i[C++])+d+1<<7&65280,c|=h+(d=i[C++])+1<<15&16711680,c|=(h=i[C++])+d+1<<23&4278190080,f[n++]=c;n+=g>>2,C+=g-1}else if(r)for(;n>1&255,c|=i[++C]+i[C+o]+1<<7&65280,c|=i[++C]+i[C+o]+1<<15&16711680,c|=i[++C]+i[C+o]+1<<23&4278190080,C++,f[n++]=c;n+=g>>2,C+=g}else for(;n>2,C+=g}if(g=(o=this.halfWidth)-8,I=A/2>>1,a=t/2>>1,B=1==(A/2&1),r=1==(t/2&1),C=((this.mbRow<<3)+a)*o+(this.mbCol<<3)+I,E=(n=this.mbRow*o+this.mbCol<<1)+(o<<1),B)if(r)for(;n>2&255,m=p+(D=s[C]+s[C+o])+2>>2&255,w|=(l=e[++C]+e[C+o])+u+2<<6&65280,m|=(p=s[C]+s[C+o])+D+2<<6&65280,w|=l+(u=e[++C]+e[C+o])+2<<14&16711680,m|=p+(D=s[C]+s[C+o])+2<<14&16711680,l=e[++C]+e[C+o],p=s[C]+s[C+o],C++,w|=l+u+2<<22&4278190080,m|=p+D+2<<22&4278190080,R[n]=w,y[n]=m,n++;n+=g>>2,C+=g-1}else for(;n>1&255,m=p+(D=s[C++])+1>>1&255,w|=(l=e[C])+u+1<<7&65280,m|=(p=s[C++])+D+1<<7&65280,w|=l+(u=e[C])+1<<15&16711680,m|=p+(D=s[C++])+1<<15&16711680,w|=(l=e[C])+u+1<<23&4278190080,m|=(p=s[C++])+D+1<<23&4278190080,R[n]=w,y[n]=m,n++;n+=g>>2,C+=g-1}else if(r)for(;n>1&255,m=s[C]+s[C+o]+1>>1&255,w|=e[++C]+e[C+o]+1<<7&65280,m|=s[C]+s[C+o]+1<<7&65280,w|=e[++C]+e[C+o]+1<<15&16711680,m|=s[C]+s[C+o]+1<<15&16711680,w|=e[++C]+e[C+o]+1<<23&4278190080,m|=s[C]+s[C+o]+1<<23&4278190080,C++,R[n]=w,y[n]=m,n++;n+=g>>2,C+=g}else for(;n>2,C+=g}},i.decodeBlock=function(A){var i,e=0;if(this.macroblockIntra){var s,o;if(A<4?(s=this.dcPredictorY,o=this.readHuffman(t.DCT_DC_SIZE_LUMINANCE)):(s=4===A?this.dcPredictorCr:this.dcPredictorCb,o=this.readHuffman(t.DCT_DC_SIZE_CHROMINANCE)),o>0){var g=this.bits.read(o);this.blockData[0]=g&1<0&&0===this.bits.read(1))break;65535===n?(C=this.bits.read(6),0===(r=this.bits.read(8))?r=this.bits.read(8):128===r?r=this.bits.read(8)-256:r>128&&(r-=256)):(C=n>>8,r=255&n,this.bits.read(1)&&(r=-r)),e+=C;var E=t.ZIG_ZAG[e];e++,r<<=1,this.macroblockIntra||(r+=r<0?-1:1),1&(r=r*this.quantizerScale*i[E]>>4)||(r-=r>0?1:-1),r>2047?r=2047:r<-2048&&(r=-2048),this.blockData[E]=r*t.PREMULTIPLIER_MATRIX[E]}A<4?(I=this.currentY,B=this.codedWidth-8,a=this.mbRow*this.codedWidth+this.mbCol<<4,1&A&&(a+=8),2&A&&(a+=this.codedWidth<<3)):(I=4===A?this.currentCb:this.currentCr,B=(this.codedWidth>>1)-8,a=(this.mbRow*this.codedWidth<<2)+(this.mbCol<<3)),this.macroblockIntra?1===e?(t.CopyValueToDestination(this.blockData[0]+128>>8,I,a,B),this.blockData[0]=0):(t.IDCT(this.blockData),t.CopyBlockToDestination(this.blockData,I,a,B),G(this.blockData,0)):1===e?(t.AddValueToDestination(this.blockData[0]+128>>8,I,a,B),this.blockData[0]=0):(t.IDCT(this.blockData),t.AddBlockToDestination(this.blockData,I,a,B),G(this.blockData,0)),e=0},t.CopyBlockToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]=A[s+0],t[i+1]=A[s+1],t[i+2]=A[s+2],t[i+3]=A[s+3],t[i+4]=A[s+4],t[i+5]=A[s+5],t[i+6]=A[s+6],t[i+7]=A[s+7]},t.AddBlockToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]+=A[s+0],t[i+1]+=A[s+1],t[i+2]+=A[s+2],t[i+3]+=A[s+3],t[i+4]+=A[s+4],t[i+5]+=A[s+5],t[i+6]+=A[s+6],t[i+7]+=A[s+7]},t.CopyValueToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]=A,t[i+1]=A,t[i+2]=A,t[i+3]=A,t[i+4]=A,t[i+5]=A,t[i+6]=A,t[i+7]=A},t.AddValueToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]+=A,t[i+1]+=A,t[i+2]+=A,t[i+3]+=A,t[i+4]+=A,t[i+5]+=A,t[i+6]+=A,t[i+7]+=A},t.IDCT=function(A){for(var t,i,e,s,o,g,I,a,B,r,C,n,E,Q,h,d,c,l,u=0;u<8;++u)t=A[32+u],i=A[16+u]+A[48+u],e=A[40+u]-A[24+u],g=A[8+u]+A[56+u],I=A[24+u]+A[40+u],B=(E=(473*(s=A[8+u]-A[56+u])-196*e+128>>8)-(o=g+I))-(362*(g-I)+128>>8),Q=(r=(a=A[0+u])-t)+(C=(362*(A[16+u]-A[48+u])+128>>8)-i),h=(n=a+t)+i,d=r-C,c=n-i,l=-B-(473*e+196*s+128>>8),A[0+u]=o+h,A[8+u]=E+Q,A[16+u]=d-B,A[24+u]=c-l,A[32+u]=c+l,A[40+u]=B+d,A[48+u]=Q-E,A[56+u]=h-o;for(var w=0;w<64;w+=8)t=A[4+w],i=A[2+w]+A[6+w],e=A[5+w]-A[3+w],g=A[1+w]+A[7+w],I=A[3+w]+A[5+w],B=(E=(473*(s=A[1+w]-A[7+w])-196*e+128>>8)-(o=g+I))-(362*(g-I)+128>>8),Q=(r=(a=A[0+w])-t)+(C=(362*(A[2+w]-A[6+w])+128>>8)-i),h=(n=a+t)+i,d=r-C,c=n-i,l=-B-(473*e+196*s+128>>8),A[0+w]=o+h+128>>8,A[1+w]=E+Q+128>>8,A[2+w]=d-B+128>>8,A[3+w]=c-l+128>>8,A[4+w]=c+l+128>>8,A[5+w]=B+d+128>>8,A[6+w]=Q-E+128>>8,A[7+w]=h-o+128>>8},t}(J);T.prototype.frameRate=30,T.prototype.currentY=null,T.prototype.currentCr=null,T.prototype.currentCb=null,T.prototype.pictureType=0,T.prototype.forwardY=null,T.prototype.forwardCr=null,T.prototype.forwardCb=null,T.prototype.fullPelForward=!1,T.prototype.forwardFCode=0,T.prototype.forwardRSize=0,T.prototype.forwardF=0,T.prototype.quantizerScale=0,T.prototype.sliceBegin=!1,T.prototype.macroblockAddress=0,T.prototype.mbRow=0,T.prototype.mbCol=0,T.prototype.macroblockType=0,T.prototype.macroblockIntra=!1,T.prototype.macroblockMotFw=!1,T.prototype.motionFwH=0,T.prototype.motionFwV=0,T.prototype.motionFwHPrev=0,T.prototype.motionFwVPrev=0,T.prototype.dcPredictorY=0,T.prototype.dcPredictorCr=0,T.prototype.dcPredictorCb=0,T.prototype.blockData=null,T.PICTURE_RATE=[0,23.976,24,25,29.97,30,50,59.94,60,0,0,0,0,0,0,0],T.ZIG_ZAG=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),T.DEFAULT_INTRA_QUANT_MATRIX=new Uint8Array([8,16,19,22,26,27,29,34,16,16,22,24,27,29,34,37,19,22,26,27,29,34,34,38,22,22,26,27,29,34,37,40,22,26,27,29,32,35,40,48,26,27,29,32,35,40,48,58,26,27,29,34,38,46,56,69,27,29,35,38,46,56,69,83]),T.DEFAULT_NON_INTRA_QUANT_MATRIX=new Uint8Array([16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16]),T.PREMULTIPLIER_MATRIX=new Uint8Array([32,44,42,38,32,25,17,9,44,62,58,52,44,35,24,12,42,58,55,49,42,33,23,12,38,52,49,44,38,30,20,10,32,44,42,38,32,25,17,9,25,35,33,30,25,20,14,7,17,24,23,20,17,14,9,5,9,12,12,10,9,7,5,2]),T.MACROBLOCK_ADDRESS_INCREMENT=new Int16Array([3,6,0,9,12,0,0,0,1,15,18,0,21,24,0,27,30,0,33,36,0,0,0,3,0,0,2,39,42,0,45,48,0,0,0,5,0,0,4,51,54,0,57,60,0,0,0,7,0,0,6,63,66,0,69,72,0,75,78,0,81,84,0,-1,87,0,-1,90,0,93,96,0,99,102,0,105,108,0,111,114,0,0,0,9,0,0,8,117,120,0,123,126,0,129,132,0,135,138,0,0,0,15,0,0,14,0,0,13,0,0,12,0,0,11,0,0,10,141,-1,0,-1,144,0,147,150,0,153,156,0,159,162,0,165,168,0,171,174,0,177,180,0,183,-1,0,-1,186,0,189,192,0,195,198,0,201,204,0,207,210,0,213,216,0,219,222,0,0,0,21,0,0,20,0,0,19,0,0,18,0,0,17,0,0,16,0,0,35,0,0,34,0,0,33,0,0,32,0,0,31,0,0,30,0,0,29,0,0,28,0,0,27,0,0,26,0,0,25,0,0,24,0,0,23,0,0,22]),T.MACROBLOCK_TYPE_INTRA=new Int8Array([3,6,0,-1,9,0,0,0,1,0,0,17]),T.MACROBLOCK_TYPE_PREDICTIVE=new Int8Array([3,6,0,9,12,0,0,0,10,15,18,0,0,0,2,21,24,0,0,0,8,27,30,0,33,36,0,-1,39,0,0,0,18,0,0,26,0,0,1,0,0,17]),T.MACROBLOCK_TYPE_B=new Int8Array([3,6,0,9,15,0,12,18,0,24,21,0,0,0,12,27,30,0,0,0,14,39,42,0,36,33,0,0,0,4,0,0,6,54,48,0,45,51,0,0,0,8,0,0,10,-1,57,0,0,0,1,60,63,0,0,0,30,0,0,17,0,0,22,0,0,26]),T.MACROBLOCK_TYPE=[null,T.MACROBLOCK_TYPE_INTRA,T.MACROBLOCK_TYPE_PREDICTIVE,T.MACROBLOCK_TYPE_B],T.CODE_BLOCK_PATTERN=new Int16Array([6,3,0,9,18,0,12,15,0,24,33,0,36,39,0,27,21,0,30,42,0,60,57,0,54,48,0,69,51,0,81,75,0,63,84,0,45,66,0,72,78,0,0,0,60,105,120,0,132,144,0,114,108,0,126,141,0,87,93,0,117,96,0,0,0,32,135,138,0,99,123,0,129,102,0,0,0,4,90,111,0,0,0,8,0,0,16,0,0,44,150,168,0,0,0,28,0,0,52,0,0,62,183,177,0,156,180,0,0,0,1,165,162,0,0,0,61,0,0,56,171,174,0,0,0,2,0,0,40,153,186,0,0,0,48,192,189,0,147,159,0,0,0,20,0,0,12,240,249,0,0,0,63,231,225,0,195,219,0,252,198,0,0,0,24,0,0,36,0,0,3,207,261,0,243,237,0,204,213,0,210,234,0,201,228,0,216,222,0,258,255,0,264,246,0,-1,282,0,285,291,0,0,0,33,0,0,9,318,330,0,306,348,0,0,0,5,0,0,10,279,267,0,0,0,6,0,0,18,0,0,17,0,0,34,339,357,0,309,312,0,270,276,0,327,321,0,351,354,0,303,297,0,294,288,0,300,273,0,342,345,0,315,324,0,336,333,0,363,375,0,0,0,41,0,0,14,0,0,21,372,366,0,360,369,0,0,0,11,0,0,19,0,0,7,0,0,35,0,0,13,0,0,50,0,0,49,0,0,58,0,0,37,0,0,25,0,0,45,0,0,57,0,0,26,0,0,29,0,0,38,0,0,53,0,0,23,0,0,43,0,0,46,0,0,42,0,0,22,0,0,54,0,0,51,0,0,15,0,0,30,0,0,39,0,0,47,0,0,55,0,0,27,0,0,59,0,0,31]),T.MOTION=new Int16Array([3,6,0,12,9,0,0,0,0,18,15,0,24,21,0,0,0,-1,0,0,1,27,30,0,36,33,0,0,0,2,0,0,-2,42,45,0,48,39,0,60,54,0,0,0,3,0,0,-3,51,57,0,-1,69,0,81,75,0,78,63,0,72,66,0,96,84,0,87,93,0,-1,99,0,108,105,0,0,0,-4,90,102,0,0,0,4,0,0,-7,0,0,5,111,123,0,0,0,-5,0,0,7,114,120,0,126,117,0,0,0,-6,0,0,6,153,162,0,150,147,0,135,138,0,156,141,0,129,159,0,132,144,0,0,0,10,0,0,9,0,0,8,0,0,-8,171,198,0,0,0,-9,180,192,0,168,183,0,165,186,0,174,189,0,0,0,-10,177,195,0,0,0,12,0,0,16,0,0,13,0,0,14,0,0,11,0,0,15,0,0,-16,0,0,-12,0,0,-14,0,0,-15,0,0,-11,0,0,-13]),T.DCT_DC_SIZE_LUMINANCE=new Int8Array([6,3,0,18,15,0,9,12,0,0,0,1,0,0,2,27,24,0,21,30,0,0,0,0,36,33,0,0,0,4,0,0,3,39,42,0,0,0,5,0,0,6,48,45,0,51,-1,0,0,0,7,0,0,8]),T.DCT_DC_SIZE_CHROMINANCE=new Int8Array([6,3,0,12,9,0,18,15,0,24,21,0,0,0,2,0,0,1,0,0,0,30,27,0,0,0,3,36,33,0,0,0,4,42,39,0,0,0,5,48,45,0,0,0,6,51,-1,0,0,0,7,0,0,8]),T.DCT_COEFF=new Int32Array([3,6,0,12,9,0,0,0,1,21,24,0,18,15,0,39,27,0,33,30,0,42,36,0,0,0,257,60,66,0,54,63,0,48,57,0,0,0,513,51,45,0,0,0,2,0,0,3,81,75,0,87,93,0,72,78,0,96,90,0,0,0,1025,69,84,0,0,0,769,0,0,258,0,0,1793,0,0,65535,0,0,1537,111,108,0,0,0,1281,105,102,0,117,114,0,99,126,0,120,123,0,156,150,0,162,159,0,144,147,0,129,135,0,138,132,0,0,0,2049,0,0,4,0,0,514,0,0,2305,153,141,0,165,171,0,180,168,0,177,174,0,183,186,0,0,0,2561,0,0,3329,0,0,6,0,0,259,0,0,5,0,0,770,0,0,2817,0,0,3073,228,225,0,201,210,0,219,213,0,234,222,0,216,231,0,207,192,0,204,189,0,198,195,0,243,261,0,273,240,0,246,237,0,249,258,0,279,276,0,252,255,0,270,282,0,264,267,0,0,0,515,0,0,260,0,0,7,0,0,1026,0,0,1282,0,0,4097,0,0,3841,0,0,3585,315,321,0,333,342,0,312,291,0,375,357,0,288,294,0,-1,369,0,285,303,0,318,363,0,297,306,0,339,309,0,336,348,0,330,300,0,372,345,0,351,366,0,327,354,0,360,324,0,381,408,0,417,420,0,390,378,0,435,438,0,384,387,0,0,0,2050,396,402,0,465,462,0,0,0,8,411,399,0,429,432,0,453,414,0,426,423,0,0,0,10,0,0,9,0,0,11,0,0,5377,0,0,1538,0,0,771,0,0,5121,0,0,1794,0,0,4353,0,0,4609,0,0,4865,444,456,0,0,0,1027,459,450,0,0,0,261,393,405,0,0,0,516,447,441,0,516,519,0,486,474,0,510,483,0,504,498,0,471,537,0,507,501,0,522,513,0,534,531,0,468,477,0,492,495,0,549,546,0,525,528,0,0,0,263,0,0,2562,0,0,2306,0,0,5633,0,0,5889,0,0,6401,0,0,6145,0,0,1283,0,0,772,0,0,13,0,0,12,0,0,14,0,0,15,0,0,517,0,0,6657,0,0,262,540,543,0,480,489,0,588,597,0,0,0,27,609,555,0,606,603,0,0,0,19,0,0,22,591,621,0,0,0,18,573,576,0,564,570,0,0,0,20,552,582,0,0,0,21,558,579,0,0,0,23,612,594,0,0,0,25,0,0,24,600,615,0,0,0,31,0,0,30,0,0,28,0,0,29,0,0,26,0,0,17,0,0,16,567,618,0,561,585,0,654,633,0,0,0,37,645,648,0,0,0,36,630,636,0,0,0,34,639,627,0,663,666,0,657,624,0,651,642,0,669,660,0,0,0,35,0,0,267,0,0,40,0,0,268,0,0,266,0,0,32,0,0,264,0,0,265,0,0,38,0,0,269,0,0,270,0,0,33,0,0,39,0,0,7937,0,0,6913,0,0,7681,0,0,4098,0,0,7425,0,0,7169,0,0,271,0,0,274,0,0,273,0,0,272,0,0,1539,0,0,2818,0,0,3586,0,0,3330,0,0,3074,0,0,3842]),T.PICTURE_TYPE={INTRA:1,PREDICTIVE:2,B:3},T.START={SEQUENCE:179,SLICE_FIRST:1,SLICE_LAST:175,PICTURE:0,EXTENSION:181,USER_DATA:178};var v=function(A){function t(t){var i;return(i=A.call(this,t)||this).onDecodeCallback=t.onVideoDecode,i.module=t.wasmModule,i.bufferSize=t.videoBufferSize||524288,i.bufferMode=t.streaming?L.MODE.EVICT:L.MODE.EXPAND,i.decodeFirstFrame=!1!==t.decodeFirstFrame,i.hasSequenceHeader=!1,i}u(t,A);var i=t.prototype;return i.initializeWasmDecoder=function(){this.module.instance?(this.instance=this.module.instance,this.functions=this.module.instance.exports,this.decoder=this.functions._mpeg1_decoder_create(this.bufferSize,this.bufferMode)):console.warn("JSMpeg: WASM module not compiled yet")},i.destroy=function(){this.decoder&&this.functions._mpeg1_decoder_destroy(this.decoder)},i.bufferGetIndex=function(){if(this.decoder)return this.functions._mpeg1_decoder_get_index(this.decoder)},i.bufferSetIndex=function(A){this.decoder&&this.functions._mpeg1_decoder_set_index(this.decoder,A)},i.bufferWrite=function(A){this.decoder||this.initializeWasmDecoder();for(var t=0,i=0;i>2)),g=this.instance.heapU8.subarray(e,e+(this.codedSize>>2));this.destination.render(s,o,g,!1)}this.advanceDecodedTime(1/this.frameRate);var I=S()-A;return this.onDecodeCallback&&this.onDecodeCallback(this,I),!0},t}(J),x=function(A){function t(i){var e;(e=A.call(this,i)||this).onDecodeCallback=i.onAudioDecode;var s=i.audioBufferSize||131072,o=i.streaming?L.MODE.EVICT:L.MODE.EXPAND;e.bits=new L(s,o),e.left=new Float32Array(1152),e.right=new Float32Array(1152),e.sampleRate=44100,e.D=new Float32Array(1024),e.D.set(t.SYNTHESIS_WINDOW,0),e.D.set(t.SYNTHESIS_WINDOW,512),e.V=[new Float32Array(1024),new Float32Array(1024)],e.U=new Int32Array(32),e.VPos=0,e.allocation=[new Array(32),new Array(32)],e.scaleFactorInfo=[new Uint8Array(32),new Uint8Array(32)],e.scaleFactor=[new Array(32),new Array(32)],e.sample=[new Array(32),new Array(32)];for(var g=0;g<2;g++)for(var I=0;I<32;I++)e.scaleFactor[g][I]=[0,0,0],e.sample[g][I]=[0,0,0];return e}u(t,A);var i=t.prototype;return i.decode=function(){var A=S(),t=this.bits.index>>3;if(t>=this.bits.byteLength)return!1;var i=this.decodeFrame(this.left,this.right);if(this.bits.index=t+i<<3,!i)return!1;this.destination&&this.destination.play(this.sampleRate,this.left,this.right),this.advanceDecodedTime(this.left.length/this.sampleRate);var e=S()-A;return this.onDecodeCallback&&this.onDecodeCallback(this,e),!0},i.getCurrentTime=function(){var A=this.destination?this.destination.enqueuedTime:0;return this.decodedTime-A},i.decodeFrame=function(A,i){var e=this.bits.read(11),s=this.bits.read(2),o=this.bits.read(2),g=!this.bits.read(1);if(e!==t.FRAME_SYNC||s!==t.VERSION.MPEG_1||o!==t.LAYER.II)return 0;var I=this.bits.read(4)-1;if(I>13)return 0;var a=this.bits.read(2),B=t.SAMPLE_RATE[a];if(3===a)return 0;s===t.VERSION.MPEG_2&&(a+=4,I+=14);var r=this.bits.read(1);this.bits.read(1);var C=this.bits.read(2),n=0;C===t.MODE.JOINT_STEREO?n=this.bits.read(2)+1<<2:(this.bits.skip(2),n=C===t.MODE.MONO?0:32),this.bits.skip(4),g&&this.bits.skip(16);var E=144e3*t.BIT_RATE[I]/(B=t.SAMPLE_RATE[a])+r|0,Q=0,h=0;if(s===t.VERSION.MPEG_2)Q=2,h=30;else{var d=C===t.MODE.MONO?0:1,c=t.QUANT_LUT_STEP_1[d][I];h=63&(Q=t.QUANT_LUT_STEP_2[c][a]),Q>>=6}n>h&&(n=h);for(var l=0;l>1),U=this.VPos%128>>1;U<1024;){for(var J=0;J<32;++J)this.U[J]+=this.D[L++]*this.V[N][U++];U+=96,L+=32}for(U=1120-U,L-=480;U<1024;){for(var T=0;T<32;++T)this.U[T]+=this.D[L++]*this.V[N][U++];U+=96,L+=32}for(var v=0===N?A:i,x=0;x<32;x++)v[R+x]=this.U[x]/2147418112}R+=32}}return this.sampleRate=B,E},i.readAllocation=function(A,i){var e=t.QUANT_LUT_STEP_3[i][A],s=t.QUANT_LUT_STEP4[15&e][this.bits.read(e>>4)];return s?t.QUANT_TAB[s-1]:0},i.readSamples=function(A,i,e){var s=this.allocation[A][i],o=this.scaleFactor[A][i][e],g=this.sample[A][i],I=0;if(s){if(63===o)o=0;else{var a=o/3|0;o=t.SCALEFACTOR_BASE[o%3]+(1<
>1)>>a}var B=s.levels;s.group?(I=this.bits.read(s.bits),g[0]=I%B,I=I/B|0,g[1]=I%B,g[2]=I/B|0):(g[0]=this.bits.read(s.bits),g[1]=this.bits.read(s.bits),g[2]=this.bits.read(s.bits));var r=65536/(B+1)|0;I=((B=(B+1>>1)-1)-g[0])*r,g[0]=I*(o>>12)+(I*(4095&o)+2048>>12)>>12,I=(B-g[1])*r,g[1]=I*(o>>12)+(I*(4095&o)+2048>>12)>>12,I=(B-g[2])*r,g[2]=I*(o>>12)+(I*(4095&o)+2048>>12)>>12}else g[0]=g[1]=g[2]=0},t.MatrixTransform=function(A,t,i,e){var s,o,g,I,a,B,r,C,n,E,Q,h,d,c,l,u,w,p,D,m,f,y,R,k,b,S,G,F,M,q,N,L,U;s=A[0][t]+A[31][t],o=.500602998235*(A[0][t]-A[31][t]),g=A[1][t]+A[30][t],I=.505470959898*(A[1][t]-A[30][t]),a=A[2][t]+A[29][t],B=.515447309923*(A[2][t]-A[29][t]),r=A[3][t]+A[28][t],C=.53104259109*(A[3][t]-A[28][t]),n=A[4][t]+A[27][t],E=.553103896034*(A[4][t]-A[27][t]),Q=A[5][t]+A[26][t],h=.582934968206*(A[5][t]-A[26][t]),d=A[6][t]+A[25][t],c=.622504123036*(A[6][t]-A[25][t]),l=A[7][t]+A[24][t],u=.674808341455*(A[7][t]-A[24][t]),w=A[8][t]+A[23][t],p=.744536271002*(A[8][t]-A[23][t]),D=A[9][t]+A[22][t],m=.839349645416*(A[9][t]-A[22][t]),f=A[10][t]+A[21][t],y=.972568237862*(A[10][t]-A[21][t]),R=A[11][t]+A[20][t],k=1.16943993343*(A[11][t]-A[20][t]),b=A[12][t]+A[19][t],S=1.48416461631*(A[12][t]-A[19][t]),G=A[13][t]+A[18][t],F=2.05778100995*(A[13][t]-A[18][t]),M=A[14][t]+A[17][t],q=3.40760841847*(A[14][t]-A[17][t]),U=s+(N=A[15][t]+A[16][t]),N=.502419286188*(s-N),s=g+M,M=.52249861494*(g-M),g=a+G,G=.566944034816*(a-G),a=r+b,b=.64682178336*(r-b),r=n+R,R=.788154623451*(n-R),n=Q+f,f=1.06067768599*(Q-f),Q=d+D,D=1.72244709824*(d-D),d=l+w,w=5.10114861869*(l-w),l=U+d,d=.509795579104*(U-d),U=s+Q,s=.601344886935*(s-Q),Q=g+n,n=.899976223136*(g-n),g=a+r,r=2.56291544774*(a-r),a=l+g,l=.541196100146*(l-g),g=U+Q,Q=1.30656296488*(U-Q),U=a+g,a=.707106781187*(a-g),g=l+Q,g+=l=.707106781187*(l-Q),Q=d+r,d=.541196100146*(d-r),r=s+n,n=1.30656296488*(s-n),s=Q+r,r=.707106781187*(Q-r),Q=d+n,s+=Q+=d=.707106781187*(d-n),Q+=r,r+=d,n=N+w,N=.509795579104*(N-w),w=M+D,M=.601344886935*(M-D),D=G+f,f=.899976223136*(G-f),G=b+R,R=2.56291544774*(b-R),b=n+G,n=.541196100146*(n-G),G=w+D,D=1.30656296488*(w-D),w=b+G,G=.707106781187*(b-G),b=n+D,D=.707106781187*(n-D),n=N+R,N=.541196100146*(N-R),R=M+f,f=1.30656296488*(M-f),M=n+R,R=.707106781187*(n-R),n=N+f,w+=M+=n+=N=.707106781187*(N-f),M+=b+=D,b+=n+=R,n+=G,G+=R+=N,R+=D,D+=N,f=o+(L=10.1900081235*(A[15][t]-A[16][t])),o=.502419286188*(o-L),L=I+q,I=.52249861494*(I-q),q=B+F,F=.566944034816*(B-F),B=C+S,C=.64682178336*(C-S),S=E+k,E=.788154623451*(E-k),k=h+y,y=1.06067768599*(h-y),h=c+m,m=1.72244709824*(c-m),c=u+p,u=5.10114861869*(u-p),p=f+c,c=.509795579104*(f-c),f=L+h,L=.601344886935*(L-h),h=q+k,k=.899976223136*(q-k),q=B+S,S=2.56291544774*(B-S),B=p+q,p=.541196100146*(p-q),q=f+h,h=1.30656296488*(f-h),f=B+q,q=.707106781187*(B-q),B=p+h,h=.707106781187*(p-h),p=c+S,S=.541196100146*(c-S),c=L+k,k=1.30656296488*(L-k),L=p+c,c=.707106781187*(p-c),p=S+k,L+=p+=k=.707106781187*(S-k),p+=c,S=c+k,c=o+u,o=.509795579104*(o-u),u=I+m,I=.601344886935*(I-m),m=F+y,y=.899976223136*(F-y),F=C+E,E=2.56291544774*(C-E),C=c+F,c=.541196100146*(c-F),F=u+m,m=1.30656296488*(u-m),u=C+F,F=.707106781187*(C-F),C=c+m,m=.707106781187*(c-m),c=o+E,o=.541196100146*(o-E),E=I+y,y=1.30656296488*(I-y),I=c+E,E=.707106781187*(c-E),c=o+y,f+=u+=I+=c+=o=.707106781187*(o-y),u+=L,L+=I+=C+=m,I+=B+=h,B+=C+=c+=E,C+=p,p+=c+=F,c+=q,q+=F+=E+=o,F+=S,S+=E+=m,E+=h,h+=m+=o,m+=k,k+=o,i[e+48]=-U,i[e+49]=i[e+47]=-f,i[e+50]=i[e+46]=-w,i[e+51]=i[e+45]=-u,i[e+52]=i[e+44]=-s,i[e+53]=i[e+43]=-L,i[e+54]=i[e+42]=-M,i[e+55]=i[e+41]=-I,i[e+56]=i[e+40]=-g,i[e+57]=i[e+39]=-B,i[e+58]=i[e+38]=-b,i[e+59]=i[e+37]=-C,i[e+60]=i[e+36]=-Q,i[e+61]=i[e+35]=-p,i[e+62]=i[e+34]=-n,i[e+63]=i[e+33]=-c,i[e+32]=-a,i[e+0]=a,i[e+31]=-q,i[e+1]=q,i[e+30]=-G,i[e+2]=G,i[e+29]=-F,i[e+3]=F,i[e+28]=-r,i[e+4]=r,i[e+27]=-S,i[e+5]=S,i[e+26]=-R,i[e+6]=R,i[e+25]=-E,i[e+7]=E,i[e+24]=-l,i[e+8]=l,i[e+23]=-h,i[e+9]=h,i[e+22]=-D,i[e+10]=D,i[e+21]=-m,i[e+11]=m,i[e+20]=-d,i[e+12]=d,i[e+19]=-k,i[e+13]=k,i[e+18]=-N,i[e+14]=N,i[e+17]=-o,i[e+15]=o,i[e+16]=0},t}(J);x.FRAME_SYNC=2047,x.VERSION={MPEG_2_5:0,MPEG_2:2,MPEG_1:3},x.LAYER={III:1,II:2,I:3},x.MODE={STEREO:0,JOINT_STEREO:1,DUAL_CHANNEL:2,MONO:3},x.SAMPLE_RATE=new Uint16Array([44100,48e3,32e3,0,22050,24e3,16e3,0]),x.BIT_RATE=new Uint16Array([32,48,56,64,80,96,112,128,160,192,224,256,320,384,8,16,24,32,40,48,56,64,80,96,112,128,144,160]),x.SCALEFACTOR_BASE=new Uint32Array([33554432,26632170,21137968]),x.SYNTHESIS_WINDOW=new Float32Array([0,-.5,-.5,-.5,-.5,-.5,-.5,-1,-1,-1,-1,-1.5,-1.5,-2,-2,-2.5,-2.5,-3,-3.5,-3.5,-4,-4.5,-5,-5.5,-6.5,-7,-8,-8.5,-9.5,-10.5,-12,-13,-14.5,-15.5,-17.5,-19,-20.5,-22.5,-24.5,-26.5,-29,-31.5,-34,-36.5,-39.5,-42.5,-45.5,-48.5,-52,-55.5,-58.5,-62.5,-66,-69.5,-73.5,-77,-80.5,-84.5,-88,-91.5,-95,-98,-101,-104,106.5,109,111,112.5,113.5,114,114,113.5,112,110.5,107.5,104,100,94.5,88.5,81.5,73,63.5,53,41.5,28.5,14.5,-1,-18,-36,-55.5,-76.5,-98.5,-122,-147,-173.5,-200.5,-229.5,-259.5,-290.5,-322.5,-355.5,-389.5,-424,-459.5,-495.5,-532,-568.5,-605,-641.5,-678,-714,-749,-783.5,-817,-849,-879.5,-908.5,-935,-959.5,-981,-1000.5,-1016,-1028.5,-1037.5,-1042.5,-1043.5,-1040,-1031.5,1018.5,1e3,976,946.5,911,869.5,822,767.5,707,640,565.5,485,397,302.5,201,92.5,-22.5,-144,-272.5,-407,-547.5,-694,-846,-1003,-1165,-1331.5,-1502,-1675.5,-1852.5,-2031.5,-2212.5,-2394,-2576.5,-2758.5,-2939.5,-3118.5,-3294.5,-3467.5,-3635.5,-3798.5,-3955,-4104.5,-4245.5,-4377.5,-4499,-4609.5,-4708,-4792.5,-4863.5,-4919,-4958,-4979.5,-4983,-4967.5,-4931.5,-4875,-4796,-4694.5,-4569.5,-4420,-4246,-4046,-3820,-3567,3287,2979.5,2644,2280.5,1888,1467.5,1018.5,541,35,-499,-1061,-1650,-2266.5,-2909,-3577,-4270,-4987.5,-5727.5,-6490,-7274,-8077.5,-8899.5,-9739,-10594.5,-11464.5,-12347,-13241,-14144.5,-15056,-15973.5,-16895.5,-17820,-18744.5,-19668,-20588,-21503,-22410.5,-23308.5,-24195,-25068.5,-25926.5,-26767,-27589,-28389,-29166.5,-29919,-30644.5,-31342,-32009.5,-32645,-33247,-33814.5,-34346,-34839.5,-35295,-35710,-36084.5,-36417.5,-36707.5,-36954,-37156.5,-37315,-37428,-37496,37519,37496,37428,37315,37156.5,36954,36707.5,36417.5,36084.5,35710,35295,34839.5,34346,33814.5,33247,32645,32009.5,31342,30644.5,29919,29166.5,28389,27589,26767,25926.5,25068.5,24195,23308.5,22410.5,21503,20588,19668,18744.5,17820,16895.5,15973.5,15056,14144.5,13241,12347,11464.5,10594.5,9739,8899.5,8077.5,7274,6490,5727.5,4987.5,4270,3577,2909,2266.5,1650,1061,499,-35,-541,-1018.5,-1467.5,-1888,-2280.5,-2644,-2979.5,3287,3567,3820,4046,4246,4420,4569.5,4694.5,4796,4875,4931.5,4967.5,4983,4979.5,4958,4919,4863.5,4792.5,4708,4609.5,4499,4377.5,4245.5,4104.5,3955,3798.5,3635.5,3467.5,3294.5,3118.5,2939.5,2758.5,2576.5,2394,2212.5,2031.5,1852.5,1675.5,1502,1331.5,1165,1003,846,694,547.5,407,272.5,144,22.5,-92.5,-201,-302.5,-397,-485,-565.5,-640,-707,-767.5,-822,-869.5,-911,-946.5,-976,-1e3,1018.5,1031.5,1040,1043.5,1042.5,1037.5,1028.5,1016,1000.5,981,959.5,935,908.5,879.5,849,817,783.5,749,714,678,641.5,605,568.5,532,495.5,459.5,424,389.5,355.5,322.5,290.5,259.5,229.5,200.5,173.5,147,122,98.5,76.5,55.5,36,18,1,-14.5,-28.5,-41.5,-53,-63.5,-73,-81.5,-88.5,-94.5,-100,-104,-107.5,-110.5,-112,-113.5,-114,-114,-113.5,-112.5,-111,-109,106.5,104,101,98,95,91.5,88,84.5,80.5,77,73.5,69.5,66,62.5,58.5,55.5,52,48.5,45.5,42.5,39.5,36.5,34,31.5,29,26.5,24.5,22.5,20.5,19,17.5,15.5,14.5,13,12,10.5,9.5,8.5,8,7,6.5,5.5,5,4.5,4,3.5,3.5,3,2.5,2.5,2,2,1.5,1.5,1,1,1,1,.5,.5,.5,.5,.5,.5]),x.QUANT_LUT_STEP_1=[[0,0,1,1,1,2,2,2,2,2,2,2,2,2],[0,0,0,0,0,0,1,1,1,2,2,2,2,2]],x.QUANT_TAB={A:91,B:94,C:8,D:12},x.QUANT_LUT_STEP_2=[[x.QUANT_TAB.C,x.QUANT_TAB.C,x.QUANT_TAB.D],[x.QUANT_TAB.A,x.QUANT_TAB.A,x.QUANT_TAB.A],[x.QUANT_TAB.B,x.QUANT_TAB.A,x.QUANT_TAB.B]],x.QUANT_LUT_STEP_3=[[68,68,52,52,52,52,52,52,52,52,52,52],[67,67,67,66,66,66,66,66,66,66,66,49,49,49,49,49,49,49,49,49,49,49,49,32,32,32,32,32,32,32],[69,69,69,69,52,52,52,52,52,52,52,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36]],x.QUANT_LUT_STEP4=[[0,1,2,17],[0,1,2,3,4,5,6,17],[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,17],[0,1,3,5,6,7,8,9,10,11,12,13,14,15,16,17],[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,17],[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]],x.QUANT_TAB=[{levels:3,group:1,bits:5},{levels:5,group:1,bits:7},{levels:7,group:0,bits:3},{levels:9,group:1,bits:10},{levels:15,group:0,bits:4},{levels:31,group:0,bits:5},{levels:63,group:0,bits:6},{levels:127,group:0,bits:7},{levels:255,group:0,bits:8},{levels:511,group:0,bits:9},{levels:1023,group:0,bits:10},{levels:2047,group:0,bits:11},{levels:4095,group:0,bits:12},{levels:8191,group:0,bits:13},{levels:16383,group:0,bits:14},{levels:32767,group:0,bits:15},{levels:65535,group:0,bits:16}];var Y=function(A){function t(t){var i;return(i=A.call(this,t)||this).onDecodeCallback=t.onAudioDecode,i.module=t.wasmModule,i.bufferSize=t.audioBufferSize||131072,i.bufferMode=t.streaming?L.MODE.EVICT:L.MODE.EXPAND,i.sampleRate=0,i}u(t,A);var i=t.prototype;return i.initializeWasmDecoder=function(){this.module.instance?(this.instance=this.module.instance,this.functions=this.module.instance.exports,this.decoder=this.functions._mp2_decoder_create(this.bufferSize,this.bufferMode)):console.warn("JSMpeg: WASM module not compiled yet")},i.destroy=function(){this.decoder&&this.functions._mp2_decoder_destroy(this.decoder)},i.bufferGetIndex=function(){if(this.decoder)return this.functions._mp2_decoder_get_index(this.decoder)},i.bufferSetIndex=function(A){this.decoder&&this.functions._mp2_decoder_set_index(this.decoder,A)},i.bufferWrite=function(A){this.decoder||this.initializeWasmDecoder();for(var t=0,i=0;i>4<<4;this.gl.viewport(0,0,i,this.height)},t.createTexture=function(A,t){var i=this.gl,e=i.createTexture();return i.bindTexture(i.TEXTURE_2D,e),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.uniform1i(i.getUniformLocation(this.program,t),A),e},t.createProgram=function(A,t){var i=this.gl,e=i.createProgram();return i.attachShader(e,this.compileShader(i.VERTEX_SHADER,A)),i.attachShader(e,this.compileShader(i.FRAGMENT_SHADER,t)),i.linkProgram(e),i.useProgram(e),e},t.compileShader=function(A,t){var i=this.gl,e=i.createShader(A);if(i.shaderSource(e,t),i.compileShader(e),!i.getShaderParameter(e,i.COMPILE_STATUS))throw new Error(i.getShaderInfoLog(e));return e},t.allowsClampedTextureData=function(){var A=this.gl,t=A.createTexture();return A.bindTexture(A.TEXTURE_2D,t),A.texImage2D(A.TEXTURE_2D,0,A.LUMINANCE,1,1,0,A.LUMINANCE,A.UNSIGNED_BYTE,new Uint8ClampedArray([0])),0===A.getError()},t.renderProgress=function(A){var t=this.gl;t.useProgram(this.loadingProgram);var i=t.getUniformLocation(this.loadingProgram,"progress");t.uniform1f(i,A),t.drawArrays(t.TRIANGLE_STRIP,0,4)},t.render=function(A,t,i,e){if(this.enabled){var s=this.gl,o=this.width+15>>4<<4,g=this.height,I=o>>1,a=g>>1;e&&this.shouldCreateUnclampedViews&&(A=new Uint8Array(A.buffer),t=new Uint8Array(t.buffer),i=new Uint8Array(i.buffer)),s.useProgram(this.program),this.updateTexture(s.TEXTURE0,this.textureY,o,g,A),this.updateTexture(s.TEXTURE1,this.textureCb,I,a,t),this.updateTexture(s.TEXTURE2,this.textureCr,I,a,i),s.drawArrays(s.TRIANGLE_STRIP,0,4)}},t.updateTexture=function(A,t,i,e,s){var o=this.gl;o.activeTexture(A),o.bindTexture(o.TEXTURE_2D,t),this.hasTextureData[A]?o.texSubImage2D(o.TEXTURE_2D,0,0,0,i,e,o.LUMINANCE,o.UNSIGNED_BYTE,s):(this.hasTextureData[A]=!0,o.texImage2D(o.TEXTURE_2D,0,o.LUMINANCE,i,e,0,o.LUMINANCE,o.UNSIGNED_BYTE,s))},t.deleteTexture=function(A,t){var i=this.gl;i.activeTexture(A),i.bindTexture(i.TEXTURE_2D,null),i.deleteTexture(t)},A.IsSupported=function(){try{if(!window.WebGLRenderingContext)return!1;var A=document.createElement("canvas");return!(!A.getContext("webgl")&&!A.getContext("experimental-webgl"))}catch(A){return!1}},A}();H.SHADER={FRAGMENT_YCRCB_TO_RGBA:["precision mediump float;","uniform sampler2D textureY;","uniform sampler2D textureCb;","uniform sampler2D textureCr;","varying vec2 texCoord;","mat4 rec601 = mat4(","1.16438, 0.00000, 1.59603, -0.87079,","1.16438, -0.39176, -0.81297, 0.52959,","1.16438, 2.01723, 0.00000, -1.08139,","0, 0, 0, 1",");","void main() {","float y = texture2D(textureY, texCoord).r;","float cb = texture2D(textureCb, texCoord).r;","float cr = texture2D(textureCr, texCoord).r;","gl_FragColor = vec4(y, cr, cb, 1.0) * rec601;","}"].join("\n"),FRAGMENT_LOADING:["precision mediump float;","uniform float progress;","varying vec2 texCoord;","void main() {","float c = ceil(progress-(1.0-texCoord.y));","gl_FragColor = vec4(c,c,c,1);","}"].join("\n"),VERTEX_IDENTITY:["attribute vec2 vertex;","varying vec2 texCoord;","void main() {","texCoord = vertex;","gl_Position = vec4((vertex * 2.0 - 1.0) * vec2(1, -1), 0.0, 1.0);","}"].join("\n")};var P=function(){function A(A){A.canvas?(this.canvas=A.canvas,this.ownsCanvasElement=!1):(this.canvas=document.createElement("canvas"),this.ownsCanvasElement=!0),this.width=this.canvas.width,this.height=this.canvas.height,this.enabled=!0,this.context=this.canvas.getContext("2d")}var t=A.prototype;return t.destroy=function(){this.ownsCanvasElement&&this.canvas.remove()},t.resize=function(A,t){this.width=0|A,this.height=0|t,this.canvas.width=this.width,this.canvas.height=this.height,this.imageData=this.context.getImageData(0,0,this.width,this.height),G(this.imageData.data,255)},t.renderProgress=function(A){var t=this.canvas.width,i=this.canvas.height,e=this.context;e.fillStyle="#222",e.fillRect(0,0,t,i),e.fillStyle="#fff",e.fillRect(0,i-i*A,t,i*A)},t.render=function(A,t,i){this.YCbCrToRGBA(A,t,i,this.imageData.data),this.context.putImageData(this.imageData,0,0)},t.YCbCrToRGBA=function(A,t,i,e){if(this.enabled)for(var s,o,g,I,a,B=this.width+15>>4<<4,r=B>>1,C=0,n=B,E=B+(B-this.width),Q=0,h=r-(this.width>>1),d=0,c=4*this.width,l=4*this.width,u=this.width>>1,w=this.height>>1,p=0;p>8)-179,I=(88*o>>8)-44+(183*s>>8)-91,a=o+(198*o>>8)-227;var m=A[C++],f=A[C++];e[d]=m+g,e[d+1]=m-I,e[d+2]=m+a,e[d+4]=f+g,e[d+5]=f-I,e[d+6]=f+a,d+=8;var y=A[n++],R=A[n++];e[c]=y+g,e[c+1]=y-I,e[c+2]=y+a,e[c+4]=R+g,e[c+5]=R-I,e[c+6]=R+a,c+=8}C+=E,n+=E,d+=l,c+=l,Q+=h}},A}(),O=function(){function A(){this.context=A.CachedContext=A.CachedContext||new(window.AudioContext||window.webkitAudioContext),this.gain=this.context.createGain(),this.destination=this.gain,this.gain.connect(this.context.destination),this.context._connections=(this.context._connections||0)+1,this.startTime=0,this.buffer=null,this.wallclockStartTime=0,this.volume=1,this.enabled=!0,this.unlocked=!A.NeedsUnlocking(),Object.defineProperty(this,"enqueuedTime",{get:this.getEnqueuedTime})}var t=A.prototype;return t.destroy=function(){this.gain.disconnect(),this.context._connections--,0===this.context._connections&&(this.context.close(),A.CachedContext=null)},t.play=function(A,t,i){if(this.enabled){if(!this.unlocked){var e=S();return this.wallclockStartTimethis.memory.buffer.byteLength){var i=this.brk-this.memory.buffer.byteLength,e=Math.ceil(i/this.pageSize);this.memory.grow(e),this.createHeapViews()}return t},t.c_abort=function(A){console.warn("JSMPeg: WASM abort",arguments)},t.c_assertFail=function(A){console.warn("JSMPeg: WASM ___assert_fail",arguments)},t.readDylinkSection=function(A){var t=new Uint8Array(A),i=0,e=function(){for(var A=0,e=1;;){var s=t[i++];if(A+=(127&s)*e,e*=128,!(128&s))return A}},s=function(A){for(var e=0;ethis.maxAudioLag&&(this.audioOut.resetEnqueuedTime(),this.audioOut.enabled=!1),A=this.audio.decode()}while(A);this.audioOut.enabled=!0}},t.updateForStaticFile=function(){var A=!1,t=0;if(this.audio&&this.audio.canPlay){for(;!A&&this.audio.decodedTime-this.audio.currentTime<.25;)A=!this.audio.decode();this.video&&this.video.currentTime0&&(e>2*s&&(this.startTime+=e),A=!this.video.decode()),t=this.demuxer.currentTime-i}this.source.resume(t),A&&this.source.completed?this.loop?this.seek(0):(this.stop(),this.options.onEnded&&this.options.onEnded(this)):A&&this.options.onStalled&&this.options.onStalled(this)},A}(),W={Player:X,VideoElement:b,BitBuffer:L,Source:{Ajax:M,AjaxProgressive:q,WebSocket:N,Fetch:function(){function A(A,t){this.url=A,this.destination=null,this.request=null,this.streaming=!0,this.completed=!1,this.established=!1,this.progress=0,this.aborted=!1,this.onEstablishedCallback=t.onSourceEstablished,this.onCompletedCallback=t.onSourceCompleted,t.hookOnEstablished&&(this.hookOnEstablished=t.hookOnEstablished)}var t=A.prototype;return t.connect=function(A){this.destination=A},t.start=function(){var A=this,t={method:"GET",headers:new Headers,cache:"default"};self.fetch(this.url,t).then((function(t){if(t.ok&&t.status>=200&&t.status<=299)return A.progress=1,A.established=!0,A.pump(t.body.getReader())})).catch((function(A){throw A}))},t.pump=function(A){var t=this;return A.read().then((function(i){if(!i.done)return t.aborted?A.cancel():(t.destination&&t.destination.write(i.value.buffer),t.pump(A));t.completed=!0})).catch((function(A){throw A}))},t.resume=function(){},t.abort=function(){this.aborted=!0},A}()},Demuxer:{TS:U},Decoder:{Base:J,MPEG1Video:T,MPEG1VideoWASM:v,MP2Audio:x,MP2AudioWASM:Y},Renderer:{WebGL:H,Canvas2D:P},AudioOutput:{WebAudio:O},WASMModule:K,Now:S,CreateVideoElements:function(){for(var A=document.querySelectorAll(".jsmpeg"),t=0;tthis.q=A))}resume(){this.q?.(),this.Z=this.q=void 0}} -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const V=A=>!e(A)&&"function"==typeof A.then,z=1073741823;const $=A(class extends t{constructor(){super(...arguments),this._$Cwt=z,this._$Cbt=[],this._$CK=new Z(this),this._$CX=new j}render(...A){return A.find((A=>!V(A)))??i}update(A,t){const e=this._$Cbt;let s=e.length;this._$Cbt=t;const o=this._$CK,g=this._$CX;this.isConnected||this.disconnected();for(let A=0;Athis._$Cwt);A++){const i=t[A];if(!V(i))return this._$Cwt=A,i;A{for(;g.get();)await g.get();const t=o.deref();if(void 0!==t){const e=t._$Cbt.indexOf(i);e>-1&&e{let i=!1;const e=new W.VideoElement(this,A,{canvas:this._jsmpegCanvasElement},{pauseWhenHidden:!1,autoplay:!1,protocols:[],audio:!1,videoBufferSize:4194304,preserveDrawingBuffer:!0,...this.cameraConfig?.jsmpeg?.options,reconnectInterval:0,onVideoDecode:()=>{!i&&this._jsmpegCanvasElement&&(i=!0,t(e))},onPlay:()=>g(this),onPause:()=>I(this)})})),this._jsmpegCanvasElement&&a(this,this._jsmpegCanvasElement,{player:this,capabilities:{supportsPause:!0},technology:["jsmpeg"]})}_resetPlayer(){if(this._refreshPlayerTimer.stop(),this._jsmpegVideoPlayer){try{this._jsmpegVideoPlayer.destroy()}catch(A){}this._jsmpegVideoPlayer=void 0}this._jsmpegCanvasElement&&(this._jsmpegCanvasElement.remove(),this._jsmpegCanvasElement=void 0)}connectedCallback(){super.connectedCallback(),this.isConnected&&this.requestUpdate()}disconnectedCallback(){this.isConnected||this._resetPlayer(),super.disconnectedCallback()}async _refreshPlayer(){if(!this.hass)return;this._resetPlayer(),this._jsmpegCanvasElement=document.createElement("canvas"),this._jsmpegCanvasElement.className="media";const A=this.cameraEndpoints?.jsmpeg;if(!A)return B(this,r("error.live_camera_no_endpoint"),{context:this.cameraConfig});const t=await c(this,this.hass,A,86400);t&&(await this._createJSMPEGPlayer(t),this._refreshPlayerTimer.start(82800,(()=>this.requestUpdate())))}render(){return C`${$((async()=>(await this._refreshPlayer(),this._jsmpegVideoPlayer&&this._jsmpegCanvasElement?C`${this._jsmpegCanvasElement}`:B(this,r("error.jsmpeg_no_player"))))(),n({cardWideConfig:this.cardWideConfig}))}`}static get styles(){return E(":host {\n width: 100%;\n height: 100%;\n display: flex;\n}\n\ncanvas {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n object-view-box: inset(var(--frigate-card-media-layout-view-box-top, 0%) var(--frigate-card-media-layout-view-box-right, 0%) var(--frigate-card-media-layout-view-box-bottom, 0%) var(--frigate-card-media-layout-view-box-left, 0%));\n}")}};Q([h({attribute:!1})],AA.prototype,"cameraConfig",void 0),Q([h({attribute:!1})],AA.prototype,"cameraEndpoints",void 0),Q([h({attribute:!1})],AA.prototype,"cardWideConfig",void 0),AA=Q([d("frigate-card-live-jsmpeg")],AA);export{AA as FrigateCardLiveJSMPEG}; diff --git a/config/www/community/frigate-hass-card/jsmpeg-05cdf58e.js.gz b/config/www/community/frigate-hass-card/jsmpeg-05cdf58e.js.gz deleted file mode 100644 index e582a0e2e50ddfcc5d97eb8c7ff1b3e7125a0d4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42824 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 diff --git a/config/www/community/frigate-hass-card/jsmpeg-1cb0aa9d.js b/config/www/community/frigate-hass-card/jsmpeg-1cb0aa9d.js deleted file mode 100644 index 47a35a5f..00000000 --- a/config/www/community/frigate-hass-card/jsmpeg-1cb0aa9d.js +++ /dev/null @@ -1,12 +0,0 @@ -import{dw as A,eF as t,dy as i,eG as e,a as s,dz as o,dt as g,du as I,dr as a,l as B,cO as r,x as C,dg as n,r as E,_ as Q,n as h,b as d,t as c}from"./card-e5d55e5b.js";import{d as l}from"./media-921a03ae.js";import{c as u}from"./endpoint-c9cec68c.js";function w(){return w=Object.assign?Object.assign.bind():function(A){for(var t=1;t"string"==typeof A&&A.constructor===String,f=function(A){var t,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t=A,"Promise"===Object.prototype.toString.call(t).slice(8,-1)?A:new Promise((t=>{A(),setTimeout(t,i)}))};var y="WJ3NAvwFY9",R="tR2-0dd-e1",k="ZgIIHVSSYI",b="kAA8SjbHe2",G="OueN4AU4CJ";!function(A,t){void 0===t&&(t={});var i=t.insertAt;if(A&&"undefined"!=typeof document){var e=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.type="text/css","top"===i&&e.firstChild?e.insertBefore(s,e.firstChild):e.appendChild(s),s.styleSheet?s.styleSheet.cssText=A:s.appendChild(document.createTextNode(A))}}(".WJ3NAvwFY9,.ZgIIHVSSYI,.kAA8SjbHe2,.tR2-0dd-e1{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.ZgIIHVSSYI{-ms-flex-pack:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;justify-content:center}.WJ3NAvwFY9,.tR2-0dd-e1{display:block}.tR2-0dd-e1.OueN4AU4CJ{display:none}.ZgIIHVSSYI,.kAA8SjbHe2{-webkit-tap-highlight-color:rgba(255,0,0,0);cursor:pointer;opacity:.7}.OueN4AU4CJ.ZgIIHVSSYI,.OueN4AU4CJ.kAA8SjbHe2{display:none}.ZgIIHVSSYI{z-index:10}.ZgIIHVSSYI>svg{fill:#fff;height:12vw;max-height:60px;max-width:60px;width:12vw}.kAA8SjbHe2{-ms-flex-pack:end;-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:flex-end;justify-content:flex-end;z-index:10}.kAA8SjbHe2>svg{fill:#fff;height:9vw;margin:0 15px 15px 0;max-height:40px;max-width:40px;width:9vw}");var S=function(){function A(A,t,i,e){var s=void 0===i?{}:i,o=s.canvas,g=void 0===o?"":o,I=s.poster,a=void 0===I?"":I,B=s.autoplay,r=void 0!==B&&B,C=s.autoSetWrapperSize,n=void 0!==C&&C,E=s.loop,Q=void 0!==E&&E,h=s.control,d=void 0===h||h,c=s.decodeFirstFrame,l=void 0===c||c,u=s.picMode,p=void 0!==u&&u,m=s.progressive,f=void 0===m||m,y=s.chunkSize,R=void 0===y?1048576:y,k=s.hooks,b=void 0===k?{}:k;void 0===e&&(e={}),this.options=w({videoUrl:t,canvas:g,poster:a,picMode:p,autoplay:r,autoSetWrapperSize:n,loop:Q,control:d,decodeFirstFrame:l,progressive:f,chunkSize:R,hooks:w({play:function(){},pause:function(){},stop:function(){},load:function(){}},b)},e),this.options.needPlayButton=this.options.control&&!this.options.picMode,this.player=null,this.els={wrapper:D(A)?document.querySelector(A):A,canvas:null,playButton:document.createElement("div"),unmuteButton:null,poster:null},"static"===window.getComputedStyle(this.els.wrapper).getPropertyValue("position")&&(this.els.wrapper.style.position="relative"),this.els.wrapper.clientRect=this.els.wrapper.getBoundingClientRect(),this.initCanvas(),this.initPlayButton(),this.initPlayer()}var t=A.prototype;return t.initCanvas=function(){this.options.canvas?this.els.canvas=D(this.options.canvas)?document.querySelector(this.options.canvas):this.options.canvas:(this.els.canvas=document.createElement("canvas"),this.els.canvas.classList.add(y),this.els.wrapper.appendChild(this.els.canvas))},t.initPlayer=function(){var A=this;this.options=w(this.options,{canvas:this.els.canvas});var t=w({},this.options,{autoplay:!1});if(this.player=new Z(this.options.videoUrl,t,{play:function(){A.options.needPlayButton&&A.els.playButton.classList.add(G),A.els.poster&&A.els.poster.classList.add(G),A.options.hooks.play()},pause:function(){A.options.needPlayButton&&A.els.playButton.classList.remove(G),A.options.hooks.pause()},stop:function(){A.els.poster&&A.els.poster.classList.remove(G),A.options.hooks.stop()},load:function(){A.options.autoplay&&A.play(),A._autoSetWrapperSize(),A.options.hooks.load()}}),this._copyPlayerFuncs(),this.els.wrapper.playerInstance=this.player,!this.options.poster||this.options.autoplay||this.player.options.streaming||(this.options.decodeFirstFrame=!1,this.els.poster=new Image,this.els.poster.src=this.options.poster,this.els.poster.classList.add(R),this.els.wrapper.appendChild(this.els.poster)),this.player.options.streaming||this.els.wrapper.addEventListener("click",this.onClick.bind(this)),(this.options.autoplay||this.player.options.streaming)&&this.els.playButton.classList.add(G),this.player.audioOut&&!this.player.audioOut.unlocked){var i=this.els.wrapper;(this.options.autoplay||this.player.options.streaming)&&(this.els.unmuteButton=document.createElement("div"),this.els.unmuteButton.innerHTML='\n\n \n\n',this.els.unmuteButton.classList.add(b),this.els.wrapper.appendChild(this.els.unmuteButton),i=this.els.unmuteButton),this.unlockAudioBound=this.onUnlockAudio.bind(this,i),i.addEventListener("touchstart",this.unlockAudioBound,!1),i.addEventListener("click",this.unlockAudioBound,!0)}},t.initPlayButton=function(){this.options.needPlayButton&&(this.els.playButton.classList.add(k),this.els.playButton.innerHTML='\n\n \n\n',this.els.wrapper.appendChild(this.els.playButton))},t._autoSetWrapperSize=function(){var A=this;if(!this.options.autoSetWrapperSize)return Promise.resolve();var t=this.player.video.destination;return t?Promise.resolve().then((function(){return f((function(){A.els.wrapper.style.width=t.width+"px",A.els.wrapper.style.height=t.height+"px"}))})):Promise.resolve()},t.onUnlockAudio=function(A,t){var i=this;this.els.unmuteButton&&(t.preventDefault(),t.stopPropagation()),this.player.audioOut.unlock((function(){i.els.unmuteButton&&i.els.unmuteButton.classList.add(G),A.removeEventListener("touchstart",i.unlockAudioBound),A.removeEventListener("click",i.unlockAudioBound)}))},t.onClick=function(){this.options.control&&(this.player.isPlaying?this.pause():this.play())},t._copyPlayerFuncs=function(){var A=this;this.play=function(){return A.player.play()},this.pause=function(){return A.player.pause()},this.stop=function(){return A.player.stop()},this.destroy=function(){A.player.destroy(),A.els.wrapper.innerHTML="",A.els.wrapper.playerInstance=null}},A}(),F=function(){return window.performance?window.performance.now()/1e3:Date.now()/1e3},M=function(A,t){if(A.fill)A.fill(t);else for(var i=0;iA&&this.loadNextChunk())},t.destroy=function(){this.request.abort(),this.aborted=!0},t.loadNextChunk=function(){var A=this,t=this.loadedSize,i=Math.min(this.loadedSize+this.chunkSize-1,this.fileSize-1);if(t>=this.fileSize||this.aborted)return this.completed=!0,void(this.onCompletedCallback&&this.onCompletedCallback(this));this.isLoading=!0,this.loadStartTime=F(),this.request=new XMLHttpRequest,this.request.onreadystatechange=function(){A.request.readyState===A.request.DONE&&A.request.status>=200&&A.request.status<300?A.onChunkLoad(A.request.response):A.request.readyState===A.request.DONE&&A.loadFails++<3&&A.loadNextChunk()},0===t&&(this.request.onprogress=this.onProgress.bind(this)),this.request.open("GET",this.url+"?"+t+"-"+i),this.request.setRequestHeader("Range","bytes="+t+"-"+i),this.request.responseType="arraybuffer",this.request.send()},t.onProgress=function(A){this.progress=A.loaded/A.total},t.onChunkLoad=function(A){var t=!this.established;this.established=!0,this.progress=1,this.loadedSize+=A.byteLength,this.loadFails=0,this.isLoading=!1,t&&this.hookOnEstablished&&this.hookOnEstablished(),t&&this.onEstablishedCallback&&this.onEstablishedCallback(this),this.destination&&this.destination.write(A),this.loadTime=F()-this.loadStartTime,this.throttled||this.loadNextChunk()},A}(),U=function(){function A(A,t){this.url=A,this.options=t,this.socket=null,this.streaming=!0,this.callbacks={connect:[],data:[]},this.destination=null,this.reconnectInterval=void 0!==t.reconnectInterval?t.reconnectInterval:5,this.shouldAttemptReconnect=!!this.reconnectInterval,this.completed=!1,this.established=!1,this.progress=0,this.reconnectTimeoutId=0,this.onEstablishedCallback=t.onSourceEstablished,this.onCompletedCallback=t.onSourceCompleted,t.hookOnEstablished&&(this.hookOnEstablished=t.hookOnEstablished)}var t=A.prototype;return t.connect=function(A){this.destination=A},t.destroy=function(){clearTimeout(this.reconnectTimeoutId),this.shouldAttemptReconnect=!1,this.socket.close()},t.start=function(){this.shouldAttemptReconnect=!!this.reconnectInterval,this.progress=0,this.established=!1,this.options.protocols?this.socket=new WebSocket(this.url,this.options.protocols):this.socket=new WebSocket(this.url),this.socket.binaryType="arraybuffer",this.socket.onmessage=this.onMessage.bind(this),this.socket.onopen=this.onOpen.bind(this),this.socket.onerror=this.onClose.bind(this),this.socket.onclose=this.onClose.bind(this)},t.resume=function(){},t.onOpen=function(){this.progress=1},t.onClose=function(){var A=this;this.shouldAttemptReconnect&&(clearTimeout(this.reconnectTimeoutId),this.reconnectTimeoutId=setTimeout((function(){A.start()}),1e3*this.reconnectInterval))},t.onMessage=function(A){var t=!this.established;this.established=!0,t&&this.hookOnEstablished&&this.hookOnEstablished(),t&&this.onEstablishedCallback&&this.onEstablishedCallback(this),this.destination&&this.destination.write(A.data)},A}(),J=function(){function A(t,i){"object"==typeof t?(this.bytes=t instanceof Uint8Array?t:new Uint8Array(t),this.byteLength=this.bytes.length):(this.bytes=new Uint8Array(t||1048576),this.byteLength=0),this.mode=i||A.MODE.EXPAND,this.index=0}var t=A.prototype;return t.resize=function(A){var t=new Uint8Array(A);0!==this.byteLength&&(this.byteLength=Math.min(this.byteLength,A),t.set(this.bytes,0,this.byteLength)),this.bytes=t,this.index=Math.min(this.index,this.byteLength<<3)},t.evict=function(A){var t=this.index>>3,i=this.bytes.length-this.byteLength;if(this.index===this.byteLength<<3||A>i+t)return this.byteLength=0,void(this.index=0);0!==t&&(this.bytes.copyWithin?this.bytes.copyWithin(0,t,this.byteLength):this.bytes.set(this.bytes.subarray(t,this.byteLength)),this.byteLength-=t,this.index-=t<<3)},t.write=function(t){var i="object"==typeof t[0],e=0,s=this.bytes.length-this.byteLength;if(i){e=0;for(var o=0;os)if(this.mode===A.MODE.EXPAND){var g=Math.max(2*this.bytes.length,e-s);this.resize(g)}else this.evict(e);if(i)for(var I=0;I>3;A>3;return A>=this.byteLength||0===this.bytes[A]&&0===this.bytes[A+1]&&1===this.bytes[A+2]},t.peek=function(A){for(var t=this.index,i=0;A;){var e=8-(7&t),s=e>3]&255>>8-s<>o,t+=s,A-=s}return i},t.read=function(A){var t=this.peek(A);return this.index+=A,t},t.skip=function(A){return this.index+=A},t.rewind=function(A){this.index=Math.max(this.index-A,0)},t.has=function(A){return(this.byteLength<<3)-this.index>=A},A}();J.MODE={EVICT:1,EXPAND:2};var T=function(){function A(){this.bits=null,this.leftoverBytes=null,this.guessVideoFrameEnd=!0,this.pidsToStreamIds={},this.pesPacketInfo={},this.startTime=0,this.currentTime=0}var t=A.prototype;return t.connect=function(A,t){this.pesPacketInfo[A]={destination:t,currentLength:0,totalLength:0,pts:0,buffers:[]}},t.write=function(A){if(this.leftoverBytes){var t=A.byteLength+this.leftoverBytes.byteLength;this.bits=new J(t),this.bits.write([this.leftoverBytes,A])}else this.bits=new J(A);for(;this.bits.has(1504)&&this.parsePacket(););var i=this.bits.byteLength-(this.bits.index>>3);this.leftoverBytes=i>0?this.bits.bytes.subarray(this.bits.index>>3):null},t.parsePacket=function(){if(71!==this.bits.read(8)&&!this.resync())return!1;var A=187+(this.bits.index>>3);this.bits.read(1);var t=this.bits.read(1);this.bits.read(1);var i=this.bits.read(13);this.bits.read(2);var e=this.bits.read(2);this.bits.read(4);var s=this.pidsToStreamIds[i];if(t&&s){var o=this.pesPacketInfo[s];o&&o.currentLength&&this.packetComplete(o)}if(1&e){if(2&e){var g=this.bits.read(8);this.bits.skip(g<<3)}if(t&&this.bits.nextBytesAreStartCode()){this.bits.skip(24),s=this.bits.read(8),this.pidsToStreamIds[i]=s;var I=this.bits.read(16);this.bits.skip(8);var a=this.bits.read(2);this.bits.skip(6);var B=this.bits.read(8),r=this.bits.index+(B<<3),C=this.pesPacketInfo[s];if(C){var n=0;if(2&a){this.bits.skip(4);var E=this.bits.read(3);this.bits.skip(1);var Q=this.bits.read(15);this.bits.skip(1);var h=this.bits.read(15);this.bits.skip(1),n=(1073741824*E+32768*Q+h)/9e4,this.currentTime=n,-1===this.startTime&&(this.startTime=n)}var d=I?I-B-3:0;this.packetStart(C,n,d)}this.bits.index=r}if(s){var c=this.pesPacketInfo[s];if(c){var l=this.bits.index>>3,u=!t&&2&e;(this.packetAddData(c,l,A)||this.guessVideoFrameEnd&&u)&&this.packetComplete(c)}}}return this.bits.index=A<<3,!0},t.resync=function(){if(!this.bits.has(9024))return!1;for(var A=this.bits.index>>3,t=0;t<187;t++)if(71===this.bits.bytes[A+t]){for(var i=!0,e=1;e<5;e++)if(71!==this.bits.bytes[A+t+188*e]){i=!1;break}if(i)return this.bits.index=A+t+1<<3,!0}return console.warn("JSMpeg: Possible garbage data. Skipping."),this.bits.skip(1496),!1},t.packetStart=function(A,t,i){A.totalLength=i,A.currentLength=0,A.pts=t},t.packetAddData=function(A,t,i){return A.buffers.push(this.bits.bytes.subarray(t,i)),A.currentLength+=i-t,0!==A.totalLength&&A.currentLength>=A.totalLength},t.packetComplete=function(A){A.destination.write(A.pts,A.buffers),A.totalLength=0,A.currentLength=0,A.buffers=[]},A}();T.STREAM={PACK_HEADER:186,SYSTEM_HEADER:187,PROGRAM_MAP:188,PRIVATE_1:189,PADDING:190,PRIVATE_2:191,AUDIO_1:192,VIDEO_1:224,DIRECTORY:255};var v=function(){function A(A){this.destination=null,this.canPlay=!1,this.collectTimestamps=!A.streaming,this.bytesWritten=0,this.timestamps=[],this.timestampIndex=0,this.startTime=0,this.decodedTime=0,Object.defineProperty(this,"currentTime",{get:this.getCurrentTime})}var t=A.prototype;return t.destroy=function(){},t.connect=function(A){this.destination=A},t.bufferGetIndex=function(){return this.bits.index},t.bufferSetIndex=function(A){this.bits.index=A},t.bufferWrite=function(A){return this.bits.write(A)},t.write=function(A,t){this.collectTimestamps&&(0===this.timestamps.length&&(this.startTime=A,this.decodedTime=A),this.timestamps.push({index:this.bytesWritten<<3,time:A})),this.bytesWritten+=this.bufferWrite(t),this.canPlay=!0},t.seek=function(A){if(this.collectTimestamps){this.timestampIndex=0;for(var t=0;tA);t++)this.timestampIndex=t;var i=this.timestamps[this.timestampIndex];i?(this.bufferSetIndex(i.index),this.decodedTime=i.time):(this.bits.index=0,this.decodedTime=this.startTime)}},t.decode=function(){this.advanceDecodedTime(0)},t.advanceDecodedTime=function(A){if(this.collectTimestamps){for(var t=-1,i=this.bufferGetIndex(),e=this.timestampIndex;ei);e++)t=e;if(-1!==t&&t!==this.timestampIndex)return this.timestampIndex=t,void(this.decodedTime=this.timestamps[this.timestampIndex].time)}this.decodedTime+=A},t.getCurrentTime=function(){return this.decodedTime},A}(),x=function(A){function t(t){var i;(i=A.call(this,t)||this).onDecodeCallback=t.onVideoDecode;var e=t.videoBufferSize||524288,s=t.streaming?J.MODE.EVICT:J.MODE.EXPAND;return i.bits=new J(e,s),i.customIntraQuantMatrix=new Uint8Array(64),i.customNonIntraQuantMatrix=new Uint8Array(64),i.blockData=new Int32Array(64),i.currentFrame=0,i.decodeFirstFrame=!1!==t.decodeFirstFrame,i}p(t,A);var i=t.prototype;return i.write=function(A,i){if(v.prototype.write.call(this,A,i),!this.hasSequenceHeader){if(-1===this.bits.findStartCode(t.START.SEQUENCE))return!1;this.decodeSequenceHeader(),this.decodeFirstFrame&&this.decode()}},i.decode=function(){var A=F();if(!this.hasSequenceHeader)return!1;if(-1===this.bits.findStartCode(t.START.PICTURE))return!1;this.decodePicture(),this.advanceDecodedTime(1/this.frameRate);var i=F()-A;return this.onDecodeCallback&&this.onDecodeCallback(this,i),!0},i.readHuffman=function(A){var t=0;do{t=A[t+this.bits.read(1)]}while(t>=0&&0!==A[t]);return A[t+2]},i.decodeSequenceHeader=function(){var A=this.bits.read(12),i=this.bits.read(12);if(this.bits.skip(4),this.frameRate=t.PICTURE_RATE[this.bits.read(4)],this.bits.skip(30),A===this.width&&i===this.height||(this.width=A,this.height=i,this.initBuffers(),this.destination&&this.destination.resize(A,i)),this.bits.read(1)){for(var e=0;e<64;e++)this.customIntraQuantMatrix[t.ZIG_ZAG[e]]=this.bits.read(8);this.intraQuantMatrix=this.customIntraQuantMatrix}if(this.bits.read(1)){for(var s=0;s<64;s++){var o=t.ZIG_ZAG[s];this.customNonIntraQuantMatrix[o]=this.bits.read(8)}this.nonIntraQuantMatrix=this.customNonIntraQuantMatrix}this.hasSequenceHeader=!0},i.initBuffers=function(){this.intraQuantMatrix=t.DEFAULT_INTRA_QUANT_MATRIX,this.nonIntraQuantMatrix=t.DEFAULT_NON_INTRA_QUANT_MATRIX,this.mbWidth=this.width+15>>4,this.mbHeight=this.height+15>>4,this.mbSize=this.mbWidth*this.mbHeight,this.codedWidth=this.mbWidth<<4,this.codedHeight=this.mbHeight<<4,this.codedSize=this.codedWidth*this.codedHeight,this.halfWidth=this.mbWidth<<3,this.halfHeight=this.mbHeight<<3,this.currentY=new Uint8ClampedArray(this.codedSize),this.currentY32=new Uint32Array(this.currentY.buffer),this.currentCr=new Uint8ClampedArray(this.codedSize>>2),this.currentCr32=new Uint32Array(this.currentCr.buffer),this.currentCb=new Uint8ClampedArray(this.codedSize>>2),this.currentCb32=new Uint32Array(this.currentCb.buffer),this.forwardY=new Uint8ClampedArray(this.codedSize),this.forwardY32=new Uint32Array(this.forwardY.buffer),this.forwardCr=new Uint8ClampedArray(this.codedSize>>2),this.forwardCr32=new Uint32Array(this.forwardCr.buffer),this.forwardCb=new Uint8ClampedArray(this.codedSize>>2),this.forwardCb32=new Uint32Array(this.forwardCb.buffer)},i.decodePicture=function(){if(this.currentFrame++,this.bits.skip(10),this.pictureType=this.bits.read(3),this.bits.skip(16),!(this.pictureType<=0||this.pictureType>=t.PICTURE_TYPE.B)){if(this.pictureType===t.PICTURE_TYPE.PREDICTIVE){if(this.fullPelForward=this.bits.read(1),this.forwardFCode=this.bits.read(3),0===this.forwardFCode)return;this.forwardRSize=this.forwardFCode-1,this.forwardF=1<=t.START.SLICE_FIRST&&A<=t.START.SLICE_LAST;)this.decodeSlice(255&A),A=this.bits.findNextStartCode();if(-1!==A&&this.bits.rewind(32),this.destination&&this.destination.render(this.currentY,this.currentCr,this.currentCb,!0),this.pictureType===t.PICTURE_TYPE.INTRA||this.pictureType===t.PICTURE_TYPE.PREDICTIVE){var i=this.forwardY,e=this.forwardY32,s=this.forwardCr,o=this.forwardCr32,g=this.forwardCb,I=this.forwardCb32;this.forwardY=this.currentY,this.forwardY32=this.currentY32,this.forwardCr=this.currentCr,this.forwardCr32=this.currentCr32,this.forwardCb=this.currentCb,this.forwardCb32=this.currentCb32,this.currentY=i,this.currentY32=e,this.currentCr=s,this.currentCr32=o,this.currentCb=g,this.currentCb32=I}}},i.decodeSlice=function(A){for(this.sliceBegin=!0,this.macroblockAddress=(A-1)*this.mbWidth-1,this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0,this.dcPredictorY=128,this.dcPredictorCr=128,this.dcPredictorCb=128,this.quantizerScale=this.bits.read(5);this.bits.read(1);)this.bits.skip(8);do{this.decodeMacroblock()}while(!this.bits.nextBytesAreStartCode())},i.decodeMacroblock=function(){for(var A=0,i=this.readHuffman(t.MACROBLOCK_ADDRESS_INCREMENT);34===i;)i=this.readHuffman(t.MACROBLOCK_ADDRESS_INCREMENT);for(;35===i;)A+=33,i=this.readHuffman(t.MACROBLOCK_ADDRESS_INCREMENT);if(A+=i,this.sliceBegin)this.sliceBegin=!1,this.macroblockAddress+=A;else{if(this.macroblockAddress+A>=this.mbSize)return;for(A>1&&(this.dcPredictorY=128,this.dcPredictorCr=128,this.dcPredictorCb=128,this.pictureType===t.PICTURE_TYPE.PREDICTIVE&&(this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0));A>1;)this.macroblockAddress++,this.mbRow=this.macroblockAddress/this.mbWidth|0,this.mbCol=this.macroblockAddress%this.mbWidth,this.copyMacroblock(this.motionFwH,this.motionFwV,this.forwardY,this.forwardCr,this.forwardCb),A--;this.macroblockAddress++}this.mbRow=this.macroblockAddress/this.mbWidth|0,this.mbCol=this.macroblockAddress%this.mbWidth;var e=t.MACROBLOCK_TYPE[this.pictureType];this.macroblockType=this.readHuffman(e),this.macroblockIntra=1&this.macroblockType,this.macroblockMotFw=8&this.macroblockType,16&this.macroblockType&&(this.quantizerScale=this.bits.read(5)),this.macroblockIntra?(this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0):(this.dcPredictorY=128,this.dcPredictorCr=128,this.dcPredictorCb=128,this.decodeMotionVectors(),this.copyMacroblock(this.motionFwH,this.motionFwV,this.forwardY,this.forwardCr,this.forwardCb));for(var s=2&this.macroblockType?this.readHuffman(t.CODE_BLOCK_PATTERN):this.macroblockIntra?63:0,o=0,g=32;o<6;o++)s&g&&this.decodeBlock(o),g>>=1},i.decodeMotionVectors=function(){var A,i,e=0;this.macroblockMotFw?(0!==(A=this.readHuffman(t.MOTION))&&1!==this.forwardF?(e=this.bits.read(this.forwardRSize),i=(Math.abs(A)-1<(this.forwardF<<4)-1?this.motionFwHPrev-=this.forwardF<<5:this.motionFwHPrev<-this.forwardF<<4&&(this.motionFwHPrev+=this.forwardF<<5),this.motionFwH=this.motionFwHPrev,this.fullPelForward&&(this.motionFwH<<=1),0!==(A=this.readHuffman(t.MOTION))&&1!==this.forwardF?(e=this.bits.read(this.forwardRSize),i=(Math.abs(A)-1<(this.forwardF<<4)-1?this.motionFwVPrev-=this.forwardF<<5:this.motionFwVPrev<-this.forwardF<<4&&(this.motionFwVPrev+=this.forwardF<<5),this.motionFwV=this.motionFwVPrev,this.fullPelForward&&(this.motionFwV<<=1)):this.pictureType===t.PICTURE_TYPE.PREDICTIVE&&(this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0)},i.copyMacroblock=function(A,t,i,e,s){var o,g,I,a,B,r,C,n,E,Q,h,d,c,l,u,w,p,m,D,f=this.currentY32,y=this.currentCb32,R=this.currentCr32;if(g=(o=this.codedWidth)-16,I=A>>1,a=t>>1,B=!(1&~A),r=!(1&~t),C=((this.mbRow<<4)+a)*o+(this.mbCol<<4)+I,E=(n=this.mbRow*o+this.mbCol<<2)+(o<<2),B)if(r)for(;n>2&255,c|=(h=i[++C]+i[C+o])+d+2<<6&65280,c|=h+(d=i[++C]+i[C+o])+2<<14&16711680,h=i[++C]+i[C+o],C++,c|=h+d+2<<22&4278190080,f[n++]=c;n+=g>>2,C+=g-1}else for(;n>1&255,c|=(h=i[C++])+d+1<<7&65280,c|=h+(d=i[C++])+1<<15&16711680,c|=(h=i[C++])+d+1<<23&4278190080,f[n++]=c;n+=g>>2,C+=g-1}else if(r)for(;n>1&255,c|=i[++C]+i[C+o]+1<<7&65280,c|=i[++C]+i[C+o]+1<<15&16711680,c|=i[++C]+i[C+o]+1<<23&4278190080,C++,f[n++]=c;n+=g>>2,C+=g}else for(;n>2,C+=g}if(g=(o=this.halfWidth)-8,I=A/2>>1,a=t/2>>1,B=1==(A/2&1),r=1==(t/2&1),C=((this.mbRow<<3)+a)*o+(this.mbCol<<3)+I,E=(n=this.mbRow*o+this.mbCol<<1)+(o<<1),B)if(r)for(;n>2&255,D=p+(m=s[C]+s[C+o])+2>>2&255,w|=(l=e[++C]+e[C+o])+u+2<<6&65280,D|=(p=s[C]+s[C+o])+m+2<<6&65280,w|=l+(u=e[++C]+e[C+o])+2<<14&16711680,D|=p+(m=s[C]+s[C+o])+2<<14&16711680,l=e[++C]+e[C+o],p=s[C]+s[C+o],C++,w|=l+u+2<<22&4278190080,D|=p+m+2<<22&4278190080,R[n]=w,y[n]=D,n++;n+=g>>2,C+=g-1}else for(;n>1&255,D=p+(m=s[C++])+1>>1&255,w|=(l=e[C])+u+1<<7&65280,D|=(p=s[C++])+m+1<<7&65280,w|=l+(u=e[C])+1<<15&16711680,D|=p+(m=s[C++])+1<<15&16711680,w|=(l=e[C])+u+1<<23&4278190080,D|=(p=s[C++])+m+1<<23&4278190080,R[n]=w,y[n]=D,n++;n+=g>>2,C+=g-1}else if(r)for(;n>1&255,D=s[C]+s[C+o]+1>>1&255,w|=e[++C]+e[C+o]+1<<7&65280,D|=s[C]+s[C+o]+1<<7&65280,w|=e[++C]+e[C+o]+1<<15&16711680,D|=s[C]+s[C+o]+1<<15&16711680,w|=e[++C]+e[C+o]+1<<23&4278190080,D|=s[C]+s[C+o]+1<<23&4278190080,C++,R[n]=w,y[n]=D,n++;n+=g>>2,C+=g}else for(;n>2,C+=g}},i.decodeBlock=function(A){var i,e=0;if(this.macroblockIntra){var s,o;if(A<4?(s=this.dcPredictorY,o=this.readHuffman(t.DCT_DC_SIZE_LUMINANCE)):(s=4===A?this.dcPredictorCr:this.dcPredictorCb,o=this.readHuffman(t.DCT_DC_SIZE_CHROMINANCE)),o>0){var g=this.bits.read(o);this.blockData[0]=g&1<0&&0===this.bits.read(1))break;65535===n?(C=this.bits.read(6),0===(r=this.bits.read(8))?r=this.bits.read(8):128===r?r=this.bits.read(8)-256:r>128&&(r-=256)):(C=n>>8,r=255&n,this.bits.read(1)&&(r=-r)),e+=C;var E=t.ZIG_ZAG[e];e++,r<<=1,this.macroblockIntra||(r+=r<0?-1:1),1&(r=r*this.quantizerScale*i[E]>>4)||(r-=r>0?1:-1),r>2047?r=2047:r<-2048&&(r=-2048),this.blockData[E]=r*t.PREMULTIPLIER_MATRIX[E]}A<4?(I=this.currentY,B=this.codedWidth-8,a=this.mbRow*this.codedWidth+this.mbCol<<4,1&A&&(a+=8),2&A&&(a+=this.codedWidth<<3)):(I=4===A?this.currentCb:this.currentCr,B=(this.codedWidth>>1)-8,a=(this.mbRow*this.codedWidth<<2)+(this.mbCol<<3)),this.macroblockIntra?1===e?(t.CopyValueToDestination(this.blockData[0]+128>>8,I,a,B),this.blockData[0]=0):(t.IDCT(this.blockData),t.CopyBlockToDestination(this.blockData,I,a,B),M(this.blockData,0)):1===e?(t.AddValueToDestination(this.blockData[0]+128>>8,I,a,B),this.blockData[0]=0):(t.IDCT(this.blockData),t.AddBlockToDestination(this.blockData,I,a,B),M(this.blockData,0)),e=0},t.CopyBlockToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]=A[s+0],t[i+1]=A[s+1],t[i+2]=A[s+2],t[i+3]=A[s+3],t[i+4]=A[s+4],t[i+5]=A[s+5],t[i+6]=A[s+6],t[i+7]=A[s+7]},t.AddBlockToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]+=A[s+0],t[i+1]+=A[s+1],t[i+2]+=A[s+2],t[i+3]+=A[s+3],t[i+4]+=A[s+4],t[i+5]+=A[s+5],t[i+6]+=A[s+6],t[i+7]+=A[s+7]},t.CopyValueToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]=A,t[i+1]=A,t[i+2]=A,t[i+3]=A,t[i+4]=A,t[i+5]=A,t[i+6]=A,t[i+7]=A},t.AddValueToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]+=A,t[i+1]+=A,t[i+2]+=A,t[i+3]+=A,t[i+4]+=A,t[i+5]+=A,t[i+6]+=A,t[i+7]+=A},t.IDCT=function(A){for(var t,i,e,s,o,g,I,a,B,r,C,n,E,Q,h,d,c,l,u=0;u<8;++u)t=A[32+u],i=A[16+u]+A[48+u],e=A[40+u]-A[24+u],g=A[8+u]+A[56+u],I=A[24+u]+A[40+u],B=(E=(473*(s=A[8+u]-A[56+u])-196*e+128>>8)-(o=g+I))-(362*(g-I)+128>>8),Q=(r=(a=A[0+u])-t)+(C=(362*(A[16+u]-A[48+u])+128>>8)-i),h=(n=a+t)+i,d=r-C,c=n-i,l=-B-(473*e+196*s+128>>8),A[0+u]=o+h,A[8+u]=E+Q,A[16+u]=d-B,A[24+u]=c-l,A[32+u]=c+l,A[40+u]=B+d,A[48+u]=Q-E,A[56+u]=h-o;for(var w=0;w<64;w+=8)t=A[4+w],i=A[2+w]+A[6+w],e=A[5+w]-A[3+w],g=A[1+w]+A[7+w],I=A[3+w]+A[5+w],B=(E=(473*(s=A[1+w]-A[7+w])-196*e+128>>8)-(o=g+I))-(362*(g-I)+128>>8),Q=(r=(a=A[0+w])-t)+(C=(362*(A[2+w]-A[6+w])+128>>8)-i),h=(n=a+t)+i,d=r-C,c=n-i,l=-B-(473*e+196*s+128>>8),A[0+w]=o+h+128>>8,A[1+w]=E+Q+128>>8,A[2+w]=d-B+128>>8,A[3+w]=c-l+128>>8,A[4+w]=c+l+128>>8,A[5+w]=B+d+128>>8,A[6+w]=Q-E+128>>8,A[7+w]=h-o+128>>8},t}(v);x.prototype.frameRate=30,x.prototype.currentY=null,x.prototype.currentCr=null,x.prototype.currentCb=null,x.prototype.pictureType=0,x.prototype.forwardY=null,x.prototype.forwardCr=null,x.prototype.forwardCb=null,x.prototype.fullPelForward=!1,x.prototype.forwardFCode=0,x.prototype.forwardRSize=0,x.prototype.forwardF=0,x.prototype.quantizerScale=0,x.prototype.sliceBegin=!1,x.prototype.macroblockAddress=0,x.prototype.mbRow=0,x.prototype.mbCol=0,x.prototype.macroblockType=0,x.prototype.macroblockIntra=!1,x.prototype.macroblockMotFw=!1,x.prototype.motionFwH=0,x.prototype.motionFwV=0,x.prototype.motionFwHPrev=0,x.prototype.motionFwVPrev=0,x.prototype.dcPredictorY=0,x.prototype.dcPredictorCr=0,x.prototype.dcPredictorCb=0,x.prototype.blockData=null,x.PICTURE_RATE=[0,23.976,24,25,29.97,30,50,59.94,60,0,0,0,0,0,0,0],x.ZIG_ZAG=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),x.DEFAULT_INTRA_QUANT_MATRIX=new Uint8Array([8,16,19,22,26,27,29,34,16,16,22,24,27,29,34,37,19,22,26,27,29,34,34,38,22,22,26,27,29,34,37,40,22,26,27,29,32,35,40,48,26,27,29,32,35,40,48,58,26,27,29,34,38,46,56,69,27,29,35,38,46,56,69,83]),x.DEFAULT_NON_INTRA_QUANT_MATRIX=new Uint8Array([16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16]),x.PREMULTIPLIER_MATRIX=new Uint8Array([32,44,42,38,32,25,17,9,44,62,58,52,44,35,24,12,42,58,55,49,42,33,23,12,38,52,49,44,38,30,20,10,32,44,42,38,32,25,17,9,25,35,33,30,25,20,14,7,17,24,23,20,17,14,9,5,9,12,12,10,9,7,5,2]),x.MACROBLOCK_ADDRESS_INCREMENT=new Int16Array([3,6,0,9,12,0,0,0,1,15,18,0,21,24,0,27,30,0,33,36,0,0,0,3,0,0,2,39,42,0,45,48,0,0,0,5,0,0,4,51,54,0,57,60,0,0,0,7,0,0,6,63,66,0,69,72,0,75,78,0,81,84,0,-1,87,0,-1,90,0,93,96,0,99,102,0,105,108,0,111,114,0,0,0,9,0,0,8,117,120,0,123,126,0,129,132,0,135,138,0,0,0,15,0,0,14,0,0,13,0,0,12,0,0,11,0,0,10,141,-1,0,-1,144,0,147,150,0,153,156,0,159,162,0,165,168,0,171,174,0,177,180,0,183,-1,0,-1,186,0,189,192,0,195,198,0,201,204,0,207,210,0,213,216,0,219,222,0,0,0,21,0,0,20,0,0,19,0,0,18,0,0,17,0,0,16,0,0,35,0,0,34,0,0,33,0,0,32,0,0,31,0,0,30,0,0,29,0,0,28,0,0,27,0,0,26,0,0,25,0,0,24,0,0,23,0,0,22]),x.MACROBLOCK_TYPE_INTRA=new Int8Array([3,6,0,-1,9,0,0,0,1,0,0,17]),x.MACROBLOCK_TYPE_PREDICTIVE=new Int8Array([3,6,0,9,12,0,0,0,10,15,18,0,0,0,2,21,24,0,0,0,8,27,30,0,33,36,0,-1,39,0,0,0,18,0,0,26,0,0,1,0,0,17]),x.MACROBLOCK_TYPE_B=new Int8Array([3,6,0,9,15,0,12,18,0,24,21,0,0,0,12,27,30,0,0,0,14,39,42,0,36,33,0,0,0,4,0,0,6,54,48,0,45,51,0,0,0,8,0,0,10,-1,57,0,0,0,1,60,63,0,0,0,30,0,0,17,0,0,22,0,0,26]),x.MACROBLOCK_TYPE=[null,x.MACROBLOCK_TYPE_INTRA,x.MACROBLOCK_TYPE_PREDICTIVE,x.MACROBLOCK_TYPE_B],x.CODE_BLOCK_PATTERN=new Int16Array([6,3,0,9,18,0,12,15,0,24,33,0,36,39,0,27,21,0,30,42,0,60,57,0,54,48,0,69,51,0,81,75,0,63,84,0,45,66,0,72,78,0,0,0,60,105,120,0,132,144,0,114,108,0,126,141,0,87,93,0,117,96,0,0,0,32,135,138,0,99,123,0,129,102,0,0,0,4,90,111,0,0,0,8,0,0,16,0,0,44,150,168,0,0,0,28,0,0,52,0,0,62,183,177,0,156,180,0,0,0,1,165,162,0,0,0,61,0,0,56,171,174,0,0,0,2,0,0,40,153,186,0,0,0,48,192,189,0,147,159,0,0,0,20,0,0,12,240,249,0,0,0,63,231,225,0,195,219,0,252,198,0,0,0,24,0,0,36,0,0,3,207,261,0,243,237,0,204,213,0,210,234,0,201,228,0,216,222,0,258,255,0,264,246,0,-1,282,0,285,291,0,0,0,33,0,0,9,318,330,0,306,348,0,0,0,5,0,0,10,279,267,0,0,0,6,0,0,18,0,0,17,0,0,34,339,357,0,309,312,0,270,276,0,327,321,0,351,354,0,303,297,0,294,288,0,300,273,0,342,345,0,315,324,0,336,333,0,363,375,0,0,0,41,0,0,14,0,0,21,372,366,0,360,369,0,0,0,11,0,0,19,0,0,7,0,0,35,0,0,13,0,0,50,0,0,49,0,0,58,0,0,37,0,0,25,0,0,45,0,0,57,0,0,26,0,0,29,0,0,38,0,0,53,0,0,23,0,0,43,0,0,46,0,0,42,0,0,22,0,0,54,0,0,51,0,0,15,0,0,30,0,0,39,0,0,47,0,0,55,0,0,27,0,0,59,0,0,31]),x.MOTION=new Int16Array([3,6,0,12,9,0,0,0,0,18,15,0,24,21,0,0,0,-1,0,0,1,27,30,0,36,33,0,0,0,2,0,0,-2,42,45,0,48,39,0,60,54,0,0,0,3,0,0,-3,51,57,0,-1,69,0,81,75,0,78,63,0,72,66,0,96,84,0,87,93,0,-1,99,0,108,105,0,0,0,-4,90,102,0,0,0,4,0,0,-7,0,0,5,111,123,0,0,0,-5,0,0,7,114,120,0,126,117,0,0,0,-6,0,0,6,153,162,0,150,147,0,135,138,0,156,141,0,129,159,0,132,144,0,0,0,10,0,0,9,0,0,8,0,0,-8,171,198,0,0,0,-9,180,192,0,168,183,0,165,186,0,174,189,0,0,0,-10,177,195,0,0,0,12,0,0,16,0,0,13,0,0,14,0,0,11,0,0,15,0,0,-16,0,0,-12,0,0,-14,0,0,-15,0,0,-11,0,0,-13]),x.DCT_DC_SIZE_LUMINANCE=new Int8Array([6,3,0,18,15,0,9,12,0,0,0,1,0,0,2,27,24,0,21,30,0,0,0,0,36,33,0,0,0,4,0,0,3,39,42,0,0,0,5,0,0,6,48,45,0,51,-1,0,0,0,7,0,0,8]),x.DCT_DC_SIZE_CHROMINANCE=new Int8Array([6,3,0,12,9,0,18,15,0,24,21,0,0,0,2,0,0,1,0,0,0,30,27,0,0,0,3,36,33,0,0,0,4,42,39,0,0,0,5,48,45,0,0,0,6,51,-1,0,0,0,7,0,0,8]),x.DCT_COEFF=new Int32Array([3,6,0,12,9,0,0,0,1,21,24,0,18,15,0,39,27,0,33,30,0,42,36,0,0,0,257,60,66,0,54,63,0,48,57,0,0,0,513,51,45,0,0,0,2,0,0,3,81,75,0,87,93,0,72,78,0,96,90,0,0,0,1025,69,84,0,0,0,769,0,0,258,0,0,1793,0,0,65535,0,0,1537,111,108,0,0,0,1281,105,102,0,117,114,0,99,126,0,120,123,0,156,150,0,162,159,0,144,147,0,129,135,0,138,132,0,0,0,2049,0,0,4,0,0,514,0,0,2305,153,141,0,165,171,0,180,168,0,177,174,0,183,186,0,0,0,2561,0,0,3329,0,0,6,0,0,259,0,0,5,0,0,770,0,0,2817,0,0,3073,228,225,0,201,210,0,219,213,0,234,222,0,216,231,0,207,192,0,204,189,0,198,195,0,243,261,0,273,240,0,246,237,0,249,258,0,279,276,0,252,255,0,270,282,0,264,267,0,0,0,515,0,0,260,0,0,7,0,0,1026,0,0,1282,0,0,4097,0,0,3841,0,0,3585,315,321,0,333,342,0,312,291,0,375,357,0,288,294,0,-1,369,0,285,303,0,318,363,0,297,306,0,339,309,0,336,348,0,330,300,0,372,345,0,351,366,0,327,354,0,360,324,0,381,408,0,417,420,0,390,378,0,435,438,0,384,387,0,0,0,2050,396,402,0,465,462,0,0,0,8,411,399,0,429,432,0,453,414,0,426,423,0,0,0,10,0,0,9,0,0,11,0,0,5377,0,0,1538,0,0,771,0,0,5121,0,0,1794,0,0,4353,0,0,4609,0,0,4865,444,456,0,0,0,1027,459,450,0,0,0,261,393,405,0,0,0,516,447,441,0,516,519,0,486,474,0,510,483,0,504,498,0,471,537,0,507,501,0,522,513,0,534,531,0,468,477,0,492,495,0,549,546,0,525,528,0,0,0,263,0,0,2562,0,0,2306,0,0,5633,0,0,5889,0,0,6401,0,0,6145,0,0,1283,0,0,772,0,0,13,0,0,12,0,0,14,0,0,15,0,0,517,0,0,6657,0,0,262,540,543,0,480,489,0,588,597,0,0,0,27,609,555,0,606,603,0,0,0,19,0,0,22,591,621,0,0,0,18,573,576,0,564,570,0,0,0,20,552,582,0,0,0,21,558,579,0,0,0,23,612,594,0,0,0,25,0,0,24,600,615,0,0,0,31,0,0,30,0,0,28,0,0,29,0,0,26,0,0,17,0,0,16,567,618,0,561,585,0,654,633,0,0,0,37,645,648,0,0,0,36,630,636,0,0,0,34,639,627,0,663,666,0,657,624,0,651,642,0,669,660,0,0,0,35,0,0,267,0,0,40,0,0,268,0,0,266,0,0,32,0,0,264,0,0,265,0,0,38,0,0,269,0,0,270,0,0,33,0,0,39,0,0,7937,0,0,6913,0,0,7681,0,0,4098,0,0,7425,0,0,7169,0,0,271,0,0,274,0,0,273,0,0,272,0,0,1539,0,0,2818,0,0,3586,0,0,3330,0,0,3074,0,0,3842]),x.PICTURE_TYPE={INTRA:1,PREDICTIVE:2,B:3},x.START={SEQUENCE:179,SLICE_FIRST:1,SLICE_LAST:175,PICTURE:0,EXTENSION:181,USER_DATA:178};var Y=function(A){function t(t){var i;return(i=A.call(this,t)||this).onDecodeCallback=t.onVideoDecode,i.module=t.wasmModule,i.bufferSize=t.videoBufferSize||524288,i.bufferMode=t.streaming?J.MODE.EVICT:J.MODE.EXPAND,i.decodeFirstFrame=!1!==t.decodeFirstFrame,i.hasSequenceHeader=!1,i}p(t,A);var i=t.prototype;return i.initializeWasmDecoder=function(){this.module.instance?(this.instance=this.module.instance,this.functions=this.module.instance.exports,this.decoder=this.functions._mpeg1_decoder_create(this.bufferSize,this.bufferMode)):console.warn("JSMpeg: WASM module not compiled yet")},i.destroy=function(){this.decoder&&this.functions._mpeg1_decoder_destroy(this.decoder)},i.bufferGetIndex=function(){if(this.decoder)return this.functions._mpeg1_decoder_get_index(this.decoder)},i.bufferSetIndex=function(A){this.decoder&&this.functions._mpeg1_decoder_set_index(this.decoder,A)},i.bufferWrite=function(A){this.decoder||this.initializeWasmDecoder();for(var t=0,i=0;i>2)),g=this.instance.heapU8.subarray(e,e+(this.codedSize>>2));this.destination.render(s,o,g,!1)}this.advanceDecodedTime(1/this.frameRate);var I=F()-A;return this.onDecodeCallback&&this.onDecodeCallback(this,I),!0},t}(v),H=function(A){function t(i){var e;(e=A.call(this,i)||this).onDecodeCallback=i.onAudioDecode;var s=i.audioBufferSize||131072,o=i.streaming?J.MODE.EVICT:J.MODE.EXPAND;e.bits=new J(s,o),e.left=new Float32Array(1152),e.right=new Float32Array(1152),e.sampleRate=44100,e.D=new Float32Array(1024),e.D.set(t.SYNTHESIS_WINDOW,0),e.D.set(t.SYNTHESIS_WINDOW,512),e.V=[new Float32Array(1024),new Float32Array(1024)],e.U=new Int32Array(32),e.VPos=0,e.allocation=[new Array(32),new Array(32)],e.scaleFactorInfo=[new Uint8Array(32),new Uint8Array(32)],e.scaleFactor=[new Array(32),new Array(32)],e.sample=[new Array(32),new Array(32)];for(var g=0;g<2;g++)for(var I=0;I<32;I++)e.scaleFactor[g][I]=[0,0,0],e.sample[g][I]=[0,0,0];return e}p(t,A);var i=t.prototype;return i.decode=function(){var A=F(),t=this.bits.index>>3;if(t>=this.bits.byteLength)return!1;var i=this.decodeFrame(this.left,this.right);if(this.bits.index=t+i<<3,!i)return!1;this.destination&&this.destination.play(this.sampleRate,this.left,this.right),this.advanceDecodedTime(this.left.length/this.sampleRate);var e=F()-A;return this.onDecodeCallback&&this.onDecodeCallback(this,e),!0},i.getCurrentTime=function(){var A=this.destination?this.destination.enqueuedTime:0;return this.decodedTime-A},i.decodeFrame=function(A,i){var e=this.bits.read(11),s=this.bits.read(2),o=this.bits.read(2),g=!this.bits.read(1);if(e!==t.FRAME_SYNC||s!==t.VERSION.MPEG_1||o!==t.LAYER.II)return 0;var I=this.bits.read(4)-1;if(I>13)return 0;var a=this.bits.read(2),B=t.SAMPLE_RATE[a];if(3===a)return 0;s===t.VERSION.MPEG_2&&(a+=4,I+=14);var r=this.bits.read(1);this.bits.read(1);var C=this.bits.read(2),n=0;C===t.MODE.JOINT_STEREO?n=this.bits.read(2)+1<<2:(this.bits.skip(2),n=C===t.MODE.MONO?0:32),this.bits.skip(4),g&&this.bits.skip(16);var E=144e3*t.BIT_RATE[I]/(B=t.SAMPLE_RATE[a])+r|0,Q=0,h=0;if(s===t.VERSION.MPEG_2)Q=2,h=30;else{var d=C===t.MODE.MONO?0:1,c=t.QUANT_LUT_STEP_1[d][I];h=63&(Q=t.QUANT_LUT_STEP_2[c][a]),Q>>=6}n>h&&(n=h);for(var l=0;l>1),U=this.VPos%128>>1;U<1024;){for(var J=0;J<32;++J)this.U[J]+=this.D[L++]*this.V[N][U++];U+=96,L+=32}for(U=1120-U,L-=480;U<1024;){for(var T=0;T<32;++T)this.U[T]+=this.D[L++]*this.V[N][U++];U+=96,L+=32}for(var v=0===N?A:i,x=0;x<32;x++)v[R+x]=this.U[x]/2147418112}R+=32}}return this.sampleRate=B,E},i.readAllocation=function(A,i){var e=t.QUANT_LUT_STEP_3[i][A],s=t.QUANT_LUT_STEP4[15&e][this.bits.read(e>>4)];return s?t.QUANT_TAB[s-1]:0},i.readSamples=function(A,i,e){var s=this.allocation[A][i],o=this.scaleFactor[A][i][e],g=this.sample[A][i],I=0;if(s){if(63===o)o=0;else{var a=o/3|0;o=t.SCALEFACTOR_BASE[o%3]+(1<>1)>>a}var B=s.levels;s.group?(I=this.bits.read(s.bits),g[0]=I%B,I=I/B|0,g[1]=I%B,g[2]=I/B|0):(g[0]=this.bits.read(s.bits),g[1]=this.bits.read(s.bits),g[2]=this.bits.read(s.bits));var r=65536/(B+1)|0;I=((B=(B+1>>1)-1)-g[0])*r,g[0]=I*(o>>12)+(I*(4095&o)+2048>>12)>>12,I=(B-g[1])*r,g[1]=I*(o>>12)+(I*(4095&o)+2048>>12)>>12,I=(B-g[2])*r,g[2]=I*(o>>12)+(I*(4095&o)+2048>>12)>>12}else g[0]=g[1]=g[2]=0},t.MatrixTransform=function(A,t,i,e){var s,o,g,I,a,B,r,C,n,E,Q,h,d,c,l,u,w,p,m,D,f,y,R,k,b,G,S,F,M,q,N,L,U;s=A[0][t]+A[31][t],o=.500602998235*(A[0][t]-A[31][t]),g=A[1][t]+A[30][t],I=.505470959898*(A[1][t]-A[30][t]),a=A[2][t]+A[29][t],B=.515447309923*(A[2][t]-A[29][t]),r=A[3][t]+A[28][t],C=.53104259109*(A[3][t]-A[28][t]),n=A[4][t]+A[27][t],E=.553103896034*(A[4][t]-A[27][t]),Q=A[5][t]+A[26][t],h=.582934968206*(A[5][t]-A[26][t]),d=A[6][t]+A[25][t],c=.622504123036*(A[6][t]-A[25][t]),l=A[7][t]+A[24][t],u=.674808341455*(A[7][t]-A[24][t]),w=A[8][t]+A[23][t],p=.744536271002*(A[8][t]-A[23][t]),m=A[9][t]+A[22][t],D=.839349645416*(A[9][t]-A[22][t]),f=A[10][t]+A[21][t],y=.972568237862*(A[10][t]-A[21][t]),R=A[11][t]+A[20][t],k=1.16943993343*(A[11][t]-A[20][t]),b=A[12][t]+A[19][t],G=1.48416461631*(A[12][t]-A[19][t]),S=A[13][t]+A[18][t],F=2.05778100995*(A[13][t]-A[18][t]),M=A[14][t]+A[17][t],q=3.40760841847*(A[14][t]-A[17][t]),U=s+(N=A[15][t]+A[16][t]),N=.502419286188*(s-N),s=g+M,M=.52249861494*(g-M),g=a+S,S=.566944034816*(a-S),a=r+b,b=.64682178336*(r-b),r=n+R,R=.788154623451*(n-R),n=Q+f,f=1.06067768599*(Q-f),Q=d+m,m=1.72244709824*(d-m),d=l+w,w=5.10114861869*(l-w),l=U+d,d=.509795579104*(U-d),U=s+Q,s=.601344886935*(s-Q),Q=g+n,n=.899976223136*(g-n),g=a+r,r=2.56291544774*(a-r),a=l+g,l=.541196100146*(l-g),g=U+Q,Q=1.30656296488*(U-Q),U=a+g,a=.707106781187*(a-g),g=l+Q,g+=l=.707106781187*(l-Q),Q=d+r,d=.541196100146*(d-r),r=s+n,n=1.30656296488*(s-n),s=Q+r,r=.707106781187*(Q-r),Q=d+n,s+=Q+=d=.707106781187*(d-n),Q+=r,r+=d,n=N+w,N=.509795579104*(N-w),w=M+m,M=.601344886935*(M-m),m=S+f,f=.899976223136*(S-f),S=b+R,R=2.56291544774*(b-R),b=n+S,n=.541196100146*(n-S),S=w+m,m=1.30656296488*(w-m),w=b+S,S=.707106781187*(b-S),b=n+m,m=.707106781187*(n-m),n=N+R,N=.541196100146*(N-R),R=M+f,f=1.30656296488*(M-f),M=n+R,R=.707106781187*(n-R),n=N+f,w+=M+=n+=N=.707106781187*(N-f),M+=b+=m,b+=n+=R,n+=S,S+=R+=N,R+=m,m+=N,f=o+(L=10.1900081235*(A[15][t]-A[16][t])),o=.502419286188*(o-L),L=I+q,I=.52249861494*(I-q),q=B+F,F=.566944034816*(B-F),B=C+G,C=.64682178336*(C-G),G=E+k,E=.788154623451*(E-k),k=h+y,y=1.06067768599*(h-y),h=c+D,D=1.72244709824*(c-D),c=u+p,u=5.10114861869*(u-p),p=f+c,c=.509795579104*(f-c),f=L+h,L=.601344886935*(L-h),h=q+k,k=.899976223136*(q-k),q=B+G,G=2.56291544774*(B-G),B=p+q,p=.541196100146*(p-q),q=f+h,h=1.30656296488*(f-h),f=B+q,q=.707106781187*(B-q),B=p+h,h=.707106781187*(p-h),p=c+G,G=.541196100146*(c-G),c=L+k,k=1.30656296488*(L-k),L=p+c,c=.707106781187*(p-c),p=G+k,L+=p+=k=.707106781187*(G-k),p+=c,G=c+k,c=o+u,o=.509795579104*(o-u),u=I+D,I=.601344886935*(I-D),D=F+y,y=.899976223136*(F-y),F=C+E,E=2.56291544774*(C-E),C=c+F,c=.541196100146*(c-F),F=u+D,D=1.30656296488*(u-D),u=C+F,F=.707106781187*(C-F),C=c+D,D=.707106781187*(c-D),c=o+E,o=.541196100146*(o-E),E=I+y,y=1.30656296488*(I-y),I=c+E,E=.707106781187*(c-E),c=o+y,f+=u+=I+=c+=o=.707106781187*(o-y),u+=L,L+=I+=C+=D,I+=B+=h,B+=C+=c+=E,C+=p,p+=c+=F,c+=q,q+=F+=E+=o,F+=G,G+=E+=D,E+=h,h+=D+=o,D+=k,k+=o,i[e+48]=-U,i[e+49]=i[e+47]=-f,i[e+50]=i[e+46]=-w,i[e+51]=i[e+45]=-u,i[e+52]=i[e+44]=-s,i[e+53]=i[e+43]=-L,i[e+54]=i[e+42]=-M,i[e+55]=i[e+41]=-I,i[e+56]=i[e+40]=-g,i[e+57]=i[e+39]=-B,i[e+58]=i[e+38]=-b,i[e+59]=i[e+37]=-C,i[e+60]=i[e+36]=-Q,i[e+61]=i[e+35]=-p,i[e+62]=i[e+34]=-n,i[e+63]=i[e+33]=-c,i[e+32]=-a,i[e+0]=a,i[e+31]=-q,i[e+1]=q,i[e+30]=-S,i[e+2]=S,i[e+29]=-F,i[e+3]=F,i[e+28]=-r,i[e+4]=r,i[e+27]=-G,i[e+5]=G,i[e+26]=-R,i[e+6]=R,i[e+25]=-E,i[e+7]=E,i[e+24]=-l,i[e+8]=l,i[e+23]=-h,i[e+9]=h,i[e+22]=-m,i[e+10]=m,i[e+21]=-D,i[e+11]=D,i[e+20]=-d,i[e+12]=d,i[e+19]=-k,i[e+13]=k,i[e+18]=-N,i[e+14]=N,i[e+17]=-o,i[e+15]=o,i[e+16]=0},t}(v);H.FRAME_SYNC=2047,H.VERSION={MPEG_2_5:0,MPEG_2:2,MPEG_1:3},H.LAYER={III:1,II:2,I:3},H.MODE={STEREO:0,JOINT_STEREO:1,DUAL_CHANNEL:2,MONO:3},H.SAMPLE_RATE=new Uint16Array([44100,48e3,32e3,0,22050,24e3,16e3,0]),H.BIT_RATE=new Uint16Array([32,48,56,64,80,96,112,128,160,192,224,256,320,384,8,16,24,32,40,48,56,64,80,96,112,128,144,160]),H.SCALEFACTOR_BASE=new Uint32Array([33554432,26632170,21137968]),H.SYNTHESIS_WINDOW=new Float32Array([0,-.5,-.5,-.5,-.5,-.5,-.5,-1,-1,-1,-1,-1.5,-1.5,-2,-2,-2.5,-2.5,-3,-3.5,-3.5,-4,-4.5,-5,-5.5,-6.5,-7,-8,-8.5,-9.5,-10.5,-12,-13,-14.5,-15.5,-17.5,-19,-20.5,-22.5,-24.5,-26.5,-29,-31.5,-34,-36.5,-39.5,-42.5,-45.5,-48.5,-52,-55.5,-58.5,-62.5,-66,-69.5,-73.5,-77,-80.5,-84.5,-88,-91.5,-95,-98,-101,-104,106.5,109,111,112.5,113.5,114,114,113.5,112,110.5,107.5,104,100,94.5,88.5,81.5,73,63.5,53,41.5,28.5,14.5,-1,-18,-36,-55.5,-76.5,-98.5,-122,-147,-173.5,-200.5,-229.5,-259.5,-290.5,-322.5,-355.5,-389.5,-424,-459.5,-495.5,-532,-568.5,-605,-641.5,-678,-714,-749,-783.5,-817,-849,-879.5,-908.5,-935,-959.5,-981,-1000.5,-1016,-1028.5,-1037.5,-1042.5,-1043.5,-1040,-1031.5,1018.5,1e3,976,946.5,911,869.5,822,767.5,707,640,565.5,485,397,302.5,201,92.5,-22.5,-144,-272.5,-407,-547.5,-694,-846,-1003,-1165,-1331.5,-1502,-1675.5,-1852.5,-2031.5,-2212.5,-2394,-2576.5,-2758.5,-2939.5,-3118.5,-3294.5,-3467.5,-3635.5,-3798.5,-3955,-4104.5,-4245.5,-4377.5,-4499,-4609.5,-4708,-4792.5,-4863.5,-4919,-4958,-4979.5,-4983,-4967.5,-4931.5,-4875,-4796,-4694.5,-4569.5,-4420,-4246,-4046,-3820,-3567,3287,2979.5,2644,2280.5,1888,1467.5,1018.5,541,35,-499,-1061,-1650,-2266.5,-2909,-3577,-4270,-4987.5,-5727.5,-6490,-7274,-8077.5,-8899.5,-9739,-10594.5,-11464.5,-12347,-13241,-14144.5,-15056,-15973.5,-16895.5,-17820,-18744.5,-19668,-20588,-21503,-22410.5,-23308.5,-24195,-25068.5,-25926.5,-26767,-27589,-28389,-29166.5,-29919,-30644.5,-31342,-32009.5,-32645,-33247,-33814.5,-34346,-34839.5,-35295,-35710,-36084.5,-36417.5,-36707.5,-36954,-37156.5,-37315,-37428,-37496,37519,37496,37428,37315,37156.5,36954,36707.5,36417.5,36084.5,35710,35295,34839.5,34346,33814.5,33247,32645,32009.5,31342,30644.5,29919,29166.5,28389,27589,26767,25926.5,25068.5,24195,23308.5,22410.5,21503,20588,19668,18744.5,17820,16895.5,15973.5,15056,14144.5,13241,12347,11464.5,10594.5,9739,8899.5,8077.5,7274,6490,5727.5,4987.5,4270,3577,2909,2266.5,1650,1061,499,-35,-541,-1018.5,-1467.5,-1888,-2280.5,-2644,-2979.5,3287,3567,3820,4046,4246,4420,4569.5,4694.5,4796,4875,4931.5,4967.5,4983,4979.5,4958,4919,4863.5,4792.5,4708,4609.5,4499,4377.5,4245.5,4104.5,3955,3798.5,3635.5,3467.5,3294.5,3118.5,2939.5,2758.5,2576.5,2394,2212.5,2031.5,1852.5,1675.5,1502,1331.5,1165,1003,846,694,547.5,407,272.5,144,22.5,-92.5,-201,-302.5,-397,-485,-565.5,-640,-707,-767.5,-822,-869.5,-911,-946.5,-976,-1e3,1018.5,1031.5,1040,1043.5,1042.5,1037.5,1028.5,1016,1000.5,981,959.5,935,908.5,879.5,849,817,783.5,749,714,678,641.5,605,568.5,532,495.5,459.5,424,389.5,355.5,322.5,290.5,259.5,229.5,200.5,173.5,147,122,98.5,76.5,55.5,36,18,1,-14.5,-28.5,-41.5,-53,-63.5,-73,-81.5,-88.5,-94.5,-100,-104,-107.5,-110.5,-112,-113.5,-114,-114,-113.5,-112.5,-111,-109,106.5,104,101,98,95,91.5,88,84.5,80.5,77,73.5,69.5,66,62.5,58.5,55.5,52,48.5,45.5,42.5,39.5,36.5,34,31.5,29,26.5,24.5,22.5,20.5,19,17.5,15.5,14.5,13,12,10.5,9.5,8.5,8,7,6.5,5.5,5,4.5,4,3.5,3.5,3,2.5,2.5,2,2,1.5,1.5,1,1,1,1,.5,.5,.5,.5,.5,.5]),H.QUANT_LUT_STEP_1=[[0,0,1,1,1,2,2,2,2,2,2,2,2,2],[0,0,0,0,0,0,1,1,1,2,2,2,2,2]],H.QUANT_TAB={A:91,B:94,C:8,D:12},H.QUANT_LUT_STEP_2=[[H.QUANT_TAB.C,H.QUANT_TAB.C,H.QUANT_TAB.D],[H.QUANT_TAB.A,H.QUANT_TAB.A,H.QUANT_TAB.A],[H.QUANT_TAB.B,H.QUANT_TAB.A,H.QUANT_TAB.B]],H.QUANT_LUT_STEP_3=[[68,68,52,52,52,52,52,52,52,52,52,52],[67,67,67,66,66,66,66,66,66,66,66,49,49,49,49,49,49,49,49,49,49,49,49,32,32,32,32,32,32,32],[69,69,69,69,52,52,52,52,52,52,52,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36]],H.QUANT_LUT_STEP4=[[0,1,2,17],[0,1,2,3,4,5,6,17],[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,17],[0,1,3,5,6,7,8,9,10,11,12,13,14,15,16,17],[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,17],[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]],H.QUANT_TAB=[{levels:3,group:1,bits:5},{levels:5,group:1,bits:7},{levels:7,group:0,bits:3},{levels:9,group:1,bits:10},{levels:15,group:0,bits:4},{levels:31,group:0,bits:5},{levels:63,group:0,bits:6},{levels:127,group:0,bits:7},{levels:255,group:0,bits:8},{levels:511,group:0,bits:9},{levels:1023,group:0,bits:10},{levels:2047,group:0,bits:11},{levels:4095,group:0,bits:12},{levels:8191,group:0,bits:13},{levels:16383,group:0,bits:14},{levels:32767,group:0,bits:15},{levels:65535,group:0,bits:16}];var P=function(A){function t(t){var i;return(i=A.call(this,t)||this).onDecodeCallback=t.onAudioDecode,i.module=t.wasmModule,i.bufferSize=t.audioBufferSize||131072,i.bufferMode=t.streaming?J.MODE.EVICT:J.MODE.EXPAND,i.sampleRate=0,i}p(t,A);var i=t.prototype;return i.initializeWasmDecoder=function(){this.module.instance?(this.instance=this.module.instance,this.functions=this.module.instance.exports,this.decoder=this.functions._mp2_decoder_create(this.bufferSize,this.bufferMode)):console.warn("JSMpeg: WASM module not compiled yet")},i.destroy=function(){this.decoder&&this.functions._mp2_decoder_destroy(this.decoder)},i.bufferGetIndex=function(){if(this.decoder)return this.functions._mp2_decoder_get_index(this.decoder)},i.bufferSetIndex=function(A){this.decoder&&this.functions._mp2_decoder_set_index(this.decoder,A)},i.bufferWrite=function(A){this.decoder||this.initializeWasmDecoder();for(var t=0,i=0;i>4<<4;this.gl.viewport(0,0,i,this.height)},t.createTexture=function(A,t){var i=this.gl,e=i.createTexture();return i.bindTexture(i.TEXTURE_2D,e),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.uniform1i(i.getUniformLocation(this.program,t),A),e},t.createProgram=function(A,t){var i=this.gl,e=i.createProgram();return i.attachShader(e,this.compileShader(i.VERTEX_SHADER,A)),i.attachShader(e,this.compileShader(i.FRAGMENT_SHADER,t)),i.linkProgram(e),i.useProgram(e),e},t.compileShader=function(A,t){var i=this.gl,e=i.createShader(A);if(i.shaderSource(e,t),i.compileShader(e),!i.getShaderParameter(e,i.COMPILE_STATUS))throw new Error(i.getShaderInfoLog(e));return e},t.allowsClampedTextureData=function(){var A=this.gl,t=A.createTexture();return A.bindTexture(A.TEXTURE_2D,t),A.texImage2D(A.TEXTURE_2D,0,A.LUMINANCE,1,1,0,A.LUMINANCE,A.UNSIGNED_BYTE,new Uint8ClampedArray([0])),0===A.getError()},t.renderProgress=function(A){var t=this.gl;t.useProgram(this.loadingProgram);var i=t.getUniformLocation(this.loadingProgram,"progress");t.uniform1f(i,A),t.drawArrays(t.TRIANGLE_STRIP,0,4)},t.render=function(A,t,i,e){if(this.enabled){var s=this.gl,o=this.width+15>>4<<4,g=this.height,I=o>>1,a=g>>1;e&&this.shouldCreateUnclampedViews&&(A=new Uint8Array(A.buffer),t=new Uint8Array(t.buffer),i=new Uint8Array(i.buffer)),s.useProgram(this.program),this.updateTexture(s.TEXTURE0,this.textureY,o,g,A),this.updateTexture(s.TEXTURE1,this.textureCb,I,a,t),this.updateTexture(s.TEXTURE2,this.textureCr,I,a,i),s.drawArrays(s.TRIANGLE_STRIP,0,4)}},t.updateTexture=function(A,t,i,e,s){var o=this.gl;o.activeTexture(A),o.bindTexture(o.TEXTURE_2D,t),this.hasTextureData[A]?o.texSubImage2D(o.TEXTURE_2D,0,0,0,i,e,o.LUMINANCE,o.UNSIGNED_BYTE,s):(this.hasTextureData[A]=!0,o.texImage2D(o.TEXTURE_2D,0,o.LUMINANCE,i,e,0,o.LUMINANCE,o.UNSIGNED_BYTE,s))},t.deleteTexture=function(A,t){var i=this.gl;i.activeTexture(A),i.bindTexture(i.TEXTURE_2D,null),i.deleteTexture(t)},A.IsSupported=function(){try{if(!window.WebGLRenderingContext)return!1;var A=document.createElement("canvas");return!(!A.getContext("webgl")&&!A.getContext("experimental-webgl"))}catch(A){return!1}},A}();_.SHADER={FRAGMENT_YCRCB_TO_RGBA:["precision mediump float;","uniform sampler2D textureY;","uniform sampler2D textureCb;","uniform sampler2D textureCr;","varying vec2 texCoord;","mat4 rec601 = mat4(","1.16438, 0.00000, 1.59603, -0.87079,","1.16438, -0.39176, -0.81297, 0.52959,","1.16438, 2.01723, 0.00000, -1.08139,","0, 0, 0, 1",");","void main() {","float y = texture2D(textureY, texCoord).r;","float cb = texture2D(textureCb, texCoord).r;","float cr = texture2D(textureCr, texCoord).r;","gl_FragColor = vec4(y, cr, cb, 1.0) * rec601;","}"].join("\n"),FRAGMENT_LOADING:["precision mediump float;","uniform float progress;","varying vec2 texCoord;","void main() {","float c = ceil(progress-(1.0-texCoord.y));","gl_FragColor = vec4(c,c,c,1);","}"].join("\n"),VERTEX_IDENTITY:["attribute vec2 vertex;","varying vec2 texCoord;","void main() {","texCoord = vertex;","gl_Position = vec4((vertex * 2.0 - 1.0) * vec2(1, -1), 0.0, 1.0);","}"].join("\n")};var O=function(){function A(A){A.canvas?(this.canvas=A.canvas,this.ownsCanvasElement=!1):(this.canvas=document.createElement("canvas"),this.ownsCanvasElement=!0),this.width=this.canvas.width,this.height=this.canvas.height,this.enabled=!0,this.context=this.canvas.getContext("2d")}var t=A.prototype;return t.destroy=function(){this.ownsCanvasElement&&this.canvas.remove()},t.resize=function(A,t){this.width=0|A,this.height=0|t,this.canvas.width=this.width,this.canvas.height=this.height,this.imageData=this.context.getImageData(0,0,this.width,this.height),M(this.imageData.data,255)},t.renderProgress=function(A){var t=this.canvas.width,i=this.canvas.height,e=this.context;e.fillStyle="#222",e.fillRect(0,0,t,i),e.fillStyle="#fff",e.fillRect(0,i-i*A,t,i*A)},t.render=function(A,t,i){this.YCbCrToRGBA(A,t,i,this.imageData.data),this.context.putImageData(this.imageData,0,0)},t.YCbCrToRGBA=function(A,t,i,e){if(this.enabled)for(var s,o,g,I,a,B=this.width+15>>4<<4,r=B>>1,C=0,n=B,E=B+(B-this.width),Q=0,h=r-(this.width>>1),d=0,c=4*this.width,l=4*this.width,u=this.width>>1,w=this.height>>1,p=0;p>8)-179,I=(88*o>>8)-44+(183*s>>8)-91,a=o+(198*o>>8)-227;var D=A[C++],f=A[C++];e[d]=D+g,e[d+1]=D-I,e[d+2]=D+a,e[d+4]=f+g,e[d+5]=f-I,e[d+6]=f+a,d+=8;var y=A[n++],R=A[n++];e[c]=y+g,e[c+1]=y-I,e[c+2]=y+a,e[c+4]=R+g,e[c+5]=R-I,e[c+6]=R+a,c+=8}C+=E,n+=E,d+=l,c+=l,Q+=h}},A}(),K=function(){function A(){this.context=A.CachedContext=A.CachedContext||new(window.AudioContext||window.webkitAudioContext),this.gain=this.context.createGain(),this.destination=this.gain,this.gain.connect(this.context.destination),this.context._connections=(this.context._connections||0)+1,this.startTime=0,this.buffer=null,this.wallclockStartTime=0,this.volume=1,this.enabled=!0,this.unlocked=!A.NeedsUnlocking(),Object.defineProperty(this,"enqueuedTime",{get:this.getEnqueuedTime})}var t=A.prototype;return t.destroy=function(){this.gain.disconnect(),this.context._connections--,0===this.context._connections&&(this.context.close(),A.CachedContext=null)},t.play=function(A,t,i){if(this.enabled){if(!this.unlocked){var e=F();return this.wallclockStartTimethis.memory.buffer.byteLength){var i=this.brk-this.memory.buffer.byteLength,e=Math.ceil(i/this.pageSize);this.memory.grow(e),this.createHeapViews()}return t},t.c_abort=function(A){console.warn("JSMPeg: WASM abort",arguments)},t.c_assertFail=function(A){console.warn("JSMPeg: WASM ___assert_fail",arguments)},t.readDylinkSection=function(A){var t=new Uint8Array(A),i=0,e=function(){for(var A=0,e=1;;){var s=t[i++];if(A+=(127&s)*e,e*=128,!(128&s))return A}},s=function(A){for(var e=0;ethis.maxAudioLag&&(this.audioOut.resetEnqueuedTime(),this.audioOut.enabled=!1),A=this.audio.decode()}while(A);this.audioOut.enabled=!0}},t.updateForStaticFile=function(){var A=!1,t=0;if(this.audio&&this.audio.canPlay){for(;!A&&this.audio.decodedTime-this.audio.currentTime<.25;)A=!this.audio.decode();this.video&&this.video.currentTime0&&(e>2*s&&(this.startTime+=e),A=!this.video.decode()),t=this.demuxer.currentTime-i}this.source.resume(t),A&&this.source.completed?this.loop?this.seek(0):(this.stop(),this.options.onEnded&&this.options.onEnded(this)):A&&this.options.onStalled&&this.options.onStalled(this)},A}(),j={Player:Z,VideoElement:S,BitBuffer:J,Source:{Ajax:N,AjaxProgressive:L,WebSocket:U,Fetch:function(){function A(A,t){this.url=A,this.destination=null,this.request=null,this.streaming=!0,this.completed=!1,this.established=!1,this.progress=0,this.aborted=!1,this.onEstablishedCallback=t.onSourceEstablished,this.onCompletedCallback=t.onSourceCompleted,t.hookOnEstablished&&(this.hookOnEstablished=t.hookOnEstablished)}var t=A.prototype;return t.connect=function(A){this.destination=A},t.start=function(){var A=this,t={method:"GET",headers:new Headers,cache:"default"};self.fetch(this.url,t).then((function(t){if(t.ok&&t.status>=200&&t.status<=299)return A.progress=1,A.established=!0,A.pump(t.body.getReader())})).catch((function(A){throw A}))},t.pump=function(A){var t=this;return A.read().then((function(i){if(!i.done)return t.aborted?A.cancel():(t.destination&&t.destination.write(i.value.buffer),t.pump(A));t.completed=!0})).catch((function(A){throw A}))},t.resume=function(){},t.abort=function(){this.aborted=!0},A}()},Demuxer:{TS:T},Decoder:{Base:v,MPEG1Video:x,MPEG1VideoWASM:Y,MP2Audio:H,MP2AudioWASM:P},Renderer:{WebGL:_,Canvas2D:O},AudioOutput:{WebAudio:K},WASMModule:X,Now:F,CreateVideoElements:function(){for(var A=document.querySelectorAll(".jsmpeg"),t=0;tthis.q=A))}resume(){this.q?.(),this.Z=this.q=void 0}} -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const $=A=>!e(A)&&"function"==typeof A.then,AA=1073741823;const tA=A(class extends t{constructor(){super(...arguments),this._$Cwt=AA,this._$Cbt=[],this._$CK=new V(this),this._$CX=new z}render(...A){return A.find((A=>!$(A)))??i}update(A,t){const e=this._$Cbt;let s=e.length;this._$Cbt=t;const o=this._$CK,g=this._$CX;this.isConnected||this.disconnected();for(let A=0;Athis._$Cwt);A++){const i=t[A];if(!$(i))return this._$Cwt=A,i;A{for(;g.get();)await g.get();const t=o.deref();if(void 0!==t){const e=t._$Cbt.indexOf(i);e>-1&&eA.has(t)))&&(this._message=null)}async _createJSMPEGPlayer(A){this._jsmpegVideoPlayer=await new Promise((t=>{let i=!1;const e=new j.VideoElement(this,A,{canvas:this._jsmpegCanvasElement},{pauseWhenHidden:!1,autoplay:!1,protocols:[],audio:!1,videoBufferSize:4194304,preserveDrawingBuffer:!0,...this.cameraConfig?.jsmpeg?.options,reconnectInterval:0,onVideoDecode:()=>{!i&&this._jsmpegCanvasElement&&(i=!0,t(e))},onPlay:()=>g(this),onPause:()=>I(this)})})),this._jsmpegCanvasElement&&a(this,this._jsmpegCanvasElement,{player:this,capabilities:{supportsPause:!0},technology:["jsmpeg"]})}_resetPlayer(){if(this._message=null,this._refreshPlayerTimer.stop(),this._jsmpegVideoPlayer){try{this._jsmpegVideoPlayer.destroy()}catch(A){}this._jsmpegVideoPlayer=void 0}this._jsmpegCanvasElement&&(this._jsmpegCanvasElement.remove(),this._jsmpegCanvasElement=void 0)}connectedCallback(){super.connectedCallback(),this.isConnected&&this.requestUpdate()}disconnectedCallback(){this.isConnected||this._resetPlayer(),super.disconnectedCallback()}async _refreshPlayer(){if(!this.hass)return;this._resetPlayer(),this._jsmpegCanvasElement=document.createElement("canvas"),this._jsmpegCanvasElement.className="media";const A=this.cameraEndpoints?.jsmpeg;if(!A)return this._message={message:B("error.live_camera_no_endpoint"),type:"error",context:this.cameraConfig},void l(this);const t=await u(this.hass,A,86400);if(!t)return this._message={type:"error",message:B("error.failed_sign"),context:this.cameraConfig},void l(this);await this._createJSMPEGPlayer(t),this._refreshPlayerTimer.start(82800,(()=>this.requestUpdate()))}render(){if(this._message)return r(this._message);return C`${tA((async()=>{if(await this._refreshPlayer(),this._jsmpegVideoPlayer&&this._jsmpegCanvasElement)return C`${this._jsmpegCanvasElement}`;this._message||(this._message={message:B("error.jsmpeg_no_player"),type:"error",context:this.cameraConfig},l(this))})(),n({cardWideConfig:this.cardWideConfig}))}`}static get styles(){return E(":host {\n width: 100%;\n height: 100%;\n display: flex;\n}\n\ncanvas {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n object-view-box: inset(var(--frigate-card-media-layout-view-box-top, 0%) var(--frigate-card-media-layout-view-box-right, 0%) var(--frigate-card-media-layout-view-box-bottom, 0%) var(--frigate-card-media-layout-view-box-left, 0%));\n}")}};Q([h({attribute:!1})],iA.prototype,"cameraConfig",void 0),Q([h({attribute:!1})],iA.prototype,"cameraEndpoints",void 0),Q([h({attribute:!1})],iA.prototype,"cardWideConfig",void 0),Q([d()],iA.prototype,"_message",void 0),iA=Q([c("frigate-card-live-jsmpeg")],iA);export{iA as FrigateCardLiveJSMPEG}; diff --git a/config/www/community/frigate-hass-card/jsmpeg-1cb0aa9d.js.gz b/config/www/community/frigate-hass-card/jsmpeg-1cb0aa9d.js.gz deleted file mode 100644 index 5cf5f725d72ba499f20f1eccc7a81db78c936016..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42959 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 b?53!!LEQ>e6`Jwe=YRWOz0^hf`1%0=S_iVz diff --git a/config/www/community/frigate-hass-card/jsmpeg-45778f1d.js b/config/www/community/frigate-hass-card/jsmpeg-45778f1d.js deleted file mode 100644 index fa1a1a43..00000000 --- a/config/www/community/frigate-hass-card/jsmpeg-45778f1d.js +++ /dev/null @@ -1,12 +0,0 @@ -import{cL as A,eN as t,dC as i,eO as e,a as s,dD as o,dy as g,dz as I,dw as a,cQ as B,l as r,x as C,dl as n,r as E,_ as Q,n as h,t as d}from"./card-7cd05290.js";import{g as c}from"./endpoint-760ea36f.js";function l(){return l=Object.assign?Object.assign.bind():function(A){for(var t=1;t"string"==typeof A&&A.constructor===String,D=function(A){var t,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t=A,"Promise"===Object.prototype.toString.call(t).slice(8,-1)?A:new Promise((t=>{A(),setTimeout(t,i)}))};var m="WJ3NAvwFY9",f="tR2-0dd-e1",y="ZgIIHVSSYI",R="kAA8SjbHe2",k="OueN4AU4CJ";!function(A,t){void 0===t&&(t={});var i=t.insertAt;if(A&&"undefined"!=typeof document){var e=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.type="text/css","top"===i&&e.firstChild?e.insertBefore(s,e.firstChild):e.appendChild(s),s.styleSheet?s.styleSheet.cssText=A:s.appendChild(document.createTextNode(A))}}(".WJ3NAvwFY9,.ZgIIHVSSYI,.kAA8SjbHe2,.tR2-0dd-e1{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.ZgIIHVSSYI{-ms-flex-pack:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;justify-content:center}.WJ3NAvwFY9,.tR2-0dd-e1{display:block}.tR2-0dd-e1.OueN4AU4CJ{display:none}.ZgIIHVSSYI,.kAA8SjbHe2{-webkit-tap-highlight-color:rgba(255,0,0,0);cursor:pointer;opacity:.7}.OueN4AU4CJ.ZgIIHVSSYI,.OueN4AU4CJ.kAA8SjbHe2{display:none}.ZgIIHVSSYI{z-index:10}.ZgIIHVSSYI>svg{fill:#fff;height:12vw;max-height:60px;max-width:60px;width:12vw}.kAA8SjbHe2{-ms-flex-pack:end;-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:flex-end;justify-content:flex-end;z-index:10}.kAA8SjbHe2>svg{fill:#fff;height:9vw;margin:0 15px 15px 0;max-height:40px;max-width:40px;width:9vw}");var b=function(){function A(A,t,i,e){var s=void 0===i?{}:i,o=s.canvas,g=void 0===o?"":o,I=s.poster,a=void 0===I?"":I,B=s.autoplay,r=void 0!==B&&B,C=s.autoSetWrapperSize,n=void 0!==C&&C,E=s.loop,Q=void 0!==E&&E,h=s.control,d=void 0===h||h,c=s.decodeFirstFrame,u=void 0===c||c,w=s.picMode,D=void 0!==w&&w,m=s.progressive,f=void 0===m||m,y=s.chunkSize,R=void 0===y?1048576:y,k=s.hooks,b=void 0===k?{}:k;void 0===e&&(e={}),this.options=l({videoUrl:t,canvas:g,poster:a,picMode:D,autoplay:r,autoSetWrapperSize:n,loop:Q,control:d,decodeFirstFrame:u,progressive:f,chunkSize:R,hooks:l({play:function(){},pause:function(){},stop:function(){},load:function(){}},b)},e),this.options.needPlayButton=this.options.control&&!this.options.picMode,this.player=null,this.els={wrapper:p(A)?document.querySelector(A):A,canvas:null,playButton:document.createElement("div"),unmuteButton:null,poster:null},"static"===window.getComputedStyle(this.els.wrapper).getPropertyValue("position")&&(this.els.wrapper.style.position="relative"),this.els.wrapper.clientRect=this.els.wrapper.getBoundingClientRect(),this.initCanvas(),this.initPlayButton(),this.initPlayer()}var t=A.prototype;return t.initCanvas=function(){this.options.canvas?this.els.canvas=p(this.options.canvas)?document.querySelector(this.options.canvas):this.options.canvas:(this.els.canvas=document.createElement("canvas"),this.els.canvas.classList.add(m),this.els.wrapper.appendChild(this.els.canvas))},t.initPlayer=function(){var A=this;this.options=l(this.options,{canvas:this.els.canvas});var t=l({},this.options,{autoplay:!1});if(this.player=new X(this.options.videoUrl,t,{play:function(){A.options.needPlayButton&&A.els.playButton.classList.add(k),A.els.poster&&A.els.poster.classList.add(k),A.options.hooks.play()},pause:function(){A.options.needPlayButton&&A.els.playButton.classList.remove(k),A.options.hooks.pause()},stop:function(){A.els.poster&&A.els.poster.classList.remove(k),A.options.hooks.stop()},load:function(){A.options.autoplay&&A.play(),A._autoSetWrapperSize(),A.options.hooks.load()}}),this._copyPlayerFuncs(),this.els.wrapper.playerInstance=this.player,!this.options.poster||this.options.autoplay||this.player.options.streaming||(this.options.decodeFirstFrame=!1,this.els.poster=new Image,this.els.poster.src=this.options.poster,this.els.poster.classList.add(f),this.els.wrapper.appendChild(this.els.poster)),this.player.options.streaming||this.els.wrapper.addEventListener("click",this.onClick.bind(this)),(this.options.autoplay||this.player.options.streaming)&&this.els.playButton.classList.add(k),this.player.audioOut&&!this.player.audioOut.unlocked){var i=this.els.wrapper;(this.options.autoplay||this.player.options.streaming)&&(this.els.unmuteButton=document.createElement("div"),this.els.unmuteButton.innerHTML='\n\n \n\n',this.els.unmuteButton.classList.add(R),this.els.wrapper.appendChild(this.els.unmuteButton),i=this.els.unmuteButton),this.unlockAudioBound=this.onUnlockAudio.bind(this,i),i.addEventListener("touchstart",this.unlockAudioBound,!1),i.addEventListener("click",this.unlockAudioBound,!0)}},t.initPlayButton=function(){this.options.needPlayButton&&(this.els.playButton.classList.add(y),this.els.playButton.innerHTML='\n\n \n\n',this.els.wrapper.appendChild(this.els.playButton))},t._autoSetWrapperSize=function(){var A=this;if(!this.options.autoSetWrapperSize)return Promise.resolve();var t=this.player.video.destination;return t?Promise.resolve().then((function(){return D((function(){A.els.wrapper.style.width=t.width+"px",A.els.wrapper.style.height=t.height+"px"}))})):Promise.resolve()},t.onUnlockAudio=function(A,t){var i=this;this.els.unmuteButton&&(t.preventDefault(),t.stopPropagation()),this.player.audioOut.unlock((function(){i.els.unmuteButton&&i.els.unmuteButton.classList.add(k),A.removeEventListener("touchstart",i.unlockAudioBound),A.removeEventListener("click",i.unlockAudioBound)}))},t.onClick=function(){this.options.control&&(this.player.isPlaying?this.pause():this.play())},t._copyPlayerFuncs=function(){var A=this;this.play=function(){return A.player.play()},this.pause=function(){return A.player.pause()},this.stop=function(){return A.player.stop()},this.destroy=function(){A.player.destroy(),A.els.wrapper.innerHTML="",A.els.wrapper.playerInstance=null}},A}(),S=function(){return window.performance?window.performance.now()/1e3:Date.now()/1e3},G=function(A,t){if(A.fill)A.fill(t);else for(var i=0;iA&&this.loadNextChunk())},t.destroy=function(){this.request.abort(),this.aborted=!0},t.loadNextChunk=function(){var A=this,t=this.loadedSize,i=Math.min(this.loadedSize+this.chunkSize-1,this.fileSize-1);if(t>=this.fileSize||this.aborted)return this.completed=!0,void(this.onCompletedCallback&&this.onCompletedCallback(this));this.isLoading=!0,this.loadStartTime=S(),this.request=new XMLHttpRequest,this.request.onreadystatechange=function(){A.request.readyState===A.request.DONE&&A.request.status>=200&&A.request.status<300?A.onChunkLoad(A.request.response):A.request.readyState===A.request.DONE&&A.loadFails++<3&&A.loadNextChunk()},0===t&&(this.request.onprogress=this.onProgress.bind(this)),this.request.open("GET",this.url+"?"+t+"-"+i),this.request.setRequestHeader("Range","bytes="+t+"-"+i),this.request.responseType="arraybuffer",this.request.send()},t.onProgress=function(A){this.progress=A.loaded/A.total},t.onChunkLoad=function(A){var t=!this.established;this.established=!0,this.progress=1,this.loadedSize+=A.byteLength,this.loadFails=0,this.isLoading=!1,t&&this.hookOnEstablished&&this.hookOnEstablished(),t&&this.onEstablishedCallback&&this.onEstablishedCallback(this),this.destination&&this.destination.write(A),this.loadTime=S()-this.loadStartTime,this.throttled||this.loadNextChunk()},A}(),N=function(){function A(A,t){this.url=A,this.options=t,this.socket=null,this.streaming=!0,this.callbacks={connect:[],data:[]},this.destination=null,this.reconnectInterval=void 0!==t.reconnectInterval?t.reconnectInterval:5,this.shouldAttemptReconnect=!!this.reconnectInterval,this.completed=!1,this.established=!1,this.progress=0,this.reconnectTimeoutId=0,this.onEstablishedCallback=t.onSourceEstablished,this.onCompletedCallback=t.onSourceCompleted,t.hookOnEstablished&&(this.hookOnEstablished=t.hookOnEstablished)}var t=A.prototype;return t.connect=function(A){this.destination=A},t.destroy=function(){clearTimeout(this.reconnectTimeoutId),this.shouldAttemptReconnect=!1,this.socket.close()},t.start=function(){this.shouldAttemptReconnect=!!this.reconnectInterval,this.progress=0,this.established=!1,this.options.protocols?this.socket=new WebSocket(this.url,this.options.protocols):this.socket=new WebSocket(this.url),this.socket.binaryType="arraybuffer",this.socket.onmessage=this.onMessage.bind(this),this.socket.onopen=this.onOpen.bind(this),this.socket.onerror=this.onClose.bind(this),this.socket.onclose=this.onClose.bind(this)},t.resume=function(){},t.onOpen=function(){this.progress=1},t.onClose=function(){var A=this;this.shouldAttemptReconnect&&(clearTimeout(this.reconnectTimeoutId),this.reconnectTimeoutId=setTimeout((function(){A.start()}),1e3*this.reconnectInterval))},t.onMessage=function(A){var t=!this.established;this.established=!0,t&&this.hookOnEstablished&&this.hookOnEstablished(),t&&this.onEstablishedCallback&&this.onEstablishedCallback(this),this.destination&&this.destination.write(A.data)},A}(),L=function(){function A(t,i){"object"==typeof t?(this.bytes=t instanceof Uint8Array?t:new Uint8Array(t),this.byteLength=this.bytes.length):(this.bytes=new Uint8Array(t||1048576),this.byteLength=0),this.mode=i||A.MODE.EXPAND,this.index=0}var t=A.prototype;return t.resize=function(A){var t=new Uint8Array(A);0!==this.byteLength&&(this.byteLength=Math.min(this.byteLength,A),t.set(this.bytes,0,this.byteLength)),this.bytes=t,this.index=Math.min(this.index,this.byteLength<<3)},t.evict=function(A){var t=this.index>>3,i=this.bytes.length-this.byteLength;if(this.index===this.byteLength<<3||A>i+t)return this.byteLength=0,void(this.index=0);0!==t&&(this.bytes.copyWithin?this.bytes.copyWithin(0,t,this.byteLength):this.bytes.set(this.bytes.subarray(t,this.byteLength)),this.byteLength-=t,this.index-=t<<3)},t.write=function(t){var i="object"==typeof t[0],e=0,s=this.bytes.length-this.byteLength;if(i){e=0;for(var o=0;os)if(this.mode===A.MODE.EXPAND){var g=Math.max(2*this.bytes.length,e-s);this.resize(g)}else this.evict(e);if(i)for(var I=0;I>3;A>3;return A>=this.byteLength||0===this.bytes[A]&&0===this.bytes[A+1]&&1===this.bytes[A+2]},t.peek=function(A){for(var t=this.index,i=0;A;){var e=8-(7&t),s=e>3]&255>>8-s<>o,t+=s,A-=s}return i},t.read=function(A){var t=this.peek(A);return this.index+=A,t},t.skip=function(A){return this.index+=A},t.rewind=function(A){this.index=Math.max(this.index-A,0)},t.has=function(A){return(this.byteLength<<3)-this.index>=A},A}();L.MODE={EVICT:1,EXPAND:2};var U=function(){function A(){this.bits=null,this.leftoverBytes=null,this.guessVideoFrameEnd=!0,this.pidsToStreamIds={},this.pesPacketInfo={},this.startTime=0,this.currentTime=0}var t=A.prototype;return t.connect=function(A,t){this.pesPacketInfo[A]={destination:t,currentLength:0,totalLength:0,pts:0,buffers:[]}},t.write=function(A){if(this.leftoverBytes){var t=A.byteLength+this.leftoverBytes.byteLength;this.bits=new L(t),this.bits.write([this.leftoverBytes,A])}else this.bits=new L(A);for(;this.bits.has(1504)&&this.parsePacket(););var i=this.bits.byteLength-(this.bits.index>>3);this.leftoverBytes=i>0?this.bits.bytes.subarray(this.bits.index>>3):null},t.parsePacket=function(){if(71!==this.bits.read(8)&&!this.resync())return!1;var A=187+(this.bits.index>>3);this.bits.read(1);var t=this.bits.read(1);this.bits.read(1);var i=this.bits.read(13);this.bits.read(2);var e=this.bits.read(2);this.bits.read(4);var s=this.pidsToStreamIds[i];if(t&&s){var o=this.pesPacketInfo[s];o&&o.currentLength&&this.packetComplete(o)}if(1&e){if(2&e){var g=this.bits.read(8);this.bits.skip(g<<3)}if(t&&this.bits.nextBytesAreStartCode()){this.bits.skip(24),s=this.bits.read(8),this.pidsToStreamIds[i]=s;var I=this.bits.read(16);this.bits.skip(8);var a=this.bits.read(2);this.bits.skip(6);var B=this.bits.read(8),r=this.bits.index+(B<<3),C=this.pesPacketInfo[s];if(C){var n=0;if(2&a){this.bits.skip(4);var E=this.bits.read(3);this.bits.skip(1);var Q=this.bits.read(15);this.bits.skip(1);var h=this.bits.read(15);this.bits.skip(1),n=(1073741824*E+32768*Q+h)/9e4,this.currentTime=n,-1===this.startTime&&(this.startTime=n)}var d=I?I-B-3:0;this.packetStart(C,n,d)}this.bits.index=r}if(s){var c=this.pesPacketInfo[s];if(c){var l=this.bits.index>>3,u=!t&&2&e;(this.packetAddData(c,l,A)||this.guessVideoFrameEnd&&u)&&this.packetComplete(c)}}}return this.bits.index=A<<3,!0},t.resync=function(){if(!this.bits.has(9024))return!1;for(var A=this.bits.index>>3,t=0;t<187;t++)if(71===this.bits.bytes[A+t]){for(var i=!0,e=1;e<5;e++)if(71!==this.bits.bytes[A+t+188*e]){i=!1;break}if(i)return this.bits.index=A+t+1<<3,!0}return console.warn("JSMpeg: Possible garbage data. Skipping."),this.bits.skip(1496),!1},t.packetStart=function(A,t,i){A.totalLength=i,A.currentLength=0,A.pts=t},t.packetAddData=function(A,t,i){return A.buffers.push(this.bits.bytes.subarray(t,i)),A.currentLength+=i-t,0!==A.totalLength&&A.currentLength>=A.totalLength},t.packetComplete=function(A){A.destination.write(A.pts,A.buffers),A.totalLength=0,A.currentLength=0,A.buffers=[]},A}();U.STREAM={PACK_HEADER:186,SYSTEM_HEADER:187,PROGRAM_MAP:188,PRIVATE_1:189,PADDING:190,PRIVATE_2:191,AUDIO_1:192,VIDEO_1:224,DIRECTORY:255};var J=function(){function A(A){this.destination=null,this.canPlay=!1,this.collectTimestamps=!A.streaming,this.bytesWritten=0,this.timestamps=[],this.timestampIndex=0,this.startTime=0,this.decodedTime=0,Object.defineProperty(this,"currentTime",{get:this.getCurrentTime})}var t=A.prototype;return t.destroy=function(){},t.connect=function(A){this.destination=A},t.bufferGetIndex=function(){return this.bits.index},t.bufferSetIndex=function(A){this.bits.index=A},t.bufferWrite=function(A){return this.bits.write(A)},t.write=function(A,t){this.collectTimestamps&&(0===this.timestamps.length&&(this.startTime=A,this.decodedTime=A),this.timestamps.push({index:this.bytesWritten<<3,time:A})),this.bytesWritten+=this.bufferWrite(t),this.canPlay=!0},t.seek=function(A){if(this.collectTimestamps){this.timestampIndex=0;for(var t=0;tA);t++)this.timestampIndex=t;var i=this.timestamps[this.timestampIndex];i?(this.bufferSetIndex(i.index),this.decodedTime=i.time):(this.bits.index=0,this.decodedTime=this.startTime)}},t.decode=function(){this.advanceDecodedTime(0)},t.advanceDecodedTime=function(A){if(this.collectTimestamps){for(var t=-1,i=this.bufferGetIndex(),e=this.timestampIndex;ei);e++)t=e;if(-1!==t&&t!==this.timestampIndex)return this.timestampIndex=t,void(this.decodedTime=this.timestamps[this.timestampIndex].time)}this.decodedTime+=A},t.getCurrentTime=function(){return this.decodedTime},A}(),T=function(A){function t(t){var i;(i=A.call(this,t)||this).onDecodeCallback=t.onVideoDecode;var e=t.videoBufferSize||524288,s=t.streaming?L.MODE.EVICT:L.MODE.EXPAND;return i.bits=new L(e,s),i.customIntraQuantMatrix=new Uint8Array(64),i.customNonIntraQuantMatrix=new Uint8Array(64),i.blockData=new Int32Array(64),i.currentFrame=0,i.decodeFirstFrame=!1!==t.decodeFirstFrame,i}u(t,A);var i=t.prototype;return i.write=function(A,i){if(J.prototype.write.call(this,A,i),!this.hasSequenceHeader){if(-1===this.bits.findStartCode(t.START.SEQUENCE))return!1;this.decodeSequenceHeader(),this.decodeFirstFrame&&this.decode()}},i.decode=function(){var A=S();if(!this.hasSequenceHeader)return!1;if(-1===this.bits.findStartCode(t.START.PICTURE))return!1;this.decodePicture(),this.advanceDecodedTime(1/this.frameRate);var i=S()-A;return this.onDecodeCallback&&this.onDecodeCallback(this,i),!0},i.readHuffman=function(A){var t=0;do{t=A[t+this.bits.read(1)]}while(t>=0&&0!==A[t]);return A[t+2]},i.decodeSequenceHeader=function(){var A=this.bits.read(12),i=this.bits.read(12);if(this.bits.skip(4),this.frameRate=t.PICTURE_RATE[this.bits.read(4)],this.bits.skip(30),A===this.width&&i===this.height||(this.width=A,this.height=i,this.initBuffers(),this.destination&&this.destination.resize(A,i)),this.bits.read(1)){for(var e=0;e<64;e++)this.customIntraQuantMatrix[t.ZIG_ZAG[e]]=this.bits.read(8);this.intraQuantMatrix=this.customIntraQuantMatrix}if(this.bits.read(1)){for(var s=0;s<64;s++){var o=t.ZIG_ZAG[s];this.customNonIntraQuantMatrix[o]=this.bits.read(8)}this.nonIntraQuantMatrix=this.customNonIntraQuantMatrix}this.hasSequenceHeader=!0},i.initBuffers=function(){this.intraQuantMatrix=t.DEFAULT_INTRA_QUANT_MATRIX,this.nonIntraQuantMatrix=t.DEFAULT_NON_INTRA_QUANT_MATRIX,this.mbWidth=this.width+15>>4,this.mbHeight=this.height+15>>4,this.mbSize=this.mbWidth*this.mbHeight,this.codedWidth=this.mbWidth<<4,this.codedHeight=this.mbHeight<<4,this.codedSize=this.codedWidth*this.codedHeight,this.halfWidth=this.mbWidth<<3,this.halfHeight=this.mbHeight<<3,this.currentY=new Uint8ClampedArray(this.codedSize),this.currentY32=new Uint32Array(this.currentY.buffer),this.currentCr=new Uint8ClampedArray(this.codedSize>>2),this.currentCr32=new Uint32Array(this.currentCr.buffer),this.currentCb=new Uint8ClampedArray(this.codedSize>>2),this.currentCb32=new Uint32Array(this.currentCb.buffer),this.forwardY=new Uint8ClampedArray(this.codedSize),this.forwardY32=new Uint32Array(this.forwardY.buffer),this.forwardCr=new Uint8ClampedArray(this.codedSize>>2),this.forwardCr32=new Uint32Array(this.forwardCr.buffer),this.forwardCb=new Uint8ClampedArray(this.codedSize>>2),this.forwardCb32=new Uint32Array(this.forwardCb.buffer)},i.decodePicture=function(){if(this.currentFrame++,this.bits.skip(10),this.pictureType=this.bits.read(3),this.bits.skip(16),!(this.pictureType<=0||this.pictureType>=t.PICTURE_TYPE.B)){if(this.pictureType===t.PICTURE_TYPE.PREDICTIVE){if(this.fullPelForward=this.bits.read(1),this.forwardFCode=this.bits.read(3),0===this.forwardFCode)return;this.forwardRSize=this.forwardFCode-1,this.forwardF=1<=t.START.SLICE_FIRST&&A<=t.START.SLICE_LAST;)this.decodeSlice(255&A),A=this.bits.findNextStartCode();if(-1!==A&&this.bits.rewind(32),this.destination&&this.destination.render(this.currentY,this.currentCr,this.currentCb,!0),this.pictureType===t.PICTURE_TYPE.INTRA||this.pictureType===t.PICTURE_TYPE.PREDICTIVE){var i=this.forwardY,e=this.forwardY32,s=this.forwardCr,o=this.forwardCr32,g=this.forwardCb,I=this.forwardCb32;this.forwardY=this.currentY,this.forwardY32=this.currentY32,this.forwardCr=this.currentCr,this.forwardCr32=this.currentCr32,this.forwardCb=this.currentCb,this.forwardCb32=this.currentCb32,this.currentY=i,this.currentY32=e,this.currentCr=s,this.currentCr32=o,this.currentCb=g,this.currentCb32=I}}},i.decodeSlice=function(A){for(this.sliceBegin=!0,this.macroblockAddress=(A-1)*this.mbWidth-1,this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0,this.dcPredictorY=128,this.dcPredictorCr=128,this.dcPredictorCb=128,this.quantizerScale=this.bits.read(5);this.bits.read(1);)this.bits.skip(8);do{this.decodeMacroblock()}while(!this.bits.nextBytesAreStartCode())},i.decodeMacroblock=function(){for(var A=0,i=this.readHuffman(t.MACROBLOCK_ADDRESS_INCREMENT);34===i;)i=this.readHuffman(t.MACROBLOCK_ADDRESS_INCREMENT);for(;35===i;)A+=33,i=this.readHuffman(t.MACROBLOCK_ADDRESS_INCREMENT);if(A+=i,this.sliceBegin)this.sliceBegin=!1,this.macroblockAddress+=A;else{if(this.macroblockAddress+A>=this.mbSize)return;for(A>1&&(this.dcPredictorY=128,this.dcPredictorCr=128,this.dcPredictorCb=128,this.pictureType===t.PICTURE_TYPE.PREDICTIVE&&(this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0));A>1;)this.macroblockAddress++,this.mbRow=this.macroblockAddress/this.mbWidth|0,this.mbCol=this.macroblockAddress%this.mbWidth,this.copyMacroblock(this.motionFwH,this.motionFwV,this.forwardY,this.forwardCr,this.forwardCb),A--;this.macroblockAddress++}this.mbRow=this.macroblockAddress/this.mbWidth|0,this.mbCol=this.macroblockAddress%this.mbWidth;var e=t.MACROBLOCK_TYPE[this.pictureType];this.macroblockType=this.readHuffman(e),this.macroblockIntra=1&this.macroblockType,this.macroblockMotFw=8&this.macroblockType,16&this.macroblockType&&(this.quantizerScale=this.bits.read(5)),this.macroblockIntra?(this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0):(this.dcPredictorY=128,this.dcPredictorCr=128,this.dcPredictorCb=128,this.decodeMotionVectors(),this.copyMacroblock(this.motionFwH,this.motionFwV,this.forwardY,this.forwardCr,this.forwardCb));for(var s=2&this.macroblockType?this.readHuffman(t.CODE_BLOCK_PATTERN):this.macroblockIntra?63:0,o=0,g=32;o<6;o++)s&g&&this.decodeBlock(o),g>>=1},i.decodeMotionVectors=function(){var A,i,e=0;this.macroblockMotFw?(0!==(A=this.readHuffman(t.MOTION))&&1!==this.forwardF?(e=this.bits.read(this.forwardRSize),i=(Math.abs(A)-1<(this.forwardF<<4)-1?this.motionFwHPrev-=this.forwardF<<5:this.motionFwHPrev<-this.forwardF<<4&&(this.motionFwHPrev+=this.forwardF<<5),this.motionFwH=this.motionFwHPrev,this.fullPelForward&&(this.motionFwH<<=1),0!==(A=this.readHuffman(t.MOTION))&&1!==this.forwardF?(e=this.bits.read(this.forwardRSize),i=(Math.abs(A)-1<(this.forwardF<<4)-1?this.motionFwVPrev-=this.forwardF<<5:this.motionFwVPrev<-this.forwardF<<4&&(this.motionFwVPrev+=this.forwardF<<5),this.motionFwV=this.motionFwVPrev,this.fullPelForward&&(this.motionFwV<<=1)):this.pictureType===t.PICTURE_TYPE.PREDICTIVE&&(this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0)},i.copyMacroblock=function(A,t,i,e,s){var o,g,I,a,B,r,C,n,E,Q,h,d,c,l,u,w,p,D,m,f=this.currentY32,y=this.currentCb32,R=this.currentCr32;if(g=(o=this.codedWidth)-16,I=A>>1,a=t>>1,B=!(1&~A),r=!(1&~t),C=((this.mbRow<<4)+a)*o+(this.mbCol<<4)+I,E=(n=this.mbRow*o+this.mbCol<<2)+(o<<2),B)if(r)for(;n>2&255,c|=(h=i[++C]+i[C+o])+d+2<<6&65280,c|=h+(d=i[++C]+i[C+o])+2<<14&16711680,h=i[++C]+i[C+o],C++,c|=h+d+2<<22&4278190080,f[n++]=c;n+=g>>2,C+=g-1}else for(;n>1&255,c|=(h=i[C++])+d+1<<7&65280,c|=h+(d=i[C++])+1<<15&16711680,c|=(h=i[C++])+d+1<<23&4278190080,f[n++]=c;n+=g>>2,C+=g-1}else if(r)for(;n>1&255,c|=i[++C]+i[C+o]+1<<7&65280,c|=i[++C]+i[C+o]+1<<15&16711680,c|=i[++C]+i[C+o]+1<<23&4278190080,C++,f[n++]=c;n+=g>>2,C+=g}else for(;n>2,C+=g}if(g=(o=this.halfWidth)-8,I=A/2>>1,a=t/2>>1,B=1==(A/2&1),r=1==(t/2&1),C=((this.mbRow<<3)+a)*o+(this.mbCol<<3)+I,E=(n=this.mbRow*o+this.mbCol<<1)+(o<<1),B)if(r)for(;n>2&255,m=p+(D=s[C]+s[C+o])+2>>2&255,w|=(l=e[++C]+e[C+o])+u+2<<6&65280,m|=(p=s[C]+s[C+o])+D+2<<6&65280,w|=l+(u=e[++C]+e[C+o])+2<<14&16711680,m|=p+(D=s[C]+s[C+o])+2<<14&16711680,l=e[++C]+e[C+o],p=s[C]+s[C+o],C++,w|=l+u+2<<22&4278190080,m|=p+D+2<<22&4278190080,R[n]=w,y[n]=m,n++;n+=g>>2,C+=g-1}else for(;n>1&255,m=p+(D=s[C++])+1>>1&255,w|=(l=e[C])+u+1<<7&65280,m|=(p=s[C++])+D+1<<7&65280,w|=l+(u=e[C])+1<<15&16711680,m|=p+(D=s[C++])+1<<15&16711680,w|=(l=e[C])+u+1<<23&4278190080,m|=(p=s[C++])+D+1<<23&4278190080,R[n]=w,y[n]=m,n++;n+=g>>2,C+=g-1}else if(r)for(;n>1&255,m=s[C]+s[C+o]+1>>1&255,w|=e[++C]+e[C+o]+1<<7&65280,m|=s[C]+s[C+o]+1<<7&65280,w|=e[++C]+e[C+o]+1<<15&16711680,m|=s[C]+s[C+o]+1<<15&16711680,w|=e[++C]+e[C+o]+1<<23&4278190080,m|=s[C]+s[C+o]+1<<23&4278190080,C++,R[n]=w,y[n]=m,n++;n+=g>>2,C+=g}else for(;n>2,C+=g}},i.decodeBlock=function(A){var i,e=0;if(this.macroblockIntra){var s,o;if(A<4?(s=this.dcPredictorY,o=this.readHuffman(t.DCT_DC_SIZE_LUMINANCE)):(s=4===A?this.dcPredictorCr:this.dcPredictorCb,o=this.readHuffman(t.DCT_DC_SIZE_CHROMINANCE)),o>0){var g=this.bits.read(o);this.blockData[0]=g&1<0&&0===this.bits.read(1))break;65535===n?(C=this.bits.read(6),0===(r=this.bits.read(8))?r=this.bits.read(8):128===r?r=this.bits.read(8)-256:r>128&&(r-=256)):(C=n>>8,r=255&n,this.bits.read(1)&&(r=-r)),e+=C;var E=t.ZIG_ZAG[e];e++,r<<=1,this.macroblockIntra||(r+=r<0?-1:1),1&(r=r*this.quantizerScale*i[E]>>4)||(r-=r>0?1:-1),r>2047?r=2047:r<-2048&&(r=-2048),this.blockData[E]=r*t.PREMULTIPLIER_MATRIX[E]}A<4?(I=this.currentY,B=this.codedWidth-8,a=this.mbRow*this.codedWidth+this.mbCol<<4,1&A&&(a+=8),2&A&&(a+=this.codedWidth<<3)):(I=4===A?this.currentCb:this.currentCr,B=(this.codedWidth>>1)-8,a=(this.mbRow*this.codedWidth<<2)+(this.mbCol<<3)),this.macroblockIntra?1===e?(t.CopyValueToDestination(this.blockData[0]+128>>8,I,a,B),this.blockData[0]=0):(t.IDCT(this.blockData),t.CopyBlockToDestination(this.blockData,I,a,B),G(this.blockData,0)):1===e?(t.AddValueToDestination(this.blockData[0]+128>>8,I,a,B),this.blockData[0]=0):(t.IDCT(this.blockData),t.AddBlockToDestination(this.blockData,I,a,B),G(this.blockData,0)),e=0},t.CopyBlockToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]=A[s+0],t[i+1]=A[s+1],t[i+2]=A[s+2],t[i+3]=A[s+3],t[i+4]=A[s+4],t[i+5]=A[s+5],t[i+6]=A[s+6],t[i+7]=A[s+7]},t.AddBlockToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]+=A[s+0],t[i+1]+=A[s+1],t[i+2]+=A[s+2],t[i+3]+=A[s+3],t[i+4]+=A[s+4],t[i+5]+=A[s+5],t[i+6]+=A[s+6],t[i+7]+=A[s+7]},t.CopyValueToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]=A,t[i+1]=A,t[i+2]=A,t[i+3]=A,t[i+4]=A,t[i+5]=A,t[i+6]=A,t[i+7]=A},t.AddValueToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]+=A,t[i+1]+=A,t[i+2]+=A,t[i+3]+=A,t[i+4]+=A,t[i+5]+=A,t[i+6]+=A,t[i+7]+=A},t.IDCT=function(A){for(var t,i,e,s,o,g,I,a,B,r,C,n,E,Q,h,d,c,l,u=0;u<8;++u)t=A[32+u],i=A[16+u]+A[48+u],e=A[40+u]-A[24+u],g=A[8+u]+A[56+u],I=A[24+u]+A[40+u],B=(E=(473*(s=A[8+u]-A[56+u])-196*e+128>>8)-(o=g+I))-(362*(g-I)+128>>8),Q=(r=(a=A[0+u])-t)+(C=(362*(A[16+u]-A[48+u])+128>>8)-i),h=(n=a+t)+i,d=r-C,c=n-i,l=-B-(473*e+196*s+128>>8),A[0+u]=o+h,A[8+u]=E+Q,A[16+u]=d-B,A[24+u]=c-l,A[32+u]=c+l,A[40+u]=B+d,A[48+u]=Q-E,A[56+u]=h-o;for(var w=0;w<64;w+=8)t=A[4+w],i=A[2+w]+A[6+w],e=A[5+w]-A[3+w],g=A[1+w]+A[7+w],I=A[3+w]+A[5+w],B=(E=(473*(s=A[1+w]-A[7+w])-196*e+128>>8)-(o=g+I))-(362*(g-I)+128>>8),Q=(r=(a=A[0+w])-t)+(C=(362*(A[2+w]-A[6+w])+128>>8)-i),h=(n=a+t)+i,d=r-C,c=n-i,l=-B-(473*e+196*s+128>>8),A[0+w]=o+h+128>>8,A[1+w]=E+Q+128>>8,A[2+w]=d-B+128>>8,A[3+w]=c-l+128>>8,A[4+w]=c+l+128>>8,A[5+w]=B+d+128>>8,A[6+w]=Q-E+128>>8,A[7+w]=h-o+128>>8},t}(J);T.prototype.frameRate=30,T.prototype.currentY=null,T.prototype.currentCr=null,T.prototype.currentCb=null,T.prototype.pictureType=0,T.prototype.forwardY=null,T.prototype.forwardCr=null,T.prototype.forwardCb=null,T.prototype.fullPelForward=!1,T.prototype.forwardFCode=0,T.prototype.forwardRSize=0,T.prototype.forwardF=0,T.prototype.quantizerScale=0,T.prototype.sliceBegin=!1,T.prototype.macroblockAddress=0,T.prototype.mbRow=0,T.prototype.mbCol=0,T.prototype.macroblockType=0,T.prototype.macroblockIntra=!1,T.prototype.macroblockMotFw=!1,T.prototype.motionFwH=0,T.prototype.motionFwV=0,T.prototype.motionFwHPrev=0,T.prototype.motionFwVPrev=0,T.prototype.dcPredictorY=0,T.prototype.dcPredictorCr=0,T.prototype.dcPredictorCb=0,T.prototype.blockData=null,T.PICTURE_RATE=[0,23.976,24,25,29.97,30,50,59.94,60,0,0,0,0,0,0,0],T.ZIG_ZAG=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),T.DEFAULT_INTRA_QUANT_MATRIX=new Uint8Array([8,16,19,22,26,27,29,34,16,16,22,24,27,29,34,37,19,22,26,27,29,34,34,38,22,22,26,27,29,34,37,40,22,26,27,29,32,35,40,48,26,27,29,32,35,40,48,58,26,27,29,34,38,46,56,69,27,29,35,38,46,56,69,83]),T.DEFAULT_NON_INTRA_QUANT_MATRIX=new Uint8Array([16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16]),T.PREMULTIPLIER_MATRIX=new Uint8Array([32,44,42,38,32,25,17,9,44,62,58,52,44,35,24,12,42,58,55,49,42,33,23,12,38,52,49,44,38,30,20,10,32,44,42,38,32,25,17,9,25,35,33,30,25,20,14,7,17,24,23,20,17,14,9,5,9,12,12,10,9,7,5,2]),T.MACROBLOCK_ADDRESS_INCREMENT=new Int16Array([3,6,0,9,12,0,0,0,1,15,18,0,21,24,0,27,30,0,33,36,0,0,0,3,0,0,2,39,42,0,45,48,0,0,0,5,0,0,4,51,54,0,57,60,0,0,0,7,0,0,6,63,66,0,69,72,0,75,78,0,81,84,0,-1,87,0,-1,90,0,93,96,0,99,102,0,105,108,0,111,114,0,0,0,9,0,0,8,117,120,0,123,126,0,129,132,0,135,138,0,0,0,15,0,0,14,0,0,13,0,0,12,0,0,11,0,0,10,141,-1,0,-1,144,0,147,150,0,153,156,0,159,162,0,165,168,0,171,174,0,177,180,0,183,-1,0,-1,186,0,189,192,0,195,198,0,201,204,0,207,210,0,213,216,0,219,222,0,0,0,21,0,0,20,0,0,19,0,0,18,0,0,17,0,0,16,0,0,35,0,0,34,0,0,33,0,0,32,0,0,31,0,0,30,0,0,29,0,0,28,0,0,27,0,0,26,0,0,25,0,0,24,0,0,23,0,0,22]),T.MACROBLOCK_TYPE_INTRA=new Int8Array([3,6,0,-1,9,0,0,0,1,0,0,17]),T.MACROBLOCK_TYPE_PREDICTIVE=new Int8Array([3,6,0,9,12,0,0,0,10,15,18,0,0,0,2,21,24,0,0,0,8,27,30,0,33,36,0,-1,39,0,0,0,18,0,0,26,0,0,1,0,0,17]),T.MACROBLOCK_TYPE_B=new Int8Array([3,6,0,9,15,0,12,18,0,24,21,0,0,0,12,27,30,0,0,0,14,39,42,0,36,33,0,0,0,4,0,0,6,54,48,0,45,51,0,0,0,8,0,0,10,-1,57,0,0,0,1,60,63,0,0,0,30,0,0,17,0,0,22,0,0,26]),T.MACROBLOCK_TYPE=[null,T.MACROBLOCK_TYPE_INTRA,T.MACROBLOCK_TYPE_PREDICTIVE,T.MACROBLOCK_TYPE_B],T.CODE_BLOCK_PATTERN=new Int16Array([6,3,0,9,18,0,12,15,0,24,33,0,36,39,0,27,21,0,30,42,0,60,57,0,54,48,0,69,51,0,81,75,0,63,84,0,45,66,0,72,78,0,0,0,60,105,120,0,132,144,0,114,108,0,126,141,0,87,93,0,117,96,0,0,0,32,135,138,0,99,123,0,129,102,0,0,0,4,90,111,0,0,0,8,0,0,16,0,0,44,150,168,0,0,0,28,0,0,52,0,0,62,183,177,0,156,180,0,0,0,1,165,162,0,0,0,61,0,0,56,171,174,0,0,0,2,0,0,40,153,186,0,0,0,48,192,189,0,147,159,0,0,0,20,0,0,12,240,249,0,0,0,63,231,225,0,195,219,0,252,198,0,0,0,24,0,0,36,0,0,3,207,261,0,243,237,0,204,213,0,210,234,0,201,228,0,216,222,0,258,255,0,264,246,0,-1,282,0,285,291,0,0,0,33,0,0,9,318,330,0,306,348,0,0,0,5,0,0,10,279,267,0,0,0,6,0,0,18,0,0,17,0,0,34,339,357,0,309,312,0,270,276,0,327,321,0,351,354,0,303,297,0,294,288,0,300,273,0,342,345,0,315,324,0,336,333,0,363,375,0,0,0,41,0,0,14,0,0,21,372,366,0,360,369,0,0,0,11,0,0,19,0,0,7,0,0,35,0,0,13,0,0,50,0,0,49,0,0,58,0,0,37,0,0,25,0,0,45,0,0,57,0,0,26,0,0,29,0,0,38,0,0,53,0,0,23,0,0,43,0,0,46,0,0,42,0,0,22,0,0,54,0,0,51,0,0,15,0,0,30,0,0,39,0,0,47,0,0,55,0,0,27,0,0,59,0,0,31]),T.MOTION=new Int16Array([3,6,0,12,9,0,0,0,0,18,15,0,24,21,0,0,0,-1,0,0,1,27,30,0,36,33,0,0,0,2,0,0,-2,42,45,0,48,39,0,60,54,0,0,0,3,0,0,-3,51,57,0,-1,69,0,81,75,0,78,63,0,72,66,0,96,84,0,87,93,0,-1,99,0,108,105,0,0,0,-4,90,102,0,0,0,4,0,0,-7,0,0,5,111,123,0,0,0,-5,0,0,7,114,120,0,126,117,0,0,0,-6,0,0,6,153,162,0,150,147,0,135,138,0,156,141,0,129,159,0,132,144,0,0,0,10,0,0,9,0,0,8,0,0,-8,171,198,0,0,0,-9,180,192,0,168,183,0,165,186,0,174,189,0,0,0,-10,177,195,0,0,0,12,0,0,16,0,0,13,0,0,14,0,0,11,0,0,15,0,0,-16,0,0,-12,0,0,-14,0,0,-15,0,0,-11,0,0,-13]),T.DCT_DC_SIZE_LUMINANCE=new Int8Array([6,3,0,18,15,0,9,12,0,0,0,1,0,0,2,27,24,0,21,30,0,0,0,0,36,33,0,0,0,4,0,0,3,39,42,0,0,0,5,0,0,6,48,45,0,51,-1,0,0,0,7,0,0,8]),T.DCT_DC_SIZE_CHROMINANCE=new Int8Array([6,3,0,12,9,0,18,15,0,24,21,0,0,0,2,0,0,1,0,0,0,30,27,0,0,0,3,36,33,0,0,0,4,42,39,0,0,0,5,48,45,0,0,0,6,51,-1,0,0,0,7,0,0,8]),T.DCT_COEFF=new Int32Array([3,6,0,12,9,0,0,0,1,21,24,0,18,15,0,39,27,0,33,30,0,42,36,0,0,0,257,60,66,0,54,63,0,48,57,0,0,0,513,51,45,0,0,0,2,0,0,3,81,75,0,87,93,0,72,78,0,96,90,0,0,0,1025,69,84,0,0,0,769,0,0,258,0,0,1793,0,0,65535,0,0,1537,111,108,0,0,0,1281,105,102,0,117,114,0,99,126,0,120,123,0,156,150,0,162,159,0,144,147,0,129,135,0,138,132,0,0,0,2049,0,0,4,0,0,514,0,0,2305,153,141,0,165,171,0,180,168,0,177,174,0,183,186,0,0,0,2561,0,0,3329,0,0,6,0,0,259,0,0,5,0,0,770,0,0,2817,0,0,3073,228,225,0,201,210,0,219,213,0,234,222,0,216,231,0,207,192,0,204,189,0,198,195,0,243,261,0,273,240,0,246,237,0,249,258,0,279,276,0,252,255,0,270,282,0,264,267,0,0,0,515,0,0,260,0,0,7,0,0,1026,0,0,1282,0,0,4097,0,0,3841,0,0,3585,315,321,0,333,342,0,312,291,0,375,357,0,288,294,0,-1,369,0,285,303,0,318,363,0,297,306,0,339,309,0,336,348,0,330,300,0,372,345,0,351,366,0,327,354,0,360,324,0,381,408,0,417,420,0,390,378,0,435,438,0,384,387,0,0,0,2050,396,402,0,465,462,0,0,0,8,411,399,0,429,432,0,453,414,0,426,423,0,0,0,10,0,0,9,0,0,11,0,0,5377,0,0,1538,0,0,771,0,0,5121,0,0,1794,0,0,4353,0,0,4609,0,0,4865,444,456,0,0,0,1027,459,450,0,0,0,261,393,405,0,0,0,516,447,441,0,516,519,0,486,474,0,510,483,0,504,498,0,471,537,0,507,501,0,522,513,0,534,531,0,468,477,0,492,495,0,549,546,0,525,528,0,0,0,263,0,0,2562,0,0,2306,0,0,5633,0,0,5889,0,0,6401,0,0,6145,0,0,1283,0,0,772,0,0,13,0,0,12,0,0,14,0,0,15,0,0,517,0,0,6657,0,0,262,540,543,0,480,489,0,588,597,0,0,0,27,609,555,0,606,603,0,0,0,19,0,0,22,591,621,0,0,0,18,573,576,0,564,570,0,0,0,20,552,582,0,0,0,21,558,579,0,0,0,23,612,594,0,0,0,25,0,0,24,600,615,0,0,0,31,0,0,30,0,0,28,0,0,29,0,0,26,0,0,17,0,0,16,567,618,0,561,585,0,654,633,0,0,0,37,645,648,0,0,0,36,630,636,0,0,0,34,639,627,0,663,666,0,657,624,0,651,642,0,669,660,0,0,0,35,0,0,267,0,0,40,0,0,268,0,0,266,0,0,32,0,0,264,0,0,265,0,0,38,0,0,269,0,0,270,0,0,33,0,0,39,0,0,7937,0,0,6913,0,0,7681,0,0,4098,0,0,7425,0,0,7169,0,0,271,0,0,274,0,0,273,0,0,272,0,0,1539,0,0,2818,0,0,3586,0,0,3330,0,0,3074,0,0,3842]),T.PICTURE_TYPE={INTRA:1,PREDICTIVE:2,B:3},T.START={SEQUENCE:179,SLICE_FIRST:1,SLICE_LAST:175,PICTURE:0,EXTENSION:181,USER_DATA:178};var v=function(A){function t(t){var i;return(i=A.call(this,t)||this).onDecodeCallback=t.onVideoDecode,i.module=t.wasmModule,i.bufferSize=t.videoBufferSize||524288,i.bufferMode=t.streaming?L.MODE.EVICT:L.MODE.EXPAND,i.decodeFirstFrame=!1!==t.decodeFirstFrame,i.hasSequenceHeader=!1,i}u(t,A);var i=t.prototype;return i.initializeWasmDecoder=function(){this.module.instance?(this.instance=this.module.instance,this.functions=this.module.instance.exports,this.decoder=this.functions._mpeg1_decoder_create(this.bufferSize,this.bufferMode)):console.warn("JSMpeg: WASM module not compiled yet")},i.destroy=function(){this.decoder&&this.functions._mpeg1_decoder_destroy(this.decoder)},i.bufferGetIndex=function(){if(this.decoder)return this.functions._mpeg1_decoder_get_index(this.decoder)},i.bufferSetIndex=function(A){this.decoder&&this.functions._mpeg1_decoder_set_index(this.decoder,A)},i.bufferWrite=function(A){this.decoder||this.initializeWasmDecoder();for(var t=0,i=0;i>2)),g=this.instance.heapU8.subarray(e,e+(this.codedSize>>2));this.destination.render(s,o,g,!1)}this.advanceDecodedTime(1/this.frameRate);var I=S()-A;return this.onDecodeCallback&&this.onDecodeCallback(this,I),!0},t}(J),x=function(A){function t(i){var e;(e=A.call(this,i)||this).onDecodeCallback=i.onAudioDecode;var s=i.audioBufferSize||131072,o=i.streaming?L.MODE.EVICT:L.MODE.EXPAND;e.bits=new L(s,o),e.left=new Float32Array(1152),e.right=new Float32Array(1152),e.sampleRate=44100,e.D=new Float32Array(1024),e.D.set(t.SYNTHESIS_WINDOW,0),e.D.set(t.SYNTHESIS_WINDOW,512),e.V=[new Float32Array(1024),new Float32Array(1024)],e.U=new Int32Array(32),e.VPos=0,e.allocation=[new Array(32),new Array(32)],e.scaleFactorInfo=[new Uint8Array(32),new Uint8Array(32)],e.scaleFactor=[new Array(32),new Array(32)],e.sample=[new Array(32),new Array(32)];for(var g=0;g<2;g++)for(var I=0;I<32;I++)e.scaleFactor[g][I]=[0,0,0],e.sample[g][I]=[0,0,0];return e}u(t,A);var i=t.prototype;return i.decode=function(){var A=S(),t=this.bits.index>>3;if(t>=this.bits.byteLength)return!1;var i=this.decodeFrame(this.left,this.right);if(this.bits.index=t+i<<3,!i)return!1;this.destination&&this.destination.play(this.sampleRate,this.left,this.right),this.advanceDecodedTime(this.left.length/this.sampleRate);var e=S()-A;return this.onDecodeCallback&&this.onDecodeCallback(this,e),!0},i.getCurrentTime=function(){var A=this.destination?this.destination.enqueuedTime:0;return this.decodedTime-A},i.decodeFrame=function(A,i){var e=this.bits.read(11),s=this.bits.read(2),o=this.bits.read(2),g=!this.bits.read(1);if(e!==t.FRAME_SYNC||s!==t.VERSION.MPEG_1||o!==t.LAYER.II)return 0;var I=this.bits.read(4)-1;if(I>13)return 0;var a=this.bits.read(2),B=t.SAMPLE_RATE[a];if(3===a)return 0;s===t.VERSION.MPEG_2&&(a+=4,I+=14);var r=this.bits.read(1);this.bits.read(1);var C=this.bits.read(2),n=0;C===t.MODE.JOINT_STEREO?n=this.bits.read(2)+1<<2:(this.bits.skip(2),n=C===t.MODE.MONO?0:32),this.bits.skip(4),g&&this.bits.skip(16);var E=144e3*t.BIT_RATE[I]/(B=t.SAMPLE_RATE[a])+r|0,Q=0,h=0;if(s===t.VERSION.MPEG_2)Q=2,h=30;else{var d=C===t.MODE.MONO?0:1,c=t.QUANT_LUT_STEP_1[d][I];h=63&(Q=t.QUANT_LUT_STEP_2[c][a]),Q>>=6}n>h&&(n=h);for(var l=0;l>1),U=this.VPos%128>>1;U<1024;){for(var J=0;J<32;++J)this.U[J]+=this.D[L++]*this.V[N][U++];U+=96,L+=32}for(U=1120-U,L-=480;U<1024;){for(var T=0;T<32;++T)this.U[T]+=this.D[L++]*this.V[N][U++];U+=96,L+=32}for(var v=0===N?A:i,x=0;x<32;x++)v[R+x]=this.U[x]/2147418112}R+=32}}return this.sampleRate=B,E},i.readAllocation=function(A,i){var e=t.QUANT_LUT_STEP_3[i][A],s=t.QUANT_LUT_STEP4[15&e][this.bits.read(e>>4)];return s?t.QUANT_TAB[s-1]:0},i.readSamples=function(A,i,e){var s=this.allocation[A][i],o=this.scaleFactor[A][i][e],g=this.sample[A][i],I=0;if(s){if(63===o)o=0;else{var a=o/3|0;o=t.SCALEFACTOR_BASE[o%3]+(1<>1)>>a}var B=s.levels;s.group?(I=this.bits.read(s.bits),g[0]=I%B,I=I/B|0,g[1]=I%B,g[2]=I/B|0):(g[0]=this.bits.read(s.bits),g[1]=this.bits.read(s.bits),g[2]=this.bits.read(s.bits));var r=65536/(B+1)|0;I=((B=(B+1>>1)-1)-g[0])*r,g[0]=I*(o>>12)+(I*(4095&o)+2048>>12)>>12,I=(B-g[1])*r,g[1]=I*(o>>12)+(I*(4095&o)+2048>>12)>>12,I=(B-g[2])*r,g[2]=I*(o>>12)+(I*(4095&o)+2048>>12)>>12}else g[0]=g[1]=g[2]=0},t.MatrixTransform=function(A,t,i,e){var s,o,g,I,a,B,r,C,n,E,Q,h,d,c,l,u,w,p,D,m,f,y,R,k,b,S,G,F,M,q,N,L,U;s=A[0][t]+A[31][t],o=.500602998235*(A[0][t]-A[31][t]),g=A[1][t]+A[30][t],I=.505470959898*(A[1][t]-A[30][t]),a=A[2][t]+A[29][t],B=.515447309923*(A[2][t]-A[29][t]),r=A[3][t]+A[28][t],C=.53104259109*(A[3][t]-A[28][t]),n=A[4][t]+A[27][t],E=.553103896034*(A[4][t]-A[27][t]),Q=A[5][t]+A[26][t],h=.582934968206*(A[5][t]-A[26][t]),d=A[6][t]+A[25][t],c=.622504123036*(A[6][t]-A[25][t]),l=A[7][t]+A[24][t],u=.674808341455*(A[7][t]-A[24][t]),w=A[8][t]+A[23][t],p=.744536271002*(A[8][t]-A[23][t]),D=A[9][t]+A[22][t],m=.839349645416*(A[9][t]-A[22][t]),f=A[10][t]+A[21][t],y=.972568237862*(A[10][t]-A[21][t]),R=A[11][t]+A[20][t],k=1.16943993343*(A[11][t]-A[20][t]),b=A[12][t]+A[19][t],S=1.48416461631*(A[12][t]-A[19][t]),G=A[13][t]+A[18][t],F=2.05778100995*(A[13][t]-A[18][t]),M=A[14][t]+A[17][t],q=3.40760841847*(A[14][t]-A[17][t]),U=s+(N=A[15][t]+A[16][t]),N=.502419286188*(s-N),s=g+M,M=.52249861494*(g-M),g=a+G,G=.566944034816*(a-G),a=r+b,b=.64682178336*(r-b),r=n+R,R=.788154623451*(n-R),n=Q+f,f=1.06067768599*(Q-f),Q=d+D,D=1.72244709824*(d-D),d=l+w,w=5.10114861869*(l-w),l=U+d,d=.509795579104*(U-d),U=s+Q,s=.601344886935*(s-Q),Q=g+n,n=.899976223136*(g-n),g=a+r,r=2.56291544774*(a-r),a=l+g,l=.541196100146*(l-g),g=U+Q,Q=1.30656296488*(U-Q),U=a+g,a=.707106781187*(a-g),g=l+Q,g+=l=.707106781187*(l-Q),Q=d+r,d=.541196100146*(d-r),r=s+n,n=1.30656296488*(s-n),s=Q+r,r=.707106781187*(Q-r),Q=d+n,s+=Q+=d=.707106781187*(d-n),Q+=r,r+=d,n=N+w,N=.509795579104*(N-w),w=M+D,M=.601344886935*(M-D),D=G+f,f=.899976223136*(G-f),G=b+R,R=2.56291544774*(b-R),b=n+G,n=.541196100146*(n-G),G=w+D,D=1.30656296488*(w-D),w=b+G,G=.707106781187*(b-G),b=n+D,D=.707106781187*(n-D),n=N+R,N=.541196100146*(N-R),R=M+f,f=1.30656296488*(M-f),M=n+R,R=.707106781187*(n-R),n=N+f,w+=M+=n+=N=.707106781187*(N-f),M+=b+=D,b+=n+=R,n+=G,G+=R+=N,R+=D,D+=N,f=o+(L=10.1900081235*(A[15][t]-A[16][t])),o=.502419286188*(o-L),L=I+q,I=.52249861494*(I-q),q=B+F,F=.566944034816*(B-F),B=C+S,C=.64682178336*(C-S),S=E+k,E=.788154623451*(E-k),k=h+y,y=1.06067768599*(h-y),h=c+m,m=1.72244709824*(c-m),c=u+p,u=5.10114861869*(u-p),p=f+c,c=.509795579104*(f-c),f=L+h,L=.601344886935*(L-h),h=q+k,k=.899976223136*(q-k),q=B+S,S=2.56291544774*(B-S),B=p+q,p=.541196100146*(p-q),q=f+h,h=1.30656296488*(f-h),f=B+q,q=.707106781187*(B-q),B=p+h,h=.707106781187*(p-h),p=c+S,S=.541196100146*(c-S),c=L+k,k=1.30656296488*(L-k),L=p+c,c=.707106781187*(p-c),p=S+k,L+=p+=k=.707106781187*(S-k),p+=c,S=c+k,c=o+u,o=.509795579104*(o-u),u=I+m,I=.601344886935*(I-m),m=F+y,y=.899976223136*(F-y),F=C+E,E=2.56291544774*(C-E),C=c+F,c=.541196100146*(c-F),F=u+m,m=1.30656296488*(u-m),u=C+F,F=.707106781187*(C-F),C=c+m,m=.707106781187*(c-m),c=o+E,o=.541196100146*(o-E),E=I+y,y=1.30656296488*(I-y),I=c+E,E=.707106781187*(c-E),c=o+y,f+=u+=I+=c+=o=.707106781187*(o-y),u+=L,L+=I+=C+=m,I+=B+=h,B+=C+=c+=E,C+=p,p+=c+=F,c+=q,q+=F+=E+=o,F+=S,S+=E+=m,E+=h,h+=m+=o,m+=k,k+=o,i[e+48]=-U,i[e+49]=i[e+47]=-f,i[e+50]=i[e+46]=-w,i[e+51]=i[e+45]=-u,i[e+52]=i[e+44]=-s,i[e+53]=i[e+43]=-L,i[e+54]=i[e+42]=-M,i[e+55]=i[e+41]=-I,i[e+56]=i[e+40]=-g,i[e+57]=i[e+39]=-B,i[e+58]=i[e+38]=-b,i[e+59]=i[e+37]=-C,i[e+60]=i[e+36]=-Q,i[e+61]=i[e+35]=-p,i[e+62]=i[e+34]=-n,i[e+63]=i[e+33]=-c,i[e+32]=-a,i[e+0]=a,i[e+31]=-q,i[e+1]=q,i[e+30]=-G,i[e+2]=G,i[e+29]=-F,i[e+3]=F,i[e+28]=-r,i[e+4]=r,i[e+27]=-S,i[e+5]=S,i[e+26]=-R,i[e+6]=R,i[e+25]=-E,i[e+7]=E,i[e+24]=-l,i[e+8]=l,i[e+23]=-h,i[e+9]=h,i[e+22]=-D,i[e+10]=D,i[e+21]=-m,i[e+11]=m,i[e+20]=-d,i[e+12]=d,i[e+19]=-k,i[e+13]=k,i[e+18]=-N,i[e+14]=N,i[e+17]=-o,i[e+15]=o,i[e+16]=0},t}(J);x.FRAME_SYNC=2047,x.VERSION={MPEG_2_5:0,MPEG_2:2,MPEG_1:3},x.LAYER={III:1,II:2,I:3},x.MODE={STEREO:0,JOINT_STEREO:1,DUAL_CHANNEL:2,MONO:3},x.SAMPLE_RATE=new Uint16Array([44100,48e3,32e3,0,22050,24e3,16e3,0]),x.BIT_RATE=new Uint16Array([32,48,56,64,80,96,112,128,160,192,224,256,320,384,8,16,24,32,40,48,56,64,80,96,112,128,144,160]),x.SCALEFACTOR_BASE=new Uint32Array([33554432,26632170,21137968]),x.SYNTHESIS_WINDOW=new Float32Array([0,-.5,-.5,-.5,-.5,-.5,-.5,-1,-1,-1,-1,-1.5,-1.5,-2,-2,-2.5,-2.5,-3,-3.5,-3.5,-4,-4.5,-5,-5.5,-6.5,-7,-8,-8.5,-9.5,-10.5,-12,-13,-14.5,-15.5,-17.5,-19,-20.5,-22.5,-24.5,-26.5,-29,-31.5,-34,-36.5,-39.5,-42.5,-45.5,-48.5,-52,-55.5,-58.5,-62.5,-66,-69.5,-73.5,-77,-80.5,-84.5,-88,-91.5,-95,-98,-101,-104,106.5,109,111,112.5,113.5,114,114,113.5,112,110.5,107.5,104,100,94.5,88.5,81.5,73,63.5,53,41.5,28.5,14.5,-1,-18,-36,-55.5,-76.5,-98.5,-122,-147,-173.5,-200.5,-229.5,-259.5,-290.5,-322.5,-355.5,-389.5,-424,-459.5,-495.5,-532,-568.5,-605,-641.5,-678,-714,-749,-783.5,-817,-849,-879.5,-908.5,-935,-959.5,-981,-1000.5,-1016,-1028.5,-1037.5,-1042.5,-1043.5,-1040,-1031.5,1018.5,1e3,976,946.5,911,869.5,822,767.5,707,640,565.5,485,397,302.5,201,92.5,-22.5,-144,-272.5,-407,-547.5,-694,-846,-1003,-1165,-1331.5,-1502,-1675.5,-1852.5,-2031.5,-2212.5,-2394,-2576.5,-2758.5,-2939.5,-3118.5,-3294.5,-3467.5,-3635.5,-3798.5,-3955,-4104.5,-4245.5,-4377.5,-4499,-4609.5,-4708,-4792.5,-4863.5,-4919,-4958,-4979.5,-4983,-4967.5,-4931.5,-4875,-4796,-4694.5,-4569.5,-4420,-4246,-4046,-3820,-3567,3287,2979.5,2644,2280.5,1888,1467.5,1018.5,541,35,-499,-1061,-1650,-2266.5,-2909,-3577,-4270,-4987.5,-5727.5,-6490,-7274,-8077.5,-8899.5,-9739,-10594.5,-11464.5,-12347,-13241,-14144.5,-15056,-15973.5,-16895.5,-17820,-18744.5,-19668,-20588,-21503,-22410.5,-23308.5,-24195,-25068.5,-25926.5,-26767,-27589,-28389,-29166.5,-29919,-30644.5,-31342,-32009.5,-32645,-33247,-33814.5,-34346,-34839.5,-35295,-35710,-36084.5,-36417.5,-36707.5,-36954,-37156.5,-37315,-37428,-37496,37519,37496,37428,37315,37156.5,36954,36707.5,36417.5,36084.5,35710,35295,34839.5,34346,33814.5,33247,32645,32009.5,31342,30644.5,29919,29166.5,28389,27589,26767,25926.5,25068.5,24195,23308.5,22410.5,21503,20588,19668,18744.5,17820,16895.5,15973.5,15056,14144.5,13241,12347,11464.5,10594.5,9739,8899.5,8077.5,7274,6490,5727.5,4987.5,4270,3577,2909,2266.5,1650,1061,499,-35,-541,-1018.5,-1467.5,-1888,-2280.5,-2644,-2979.5,3287,3567,3820,4046,4246,4420,4569.5,4694.5,4796,4875,4931.5,4967.5,4983,4979.5,4958,4919,4863.5,4792.5,4708,4609.5,4499,4377.5,4245.5,4104.5,3955,3798.5,3635.5,3467.5,3294.5,3118.5,2939.5,2758.5,2576.5,2394,2212.5,2031.5,1852.5,1675.5,1502,1331.5,1165,1003,846,694,547.5,407,272.5,144,22.5,-92.5,-201,-302.5,-397,-485,-565.5,-640,-707,-767.5,-822,-869.5,-911,-946.5,-976,-1e3,1018.5,1031.5,1040,1043.5,1042.5,1037.5,1028.5,1016,1000.5,981,959.5,935,908.5,879.5,849,817,783.5,749,714,678,641.5,605,568.5,532,495.5,459.5,424,389.5,355.5,322.5,290.5,259.5,229.5,200.5,173.5,147,122,98.5,76.5,55.5,36,18,1,-14.5,-28.5,-41.5,-53,-63.5,-73,-81.5,-88.5,-94.5,-100,-104,-107.5,-110.5,-112,-113.5,-114,-114,-113.5,-112.5,-111,-109,106.5,104,101,98,95,91.5,88,84.5,80.5,77,73.5,69.5,66,62.5,58.5,55.5,52,48.5,45.5,42.5,39.5,36.5,34,31.5,29,26.5,24.5,22.5,20.5,19,17.5,15.5,14.5,13,12,10.5,9.5,8.5,8,7,6.5,5.5,5,4.5,4,3.5,3.5,3,2.5,2.5,2,2,1.5,1.5,1,1,1,1,.5,.5,.5,.5,.5,.5]),x.QUANT_LUT_STEP_1=[[0,0,1,1,1,2,2,2,2,2,2,2,2,2],[0,0,0,0,0,0,1,1,1,2,2,2,2,2]],x.QUANT_TAB={A:91,B:94,C:8,D:12},x.QUANT_LUT_STEP_2=[[x.QUANT_TAB.C,x.QUANT_TAB.C,x.QUANT_TAB.D],[x.QUANT_TAB.A,x.QUANT_TAB.A,x.QUANT_TAB.A],[x.QUANT_TAB.B,x.QUANT_TAB.A,x.QUANT_TAB.B]],x.QUANT_LUT_STEP_3=[[68,68,52,52,52,52,52,52,52,52,52,52],[67,67,67,66,66,66,66,66,66,66,66,49,49,49,49,49,49,49,49,49,49,49,49,32,32,32,32,32,32,32],[69,69,69,69,52,52,52,52,52,52,52,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36]],x.QUANT_LUT_STEP4=[[0,1,2,17],[0,1,2,3,4,5,6,17],[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,17],[0,1,3,5,6,7,8,9,10,11,12,13,14,15,16,17],[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,17],[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]],x.QUANT_TAB=[{levels:3,group:1,bits:5},{levels:5,group:1,bits:7},{levels:7,group:0,bits:3},{levels:9,group:1,bits:10},{levels:15,group:0,bits:4},{levels:31,group:0,bits:5},{levels:63,group:0,bits:6},{levels:127,group:0,bits:7},{levels:255,group:0,bits:8},{levels:511,group:0,bits:9},{levels:1023,group:0,bits:10},{levels:2047,group:0,bits:11},{levels:4095,group:0,bits:12},{levels:8191,group:0,bits:13},{levels:16383,group:0,bits:14},{levels:32767,group:0,bits:15},{levels:65535,group:0,bits:16}];var Y=function(A){function t(t){var i;return(i=A.call(this,t)||this).onDecodeCallback=t.onAudioDecode,i.module=t.wasmModule,i.bufferSize=t.audioBufferSize||131072,i.bufferMode=t.streaming?L.MODE.EVICT:L.MODE.EXPAND,i.sampleRate=0,i}u(t,A);var i=t.prototype;return i.initializeWasmDecoder=function(){this.module.instance?(this.instance=this.module.instance,this.functions=this.module.instance.exports,this.decoder=this.functions._mp2_decoder_create(this.bufferSize,this.bufferMode)):console.warn("JSMpeg: WASM module not compiled yet")},i.destroy=function(){this.decoder&&this.functions._mp2_decoder_destroy(this.decoder)},i.bufferGetIndex=function(){if(this.decoder)return this.functions._mp2_decoder_get_index(this.decoder)},i.bufferSetIndex=function(A){this.decoder&&this.functions._mp2_decoder_set_index(this.decoder,A)},i.bufferWrite=function(A){this.decoder||this.initializeWasmDecoder();for(var t=0,i=0;i>4<<4;this.gl.viewport(0,0,i,this.height)},t.createTexture=function(A,t){var i=this.gl,e=i.createTexture();return i.bindTexture(i.TEXTURE_2D,e),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.uniform1i(i.getUniformLocation(this.program,t),A),e},t.createProgram=function(A,t){var i=this.gl,e=i.createProgram();return i.attachShader(e,this.compileShader(i.VERTEX_SHADER,A)),i.attachShader(e,this.compileShader(i.FRAGMENT_SHADER,t)),i.linkProgram(e),i.useProgram(e),e},t.compileShader=function(A,t){var i=this.gl,e=i.createShader(A);if(i.shaderSource(e,t),i.compileShader(e),!i.getShaderParameter(e,i.COMPILE_STATUS))throw new Error(i.getShaderInfoLog(e));return e},t.allowsClampedTextureData=function(){var A=this.gl,t=A.createTexture();return A.bindTexture(A.TEXTURE_2D,t),A.texImage2D(A.TEXTURE_2D,0,A.LUMINANCE,1,1,0,A.LUMINANCE,A.UNSIGNED_BYTE,new Uint8ClampedArray([0])),0===A.getError()},t.renderProgress=function(A){var t=this.gl;t.useProgram(this.loadingProgram);var i=t.getUniformLocation(this.loadingProgram,"progress");t.uniform1f(i,A),t.drawArrays(t.TRIANGLE_STRIP,0,4)},t.render=function(A,t,i,e){if(this.enabled){var s=this.gl,o=this.width+15>>4<<4,g=this.height,I=o>>1,a=g>>1;e&&this.shouldCreateUnclampedViews&&(A=new Uint8Array(A.buffer),t=new Uint8Array(t.buffer),i=new Uint8Array(i.buffer)),s.useProgram(this.program),this.updateTexture(s.TEXTURE0,this.textureY,o,g,A),this.updateTexture(s.TEXTURE1,this.textureCb,I,a,t),this.updateTexture(s.TEXTURE2,this.textureCr,I,a,i),s.drawArrays(s.TRIANGLE_STRIP,0,4)}},t.updateTexture=function(A,t,i,e,s){var o=this.gl;o.activeTexture(A),o.bindTexture(o.TEXTURE_2D,t),this.hasTextureData[A]?o.texSubImage2D(o.TEXTURE_2D,0,0,0,i,e,o.LUMINANCE,o.UNSIGNED_BYTE,s):(this.hasTextureData[A]=!0,o.texImage2D(o.TEXTURE_2D,0,o.LUMINANCE,i,e,0,o.LUMINANCE,o.UNSIGNED_BYTE,s))},t.deleteTexture=function(A,t){var i=this.gl;i.activeTexture(A),i.bindTexture(i.TEXTURE_2D,null),i.deleteTexture(t)},A.IsSupported=function(){try{if(!window.WebGLRenderingContext)return!1;var A=document.createElement("canvas");return!(!A.getContext("webgl")&&!A.getContext("experimental-webgl"))}catch(A){return!1}},A}();H.SHADER={FRAGMENT_YCRCB_TO_RGBA:["precision mediump float;","uniform sampler2D textureY;","uniform sampler2D textureCb;","uniform sampler2D textureCr;","varying vec2 texCoord;","mat4 rec601 = mat4(","1.16438, 0.00000, 1.59603, -0.87079,","1.16438, -0.39176, -0.81297, 0.52959,","1.16438, 2.01723, 0.00000, -1.08139,","0, 0, 0, 1",");","void main() {","float y = texture2D(textureY, texCoord).r;","float cb = texture2D(textureCb, texCoord).r;","float cr = texture2D(textureCr, texCoord).r;","gl_FragColor = vec4(y, cr, cb, 1.0) * rec601;","}"].join("\n"),FRAGMENT_LOADING:["precision mediump float;","uniform float progress;","varying vec2 texCoord;","void main() {","float c = ceil(progress-(1.0-texCoord.y));","gl_FragColor = vec4(c,c,c,1);","}"].join("\n"),VERTEX_IDENTITY:["attribute vec2 vertex;","varying vec2 texCoord;","void main() {","texCoord = vertex;","gl_Position = vec4((vertex * 2.0 - 1.0) * vec2(1, -1), 0.0, 1.0);","}"].join("\n")};var P=function(){function A(A){A.canvas?(this.canvas=A.canvas,this.ownsCanvasElement=!1):(this.canvas=document.createElement("canvas"),this.ownsCanvasElement=!0),this.width=this.canvas.width,this.height=this.canvas.height,this.enabled=!0,this.context=this.canvas.getContext("2d")}var t=A.prototype;return t.destroy=function(){this.ownsCanvasElement&&this.canvas.remove()},t.resize=function(A,t){this.width=0|A,this.height=0|t,this.canvas.width=this.width,this.canvas.height=this.height,this.imageData=this.context.getImageData(0,0,this.width,this.height),G(this.imageData.data,255)},t.renderProgress=function(A){var t=this.canvas.width,i=this.canvas.height,e=this.context;e.fillStyle="#222",e.fillRect(0,0,t,i),e.fillStyle="#fff",e.fillRect(0,i-i*A,t,i*A)},t.render=function(A,t,i){this.YCbCrToRGBA(A,t,i,this.imageData.data),this.context.putImageData(this.imageData,0,0)},t.YCbCrToRGBA=function(A,t,i,e){if(this.enabled)for(var s,o,g,I,a,B=this.width+15>>4<<4,r=B>>1,C=0,n=B,E=B+(B-this.width),Q=0,h=r-(this.width>>1),d=0,c=4*this.width,l=4*this.width,u=this.width>>1,w=this.height>>1,p=0;p>8)-179,I=(88*o>>8)-44+(183*s>>8)-91,a=o+(198*o>>8)-227;var m=A[C++],f=A[C++];e[d]=m+g,e[d+1]=m-I,e[d+2]=m+a,e[d+4]=f+g,e[d+5]=f-I,e[d+6]=f+a,d+=8;var y=A[n++],R=A[n++];e[c]=y+g,e[c+1]=y-I,e[c+2]=y+a,e[c+4]=R+g,e[c+5]=R-I,e[c+6]=R+a,c+=8}C+=E,n+=E,d+=l,c+=l,Q+=h}},A}(),O=function(){function A(){this.context=A.CachedContext=A.CachedContext||new(window.AudioContext||window.webkitAudioContext),this.gain=this.context.createGain(),this.destination=this.gain,this.gain.connect(this.context.destination),this.context._connections=(this.context._connections||0)+1,this.startTime=0,this.buffer=null,this.wallclockStartTime=0,this.volume=1,this.enabled=!0,this.unlocked=!A.NeedsUnlocking(),Object.defineProperty(this,"enqueuedTime",{get:this.getEnqueuedTime})}var t=A.prototype;return t.destroy=function(){this.gain.disconnect(),this.context._connections--,0===this.context._connections&&(this.context.close(),A.CachedContext=null)},t.play=function(A,t,i){if(this.enabled){if(!this.unlocked){var e=S();return this.wallclockStartTimethis.memory.buffer.byteLength){var i=this.brk-this.memory.buffer.byteLength,e=Math.ceil(i/this.pageSize);this.memory.grow(e),this.createHeapViews()}return t},t.c_abort=function(A){console.warn("JSMPeg: WASM abort",arguments)},t.c_assertFail=function(A){console.warn("JSMPeg: WASM ___assert_fail",arguments)},t.readDylinkSection=function(A){var t=new Uint8Array(A),i=0,e=function(){for(var A=0,e=1;;){var s=t[i++];if(A+=(127&s)*e,e*=128,!(128&s))return A}},s=function(A){for(var e=0;ethis.maxAudioLag&&(this.audioOut.resetEnqueuedTime(),this.audioOut.enabled=!1),A=this.audio.decode()}while(A);this.audioOut.enabled=!0}},t.updateForStaticFile=function(){var A=!1,t=0;if(this.audio&&this.audio.canPlay){for(;!A&&this.audio.decodedTime-this.audio.currentTime<.25;)A=!this.audio.decode();this.video&&this.video.currentTime0&&(e>2*s&&(this.startTime+=e),A=!this.video.decode()),t=this.demuxer.currentTime-i}this.source.resume(t),A&&this.source.completed?this.loop?this.seek(0):(this.stop(),this.options.onEnded&&this.options.onEnded(this)):A&&this.options.onStalled&&this.options.onStalled(this)},A}(),W={Player:X,VideoElement:b,BitBuffer:L,Source:{Ajax:M,AjaxProgressive:q,WebSocket:N,Fetch:function(){function A(A,t){this.url=A,this.destination=null,this.request=null,this.streaming=!0,this.completed=!1,this.established=!1,this.progress=0,this.aborted=!1,this.onEstablishedCallback=t.onSourceEstablished,this.onCompletedCallback=t.onSourceCompleted,t.hookOnEstablished&&(this.hookOnEstablished=t.hookOnEstablished)}var t=A.prototype;return t.connect=function(A){this.destination=A},t.start=function(){var A=this,t={method:"GET",headers:new Headers,cache:"default"};self.fetch(this.url,t).then((function(t){if(t.ok&&t.status>=200&&t.status<=299)return A.progress=1,A.established=!0,A.pump(t.body.getReader())})).catch((function(A){throw A}))},t.pump=function(A){var t=this;return A.read().then((function(i){if(!i.done)return t.aborted?A.cancel():(t.destination&&t.destination.write(i.value.buffer),t.pump(A));t.completed=!0})).catch((function(A){throw A}))},t.resume=function(){},t.abort=function(){this.aborted=!0},A}()},Demuxer:{TS:U},Decoder:{Base:J,MPEG1Video:T,MPEG1VideoWASM:v,MP2Audio:x,MP2AudioWASM:Y},Renderer:{WebGL:H,Canvas2D:P},AudioOutput:{WebAudio:O},WASMModule:K,Now:S,CreateVideoElements:function(){for(var A=document.querySelectorAll(".jsmpeg"),t=0;tthis.q=A))}resume(){this.q?.(),this.Z=this.q=void 0}} -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const V=A=>!e(A)&&"function"==typeof A.then,z=1073741823;const $=A(class extends t{constructor(){super(...arguments),this._$Cwt=z,this._$Cbt=[],this._$CK=new Z(this),this._$CX=new j}render(...A){return A.find((A=>!V(A)))??i}update(A,t){const e=this._$Cbt;let s=e.length;this._$Cbt=t;const o=this._$CK,g=this._$CX;this.isConnected||this.disconnected();for(let A=0;Athis._$Cwt);A++){const i=t[A];if(!V(i))return this._$Cwt=A,i;A{for(;g.get();)await g.get();const t=o.deref();if(void 0!==t){const e=t._$Cbt.indexOf(i);e>-1&&e{let i=!1;const e=new W.VideoElement(this,A,{canvas:this._jsmpegCanvasElement},{pauseWhenHidden:!1,autoplay:!1,protocols:[],audio:!1,videoBufferSize:4194304,preserveDrawingBuffer:!0,...this.cameraConfig?.jsmpeg?.options,reconnectInterval:0,onVideoDecode:()=>{!i&&this._jsmpegCanvasElement&&(i=!0,t(e))},onPlay:()=>g(this),onPause:()=>I(this)})})),this._jsmpegCanvasElement&&a(this,this._jsmpegCanvasElement,{player:this,capabilities:{supportsPause:!0},technology:["jsmpeg"]})}_resetPlayer(){if(this._refreshPlayerTimer.stop(),this._jsmpegVideoPlayer){try{this._jsmpegVideoPlayer.destroy()}catch(A){}this._jsmpegVideoPlayer=void 0}this._jsmpegCanvasElement&&(this._jsmpegCanvasElement.remove(),this._jsmpegCanvasElement=void 0)}connectedCallback(){super.connectedCallback(),this.isConnected&&this.requestUpdate()}disconnectedCallback(){this.isConnected||this._resetPlayer(),super.disconnectedCallback()}async _refreshPlayer(){if(!this.hass)return;this._resetPlayer(),this._jsmpegCanvasElement=document.createElement("canvas"),this._jsmpegCanvasElement.className="media";const A=this.cameraEndpoints?.jsmpeg;if(!A)return B(this,r("error.live_camera_no_endpoint"),{context:this.cameraConfig});const t=await c(this,this.hass,A,86400);t&&(await this._createJSMPEGPlayer(t),this._refreshPlayerTimer.start(82800,(()=>this.requestUpdate())))}render(){return C`${$((async()=>(await this._refreshPlayer(),this._jsmpegVideoPlayer&&this._jsmpegCanvasElement?C`${this._jsmpegCanvasElement}`:B(this,r("error.jsmpeg_no_player"))))(),n({cardWideConfig:this.cardWideConfig}))}`}static get styles(){return E(":host {\n width: 100%;\n height: 100%;\n display: flex;\n}\n\ncanvas {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n object-view-box: inset(var(--frigate-card-media-layout-view-box-top, 0%) var(--frigate-card-media-layout-view-box-right, 0%) var(--frigate-card-media-layout-view-box-bottom, 0%) var(--frigate-card-media-layout-view-box-left, 0%));\n}")}};Q([h({attribute:!1})],AA.prototype,"cameraConfig",void 0),Q([h({attribute:!1})],AA.prototype,"cameraEndpoints",void 0),Q([h({attribute:!1})],AA.prototype,"cardWideConfig",void 0),AA=Q([d("frigate-card-live-jsmpeg")],AA);export{AA as FrigateCardLiveJSMPEG}; diff --git a/config/www/community/frigate-hass-card/jsmpeg-45778f1d.js.gz b/config/www/community/frigate-hass-card/jsmpeg-45778f1d.js.gz deleted file mode 100644 index 185d8fa332443f9cde6d973f2fe2b29aa5d4b739..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42824 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

HnwmN{ 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 diff --git a/config/www/community/frigate-hass-card/jsmpeg-50dde246.js b/config/www/community/frigate-hass-card/jsmpeg-50dde246.js deleted file mode 100644 index 4e26ebf4..00000000 --- a/config/www/community/frigate-hass-card/jsmpeg-50dde246.js +++ /dev/null @@ -1,12 +0,0 @@ -import{dx as A,eK as t,dz as i,eL as e,a as s,dA as o,du as g,dv as I,ds as a,l as B,cP as r,x as C,dh as n,r as E,_ as Q,n as h,b as d,t as c}from"./card-320adb66.js";import{d as l}from"./dispatch-live-error-c649b480.js";import{c as u}from"./endpoint-a6d38c7a.js";function w(){return w=Object.assign?Object.assign.bind():function(A){for(var t=1;t"string"==typeof A&&A.constructor===String,f=function(A){var t,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t=A,"Promise"===Object.prototype.toString.call(t).slice(8,-1)?A:new Promise((t=>{A(),setTimeout(t,i)}))};var y="WJ3NAvwFY9",R="tR2-0dd-e1",k="ZgIIHVSSYI",b="kAA8SjbHe2",S="OueN4AU4CJ";!function(A,t){void 0===t&&(t={});var i=t.insertAt;if(A&&"undefined"!=typeof document){var e=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.type="text/css","top"===i&&e.firstChild?e.insertBefore(s,e.firstChild):e.appendChild(s),s.styleSheet?s.styleSheet.cssText=A:s.appendChild(document.createTextNode(A))}}(".WJ3NAvwFY9,.ZgIIHVSSYI,.kAA8SjbHe2,.tR2-0dd-e1{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.ZgIIHVSSYI{-ms-flex-pack:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;justify-content:center}.WJ3NAvwFY9,.tR2-0dd-e1{display:block}.tR2-0dd-e1.OueN4AU4CJ{display:none}.ZgIIHVSSYI,.kAA8SjbHe2{-webkit-tap-highlight-color:rgba(255,0,0,0);cursor:pointer;opacity:.7}.OueN4AU4CJ.ZgIIHVSSYI,.OueN4AU4CJ.kAA8SjbHe2{display:none}.ZgIIHVSSYI{z-index:10}.ZgIIHVSSYI>svg{fill:#fff;height:12vw;max-height:60px;max-width:60px;width:12vw}.kAA8SjbHe2{-ms-flex-pack:end;-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:flex-end;justify-content:flex-end;z-index:10}.kAA8SjbHe2>svg{fill:#fff;height:9vw;margin:0 15px 15px 0;max-height:40px;max-width:40px;width:9vw}");var G=function(){function A(A,t,i,e){var s=void 0===i?{}:i,o=s.canvas,g=void 0===o?"":o,I=s.poster,a=void 0===I?"":I,B=s.autoplay,r=void 0!==B&&B,C=s.autoSetWrapperSize,n=void 0!==C&&C,E=s.loop,Q=void 0!==E&&E,h=s.control,d=void 0===h||h,c=s.decodeFirstFrame,l=void 0===c||c,u=s.picMode,p=void 0!==u&&u,m=s.progressive,f=void 0===m||m,y=s.chunkSize,R=void 0===y?1048576:y,k=s.hooks,b=void 0===k?{}:k;void 0===e&&(e={}),this.options=w({videoUrl:t,canvas:g,poster:a,picMode:p,autoplay:r,autoSetWrapperSize:n,loop:Q,control:d,decodeFirstFrame:l,progressive:f,chunkSize:R,hooks:w({play:function(){},pause:function(){},stop:function(){},load:function(){}},b)},e),this.options.needPlayButton=this.options.control&&!this.options.picMode,this.player=null,this.els={wrapper:D(A)?document.querySelector(A):A,canvas:null,playButton:document.createElement("div"),unmuteButton:null,poster:null},"static"===window.getComputedStyle(this.els.wrapper).getPropertyValue("position")&&(this.els.wrapper.style.position="relative"),this.els.wrapper.clientRect=this.els.wrapper.getBoundingClientRect(),this.initCanvas(),this.initPlayButton(),this.initPlayer()}var t=A.prototype;return t.initCanvas=function(){this.options.canvas?this.els.canvas=D(this.options.canvas)?document.querySelector(this.options.canvas):this.options.canvas:(this.els.canvas=document.createElement("canvas"),this.els.canvas.classList.add(y),this.els.wrapper.appendChild(this.els.canvas))},t.initPlayer=function(){var A=this;this.options=w(this.options,{canvas:this.els.canvas});var t=w({},this.options,{autoplay:!1});if(this.player=new Z(this.options.videoUrl,t,{play:function(){A.options.needPlayButton&&A.els.playButton.classList.add(S),A.els.poster&&A.els.poster.classList.add(S),A.options.hooks.play()},pause:function(){A.options.needPlayButton&&A.els.playButton.classList.remove(S),A.options.hooks.pause()},stop:function(){A.els.poster&&A.els.poster.classList.remove(S),A.options.hooks.stop()},load:function(){A.options.autoplay&&A.play(),A._autoSetWrapperSize(),A.options.hooks.load()}}),this._copyPlayerFuncs(),this.els.wrapper.playerInstance=this.player,!this.options.poster||this.options.autoplay||this.player.options.streaming||(this.options.decodeFirstFrame=!1,this.els.poster=new Image,this.els.poster.src=this.options.poster,this.els.poster.classList.add(R),this.els.wrapper.appendChild(this.els.poster)),this.player.options.streaming||this.els.wrapper.addEventListener("click",this.onClick.bind(this)),(this.options.autoplay||this.player.options.streaming)&&this.els.playButton.classList.add(S),this.player.audioOut&&!this.player.audioOut.unlocked){var i=this.els.wrapper;(this.options.autoplay||this.player.options.streaming)&&(this.els.unmuteButton=document.createElement("div"),this.els.unmuteButton.innerHTML='\n\n \n\n',this.els.unmuteButton.classList.add(b),this.els.wrapper.appendChild(this.els.unmuteButton),i=this.els.unmuteButton),this.unlockAudioBound=this.onUnlockAudio.bind(this,i),i.addEventListener("touchstart",this.unlockAudioBound,!1),i.addEventListener("click",this.unlockAudioBound,!0)}},t.initPlayButton=function(){this.options.needPlayButton&&(this.els.playButton.classList.add(k),this.els.playButton.innerHTML='\n\n \n\n',this.els.wrapper.appendChild(this.els.playButton))},t._autoSetWrapperSize=function(){var A=this;if(!this.options.autoSetWrapperSize)return Promise.resolve();var t=this.player.video.destination;return t?Promise.resolve().then((function(){return f((function(){A.els.wrapper.style.width=t.width+"px",A.els.wrapper.style.height=t.height+"px"}))})):Promise.resolve()},t.onUnlockAudio=function(A,t){var i=this;this.els.unmuteButton&&(t.preventDefault(),t.stopPropagation()),this.player.audioOut.unlock((function(){i.els.unmuteButton&&i.els.unmuteButton.classList.add(S),A.removeEventListener("touchstart",i.unlockAudioBound),A.removeEventListener("click",i.unlockAudioBound)}))},t.onClick=function(){this.options.control&&(this.player.isPlaying?this.pause():this.play())},t._copyPlayerFuncs=function(){var A=this;this.play=function(){return A.player.play()},this.pause=function(){return A.player.pause()},this.stop=function(){return A.player.stop()},this.destroy=function(){A.player.destroy(),A.els.wrapper.innerHTML="",A.els.wrapper.playerInstance=null}},A}(),F=function(){return window.performance?window.performance.now()/1e3:Date.now()/1e3},M=function(A,t){if(A.fill)A.fill(t);else for(var i=0;iA&&this.loadNextChunk())},t.destroy=function(){this.request.abort(),this.aborted=!0},t.loadNextChunk=function(){var A=this,t=this.loadedSize,i=Math.min(this.loadedSize+this.chunkSize-1,this.fileSize-1);if(t>=this.fileSize||this.aborted)return this.completed=!0,void(this.onCompletedCallback&&this.onCompletedCallback(this));this.isLoading=!0,this.loadStartTime=F(),this.request=new XMLHttpRequest,this.request.onreadystatechange=function(){A.request.readyState===A.request.DONE&&A.request.status>=200&&A.request.status<300?A.onChunkLoad(A.request.response):A.request.readyState===A.request.DONE&&A.loadFails++<3&&A.loadNextChunk()},0===t&&(this.request.onprogress=this.onProgress.bind(this)),this.request.open("GET",this.url+"?"+t+"-"+i),this.request.setRequestHeader("Range","bytes="+t+"-"+i),this.request.responseType="arraybuffer",this.request.send()},t.onProgress=function(A){this.progress=A.loaded/A.total},t.onChunkLoad=function(A){var t=!this.established;this.established=!0,this.progress=1,this.loadedSize+=A.byteLength,this.loadFails=0,this.isLoading=!1,t&&this.hookOnEstablished&&this.hookOnEstablished(),t&&this.onEstablishedCallback&&this.onEstablishedCallback(this),this.destination&&this.destination.write(A),this.loadTime=F()-this.loadStartTime,this.throttled||this.loadNextChunk()},A}(),U=function(){function A(A,t){this.url=A,this.options=t,this.socket=null,this.streaming=!0,this.callbacks={connect:[],data:[]},this.destination=null,this.reconnectInterval=void 0!==t.reconnectInterval?t.reconnectInterval:5,this.shouldAttemptReconnect=!!this.reconnectInterval,this.completed=!1,this.established=!1,this.progress=0,this.reconnectTimeoutId=0,this.onEstablishedCallback=t.onSourceEstablished,this.onCompletedCallback=t.onSourceCompleted,t.hookOnEstablished&&(this.hookOnEstablished=t.hookOnEstablished)}var t=A.prototype;return t.connect=function(A){this.destination=A},t.destroy=function(){clearTimeout(this.reconnectTimeoutId),this.shouldAttemptReconnect=!1,this.socket.close()},t.start=function(){this.shouldAttemptReconnect=!!this.reconnectInterval,this.progress=0,this.established=!1,this.options.protocols?this.socket=new WebSocket(this.url,this.options.protocols):this.socket=new WebSocket(this.url),this.socket.binaryType="arraybuffer",this.socket.onmessage=this.onMessage.bind(this),this.socket.onopen=this.onOpen.bind(this),this.socket.onerror=this.onClose.bind(this),this.socket.onclose=this.onClose.bind(this)},t.resume=function(){},t.onOpen=function(){this.progress=1},t.onClose=function(){var A=this;this.shouldAttemptReconnect&&(clearTimeout(this.reconnectTimeoutId),this.reconnectTimeoutId=setTimeout((function(){A.start()}),1e3*this.reconnectInterval))},t.onMessage=function(A){var t=!this.established;this.established=!0,t&&this.hookOnEstablished&&this.hookOnEstablished(),t&&this.onEstablishedCallback&&this.onEstablishedCallback(this),this.destination&&this.destination.write(A.data)},A}(),J=function(){function A(t,i){"object"==typeof t?(this.bytes=t instanceof Uint8Array?t:new Uint8Array(t),this.byteLength=this.bytes.length):(this.bytes=new Uint8Array(t||1048576),this.byteLength=0),this.mode=i||A.MODE.EXPAND,this.index=0}var t=A.prototype;return t.resize=function(A){var t=new Uint8Array(A);0!==this.byteLength&&(this.byteLength=Math.min(this.byteLength,A),t.set(this.bytes,0,this.byteLength)),this.bytes=t,this.index=Math.min(this.index,this.byteLength<<3)},t.evict=function(A){var t=this.index>>3,i=this.bytes.length-this.byteLength;if(this.index===this.byteLength<<3||A>i+t)return this.byteLength=0,void(this.index=0);0!==t&&(this.bytes.copyWithin?this.bytes.copyWithin(0,t,this.byteLength):this.bytes.set(this.bytes.subarray(t,this.byteLength)),this.byteLength-=t,this.index-=t<<3)},t.write=function(t){var i="object"==typeof t[0],e=0,s=this.bytes.length-this.byteLength;if(i){e=0;for(var o=0;os)if(this.mode===A.MODE.EXPAND){var g=Math.max(2*this.bytes.length,e-s);this.resize(g)}else this.evict(e);if(i)for(var I=0;I>3;A>3;return A>=this.byteLength||0===this.bytes[A]&&0===this.bytes[A+1]&&1===this.bytes[A+2]},t.peek=function(A){for(var t=this.index,i=0;A;){var e=8-(7&t),s=e>3]&255>>8-s<>o,t+=s,A-=s}return i},t.read=function(A){var t=this.peek(A);return this.index+=A,t},t.skip=function(A){return this.index+=A},t.rewind=function(A){this.index=Math.max(this.index-A,0)},t.has=function(A){return(this.byteLength<<3)-this.index>=A},A}();J.MODE={EVICT:1,EXPAND:2};var T=function(){function A(){this.bits=null,this.leftoverBytes=null,this.guessVideoFrameEnd=!0,this.pidsToStreamIds={},this.pesPacketInfo={},this.startTime=0,this.currentTime=0}var t=A.prototype;return t.connect=function(A,t){this.pesPacketInfo[A]={destination:t,currentLength:0,totalLength:0,pts:0,buffers:[]}},t.write=function(A){if(this.leftoverBytes){var t=A.byteLength+this.leftoverBytes.byteLength;this.bits=new J(t),this.bits.write([this.leftoverBytes,A])}else this.bits=new J(A);for(;this.bits.has(1504)&&this.parsePacket(););var i=this.bits.byteLength-(this.bits.index>>3);this.leftoverBytes=i>0?this.bits.bytes.subarray(this.bits.index>>3):null},t.parsePacket=function(){if(71!==this.bits.read(8)&&!this.resync())return!1;var A=187+(this.bits.index>>3);this.bits.read(1);var t=this.bits.read(1);this.bits.read(1);var i=this.bits.read(13);this.bits.read(2);var e=this.bits.read(2);this.bits.read(4);var s=this.pidsToStreamIds[i];if(t&&s){var o=this.pesPacketInfo[s];o&&o.currentLength&&this.packetComplete(o)}if(1&e){if(2&e){var g=this.bits.read(8);this.bits.skip(g<<3)}if(t&&this.bits.nextBytesAreStartCode()){this.bits.skip(24),s=this.bits.read(8),this.pidsToStreamIds[i]=s;var I=this.bits.read(16);this.bits.skip(8);var a=this.bits.read(2);this.bits.skip(6);var B=this.bits.read(8),r=this.bits.index+(B<<3),C=this.pesPacketInfo[s];if(C){var n=0;if(2&a){this.bits.skip(4);var E=this.bits.read(3);this.bits.skip(1);var Q=this.bits.read(15);this.bits.skip(1);var h=this.bits.read(15);this.bits.skip(1),n=(1073741824*E+32768*Q+h)/9e4,this.currentTime=n,-1===this.startTime&&(this.startTime=n)}var d=I?I-B-3:0;this.packetStart(C,n,d)}this.bits.index=r}if(s){var c=this.pesPacketInfo[s];if(c){var l=this.bits.index>>3,u=!t&&2&e;(this.packetAddData(c,l,A)||this.guessVideoFrameEnd&&u)&&this.packetComplete(c)}}}return this.bits.index=A<<3,!0},t.resync=function(){if(!this.bits.has(9024))return!1;for(var A=this.bits.index>>3,t=0;t<187;t++)if(71===this.bits.bytes[A+t]){for(var i=!0,e=1;e<5;e++)if(71!==this.bits.bytes[A+t+188*e]){i=!1;break}if(i)return this.bits.index=A+t+1<<3,!0}return console.warn("JSMpeg: Possible garbage data. Skipping."),this.bits.skip(1496),!1},t.packetStart=function(A,t,i){A.totalLength=i,A.currentLength=0,A.pts=t},t.packetAddData=function(A,t,i){return A.buffers.push(this.bits.bytes.subarray(t,i)),A.currentLength+=i-t,0!==A.totalLength&&A.currentLength>=A.totalLength},t.packetComplete=function(A){A.destination.write(A.pts,A.buffers),A.totalLength=0,A.currentLength=0,A.buffers=[]},A}();T.STREAM={PACK_HEADER:186,SYSTEM_HEADER:187,PROGRAM_MAP:188,PRIVATE_1:189,PADDING:190,PRIVATE_2:191,AUDIO_1:192,VIDEO_1:224,DIRECTORY:255};var v=function(){function A(A){this.destination=null,this.canPlay=!1,this.collectTimestamps=!A.streaming,this.bytesWritten=0,this.timestamps=[],this.timestampIndex=0,this.startTime=0,this.decodedTime=0,Object.defineProperty(this,"currentTime",{get:this.getCurrentTime})}var t=A.prototype;return t.destroy=function(){},t.connect=function(A){this.destination=A},t.bufferGetIndex=function(){return this.bits.index},t.bufferSetIndex=function(A){this.bits.index=A},t.bufferWrite=function(A){return this.bits.write(A)},t.write=function(A,t){this.collectTimestamps&&(0===this.timestamps.length&&(this.startTime=A,this.decodedTime=A),this.timestamps.push({index:this.bytesWritten<<3,time:A})),this.bytesWritten+=this.bufferWrite(t),this.canPlay=!0},t.seek=function(A){if(this.collectTimestamps){this.timestampIndex=0;for(var t=0;tA);t++)this.timestampIndex=t;var i=this.timestamps[this.timestampIndex];i?(this.bufferSetIndex(i.index),this.decodedTime=i.time):(this.bits.index=0,this.decodedTime=this.startTime)}},t.decode=function(){this.advanceDecodedTime(0)},t.advanceDecodedTime=function(A){if(this.collectTimestamps){for(var t=-1,i=this.bufferGetIndex(),e=this.timestampIndex;ei);e++)t=e;if(-1!==t&&t!==this.timestampIndex)return this.timestampIndex=t,void(this.decodedTime=this.timestamps[this.timestampIndex].time)}this.decodedTime+=A},t.getCurrentTime=function(){return this.decodedTime},A}(),x=function(A){function t(t){var i;(i=A.call(this,t)||this).onDecodeCallback=t.onVideoDecode;var e=t.videoBufferSize||524288,s=t.streaming?J.MODE.EVICT:J.MODE.EXPAND;return i.bits=new J(e,s),i.customIntraQuantMatrix=new Uint8Array(64),i.customNonIntraQuantMatrix=new Uint8Array(64),i.blockData=new Int32Array(64),i.currentFrame=0,i.decodeFirstFrame=!1!==t.decodeFirstFrame,i}p(t,A);var i=t.prototype;return i.write=function(A,i){if(v.prototype.write.call(this,A,i),!this.hasSequenceHeader){if(-1===this.bits.findStartCode(t.START.SEQUENCE))return!1;this.decodeSequenceHeader(),this.decodeFirstFrame&&this.decode()}},i.decode=function(){var A=F();if(!this.hasSequenceHeader)return!1;if(-1===this.bits.findStartCode(t.START.PICTURE))return!1;this.decodePicture(),this.advanceDecodedTime(1/this.frameRate);var i=F()-A;return this.onDecodeCallback&&this.onDecodeCallback(this,i),!0},i.readHuffman=function(A){var t=0;do{t=A[t+this.bits.read(1)]}while(t>=0&&0!==A[t]);return A[t+2]},i.decodeSequenceHeader=function(){var A=this.bits.read(12),i=this.bits.read(12);if(this.bits.skip(4),this.frameRate=t.PICTURE_RATE[this.bits.read(4)],this.bits.skip(30),A===this.width&&i===this.height||(this.width=A,this.height=i,this.initBuffers(),this.destination&&this.destination.resize(A,i)),this.bits.read(1)){for(var e=0;e<64;e++)this.customIntraQuantMatrix[t.ZIG_ZAG[e]]=this.bits.read(8);this.intraQuantMatrix=this.customIntraQuantMatrix}if(this.bits.read(1)){for(var s=0;s<64;s++){var o=t.ZIG_ZAG[s];this.customNonIntraQuantMatrix[o]=this.bits.read(8)}this.nonIntraQuantMatrix=this.customNonIntraQuantMatrix}this.hasSequenceHeader=!0},i.initBuffers=function(){this.intraQuantMatrix=t.DEFAULT_INTRA_QUANT_MATRIX,this.nonIntraQuantMatrix=t.DEFAULT_NON_INTRA_QUANT_MATRIX,this.mbWidth=this.width+15>>4,this.mbHeight=this.height+15>>4,this.mbSize=this.mbWidth*this.mbHeight,this.codedWidth=this.mbWidth<<4,this.codedHeight=this.mbHeight<<4,this.codedSize=this.codedWidth*this.codedHeight,this.halfWidth=this.mbWidth<<3,this.halfHeight=this.mbHeight<<3,this.currentY=new Uint8ClampedArray(this.codedSize),this.currentY32=new Uint32Array(this.currentY.buffer),this.currentCr=new Uint8ClampedArray(this.codedSize>>2),this.currentCr32=new Uint32Array(this.currentCr.buffer),this.currentCb=new Uint8ClampedArray(this.codedSize>>2),this.currentCb32=new Uint32Array(this.currentCb.buffer),this.forwardY=new Uint8ClampedArray(this.codedSize),this.forwardY32=new Uint32Array(this.forwardY.buffer),this.forwardCr=new Uint8ClampedArray(this.codedSize>>2),this.forwardCr32=new Uint32Array(this.forwardCr.buffer),this.forwardCb=new Uint8ClampedArray(this.codedSize>>2),this.forwardCb32=new Uint32Array(this.forwardCb.buffer)},i.decodePicture=function(){if(this.currentFrame++,this.bits.skip(10),this.pictureType=this.bits.read(3),this.bits.skip(16),!(this.pictureType<=0||this.pictureType>=t.PICTURE_TYPE.B)){if(this.pictureType===t.PICTURE_TYPE.PREDICTIVE){if(this.fullPelForward=this.bits.read(1),this.forwardFCode=this.bits.read(3),0===this.forwardFCode)return;this.forwardRSize=this.forwardFCode-1,this.forwardF=1<=t.START.SLICE_FIRST&&A<=t.START.SLICE_LAST;)this.decodeSlice(255&A),A=this.bits.findNextStartCode();if(-1!==A&&this.bits.rewind(32),this.destination&&this.destination.render(this.currentY,this.currentCr,this.currentCb,!0),this.pictureType===t.PICTURE_TYPE.INTRA||this.pictureType===t.PICTURE_TYPE.PREDICTIVE){var i=this.forwardY,e=this.forwardY32,s=this.forwardCr,o=this.forwardCr32,g=this.forwardCb,I=this.forwardCb32;this.forwardY=this.currentY,this.forwardY32=this.currentY32,this.forwardCr=this.currentCr,this.forwardCr32=this.currentCr32,this.forwardCb=this.currentCb,this.forwardCb32=this.currentCb32,this.currentY=i,this.currentY32=e,this.currentCr=s,this.currentCr32=o,this.currentCb=g,this.currentCb32=I}}},i.decodeSlice=function(A){for(this.sliceBegin=!0,this.macroblockAddress=(A-1)*this.mbWidth-1,this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0,this.dcPredictorY=128,this.dcPredictorCr=128,this.dcPredictorCb=128,this.quantizerScale=this.bits.read(5);this.bits.read(1);)this.bits.skip(8);do{this.decodeMacroblock()}while(!this.bits.nextBytesAreStartCode())},i.decodeMacroblock=function(){for(var A=0,i=this.readHuffman(t.MACROBLOCK_ADDRESS_INCREMENT);34===i;)i=this.readHuffman(t.MACROBLOCK_ADDRESS_INCREMENT);for(;35===i;)A+=33,i=this.readHuffman(t.MACROBLOCK_ADDRESS_INCREMENT);if(A+=i,this.sliceBegin)this.sliceBegin=!1,this.macroblockAddress+=A;else{if(this.macroblockAddress+A>=this.mbSize)return;for(A>1&&(this.dcPredictorY=128,this.dcPredictorCr=128,this.dcPredictorCb=128,this.pictureType===t.PICTURE_TYPE.PREDICTIVE&&(this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0));A>1;)this.macroblockAddress++,this.mbRow=this.macroblockAddress/this.mbWidth|0,this.mbCol=this.macroblockAddress%this.mbWidth,this.copyMacroblock(this.motionFwH,this.motionFwV,this.forwardY,this.forwardCr,this.forwardCb),A--;this.macroblockAddress++}this.mbRow=this.macroblockAddress/this.mbWidth|0,this.mbCol=this.macroblockAddress%this.mbWidth;var e=t.MACROBLOCK_TYPE[this.pictureType];this.macroblockType=this.readHuffman(e),this.macroblockIntra=1&this.macroblockType,this.macroblockMotFw=8&this.macroblockType,16&this.macroblockType&&(this.quantizerScale=this.bits.read(5)),this.macroblockIntra?(this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0):(this.dcPredictorY=128,this.dcPredictorCr=128,this.dcPredictorCb=128,this.decodeMotionVectors(),this.copyMacroblock(this.motionFwH,this.motionFwV,this.forwardY,this.forwardCr,this.forwardCb));for(var s=2&this.macroblockType?this.readHuffman(t.CODE_BLOCK_PATTERN):this.macroblockIntra?63:0,o=0,g=32;o<6;o++)s&g&&this.decodeBlock(o),g>>=1},i.decodeMotionVectors=function(){var A,i,e=0;this.macroblockMotFw?(0!==(A=this.readHuffman(t.MOTION))&&1!==this.forwardF?(e=this.bits.read(this.forwardRSize),i=(Math.abs(A)-1<(this.forwardF<<4)-1?this.motionFwHPrev-=this.forwardF<<5:this.motionFwHPrev<-this.forwardF<<4&&(this.motionFwHPrev+=this.forwardF<<5),this.motionFwH=this.motionFwHPrev,this.fullPelForward&&(this.motionFwH<<=1),0!==(A=this.readHuffman(t.MOTION))&&1!==this.forwardF?(e=this.bits.read(this.forwardRSize),i=(Math.abs(A)-1<(this.forwardF<<4)-1?this.motionFwVPrev-=this.forwardF<<5:this.motionFwVPrev<-this.forwardF<<4&&(this.motionFwVPrev+=this.forwardF<<5),this.motionFwV=this.motionFwVPrev,this.fullPelForward&&(this.motionFwV<<=1)):this.pictureType===t.PICTURE_TYPE.PREDICTIVE&&(this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0)},i.copyMacroblock=function(A,t,i,e,s){var o,g,I,a,B,r,C,n,E,Q,h,d,c,l,u,w,p,m,D,f=this.currentY32,y=this.currentCb32,R=this.currentCr32;if(g=(o=this.codedWidth)-16,I=A>>1,a=t>>1,B=!(1&~A),r=!(1&~t),C=((this.mbRow<<4)+a)*o+(this.mbCol<<4)+I,E=(n=this.mbRow*o+this.mbCol<<2)+(o<<2),B)if(r)for(;n>2&255,c|=(h=i[++C]+i[C+o])+d+2<<6&65280,c|=h+(d=i[++C]+i[C+o])+2<<14&16711680,h=i[++C]+i[C+o],C++,c|=h+d+2<<22&4278190080,f[n++]=c;n+=g>>2,C+=g-1}else for(;n>1&255,c|=(h=i[C++])+d+1<<7&65280,c|=h+(d=i[C++])+1<<15&16711680,c|=(h=i[C++])+d+1<<23&4278190080,f[n++]=c;n+=g>>2,C+=g-1}else if(r)for(;n>1&255,c|=i[++C]+i[C+o]+1<<7&65280,c|=i[++C]+i[C+o]+1<<15&16711680,c|=i[++C]+i[C+o]+1<<23&4278190080,C++,f[n++]=c;n+=g>>2,C+=g}else for(;n>2,C+=g}if(g=(o=this.halfWidth)-8,I=A/2>>1,a=t/2>>1,B=1==(A/2&1),r=1==(t/2&1),C=((this.mbRow<<3)+a)*o+(this.mbCol<<3)+I,E=(n=this.mbRow*o+this.mbCol<<1)+(o<<1),B)if(r)for(;n>2&255,D=p+(m=s[C]+s[C+o])+2>>2&255,w|=(l=e[++C]+e[C+o])+u+2<<6&65280,D|=(p=s[C]+s[C+o])+m+2<<6&65280,w|=l+(u=e[++C]+e[C+o])+2<<14&16711680,D|=p+(m=s[C]+s[C+o])+2<<14&16711680,l=e[++C]+e[C+o],p=s[C]+s[C+o],C++,w|=l+u+2<<22&4278190080,D|=p+m+2<<22&4278190080,R[n]=w,y[n]=D,n++;n+=g>>2,C+=g-1}else for(;n>1&255,D=p+(m=s[C++])+1>>1&255,w|=(l=e[C])+u+1<<7&65280,D|=(p=s[C++])+m+1<<7&65280,w|=l+(u=e[C])+1<<15&16711680,D|=p+(m=s[C++])+1<<15&16711680,w|=(l=e[C])+u+1<<23&4278190080,D|=(p=s[C++])+m+1<<23&4278190080,R[n]=w,y[n]=D,n++;n+=g>>2,C+=g-1}else if(r)for(;n>1&255,D=s[C]+s[C+o]+1>>1&255,w|=e[++C]+e[C+o]+1<<7&65280,D|=s[C]+s[C+o]+1<<7&65280,w|=e[++C]+e[C+o]+1<<15&16711680,D|=s[C]+s[C+o]+1<<15&16711680,w|=e[++C]+e[C+o]+1<<23&4278190080,D|=s[C]+s[C+o]+1<<23&4278190080,C++,R[n]=w,y[n]=D,n++;n+=g>>2,C+=g}else for(;n>2,C+=g}},i.decodeBlock=function(A){var i,e=0;if(this.macroblockIntra){var s,o;if(A<4?(s=this.dcPredictorY,o=this.readHuffman(t.DCT_DC_SIZE_LUMINANCE)):(s=4===A?this.dcPredictorCr:this.dcPredictorCb,o=this.readHuffman(t.DCT_DC_SIZE_CHROMINANCE)),o>0){var g=this.bits.read(o);this.blockData[0]=g&1<0&&0===this.bits.read(1))break;65535===n?(C=this.bits.read(6),0===(r=this.bits.read(8))?r=this.bits.read(8):128===r?r=this.bits.read(8)-256:r>128&&(r-=256)):(C=n>>8,r=255&n,this.bits.read(1)&&(r=-r)),e+=C;var E=t.ZIG_ZAG[e];e++,r<<=1,this.macroblockIntra||(r+=r<0?-1:1),1&(r=r*this.quantizerScale*i[E]>>4)||(r-=r>0?1:-1),r>2047?r=2047:r<-2048&&(r=-2048),this.blockData[E]=r*t.PREMULTIPLIER_MATRIX[E]}A<4?(I=this.currentY,B=this.codedWidth-8,a=this.mbRow*this.codedWidth+this.mbCol<<4,1&A&&(a+=8),2&A&&(a+=this.codedWidth<<3)):(I=4===A?this.currentCb:this.currentCr,B=(this.codedWidth>>1)-8,a=(this.mbRow*this.codedWidth<<2)+(this.mbCol<<3)),this.macroblockIntra?1===e?(t.CopyValueToDestination(this.blockData[0]+128>>8,I,a,B),this.blockData[0]=0):(t.IDCT(this.blockData),t.CopyBlockToDestination(this.blockData,I,a,B),M(this.blockData,0)):1===e?(t.AddValueToDestination(this.blockData[0]+128>>8,I,a,B),this.blockData[0]=0):(t.IDCT(this.blockData),t.AddBlockToDestination(this.blockData,I,a,B),M(this.blockData,0)),e=0},t.CopyBlockToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]=A[s+0],t[i+1]=A[s+1],t[i+2]=A[s+2],t[i+3]=A[s+3],t[i+4]=A[s+4],t[i+5]=A[s+5],t[i+6]=A[s+6],t[i+7]=A[s+7]},t.AddBlockToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]+=A[s+0],t[i+1]+=A[s+1],t[i+2]+=A[s+2],t[i+3]+=A[s+3],t[i+4]+=A[s+4],t[i+5]+=A[s+5],t[i+6]+=A[s+6],t[i+7]+=A[s+7]},t.CopyValueToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]=A,t[i+1]=A,t[i+2]=A,t[i+3]=A,t[i+4]=A,t[i+5]=A,t[i+6]=A,t[i+7]=A},t.AddValueToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]+=A,t[i+1]+=A,t[i+2]+=A,t[i+3]+=A,t[i+4]+=A,t[i+5]+=A,t[i+6]+=A,t[i+7]+=A},t.IDCT=function(A){for(var t,i,e,s,o,g,I,a,B,r,C,n,E,Q,h,d,c,l,u=0;u<8;++u)t=A[32+u],i=A[16+u]+A[48+u],e=A[40+u]-A[24+u],g=A[8+u]+A[56+u],I=A[24+u]+A[40+u],B=(E=(473*(s=A[8+u]-A[56+u])-196*e+128>>8)-(o=g+I))-(362*(g-I)+128>>8),Q=(r=(a=A[0+u])-t)+(C=(362*(A[16+u]-A[48+u])+128>>8)-i),h=(n=a+t)+i,d=r-C,c=n-i,l=-B-(473*e+196*s+128>>8),A[0+u]=o+h,A[8+u]=E+Q,A[16+u]=d-B,A[24+u]=c-l,A[32+u]=c+l,A[40+u]=B+d,A[48+u]=Q-E,A[56+u]=h-o;for(var w=0;w<64;w+=8)t=A[4+w],i=A[2+w]+A[6+w],e=A[5+w]-A[3+w],g=A[1+w]+A[7+w],I=A[3+w]+A[5+w],B=(E=(473*(s=A[1+w]-A[7+w])-196*e+128>>8)-(o=g+I))-(362*(g-I)+128>>8),Q=(r=(a=A[0+w])-t)+(C=(362*(A[2+w]-A[6+w])+128>>8)-i),h=(n=a+t)+i,d=r-C,c=n-i,l=-B-(473*e+196*s+128>>8),A[0+w]=o+h+128>>8,A[1+w]=E+Q+128>>8,A[2+w]=d-B+128>>8,A[3+w]=c-l+128>>8,A[4+w]=c+l+128>>8,A[5+w]=B+d+128>>8,A[6+w]=Q-E+128>>8,A[7+w]=h-o+128>>8},t}(v);x.prototype.frameRate=30,x.prototype.currentY=null,x.prototype.currentCr=null,x.prototype.currentCb=null,x.prototype.pictureType=0,x.prototype.forwardY=null,x.prototype.forwardCr=null,x.prototype.forwardCb=null,x.prototype.fullPelForward=!1,x.prototype.forwardFCode=0,x.prototype.forwardRSize=0,x.prototype.forwardF=0,x.prototype.quantizerScale=0,x.prototype.sliceBegin=!1,x.prototype.macroblockAddress=0,x.prototype.mbRow=0,x.prototype.mbCol=0,x.prototype.macroblockType=0,x.prototype.macroblockIntra=!1,x.prototype.macroblockMotFw=!1,x.prototype.motionFwH=0,x.prototype.motionFwV=0,x.prototype.motionFwHPrev=0,x.prototype.motionFwVPrev=0,x.prototype.dcPredictorY=0,x.prototype.dcPredictorCr=0,x.prototype.dcPredictorCb=0,x.prototype.blockData=null,x.PICTURE_RATE=[0,23.976,24,25,29.97,30,50,59.94,60,0,0,0,0,0,0,0],x.ZIG_ZAG=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),x.DEFAULT_INTRA_QUANT_MATRIX=new Uint8Array([8,16,19,22,26,27,29,34,16,16,22,24,27,29,34,37,19,22,26,27,29,34,34,38,22,22,26,27,29,34,37,40,22,26,27,29,32,35,40,48,26,27,29,32,35,40,48,58,26,27,29,34,38,46,56,69,27,29,35,38,46,56,69,83]),x.DEFAULT_NON_INTRA_QUANT_MATRIX=new Uint8Array([16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16]),x.PREMULTIPLIER_MATRIX=new Uint8Array([32,44,42,38,32,25,17,9,44,62,58,52,44,35,24,12,42,58,55,49,42,33,23,12,38,52,49,44,38,30,20,10,32,44,42,38,32,25,17,9,25,35,33,30,25,20,14,7,17,24,23,20,17,14,9,5,9,12,12,10,9,7,5,2]),x.MACROBLOCK_ADDRESS_INCREMENT=new Int16Array([3,6,0,9,12,0,0,0,1,15,18,0,21,24,0,27,30,0,33,36,0,0,0,3,0,0,2,39,42,0,45,48,0,0,0,5,0,0,4,51,54,0,57,60,0,0,0,7,0,0,6,63,66,0,69,72,0,75,78,0,81,84,0,-1,87,0,-1,90,0,93,96,0,99,102,0,105,108,0,111,114,0,0,0,9,0,0,8,117,120,0,123,126,0,129,132,0,135,138,0,0,0,15,0,0,14,0,0,13,0,0,12,0,0,11,0,0,10,141,-1,0,-1,144,0,147,150,0,153,156,0,159,162,0,165,168,0,171,174,0,177,180,0,183,-1,0,-1,186,0,189,192,0,195,198,0,201,204,0,207,210,0,213,216,0,219,222,0,0,0,21,0,0,20,0,0,19,0,0,18,0,0,17,0,0,16,0,0,35,0,0,34,0,0,33,0,0,32,0,0,31,0,0,30,0,0,29,0,0,28,0,0,27,0,0,26,0,0,25,0,0,24,0,0,23,0,0,22]),x.MACROBLOCK_TYPE_INTRA=new Int8Array([3,6,0,-1,9,0,0,0,1,0,0,17]),x.MACROBLOCK_TYPE_PREDICTIVE=new Int8Array([3,6,0,9,12,0,0,0,10,15,18,0,0,0,2,21,24,0,0,0,8,27,30,0,33,36,0,-1,39,0,0,0,18,0,0,26,0,0,1,0,0,17]),x.MACROBLOCK_TYPE_B=new Int8Array([3,6,0,9,15,0,12,18,0,24,21,0,0,0,12,27,30,0,0,0,14,39,42,0,36,33,0,0,0,4,0,0,6,54,48,0,45,51,0,0,0,8,0,0,10,-1,57,0,0,0,1,60,63,0,0,0,30,0,0,17,0,0,22,0,0,26]),x.MACROBLOCK_TYPE=[null,x.MACROBLOCK_TYPE_INTRA,x.MACROBLOCK_TYPE_PREDICTIVE,x.MACROBLOCK_TYPE_B],x.CODE_BLOCK_PATTERN=new Int16Array([6,3,0,9,18,0,12,15,0,24,33,0,36,39,0,27,21,0,30,42,0,60,57,0,54,48,0,69,51,0,81,75,0,63,84,0,45,66,0,72,78,0,0,0,60,105,120,0,132,144,0,114,108,0,126,141,0,87,93,0,117,96,0,0,0,32,135,138,0,99,123,0,129,102,0,0,0,4,90,111,0,0,0,8,0,0,16,0,0,44,150,168,0,0,0,28,0,0,52,0,0,62,183,177,0,156,180,0,0,0,1,165,162,0,0,0,61,0,0,56,171,174,0,0,0,2,0,0,40,153,186,0,0,0,48,192,189,0,147,159,0,0,0,20,0,0,12,240,249,0,0,0,63,231,225,0,195,219,0,252,198,0,0,0,24,0,0,36,0,0,3,207,261,0,243,237,0,204,213,0,210,234,0,201,228,0,216,222,0,258,255,0,264,246,0,-1,282,0,285,291,0,0,0,33,0,0,9,318,330,0,306,348,0,0,0,5,0,0,10,279,267,0,0,0,6,0,0,18,0,0,17,0,0,34,339,357,0,309,312,0,270,276,0,327,321,0,351,354,0,303,297,0,294,288,0,300,273,0,342,345,0,315,324,0,336,333,0,363,375,0,0,0,41,0,0,14,0,0,21,372,366,0,360,369,0,0,0,11,0,0,19,0,0,7,0,0,35,0,0,13,0,0,50,0,0,49,0,0,58,0,0,37,0,0,25,0,0,45,0,0,57,0,0,26,0,0,29,0,0,38,0,0,53,0,0,23,0,0,43,0,0,46,0,0,42,0,0,22,0,0,54,0,0,51,0,0,15,0,0,30,0,0,39,0,0,47,0,0,55,0,0,27,0,0,59,0,0,31]),x.MOTION=new Int16Array([3,6,0,12,9,0,0,0,0,18,15,0,24,21,0,0,0,-1,0,0,1,27,30,0,36,33,0,0,0,2,0,0,-2,42,45,0,48,39,0,60,54,0,0,0,3,0,0,-3,51,57,0,-1,69,0,81,75,0,78,63,0,72,66,0,96,84,0,87,93,0,-1,99,0,108,105,0,0,0,-4,90,102,0,0,0,4,0,0,-7,0,0,5,111,123,0,0,0,-5,0,0,7,114,120,0,126,117,0,0,0,-6,0,0,6,153,162,0,150,147,0,135,138,0,156,141,0,129,159,0,132,144,0,0,0,10,0,0,9,0,0,8,0,0,-8,171,198,0,0,0,-9,180,192,0,168,183,0,165,186,0,174,189,0,0,0,-10,177,195,0,0,0,12,0,0,16,0,0,13,0,0,14,0,0,11,0,0,15,0,0,-16,0,0,-12,0,0,-14,0,0,-15,0,0,-11,0,0,-13]),x.DCT_DC_SIZE_LUMINANCE=new Int8Array([6,3,0,18,15,0,9,12,0,0,0,1,0,0,2,27,24,0,21,30,0,0,0,0,36,33,0,0,0,4,0,0,3,39,42,0,0,0,5,0,0,6,48,45,0,51,-1,0,0,0,7,0,0,8]),x.DCT_DC_SIZE_CHROMINANCE=new Int8Array([6,3,0,12,9,0,18,15,0,24,21,0,0,0,2,0,0,1,0,0,0,30,27,0,0,0,3,36,33,0,0,0,4,42,39,0,0,0,5,48,45,0,0,0,6,51,-1,0,0,0,7,0,0,8]),x.DCT_COEFF=new Int32Array([3,6,0,12,9,0,0,0,1,21,24,0,18,15,0,39,27,0,33,30,0,42,36,0,0,0,257,60,66,0,54,63,0,48,57,0,0,0,513,51,45,0,0,0,2,0,0,3,81,75,0,87,93,0,72,78,0,96,90,0,0,0,1025,69,84,0,0,0,769,0,0,258,0,0,1793,0,0,65535,0,0,1537,111,108,0,0,0,1281,105,102,0,117,114,0,99,126,0,120,123,0,156,150,0,162,159,0,144,147,0,129,135,0,138,132,0,0,0,2049,0,0,4,0,0,514,0,0,2305,153,141,0,165,171,0,180,168,0,177,174,0,183,186,0,0,0,2561,0,0,3329,0,0,6,0,0,259,0,0,5,0,0,770,0,0,2817,0,0,3073,228,225,0,201,210,0,219,213,0,234,222,0,216,231,0,207,192,0,204,189,0,198,195,0,243,261,0,273,240,0,246,237,0,249,258,0,279,276,0,252,255,0,270,282,0,264,267,0,0,0,515,0,0,260,0,0,7,0,0,1026,0,0,1282,0,0,4097,0,0,3841,0,0,3585,315,321,0,333,342,0,312,291,0,375,357,0,288,294,0,-1,369,0,285,303,0,318,363,0,297,306,0,339,309,0,336,348,0,330,300,0,372,345,0,351,366,0,327,354,0,360,324,0,381,408,0,417,420,0,390,378,0,435,438,0,384,387,0,0,0,2050,396,402,0,465,462,0,0,0,8,411,399,0,429,432,0,453,414,0,426,423,0,0,0,10,0,0,9,0,0,11,0,0,5377,0,0,1538,0,0,771,0,0,5121,0,0,1794,0,0,4353,0,0,4609,0,0,4865,444,456,0,0,0,1027,459,450,0,0,0,261,393,405,0,0,0,516,447,441,0,516,519,0,486,474,0,510,483,0,504,498,0,471,537,0,507,501,0,522,513,0,534,531,0,468,477,0,492,495,0,549,546,0,525,528,0,0,0,263,0,0,2562,0,0,2306,0,0,5633,0,0,5889,0,0,6401,0,0,6145,0,0,1283,0,0,772,0,0,13,0,0,12,0,0,14,0,0,15,0,0,517,0,0,6657,0,0,262,540,543,0,480,489,0,588,597,0,0,0,27,609,555,0,606,603,0,0,0,19,0,0,22,591,621,0,0,0,18,573,576,0,564,570,0,0,0,20,552,582,0,0,0,21,558,579,0,0,0,23,612,594,0,0,0,25,0,0,24,600,615,0,0,0,31,0,0,30,0,0,28,0,0,29,0,0,26,0,0,17,0,0,16,567,618,0,561,585,0,654,633,0,0,0,37,645,648,0,0,0,36,630,636,0,0,0,34,639,627,0,663,666,0,657,624,0,651,642,0,669,660,0,0,0,35,0,0,267,0,0,40,0,0,268,0,0,266,0,0,32,0,0,264,0,0,265,0,0,38,0,0,269,0,0,270,0,0,33,0,0,39,0,0,7937,0,0,6913,0,0,7681,0,0,4098,0,0,7425,0,0,7169,0,0,271,0,0,274,0,0,273,0,0,272,0,0,1539,0,0,2818,0,0,3586,0,0,3330,0,0,3074,0,0,3842]),x.PICTURE_TYPE={INTRA:1,PREDICTIVE:2,B:3},x.START={SEQUENCE:179,SLICE_FIRST:1,SLICE_LAST:175,PICTURE:0,EXTENSION:181,USER_DATA:178};var Y=function(A){function t(t){var i;return(i=A.call(this,t)||this).onDecodeCallback=t.onVideoDecode,i.module=t.wasmModule,i.bufferSize=t.videoBufferSize||524288,i.bufferMode=t.streaming?J.MODE.EVICT:J.MODE.EXPAND,i.decodeFirstFrame=!1!==t.decodeFirstFrame,i.hasSequenceHeader=!1,i}p(t,A);var i=t.prototype;return i.initializeWasmDecoder=function(){this.module.instance?(this.instance=this.module.instance,this.functions=this.module.instance.exports,this.decoder=this.functions._mpeg1_decoder_create(this.bufferSize,this.bufferMode)):console.warn("JSMpeg: WASM module not compiled yet")},i.destroy=function(){this.decoder&&this.functions._mpeg1_decoder_destroy(this.decoder)},i.bufferGetIndex=function(){if(this.decoder)return this.functions._mpeg1_decoder_get_index(this.decoder)},i.bufferSetIndex=function(A){this.decoder&&this.functions._mpeg1_decoder_set_index(this.decoder,A)},i.bufferWrite=function(A){this.decoder||this.initializeWasmDecoder();for(var t=0,i=0;i>2)),g=this.instance.heapU8.subarray(e,e+(this.codedSize>>2));this.destination.render(s,o,g,!1)}this.advanceDecodedTime(1/this.frameRate);var I=F()-A;return this.onDecodeCallback&&this.onDecodeCallback(this,I),!0},t}(v),H=function(A){function t(i){var e;(e=A.call(this,i)||this).onDecodeCallback=i.onAudioDecode;var s=i.audioBufferSize||131072,o=i.streaming?J.MODE.EVICT:J.MODE.EXPAND;e.bits=new J(s,o),e.left=new Float32Array(1152),e.right=new Float32Array(1152),e.sampleRate=44100,e.D=new Float32Array(1024),e.D.set(t.SYNTHESIS_WINDOW,0),e.D.set(t.SYNTHESIS_WINDOW,512),e.V=[new Float32Array(1024),new Float32Array(1024)],e.U=new Int32Array(32),e.VPos=0,e.allocation=[new Array(32),new Array(32)],e.scaleFactorInfo=[new Uint8Array(32),new Uint8Array(32)],e.scaleFactor=[new Array(32),new Array(32)],e.sample=[new Array(32),new Array(32)];for(var g=0;g<2;g++)for(var I=0;I<32;I++)e.scaleFactor[g][I]=[0,0,0],e.sample[g][I]=[0,0,0];return e}p(t,A);var i=t.prototype;return i.decode=function(){var A=F(),t=this.bits.index>>3;if(t>=this.bits.byteLength)return!1;var i=this.decodeFrame(this.left,this.right);if(this.bits.index=t+i<<3,!i)return!1;this.destination&&this.destination.play(this.sampleRate,this.left,this.right),this.advanceDecodedTime(this.left.length/this.sampleRate);var e=F()-A;return this.onDecodeCallback&&this.onDecodeCallback(this,e),!0},i.getCurrentTime=function(){var A=this.destination?this.destination.enqueuedTime:0;return this.decodedTime-A},i.decodeFrame=function(A,i){var e=this.bits.read(11),s=this.bits.read(2),o=this.bits.read(2),g=!this.bits.read(1);if(e!==t.FRAME_SYNC||s!==t.VERSION.MPEG_1||o!==t.LAYER.II)return 0;var I=this.bits.read(4)-1;if(I>13)return 0;var a=this.bits.read(2),B=t.SAMPLE_RATE[a];if(3===a)return 0;s===t.VERSION.MPEG_2&&(a+=4,I+=14);var r=this.bits.read(1);this.bits.read(1);var C=this.bits.read(2),n=0;C===t.MODE.JOINT_STEREO?n=this.bits.read(2)+1<<2:(this.bits.skip(2),n=C===t.MODE.MONO?0:32),this.bits.skip(4),g&&this.bits.skip(16);var E=144e3*t.BIT_RATE[I]/(B=t.SAMPLE_RATE[a])+r|0,Q=0,h=0;if(s===t.VERSION.MPEG_2)Q=2,h=30;else{var d=C===t.MODE.MONO?0:1,c=t.QUANT_LUT_STEP_1[d][I];h=63&(Q=t.QUANT_LUT_STEP_2[c][a]),Q>>=6}n>h&&(n=h);for(var l=0;l>1),U=this.VPos%128>>1;U<1024;){for(var J=0;J<32;++J)this.U[J]+=this.D[L++]*this.V[N][U++];U+=96,L+=32}for(U=1120-U,L-=480;U<1024;){for(var T=0;T<32;++T)this.U[T]+=this.D[L++]*this.V[N][U++];U+=96,L+=32}for(var v=0===N?A:i,x=0;x<32;x++)v[R+x]=this.U[x]/2147418112}R+=32}}return this.sampleRate=B,E},i.readAllocation=function(A,i){var e=t.QUANT_LUT_STEP_3[i][A],s=t.QUANT_LUT_STEP4[15&e][this.bits.read(e>>4)];return s?t.QUANT_TAB[s-1]:0},i.readSamples=function(A,i,e){var s=this.allocation[A][i],o=this.scaleFactor[A][i][e],g=this.sample[A][i],I=0;if(s){if(63===o)o=0;else{var a=o/3|0;o=t.SCALEFACTOR_BASE[o%3]+(1<>1)>>a}var B=s.levels;s.group?(I=this.bits.read(s.bits),g[0]=I%B,I=I/B|0,g[1]=I%B,g[2]=I/B|0):(g[0]=this.bits.read(s.bits),g[1]=this.bits.read(s.bits),g[2]=this.bits.read(s.bits));var r=65536/(B+1)|0;I=((B=(B+1>>1)-1)-g[0])*r,g[0]=I*(o>>12)+(I*(4095&o)+2048>>12)>>12,I=(B-g[1])*r,g[1]=I*(o>>12)+(I*(4095&o)+2048>>12)>>12,I=(B-g[2])*r,g[2]=I*(o>>12)+(I*(4095&o)+2048>>12)>>12}else g[0]=g[1]=g[2]=0},t.MatrixTransform=function(A,t,i,e){var s,o,g,I,a,B,r,C,n,E,Q,h,d,c,l,u,w,p,m,D,f,y,R,k,b,S,G,F,M,q,N,L,U;s=A[0][t]+A[31][t],o=.500602998235*(A[0][t]-A[31][t]),g=A[1][t]+A[30][t],I=.505470959898*(A[1][t]-A[30][t]),a=A[2][t]+A[29][t],B=.515447309923*(A[2][t]-A[29][t]),r=A[3][t]+A[28][t],C=.53104259109*(A[3][t]-A[28][t]),n=A[4][t]+A[27][t],E=.553103896034*(A[4][t]-A[27][t]),Q=A[5][t]+A[26][t],h=.582934968206*(A[5][t]-A[26][t]),d=A[6][t]+A[25][t],c=.622504123036*(A[6][t]-A[25][t]),l=A[7][t]+A[24][t],u=.674808341455*(A[7][t]-A[24][t]),w=A[8][t]+A[23][t],p=.744536271002*(A[8][t]-A[23][t]),m=A[9][t]+A[22][t],D=.839349645416*(A[9][t]-A[22][t]),f=A[10][t]+A[21][t],y=.972568237862*(A[10][t]-A[21][t]),R=A[11][t]+A[20][t],k=1.16943993343*(A[11][t]-A[20][t]),b=A[12][t]+A[19][t],S=1.48416461631*(A[12][t]-A[19][t]),G=A[13][t]+A[18][t],F=2.05778100995*(A[13][t]-A[18][t]),M=A[14][t]+A[17][t],q=3.40760841847*(A[14][t]-A[17][t]),U=s+(N=A[15][t]+A[16][t]),N=.502419286188*(s-N),s=g+M,M=.52249861494*(g-M),g=a+G,G=.566944034816*(a-G),a=r+b,b=.64682178336*(r-b),r=n+R,R=.788154623451*(n-R),n=Q+f,f=1.06067768599*(Q-f),Q=d+m,m=1.72244709824*(d-m),d=l+w,w=5.10114861869*(l-w),l=U+d,d=.509795579104*(U-d),U=s+Q,s=.601344886935*(s-Q),Q=g+n,n=.899976223136*(g-n),g=a+r,r=2.56291544774*(a-r),a=l+g,l=.541196100146*(l-g),g=U+Q,Q=1.30656296488*(U-Q),U=a+g,a=.707106781187*(a-g),g=l+Q,g+=l=.707106781187*(l-Q),Q=d+r,d=.541196100146*(d-r),r=s+n,n=1.30656296488*(s-n),s=Q+r,r=.707106781187*(Q-r),Q=d+n,s+=Q+=d=.707106781187*(d-n),Q+=r,r+=d,n=N+w,N=.509795579104*(N-w),w=M+m,M=.601344886935*(M-m),m=G+f,f=.899976223136*(G-f),G=b+R,R=2.56291544774*(b-R),b=n+G,n=.541196100146*(n-G),G=w+m,m=1.30656296488*(w-m),w=b+G,G=.707106781187*(b-G),b=n+m,m=.707106781187*(n-m),n=N+R,N=.541196100146*(N-R),R=M+f,f=1.30656296488*(M-f),M=n+R,R=.707106781187*(n-R),n=N+f,w+=M+=n+=N=.707106781187*(N-f),M+=b+=m,b+=n+=R,n+=G,G+=R+=N,R+=m,m+=N,f=o+(L=10.1900081235*(A[15][t]-A[16][t])),o=.502419286188*(o-L),L=I+q,I=.52249861494*(I-q),q=B+F,F=.566944034816*(B-F),B=C+S,C=.64682178336*(C-S),S=E+k,E=.788154623451*(E-k),k=h+y,y=1.06067768599*(h-y),h=c+D,D=1.72244709824*(c-D),c=u+p,u=5.10114861869*(u-p),p=f+c,c=.509795579104*(f-c),f=L+h,L=.601344886935*(L-h),h=q+k,k=.899976223136*(q-k),q=B+S,S=2.56291544774*(B-S),B=p+q,p=.541196100146*(p-q),q=f+h,h=1.30656296488*(f-h),f=B+q,q=.707106781187*(B-q),B=p+h,h=.707106781187*(p-h),p=c+S,S=.541196100146*(c-S),c=L+k,k=1.30656296488*(L-k),L=p+c,c=.707106781187*(p-c),p=S+k,L+=p+=k=.707106781187*(S-k),p+=c,S=c+k,c=o+u,o=.509795579104*(o-u),u=I+D,I=.601344886935*(I-D),D=F+y,y=.899976223136*(F-y),F=C+E,E=2.56291544774*(C-E),C=c+F,c=.541196100146*(c-F),F=u+D,D=1.30656296488*(u-D),u=C+F,F=.707106781187*(C-F),C=c+D,D=.707106781187*(c-D),c=o+E,o=.541196100146*(o-E),E=I+y,y=1.30656296488*(I-y),I=c+E,E=.707106781187*(c-E),c=o+y,f+=u+=I+=c+=o=.707106781187*(o-y),u+=L,L+=I+=C+=D,I+=B+=h,B+=C+=c+=E,C+=p,p+=c+=F,c+=q,q+=F+=E+=o,F+=S,S+=E+=D,E+=h,h+=D+=o,D+=k,k+=o,i[e+48]=-U,i[e+49]=i[e+47]=-f,i[e+50]=i[e+46]=-w,i[e+51]=i[e+45]=-u,i[e+52]=i[e+44]=-s,i[e+53]=i[e+43]=-L,i[e+54]=i[e+42]=-M,i[e+55]=i[e+41]=-I,i[e+56]=i[e+40]=-g,i[e+57]=i[e+39]=-B,i[e+58]=i[e+38]=-b,i[e+59]=i[e+37]=-C,i[e+60]=i[e+36]=-Q,i[e+61]=i[e+35]=-p,i[e+62]=i[e+34]=-n,i[e+63]=i[e+33]=-c,i[e+32]=-a,i[e+0]=a,i[e+31]=-q,i[e+1]=q,i[e+30]=-G,i[e+2]=G,i[e+29]=-F,i[e+3]=F,i[e+28]=-r,i[e+4]=r,i[e+27]=-S,i[e+5]=S,i[e+26]=-R,i[e+6]=R,i[e+25]=-E,i[e+7]=E,i[e+24]=-l,i[e+8]=l,i[e+23]=-h,i[e+9]=h,i[e+22]=-m,i[e+10]=m,i[e+21]=-D,i[e+11]=D,i[e+20]=-d,i[e+12]=d,i[e+19]=-k,i[e+13]=k,i[e+18]=-N,i[e+14]=N,i[e+17]=-o,i[e+15]=o,i[e+16]=0},t}(v);H.FRAME_SYNC=2047,H.VERSION={MPEG_2_5:0,MPEG_2:2,MPEG_1:3},H.LAYER={III:1,II:2,I:3},H.MODE={STEREO:0,JOINT_STEREO:1,DUAL_CHANNEL:2,MONO:3},H.SAMPLE_RATE=new Uint16Array([44100,48e3,32e3,0,22050,24e3,16e3,0]),H.BIT_RATE=new Uint16Array([32,48,56,64,80,96,112,128,160,192,224,256,320,384,8,16,24,32,40,48,56,64,80,96,112,128,144,160]),H.SCALEFACTOR_BASE=new Uint32Array([33554432,26632170,21137968]),H.SYNTHESIS_WINDOW=new Float32Array([0,-.5,-.5,-.5,-.5,-.5,-.5,-1,-1,-1,-1,-1.5,-1.5,-2,-2,-2.5,-2.5,-3,-3.5,-3.5,-4,-4.5,-5,-5.5,-6.5,-7,-8,-8.5,-9.5,-10.5,-12,-13,-14.5,-15.5,-17.5,-19,-20.5,-22.5,-24.5,-26.5,-29,-31.5,-34,-36.5,-39.5,-42.5,-45.5,-48.5,-52,-55.5,-58.5,-62.5,-66,-69.5,-73.5,-77,-80.5,-84.5,-88,-91.5,-95,-98,-101,-104,106.5,109,111,112.5,113.5,114,114,113.5,112,110.5,107.5,104,100,94.5,88.5,81.5,73,63.5,53,41.5,28.5,14.5,-1,-18,-36,-55.5,-76.5,-98.5,-122,-147,-173.5,-200.5,-229.5,-259.5,-290.5,-322.5,-355.5,-389.5,-424,-459.5,-495.5,-532,-568.5,-605,-641.5,-678,-714,-749,-783.5,-817,-849,-879.5,-908.5,-935,-959.5,-981,-1000.5,-1016,-1028.5,-1037.5,-1042.5,-1043.5,-1040,-1031.5,1018.5,1e3,976,946.5,911,869.5,822,767.5,707,640,565.5,485,397,302.5,201,92.5,-22.5,-144,-272.5,-407,-547.5,-694,-846,-1003,-1165,-1331.5,-1502,-1675.5,-1852.5,-2031.5,-2212.5,-2394,-2576.5,-2758.5,-2939.5,-3118.5,-3294.5,-3467.5,-3635.5,-3798.5,-3955,-4104.5,-4245.5,-4377.5,-4499,-4609.5,-4708,-4792.5,-4863.5,-4919,-4958,-4979.5,-4983,-4967.5,-4931.5,-4875,-4796,-4694.5,-4569.5,-4420,-4246,-4046,-3820,-3567,3287,2979.5,2644,2280.5,1888,1467.5,1018.5,541,35,-499,-1061,-1650,-2266.5,-2909,-3577,-4270,-4987.5,-5727.5,-6490,-7274,-8077.5,-8899.5,-9739,-10594.5,-11464.5,-12347,-13241,-14144.5,-15056,-15973.5,-16895.5,-17820,-18744.5,-19668,-20588,-21503,-22410.5,-23308.5,-24195,-25068.5,-25926.5,-26767,-27589,-28389,-29166.5,-29919,-30644.5,-31342,-32009.5,-32645,-33247,-33814.5,-34346,-34839.5,-35295,-35710,-36084.5,-36417.5,-36707.5,-36954,-37156.5,-37315,-37428,-37496,37519,37496,37428,37315,37156.5,36954,36707.5,36417.5,36084.5,35710,35295,34839.5,34346,33814.5,33247,32645,32009.5,31342,30644.5,29919,29166.5,28389,27589,26767,25926.5,25068.5,24195,23308.5,22410.5,21503,20588,19668,18744.5,17820,16895.5,15973.5,15056,14144.5,13241,12347,11464.5,10594.5,9739,8899.5,8077.5,7274,6490,5727.5,4987.5,4270,3577,2909,2266.5,1650,1061,499,-35,-541,-1018.5,-1467.5,-1888,-2280.5,-2644,-2979.5,3287,3567,3820,4046,4246,4420,4569.5,4694.5,4796,4875,4931.5,4967.5,4983,4979.5,4958,4919,4863.5,4792.5,4708,4609.5,4499,4377.5,4245.5,4104.5,3955,3798.5,3635.5,3467.5,3294.5,3118.5,2939.5,2758.5,2576.5,2394,2212.5,2031.5,1852.5,1675.5,1502,1331.5,1165,1003,846,694,547.5,407,272.5,144,22.5,-92.5,-201,-302.5,-397,-485,-565.5,-640,-707,-767.5,-822,-869.5,-911,-946.5,-976,-1e3,1018.5,1031.5,1040,1043.5,1042.5,1037.5,1028.5,1016,1000.5,981,959.5,935,908.5,879.5,849,817,783.5,749,714,678,641.5,605,568.5,532,495.5,459.5,424,389.5,355.5,322.5,290.5,259.5,229.5,200.5,173.5,147,122,98.5,76.5,55.5,36,18,1,-14.5,-28.5,-41.5,-53,-63.5,-73,-81.5,-88.5,-94.5,-100,-104,-107.5,-110.5,-112,-113.5,-114,-114,-113.5,-112.5,-111,-109,106.5,104,101,98,95,91.5,88,84.5,80.5,77,73.5,69.5,66,62.5,58.5,55.5,52,48.5,45.5,42.5,39.5,36.5,34,31.5,29,26.5,24.5,22.5,20.5,19,17.5,15.5,14.5,13,12,10.5,9.5,8.5,8,7,6.5,5.5,5,4.5,4,3.5,3.5,3,2.5,2.5,2,2,1.5,1.5,1,1,1,1,.5,.5,.5,.5,.5,.5]),H.QUANT_LUT_STEP_1=[[0,0,1,1,1,2,2,2,2,2,2,2,2,2],[0,0,0,0,0,0,1,1,1,2,2,2,2,2]],H.QUANT_TAB={A:91,B:94,C:8,D:12},H.QUANT_LUT_STEP_2=[[H.QUANT_TAB.C,H.QUANT_TAB.C,H.QUANT_TAB.D],[H.QUANT_TAB.A,H.QUANT_TAB.A,H.QUANT_TAB.A],[H.QUANT_TAB.B,H.QUANT_TAB.A,H.QUANT_TAB.B]],H.QUANT_LUT_STEP_3=[[68,68,52,52,52,52,52,52,52,52,52,52],[67,67,67,66,66,66,66,66,66,66,66,49,49,49,49,49,49,49,49,49,49,49,49,32,32,32,32,32,32,32],[69,69,69,69,52,52,52,52,52,52,52,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36]],H.QUANT_LUT_STEP4=[[0,1,2,17],[0,1,2,3,4,5,6,17],[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,17],[0,1,3,5,6,7,8,9,10,11,12,13,14,15,16,17],[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,17],[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]],H.QUANT_TAB=[{levels:3,group:1,bits:5},{levels:5,group:1,bits:7},{levels:7,group:0,bits:3},{levels:9,group:1,bits:10},{levels:15,group:0,bits:4},{levels:31,group:0,bits:5},{levels:63,group:0,bits:6},{levels:127,group:0,bits:7},{levels:255,group:0,bits:8},{levels:511,group:0,bits:9},{levels:1023,group:0,bits:10},{levels:2047,group:0,bits:11},{levels:4095,group:0,bits:12},{levels:8191,group:0,bits:13},{levels:16383,group:0,bits:14},{levels:32767,group:0,bits:15},{levels:65535,group:0,bits:16}];var P=function(A){function t(t){var i;return(i=A.call(this,t)||this).onDecodeCallback=t.onAudioDecode,i.module=t.wasmModule,i.bufferSize=t.audioBufferSize||131072,i.bufferMode=t.streaming?J.MODE.EVICT:J.MODE.EXPAND,i.sampleRate=0,i}p(t,A);var i=t.prototype;return i.initializeWasmDecoder=function(){this.module.instance?(this.instance=this.module.instance,this.functions=this.module.instance.exports,this.decoder=this.functions._mp2_decoder_create(this.bufferSize,this.bufferMode)):console.warn("JSMpeg: WASM module not compiled yet")},i.destroy=function(){this.decoder&&this.functions._mp2_decoder_destroy(this.decoder)},i.bufferGetIndex=function(){if(this.decoder)return this.functions._mp2_decoder_get_index(this.decoder)},i.bufferSetIndex=function(A){this.decoder&&this.functions._mp2_decoder_set_index(this.decoder,A)},i.bufferWrite=function(A){this.decoder||this.initializeWasmDecoder();for(var t=0,i=0;i>4<<4;this.gl.viewport(0,0,i,this.height)},t.createTexture=function(A,t){var i=this.gl,e=i.createTexture();return i.bindTexture(i.TEXTURE_2D,e),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.uniform1i(i.getUniformLocation(this.program,t),A),e},t.createProgram=function(A,t){var i=this.gl,e=i.createProgram();return i.attachShader(e,this.compileShader(i.VERTEX_SHADER,A)),i.attachShader(e,this.compileShader(i.FRAGMENT_SHADER,t)),i.linkProgram(e),i.useProgram(e),e},t.compileShader=function(A,t){var i=this.gl,e=i.createShader(A);if(i.shaderSource(e,t),i.compileShader(e),!i.getShaderParameter(e,i.COMPILE_STATUS))throw new Error(i.getShaderInfoLog(e));return e},t.allowsClampedTextureData=function(){var A=this.gl,t=A.createTexture();return A.bindTexture(A.TEXTURE_2D,t),A.texImage2D(A.TEXTURE_2D,0,A.LUMINANCE,1,1,0,A.LUMINANCE,A.UNSIGNED_BYTE,new Uint8ClampedArray([0])),0===A.getError()},t.renderProgress=function(A){var t=this.gl;t.useProgram(this.loadingProgram);var i=t.getUniformLocation(this.loadingProgram,"progress");t.uniform1f(i,A),t.drawArrays(t.TRIANGLE_STRIP,0,4)},t.render=function(A,t,i,e){if(this.enabled){var s=this.gl,o=this.width+15>>4<<4,g=this.height,I=o>>1,a=g>>1;e&&this.shouldCreateUnclampedViews&&(A=new Uint8Array(A.buffer),t=new Uint8Array(t.buffer),i=new Uint8Array(i.buffer)),s.useProgram(this.program),this.updateTexture(s.TEXTURE0,this.textureY,o,g,A),this.updateTexture(s.TEXTURE1,this.textureCb,I,a,t),this.updateTexture(s.TEXTURE2,this.textureCr,I,a,i),s.drawArrays(s.TRIANGLE_STRIP,0,4)}},t.updateTexture=function(A,t,i,e,s){var o=this.gl;o.activeTexture(A),o.bindTexture(o.TEXTURE_2D,t),this.hasTextureData[A]?o.texSubImage2D(o.TEXTURE_2D,0,0,0,i,e,o.LUMINANCE,o.UNSIGNED_BYTE,s):(this.hasTextureData[A]=!0,o.texImage2D(o.TEXTURE_2D,0,o.LUMINANCE,i,e,0,o.LUMINANCE,o.UNSIGNED_BYTE,s))},t.deleteTexture=function(A,t){var i=this.gl;i.activeTexture(A),i.bindTexture(i.TEXTURE_2D,null),i.deleteTexture(t)},A.IsSupported=function(){try{if(!window.WebGLRenderingContext)return!1;var A=document.createElement("canvas");return!(!A.getContext("webgl")&&!A.getContext("experimental-webgl"))}catch(A){return!1}},A}();_.SHADER={FRAGMENT_YCRCB_TO_RGBA:["precision mediump float;","uniform sampler2D textureY;","uniform sampler2D textureCb;","uniform sampler2D textureCr;","varying vec2 texCoord;","mat4 rec601 = mat4(","1.16438, 0.00000, 1.59603, -0.87079,","1.16438, -0.39176, -0.81297, 0.52959,","1.16438, 2.01723, 0.00000, -1.08139,","0, 0, 0, 1",");","void main() {","float y = texture2D(textureY, texCoord).r;","float cb = texture2D(textureCb, texCoord).r;","float cr = texture2D(textureCr, texCoord).r;","gl_FragColor = vec4(y, cr, cb, 1.0) * rec601;","}"].join("\n"),FRAGMENT_LOADING:["precision mediump float;","uniform float progress;","varying vec2 texCoord;","void main() {","float c = ceil(progress-(1.0-texCoord.y));","gl_FragColor = vec4(c,c,c,1);","}"].join("\n"),VERTEX_IDENTITY:["attribute vec2 vertex;","varying vec2 texCoord;","void main() {","texCoord = vertex;","gl_Position = vec4((vertex * 2.0 - 1.0) * vec2(1, -1), 0.0, 1.0);","}"].join("\n")};var O=function(){function A(A){A.canvas?(this.canvas=A.canvas,this.ownsCanvasElement=!1):(this.canvas=document.createElement("canvas"),this.ownsCanvasElement=!0),this.width=this.canvas.width,this.height=this.canvas.height,this.enabled=!0,this.context=this.canvas.getContext("2d")}var t=A.prototype;return t.destroy=function(){this.ownsCanvasElement&&this.canvas.remove()},t.resize=function(A,t){this.width=0|A,this.height=0|t,this.canvas.width=this.width,this.canvas.height=this.height,this.imageData=this.context.getImageData(0,0,this.width,this.height),M(this.imageData.data,255)},t.renderProgress=function(A){var t=this.canvas.width,i=this.canvas.height,e=this.context;e.fillStyle="#222",e.fillRect(0,0,t,i),e.fillStyle="#fff",e.fillRect(0,i-i*A,t,i*A)},t.render=function(A,t,i){this.YCbCrToRGBA(A,t,i,this.imageData.data),this.context.putImageData(this.imageData,0,0)},t.YCbCrToRGBA=function(A,t,i,e){if(this.enabled)for(var s,o,g,I,a,B=this.width+15>>4<<4,r=B>>1,C=0,n=B,E=B+(B-this.width),Q=0,h=r-(this.width>>1),d=0,c=4*this.width,l=4*this.width,u=this.width>>1,w=this.height>>1,p=0;p>8)-179,I=(88*o>>8)-44+(183*s>>8)-91,a=o+(198*o>>8)-227;var D=A[C++],f=A[C++];e[d]=D+g,e[d+1]=D-I,e[d+2]=D+a,e[d+4]=f+g,e[d+5]=f-I,e[d+6]=f+a,d+=8;var y=A[n++],R=A[n++];e[c]=y+g,e[c+1]=y-I,e[c+2]=y+a,e[c+4]=R+g,e[c+5]=R-I,e[c+6]=R+a,c+=8}C+=E,n+=E,d+=l,c+=l,Q+=h}},A}(),K=function(){function A(){this.context=A.CachedContext=A.CachedContext||new(window.AudioContext||window.webkitAudioContext),this.gain=this.context.createGain(),this.destination=this.gain,this.gain.connect(this.context.destination),this.context._connections=(this.context._connections||0)+1,this.startTime=0,this.buffer=null,this.wallclockStartTime=0,this.volume=1,this.enabled=!0,this.unlocked=!A.NeedsUnlocking(),Object.defineProperty(this,"enqueuedTime",{get:this.getEnqueuedTime})}var t=A.prototype;return t.destroy=function(){this.gain.disconnect(),this.context._connections--,0===this.context._connections&&(this.context.close(),A.CachedContext=null)},t.play=function(A,t,i){if(this.enabled){if(!this.unlocked){var e=F();return this.wallclockStartTimethis.memory.buffer.byteLength){var i=this.brk-this.memory.buffer.byteLength,e=Math.ceil(i/this.pageSize);this.memory.grow(e),this.createHeapViews()}return t},t.c_abort=function(A){console.warn("JSMPeg: WASM abort",arguments)},t.c_assertFail=function(A){console.warn("JSMPeg: WASM ___assert_fail",arguments)},t.readDylinkSection=function(A){var t=new Uint8Array(A),i=0,e=function(){for(var A=0,e=1;;){var s=t[i++];if(A+=(127&s)*e,e*=128,!(128&s))return A}},s=function(A){for(var e=0;ethis.maxAudioLag&&(this.audioOut.resetEnqueuedTime(),this.audioOut.enabled=!1),A=this.audio.decode()}while(A);this.audioOut.enabled=!0}},t.updateForStaticFile=function(){var A=!1,t=0;if(this.audio&&this.audio.canPlay){for(;!A&&this.audio.decodedTime-this.audio.currentTime<.25;)A=!this.audio.decode();this.video&&this.video.currentTime0&&(e>2*s&&(this.startTime+=e),A=!this.video.decode()),t=this.demuxer.currentTime-i}this.source.resume(t),A&&this.source.completed?this.loop?this.seek(0):(this.stop(),this.options.onEnded&&this.options.onEnded(this)):A&&this.options.onStalled&&this.options.onStalled(this)},A}(),j={Player:Z,VideoElement:G,BitBuffer:J,Source:{Ajax:N,AjaxProgressive:L,WebSocket:U,Fetch:function(){function A(A,t){this.url=A,this.destination=null,this.request=null,this.streaming=!0,this.completed=!1,this.established=!1,this.progress=0,this.aborted=!1,this.onEstablishedCallback=t.onSourceEstablished,this.onCompletedCallback=t.onSourceCompleted,t.hookOnEstablished&&(this.hookOnEstablished=t.hookOnEstablished)}var t=A.prototype;return t.connect=function(A){this.destination=A},t.start=function(){var A=this,t={method:"GET",headers:new Headers,cache:"default"};self.fetch(this.url,t).then((function(t){if(t.ok&&t.status>=200&&t.status<=299)return A.progress=1,A.established=!0,A.pump(t.body.getReader())})).catch((function(A){throw A}))},t.pump=function(A){var t=this;return A.read().then((function(i){if(!i.done)return t.aborted?A.cancel():(t.destination&&t.destination.write(i.value.buffer),t.pump(A));t.completed=!0})).catch((function(A){throw A}))},t.resume=function(){},t.abort=function(){this.aborted=!0},A}()},Demuxer:{TS:T},Decoder:{Base:v,MPEG1Video:x,MPEG1VideoWASM:Y,MP2Audio:H,MP2AudioWASM:P},Renderer:{WebGL:_,Canvas2D:O},AudioOutput:{WebAudio:K},WASMModule:X,Now:F,CreateVideoElements:function(){for(var A=document.querySelectorAll(".jsmpeg"),t=0;tthis.q=A))}resume(){this.q?.(),this.Z=this.q=void 0}} -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const $=A=>!e(A)&&"function"==typeof A.then,AA=1073741823;const tA=A(class extends t{constructor(){super(...arguments),this._$Cwt=AA,this._$Cbt=[],this._$CK=new V(this),this._$CX=new z}render(...A){return A.find((A=>!$(A)))??i}update(A,t){const e=this._$Cbt;let s=e.length;this._$Cbt=t;const o=this._$CK,g=this._$CX;this.isConnected||this.disconnected();for(let A=0;Athis._$Cwt);A++){const i=t[A];if(!$(i))return this._$Cwt=A,i;A{for(;g.get();)await g.get();const t=o.deref();if(void 0!==t){const e=t._$Cbt.indexOf(i);e>-1&&eA.has(t)))&&(this._message=null)}async _createJSMPEGPlayer(A){this._jsmpegVideoPlayer=await new Promise((t=>{let i=!1;const e=new j.VideoElement(this,A,{canvas:this._jsmpegCanvasElement},{pauseWhenHidden:!1,autoplay:!1,protocols:[],audio:!1,videoBufferSize:4194304,preserveDrawingBuffer:!0,...this.cameraConfig?.jsmpeg?.options,reconnectInterval:0,onVideoDecode:()=>{!i&&this._jsmpegCanvasElement&&(i=!0,t(e))},onPlay:()=>g(this),onPause:()=>I(this)})})),this._jsmpegCanvasElement&&a(this,this._jsmpegCanvasElement,{player:this,capabilities:{supportsPause:!0},technology:["jsmpeg"]})}_resetPlayer(){if(this._message=null,this._refreshPlayerTimer.stop(),this._jsmpegVideoPlayer){try{this._jsmpegVideoPlayer.destroy()}catch(A){}this._jsmpegVideoPlayer=void 0}this._jsmpegCanvasElement&&(this._jsmpegCanvasElement.remove(),this._jsmpegCanvasElement=void 0)}connectedCallback(){super.connectedCallback(),this.isConnected&&this.requestUpdate()}disconnectedCallback(){this.isConnected||this._resetPlayer(),super.disconnectedCallback()}async _refreshPlayer(){if(!this.hass)return;this._resetPlayer(),this._jsmpegCanvasElement=document.createElement("canvas"),this._jsmpegCanvasElement.className="media";const A=this.cameraEndpoints?.jsmpeg;if(!A)return this._message={message:B("error.live_camera_no_endpoint"),type:"error",context:this.cameraConfig},void l(this);const t=await u(this.hass,A,86400);if(!t)return this._message={type:"error",message:B("error.failed_sign"),context:this.cameraConfig},void l(this);await this._createJSMPEGPlayer(t),this._refreshPlayerTimer.start(82800,(()=>this.requestUpdate()))}render(){if(this._message)return r(this._message);return C`${tA((async()=>{if(await this._refreshPlayer(),this._jsmpegVideoPlayer&&this._jsmpegCanvasElement)return C`${this._jsmpegCanvasElement}`;this._message||(this._message={message:B("error.jsmpeg_no_player"),type:"error",context:this.cameraConfig},l(this))})(),n({cardWideConfig:this.cardWideConfig}))}`}static get styles(){return E(":host {\n width: 100%;\n height: 100%;\n display: flex;\n}\n\ncanvas {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n object-view-box: inset(var(--frigate-card-media-layout-view-box-top, 0%) var(--frigate-card-media-layout-view-box-right, 0%) var(--frigate-card-media-layout-view-box-bottom, 0%) var(--frigate-card-media-layout-view-box-left, 0%));\n}")}};Q([h({attribute:!1})],iA.prototype,"cameraConfig",void 0),Q([h({attribute:!1})],iA.prototype,"cameraEndpoints",void 0),Q([h({attribute:!1})],iA.prototype,"cardWideConfig",void 0),Q([d()],iA.prototype,"_message",void 0),iA=Q([c("frigate-card-live-jsmpeg")],iA);export{iA as FrigateCardLiveJSMPEG}; diff --git a/config/www/community/frigate-hass-card/jsmpeg-50dde246.js.gz b/config/www/community/frigate-hass-card/jsmpeg-50dde246.js.gz deleted file mode 100644 index bc918b7dbf8797f677e80c858d4c26a0e0d5c8e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42968 zcmV(_K-9kaAjvLH85mkWim82E^2cC=e#XoThfe1qq#|z zWaob2F8!zR&#i&CWl8oQc=e_6UwCyS`v|YLG{B1|jV-*o(s+f}i8Ow|YgZb3cpXSH zyfmfJDPETnA#F+HDPHH&5-%O;1}{Bnj+d!4#LHOn@iKb3UAp(%r4OUQa$M9@c`zQ9 z%cVcP?S{kY#9}j1Z0vZ8fj^oSXU>CNw3kbFSsa!1+EA~`QK%6@tpt=kA1_>I?iUB; zu~r>b22}KRH6QtoJKtL8@=r_KUoGL*{5<^A9{Ht#=Q)%4e(b3HvB>%|AhID8RT90*9`$?Z#nZVC(o-{EM4FA z9~X9MI`BTP=ch||VK4p1(r7T7<)Cl!J3Be+%Dy%o_>+I(L|ZS?x-?iUW{)|4>UdI6 zQ~o7r<05BCe*Vb{>kus+E$xAC=OVS|rAV>T$enxsay9bZrD;j`geSzyo(22v1yaxU zPX&h0xBHo?X?8|1S*4pBqT%Mo^d)E^uNaxuHZ5~+8;Ek|lWo&PZ0_xrwX=G;4;4OEz^KJ;By zKkGd|U-D+o$j()zqLSaY>T`R&#ldqq-`sn$a(M|jbne{S?#j;rjro^+{-uEgKbqTL zKWQh{!}{Q|wk`F|ZNIM;Pju@-Z++Tsyo>XjH5uslLAHGJ=_TJ_^6HnIxd+l``3>hb2i)CW&BykwGq=av z?*!Aw?ub~!*lL^Nxiqy0#^z)tOe^ivcBQ#WE-E*aqp!zr5tOOJP?@rLbe9 zQrIg}DeS+esqIXreqE8}e>7(Htq(G`a6Je6s6H5a?ri1T4QMQ+ubr_!WhMVAg8JA$ z>&i={j;G?iSG=9sKZ}dO=&n8jBJE`(NF2<-j0LG{dwA#gEV1bL_Pr;vGLq2p&IXTl z0fqR&L|(zr4b!NADE;Tk^PStrBIu_N_yp4I`#Tmy_Wjry7PNfA)wQ_z!gG&E@yXOTab<;72WW|BdVTu7kg zORUW?(Ewpi$^|852n7|v%*@1ptzZObH)ce+6}B#$TQy?Va^lSE@|I#OezHGul!JPl zgL=q8fPUF#=I}6dA>i|c^Rv)|O6Zr#{CQ?zOr8Cwm%1alrU%x4{xI;QNto&GZ*SLK zsSBB)=O9zkAk6GyW>;!L=3oU%4;+)0X5g5bJ3CFO#WT-r|LYPB)AG#u%a-P0vDVH` zOX@(end>g3UYOC@+384ABn$YubZ62yta|$VJe5X}H?~J$&JNIM9xTC9OS7=h==pgh zt&ntQbPT1WMTmU0v$K-!F>mQkmNo=U4>ow;0QUa*`CfX&%BQRO9nstmb07B=S+5$E za{UoJnpc{-?wtqDEGTe?OucIa&o+208$FhUVNc0jV5fNII`{P8jBWQ~Ijj2;V}E@j zF;>?H5+}UAkOYJ4ODWCH`dmWh)q4_WRedZa8B?E0k*3yfrJ!N;zC`rbff^?Dq5Ql^ zi^0mX<4GPG_*lx!9gJfsFVZmo0>Tz+ZfS1Y<5Q@ix$=E?ZpQLBQ$>voXMeoVq3WOW=!ujQS>bK6W0q^U`X5 z4?c|-WuUBg@cu;tr$6wW5jyuZD7(AH_@U+AF92wKhW=}l|DeMA*ITWW)4u_hi03pJgB$nLTCh$UMnb;<4ByjelBxDG$6{OvI>Jyg2stD8q6R76=aju4(8-?7b}pmT#;(mOThBUfqN zWiCqr-oohW$njv5H6G_4Gq@iOy%Nw6a7liIdr__+8!hUuM#4TsAEhVWk_2WR2m5GF zUZglgU^m_=Pz<8um?A-3|2@t?VUECAq>O>JL6LDZgVcmNmEhDF4%4UvsZLOyp0dh{ zddMyjUXZo4Df%sfmiE2-U}x5Y__3m-fqN72oADw#M4PmdVL8!Dh@7<+kldsVeJ+h0 zkpgnzS#Cz|;*km10n`-ea#ToJ?{{JNIhc=ZGa?aE!uV1fpPyrif>xf)0E1i@(%OT2 zFfh;0aluOZBlDdSQpPGGdFL25G5saaroWRYMtcJ}>>ENoj23apwVy z23Bd$!6a^j{T1Qxh-$WTV)-7 zw)g&PzO}Wx82HnzvAKP0R7;wq8zo~_)Js+P)kaE5FRG=Qq?XiTxunvyRw|F=qN0?P zVig`$xug}9YN=LKl~V1CR?=FA3?MrEmQ_h9v#X|*%3CeGDVNGpS%yD4V3&eQkAl0u zwvII!vr6R$#VDyWs7EVSO4^Y~4sNh$xm1yqTB$bD0Vj|kRj@|L$19Lo*&4wRuT(C| zB}GE2*|jnQlvQX|?F&L51$Y3bQ7IWnBb8C0j5aE2#D*Hs0+a)wqCt71q(4BmKGJ{_ zG6KOBa7$Gvp_TM4q+J0d>Ikw`AVZ;I$TL6>SAbV$SVIw;3(QoHpv}6ZtEKWs^$R2z zQ$JdDF#(}t0zECR9MQs2bZIJ-MjRZFaTr?Fl zKta6&p#=mo`x#LZ-W7RzQIknWnFLlju%sU0ABNp1k5CdN8Fk(Op#{B1tDt~Rw924a z8a#pcD-xOmzyv=dP%>0BNdZLw83si{Jpt9;LR+CASq5O10F#DSO>G&}Br*spOF~(v zzZ<3dbx##^0E;Ixf`ko$CB%O3QWiZ9ndiYfpX-H?#&c&7(}?&oYWXQp1h4M-&U}Cf zgUEkB1zz%}_B@x1(8bH%#uBZJK@UxDm_EA}wiiFQrL1CXg2eRs4Hd*0>3qJPq6XO( z(_J$$%^bMHMy63frGWvDjY`_KZwIRxjiD&a!(rWEGGGnL_Qza>V=Z?wDsg^g>L}7= zQRgeB#z~osjbPl)WI(*+IoBwj**u;TWBBMOqvUvKa3D5d13eyP*MlNCF3E|=^|kR4 zf|+S?vP6|)#1K~aYH1PoQ*rFZ*Gh|Mo(iMVNOKmG{x{D zSucR&AcH18;{cGi?(!Z%_R~qFxx3EgKPa|VZ$sP_KE6oD3CYKoCncPj%(F|*&o_WP zdrQ0nbWFM7>{{ZLp;IX2tt;o+^k1YOX7;;APSC)2hme7emP1Q6#rqe|+^<^8C3F}# zP7f;ZcAbU?nC&YMFqcNt!LkKI2g}cSd0}Mi(r|TqYcF4C{rgNk(K zu9hP^k{gT|L`50JgFH|d9Q}Qcq8D11$}lquzdCaRYCOmJqiBbw*k`?v$pagcG6w-a zp?kj_AAR)wMV}?b_zlehE{`8^2F-?Eo=@yes7h4u3=87xzi3YT^GRoCN0sGd2BKYg zeBk8Hk8qrv!09c(YT5ah$N()#VbG%-%_)E03<6F&w|&?-7XjOHmM9_WJ*St10~CEG z%-ivDo{jIEk<9=BLnkvfG5;DnX=NKpD`6p-XJ^u|7%V-zJNI*8p^5GHxn24QXfPaXvDcZ! zBXZZuqLEhM$j0#?7o-yI4aad2#Stjgj@oJ&n2=7aV0G(alI}oY)*gAj3x6q zI!>Ax)uoLzzMjneuC2^BlEy*KG7bm1y!78M?N%ZT*fSwQNGI=Vvb=9$8hx=gsSxVPIBp}ZEk zycVFmHF$Yj3?jwM8tPgxt%3>f%#A}zGAWw5_&d>zcuUC@*u&Qe8=@EyZSaac4;+wxH{h7 zXFb9q6MxI$)1id`PnKR ze{Oe5oo}bsNn5Oo8rwfj`8E3qvKxCp6ZCk35-Z;z#}+3-*zpKi@nJ(Gw6W-ggs>sh zTuDy0Dj#WQ;Kf-p;)p3N3B9|kktEv>PQoQbUKSDL-kv62utqzhm_Qh;PGTga+7A^1 z%^Tp#=2NLG{nW;HoRf<{lNYOZFOWtZYU?TJyi&;uB z#%OpFd?dvQ`53&2O6v#iLcm!U?`=E<9fQ)rJ{}kD-CZ#Y-*9oJyBkPwFeq7DTNLd5o2l1!FwI`A@T$YuDOV#KLn ztr%T2K9K=3pE_T<$^4Y3EOZs_=4WSEJ2n%oC_*<=AikUm*KwDtv; zJka9B&O9>R;EcU<+&>3n-R>Ahw&Jz3?VS!V4DQZv-5}LV&YF)_%cVW%Nq=wf6^zMa zRe`9QPmzcWHx{ru7$56UG0wRJPYd6JzibrY;W#|Q8(H*nIL#s!}dP_&JkMmJ3&u#KMrNJzk zQmqs=6CGkwVrzI}>DeWnRLL|_l@+zkbb2C1XC-;Wl2Dl|=bB=_ogFSuu9+d$-gU#> z*>OuTVGep2i-}o~oST0Ee9DeZj8%7R5tgLb8=(^oU2a0r7$YXk%JeSK7f%UjRnG@O zS)>waL!(Wv!9trPr^_k2s*HbwS2;~3%dBKGgN&t_5R^i$iS3nI8~6=;Xff8!ap4ED za*%2?@7hkXLM=ram#ki@y~d`Z(>E2B=4MWjD_TWYs;d6JQ_$2(x%$3WnC3s!Y&~sf z=Tb3n+krtALxj*m&)HVWKG>#KGrsshP`Vv zYytKz6ReG) zhBJF>GFT1=6MG9MHcDG(AbJbjF~1#kUrZqNS~)MhQ<%9AL?!09apHr&``}|&N3!Ck z4FUv+1HjGsAtK)UDOAB4HSWbrilX4~Y{Z z79TrhP7Xn{q<~nYB+3anlM}qKiSG$0>^m==o%cJ|vH5grwf?xl*TIU3Ay$zx=h$85%@8o>_TFFf;| z6~0G_jJv)9Cw+S!ti1>UuC5bFT{aW4A^v3ha>hJ~pA5kcPY`<)*|PTShy~r2o+h@> zW<+qmW0>>u>I;O7*8(U%Z-1}Aq~H*ZC^jm+Br>7rA>()zb%8zFkxIGP< z9mM2;c#==>l4DviBuKT9w>>F>jc^c*-e408-sKWGSN=6U?Ln;XizZ~>d zgSme^@R!cdc!T=5O6Ubj>cvwb3TL`Rv!Y6 zPVb^~(&|Kl-iYYLvF2h{By3^u%4|eqNU#o0hIL?Z^g%8kZre%I9T4$W`cFZ8F8UkD zKXpcsXb0=s(xyrIz$Rz08U2B8i%!C2Csu3flied#1dzLoqD)j9^+5VQ^a3$?T~O)5H<{YOp~tmKeOS ziVlXQIFCSrIoEIc5LaHM=0&cP!v_slS&Gi2ZBIKpj(BFcoJH>rpq&5%;N zb6{N@o!@j%&imF)@4`Achk?v_zxz$vOkMzW^7&*Vc^k?*Pt z#VelA){RFny^jHkAr07%NIksh?yermkJco><0ZnnLWJ*=2)HH;X17@tYGHPEeOhd) z=rVMDtr>(G_Sg!icLSR8aTrYvpoB||RQX}`i8$*-|$!U z4deBJZmtK*@!#U4fZ0@)$j_|lZ*ww$`$ct0PKxB=Z`L>bReb>`L$}2}bYfC2%72P5 z3Wd~+lpM@K69!s5mYS|jLE$V`E(y15%Hjx!FmW&9=FTrqJEdkmq%B&hnJjqP@3i5$ z`=t{C+^%M`Q+sy6IFWv15#!_mz3ELiCKzK!%kjXc5zXj_mL*y=SZdGHOl5aB1@^+? z1qw~9MEI3>f6XHl^6Weu>wG)!oSbz(pFBTDlP}IX{hPLRE?#Wm+i4Mi9(7xtn}cru z?0jd(+D)V%S!d^sd^94ZQ#@6}*s(CCc$L0j^kzlhe6W|gIZb_I3^B*ZH)ik>1}kAt z@c07h*HS_bEG>4gi&JDiK-df^-qB!V#QT~+%_Y}N8U|?+PZ~;HGpWptxV_6@LBy^l zJVw%jWpONOr;;upX^|2vPT8HLNl$n^C*{%Xq_^_YZpck~m`U1obYCLF9TLve5(zeW zf>}*_;>?4$?DvDw(xp+SH6GI%(419N^6#S_Ua0K7ix>~qAIC%1>6E-68OT5gN zXqoW{p2iNIGInVyYBiM#oXAWbhRHuLC<9BeJcGe#%1#+sZ(sB2cYiqY3Dx>I;6-3o z-u?PzWytvuK6`DEEJiz#0U3-TkF8e!bMxqP>yI0&-R^hJ&LFUC^*hI%lkrb5l) z^L~cOYkh8aZkWWJTIc7T{s~`)oaAy@tIH6&$PlYQFyii(X<@IoGl|VNHmOZ+UYhLf z;U)?vixa8&Fg!Nclp9%sw4cMtww#q|u0NkcY@5&T>;&)ZMKHaeOUX|vw#GTP94#9h z3_S=Bidg}8zF-#=$=a1cNFB522fMpERI{HhS2PpljC#7z zZZU~0Wu6%&NnH6~hb>aZz$k@%ch`i$(SLr2e97#PFK_ISFK_9PFK_FRFK_CQEPM2p z4*5bIB2GH`Z};e^-f?S|ST`c!dm=VdDov!WG?1FoQoWv;)(vdkW~6!HCcwTw^#E*;o2NE<^>b1xeA5NNl|$T z&TC3G4N7ll5#;0x3h+PH7?wQ7RZ^8yD>w|0Z-nG$K&slCY0m1CIK2_($HBVO7P$i!QeoH3r){u-+zx*qa4ZUY2+Tg26fMg?4@^7qlKkfE)#X^8MK z%W|aZi)&#eHW7uX3BX|^%#3+*@{Tbs?tltxCiowLVl!8hyDgl|`Qwlo8ssw!6 zpuNtmS1enUO`I(uNoe4B?RXnW2U{0pz;Y&l6^b8J- zlK8hzB$pQVetHyI zPme%av+|0nQLZodpacvGmPHdDQQ%tUd~dG`?Zfvv^Yl^;ENm9>FnhaTw#43y$YKm! zxgjlaY?3))^ZcA!7R=?YykAu6;N}&?w|t*51@zvz>Rj*b>3IYxn#()Tt-l(lpIn0vsGgo`}kAriu+q;vv|E zc{CJHdmrb7U`$7!jX8JQ;mfyNN}&oMIVdTl5Baphu_?7u7qlP&jE4tcEo5R}t3}{G zPNvJixPV}5JpT973zhs+%<#nzQqKwAe-3VTx6 zlgge{_N1{VjXmk?NoP+6dotKlnLU-+Q-wWMXvc9T1AdS0LY(kIobp1P^g^8WLY(+Q zoccnX{6d8OY_a}b#s@qP*d1^>U~<6UfVBZvIYa+d^b`Vu3IRohfTTh|Qz0O#5KvVJ z$l}YHQ30~Ima{1x>DAdBAab=^Z4?TtJT9ix)WYf-+^%({l;N&mUFlU!u^~m5;jU<1 zsXC@iAf?KR7+4fXpDe4ui=qvL!J}T$-a}Z#N*8(Qd{L>D-`iZr^F zeQr|h=0zTiTfkG~27o~(NFPij3}2}rr?bfE41kJGUYg>-bx?rfjx;ux#g;TO=S2qw zXvJoc$b$NT3NNUM)nK}Xsl>=NJB6Oa>oCW~ro@|Qj*2shbITkR@Sd7%HVb2k(_;3D z9f>#BoEF_6AXx*?*C-fkbT`O#y|89XSK$WOSH@>#xdAuOHVvPV;R?&I;4|`DW6xMD z$!&#!V$t7a_BzFEl_5p?{spXF6RU-tXCx!X!xXF!`5vZVi;??bicTqoND8t8dm>Ch zg0Vls6yyu`3Qqw=ddWTH8$Tn9#=}Lsnk+>#!Uci2aVsOIwcMOFOlL*sg5x!X3+9qA zkp*s>vNCE)ETwvJNk>%n+t{QY}0C%v#E4#{52Ce!fEtGoeE z23wPFN;lHL-i{`-gSmJ)GyThkbTL_<36qf*8-Z=i0twihH%#P3_GvKDh%QDquVhKp zO0`N^g2A_HNNNop@T)2Y{J^~~m1QaR{~A#6kwkK12q06Wsssc48h&p@QsB9Qi1Di{ zhNM82BIy#`sgi=fm6-j|-MN+GhW=Og!={5X%icvwz zbWPHLVnBhPc!3tscVH@#4#*YBr~>Jd0U(B?0XU$pNjku4*qAaD&?O!482CA-vUZ(^ z7HwW(ooXaCP@%e^1xRuYX~)DeCF)_KR>>%dKUGRhq*ss`u|$;`PaMijG^%k7RcdEh zD%V7!5lgJbTbsQyJk?^>wEt^=sL5F)%Tz;wwK{&Wio}M=Yz1T)(m+yBtSBFN3VjSR ztg}P|WfOrklthJ~4H8(Lx&&ksrCOFYpoc4V6A3Y@pp2ql;i>}|RZ=5J1EGdrR2~)4 z)u0d*r{=x3FiLFDQp%#45`Ha-FfpZ8=<`NZxI>N8@k&NOCaTK3ltzD5(k6ri_0p?6 zk9~idsUO0Fo(6`aLVrR2pkBlUa#%t5iXl}Hz6wSIVTy3Auxkw=YMN9dLV;2l0Tdai zlo3P$L!u};ub@VM(YgSeRB8})M49dYS|ey+vZ4us6-F_~p|G}bh5&N9V77wf5KW4% z69CjAZq|wqb`u44`k{D z8AL!KrUQYhQl>k!C!*t2Mybl%#2BHlHY$wo3hO?NwO3>9)mVEqhDT#qG>(&DQ5hDM zVNn?tm0?jC7L`jxN(AwZHZv?j_Np<_!yXPqkI|ZmB77;HjVCI?av;M@N`)jd(MZa3 zk(`1YSQor{4^aH12hdX84+e6 zxGg3lB5El!{8%P1DNMqt9&U%Kf^gsz8Wc1v!dMA8S3`-!I71idW%OI1Eu`FNhg32o zs-bd=6j6EZ3^Zn&h&EM6_zG2^lckc$YN?toteMJOOPO0P6~h*TM4${1I#)=wN|{xR zLIqQ~hCm<#qN6btmO)+;jt8r&U_>eOqnu$0F+kEVB&rY=#7Pxa@Rzeo5Clyl zN2bZpx*D|(f??d3jcEu$qKnR4H^_#93nwONq}WWb!P-;|(KAZa<3Kf91wSH66_@ch zut!SNnpdLcoBJt)V`L=^)=I4sHPJe|7;*E>0Jsx0w5S!=`Gw1`8Z{*bqnVo|?mD^A z;bv546&XgK3pDWMG7aK(|F|1r`LY3nz@(frwe4RL%hws;Gj{ zqQN_rED?`Y%4Bag~V1MufY{Y)GKg#TpqN z9)W~V)vfj2P zy)SbsLRw-0Ee`@JJe*ZR7o6pJwZJQfHlPm z(krzRh-{ozT@Aw)BcPAR4zEy2uQ-zjHKa9938E%JrdDIbu+a(Ggctaso3rOU_W}t3Dt%TnOb*lvyKn6R816Co<6>c6?L)i2hV+*~D<&uWOZB#co zi1O8{!iNnickyi4KrWrNUKY+BRf#w-2@0raK?E*yD=bW;2#v8) zRAHv1s8JQVtIEL$p&~{I)u;zo4es(ajoWJxd)Fe;S*eJ)LU=bBJQ8|Z=EuqJ^07lr zcx9YoVICNLF@^o;$C>`4_vT?kt;%(rd^_{Ey~g{4oGGpDl%ui=9aI)wCPJGUZ&{VQPR)SWfH_)n(kPTHl*X8bVg_`#%)z6pMwiWE zeUcswEzqCKESeyJRcX45oG``)a!q(}iZC>dd3%{TYv$=OHYf-20*eyRfiv$90;iMw z>CiE{%3LJEQyR|PkO7BA!EYsyA_I$o$ssw_L0t480>s%d9In(z|G-XZZ1k-`I>o>E z)#Sj##Oyvds-PGZp(0f-K0HTJ#ek=#^Eki|k$}u4yNcxC%!N@7)e{;A0;wB9V^K`B z8qVh#K}Q2!I?l=|{K=r02Jk_+K(ho2K4}!u0DAIEI#6bico{NI_7N-ytwADefCw8T zxH>42PR-J5IN3sm8Yc-Uf-yh|3^fQ|`A7*=OBL!_=3zCru11x+xw0-RJn-h03nWtG zOjEOF3-qX;Gq^gI%R%S`wChM4vyb>&V--St6bJyCQXrl*r!3=#<%15biBQY{5if@$ zOEk4$VM*-_P%)z-hmpQv;N(xJ|5e+8=H{iIa=!py^U%7db$Md&eQukT~kPECt)s>k70p*p&{Ys_e+a%U_<4 z#ZU77-BYq82R|~f!p&x-^}xG7rUyKJDmXCfl_Ru7v12+Q;7zA#{jHO#vd(u=-gJN! z9suJEW@!rqT4%>wjEt?h>u=%Lw49ke-g>nC zZN4!%`;&{D0KSQBBYomi+ff+8yZO9Gu|!mqjvimNv7U+T-_Wsln`+v8%H$hc;$_w# zS&=%@CsRg?@>3ErMJ$((p1>$&e9ha(6*q`ZZtZ$hDh=zl>Avi;sE-^?2go zs6Zm8_F!>QWuMEq@~$PD)-K|$fO%8zjGZx~B1M6Z+{-$m^Yt_1{EcVE{i+)Q0J@Sv z+)UYla50gIe10@}ZXD8@PS29vtOKS}=a2oe$Pli&koTq|N$u!aq`)_j8Txz%r5u213nrly#ZWPKNvE-G%=QL&vN)MD z7*4_n#V)loO5<_#n8iNNRXV#oIse!>>z>_w?Vhwhf0g7{a}9;+`eI&fz?_{7-l}ww zoLtiws#6zNGub8JxI1FYM+tdYDE5S?JX}0=Fu=t;^xc@N#3}^=6i-S({<;=o=4AYHj#|8~*7>6wAahpZxPy1&2N!;G~XHeeHa##Y~*?7D}{~S?9(x zScB3$GWw7}C%(w?PZ}LtoXNWR?Bs|CkF;?=)o6PT5z2~@UzZyjj$AHUp>Jj5uK4-B znctaFl#K7KsDamrrA^Ft>7$nLi*_`+JLp@-og1(Tt>xc zQje_5PQTRcis6Es{RJ01wE&TK_Y^H&G~){{xRs@JW*wg%@iSrv^lcE$G|fQ>?3pR5 zRJLnHm%0U0;h$kyzWD<`tqe-=GcPTwi0t{N&)t*ro3ryyzw>#2o-R+@3+u@6^cU{s%D$)p2*m}653u^o6jdC?coD|6mh z?M@r3>>5`bMI7-e8}TZNc%5RKQdgw~G;jgcE%5MNQS=@X?|0XY`wSZHudf!@!RHR* zUXNv_r3Z8hG}WTz|x^P3difkI;zBWHlq1eekA17!`)`x8cP8qfA}oEdF?S#vce`5SE)oq5A#J#;H-=Fm zI)lVBQ28?<{Mh<4a@1ZQR-~-cPxV;vaxnLx#CaSnByvpUX29p`_q z4)!f1+ys5HZ`BZTMpej0kwGGI6=@W|Br^zDYzNXX> zp9lyYQ+AA)^v>FqbA4r9(l!)LoYH29r%Dxt}7F@7c`7RG?XxgugQK6g1Z#V~W%)oR%XwPy3 zkGnr>Sx21%3%^Zu)3nYySMEQw>p~9Vv;hj*-rnGaeH{=75f6Z(;gu#!ceMyMSchz2 z_Yk6?;&uPg1WLLenhNqqmutq3n=jzLb4tZO(2`uUh(s|cR+Y)Zz?Qhr*++YaZF9;Lo?Ck?@a97+e$F&L#2=}5Y0;O0QEt3GZV z)D*k{87vvHT$a^Zt*UAU?)0M)MNuNpb{`5T%7pdJ@?$QlfAvxiGy#?gW8_tSDR(PEZF_U8$+nGJbM0=M_(I5@J#~hT2Mos_He!(Q7*H zvpq&V8Wawp0VSgh%+WzCtJoKV;vs6wvM>aul%VZZRjE`p6r^Qwh$=BJ^nuT%O0^2w zQ&u(I0N%`teU$uO;THN%DS--?E0uE9sDX;~inl1=>(WDoJ(E-ikRbMi7`S$1^`1YU_Sx&pCnm)g6v*5hvu4#NvyqVtZxlC zNn+!z86q6wM7TuW9O1BieQIB{aa+i)C+dID#k;k=dB1ptRq=1H>9 z2_Yx|#pb;9;!7JuZyrZfu&V386^-Yg#A>|U#IhW;$3B} z4D0U9Y2gu!aYD(b#YfzIKPt4rz9*D?RBY$LFRcm-@G}V|UlkX5@FTZ{5qhq;1l|@$ z=n9SsQ)pvC0*{JQtnUZVd6$&HA4n%Q{R~=?kiaIkuW2rTV~eCjEEvmfp}uKSB5tw1 zTfq4PN+deFiExM$;SzZZgj)b#kd{P!Bcx>n?Yko<6|3(E+i(Opi7!c*ZtwxZt+7Xtj|SSI?z5Q zu(A5O*oH3P?2w=*aCR8ZN9ncz5$~HB#kG*wRpsmbe;sIi^nX<;7Ne9*kws&o&+@) zCoHMLk~E;N*knmno`lp7SrVsSL+V?UROZxcNPUkbaq2ase!-GB^%_z?XGxrT4XGbd zl7>_d=oYZD8x6_+LAP+nZZxF(kZu8j-yq=!Ec@DIH!4!TWPHCi*^P>%pRv|lo9sqK z+WU;EYm?omNPLHG0fODANd1g%0W-T%k^Cv$0tM_w#dh2?nt@byr(#3eEK$LO2q_U; zGG>VY#P6^vckC9h^E+(I3A+U{_#HNe$r!jCE^Xj*O!0QV@iFoqiq1}xK8n{E<`a95 zabwhFiQU#!cB9}*&yVcYl=;-{cI%1+e_*`IGH{yJd}42L066+m2THattfQOON9*LI zbA%W_pL}Luk(VsNR{3Dt7JCh^S8YwwRGXI4(<*jVw{hbVra-X#F?e;8#(>-5t8_4d zE>&s!heCVX@qh)kDM_V6Daud*TQE;YFR=3@`1uD}z_@3l%qmY#hNM2Yb){(r*i+n% zUoLCln{lnQqE%oZ$Pgsf2&C5>T**?gWMuy;(H}~{KPvm7Tl}NJ4_)z(4nKIsAH0_F zPX)Jb6{~n#BQ!GoRdKfz?xdn8Dy~%MZw*jW8I@H-B~-$tLY_u+Xi%3%X&PbGsjNWlzwT)JjFJ&|idwZpI3#NJ|wfsAy6di_=yJxT=`L*#SRQY@cXBg<4vxGR`6E zK)HZl)C5)L+@fZw2D{WKQDZ#R7#gk0d4(Ot%IP)6A`Q7!W{i^Y57ATv9|pBU(~1=x zcn{GZF-bwLVM4V+SZXrsUyb<2lB&cuMjP<3jDJNSyLdI#yx-)CZ$z_VPtdyW`#X#h(tA5U#S%)b!v^tr>0PI zphHLuKz@mM=wpp_O@;NY24NS_2CU#c#Uxs*P-$JS0n>4F3q4ijD*k0Hgjks=VGT71 z`W5qP72eBudV^kLb?P-nxn8Xh7O+2nlhLIcOgnVk{e$&mo{WFBDyC?-O+r(vct8u` zR?9kW%px6v!3LVJawY6P0}sccI%~+>G73f6!0oPJv$&w5QX8m zYq%v9w;+J3GDcJ((j+OXXoS~b)PoY1*$s?EP(w784#Ci&<9SaS*vUqXsg6>v*0|}R z)%u0CzAp+XH|_ZHAS?U z`UnC|RvU!Nx{9(PvyRnN+-FkMfcgqvstT7GjXFZFa+xyJ8eJ-Qz=DQTLQJG|h09h& z<~KD1?PWzVn8~c*Ml`tSYLzY^0a^t&IEj1AV5I~Q!y!^66wDReX3Q6TAv%Zk73(JEtbrO8i0n!Fk3xmXysY;P+PLb58$aShn3RdLW zMw-WT5F109NlHrk%9WSvGATCcI9GVC|6~lfWgs&_7K57)ZcWIva63arhg%?Skhpy! zW5q2OH)PzdaWluQ9yfyACUO%=_L3V!2g8dR1!I74;=uqY5=fph_)i^HUq@k3L({D^H2C z%~#4cBb0})yMZt;+GRS1Z1WFPgZnkvPdWPs4>9}I4<1OD{6X9`Dfr2x0C!pc&QC^@ zb?SWVP#9uM{8pp02FqDV6_Canof)N&oZ>$Hu$=Zv8H3K03o+`imwjv1MnVFwp4iLz zx+c-fc^IbS`|!H)B8eO$o>K{PDm+JKIa-)gi^C{#n57tTC_T*5lz3Kzh_V*XDn}5i z2|6Ma;t2tQ|on-@dN@cf)i`6X*v(Tshno3@ua zzeI`qXl_Q+!F+Dd-ni2-j(|4nyn?|qoe$CZ;!^YSymNMQ+UehPj_7z+$u;d?70KGm zc%Z4_W=2o)3Sw6T1Eu!}dGVe4&5*9-WgZeu~8ruthiZ`Bb&qvM- zZ}F6Qu;>F19{~P-HS?Xt%(2H72YU$&&SVxN9>v3*`#@uEdu*(~Ob@R2;JUj|1d$5;4HyI0T@0*w1;lb<^%!Upb+`vB`39&$WQa zJY`8at916!YIpkhhWWhn?WWrXU(-Fml!6SfW{2p2ZZ2E>R`cfk^G*M-Y0=REs3(^1 zFP-6$*d!LMPugaLqXFV(;tM4(7{(6=Gan+!r>+Cyu*^9yVD?J~N1v^8U^z04x5j5( zdKqmF@8+B=ZHw&fcyaOhxp;XcDBl_;0hU<+Y6!3t0C-FXn61-)374V0?e59ptNe{u z_-|sfH+5IDaf{k>841hNc?a1hBBkkpk&yhXfm6iqPi7*jnb~2tS|#WfJn>47%UBRqW)@Zw683s& zH6dPk=>3%!$OxJuOk&U?HL6b=a^uo~g(Bv}ira^HCBo!n*qDe#2j}WO*#A-|@k^Ay z;U`kz4G$J$RWb=-2fic@0g41d^0O5SedK3fN(Dz|2q2|nBQpXoalwoBcC25c2N4j$ zf@19L>ASmnLx4Vj;^7QM4xNV+rH)z@Gg8UZjY8z$^K8>en6!L22ZMqmk{uzpH)T`-gWYiA`QgK{b$D~oJvs+rb4o|ulaAGYJ8bvlw_(5bt<#$`NN62FD2{Hb z(?0C{J@E4^@YUSGjX4T}f<3-qkJ%0n;zIC@cGx4rC%mmkgm6T9WZ?UQ(e!LeheFxH zNYY#pPjrM+VV(pCK&syY7x)|w=@aD4ncoRQsM{k_Ym3H3F}<;IyjqLq7#wgf_;}{7 zmLnSp#G2v+;^`B_a`qhbVGd_5Tc3|lyGNZH40bNg@~J310*Jer9#cn@OO^M2PlIi&9FcTe#w%?R-sTjIpXj*mTKTP>lV+$>WnCQ!Id?wYt~ zPa5D?rIm&_;%jrzv$K=4k{=7QcqEQT&?K__Aj?T+iK$EIF>j+wU>dtxj3dJ4Z3t3m zZ=m%$NHSERy@dYjFv)<0U>u}6(s^EH=V9-~u%s9Afdsmx0hD+M1E;*?#! zXjR4-@5;K~cah?=)llf08`n4HKyAPsYMGnRGEYpfq_E>Oha1)A1okLatVRAsJv?HK z1dOkl(}t7g(JNk?MSD&nAjOEmDs{cH)dC}mL^Qp8MD2RF2AuA?M6(xtQbSN}9)QIU zP_lkG{lsnLyWBe~WAY`xvy({Am~jCXOD$B~2xrI+TNX4C#cry6bmRyqYAKWP=19!1XTSd84t;m&{6fFpeT1}~x zS+;@)nIkZ+ABz{255IsMnw8&r z&)JLRU$(DHf5LD#xBXvp7$hf$+HaE&Mx*d)ul8;>>qbE8$aZEqfuooMN{a%p^q9|Y zYTQV||4KfiF^LHUXv=_x_bcCKgt2km-=bIKQS|~E=sI;hhvu$1Svi&qyawsoDhkFU z{+xpHm6uT3SdXM>XR~pi|7XpP^YQJ*32Ak_{pw8TrnkcX>7!o<-6ciWQ8r-HyCR2% zwn?;nj4KXN3DA_r_{DbBF#blA8|yqLtIO;dbq%|8>&#|n{^QIxxBr)_s@oDv>f0kW z68AA4iWj@Ry-gHziq3nAdfr=`!&=@2m#txIdG4a$;*nBDyW^8(rNt`3#CUO<&%-(+ zc;66D2Ol#JkDbU2sh4IGgXoqiOLIJ&#cURG&0<(G&ktl<@}q7jk}Vs2>US2vPTW z0YKg71#n{=6c_>Omlp1foZ}y;X@+St+>}1$L6r2z1~bgXQkX5P)EbPY_PCY({QL}K zog9xHX#rA@!4n~zyL0?#78m9T_@B6KVCMRe{8H-Wz8L_8;0QTKm5ZT?t_XF^dRuw|i&|$KvHeaY>*crH3bA$U zc!IO9aIjdEg7qO;`QmuDpnGSo2OddEiWCi6&}89SgOrg>jr@ZJD}sUI1gL{>a%Mxv z?An5+j83!j62?WF@(X5g_Nv7fKM=3z&%EQY9B3p_hJwq>+68aGZ;$m|= z@TaBw!Ou-HP{hNBWf4BO+4=64GxEYRhYzNmg&>{?FM1O^`O|CeSQUjt~;f<>)W5_a4!M#u%+%w*zT!4 zy6fIv@MeW;7a&}biRUy69WRxLXe}}z*lOUUZ`0i9>5+8_BR-ln?mRzd6*=ghbk9C^ z+N{ieE@7Nw);e64l*>pJ#xl_bWZ&|2e^-%rcHZ7_Xj1{=CPkKM`X=ro(!%?}Ii0$5 z``I}ijNy+v{(vt+JU=%dJUEkq?=ErbacNCJ_+Fb2;;QiXTsoha`6I)!ll*;qJ=g#d zfgZsz3j2l+=lKF+T1usZ;P|L*-km$X;H_s~U5BS>KH`UXqBGM6OZWZ&-!GsDVrQna zxpW5wUh|pj?4_rOEku=LA-_n(>JxH`IvlKPi?s#F9Amix;H94xjfy(BXuEkrmagMU_JFST^JveH2bFc6=vDMRbK7P>W?MHllb!Lk$ zNtP6=$YD6Ve5B@owTG7H+4sZQW9gWZb5DG|a9uUZFJd9j6N9No;3alx4m`UqOE)*{ z@n*=LeGE|Q$tun)HWD`>N0er8+wQ? z_`12d82|-K|K@h!%z|Q+gv-@pWxe6@P87lWNahPaMSOWDj{9Pv{+h|gZ~d3Fk9Fu10*;F+qD zTppf8=w0W6FgZbX#?qMB((=@cs!*Q8w^?a8O--Gf@ixc<4jEenmjTM&$bvX!%-&ES zws6-uRmzq%3jtAGf{>p;Xu8$<;OF1_#3>TzO|wIg6@KGkc~>y`EEwGHrRj}+Pa^t` z21*xSEiKt*NSpH^=Gpk_P!2j-LW@NVoD$C9h+Nh(Qu$cZQu|I$gMBAdcv~7QCp0nY zyvL(G3u11SokdT#i9(Q(Fk7mUO6~F0-a_R%$%ZDcD($1 zu$=ErJOkz(q*NhAY-F*(kHx13!wnsB!wxrP*f@2>YS@NRG5DZu7}kR8cW<|>EBksM z|3IWRShn1;ZBa0bNhCc)(mT`if|q2xqu$9c!CAt%2y}a}Ep2=FE@=BYzn^o=nuKP^ z!*4}zk0JdLeu1Ui4*bsH_YTWFg|@Yh#S`LBX@L(3pJD}G>bdMaNhj{sn7V7rWBmoD zYBe8kIdkgm?YzWe*W4?6n%HN~XipPC3#eblnC~L*9EFcSphMed`_(eSQmfRmS{SS! ze{NqKb!clTtf!>#Nnd z)oLGZ*UgFbt=ha*t=6qZ*CwUSYagsbyg#U2THilVS*>baS|=ZPIr#VKuxXvlhV#qM z-;~2x|NX1-Fq+S9FYgcj`rbSF zz{?&EzkczD+9$)Bv@C0KTsyV8ZEMo$G_B)ivj-RU+lJ>uYu&RftR^VK^DV1ot-DP~ zYq9dj9cz8uYOY5gTh`@~HLo^%J?jYC24%gElgZ_6XI8r%9oGIDAJi7Z`H6h_)sP2Y z59IGXtJeHdyC2qWx=41(*uY1Ag?Z z)8@(T@SFAcP3_Mv)!H5K==M_kG`sxPpIJ@$9B{6WXORB&NX`}lY((WA0QtbLto7zJy3@CEQ3ewiPC ziPm}Y_?`7xI?)Im;?T?YUGx z@wQlFY|Hnrqn~O1Q@wZ4wuOCvVYObvr*V8%^%Z>IAA#R9=%*>t*P3p|H#q!4eQ8

DbyP5qnosN_m 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 z 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 diff --git a/config/www/community/frigate-hass-card/jsmpeg-66c8006d.js b/config/www/community/frigate-hass-card/jsmpeg-66c8006d.js deleted file mode 100644 index b076d34f..00000000 --- a/config/www/community/frigate-hass-card/jsmpeg-66c8006d.js +++ /dev/null @@ -1,12 +0,0 @@ -import{cL as A,eN as t,dC as i,eO as e,a as s,dD as o,dy as g,dz as I,dw as a,cQ as B,l as r,x as C,dl as n,r as E,_ as Q,n as h,t as d}from"./card-c642ee74.js";import{g as c}from"./endpoint-cc3caf82.js";function l(){return l=Object.assign?Object.assign.bind():function(A){for(var t=1;t"string"==typeof A&&A.constructor===String,D=function(A){var t,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t=A,"Promise"===Object.prototype.toString.call(t).slice(8,-1)?A:new Promise((t=>{A(),setTimeout(t,i)}))};var m="WJ3NAvwFY9",f="tR2-0dd-e1",y="ZgIIHVSSYI",R="kAA8SjbHe2",k="OueN4AU4CJ";!function(A,t){void 0===t&&(t={});var i=t.insertAt;if(A&&"undefined"!=typeof document){var e=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.type="text/css","top"===i&&e.firstChild?e.insertBefore(s,e.firstChild):e.appendChild(s),s.styleSheet?s.styleSheet.cssText=A:s.appendChild(document.createTextNode(A))}}(".WJ3NAvwFY9,.ZgIIHVSSYI,.kAA8SjbHe2,.tR2-0dd-e1{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.ZgIIHVSSYI{-ms-flex-pack:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;justify-content:center}.WJ3NAvwFY9,.tR2-0dd-e1{display:block}.tR2-0dd-e1.OueN4AU4CJ{display:none}.ZgIIHVSSYI,.kAA8SjbHe2{-webkit-tap-highlight-color:rgba(255,0,0,0);cursor:pointer;opacity:.7}.OueN4AU4CJ.ZgIIHVSSYI,.OueN4AU4CJ.kAA8SjbHe2{display:none}.ZgIIHVSSYI{z-index:10}.ZgIIHVSSYI>svg{fill:#fff;height:12vw;max-height:60px;max-width:60px;width:12vw}.kAA8SjbHe2{-ms-flex-pack:end;-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:flex-end;justify-content:flex-end;z-index:10}.kAA8SjbHe2>svg{fill:#fff;height:9vw;margin:0 15px 15px 0;max-height:40px;max-width:40px;width:9vw}");var b=function(){function A(A,t,i,e){var s=void 0===i?{}:i,o=s.canvas,g=void 0===o?"":o,I=s.poster,a=void 0===I?"":I,B=s.autoplay,r=void 0!==B&&B,C=s.autoSetWrapperSize,n=void 0!==C&&C,E=s.loop,Q=void 0!==E&&E,h=s.control,d=void 0===h||h,c=s.decodeFirstFrame,u=void 0===c||c,w=s.picMode,D=void 0!==w&&w,m=s.progressive,f=void 0===m||m,y=s.chunkSize,R=void 0===y?1048576:y,k=s.hooks,b=void 0===k?{}:k;void 0===e&&(e={}),this.options=l({videoUrl:t,canvas:g,poster:a,picMode:D,autoplay:r,autoSetWrapperSize:n,loop:Q,control:d,decodeFirstFrame:u,progressive:f,chunkSize:R,hooks:l({play:function(){},pause:function(){},stop:function(){},load:function(){}},b)},e),this.options.needPlayButton=this.options.control&&!this.options.picMode,this.player=null,this.els={wrapper:p(A)?document.querySelector(A):A,canvas:null,playButton:document.createElement("div"),unmuteButton:null,poster:null},"static"===window.getComputedStyle(this.els.wrapper).getPropertyValue("position")&&(this.els.wrapper.style.position="relative"),this.els.wrapper.clientRect=this.els.wrapper.getBoundingClientRect(),this.initCanvas(),this.initPlayButton(),this.initPlayer()}var t=A.prototype;return t.initCanvas=function(){this.options.canvas?this.els.canvas=p(this.options.canvas)?document.querySelector(this.options.canvas):this.options.canvas:(this.els.canvas=document.createElement("canvas"),this.els.canvas.classList.add(m),this.els.wrapper.appendChild(this.els.canvas))},t.initPlayer=function(){var A=this;this.options=l(this.options,{canvas:this.els.canvas});var t=l({},this.options,{autoplay:!1});if(this.player=new X(this.options.videoUrl,t,{play:function(){A.options.needPlayButton&&A.els.playButton.classList.add(k),A.els.poster&&A.els.poster.classList.add(k),A.options.hooks.play()},pause:function(){A.options.needPlayButton&&A.els.playButton.classList.remove(k),A.options.hooks.pause()},stop:function(){A.els.poster&&A.els.poster.classList.remove(k),A.options.hooks.stop()},load:function(){A.options.autoplay&&A.play(),A._autoSetWrapperSize(),A.options.hooks.load()}}),this._copyPlayerFuncs(),this.els.wrapper.playerInstance=this.player,!this.options.poster||this.options.autoplay||this.player.options.streaming||(this.options.decodeFirstFrame=!1,this.els.poster=new Image,this.els.poster.src=this.options.poster,this.els.poster.classList.add(f),this.els.wrapper.appendChild(this.els.poster)),this.player.options.streaming||this.els.wrapper.addEventListener("click",this.onClick.bind(this)),(this.options.autoplay||this.player.options.streaming)&&this.els.playButton.classList.add(k),this.player.audioOut&&!this.player.audioOut.unlocked){var i=this.els.wrapper;(this.options.autoplay||this.player.options.streaming)&&(this.els.unmuteButton=document.createElement("div"),this.els.unmuteButton.innerHTML='\n\n \n\n',this.els.unmuteButton.classList.add(R),this.els.wrapper.appendChild(this.els.unmuteButton),i=this.els.unmuteButton),this.unlockAudioBound=this.onUnlockAudio.bind(this,i),i.addEventListener("touchstart",this.unlockAudioBound,!1),i.addEventListener("click",this.unlockAudioBound,!0)}},t.initPlayButton=function(){this.options.needPlayButton&&(this.els.playButton.classList.add(y),this.els.playButton.innerHTML='\n\n \n\n',this.els.wrapper.appendChild(this.els.playButton))},t._autoSetWrapperSize=function(){var A=this;if(!this.options.autoSetWrapperSize)return Promise.resolve();var t=this.player.video.destination;return t?Promise.resolve().then((function(){return D((function(){A.els.wrapper.style.width=t.width+"px",A.els.wrapper.style.height=t.height+"px"}))})):Promise.resolve()},t.onUnlockAudio=function(A,t){var i=this;this.els.unmuteButton&&(t.preventDefault(),t.stopPropagation()),this.player.audioOut.unlock((function(){i.els.unmuteButton&&i.els.unmuteButton.classList.add(k),A.removeEventListener("touchstart",i.unlockAudioBound),A.removeEventListener("click",i.unlockAudioBound)}))},t.onClick=function(){this.options.control&&(this.player.isPlaying?this.pause():this.play())},t._copyPlayerFuncs=function(){var A=this;this.play=function(){return A.player.play()},this.pause=function(){return A.player.pause()},this.stop=function(){return A.player.stop()},this.destroy=function(){A.player.destroy(),A.els.wrapper.innerHTML="",A.els.wrapper.playerInstance=null}},A}(),S=function(){return window.performance?window.performance.now()/1e3:Date.now()/1e3},G=function(A,t){if(A.fill)A.fill(t);else for(var i=0;iA&&this.loadNextChunk())},t.destroy=function(){this.request.abort(),this.aborted=!0},t.loadNextChunk=function(){var A=this,t=this.loadedSize,i=Math.min(this.loadedSize+this.chunkSize-1,this.fileSize-1);if(t>=this.fileSize||this.aborted)return this.completed=!0,void(this.onCompletedCallback&&this.onCompletedCallback(this));this.isLoading=!0,this.loadStartTime=S(),this.request=new XMLHttpRequest,this.request.onreadystatechange=function(){A.request.readyState===A.request.DONE&&A.request.status>=200&&A.request.status<300?A.onChunkLoad(A.request.response):A.request.readyState===A.request.DONE&&A.loadFails++<3&&A.loadNextChunk()},0===t&&(this.request.onprogress=this.onProgress.bind(this)),this.request.open("GET",this.url+"?"+t+"-"+i),this.request.setRequestHeader("Range","bytes="+t+"-"+i),this.request.responseType="arraybuffer",this.request.send()},t.onProgress=function(A){this.progress=A.loaded/A.total},t.onChunkLoad=function(A){var t=!this.established;this.established=!0,this.progress=1,this.loadedSize+=A.byteLength,this.loadFails=0,this.isLoading=!1,t&&this.hookOnEstablished&&this.hookOnEstablished(),t&&this.onEstablishedCallback&&this.onEstablishedCallback(this),this.destination&&this.destination.write(A),this.loadTime=S()-this.loadStartTime,this.throttled||this.loadNextChunk()},A}(),N=function(){function A(A,t){this.url=A,this.options=t,this.socket=null,this.streaming=!0,this.callbacks={connect:[],data:[]},this.destination=null,this.reconnectInterval=void 0!==t.reconnectInterval?t.reconnectInterval:5,this.shouldAttemptReconnect=!!this.reconnectInterval,this.completed=!1,this.established=!1,this.progress=0,this.reconnectTimeoutId=0,this.onEstablishedCallback=t.onSourceEstablished,this.onCompletedCallback=t.onSourceCompleted,t.hookOnEstablished&&(this.hookOnEstablished=t.hookOnEstablished)}var t=A.prototype;return t.connect=function(A){this.destination=A},t.destroy=function(){clearTimeout(this.reconnectTimeoutId),this.shouldAttemptReconnect=!1,this.socket.close()},t.start=function(){this.shouldAttemptReconnect=!!this.reconnectInterval,this.progress=0,this.established=!1,this.options.protocols?this.socket=new WebSocket(this.url,this.options.protocols):this.socket=new WebSocket(this.url),this.socket.binaryType="arraybuffer",this.socket.onmessage=this.onMessage.bind(this),this.socket.onopen=this.onOpen.bind(this),this.socket.onerror=this.onClose.bind(this),this.socket.onclose=this.onClose.bind(this)},t.resume=function(){},t.onOpen=function(){this.progress=1},t.onClose=function(){var A=this;this.shouldAttemptReconnect&&(clearTimeout(this.reconnectTimeoutId),this.reconnectTimeoutId=setTimeout((function(){A.start()}),1e3*this.reconnectInterval))},t.onMessage=function(A){var t=!this.established;this.established=!0,t&&this.hookOnEstablished&&this.hookOnEstablished(),t&&this.onEstablishedCallback&&this.onEstablishedCallback(this),this.destination&&this.destination.write(A.data)},A}(),L=function(){function A(t,i){"object"==typeof t?(this.bytes=t instanceof Uint8Array?t:new Uint8Array(t),this.byteLength=this.bytes.length):(this.bytes=new Uint8Array(t||1048576),this.byteLength=0),this.mode=i||A.MODE.EXPAND,this.index=0}var t=A.prototype;return t.resize=function(A){var t=new Uint8Array(A);0!==this.byteLength&&(this.byteLength=Math.min(this.byteLength,A),t.set(this.bytes,0,this.byteLength)),this.bytes=t,this.index=Math.min(this.index,this.byteLength<<3)},t.evict=function(A){var t=this.index>>3,i=this.bytes.length-this.byteLength;if(this.index===this.byteLength<<3||A>i+t)return this.byteLength=0,void(this.index=0);0!==t&&(this.bytes.copyWithin?this.bytes.copyWithin(0,t,this.byteLength):this.bytes.set(this.bytes.subarray(t,this.byteLength)),this.byteLength-=t,this.index-=t<<3)},t.write=function(t){var i="object"==typeof t[0],e=0,s=this.bytes.length-this.byteLength;if(i){e=0;for(var o=0;os)if(this.mode===A.MODE.EXPAND){var g=Math.max(2*this.bytes.length,e-s);this.resize(g)}else this.evict(e);if(i)for(var I=0;I>3;A>3;return A>=this.byteLength||0===this.bytes[A]&&0===this.bytes[A+1]&&1===this.bytes[A+2]},t.peek=function(A){for(var t=this.index,i=0;A;){var e=8-(7&t),s=e>3]&255>>8-s<>o,t+=s,A-=s}return i},t.read=function(A){var t=this.peek(A);return this.index+=A,t},t.skip=function(A){return this.index+=A},t.rewind=function(A){this.index=Math.max(this.index-A,0)},t.has=function(A){return(this.byteLength<<3)-this.index>=A},A}();L.MODE={EVICT:1,EXPAND:2};var U=function(){function A(){this.bits=null,this.leftoverBytes=null,this.guessVideoFrameEnd=!0,this.pidsToStreamIds={},this.pesPacketInfo={},this.startTime=0,this.currentTime=0}var t=A.prototype;return t.connect=function(A,t){this.pesPacketInfo[A]={destination:t,currentLength:0,totalLength:0,pts:0,buffers:[]}},t.write=function(A){if(this.leftoverBytes){var t=A.byteLength+this.leftoverBytes.byteLength;this.bits=new L(t),this.bits.write([this.leftoverBytes,A])}else this.bits=new L(A);for(;this.bits.has(1504)&&this.parsePacket(););var i=this.bits.byteLength-(this.bits.index>>3);this.leftoverBytes=i>0?this.bits.bytes.subarray(this.bits.index>>3):null},t.parsePacket=function(){if(71!==this.bits.read(8)&&!this.resync())return!1;var A=187+(this.bits.index>>3);this.bits.read(1);var t=this.bits.read(1);this.bits.read(1);var i=this.bits.read(13);this.bits.read(2);var e=this.bits.read(2);this.bits.read(4);var s=this.pidsToStreamIds[i];if(t&&s){var o=this.pesPacketInfo[s];o&&o.currentLength&&this.packetComplete(o)}if(1&e){if(2&e){var g=this.bits.read(8);this.bits.skip(g<<3)}if(t&&this.bits.nextBytesAreStartCode()){this.bits.skip(24),s=this.bits.read(8),this.pidsToStreamIds[i]=s;var I=this.bits.read(16);this.bits.skip(8);var a=this.bits.read(2);this.bits.skip(6);var B=this.bits.read(8),r=this.bits.index+(B<<3),C=this.pesPacketInfo[s];if(C){var n=0;if(2&a){this.bits.skip(4);var E=this.bits.read(3);this.bits.skip(1);var Q=this.bits.read(15);this.bits.skip(1);var h=this.bits.read(15);this.bits.skip(1),n=(1073741824*E+32768*Q+h)/9e4,this.currentTime=n,-1===this.startTime&&(this.startTime=n)}var d=I?I-B-3:0;this.packetStart(C,n,d)}this.bits.index=r}if(s){var c=this.pesPacketInfo[s];if(c){var l=this.bits.index>>3,u=!t&&2&e;(this.packetAddData(c,l,A)||this.guessVideoFrameEnd&&u)&&this.packetComplete(c)}}}return this.bits.index=A<<3,!0},t.resync=function(){if(!this.bits.has(9024))return!1;for(var A=this.bits.index>>3,t=0;t<187;t++)if(71===this.bits.bytes[A+t]){for(var i=!0,e=1;e<5;e++)if(71!==this.bits.bytes[A+t+188*e]){i=!1;break}if(i)return this.bits.index=A+t+1<<3,!0}return console.warn("JSMpeg: Possible garbage data. Skipping."),this.bits.skip(1496),!1},t.packetStart=function(A,t,i){A.totalLength=i,A.currentLength=0,A.pts=t},t.packetAddData=function(A,t,i){return A.buffers.push(this.bits.bytes.subarray(t,i)),A.currentLength+=i-t,0!==A.totalLength&&A.currentLength>=A.totalLength},t.packetComplete=function(A){A.destination.write(A.pts,A.buffers),A.totalLength=0,A.currentLength=0,A.buffers=[]},A}();U.STREAM={PACK_HEADER:186,SYSTEM_HEADER:187,PROGRAM_MAP:188,PRIVATE_1:189,PADDING:190,PRIVATE_2:191,AUDIO_1:192,VIDEO_1:224,DIRECTORY:255};var J=function(){function A(A){this.destination=null,this.canPlay=!1,this.collectTimestamps=!A.streaming,this.bytesWritten=0,this.timestamps=[],this.timestampIndex=0,this.startTime=0,this.decodedTime=0,Object.defineProperty(this,"currentTime",{get:this.getCurrentTime})}var t=A.prototype;return t.destroy=function(){},t.connect=function(A){this.destination=A},t.bufferGetIndex=function(){return this.bits.index},t.bufferSetIndex=function(A){this.bits.index=A},t.bufferWrite=function(A){return this.bits.write(A)},t.write=function(A,t){this.collectTimestamps&&(0===this.timestamps.length&&(this.startTime=A,this.decodedTime=A),this.timestamps.push({index:this.bytesWritten<<3,time:A})),this.bytesWritten+=this.bufferWrite(t),this.canPlay=!0},t.seek=function(A){if(this.collectTimestamps){this.timestampIndex=0;for(var t=0;tA);t++)this.timestampIndex=t;var i=this.timestamps[this.timestampIndex];i?(this.bufferSetIndex(i.index),this.decodedTime=i.time):(this.bits.index=0,this.decodedTime=this.startTime)}},t.decode=function(){this.advanceDecodedTime(0)},t.advanceDecodedTime=function(A){if(this.collectTimestamps){for(var t=-1,i=this.bufferGetIndex(),e=this.timestampIndex;ei);e++)t=e;if(-1!==t&&t!==this.timestampIndex)return this.timestampIndex=t,void(this.decodedTime=this.timestamps[this.timestampIndex].time)}this.decodedTime+=A},t.getCurrentTime=function(){return this.decodedTime},A}(),T=function(A){function t(t){var i;(i=A.call(this,t)||this).onDecodeCallback=t.onVideoDecode;var e=t.videoBufferSize||524288,s=t.streaming?L.MODE.EVICT:L.MODE.EXPAND;return i.bits=new L(e,s),i.customIntraQuantMatrix=new Uint8Array(64),i.customNonIntraQuantMatrix=new Uint8Array(64),i.blockData=new Int32Array(64),i.currentFrame=0,i.decodeFirstFrame=!1!==t.decodeFirstFrame,i}u(t,A);var i=t.prototype;return i.write=function(A,i){if(J.prototype.write.call(this,A,i),!this.hasSequenceHeader){if(-1===this.bits.findStartCode(t.START.SEQUENCE))return!1;this.decodeSequenceHeader(),this.decodeFirstFrame&&this.decode()}},i.decode=function(){var A=S();if(!this.hasSequenceHeader)return!1;if(-1===this.bits.findStartCode(t.START.PICTURE))return!1;this.decodePicture(),this.advanceDecodedTime(1/this.frameRate);var i=S()-A;return this.onDecodeCallback&&this.onDecodeCallback(this,i),!0},i.readHuffman=function(A){var t=0;do{t=A[t+this.bits.read(1)]}while(t>=0&&0!==A[t]);return A[t+2]},i.decodeSequenceHeader=function(){var A=this.bits.read(12),i=this.bits.read(12);if(this.bits.skip(4),this.frameRate=t.PICTURE_RATE[this.bits.read(4)],this.bits.skip(30),A===this.width&&i===this.height||(this.width=A,this.height=i,this.initBuffers(),this.destination&&this.destination.resize(A,i)),this.bits.read(1)){for(var e=0;e<64;e++)this.customIntraQuantMatrix[t.ZIG_ZAG[e]]=this.bits.read(8);this.intraQuantMatrix=this.customIntraQuantMatrix}if(this.bits.read(1)){for(var s=0;s<64;s++){var o=t.ZIG_ZAG[s];this.customNonIntraQuantMatrix[o]=this.bits.read(8)}this.nonIntraQuantMatrix=this.customNonIntraQuantMatrix}this.hasSequenceHeader=!0},i.initBuffers=function(){this.intraQuantMatrix=t.DEFAULT_INTRA_QUANT_MATRIX,this.nonIntraQuantMatrix=t.DEFAULT_NON_INTRA_QUANT_MATRIX,this.mbWidth=this.width+15>>4,this.mbHeight=this.height+15>>4,this.mbSize=this.mbWidth*this.mbHeight,this.codedWidth=this.mbWidth<<4,this.codedHeight=this.mbHeight<<4,this.codedSize=this.codedWidth*this.codedHeight,this.halfWidth=this.mbWidth<<3,this.halfHeight=this.mbHeight<<3,this.currentY=new Uint8ClampedArray(this.codedSize),this.currentY32=new Uint32Array(this.currentY.buffer),this.currentCr=new Uint8ClampedArray(this.codedSize>>2),this.currentCr32=new Uint32Array(this.currentCr.buffer),this.currentCb=new Uint8ClampedArray(this.codedSize>>2),this.currentCb32=new Uint32Array(this.currentCb.buffer),this.forwardY=new Uint8ClampedArray(this.codedSize),this.forwardY32=new Uint32Array(this.forwardY.buffer),this.forwardCr=new Uint8ClampedArray(this.codedSize>>2),this.forwardCr32=new Uint32Array(this.forwardCr.buffer),this.forwardCb=new Uint8ClampedArray(this.codedSize>>2),this.forwardCb32=new Uint32Array(this.forwardCb.buffer)},i.decodePicture=function(){if(this.currentFrame++,this.bits.skip(10),this.pictureType=this.bits.read(3),this.bits.skip(16),!(this.pictureType<=0||this.pictureType>=t.PICTURE_TYPE.B)){if(this.pictureType===t.PICTURE_TYPE.PREDICTIVE){if(this.fullPelForward=this.bits.read(1),this.forwardFCode=this.bits.read(3),0===this.forwardFCode)return;this.forwardRSize=this.forwardFCode-1,this.forwardF=1<=t.START.SLICE_FIRST&&A<=t.START.SLICE_LAST;)this.decodeSlice(255&A),A=this.bits.findNextStartCode();if(-1!==A&&this.bits.rewind(32),this.destination&&this.destination.render(this.currentY,this.currentCr,this.currentCb,!0),this.pictureType===t.PICTURE_TYPE.INTRA||this.pictureType===t.PICTURE_TYPE.PREDICTIVE){var i=this.forwardY,e=this.forwardY32,s=this.forwardCr,o=this.forwardCr32,g=this.forwardCb,I=this.forwardCb32;this.forwardY=this.currentY,this.forwardY32=this.currentY32,this.forwardCr=this.currentCr,this.forwardCr32=this.currentCr32,this.forwardCb=this.currentCb,this.forwardCb32=this.currentCb32,this.currentY=i,this.currentY32=e,this.currentCr=s,this.currentCr32=o,this.currentCb=g,this.currentCb32=I}}},i.decodeSlice=function(A){for(this.sliceBegin=!0,this.macroblockAddress=(A-1)*this.mbWidth-1,this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0,this.dcPredictorY=128,this.dcPredictorCr=128,this.dcPredictorCb=128,this.quantizerScale=this.bits.read(5);this.bits.read(1);)this.bits.skip(8);do{this.decodeMacroblock()}while(!this.bits.nextBytesAreStartCode())},i.decodeMacroblock=function(){for(var A=0,i=this.readHuffman(t.MACROBLOCK_ADDRESS_INCREMENT);34===i;)i=this.readHuffman(t.MACROBLOCK_ADDRESS_INCREMENT);for(;35===i;)A+=33,i=this.readHuffman(t.MACROBLOCK_ADDRESS_INCREMENT);if(A+=i,this.sliceBegin)this.sliceBegin=!1,this.macroblockAddress+=A;else{if(this.macroblockAddress+A>=this.mbSize)return;for(A>1&&(this.dcPredictorY=128,this.dcPredictorCr=128,this.dcPredictorCb=128,this.pictureType===t.PICTURE_TYPE.PREDICTIVE&&(this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0));A>1;)this.macroblockAddress++,this.mbRow=this.macroblockAddress/this.mbWidth|0,this.mbCol=this.macroblockAddress%this.mbWidth,this.copyMacroblock(this.motionFwH,this.motionFwV,this.forwardY,this.forwardCr,this.forwardCb),A--;this.macroblockAddress++}this.mbRow=this.macroblockAddress/this.mbWidth|0,this.mbCol=this.macroblockAddress%this.mbWidth;var e=t.MACROBLOCK_TYPE[this.pictureType];this.macroblockType=this.readHuffman(e),this.macroblockIntra=1&this.macroblockType,this.macroblockMotFw=8&this.macroblockType,16&this.macroblockType&&(this.quantizerScale=this.bits.read(5)),this.macroblockIntra?(this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0):(this.dcPredictorY=128,this.dcPredictorCr=128,this.dcPredictorCb=128,this.decodeMotionVectors(),this.copyMacroblock(this.motionFwH,this.motionFwV,this.forwardY,this.forwardCr,this.forwardCb));for(var s=2&this.macroblockType?this.readHuffman(t.CODE_BLOCK_PATTERN):this.macroblockIntra?63:0,o=0,g=32;o<6;o++)s&g&&this.decodeBlock(o),g>>=1},i.decodeMotionVectors=function(){var A,i,e=0;this.macroblockMotFw?(0!==(A=this.readHuffman(t.MOTION))&&1!==this.forwardF?(e=this.bits.read(this.forwardRSize),i=(Math.abs(A)-1<(this.forwardF<<4)-1?this.motionFwHPrev-=this.forwardF<<5:this.motionFwHPrev<-this.forwardF<<4&&(this.motionFwHPrev+=this.forwardF<<5),this.motionFwH=this.motionFwHPrev,this.fullPelForward&&(this.motionFwH<<=1),0!==(A=this.readHuffman(t.MOTION))&&1!==this.forwardF?(e=this.bits.read(this.forwardRSize),i=(Math.abs(A)-1<(this.forwardF<<4)-1?this.motionFwVPrev-=this.forwardF<<5:this.motionFwVPrev<-this.forwardF<<4&&(this.motionFwVPrev+=this.forwardF<<5),this.motionFwV=this.motionFwVPrev,this.fullPelForward&&(this.motionFwV<<=1)):this.pictureType===t.PICTURE_TYPE.PREDICTIVE&&(this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0)},i.copyMacroblock=function(A,t,i,e,s){var o,g,I,a,B,r,C,n,E,Q,h,d,c,l,u,w,p,D,m,f=this.currentY32,y=this.currentCb32,R=this.currentCr32;if(g=(o=this.codedWidth)-16,I=A>>1,a=t>>1,B=!(1&~A),r=!(1&~t),C=((this.mbRow<<4)+a)*o+(this.mbCol<<4)+I,E=(n=this.mbRow*o+this.mbCol<<2)+(o<<2),B)if(r)for(;n>2&255,c|=(h=i[++C]+i[C+o])+d+2<<6&65280,c|=h+(d=i[++C]+i[C+o])+2<<14&16711680,h=i[++C]+i[C+o],C++,c|=h+d+2<<22&4278190080,f[n++]=c;n+=g>>2,C+=g-1}else for(;n>1&255,c|=(h=i[C++])+d+1<<7&65280,c|=h+(d=i[C++])+1<<15&16711680,c|=(h=i[C++])+d+1<<23&4278190080,f[n++]=c;n+=g>>2,C+=g-1}else if(r)for(;n>1&255,c|=i[++C]+i[C+o]+1<<7&65280,c|=i[++C]+i[C+o]+1<<15&16711680,c|=i[++C]+i[C+o]+1<<23&4278190080,C++,f[n++]=c;n+=g>>2,C+=g}else for(;n>2,C+=g}if(g=(o=this.halfWidth)-8,I=A/2>>1,a=t/2>>1,B=1==(A/2&1),r=1==(t/2&1),C=((this.mbRow<<3)+a)*o+(this.mbCol<<3)+I,E=(n=this.mbRow*o+this.mbCol<<1)+(o<<1),B)if(r)for(;n>2&255,m=p+(D=s[C]+s[C+o])+2>>2&255,w|=(l=e[++C]+e[C+o])+u+2<<6&65280,m|=(p=s[C]+s[C+o])+D+2<<6&65280,w|=l+(u=e[++C]+e[C+o])+2<<14&16711680,m|=p+(D=s[C]+s[C+o])+2<<14&16711680,l=e[++C]+e[C+o],p=s[C]+s[C+o],C++,w|=l+u+2<<22&4278190080,m|=p+D+2<<22&4278190080,R[n]=w,y[n]=m,n++;n+=g>>2,C+=g-1}else for(;n>1&255,m=p+(D=s[C++])+1>>1&255,w|=(l=e[C])+u+1<<7&65280,m|=(p=s[C++])+D+1<<7&65280,w|=l+(u=e[C])+1<<15&16711680,m|=p+(D=s[C++])+1<<15&16711680,w|=(l=e[C])+u+1<<23&4278190080,m|=(p=s[C++])+D+1<<23&4278190080,R[n]=w,y[n]=m,n++;n+=g>>2,C+=g-1}else if(r)for(;n>1&255,m=s[C]+s[C+o]+1>>1&255,w|=e[++C]+e[C+o]+1<<7&65280,m|=s[C]+s[C+o]+1<<7&65280,w|=e[++C]+e[C+o]+1<<15&16711680,m|=s[C]+s[C+o]+1<<15&16711680,w|=e[++C]+e[C+o]+1<<23&4278190080,m|=s[C]+s[C+o]+1<<23&4278190080,C++,R[n]=w,y[n]=m,n++;n+=g>>2,C+=g}else for(;n>2,C+=g}},i.decodeBlock=function(A){var i,e=0;if(this.macroblockIntra){var s,o;if(A<4?(s=this.dcPredictorY,o=this.readHuffman(t.DCT_DC_SIZE_LUMINANCE)):(s=4===A?this.dcPredictorCr:this.dcPredictorCb,o=this.readHuffman(t.DCT_DC_SIZE_CHROMINANCE)),o>0){var g=this.bits.read(o);this.blockData[0]=g&1<0&&0===this.bits.read(1))break;65535===n?(C=this.bits.read(6),0===(r=this.bits.read(8))?r=this.bits.read(8):128===r?r=this.bits.read(8)-256:r>128&&(r-=256)):(C=n>>8,r=255&n,this.bits.read(1)&&(r=-r)),e+=C;var E=t.ZIG_ZAG[e];e++,r<<=1,this.macroblockIntra||(r+=r<0?-1:1),1&(r=r*this.quantizerScale*i[E]>>4)||(r-=r>0?1:-1),r>2047?r=2047:r<-2048&&(r=-2048),this.blockData[E]=r*t.PREMULTIPLIER_MATRIX[E]}A<4?(I=this.currentY,B=this.codedWidth-8,a=this.mbRow*this.codedWidth+this.mbCol<<4,1&A&&(a+=8),2&A&&(a+=this.codedWidth<<3)):(I=4===A?this.currentCb:this.currentCr,B=(this.codedWidth>>1)-8,a=(this.mbRow*this.codedWidth<<2)+(this.mbCol<<3)),this.macroblockIntra?1===e?(t.CopyValueToDestination(this.blockData[0]+128>>8,I,a,B),this.blockData[0]=0):(t.IDCT(this.blockData),t.CopyBlockToDestination(this.blockData,I,a,B),G(this.blockData,0)):1===e?(t.AddValueToDestination(this.blockData[0]+128>>8,I,a,B),this.blockData[0]=0):(t.IDCT(this.blockData),t.AddBlockToDestination(this.blockData,I,a,B),G(this.blockData,0)),e=0},t.CopyBlockToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]=A[s+0],t[i+1]=A[s+1],t[i+2]=A[s+2],t[i+3]=A[s+3],t[i+4]=A[s+4],t[i+5]=A[s+5],t[i+6]=A[s+6],t[i+7]=A[s+7]},t.AddBlockToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]+=A[s+0],t[i+1]+=A[s+1],t[i+2]+=A[s+2],t[i+3]+=A[s+3],t[i+4]+=A[s+4],t[i+5]+=A[s+5],t[i+6]+=A[s+6],t[i+7]+=A[s+7]},t.CopyValueToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]=A,t[i+1]=A,t[i+2]=A,t[i+3]=A,t[i+4]=A,t[i+5]=A,t[i+6]=A,t[i+7]=A},t.AddValueToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]+=A,t[i+1]+=A,t[i+2]+=A,t[i+3]+=A,t[i+4]+=A,t[i+5]+=A,t[i+6]+=A,t[i+7]+=A},t.IDCT=function(A){for(var t,i,e,s,o,g,I,a,B,r,C,n,E,Q,h,d,c,l,u=0;u<8;++u)t=A[32+u],i=A[16+u]+A[48+u],e=A[40+u]-A[24+u],g=A[8+u]+A[56+u],I=A[24+u]+A[40+u],B=(E=(473*(s=A[8+u]-A[56+u])-196*e+128>>8)-(o=g+I))-(362*(g-I)+128>>8),Q=(r=(a=A[0+u])-t)+(C=(362*(A[16+u]-A[48+u])+128>>8)-i),h=(n=a+t)+i,d=r-C,c=n-i,l=-B-(473*e+196*s+128>>8),A[0+u]=o+h,A[8+u]=E+Q,A[16+u]=d-B,A[24+u]=c-l,A[32+u]=c+l,A[40+u]=B+d,A[48+u]=Q-E,A[56+u]=h-o;for(var w=0;w<64;w+=8)t=A[4+w],i=A[2+w]+A[6+w],e=A[5+w]-A[3+w],g=A[1+w]+A[7+w],I=A[3+w]+A[5+w],B=(E=(473*(s=A[1+w]-A[7+w])-196*e+128>>8)-(o=g+I))-(362*(g-I)+128>>8),Q=(r=(a=A[0+w])-t)+(C=(362*(A[2+w]-A[6+w])+128>>8)-i),h=(n=a+t)+i,d=r-C,c=n-i,l=-B-(473*e+196*s+128>>8),A[0+w]=o+h+128>>8,A[1+w]=E+Q+128>>8,A[2+w]=d-B+128>>8,A[3+w]=c-l+128>>8,A[4+w]=c+l+128>>8,A[5+w]=B+d+128>>8,A[6+w]=Q-E+128>>8,A[7+w]=h-o+128>>8},t}(J);T.prototype.frameRate=30,T.prototype.currentY=null,T.prototype.currentCr=null,T.prototype.currentCb=null,T.prototype.pictureType=0,T.prototype.forwardY=null,T.prototype.forwardCr=null,T.prototype.forwardCb=null,T.prototype.fullPelForward=!1,T.prototype.forwardFCode=0,T.prototype.forwardRSize=0,T.prototype.forwardF=0,T.prototype.quantizerScale=0,T.prototype.sliceBegin=!1,T.prototype.macroblockAddress=0,T.prototype.mbRow=0,T.prototype.mbCol=0,T.prototype.macroblockType=0,T.prototype.macroblockIntra=!1,T.prototype.macroblockMotFw=!1,T.prototype.motionFwH=0,T.prototype.motionFwV=0,T.prototype.motionFwHPrev=0,T.prototype.motionFwVPrev=0,T.prototype.dcPredictorY=0,T.prototype.dcPredictorCr=0,T.prototype.dcPredictorCb=0,T.prototype.blockData=null,T.PICTURE_RATE=[0,23.976,24,25,29.97,30,50,59.94,60,0,0,0,0,0,0,0],T.ZIG_ZAG=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),T.DEFAULT_INTRA_QUANT_MATRIX=new Uint8Array([8,16,19,22,26,27,29,34,16,16,22,24,27,29,34,37,19,22,26,27,29,34,34,38,22,22,26,27,29,34,37,40,22,26,27,29,32,35,40,48,26,27,29,32,35,40,48,58,26,27,29,34,38,46,56,69,27,29,35,38,46,56,69,83]),T.DEFAULT_NON_INTRA_QUANT_MATRIX=new Uint8Array([16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16]),T.PREMULTIPLIER_MATRIX=new Uint8Array([32,44,42,38,32,25,17,9,44,62,58,52,44,35,24,12,42,58,55,49,42,33,23,12,38,52,49,44,38,30,20,10,32,44,42,38,32,25,17,9,25,35,33,30,25,20,14,7,17,24,23,20,17,14,9,5,9,12,12,10,9,7,5,2]),T.MACROBLOCK_ADDRESS_INCREMENT=new Int16Array([3,6,0,9,12,0,0,0,1,15,18,0,21,24,0,27,30,0,33,36,0,0,0,3,0,0,2,39,42,0,45,48,0,0,0,5,0,0,4,51,54,0,57,60,0,0,0,7,0,0,6,63,66,0,69,72,0,75,78,0,81,84,0,-1,87,0,-1,90,0,93,96,0,99,102,0,105,108,0,111,114,0,0,0,9,0,0,8,117,120,0,123,126,0,129,132,0,135,138,0,0,0,15,0,0,14,0,0,13,0,0,12,0,0,11,0,0,10,141,-1,0,-1,144,0,147,150,0,153,156,0,159,162,0,165,168,0,171,174,0,177,180,0,183,-1,0,-1,186,0,189,192,0,195,198,0,201,204,0,207,210,0,213,216,0,219,222,0,0,0,21,0,0,20,0,0,19,0,0,18,0,0,17,0,0,16,0,0,35,0,0,34,0,0,33,0,0,32,0,0,31,0,0,30,0,0,29,0,0,28,0,0,27,0,0,26,0,0,25,0,0,24,0,0,23,0,0,22]),T.MACROBLOCK_TYPE_INTRA=new Int8Array([3,6,0,-1,9,0,0,0,1,0,0,17]),T.MACROBLOCK_TYPE_PREDICTIVE=new Int8Array([3,6,0,9,12,0,0,0,10,15,18,0,0,0,2,21,24,0,0,0,8,27,30,0,33,36,0,-1,39,0,0,0,18,0,0,26,0,0,1,0,0,17]),T.MACROBLOCK_TYPE_B=new Int8Array([3,6,0,9,15,0,12,18,0,24,21,0,0,0,12,27,30,0,0,0,14,39,42,0,36,33,0,0,0,4,0,0,6,54,48,0,45,51,0,0,0,8,0,0,10,-1,57,0,0,0,1,60,63,0,0,0,30,0,0,17,0,0,22,0,0,26]),T.MACROBLOCK_TYPE=[null,T.MACROBLOCK_TYPE_INTRA,T.MACROBLOCK_TYPE_PREDICTIVE,T.MACROBLOCK_TYPE_B],T.CODE_BLOCK_PATTERN=new Int16Array([6,3,0,9,18,0,12,15,0,24,33,0,36,39,0,27,21,0,30,42,0,60,57,0,54,48,0,69,51,0,81,75,0,63,84,0,45,66,0,72,78,0,0,0,60,105,120,0,132,144,0,114,108,0,126,141,0,87,93,0,117,96,0,0,0,32,135,138,0,99,123,0,129,102,0,0,0,4,90,111,0,0,0,8,0,0,16,0,0,44,150,168,0,0,0,28,0,0,52,0,0,62,183,177,0,156,180,0,0,0,1,165,162,0,0,0,61,0,0,56,171,174,0,0,0,2,0,0,40,153,186,0,0,0,48,192,189,0,147,159,0,0,0,20,0,0,12,240,249,0,0,0,63,231,225,0,195,219,0,252,198,0,0,0,24,0,0,36,0,0,3,207,261,0,243,237,0,204,213,0,210,234,0,201,228,0,216,222,0,258,255,0,264,246,0,-1,282,0,285,291,0,0,0,33,0,0,9,318,330,0,306,348,0,0,0,5,0,0,10,279,267,0,0,0,6,0,0,18,0,0,17,0,0,34,339,357,0,309,312,0,270,276,0,327,321,0,351,354,0,303,297,0,294,288,0,300,273,0,342,345,0,315,324,0,336,333,0,363,375,0,0,0,41,0,0,14,0,0,21,372,366,0,360,369,0,0,0,11,0,0,19,0,0,7,0,0,35,0,0,13,0,0,50,0,0,49,0,0,58,0,0,37,0,0,25,0,0,45,0,0,57,0,0,26,0,0,29,0,0,38,0,0,53,0,0,23,0,0,43,0,0,46,0,0,42,0,0,22,0,0,54,0,0,51,0,0,15,0,0,30,0,0,39,0,0,47,0,0,55,0,0,27,0,0,59,0,0,31]),T.MOTION=new Int16Array([3,6,0,12,9,0,0,0,0,18,15,0,24,21,0,0,0,-1,0,0,1,27,30,0,36,33,0,0,0,2,0,0,-2,42,45,0,48,39,0,60,54,0,0,0,3,0,0,-3,51,57,0,-1,69,0,81,75,0,78,63,0,72,66,0,96,84,0,87,93,0,-1,99,0,108,105,0,0,0,-4,90,102,0,0,0,4,0,0,-7,0,0,5,111,123,0,0,0,-5,0,0,7,114,120,0,126,117,0,0,0,-6,0,0,6,153,162,0,150,147,0,135,138,0,156,141,0,129,159,0,132,144,0,0,0,10,0,0,9,0,0,8,0,0,-8,171,198,0,0,0,-9,180,192,0,168,183,0,165,186,0,174,189,0,0,0,-10,177,195,0,0,0,12,0,0,16,0,0,13,0,0,14,0,0,11,0,0,15,0,0,-16,0,0,-12,0,0,-14,0,0,-15,0,0,-11,0,0,-13]),T.DCT_DC_SIZE_LUMINANCE=new Int8Array([6,3,0,18,15,0,9,12,0,0,0,1,0,0,2,27,24,0,21,30,0,0,0,0,36,33,0,0,0,4,0,0,3,39,42,0,0,0,5,0,0,6,48,45,0,51,-1,0,0,0,7,0,0,8]),T.DCT_DC_SIZE_CHROMINANCE=new Int8Array([6,3,0,12,9,0,18,15,0,24,21,0,0,0,2,0,0,1,0,0,0,30,27,0,0,0,3,36,33,0,0,0,4,42,39,0,0,0,5,48,45,0,0,0,6,51,-1,0,0,0,7,0,0,8]),T.DCT_COEFF=new Int32Array([3,6,0,12,9,0,0,0,1,21,24,0,18,15,0,39,27,0,33,30,0,42,36,0,0,0,257,60,66,0,54,63,0,48,57,0,0,0,513,51,45,0,0,0,2,0,0,3,81,75,0,87,93,0,72,78,0,96,90,0,0,0,1025,69,84,0,0,0,769,0,0,258,0,0,1793,0,0,65535,0,0,1537,111,108,0,0,0,1281,105,102,0,117,114,0,99,126,0,120,123,0,156,150,0,162,159,0,144,147,0,129,135,0,138,132,0,0,0,2049,0,0,4,0,0,514,0,0,2305,153,141,0,165,171,0,180,168,0,177,174,0,183,186,0,0,0,2561,0,0,3329,0,0,6,0,0,259,0,0,5,0,0,770,0,0,2817,0,0,3073,228,225,0,201,210,0,219,213,0,234,222,0,216,231,0,207,192,0,204,189,0,198,195,0,243,261,0,273,240,0,246,237,0,249,258,0,279,276,0,252,255,0,270,282,0,264,267,0,0,0,515,0,0,260,0,0,7,0,0,1026,0,0,1282,0,0,4097,0,0,3841,0,0,3585,315,321,0,333,342,0,312,291,0,375,357,0,288,294,0,-1,369,0,285,303,0,318,363,0,297,306,0,339,309,0,336,348,0,330,300,0,372,345,0,351,366,0,327,354,0,360,324,0,381,408,0,417,420,0,390,378,0,435,438,0,384,387,0,0,0,2050,396,402,0,465,462,0,0,0,8,411,399,0,429,432,0,453,414,0,426,423,0,0,0,10,0,0,9,0,0,11,0,0,5377,0,0,1538,0,0,771,0,0,5121,0,0,1794,0,0,4353,0,0,4609,0,0,4865,444,456,0,0,0,1027,459,450,0,0,0,261,393,405,0,0,0,516,447,441,0,516,519,0,486,474,0,510,483,0,504,498,0,471,537,0,507,501,0,522,513,0,534,531,0,468,477,0,492,495,0,549,546,0,525,528,0,0,0,263,0,0,2562,0,0,2306,0,0,5633,0,0,5889,0,0,6401,0,0,6145,0,0,1283,0,0,772,0,0,13,0,0,12,0,0,14,0,0,15,0,0,517,0,0,6657,0,0,262,540,543,0,480,489,0,588,597,0,0,0,27,609,555,0,606,603,0,0,0,19,0,0,22,591,621,0,0,0,18,573,576,0,564,570,0,0,0,20,552,582,0,0,0,21,558,579,0,0,0,23,612,594,0,0,0,25,0,0,24,600,615,0,0,0,31,0,0,30,0,0,28,0,0,29,0,0,26,0,0,17,0,0,16,567,618,0,561,585,0,654,633,0,0,0,37,645,648,0,0,0,36,630,636,0,0,0,34,639,627,0,663,666,0,657,624,0,651,642,0,669,660,0,0,0,35,0,0,267,0,0,40,0,0,268,0,0,266,0,0,32,0,0,264,0,0,265,0,0,38,0,0,269,0,0,270,0,0,33,0,0,39,0,0,7937,0,0,6913,0,0,7681,0,0,4098,0,0,7425,0,0,7169,0,0,271,0,0,274,0,0,273,0,0,272,0,0,1539,0,0,2818,0,0,3586,0,0,3330,0,0,3074,0,0,3842]),T.PICTURE_TYPE={INTRA:1,PREDICTIVE:2,B:3},T.START={SEQUENCE:179,SLICE_FIRST:1,SLICE_LAST:175,PICTURE:0,EXTENSION:181,USER_DATA:178};var v=function(A){function t(t){var i;return(i=A.call(this,t)||this).onDecodeCallback=t.onVideoDecode,i.module=t.wasmModule,i.bufferSize=t.videoBufferSize||524288,i.bufferMode=t.streaming?L.MODE.EVICT:L.MODE.EXPAND,i.decodeFirstFrame=!1!==t.decodeFirstFrame,i.hasSequenceHeader=!1,i}u(t,A);var i=t.prototype;return i.initializeWasmDecoder=function(){this.module.instance?(this.instance=this.module.instance,this.functions=this.module.instance.exports,this.decoder=this.functions._mpeg1_decoder_create(this.bufferSize,this.bufferMode)):console.warn("JSMpeg: WASM module not compiled yet")},i.destroy=function(){this.decoder&&this.functions._mpeg1_decoder_destroy(this.decoder)},i.bufferGetIndex=function(){if(this.decoder)return this.functions._mpeg1_decoder_get_index(this.decoder)},i.bufferSetIndex=function(A){this.decoder&&this.functions._mpeg1_decoder_set_index(this.decoder,A)},i.bufferWrite=function(A){this.decoder||this.initializeWasmDecoder();for(var t=0,i=0;i>2)),g=this.instance.heapU8.subarray(e,e+(this.codedSize>>2));this.destination.render(s,o,g,!1)}this.advanceDecodedTime(1/this.frameRate);var I=S()-A;return this.onDecodeCallback&&this.onDecodeCallback(this,I),!0},t}(J),x=function(A){function t(i){var e;(e=A.call(this,i)||this).onDecodeCallback=i.onAudioDecode;var s=i.audioBufferSize||131072,o=i.streaming?L.MODE.EVICT:L.MODE.EXPAND;e.bits=new L(s,o),e.left=new Float32Array(1152),e.right=new Float32Array(1152),e.sampleRate=44100,e.D=new Float32Array(1024),e.D.set(t.SYNTHESIS_WINDOW,0),e.D.set(t.SYNTHESIS_WINDOW,512),e.V=[new Float32Array(1024),new Float32Array(1024)],e.U=new Int32Array(32),e.VPos=0,e.allocation=[new Array(32),new Array(32)],e.scaleFactorInfo=[new Uint8Array(32),new Uint8Array(32)],e.scaleFactor=[new Array(32),new Array(32)],e.sample=[new Array(32),new Array(32)];for(var g=0;g<2;g++)for(var I=0;I<32;I++)e.scaleFactor[g][I]=[0,0,0],e.sample[g][I]=[0,0,0];return e}u(t,A);var i=t.prototype;return i.decode=function(){var A=S(),t=this.bits.index>>3;if(t>=this.bits.byteLength)return!1;var i=this.decodeFrame(this.left,this.right);if(this.bits.index=t+i<<3,!i)return!1;this.destination&&this.destination.play(this.sampleRate,this.left,this.right),this.advanceDecodedTime(this.left.length/this.sampleRate);var e=S()-A;return this.onDecodeCallback&&this.onDecodeCallback(this,e),!0},i.getCurrentTime=function(){var A=this.destination?this.destination.enqueuedTime:0;return this.decodedTime-A},i.decodeFrame=function(A,i){var e=this.bits.read(11),s=this.bits.read(2),o=this.bits.read(2),g=!this.bits.read(1);if(e!==t.FRAME_SYNC||s!==t.VERSION.MPEG_1||o!==t.LAYER.II)return 0;var I=this.bits.read(4)-1;if(I>13)return 0;var a=this.bits.read(2),B=t.SAMPLE_RATE[a];if(3===a)return 0;s===t.VERSION.MPEG_2&&(a+=4,I+=14);var r=this.bits.read(1);this.bits.read(1);var C=this.bits.read(2),n=0;C===t.MODE.JOINT_STEREO?n=this.bits.read(2)+1<<2:(this.bits.skip(2),n=C===t.MODE.MONO?0:32),this.bits.skip(4),g&&this.bits.skip(16);var E=144e3*t.BIT_RATE[I]/(B=t.SAMPLE_RATE[a])+r|0,Q=0,h=0;if(s===t.VERSION.MPEG_2)Q=2,h=30;else{var d=C===t.MODE.MONO?0:1,c=t.QUANT_LUT_STEP_1[d][I];h=63&(Q=t.QUANT_LUT_STEP_2[c][a]),Q>>=6}n>h&&(n=h);for(var l=0;l>1),U=this.VPos%128>>1;U<1024;){for(var J=0;J<32;++J)this.U[J]+=this.D[L++]*this.V[N][U++];U+=96,L+=32}for(U=1120-U,L-=480;U<1024;){for(var T=0;T<32;++T)this.U[T]+=this.D[L++]*this.V[N][U++];U+=96,L+=32}for(var v=0===N?A:i,x=0;x<32;x++)v[R+x]=this.U[x]/2147418112}R+=32}}return this.sampleRate=B,E},i.readAllocation=function(A,i){var e=t.QUANT_LUT_STEP_3[i][A],s=t.QUANT_LUT_STEP4[15&e][this.bits.read(e>>4)];return s?t.QUANT_TAB[s-1]:0},i.readSamples=function(A,i,e){var s=this.allocation[A][i],o=this.scaleFactor[A][i][e],g=this.sample[A][i],I=0;if(s){if(63===o)o=0;else{var a=o/3|0;o=t.SCALEFACTOR_BASE[o%3]+(1<>1)>>a}var B=s.levels;s.group?(I=this.bits.read(s.bits),g[0]=I%B,I=I/B|0,g[1]=I%B,g[2]=I/B|0):(g[0]=this.bits.read(s.bits),g[1]=this.bits.read(s.bits),g[2]=this.bits.read(s.bits));var r=65536/(B+1)|0;I=((B=(B+1>>1)-1)-g[0])*r,g[0]=I*(o>>12)+(I*(4095&o)+2048>>12)>>12,I=(B-g[1])*r,g[1]=I*(o>>12)+(I*(4095&o)+2048>>12)>>12,I=(B-g[2])*r,g[2]=I*(o>>12)+(I*(4095&o)+2048>>12)>>12}else g[0]=g[1]=g[2]=0},t.MatrixTransform=function(A,t,i,e){var s,o,g,I,a,B,r,C,n,E,Q,h,d,c,l,u,w,p,D,m,f,y,R,k,b,S,G,F,M,q,N,L,U;s=A[0][t]+A[31][t],o=.500602998235*(A[0][t]-A[31][t]),g=A[1][t]+A[30][t],I=.505470959898*(A[1][t]-A[30][t]),a=A[2][t]+A[29][t],B=.515447309923*(A[2][t]-A[29][t]),r=A[3][t]+A[28][t],C=.53104259109*(A[3][t]-A[28][t]),n=A[4][t]+A[27][t],E=.553103896034*(A[4][t]-A[27][t]),Q=A[5][t]+A[26][t],h=.582934968206*(A[5][t]-A[26][t]),d=A[6][t]+A[25][t],c=.622504123036*(A[6][t]-A[25][t]),l=A[7][t]+A[24][t],u=.674808341455*(A[7][t]-A[24][t]),w=A[8][t]+A[23][t],p=.744536271002*(A[8][t]-A[23][t]),D=A[9][t]+A[22][t],m=.839349645416*(A[9][t]-A[22][t]),f=A[10][t]+A[21][t],y=.972568237862*(A[10][t]-A[21][t]),R=A[11][t]+A[20][t],k=1.16943993343*(A[11][t]-A[20][t]),b=A[12][t]+A[19][t],S=1.48416461631*(A[12][t]-A[19][t]),G=A[13][t]+A[18][t],F=2.05778100995*(A[13][t]-A[18][t]),M=A[14][t]+A[17][t],q=3.40760841847*(A[14][t]-A[17][t]),U=s+(N=A[15][t]+A[16][t]),N=.502419286188*(s-N),s=g+M,M=.52249861494*(g-M),g=a+G,G=.566944034816*(a-G),a=r+b,b=.64682178336*(r-b),r=n+R,R=.788154623451*(n-R),n=Q+f,f=1.06067768599*(Q-f),Q=d+D,D=1.72244709824*(d-D),d=l+w,w=5.10114861869*(l-w),l=U+d,d=.509795579104*(U-d),U=s+Q,s=.601344886935*(s-Q),Q=g+n,n=.899976223136*(g-n),g=a+r,r=2.56291544774*(a-r),a=l+g,l=.541196100146*(l-g),g=U+Q,Q=1.30656296488*(U-Q),U=a+g,a=.707106781187*(a-g),g=l+Q,g+=l=.707106781187*(l-Q),Q=d+r,d=.541196100146*(d-r),r=s+n,n=1.30656296488*(s-n),s=Q+r,r=.707106781187*(Q-r),Q=d+n,s+=Q+=d=.707106781187*(d-n),Q+=r,r+=d,n=N+w,N=.509795579104*(N-w),w=M+D,M=.601344886935*(M-D),D=G+f,f=.899976223136*(G-f),G=b+R,R=2.56291544774*(b-R),b=n+G,n=.541196100146*(n-G),G=w+D,D=1.30656296488*(w-D),w=b+G,G=.707106781187*(b-G),b=n+D,D=.707106781187*(n-D),n=N+R,N=.541196100146*(N-R),R=M+f,f=1.30656296488*(M-f),M=n+R,R=.707106781187*(n-R),n=N+f,w+=M+=n+=N=.707106781187*(N-f),M+=b+=D,b+=n+=R,n+=G,G+=R+=N,R+=D,D+=N,f=o+(L=10.1900081235*(A[15][t]-A[16][t])),o=.502419286188*(o-L),L=I+q,I=.52249861494*(I-q),q=B+F,F=.566944034816*(B-F),B=C+S,C=.64682178336*(C-S),S=E+k,E=.788154623451*(E-k),k=h+y,y=1.06067768599*(h-y),h=c+m,m=1.72244709824*(c-m),c=u+p,u=5.10114861869*(u-p),p=f+c,c=.509795579104*(f-c),f=L+h,L=.601344886935*(L-h),h=q+k,k=.899976223136*(q-k),q=B+S,S=2.56291544774*(B-S),B=p+q,p=.541196100146*(p-q),q=f+h,h=1.30656296488*(f-h),f=B+q,q=.707106781187*(B-q),B=p+h,h=.707106781187*(p-h),p=c+S,S=.541196100146*(c-S),c=L+k,k=1.30656296488*(L-k),L=p+c,c=.707106781187*(p-c),p=S+k,L+=p+=k=.707106781187*(S-k),p+=c,S=c+k,c=o+u,o=.509795579104*(o-u),u=I+m,I=.601344886935*(I-m),m=F+y,y=.899976223136*(F-y),F=C+E,E=2.56291544774*(C-E),C=c+F,c=.541196100146*(c-F),F=u+m,m=1.30656296488*(u-m),u=C+F,F=.707106781187*(C-F),C=c+m,m=.707106781187*(c-m),c=o+E,o=.541196100146*(o-E),E=I+y,y=1.30656296488*(I-y),I=c+E,E=.707106781187*(c-E),c=o+y,f+=u+=I+=c+=o=.707106781187*(o-y),u+=L,L+=I+=C+=m,I+=B+=h,B+=C+=c+=E,C+=p,p+=c+=F,c+=q,q+=F+=E+=o,F+=S,S+=E+=m,E+=h,h+=m+=o,m+=k,k+=o,i[e+48]=-U,i[e+49]=i[e+47]=-f,i[e+50]=i[e+46]=-w,i[e+51]=i[e+45]=-u,i[e+52]=i[e+44]=-s,i[e+53]=i[e+43]=-L,i[e+54]=i[e+42]=-M,i[e+55]=i[e+41]=-I,i[e+56]=i[e+40]=-g,i[e+57]=i[e+39]=-B,i[e+58]=i[e+38]=-b,i[e+59]=i[e+37]=-C,i[e+60]=i[e+36]=-Q,i[e+61]=i[e+35]=-p,i[e+62]=i[e+34]=-n,i[e+63]=i[e+33]=-c,i[e+32]=-a,i[e+0]=a,i[e+31]=-q,i[e+1]=q,i[e+30]=-G,i[e+2]=G,i[e+29]=-F,i[e+3]=F,i[e+28]=-r,i[e+4]=r,i[e+27]=-S,i[e+5]=S,i[e+26]=-R,i[e+6]=R,i[e+25]=-E,i[e+7]=E,i[e+24]=-l,i[e+8]=l,i[e+23]=-h,i[e+9]=h,i[e+22]=-D,i[e+10]=D,i[e+21]=-m,i[e+11]=m,i[e+20]=-d,i[e+12]=d,i[e+19]=-k,i[e+13]=k,i[e+18]=-N,i[e+14]=N,i[e+17]=-o,i[e+15]=o,i[e+16]=0},t}(J);x.FRAME_SYNC=2047,x.VERSION={MPEG_2_5:0,MPEG_2:2,MPEG_1:3},x.LAYER={III:1,II:2,I:3},x.MODE={STEREO:0,JOINT_STEREO:1,DUAL_CHANNEL:2,MONO:3},x.SAMPLE_RATE=new Uint16Array([44100,48e3,32e3,0,22050,24e3,16e3,0]),x.BIT_RATE=new Uint16Array([32,48,56,64,80,96,112,128,160,192,224,256,320,384,8,16,24,32,40,48,56,64,80,96,112,128,144,160]),x.SCALEFACTOR_BASE=new Uint32Array([33554432,26632170,21137968]),x.SYNTHESIS_WINDOW=new Float32Array([0,-.5,-.5,-.5,-.5,-.5,-.5,-1,-1,-1,-1,-1.5,-1.5,-2,-2,-2.5,-2.5,-3,-3.5,-3.5,-4,-4.5,-5,-5.5,-6.5,-7,-8,-8.5,-9.5,-10.5,-12,-13,-14.5,-15.5,-17.5,-19,-20.5,-22.5,-24.5,-26.5,-29,-31.5,-34,-36.5,-39.5,-42.5,-45.5,-48.5,-52,-55.5,-58.5,-62.5,-66,-69.5,-73.5,-77,-80.5,-84.5,-88,-91.5,-95,-98,-101,-104,106.5,109,111,112.5,113.5,114,114,113.5,112,110.5,107.5,104,100,94.5,88.5,81.5,73,63.5,53,41.5,28.5,14.5,-1,-18,-36,-55.5,-76.5,-98.5,-122,-147,-173.5,-200.5,-229.5,-259.5,-290.5,-322.5,-355.5,-389.5,-424,-459.5,-495.5,-532,-568.5,-605,-641.5,-678,-714,-749,-783.5,-817,-849,-879.5,-908.5,-935,-959.5,-981,-1000.5,-1016,-1028.5,-1037.5,-1042.5,-1043.5,-1040,-1031.5,1018.5,1e3,976,946.5,911,869.5,822,767.5,707,640,565.5,485,397,302.5,201,92.5,-22.5,-144,-272.5,-407,-547.5,-694,-846,-1003,-1165,-1331.5,-1502,-1675.5,-1852.5,-2031.5,-2212.5,-2394,-2576.5,-2758.5,-2939.5,-3118.5,-3294.5,-3467.5,-3635.5,-3798.5,-3955,-4104.5,-4245.5,-4377.5,-4499,-4609.5,-4708,-4792.5,-4863.5,-4919,-4958,-4979.5,-4983,-4967.5,-4931.5,-4875,-4796,-4694.5,-4569.5,-4420,-4246,-4046,-3820,-3567,3287,2979.5,2644,2280.5,1888,1467.5,1018.5,541,35,-499,-1061,-1650,-2266.5,-2909,-3577,-4270,-4987.5,-5727.5,-6490,-7274,-8077.5,-8899.5,-9739,-10594.5,-11464.5,-12347,-13241,-14144.5,-15056,-15973.5,-16895.5,-17820,-18744.5,-19668,-20588,-21503,-22410.5,-23308.5,-24195,-25068.5,-25926.5,-26767,-27589,-28389,-29166.5,-29919,-30644.5,-31342,-32009.5,-32645,-33247,-33814.5,-34346,-34839.5,-35295,-35710,-36084.5,-36417.5,-36707.5,-36954,-37156.5,-37315,-37428,-37496,37519,37496,37428,37315,37156.5,36954,36707.5,36417.5,36084.5,35710,35295,34839.5,34346,33814.5,33247,32645,32009.5,31342,30644.5,29919,29166.5,28389,27589,26767,25926.5,25068.5,24195,23308.5,22410.5,21503,20588,19668,18744.5,17820,16895.5,15973.5,15056,14144.5,13241,12347,11464.5,10594.5,9739,8899.5,8077.5,7274,6490,5727.5,4987.5,4270,3577,2909,2266.5,1650,1061,499,-35,-541,-1018.5,-1467.5,-1888,-2280.5,-2644,-2979.5,3287,3567,3820,4046,4246,4420,4569.5,4694.5,4796,4875,4931.5,4967.5,4983,4979.5,4958,4919,4863.5,4792.5,4708,4609.5,4499,4377.5,4245.5,4104.5,3955,3798.5,3635.5,3467.5,3294.5,3118.5,2939.5,2758.5,2576.5,2394,2212.5,2031.5,1852.5,1675.5,1502,1331.5,1165,1003,846,694,547.5,407,272.5,144,22.5,-92.5,-201,-302.5,-397,-485,-565.5,-640,-707,-767.5,-822,-869.5,-911,-946.5,-976,-1e3,1018.5,1031.5,1040,1043.5,1042.5,1037.5,1028.5,1016,1000.5,981,959.5,935,908.5,879.5,849,817,783.5,749,714,678,641.5,605,568.5,532,495.5,459.5,424,389.5,355.5,322.5,290.5,259.5,229.5,200.5,173.5,147,122,98.5,76.5,55.5,36,18,1,-14.5,-28.5,-41.5,-53,-63.5,-73,-81.5,-88.5,-94.5,-100,-104,-107.5,-110.5,-112,-113.5,-114,-114,-113.5,-112.5,-111,-109,106.5,104,101,98,95,91.5,88,84.5,80.5,77,73.5,69.5,66,62.5,58.5,55.5,52,48.5,45.5,42.5,39.5,36.5,34,31.5,29,26.5,24.5,22.5,20.5,19,17.5,15.5,14.5,13,12,10.5,9.5,8.5,8,7,6.5,5.5,5,4.5,4,3.5,3.5,3,2.5,2.5,2,2,1.5,1.5,1,1,1,1,.5,.5,.5,.5,.5,.5]),x.QUANT_LUT_STEP_1=[[0,0,1,1,1,2,2,2,2,2,2,2,2,2],[0,0,0,0,0,0,1,1,1,2,2,2,2,2]],x.QUANT_TAB={A:91,B:94,C:8,D:12},x.QUANT_LUT_STEP_2=[[x.QUANT_TAB.C,x.QUANT_TAB.C,x.QUANT_TAB.D],[x.QUANT_TAB.A,x.QUANT_TAB.A,x.QUANT_TAB.A],[x.QUANT_TAB.B,x.QUANT_TAB.A,x.QUANT_TAB.B]],x.QUANT_LUT_STEP_3=[[68,68,52,52,52,52,52,52,52,52,52,52],[67,67,67,66,66,66,66,66,66,66,66,49,49,49,49,49,49,49,49,49,49,49,49,32,32,32,32,32,32,32],[69,69,69,69,52,52,52,52,52,52,52,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36]],x.QUANT_LUT_STEP4=[[0,1,2,17],[0,1,2,3,4,5,6,17],[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,17],[0,1,3,5,6,7,8,9,10,11,12,13,14,15,16,17],[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,17],[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]],x.QUANT_TAB=[{levels:3,group:1,bits:5},{levels:5,group:1,bits:7},{levels:7,group:0,bits:3},{levels:9,group:1,bits:10},{levels:15,group:0,bits:4},{levels:31,group:0,bits:5},{levels:63,group:0,bits:6},{levels:127,group:0,bits:7},{levels:255,group:0,bits:8},{levels:511,group:0,bits:9},{levels:1023,group:0,bits:10},{levels:2047,group:0,bits:11},{levels:4095,group:0,bits:12},{levels:8191,group:0,bits:13},{levels:16383,group:0,bits:14},{levels:32767,group:0,bits:15},{levels:65535,group:0,bits:16}];var Y=function(A){function t(t){var i;return(i=A.call(this,t)||this).onDecodeCallback=t.onAudioDecode,i.module=t.wasmModule,i.bufferSize=t.audioBufferSize||131072,i.bufferMode=t.streaming?L.MODE.EVICT:L.MODE.EXPAND,i.sampleRate=0,i}u(t,A);var i=t.prototype;return i.initializeWasmDecoder=function(){this.module.instance?(this.instance=this.module.instance,this.functions=this.module.instance.exports,this.decoder=this.functions._mp2_decoder_create(this.bufferSize,this.bufferMode)):console.warn("JSMpeg: WASM module not compiled yet")},i.destroy=function(){this.decoder&&this.functions._mp2_decoder_destroy(this.decoder)},i.bufferGetIndex=function(){if(this.decoder)return this.functions._mp2_decoder_get_index(this.decoder)},i.bufferSetIndex=function(A){this.decoder&&this.functions._mp2_decoder_set_index(this.decoder,A)},i.bufferWrite=function(A){this.decoder||this.initializeWasmDecoder();for(var t=0,i=0;i>4<<4;this.gl.viewport(0,0,i,this.height)},t.createTexture=function(A,t){var i=this.gl,e=i.createTexture();return i.bindTexture(i.TEXTURE_2D,e),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.uniform1i(i.getUniformLocation(this.program,t),A),e},t.createProgram=function(A,t){var i=this.gl,e=i.createProgram();return i.attachShader(e,this.compileShader(i.VERTEX_SHADER,A)),i.attachShader(e,this.compileShader(i.FRAGMENT_SHADER,t)),i.linkProgram(e),i.useProgram(e),e},t.compileShader=function(A,t){var i=this.gl,e=i.createShader(A);if(i.shaderSource(e,t),i.compileShader(e),!i.getShaderParameter(e,i.COMPILE_STATUS))throw new Error(i.getShaderInfoLog(e));return e},t.allowsClampedTextureData=function(){var A=this.gl,t=A.createTexture();return A.bindTexture(A.TEXTURE_2D,t),A.texImage2D(A.TEXTURE_2D,0,A.LUMINANCE,1,1,0,A.LUMINANCE,A.UNSIGNED_BYTE,new Uint8ClampedArray([0])),0===A.getError()},t.renderProgress=function(A){var t=this.gl;t.useProgram(this.loadingProgram);var i=t.getUniformLocation(this.loadingProgram,"progress");t.uniform1f(i,A),t.drawArrays(t.TRIANGLE_STRIP,0,4)},t.render=function(A,t,i,e){if(this.enabled){var s=this.gl,o=this.width+15>>4<<4,g=this.height,I=o>>1,a=g>>1;e&&this.shouldCreateUnclampedViews&&(A=new Uint8Array(A.buffer),t=new Uint8Array(t.buffer),i=new Uint8Array(i.buffer)),s.useProgram(this.program),this.updateTexture(s.TEXTURE0,this.textureY,o,g,A),this.updateTexture(s.TEXTURE1,this.textureCb,I,a,t),this.updateTexture(s.TEXTURE2,this.textureCr,I,a,i),s.drawArrays(s.TRIANGLE_STRIP,0,4)}},t.updateTexture=function(A,t,i,e,s){var o=this.gl;o.activeTexture(A),o.bindTexture(o.TEXTURE_2D,t),this.hasTextureData[A]?o.texSubImage2D(o.TEXTURE_2D,0,0,0,i,e,o.LUMINANCE,o.UNSIGNED_BYTE,s):(this.hasTextureData[A]=!0,o.texImage2D(o.TEXTURE_2D,0,o.LUMINANCE,i,e,0,o.LUMINANCE,o.UNSIGNED_BYTE,s))},t.deleteTexture=function(A,t){var i=this.gl;i.activeTexture(A),i.bindTexture(i.TEXTURE_2D,null),i.deleteTexture(t)},A.IsSupported=function(){try{if(!window.WebGLRenderingContext)return!1;var A=document.createElement("canvas");return!(!A.getContext("webgl")&&!A.getContext("experimental-webgl"))}catch(A){return!1}},A}();H.SHADER={FRAGMENT_YCRCB_TO_RGBA:["precision mediump float;","uniform sampler2D textureY;","uniform sampler2D textureCb;","uniform sampler2D textureCr;","varying vec2 texCoord;","mat4 rec601 = mat4(","1.16438, 0.00000, 1.59603, -0.87079,","1.16438, -0.39176, -0.81297, 0.52959,","1.16438, 2.01723, 0.00000, -1.08139,","0, 0, 0, 1",");","void main() {","float y = texture2D(textureY, texCoord).r;","float cb = texture2D(textureCb, texCoord).r;","float cr = texture2D(textureCr, texCoord).r;","gl_FragColor = vec4(y, cr, cb, 1.0) * rec601;","}"].join("\n"),FRAGMENT_LOADING:["precision mediump float;","uniform float progress;","varying vec2 texCoord;","void main() {","float c = ceil(progress-(1.0-texCoord.y));","gl_FragColor = vec4(c,c,c,1);","}"].join("\n"),VERTEX_IDENTITY:["attribute vec2 vertex;","varying vec2 texCoord;","void main() {","texCoord = vertex;","gl_Position = vec4((vertex * 2.0 - 1.0) * vec2(1, -1), 0.0, 1.0);","}"].join("\n")};var P=function(){function A(A){A.canvas?(this.canvas=A.canvas,this.ownsCanvasElement=!1):(this.canvas=document.createElement("canvas"),this.ownsCanvasElement=!0),this.width=this.canvas.width,this.height=this.canvas.height,this.enabled=!0,this.context=this.canvas.getContext("2d")}var t=A.prototype;return t.destroy=function(){this.ownsCanvasElement&&this.canvas.remove()},t.resize=function(A,t){this.width=0|A,this.height=0|t,this.canvas.width=this.width,this.canvas.height=this.height,this.imageData=this.context.getImageData(0,0,this.width,this.height),G(this.imageData.data,255)},t.renderProgress=function(A){var t=this.canvas.width,i=this.canvas.height,e=this.context;e.fillStyle="#222",e.fillRect(0,0,t,i),e.fillStyle="#fff",e.fillRect(0,i-i*A,t,i*A)},t.render=function(A,t,i){this.YCbCrToRGBA(A,t,i,this.imageData.data),this.context.putImageData(this.imageData,0,0)},t.YCbCrToRGBA=function(A,t,i,e){if(this.enabled)for(var s,o,g,I,a,B=this.width+15>>4<<4,r=B>>1,C=0,n=B,E=B+(B-this.width),Q=0,h=r-(this.width>>1),d=0,c=4*this.width,l=4*this.width,u=this.width>>1,w=this.height>>1,p=0;p>8)-179,I=(88*o>>8)-44+(183*s>>8)-91,a=o+(198*o>>8)-227;var m=A[C++],f=A[C++];e[d]=m+g,e[d+1]=m-I,e[d+2]=m+a,e[d+4]=f+g,e[d+5]=f-I,e[d+6]=f+a,d+=8;var y=A[n++],R=A[n++];e[c]=y+g,e[c+1]=y-I,e[c+2]=y+a,e[c+4]=R+g,e[c+5]=R-I,e[c+6]=R+a,c+=8}C+=E,n+=E,d+=l,c+=l,Q+=h}},A}(),O=function(){function A(){this.context=A.CachedContext=A.CachedContext||new(window.AudioContext||window.webkitAudioContext),this.gain=this.context.createGain(),this.destination=this.gain,this.gain.connect(this.context.destination),this.context._connections=(this.context._connections||0)+1,this.startTime=0,this.buffer=null,this.wallclockStartTime=0,this.volume=1,this.enabled=!0,this.unlocked=!A.NeedsUnlocking(),Object.defineProperty(this,"enqueuedTime",{get:this.getEnqueuedTime})}var t=A.prototype;return t.destroy=function(){this.gain.disconnect(),this.context._connections--,0===this.context._connections&&(this.context.close(),A.CachedContext=null)},t.play=function(A,t,i){if(this.enabled){if(!this.unlocked){var e=S();return this.wallclockStartTimethis.memory.buffer.byteLength){var i=this.brk-this.memory.buffer.byteLength,e=Math.ceil(i/this.pageSize);this.memory.grow(e),this.createHeapViews()}return t},t.c_abort=function(A){console.warn("JSMPeg: WASM abort",arguments)},t.c_assertFail=function(A){console.warn("JSMPeg: WASM ___assert_fail",arguments)},t.readDylinkSection=function(A){var t=new Uint8Array(A),i=0,e=function(){for(var A=0,e=1;;){var s=t[i++];if(A+=(127&s)*e,e*=128,!(128&s))return A}},s=function(A){for(var e=0;ethis.maxAudioLag&&(this.audioOut.resetEnqueuedTime(),this.audioOut.enabled=!1),A=this.audio.decode()}while(A);this.audioOut.enabled=!0}},t.updateForStaticFile=function(){var A=!1,t=0;if(this.audio&&this.audio.canPlay){for(;!A&&this.audio.decodedTime-this.audio.currentTime<.25;)A=!this.audio.decode();this.video&&this.video.currentTime0&&(e>2*s&&(this.startTime+=e),A=!this.video.decode()),t=this.demuxer.currentTime-i}this.source.resume(t),A&&this.source.completed?this.loop?this.seek(0):(this.stop(),this.options.onEnded&&this.options.onEnded(this)):A&&this.options.onStalled&&this.options.onStalled(this)},A}(),W={Player:X,VideoElement:b,BitBuffer:L,Source:{Ajax:M,AjaxProgressive:q,WebSocket:N,Fetch:function(){function A(A,t){this.url=A,this.destination=null,this.request=null,this.streaming=!0,this.completed=!1,this.established=!1,this.progress=0,this.aborted=!1,this.onEstablishedCallback=t.onSourceEstablished,this.onCompletedCallback=t.onSourceCompleted,t.hookOnEstablished&&(this.hookOnEstablished=t.hookOnEstablished)}var t=A.prototype;return t.connect=function(A){this.destination=A},t.start=function(){var A=this,t={method:"GET",headers:new Headers,cache:"default"};self.fetch(this.url,t).then((function(t){if(t.ok&&t.status>=200&&t.status<=299)return A.progress=1,A.established=!0,A.pump(t.body.getReader())})).catch((function(A){throw A}))},t.pump=function(A){var t=this;return A.read().then((function(i){if(!i.done)return t.aborted?A.cancel():(t.destination&&t.destination.write(i.value.buffer),t.pump(A));t.completed=!0})).catch((function(A){throw A}))},t.resume=function(){},t.abort=function(){this.aborted=!0},A}()},Demuxer:{TS:U},Decoder:{Base:J,MPEG1Video:T,MPEG1VideoWASM:v,MP2Audio:x,MP2AudioWASM:Y},Renderer:{WebGL:H,Canvas2D:P},AudioOutput:{WebAudio:O},WASMModule:K,Now:S,CreateVideoElements:function(){for(var A=document.querySelectorAll(".jsmpeg"),t=0;tthis.q=A))}resume(){this.q?.(),this.Z=this.q=void 0}} -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const V=A=>!e(A)&&"function"==typeof A.then,z=1073741823;const $=A(class extends t{constructor(){super(...arguments),this._$Cwt=z,this._$Cbt=[],this._$CK=new Z(this),this._$CX=new j}render(...A){return A.find((A=>!V(A)))??i}update(A,t){const e=this._$Cbt;let s=e.length;this._$Cbt=t;const o=this._$CK,g=this._$CX;this.isConnected||this.disconnected();for(let A=0;Athis._$Cwt);A++){const i=t[A];if(!V(i))return this._$Cwt=A,i;A{for(;g.get();)await g.get();const t=o.deref();if(void 0!==t){const e=t._$Cbt.indexOf(i);e>-1&&e{let i=!1;const e=new W.VideoElement(this,A,{canvas:this._jsmpegCanvasElement},{pauseWhenHidden:!1,autoplay:!1,protocols:[],audio:!1,videoBufferSize:4194304,preserveDrawingBuffer:!0,...this.cameraConfig?.jsmpeg?.options,reconnectInterval:0,onVideoDecode:()=>{!i&&this._jsmpegCanvasElement&&(i=!0,t(e))},onPlay:()=>g(this),onPause:()=>I(this)})})),this._jsmpegCanvasElement&&a(this,this._jsmpegCanvasElement,{player:this,capabilities:{supportsPause:!0},technology:["jsmpeg"]})}_resetPlayer(){if(this._refreshPlayerTimer.stop(),this._jsmpegVideoPlayer){try{this._jsmpegVideoPlayer.destroy()}catch(A){}this._jsmpegVideoPlayer=void 0}this._jsmpegCanvasElement&&(this._jsmpegCanvasElement.remove(),this._jsmpegCanvasElement=void 0)}connectedCallback(){super.connectedCallback(),this.isConnected&&this.requestUpdate()}disconnectedCallback(){this.isConnected||this._resetPlayer(),super.disconnectedCallback()}async _refreshPlayer(){if(!this.hass)return;this._resetPlayer(),this._jsmpegCanvasElement=document.createElement("canvas"),this._jsmpegCanvasElement.className="media";const A=this.cameraEndpoints?.jsmpeg;if(!A)return B(this,r("error.live_camera_no_endpoint"),{context:this.cameraConfig});const t=await c(this,this.hass,A,86400);t&&(await this._createJSMPEGPlayer(t),this._refreshPlayerTimer.start(82800,(()=>this.requestUpdate())))}render(){return C`${$((async()=>(await this._refreshPlayer(),this._jsmpegVideoPlayer&&this._jsmpegCanvasElement?C`${this._jsmpegCanvasElement}`:B(this,r("error.jsmpeg_no_player"))))(),n({cardWideConfig:this.cardWideConfig}))}`}static get styles(){return E(":host {\n width: 100%;\n height: 100%;\n display: flex;\n}\n\ncanvas {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n object-view-box: inset(var(--frigate-card-media-layout-view-box-top, 0%) var(--frigate-card-media-layout-view-box-right, 0%) var(--frigate-card-media-layout-view-box-bottom, 0%) var(--frigate-card-media-layout-view-box-left, 0%));\n}")}};Q([h({attribute:!1})],AA.prototype,"cameraConfig",void 0),Q([h({attribute:!1})],AA.prototype,"cameraEndpoints",void 0),Q([h({attribute:!1})],AA.prototype,"cardWideConfig",void 0),AA=Q([d("frigate-card-live-jsmpeg")],AA);export{AA as FrigateCardLiveJSMPEG}; diff --git a/config/www/community/frigate-hass-card/jsmpeg-66c8006d.js.gz b/config/www/community/frigate-hass-card/jsmpeg-66c8006d.js.gz deleted file mode 100644 index e3701dcb64261657021204a0fd8514c9257ba4ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42824 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

HnwmN{ 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 diff --git a/config/www/community/frigate-hass-card/jsmpeg-ef28408a.js b/config/www/community/frigate-hass-card/jsmpeg-ef28408a.js deleted file mode 100644 index da0f3038..00000000 --- a/config/www/community/frigate-hass-card/jsmpeg-ef28408a.js +++ /dev/null @@ -1,12 +0,0 @@ -import{cL as A,eN as t,dC as i,eO as e,a as s,dD as o,dy as g,dz as I,dw as a,cQ as B,l as r,x as C,dl as n,r as E,_ as Q,n as h,t as d}from"./card-769e2b91.js";import{g as c}from"./endpoint-9c79ab63.js";function l(){return l=Object.assign?Object.assign.bind():function(A){for(var t=1;t"string"==typeof A&&A.constructor===String,D=function(A){var t,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t=A,"Promise"===Object.prototype.toString.call(t).slice(8,-1)?A:new Promise((t=>{A(),setTimeout(t,i)}))};var m="WJ3NAvwFY9",f="tR2-0dd-e1",y="ZgIIHVSSYI",R="kAA8SjbHe2",k="OueN4AU4CJ";!function(A,t){void 0===t&&(t={});var i=t.insertAt;if(A&&"undefined"!=typeof document){var e=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.type="text/css","top"===i&&e.firstChild?e.insertBefore(s,e.firstChild):e.appendChild(s),s.styleSheet?s.styleSheet.cssText=A:s.appendChild(document.createTextNode(A))}}(".WJ3NAvwFY9,.ZgIIHVSSYI,.kAA8SjbHe2,.tR2-0dd-e1{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.ZgIIHVSSYI{-ms-flex-pack:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;justify-content:center}.WJ3NAvwFY9,.tR2-0dd-e1{display:block}.tR2-0dd-e1.OueN4AU4CJ{display:none}.ZgIIHVSSYI,.kAA8SjbHe2{-webkit-tap-highlight-color:rgba(255,0,0,0);cursor:pointer;opacity:.7}.OueN4AU4CJ.ZgIIHVSSYI,.OueN4AU4CJ.kAA8SjbHe2{display:none}.ZgIIHVSSYI{z-index:10}.ZgIIHVSSYI>svg{fill:#fff;height:12vw;max-height:60px;max-width:60px;width:12vw}.kAA8SjbHe2{-ms-flex-pack:end;-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:flex-end;justify-content:flex-end;z-index:10}.kAA8SjbHe2>svg{fill:#fff;height:9vw;margin:0 15px 15px 0;max-height:40px;max-width:40px;width:9vw}");var b=function(){function A(A,t,i,e){var s=void 0===i?{}:i,o=s.canvas,g=void 0===o?"":o,I=s.poster,a=void 0===I?"":I,B=s.autoplay,r=void 0!==B&&B,C=s.autoSetWrapperSize,n=void 0!==C&&C,E=s.loop,Q=void 0!==E&&E,h=s.control,d=void 0===h||h,c=s.decodeFirstFrame,u=void 0===c||c,w=s.picMode,D=void 0!==w&&w,m=s.progressive,f=void 0===m||m,y=s.chunkSize,R=void 0===y?1048576:y,k=s.hooks,b=void 0===k?{}:k;void 0===e&&(e={}),this.options=l({videoUrl:t,canvas:g,poster:a,picMode:D,autoplay:r,autoSetWrapperSize:n,loop:Q,control:d,decodeFirstFrame:u,progressive:f,chunkSize:R,hooks:l({play:function(){},pause:function(){},stop:function(){},load:function(){}},b)},e),this.options.needPlayButton=this.options.control&&!this.options.picMode,this.player=null,this.els={wrapper:p(A)?document.querySelector(A):A,canvas:null,playButton:document.createElement("div"),unmuteButton:null,poster:null},"static"===window.getComputedStyle(this.els.wrapper).getPropertyValue("position")&&(this.els.wrapper.style.position="relative"),this.els.wrapper.clientRect=this.els.wrapper.getBoundingClientRect(),this.initCanvas(),this.initPlayButton(),this.initPlayer()}var t=A.prototype;return t.initCanvas=function(){this.options.canvas?this.els.canvas=p(this.options.canvas)?document.querySelector(this.options.canvas):this.options.canvas:(this.els.canvas=document.createElement("canvas"),this.els.canvas.classList.add(m),this.els.wrapper.appendChild(this.els.canvas))},t.initPlayer=function(){var A=this;this.options=l(this.options,{canvas:this.els.canvas});var t=l({},this.options,{autoplay:!1});if(this.player=new X(this.options.videoUrl,t,{play:function(){A.options.needPlayButton&&A.els.playButton.classList.add(k),A.els.poster&&A.els.poster.classList.add(k),A.options.hooks.play()},pause:function(){A.options.needPlayButton&&A.els.playButton.classList.remove(k),A.options.hooks.pause()},stop:function(){A.els.poster&&A.els.poster.classList.remove(k),A.options.hooks.stop()},load:function(){A.options.autoplay&&A.play(),A._autoSetWrapperSize(),A.options.hooks.load()}}),this._copyPlayerFuncs(),this.els.wrapper.playerInstance=this.player,!this.options.poster||this.options.autoplay||this.player.options.streaming||(this.options.decodeFirstFrame=!1,this.els.poster=new Image,this.els.poster.src=this.options.poster,this.els.poster.classList.add(f),this.els.wrapper.appendChild(this.els.poster)),this.player.options.streaming||this.els.wrapper.addEventListener("click",this.onClick.bind(this)),(this.options.autoplay||this.player.options.streaming)&&this.els.playButton.classList.add(k),this.player.audioOut&&!this.player.audioOut.unlocked){var i=this.els.wrapper;(this.options.autoplay||this.player.options.streaming)&&(this.els.unmuteButton=document.createElement("div"),this.els.unmuteButton.innerHTML='\n\n \n\n',this.els.unmuteButton.classList.add(R),this.els.wrapper.appendChild(this.els.unmuteButton),i=this.els.unmuteButton),this.unlockAudioBound=this.onUnlockAudio.bind(this,i),i.addEventListener("touchstart",this.unlockAudioBound,!1),i.addEventListener("click",this.unlockAudioBound,!0)}},t.initPlayButton=function(){this.options.needPlayButton&&(this.els.playButton.classList.add(y),this.els.playButton.innerHTML='\n\n \n\n',this.els.wrapper.appendChild(this.els.playButton))},t._autoSetWrapperSize=function(){var A=this;if(!this.options.autoSetWrapperSize)return Promise.resolve();var t=this.player.video.destination;return t?Promise.resolve().then((function(){return D((function(){A.els.wrapper.style.width=t.width+"px",A.els.wrapper.style.height=t.height+"px"}))})):Promise.resolve()},t.onUnlockAudio=function(A,t){var i=this;this.els.unmuteButton&&(t.preventDefault(),t.stopPropagation()),this.player.audioOut.unlock((function(){i.els.unmuteButton&&i.els.unmuteButton.classList.add(k),A.removeEventListener("touchstart",i.unlockAudioBound),A.removeEventListener("click",i.unlockAudioBound)}))},t.onClick=function(){this.options.control&&(this.player.isPlaying?this.pause():this.play())},t._copyPlayerFuncs=function(){var A=this;this.play=function(){return A.player.play()},this.pause=function(){return A.player.pause()},this.stop=function(){return A.player.stop()},this.destroy=function(){A.player.destroy(),A.els.wrapper.innerHTML="",A.els.wrapper.playerInstance=null}},A}(),S=function(){return window.performance?window.performance.now()/1e3:Date.now()/1e3},G=function(A,t){if(A.fill)A.fill(t);else for(var i=0;iA&&this.loadNextChunk())},t.destroy=function(){this.request.abort(),this.aborted=!0},t.loadNextChunk=function(){var A=this,t=this.loadedSize,i=Math.min(this.loadedSize+this.chunkSize-1,this.fileSize-1);if(t>=this.fileSize||this.aborted)return this.completed=!0,void(this.onCompletedCallback&&this.onCompletedCallback(this));this.isLoading=!0,this.loadStartTime=S(),this.request=new XMLHttpRequest,this.request.onreadystatechange=function(){A.request.readyState===A.request.DONE&&A.request.status>=200&&A.request.status<300?A.onChunkLoad(A.request.response):A.request.readyState===A.request.DONE&&A.loadFails++<3&&A.loadNextChunk()},0===t&&(this.request.onprogress=this.onProgress.bind(this)),this.request.open("GET",this.url+"?"+t+"-"+i),this.request.setRequestHeader("Range","bytes="+t+"-"+i),this.request.responseType="arraybuffer",this.request.send()},t.onProgress=function(A){this.progress=A.loaded/A.total},t.onChunkLoad=function(A){var t=!this.established;this.established=!0,this.progress=1,this.loadedSize+=A.byteLength,this.loadFails=0,this.isLoading=!1,t&&this.hookOnEstablished&&this.hookOnEstablished(),t&&this.onEstablishedCallback&&this.onEstablishedCallback(this),this.destination&&this.destination.write(A),this.loadTime=S()-this.loadStartTime,this.throttled||this.loadNextChunk()},A}(),N=function(){function A(A,t){this.url=A,this.options=t,this.socket=null,this.streaming=!0,this.callbacks={connect:[],data:[]},this.destination=null,this.reconnectInterval=void 0!==t.reconnectInterval?t.reconnectInterval:5,this.shouldAttemptReconnect=!!this.reconnectInterval,this.completed=!1,this.established=!1,this.progress=0,this.reconnectTimeoutId=0,this.onEstablishedCallback=t.onSourceEstablished,this.onCompletedCallback=t.onSourceCompleted,t.hookOnEstablished&&(this.hookOnEstablished=t.hookOnEstablished)}var t=A.prototype;return t.connect=function(A){this.destination=A},t.destroy=function(){clearTimeout(this.reconnectTimeoutId),this.shouldAttemptReconnect=!1,this.socket.close()},t.start=function(){this.shouldAttemptReconnect=!!this.reconnectInterval,this.progress=0,this.established=!1,this.options.protocols?this.socket=new WebSocket(this.url,this.options.protocols):this.socket=new WebSocket(this.url),this.socket.binaryType="arraybuffer",this.socket.onmessage=this.onMessage.bind(this),this.socket.onopen=this.onOpen.bind(this),this.socket.onerror=this.onClose.bind(this),this.socket.onclose=this.onClose.bind(this)},t.resume=function(){},t.onOpen=function(){this.progress=1},t.onClose=function(){var A=this;this.shouldAttemptReconnect&&(clearTimeout(this.reconnectTimeoutId),this.reconnectTimeoutId=setTimeout((function(){A.start()}),1e3*this.reconnectInterval))},t.onMessage=function(A){var t=!this.established;this.established=!0,t&&this.hookOnEstablished&&this.hookOnEstablished(),t&&this.onEstablishedCallback&&this.onEstablishedCallback(this),this.destination&&this.destination.write(A.data)},A}(),L=function(){function A(t,i){"object"==typeof t?(this.bytes=t instanceof Uint8Array?t:new Uint8Array(t),this.byteLength=this.bytes.length):(this.bytes=new Uint8Array(t||1048576),this.byteLength=0),this.mode=i||A.MODE.EXPAND,this.index=0}var t=A.prototype;return t.resize=function(A){var t=new Uint8Array(A);0!==this.byteLength&&(this.byteLength=Math.min(this.byteLength,A),t.set(this.bytes,0,this.byteLength)),this.bytes=t,this.index=Math.min(this.index,this.byteLength<<3)},t.evict=function(A){var t=this.index>>3,i=this.bytes.length-this.byteLength;if(this.index===this.byteLength<<3||A>i+t)return this.byteLength=0,void(this.index=0);0!==t&&(this.bytes.copyWithin?this.bytes.copyWithin(0,t,this.byteLength):this.bytes.set(this.bytes.subarray(t,this.byteLength)),this.byteLength-=t,this.index-=t<<3)},t.write=function(t){var i="object"==typeof t[0],e=0,s=this.bytes.length-this.byteLength;if(i){e=0;for(var o=0;os)if(this.mode===A.MODE.EXPAND){var g=Math.max(2*this.bytes.length,e-s);this.resize(g)}else this.evict(e);if(i)for(var I=0;I>3;A>3;return A>=this.byteLength||0===this.bytes[A]&&0===this.bytes[A+1]&&1===this.bytes[A+2]},t.peek=function(A){for(var t=this.index,i=0;A;){var e=8-(7&t),s=e>3]&255>>8-s<>o,t+=s,A-=s}return i},t.read=function(A){var t=this.peek(A);return this.index+=A,t},t.skip=function(A){return this.index+=A},t.rewind=function(A){this.index=Math.max(this.index-A,0)},t.has=function(A){return(this.byteLength<<3)-this.index>=A},A}();L.MODE={EVICT:1,EXPAND:2};var U=function(){function A(){this.bits=null,this.leftoverBytes=null,this.guessVideoFrameEnd=!0,this.pidsToStreamIds={},this.pesPacketInfo={},this.startTime=0,this.currentTime=0}var t=A.prototype;return t.connect=function(A,t){this.pesPacketInfo[A]={destination:t,currentLength:0,totalLength:0,pts:0,buffers:[]}},t.write=function(A){if(this.leftoverBytes){var t=A.byteLength+this.leftoverBytes.byteLength;this.bits=new L(t),this.bits.write([this.leftoverBytes,A])}else this.bits=new L(A);for(;this.bits.has(1504)&&this.parsePacket(););var i=this.bits.byteLength-(this.bits.index>>3);this.leftoverBytes=i>0?this.bits.bytes.subarray(this.bits.index>>3):null},t.parsePacket=function(){if(71!==this.bits.read(8)&&!this.resync())return!1;var A=187+(this.bits.index>>3);this.bits.read(1);var t=this.bits.read(1);this.bits.read(1);var i=this.bits.read(13);this.bits.read(2);var e=this.bits.read(2);this.bits.read(4);var s=this.pidsToStreamIds[i];if(t&&s){var o=this.pesPacketInfo[s];o&&o.currentLength&&this.packetComplete(o)}if(1&e){if(2&e){var g=this.bits.read(8);this.bits.skip(g<<3)}if(t&&this.bits.nextBytesAreStartCode()){this.bits.skip(24),s=this.bits.read(8),this.pidsToStreamIds[i]=s;var I=this.bits.read(16);this.bits.skip(8);var a=this.bits.read(2);this.bits.skip(6);var B=this.bits.read(8),r=this.bits.index+(B<<3),C=this.pesPacketInfo[s];if(C){var n=0;if(2&a){this.bits.skip(4);var E=this.bits.read(3);this.bits.skip(1);var Q=this.bits.read(15);this.bits.skip(1);var h=this.bits.read(15);this.bits.skip(1),n=(1073741824*E+32768*Q+h)/9e4,this.currentTime=n,-1===this.startTime&&(this.startTime=n)}var d=I?I-B-3:0;this.packetStart(C,n,d)}this.bits.index=r}if(s){var c=this.pesPacketInfo[s];if(c){var l=this.bits.index>>3,u=!t&&2&e;(this.packetAddData(c,l,A)||this.guessVideoFrameEnd&&u)&&this.packetComplete(c)}}}return this.bits.index=A<<3,!0},t.resync=function(){if(!this.bits.has(9024))return!1;for(var A=this.bits.index>>3,t=0;t<187;t++)if(71===this.bits.bytes[A+t]){for(var i=!0,e=1;e<5;e++)if(71!==this.bits.bytes[A+t+188*e]){i=!1;break}if(i)return this.bits.index=A+t+1<<3,!0}return console.warn("JSMpeg: Possible garbage data. Skipping."),this.bits.skip(1496),!1},t.packetStart=function(A,t,i){A.totalLength=i,A.currentLength=0,A.pts=t},t.packetAddData=function(A,t,i){return A.buffers.push(this.bits.bytes.subarray(t,i)),A.currentLength+=i-t,0!==A.totalLength&&A.currentLength>=A.totalLength},t.packetComplete=function(A){A.destination.write(A.pts,A.buffers),A.totalLength=0,A.currentLength=0,A.buffers=[]},A}();U.STREAM={PACK_HEADER:186,SYSTEM_HEADER:187,PROGRAM_MAP:188,PRIVATE_1:189,PADDING:190,PRIVATE_2:191,AUDIO_1:192,VIDEO_1:224,DIRECTORY:255};var J=function(){function A(A){this.destination=null,this.canPlay=!1,this.collectTimestamps=!A.streaming,this.bytesWritten=0,this.timestamps=[],this.timestampIndex=0,this.startTime=0,this.decodedTime=0,Object.defineProperty(this,"currentTime",{get:this.getCurrentTime})}var t=A.prototype;return t.destroy=function(){},t.connect=function(A){this.destination=A},t.bufferGetIndex=function(){return this.bits.index},t.bufferSetIndex=function(A){this.bits.index=A},t.bufferWrite=function(A){return this.bits.write(A)},t.write=function(A,t){this.collectTimestamps&&(0===this.timestamps.length&&(this.startTime=A,this.decodedTime=A),this.timestamps.push({index:this.bytesWritten<<3,time:A})),this.bytesWritten+=this.bufferWrite(t),this.canPlay=!0},t.seek=function(A){if(this.collectTimestamps){this.timestampIndex=0;for(var t=0;tA);t++)this.timestampIndex=t;var i=this.timestamps[this.timestampIndex];i?(this.bufferSetIndex(i.index),this.decodedTime=i.time):(this.bits.index=0,this.decodedTime=this.startTime)}},t.decode=function(){this.advanceDecodedTime(0)},t.advanceDecodedTime=function(A){if(this.collectTimestamps){for(var t=-1,i=this.bufferGetIndex(),e=this.timestampIndex;ei);e++)t=e;if(-1!==t&&t!==this.timestampIndex)return this.timestampIndex=t,void(this.decodedTime=this.timestamps[this.timestampIndex].time)}this.decodedTime+=A},t.getCurrentTime=function(){return this.decodedTime},A}(),T=function(A){function t(t){var i;(i=A.call(this,t)||this).onDecodeCallback=t.onVideoDecode;var e=t.videoBufferSize||524288,s=t.streaming?L.MODE.EVICT:L.MODE.EXPAND;return i.bits=new L(e,s),i.customIntraQuantMatrix=new Uint8Array(64),i.customNonIntraQuantMatrix=new Uint8Array(64),i.blockData=new Int32Array(64),i.currentFrame=0,i.decodeFirstFrame=!1!==t.decodeFirstFrame,i}u(t,A);var i=t.prototype;return i.write=function(A,i){if(J.prototype.write.call(this,A,i),!this.hasSequenceHeader){if(-1===this.bits.findStartCode(t.START.SEQUENCE))return!1;this.decodeSequenceHeader(),this.decodeFirstFrame&&this.decode()}},i.decode=function(){var A=S();if(!this.hasSequenceHeader)return!1;if(-1===this.bits.findStartCode(t.START.PICTURE))return!1;this.decodePicture(),this.advanceDecodedTime(1/this.frameRate);var i=S()-A;return this.onDecodeCallback&&this.onDecodeCallback(this,i),!0},i.readHuffman=function(A){var t=0;do{t=A[t+this.bits.read(1)]}while(t>=0&&0!==A[t]);return A[t+2]},i.decodeSequenceHeader=function(){var A=this.bits.read(12),i=this.bits.read(12);if(this.bits.skip(4),this.frameRate=t.PICTURE_RATE[this.bits.read(4)],this.bits.skip(30),A===this.width&&i===this.height||(this.width=A,this.height=i,this.initBuffers(),this.destination&&this.destination.resize(A,i)),this.bits.read(1)){for(var e=0;e<64;e++)this.customIntraQuantMatrix[t.ZIG_ZAG[e]]=this.bits.read(8);this.intraQuantMatrix=this.customIntraQuantMatrix}if(this.bits.read(1)){for(var s=0;s<64;s++){var o=t.ZIG_ZAG[s];this.customNonIntraQuantMatrix[o]=this.bits.read(8)}this.nonIntraQuantMatrix=this.customNonIntraQuantMatrix}this.hasSequenceHeader=!0},i.initBuffers=function(){this.intraQuantMatrix=t.DEFAULT_INTRA_QUANT_MATRIX,this.nonIntraQuantMatrix=t.DEFAULT_NON_INTRA_QUANT_MATRIX,this.mbWidth=this.width+15>>4,this.mbHeight=this.height+15>>4,this.mbSize=this.mbWidth*this.mbHeight,this.codedWidth=this.mbWidth<<4,this.codedHeight=this.mbHeight<<4,this.codedSize=this.codedWidth*this.codedHeight,this.halfWidth=this.mbWidth<<3,this.halfHeight=this.mbHeight<<3,this.currentY=new Uint8ClampedArray(this.codedSize),this.currentY32=new Uint32Array(this.currentY.buffer),this.currentCr=new Uint8ClampedArray(this.codedSize>>2),this.currentCr32=new Uint32Array(this.currentCr.buffer),this.currentCb=new Uint8ClampedArray(this.codedSize>>2),this.currentCb32=new Uint32Array(this.currentCb.buffer),this.forwardY=new Uint8ClampedArray(this.codedSize),this.forwardY32=new Uint32Array(this.forwardY.buffer),this.forwardCr=new Uint8ClampedArray(this.codedSize>>2),this.forwardCr32=new Uint32Array(this.forwardCr.buffer),this.forwardCb=new Uint8ClampedArray(this.codedSize>>2),this.forwardCb32=new Uint32Array(this.forwardCb.buffer)},i.decodePicture=function(){if(this.currentFrame++,this.bits.skip(10),this.pictureType=this.bits.read(3),this.bits.skip(16),!(this.pictureType<=0||this.pictureType>=t.PICTURE_TYPE.B)){if(this.pictureType===t.PICTURE_TYPE.PREDICTIVE){if(this.fullPelForward=this.bits.read(1),this.forwardFCode=this.bits.read(3),0===this.forwardFCode)return;this.forwardRSize=this.forwardFCode-1,this.forwardF=1<=t.START.SLICE_FIRST&&A<=t.START.SLICE_LAST;)this.decodeSlice(255&A),A=this.bits.findNextStartCode();if(-1!==A&&this.bits.rewind(32),this.destination&&this.destination.render(this.currentY,this.currentCr,this.currentCb,!0),this.pictureType===t.PICTURE_TYPE.INTRA||this.pictureType===t.PICTURE_TYPE.PREDICTIVE){var i=this.forwardY,e=this.forwardY32,s=this.forwardCr,o=this.forwardCr32,g=this.forwardCb,I=this.forwardCb32;this.forwardY=this.currentY,this.forwardY32=this.currentY32,this.forwardCr=this.currentCr,this.forwardCr32=this.currentCr32,this.forwardCb=this.currentCb,this.forwardCb32=this.currentCb32,this.currentY=i,this.currentY32=e,this.currentCr=s,this.currentCr32=o,this.currentCb=g,this.currentCb32=I}}},i.decodeSlice=function(A){for(this.sliceBegin=!0,this.macroblockAddress=(A-1)*this.mbWidth-1,this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0,this.dcPredictorY=128,this.dcPredictorCr=128,this.dcPredictorCb=128,this.quantizerScale=this.bits.read(5);this.bits.read(1);)this.bits.skip(8);do{this.decodeMacroblock()}while(!this.bits.nextBytesAreStartCode())},i.decodeMacroblock=function(){for(var A=0,i=this.readHuffman(t.MACROBLOCK_ADDRESS_INCREMENT);34===i;)i=this.readHuffman(t.MACROBLOCK_ADDRESS_INCREMENT);for(;35===i;)A+=33,i=this.readHuffman(t.MACROBLOCK_ADDRESS_INCREMENT);if(A+=i,this.sliceBegin)this.sliceBegin=!1,this.macroblockAddress+=A;else{if(this.macroblockAddress+A>=this.mbSize)return;for(A>1&&(this.dcPredictorY=128,this.dcPredictorCr=128,this.dcPredictorCb=128,this.pictureType===t.PICTURE_TYPE.PREDICTIVE&&(this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0));A>1;)this.macroblockAddress++,this.mbRow=this.macroblockAddress/this.mbWidth|0,this.mbCol=this.macroblockAddress%this.mbWidth,this.copyMacroblock(this.motionFwH,this.motionFwV,this.forwardY,this.forwardCr,this.forwardCb),A--;this.macroblockAddress++}this.mbRow=this.macroblockAddress/this.mbWidth|0,this.mbCol=this.macroblockAddress%this.mbWidth;var e=t.MACROBLOCK_TYPE[this.pictureType];this.macroblockType=this.readHuffman(e),this.macroblockIntra=1&this.macroblockType,this.macroblockMotFw=8&this.macroblockType,16&this.macroblockType&&(this.quantizerScale=this.bits.read(5)),this.macroblockIntra?(this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0):(this.dcPredictorY=128,this.dcPredictorCr=128,this.dcPredictorCb=128,this.decodeMotionVectors(),this.copyMacroblock(this.motionFwH,this.motionFwV,this.forwardY,this.forwardCr,this.forwardCb));for(var s=2&this.macroblockType?this.readHuffman(t.CODE_BLOCK_PATTERN):this.macroblockIntra?63:0,o=0,g=32;o<6;o++)s&g&&this.decodeBlock(o),g>>=1},i.decodeMotionVectors=function(){var A,i,e=0;this.macroblockMotFw?(0!==(A=this.readHuffman(t.MOTION))&&1!==this.forwardF?(e=this.bits.read(this.forwardRSize),i=(Math.abs(A)-1<(this.forwardF<<4)-1?this.motionFwHPrev-=this.forwardF<<5:this.motionFwHPrev<-this.forwardF<<4&&(this.motionFwHPrev+=this.forwardF<<5),this.motionFwH=this.motionFwHPrev,this.fullPelForward&&(this.motionFwH<<=1),0!==(A=this.readHuffman(t.MOTION))&&1!==this.forwardF?(e=this.bits.read(this.forwardRSize),i=(Math.abs(A)-1<(this.forwardF<<4)-1?this.motionFwVPrev-=this.forwardF<<5:this.motionFwVPrev<-this.forwardF<<4&&(this.motionFwVPrev+=this.forwardF<<5),this.motionFwV=this.motionFwVPrev,this.fullPelForward&&(this.motionFwV<<=1)):this.pictureType===t.PICTURE_TYPE.PREDICTIVE&&(this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0)},i.copyMacroblock=function(A,t,i,e,s){var o,g,I,a,B,r,C,n,E,Q,h,d,c,l,u,w,p,D,m,f=this.currentY32,y=this.currentCb32,R=this.currentCr32;if(g=(o=this.codedWidth)-16,I=A>>1,a=t>>1,B=!(1&~A),r=!(1&~t),C=((this.mbRow<<4)+a)*o+(this.mbCol<<4)+I,E=(n=this.mbRow*o+this.mbCol<<2)+(o<<2),B)if(r)for(;n>2&255,c|=(h=i[++C]+i[C+o])+d+2<<6&65280,c|=h+(d=i[++C]+i[C+o])+2<<14&16711680,h=i[++C]+i[C+o],C++,c|=h+d+2<<22&4278190080,f[n++]=c;n+=g>>2,C+=g-1}else for(;n>1&255,c|=(h=i[C++])+d+1<<7&65280,c|=h+(d=i[C++])+1<<15&16711680,c|=(h=i[C++])+d+1<<23&4278190080,f[n++]=c;n+=g>>2,C+=g-1}else if(r)for(;n>1&255,c|=i[++C]+i[C+o]+1<<7&65280,c|=i[++C]+i[C+o]+1<<15&16711680,c|=i[++C]+i[C+o]+1<<23&4278190080,C++,f[n++]=c;n+=g>>2,C+=g}else for(;n>2,C+=g}if(g=(o=this.halfWidth)-8,I=A/2>>1,a=t/2>>1,B=1==(A/2&1),r=1==(t/2&1),C=((this.mbRow<<3)+a)*o+(this.mbCol<<3)+I,E=(n=this.mbRow*o+this.mbCol<<1)+(o<<1),B)if(r)for(;n>2&255,m=p+(D=s[C]+s[C+o])+2>>2&255,w|=(l=e[++C]+e[C+o])+u+2<<6&65280,m|=(p=s[C]+s[C+o])+D+2<<6&65280,w|=l+(u=e[++C]+e[C+o])+2<<14&16711680,m|=p+(D=s[C]+s[C+o])+2<<14&16711680,l=e[++C]+e[C+o],p=s[C]+s[C+o],C++,w|=l+u+2<<22&4278190080,m|=p+D+2<<22&4278190080,R[n]=w,y[n]=m,n++;n+=g>>2,C+=g-1}else for(;n>1&255,m=p+(D=s[C++])+1>>1&255,w|=(l=e[C])+u+1<<7&65280,m|=(p=s[C++])+D+1<<7&65280,w|=l+(u=e[C])+1<<15&16711680,m|=p+(D=s[C++])+1<<15&16711680,w|=(l=e[C])+u+1<<23&4278190080,m|=(p=s[C++])+D+1<<23&4278190080,R[n]=w,y[n]=m,n++;n+=g>>2,C+=g-1}else if(r)for(;n>1&255,m=s[C]+s[C+o]+1>>1&255,w|=e[++C]+e[C+o]+1<<7&65280,m|=s[C]+s[C+o]+1<<7&65280,w|=e[++C]+e[C+o]+1<<15&16711680,m|=s[C]+s[C+o]+1<<15&16711680,w|=e[++C]+e[C+o]+1<<23&4278190080,m|=s[C]+s[C+o]+1<<23&4278190080,C++,R[n]=w,y[n]=m,n++;n+=g>>2,C+=g}else for(;n>2,C+=g}},i.decodeBlock=function(A){var i,e=0;if(this.macroblockIntra){var s,o;if(A<4?(s=this.dcPredictorY,o=this.readHuffman(t.DCT_DC_SIZE_LUMINANCE)):(s=4===A?this.dcPredictorCr:this.dcPredictorCb,o=this.readHuffman(t.DCT_DC_SIZE_CHROMINANCE)),o>0){var g=this.bits.read(o);this.blockData[0]=g&1<0&&0===this.bits.read(1))break;65535===n?(C=this.bits.read(6),0===(r=this.bits.read(8))?r=this.bits.read(8):128===r?r=this.bits.read(8)-256:r>128&&(r-=256)):(C=n>>8,r=255&n,this.bits.read(1)&&(r=-r)),e+=C;var E=t.ZIG_ZAG[e];e++,r<<=1,this.macroblockIntra||(r+=r<0?-1:1),1&(r=r*this.quantizerScale*i[E]>>4)||(r-=r>0?1:-1),r>2047?r=2047:r<-2048&&(r=-2048),this.blockData[E]=r*t.PREMULTIPLIER_MATRIX[E]}A<4?(I=this.currentY,B=this.codedWidth-8,a=this.mbRow*this.codedWidth+this.mbCol<<4,1&A&&(a+=8),2&A&&(a+=this.codedWidth<<3)):(I=4===A?this.currentCb:this.currentCr,B=(this.codedWidth>>1)-8,a=(this.mbRow*this.codedWidth<<2)+(this.mbCol<<3)),this.macroblockIntra?1===e?(t.CopyValueToDestination(this.blockData[0]+128>>8,I,a,B),this.blockData[0]=0):(t.IDCT(this.blockData),t.CopyBlockToDestination(this.blockData,I,a,B),G(this.blockData,0)):1===e?(t.AddValueToDestination(this.blockData[0]+128>>8,I,a,B),this.blockData[0]=0):(t.IDCT(this.blockData),t.AddBlockToDestination(this.blockData,I,a,B),G(this.blockData,0)),e=0},t.CopyBlockToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]=A[s+0],t[i+1]=A[s+1],t[i+2]=A[s+2],t[i+3]=A[s+3],t[i+4]=A[s+4],t[i+5]=A[s+5],t[i+6]=A[s+6],t[i+7]=A[s+7]},t.AddBlockToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]+=A[s+0],t[i+1]+=A[s+1],t[i+2]+=A[s+2],t[i+3]+=A[s+3],t[i+4]+=A[s+4],t[i+5]+=A[s+5],t[i+6]+=A[s+6],t[i+7]+=A[s+7]},t.CopyValueToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]=A,t[i+1]=A,t[i+2]=A,t[i+3]=A,t[i+4]=A,t[i+5]=A,t[i+6]=A,t[i+7]=A},t.AddValueToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]+=A,t[i+1]+=A,t[i+2]+=A,t[i+3]+=A,t[i+4]+=A,t[i+5]+=A,t[i+6]+=A,t[i+7]+=A},t.IDCT=function(A){for(var t,i,e,s,o,g,I,a,B,r,C,n,E,Q,h,d,c,l,u=0;u<8;++u)t=A[32+u],i=A[16+u]+A[48+u],e=A[40+u]-A[24+u],g=A[8+u]+A[56+u],I=A[24+u]+A[40+u],B=(E=(473*(s=A[8+u]-A[56+u])-196*e+128>>8)-(o=g+I))-(362*(g-I)+128>>8),Q=(r=(a=A[0+u])-t)+(C=(362*(A[16+u]-A[48+u])+128>>8)-i),h=(n=a+t)+i,d=r-C,c=n-i,l=-B-(473*e+196*s+128>>8),A[0+u]=o+h,A[8+u]=E+Q,A[16+u]=d-B,A[24+u]=c-l,A[32+u]=c+l,A[40+u]=B+d,A[48+u]=Q-E,A[56+u]=h-o;for(var w=0;w<64;w+=8)t=A[4+w],i=A[2+w]+A[6+w],e=A[5+w]-A[3+w],g=A[1+w]+A[7+w],I=A[3+w]+A[5+w],B=(E=(473*(s=A[1+w]-A[7+w])-196*e+128>>8)-(o=g+I))-(362*(g-I)+128>>8),Q=(r=(a=A[0+w])-t)+(C=(362*(A[2+w]-A[6+w])+128>>8)-i),h=(n=a+t)+i,d=r-C,c=n-i,l=-B-(473*e+196*s+128>>8),A[0+w]=o+h+128>>8,A[1+w]=E+Q+128>>8,A[2+w]=d-B+128>>8,A[3+w]=c-l+128>>8,A[4+w]=c+l+128>>8,A[5+w]=B+d+128>>8,A[6+w]=Q-E+128>>8,A[7+w]=h-o+128>>8},t}(J);T.prototype.frameRate=30,T.prototype.currentY=null,T.prototype.currentCr=null,T.prototype.currentCb=null,T.prototype.pictureType=0,T.prototype.forwardY=null,T.prototype.forwardCr=null,T.prototype.forwardCb=null,T.prototype.fullPelForward=!1,T.prototype.forwardFCode=0,T.prototype.forwardRSize=0,T.prototype.forwardF=0,T.prototype.quantizerScale=0,T.prototype.sliceBegin=!1,T.prototype.macroblockAddress=0,T.prototype.mbRow=0,T.prototype.mbCol=0,T.prototype.macroblockType=0,T.prototype.macroblockIntra=!1,T.prototype.macroblockMotFw=!1,T.prototype.motionFwH=0,T.prototype.motionFwV=0,T.prototype.motionFwHPrev=0,T.prototype.motionFwVPrev=0,T.prototype.dcPredictorY=0,T.prototype.dcPredictorCr=0,T.prototype.dcPredictorCb=0,T.prototype.blockData=null,T.PICTURE_RATE=[0,23.976,24,25,29.97,30,50,59.94,60,0,0,0,0,0,0,0],T.ZIG_ZAG=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),T.DEFAULT_INTRA_QUANT_MATRIX=new Uint8Array([8,16,19,22,26,27,29,34,16,16,22,24,27,29,34,37,19,22,26,27,29,34,34,38,22,22,26,27,29,34,37,40,22,26,27,29,32,35,40,48,26,27,29,32,35,40,48,58,26,27,29,34,38,46,56,69,27,29,35,38,46,56,69,83]),T.DEFAULT_NON_INTRA_QUANT_MATRIX=new Uint8Array([16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16]),T.PREMULTIPLIER_MATRIX=new Uint8Array([32,44,42,38,32,25,17,9,44,62,58,52,44,35,24,12,42,58,55,49,42,33,23,12,38,52,49,44,38,30,20,10,32,44,42,38,32,25,17,9,25,35,33,30,25,20,14,7,17,24,23,20,17,14,9,5,9,12,12,10,9,7,5,2]),T.MACROBLOCK_ADDRESS_INCREMENT=new Int16Array([3,6,0,9,12,0,0,0,1,15,18,0,21,24,0,27,30,0,33,36,0,0,0,3,0,0,2,39,42,0,45,48,0,0,0,5,0,0,4,51,54,0,57,60,0,0,0,7,0,0,6,63,66,0,69,72,0,75,78,0,81,84,0,-1,87,0,-1,90,0,93,96,0,99,102,0,105,108,0,111,114,0,0,0,9,0,0,8,117,120,0,123,126,0,129,132,0,135,138,0,0,0,15,0,0,14,0,0,13,0,0,12,0,0,11,0,0,10,141,-1,0,-1,144,0,147,150,0,153,156,0,159,162,0,165,168,0,171,174,0,177,180,0,183,-1,0,-1,186,0,189,192,0,195,198,0,201,204,0,207,210,0,213,216,0,219,222,0,0,0,21,0,0,20,0,0,19,0,0,18,0,0,17,0,0,16,0,0,35,0,0,34,0,0,33,0,0,32,0,0,31,0,0,30,0,0,29,0,0,28,0,0,27,0,0,26,0,0,25,0,0,24,0,0,23,0,0,22]),T.MACROBLOCK_TYPE_INTRA=new Int8Array([3,6,0,-1,9,0,0,0,1,0,0,17]),T.MACROBLOCK_TYPE_PREDICTIVE=new Int8Array([3,6,0,9,12,0,0,0,10,15,18,0,0,0,2,21,24,0,0,0,8,27,30,0,33,36,0,-1,39,0,0,0,18,0,0,26,0,0,1,0,0,17]),T.MACROBLOCK_TYPE_B=new Int8Array([3,6,0,9,15,0,12,18,0,24,21,0,0,0,12,27,30,0,0,0,14,39,42,0,36,33,0,0,0,4,0,0,6,54,48,0,45,51,0,0,0,8,0,0,10,-1,57,0,0,0,1,60,63,0,0,0,30,0,0,17,0,0,22,0,0,26]),T.MACROBLOCK_TYPE=[null,T.MACROBLOCK_TYPE_INTRA,T.MACROBLOCK_TYPE_PREDICTIVE,T.MACROBLOCK_TYPE_B],T.CODE_BLOCK_PATTERN=new Int16Array([6,3,0,9,18,0,12,15,0,24,33,0,36,39,0,27,21,0,30,42,0,60,57,0,54,48,0,69,51,0,81,75,0,63,84,0,45,66,0,72,78,0,0,0,60,105,120,0,132,144,0,114,108,0,126,141,0,87,93,0,117,96,0,0,0,32,135,138,0,99,123,0,129,102,0,0,0,4,90,111,0,0,0,8,0,0,16,0,0,44,150,168,0,0,0,28,0,0,52,0,0,62,183,177,0,156,180,0,0,0,1,165,162,0,0,0,61,0,0,56,171,174,0,0,0,2,0,0,40,153,186,0,0,0,48,192,189,0,147,159,0,0,0,20,0,0,12,240,249,0,0,0,63,231,225,0,195,219,0,252,198,0,0,0,24,0,0,36,0,0,3,207,261,0,243,237,0,204,213,0,210,234,0,201,228,0,216,222,0,258,255,0,264,246,0,-1,282,0,285,291,0,0,0,33,0,0,9,318,330,0,306,348,0,0,0,5,0,0,10,279,267,0,0,0,6,0,0,18,0,0,17,0,0,34,339,357,0,309,312,0,270,276,0,327,321,0,351,354,0,303,297,0,294,288,0,300,273,0,342,345,0,315,324,0,336,333,0,363,375,0,0,0,41,0,0,14,0,0,21,372,366,0,360,369,0,0,0,11,0,0,19,0,0,7,0,0,35,0,0,13,0,0,50,0,0,49,0,0,58,0,0,37,0,0,25,0,0,45,0,0,57,0,0,26,0,0,29,0,0,38,0,0,53,0,0,23,0,0,43,0,0,46,0,0,42,0,0,22,0,0,54,0,0,51,0,0,15,0,0,30,0,0,39,0,0,47,0,0,55,0,0,27,0,0,59,0,0,31]),T.MOTION=new Int16Array([3,6,0,12,9,0,0,0,0,18,15,0,24,21,0,0,0,-1,0,0,1,27,30,0,36,33,0,0,0,2,0,0,-2,42,45,0,48,39,0,60,54,0,0,0,3,0,0,-3,51,57,0,-1,69,0,81,75,0,78,63,0,72,66,0,96,84,0,87,93,0,-1,99,0,108,105,0,0,0,-4,90,102,0,0,0,4,0,0,-7,0,0,5,111,123,0,0,0,-5,0,0,7,114,120,0,126,117,0,0,0,-6,0,0,6,153,162,0,150,147,0,135,138,0,156,141,0,129,159,0,132,144,0,0,0,10,0,0,9,0,0,8,0,0,-8,171,198,0,0,0,-9,180,192,0,168,183,0,165,186,0,174,189,0,0,0,-10,177,195,0,0,0,12,0,0,16,0,0,13,0,0,14,0,0,11,0,0,15,0,0,-16,0,0,-12,0,0,-14,0,0,-15,0,0,-11,0,0,-13]),T.DCT_DC_SIZE_LUMINANCE=new Int8Array([6,3,0,18,15,0,9,12,0,0,0,1,0,0,2,27,24,0,21,30,0,0,0,0,36,33,0,0,0,4,0,0,3,39,42,0,0,0,5,0,0,6,48,45,0,51,-1,0,0,0,7,0,0,8]),T.DCT_DC_SIZE_CHROMINANCE=new Int8Array([6,3,0,12,9,0,18,15,0,24,21,0,0,0,2,0,0,1,0,0,0,30,27,0,0,0,3,36,33,0,0,0,4,42,39,0,0,0,5,48,45,0,0,0,6,51,-1,0,0,0,7,0,0,8]),T.DCT_COEFF=new Int32Array([3,6,0,12,9,0,0,0,1,21,24,0,18,15,0,39,27,0,33,30,0,42,36,0,0,0,257,60,66,0,54,63,0,48,57,0,0,0,513,51,45,0,0,0,2,0,0,3,81,75,0,87,93,0,72,78,0,96,90,0,0,0,1025,69,84,0,0,0,769,0,0,258,0,0,1793,0,0,65535,0,0,1537,111,108,0,0,0,1281,105,102,0,117,114,0,99,126,0,120,123,0,156,150,0,162,159,0,144,147,0,129,135,0,138,132,0,0,0,2049,0,0,4,0,0,514,0,0,2305,153,141,0,165,171,0,180,168,0,177,174,0,183,186,0,0,0,2561,0,0,3329,0,0,6,0,0,259,0,0,5,0,0,770,0,0,2817,0,0,3073,228,225,0,201,210,0,219,213,0,234,222,0,216,231,0,207,192,0,204,189,0,198,195,0,243,261,0,273,240,0,246,237,0,249,258,0,279,276,0,252,255,0,270,282,0,264,267,0,0,0,515,0,0,260,0,0,7,0,0,1026,0,0,1282,0,0,4097,0,0,3841,0,0,3585,315,321,0,333,342,0,312,291,0,375,357,0,288,294,0,-1,369,0,285,303,0,318,363,0,297,306,0,339,309,0,336,348,0,330,300,0,372,345,0,351,366,0,327,354,0,360,324,0,381,408,0,417,420,0,390,378,0,435,438,0,384,387,0,0,0,2050,396,402,0,465,462,0,0,0,8,411,399,0,429,432,0,453,414,0,426,423,0,0,0,10,0,0,9,0,0,11,0,0,5377,0,0,1538,0,0,771,0,0,5121,0,0,1794,0,0,4353,0,0,4609,0,0,4865,444,456,0,0,0,1027,459,450,0,0,0,261,393,405,0,0,0,516,447,441,0,516,519,0,486,474,0,510,483,0,504,498,0,471,537,0,507,501,0,522,513,0,534,531,0,468,477,0,492,495,0,549,546,0,525,528,0,0,0,263,0,0,2562,0,0,2306,0,0,5633,0,0,5889,0,0,6401,0,0,6145,0,0,1283,0,0,772,0,0,13,0,0,12,0,0,14,0,0,15,0,0,517,0,0,6657,0,0,262,540,543,0,480,489,0,588,597,0,0,0,27,609,555,0,606,603,0,0,0,19,0,0,22,591,621,0,0,0,18,573,576,0,564,570,0,0,0,20,552,582,0,0,0,21,558,579,0,0,0,23,612,594,0,0,0,25,0,0,24,600,615,0,0,0,31,0,0,30,0,0,28,0,0,29,0,0,26,0,0,17,0,0,16,567,618,0,561,585,0,654,633,0,0,0,37,645,648,0,0,0,36,630,636,0,0,0,34,639,627,0,663,666,0,657,624,0,651,642,0,669,660,0,0,0,35,0,0,267,0,0,40,0,0,268,0,0,266,0,0,32,0,0,264,0,0,265,0,0,38,0,0,269,0,0,270,0,0,33,0,0,39,0,0,7937,0,0,6913,0,0,7681,0,0,4098,0,0,7425,0,0,7169,0,0,271,0,0,274,0,0,273,0,0,272,0,0,1539,0,0,2818,0,0,3586,0,0,3330,0,0,3074,0,0,3842]),T.PICTURE_TYPE={INTRA:1,PREDICTIVE:2,B:3},T.START={SEQUENCE:179,SLICE_FIRST:1,SLICE_LAST:175,PICTURE:0,EXTENSION:181,USER_DATA:178};var v=function(A){function t(t){var i;return(i=A.call(this,t)||this).onDecodeCallback=t.onVideoDecode,i.module=t.wasmModule,i.bufferSize=t.videoBufferSize||524288,i.bufferMode=t.streaming?L.MODE.EVICT:L.MODE.EXPAND,i.decodeFirstFrame=!1!==t.decodeFirstFrame,i.hasSequenceHeader=!1,i}u(t,A);var i=t.prototype;return i.initializeWasmDecoder=function(){this.module.instance?(this.instance=this.module.instance,this.functions=this.module.instance.exports,this.decoder=this.functions._mpeg1_decoder_create(this.bufferSize,this.bufferMode)):console.warn("JSMpeg: WASM module not compiled yet")},i.destroy=function(){this.decoder&&this.functions._mpeg1_decoder_destroy(this.decoder)},i.bufferGetIndex=function(){if(this.decoder)return this.functions._mpeg1_decoder_get_index(this.decoder)},i.bufferSetIndex=function(A){this.decoder&&this.functions._mpeg1_decoder_set_index(this.decoder,A)},i.bufferWrite=function(A){this.decoder||this.initializeWasmDecoder();for(var t=0,i=0;i>2)),g=this.instance.heapU8.subarray(e,e+(this.codedSize>>2));this.destination.render(s,o,g,!1)}this.advanceDecodedTime(1/this.frameRate);var I=S()-A;return this.onDecodeCallback&&this.onDecodeCallback(this,I),!0},t}(J),x=function(A){function t(i){var e;(e=A.call(this,i)||this).onDecodeCallback=i.onAudioDecode;var s=i.audioBufferSize||131072,o=i.streaming?L.MODE.EVICT:L.MODE.EXPAND;e.bits=new L(s,o),e.left=new Float32Array(1152),e.right=new Float32Array(1152),e.sampleRate=44100,e.D=new Float32Array(1024),e.D.set(t.SYNTHESIS_WINDOW,0),e.D.set(t.SYNTHESIS_WINDOW,512),e.V=[new Float32Array(1024),new Float32Array(1024)],e.U=new Int32Array(32),e.VPos=0,e.allocation=[new Array(32),new Array(32)],e.scaleFactorInfo=[new Uint8Array(32),new Uint8Array(32)],e.scaleFactor=[new Array(32),new Array(32)],e.sample=[new Array(32),new Array(32)];for(var g=0;g<2;g++)for(var I=0;I<32;I++)e.scaleFactor[g][I]=[0,0,0],e.sample[g][I]=[0,0,0];return e}u(t,A);var i=t.prototype;return i.decode=function(){var A=S(),t=this.bits.index>>3;if(t>=this.bits.byteLength)return!1;var i=this.decodeFrame(this.left,this.right);if(this.bits.index=t+i<<3,!i)return!1;this.destination&&this.destination.play(this.sampleRate,this.left,this.right),this.advanceDecodedTime(this.left.length/this.sampleRate);var e=S()-A;return this.onDecodeCallback&&this.onDecodeCallback(this,e),!0},i.getCurrentTime=function(){var A=this.destination?this.destination.enqueuedTime:0;return this.decodedTime-A},i.decodeFrame=function(A,i){var e=this.bits.read(11),s=this.bits.read(2),o=this.bits.read(2),g=!this.bits.read(1);if(e!==t.FRAME_SYNC||s!==t.VERSION.MPEG_1||o!==t.LAYER.II)return 0;var I=this.bits.read(4)-1;if(I>13)return 0;var a=this.bits.read(2),B=t.SAMPLE_RATE[a];if(3===a)return 0;s===t.VERSION.MPEG_2&&(a+=4,I+=14);var r=this.bits.read(1);this.bits.read(1);var C=this.bits.read(2),n=0;C===t.MODE.JOINT_STEREO?n=this.bits.read(2)+1<<2:(this.bits.skip(2),n=C===t.MODE.MONO?0:32),this.bits.skip(4),g&&this.bits.skip(16);var E=144e3*t.BIT_RATE[I]/(B=t.SAMPLE_RATE[a])+r|0,Q=0,h=0;if(s===t.VERSION.MPEG_2)Q=2,h=30;else{var d=C===t.MODE.MONO?0:1,c=t.QUANT_LUT_STEP_1[d][I];h=63&(Q=t.QUANT_LUT_STEP_2[c][a]),Q>>=6}n>h&&(n=h);for(var l=0;l>1),U=this.VPos%128>>1;U<1024;){for(var J=0;J<32;++J)this.U[J]+=this.D[L++]*this.V[N][U++];U+=96,L+=32}for(U=1120-U,L-=480;U<1024;){for(var T=0;T<32;++T)this.U[T]+=this.D[L++]*this.V[N][U++];U+=96,L+=32}for(var v=0===N?A:i,x=0;x<32;x++)v[R+x]=this.U[x]/2147418112}R+=32}}return this.sampleRate=B,E},i.readAllocation=function(A,i){var e=t.QUANT_LUT_STEP_3[i][A],s=t.QUANT_LUT_STEP4[15&e][this.bits.read(e>>4)];return s?t.QUANT_TAB[s-1]:0},i.readSamples=function(A,i,e){var s=this.allocation[A][i],o=this.scaleFactor[A][i][e],g=this.sample[A][i],I=0;if(s){if(63===o)o=0;else{var a=o/3|0;o=t.SCALEFACTOR_BASE[o%3]+(1<>1)>>a}var B=s.levels;s.group?(I=this.bits.read(s.bits),g[0]=I%B,I=I/B|0,g[1]=I%B,g[2]=I/B|0):(g[0]=this.bits.read(s.bits),g[1]=this.bits.read(s.bits),g[2]=this.bits.read(s.bits));var r=65536/(B+1)|0;I=((B=(B+1>>1)-1)-g[0])*r,g[0]=I*(o>>12)+(I*(4095&o)+2048>>12)>>12,I=(B-g[1])*r,g[1]=I*(o>>12)+(I*(4095&o)+2048>>12)>>12,I=(B-g[2])*r,g[2]=I*(o>>12)+(I*(4095&o)+2048>>12)>>12}else g[0]=g[1]=g[2]=0},t.MatrixTransform=function(A,t,i,e){var s,o,g,I,a,B,r,C,n,E,Q,h,d,c,l,u,w,p,D,m,f,y,R,k,b,S,G,F,M,q,N,L,U;s=A[0][t]+A[31][t],o=.500602998235*(A[0][t]-A[31][t]),g=A[1][t]+A[30][t],I=.505470959898*(A[1][t]-A[30][t]),a=A[2][t]+A[29][t],B=.515447309923*(A[2][t]-A[29][t]),r=A[3][t]+A[28][t],C=.53104259109*(A[3][t]-A[28][t]),n=A[4][t]+A[27][t],E=.553103896034*(A[4][t]-A[27][t]),Q=A[5][t]+A[26][t],h=.582934968206*(A[5][t]-A[26][t]),d=A[6][t]+A[25][t],c=.622504123036*(A[6][t]-A[25][t]),l=A[7][t]+A[24][t],u=.674808341455*(A[7][t]-A[24][t]),w=A[8][t]+A[23][t],p=.744536271002*(A[8][t]-A[23][t]),D=A[9][t]+A[22][t],m=.839349645416*(A[9][t]-A[22][t]),f=A[10][t]+A[21][t],y=.972568237862*(A[10][t]-A[21][t]),R=A[11][t]+A[20][t],k=1.16943993343*(A[11][t]-A[20][t]),b=A[12][t]+A[19][t],S=1.48416461631*(A[12][t]-A[19][t]),G=A[13][t]+A[18][t],F=2.05778100995*(A[13][t]-A[18][t]),M=A[14][t]+A[17][t],q=3.40760841847*(A[14][t]-A[17][t]),U=s+(N=A[15][t]+A[16][t]),N=.502419286188*(s-N),s=g+M,M=.52249861494*(g-M),g=a+G,G=.566944034816*(a-G),a=r+b,b=.64682178336*(r-b),r=n+R,R=.788154623451*(n-R),n=Q+f,f=1.06067768599*(Q-f),Q=d+D,D=1.72244709824*(d-D),d=l+w,w=5.10114861869*(l-w),l=U+d,d=.509795579104*(U-d),U=s+Q,s=.601344886935*(s-Q),Q=g+n,n=.899976223136*(g-n),g=a+r,r=2.56291544774*(a-r),a=l+g,l=.541196100146*(l-g),g=U+Q,Q=1.30656296488*(U-Q),U=a+g,a=.707106781187*(a-g),g=l+Q,g+=l=.707106781187*(l-Q),Q=d+r,d=.541196100146*(d-r),r=s+n,n=1.30656296488*(s-n),s=Q+r,r=.707106781187*(Q-r),Q=d+n,s+=Q+=d=.707106781187*(d-n),Q+=r,r+=d,n=N+w,N=.509795579104*(N-w),w=M+D,M=.601344886935*(M-D),D=G+f,f=.899976223136*(G-f),G=b+R,R=2.56291544774*(b-R),b=n+G,n=.541196100146*(n-G),G=w+D,D=1.30656296488*(w-D),w=b+G,G=.707106781187*(b-G),b=n+D,D=.707106781187*(n-D),n=N+R,N=.541196100146*(N-R),R=M+f,f=1.30656296488*(M-f),M=n+R,R=.707106781187*(n-R),n=N+f,w+=M+=n+=N=.707106781187*(N-f),M+=b+=D,b+=n+=R,n+=G,G+=R+=N,R+=D,D+=N,f=o+(L=10.1900081235*(A[15][t]-A[16][t])),o=.502419286188*(o-L),L=I+q,I=.52249861494*(I-q),q=B+F,F=.566944034816*(B-F),B=C+S,C=.64682178336*(C-S),S=E+k,E=.788154623451*(E-k),k=h+y,y=1.06067768599*(h-y),h=c+m,m=1.72244709824*(c-m),c=u+p,u=5.10114861869*(u-p),p=f+c,c=.509795579104*(f-c),f=L+h,L=.601344886935*(L-h),h=q+k,k=.899976223136*(q-k),q=B+S,S=2.56291544774*(B-S),B=p+q,p=.541196100146*(p-q),q=f+h,h=1.30656296488*(f-h),f=B+q,q=.707106781187*(B-q),B=p+h,h=.707106781187*(p-h),p=c+S,S=.541196100146*(c-S),c=L+k,k=1.30656296488*(L-k),L=p+c,c=.707106781187*(p-c),p=S+k,L+=p+=k=.707106781187*(S-k),p+=c,S=c+k,c=o+u,o=.509795579104*(o-u),u=I+m,I=.601344886935*(I-m),m=F+y,y=.899976223136*(F-y),F=C+E,E=2.56291544774*(C-E),C=c+F,c=.541196100146*(c-F),F=u+m,m=1.30656296488*(u-m),u=C+F,F=.707106781187*(C-F),C=c+m,m=.707106781187*(c-m),c=o+E,o=.541196100146*(o-E),E=I+y,y=1.30656296488*(I-y),I=c+E,E=.707106781187*(c-E),c=o+y,f+=u+=I+=c+=o=.707106781187*(o-y),u+=L,L+=I+=C+=m,I+=B+=h,B+=C+=c+=E,C+=p,p+=c+=F,c+=q,q+=F+=E+=o,F+=S,S+=E+=m,E+=h,h+=m+=o,m+=k,k+=o,i[e+48]=-U,i[e+49]=i[e+47]=-f,i[e+50]=i[e+46]=-w,i[e+51]=i[e+45]=-u,i[e+52]=i[e+44]=-s,i[e+53]=i[e+43]=-L,i[e+54]=i[e+42]=-M,i[e+55]=i[e+41]=-I,i[e+56]=i[e+40]=-g,i[e+57]=i[e+39]=-B,i[e+58]=i[e+38]=-b,i[e+59]=i[e+37]=-C,i[e+60]=i[e+36]=-Q,i[e+61]=i[e+35]=-p,i[e+62]=i[e+34]=-n,i[e+63]=i[e+33]=-c,i[e+32]=-a,i[e+0]=a,i[e+31]=-q,i[e+1]=q,i[e+30]=-G,i[e+2]=G,i[e+29]=-F,i[e+3]=F,i[e+28]=-r,i[e+4]=r,i[e+27]=-S,i[e+5]=S,i[e+26]=-R,i[e+6]=R,i[e+25]=-E,i[e+7]=E,i[e+24]=-l,i[e+8]=l,i[e+23]=-h,i[e+9]=h,i[e+22]=-D,i[e+10]=D,i[e+21]=-m,i[e+11]=m,i[e+20]=-d,i[e+12]=d,i[e+19]=-k,i[e+13]=k,i[e+18]=-N,i[e+14]=N,i[e+17]=-o,i[e+15]=o,i[e+16]=0},t}(J);x.FRAME_SYNC=2047,x.VERSION={MPEG_2_5:0,MPEG_2:2,MPEG_1:3},x.LAYER={III:1,II:2,I:3},x.MODE={STEREO:0,JOINT_STEREO:1,DUAL_CHANNEL:2,MONO:3},x.SAMPLE_RATE=new Uint16Array([44100,48e3,32e3,0,22050,24e3,16e3,0]),x.BIT_RATE=new Uint16Array([32,48,56,64,80,96,112,128,160,192,224,256,320,384,8,16,24,32,40,48,56,64,80,96,112,128,144,160]),x.SCALEFACTOR_BASE=new Uint32Array([33554432,26632170,21137968]),x.SYNTHESIS_WINDOW=new Float32Array([0,-.5,-.5,-.5,-.5,-.5,-.5,-1,-1,-1,-1,-1.5,-1.5,-2,-2,-2.5,-2.5,-3,-3.5,-3.5,-4,-4.5,-5,-5.5,-6.5,-7,-8,-8.5,-9.5,-10.5,-12,-13,-14.5,-15.5,-17.5,-19,-20.5,-22.5,-24.5,-26.5,-29,-31.5,-34,-36.5,-39.5,-42.5,-45.5,-48.5,-52,-55.5,-58.5,-62.5,-66,-69.5,-73.5,-77,-80.5,-84.5,-88,-91.5,-95,-98,-101,-104,106.5,109,111,112.5,113.5,114,114,113.5,112,110.5,107.5,104,100,94.5,88.5,81.5,73,63.5,53,41.5,28.5,14.5,-1,-18,-36,-55.5,-76.5,-98.5,-122,-147,-173.5,-200.5,-229.5,-259.5,-290.5,-322.5,-355.5,-389.5,-424,-459.5,-495.5,-532,-568.5,-605,-641.5,-678,-714,-749,-783.5,-817,-849,-879.5,-908.5,-935,-959.5,-981,-1000.5,-1016,-1028.5,-1037.5,-1042.5,-1043.5,-1040,-1031.5,1018.5,1e3,976,946.5,911,869.5,822,767.5,707,640,565.5,485,397,302.5,201,92.5,-22.5,-144,-272.5,-407,-547.5,-694,-846,-1003,-1165,-1331.5,-1502,-1675.5,-1852.5,-2031.5,-2212.5,-2394,-2576.5,-2758.5,-2939.5,-3118.5,-3294.5,-3467.5,-3635.5,-3798.5,-3955,-4104.5,-4245.5,-4377.5,-4499,-4609.5,-4708,-4792.5,-4863.5,-4919,-4958,-4979.5,-4983,-4967.5,-4931.5,-4875,-4796,-4694.5,-4569.5,-4420,-4246,-4046,-3820,-3567,3287,2979.5,2644,2280.5,1888,1467.5,1018.5,541,35,-499,-1061,-1650,-2266.5,-2909,-3577,-4270,-4987.5,-5727.5,-6490,-7274,-8077.5,-8899.5,-9739,-10594.5,-11464.5,-12347,-13241,-14144.5,-15056,-15973.5,-16895.5,-17820,-18744.5,-19668,-20588,-21503,-22410.5,-23308.5,-24195,-25068.5,-25926.5,-26767,-27589,-28389,-29166.5,-29919,-30644.5,-31342,-32009.5,-32645,-33247,-33814.5,-34346,-34839.5,-35295,-35710,-36084.5,-36417.5,-36707.5,-36954,-37156.5,-37315,-37428,-37496,37519,37496,37428,37315,37156.5,36954,36707.5,36417.5,36084.5,35710,35295,34839.5,34346,33814.5,33247,32645,32009.5,31342,30644.5,29919,29166.5,28389,27589,26767,25926.5,25068.5,24195,23308.5,22410.5,21503,20588,19668,18744.5,17820,16895.5,15973.5,15056,14144.5,13241,12347,11464.5,10594.5,9739,8899.5,8077.5,7274,6490,5727.5,4987.5,4270,3577,2909,2266.5,1650,1061,499,-35,-541,-1018.5,-1467.5,-1888,-2280.5,-2644,-2979.5,3287,3567,3820,4046,4246,4420,4569.5,4694.5,4796,4875,4931.5,4967.5,4983,4979.5,4958,4919,4863.5,4792.5,4708,4609.5,4499,4377.5,4245.5,4104.5,3955,3798.5,3635.5,3467.5,3294.5,3118.5,2939.5,2758.5,2576.5,2394,2212.5,2031.5,1852.5,1675.5,1502,1331.5,1165,1003,846,694,547.5,407,272.5,144,22.5,-92.5,-201,-302.5,-397,-485,-565.5,-640,-707,-767.5,-822,-869.5,-911,-946.5,-976,-1e3,1018.5,1031.5,1040,1043.5,1042.5,1037.5,1028.5,1016,1000.5,981,959.5,935,908.5,879.5,849,817,783.5,749,714,678,641.5,605,568.5,532,495.5,459.5,424,389.5,355.5,322.5,290.5,259.5,229.5,200.5,173.5,147,122,98.5,76.5,55.5,36,18,1,-14.5,-28.5,-41.5,-53,-63.5,-73,-81.5,-88.5,-94.5,-100,-104,-107.5,-110.5,-112,-113.5,-114,-114,-113.5,-112.5,-111,-109,106.5,104,101,98,95,91.5,88,84.5,80.5,77,73.5,69.5,66,62.5,58.5,55.5,52,48.5,45.5,42.5,39.5,36.5,34,31.5,29,26.5,24.5,22.5,20.5,19,17.5,15.5,14.5,13,12,10.5,9.5,8.5,8,7,6.5,5.5,5,4.5,4,3.5,3.5,3,2.5,2.5,2,2,1.5,1.5,1,1,1,1,.5,.5,.5,.5,.5,.5]),x.QUANT_LUT_STEP_1=[[0,0,1,1,1,2,2,2,2,2,2,2,2,2],[0,0,0,0,0,0,1,1,1,2,2,2,2,2]],x.QUANT_TAB={A:91,B:94,C:8,D:12},x.QUANT_LUT_STEP_2=[[x.QUANT_TAB.C,x.QUANT_TAB.C,x.QUANT_TAB.D],[x.QUANT_TAB.A,x.QUANT_TAB.A,x.QUANT_TAB.A],[x.QUANT_TAB.B,x.QUANT_TAB.A,x.QUANT_TAB.B]],x.QUANT_LUT_STEP_3=[[68,68,52,52,52,52,52,52,52,52,52,52],[67,67,67,66,66,66,66,66,66,66,66,49,49,49,49,49,49,49,49,49,49,49,49,32,32,32,32,32,32,32],[69,69,69,69,52,52,52,52,52,52,52,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36]],x.QUANT_LUT_STEP4=[[0,1,2,17],[0,1,2,3,4,5,6,17],[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,17],[0,1,3,5,6,7,8,9,10,11,12,13,14,15,16,17],[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,17],[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]],x.QUANT_TAB=[{levels:3,group:1,bits:5},{levels:5,group:1,bits:7},{levels:7,group:0,bits:3},{levels:9,group:1,bits:10},{levels:15,group:0,bits:4},{levels:31,group:0,bits:5},{levels:63,group:0,bits:6},{levels:127,group:0,bits:7},{levels:255,group:0,bits:8},{levels:511,group:0,bits:9},{levels:1023,group:0,bits:10},{levels:2047,group:0,bits:11},{levels:4095,group:0,bits:12},{levels:8191,group:0,bits:13},{levels:16383,group:0,bits:14},{levels:32767,group:0,bits:15},{levels:65535,group:0,bits:16}];var Y=function(A){function t(t){var i;return(i=A.call(this,t)||this).onDecodeCallback=t.onAudioDecode,i.module=t.wasmModule,i.bufferSize=t.audioBufferSize||131072,i.bufferMode=t.streaming?L.MODE.EVICT:L.MODE.EXPAND,i.sampleRate=0,i}u(t,A);var i=t.prototype;return i.initializeWasmDecoder=function(){this.module.instance?(this.instance=this.module.instance,this.functions=this.module.instance.exports,this.decoder=this.functions._mp2_decoder_create(this.bufferSize,this.bufferMode)):console.warn("JSMpeg: WASM module not compiled yet")},i.destroy=function(){this.decoder&&this.functions._mp2_decoder_destroy(this.decoder)},i.bufferGetIndex=function(){if(this.decoder)return this.functions._mp2_decoder_get_index(this.decoder)},i.bufferSetIndex=function(A){this.decoder&&this.functions._mp2_decoder_set_index(this.decoder,A)},i.bufferWrite=function(A){this.decoder||this.initializeWasmDecoder();for(var t=0,i=0;i>4<<4;this.gl.viewport(0,0,i,this.height)},t.createTexture=function(A,t){var i=this.gl,e=i.createTexture();return i.bindTexture(i.TEXTURE_2D,e),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.uniform1i(i.getUniformLocation(this.program,t),A),e},t.createProgram=function(A,t){var i=this.gl,e=i.createProgram();return i.attachShader(e,this.compileShader(i.VERTEX_SHADER,A)),i.attachShader(e,this.compileShader(i.FRAGMENT_SHADER,t)),i.linkProgram(e),i.useProgram(e),e},t.compileShader=function(A,t){var i=this.gl,e=i.createShader(A);if(i.shaderSource(e,t),i.compileShader(e),!i.getShaderParameter(e,i.COMPILE_STATUS))throw new Error(i.getShaderInfoLog(e));return e},t.allowsClampedTextureData=function(){var A=this.gl,t=A.createTexture();return A.bindTexture(A.TEXTURE_2D,t),A.texImage2D(A.TEXTURE_2D,0,A.LUMINANCE,1,1,0,A.LUMINANCE,A.UNSIGNED_BYTE,new Uint8ClampedArray([0])),0===A.getError()},t.renderProgress=function(A){var t=this.gl;t.useProgram(this.loadingProgram);var i=t.getUniformLocation(this.loadingProgram,"progress");t.uniform1f(i,A),t.drawArrays(t.TRIANGLE_STRIP,0,4)},t.render=function(A,t,i,e){if(this.enabled){var s=this.gl,o=this.width+15>>4<<4,g=this.height,I=o>>1,a=g>>1;e&&this.shouldCreateUnclampedViews&&(A=new Uint8Array(A.buffer),t=new Uint8Array(t.buffer),i=new Uint8Array(i.buffer)),s.useProgram(this.program),this.updateTexture(s.TEXTURE0,this.textureY,o,g,A),this.updateTexture(s.TEXTURE1,this.textureCb,I,a,t),this.updateTexture(s.TEXTURE2,this.textureCr,I,a,i),s.drawArrays(s.TRIANGLE_STRIP,0,4)}},t.updateTexture=function(A,t,i,e,s){var o=this.gl;o.activeTexture(A),o.bindTexture(o.TEXTURE_2D,t),this.hasTextureData[A]?o.texSubImage2D(o.TEXTURE_2D,0,0,0,i,e,o.LUMINANCE,o.UNSIGNED_BYTE,s):(this.hasTextureData[A]=!0,o.texImage2D(o.TEXTURE_2D,0,o.LUMINANCE,i,e,0,o.LUMINANCE,o.UNSIGNED_BYTE,s))},t.deleteTexture=function(A,t){var i=this.gl;i.activeTexture(A),i.bindTexture(i.TEXTURE_2D,null),i.deleteTexture(t)},A.IsSupported=function(){try{if(!window.WebGLRenderingContext)return!1;var A=document.createElement("canvas");return!(!A.getContext("webgl")&&!A.getContext("experimental-webgl"))}catch(A){return!1}},A}();H.SHADER={FRAGMENT_YCRCB_TO_RGBA:["precision mediump float;","uniform sampler2D textureY;","uniform sampler2D textureCb;","uniform sampler2D textureCr;","varying vec2 texCoord;","mat4 rec601 = mat4(","1.16438, 0.00000, 1.59603, -0.87079,","1.16438, -0.39176, -0.81297, 0.52959,","1.16438, 2.01723, 0.00000, -1.08139,","0, 0, 0, 1",");","void main() {","float y = texture2D(textureY, texCoord).r;","float cb = texture2D(textureCb, texCoord).r;","float cr = texture2D(textureCr, texCoord).r;","gl_FragColor = vec4(y, cr, cb, 1.0) * rec601;","}"].join("\n"),FRAGMENT_LOADING:["precision mediump float;","uniform float progress;","varying vec2 texCoord;","void main() {","float c = ceil(progress-(1.0-texCoord.y));","gl_FragColor = vec4(c,c,c,1);","}"].join("\n"),VERTEX_IDENTITY:["attribute vec2 vertex;","varying vec2 texCoord;","void main() {","texCoord = vertex;","gl_Position = vec4((vertex * 2.0 - 1.0) * vec2(1, -1), 0.0, 1.0);","}"].join("\n")};var P=function(){function A(A){A.canvas?(this.canvas=A.canvas,this.ownsCanvasElement=!1):(this.canvas=document.createElement("canvas"),this.ownsCanvasElement=!0),this.width=this.canvas.width,this.height=this.canvas.height,this.enabled=!0,this.context=this.canvas.getContext("2d")}var t=A.prototype;return t.destroy=function(){this.ownsCanvasElement&&this.canvas.remove()},t.resize=function(A,t){this.width=0|A,this.height=0|t,this.canvas.width=this.width,this.canvas.height=this.height,this.imageData=this.context.getImageData(0,0,this.width,this.height),G(this.imageData.data,255)},t.renderProgress=function(A){var t=this.canvas.width,i=this.canvas.height,e=this.context;e.fillStyle="#222",e.fillRect(0,0,t,i),e.fillStyle="#fff",e.fillRect(0,i-i*A,t,i*A)},t.render=function(A,t,i){this.YCbCrToRGBA(A,t,i,this.imageData.data),this.context.putImageData(this.imageData,0,0)},t.YCbCrToRGBA=function(A,t,i,e){if(this.enabled)for(var s,o,g,I,a,B=this.width+15>>4<<4,r=B>>1,C=0,n=B,E=B+(B-this.width),Q=0,h=r-(this.width>>1),d=0,c=4*this.width,l=4*this.width,u=this.width>>1,w=this.height>>1,p=0;p>8)-179,I=(88*o>>8)-44+(183*s>>8)-91,a=o+(198*o>>8)-227;var m=A[C++],f=A[C++];e[d]=m+g,e[d+1]=m-I,e[d+2]=m+a,e[d+4]=f+g,e[d+5]=f-I,e[d+6]=f+a,d+=8;var y=A[n++],R=A[n++];e[c]=y+g,e[c+1]=y-I,e[c+2]=y+a,e[c+4]=R+g,e[c+5]=R-I,e[c+6]=R+a,c+=8}C+=E,n+=E,d+=l,c+=l,Q+=h}},A}(),O=function(){function A(){this.context=A.CachedContext=A.CachedContext||new(window.AudioContext||window.webkitAudioContext),this.gain=this.context.createGain(),this.destination=this.gain,this.gain.connect(this.context.destination),this.context._connections=(this.context._connections||0)+1,this.startTime=0,this.buffer=null,this.wallclockStartTime=0,this.volume=1,this.enabled=!0,this.unlocked=!A.NeedsUnlocking(),Object.defineProperty(this,"enqueuedTime",{get:this.getEnqueuedTime})}var t=A.prototype;return t.destroy=function(){this.gain.disconnect(),this.context._connections--,0===this.context._connections&&(this.context.close(),A.CachedContext=null)},t.play=function(A,t,i){if(this.enabled){if(!this.unlocked){var e=S();return this.wallclockStartTimethis.memory.buffer.byteLength){var i=this.brk-this.memory.buffer.byteLength,e=Math.ceil(i/this.pageSize);this.memory.grow(e),this.createHeapViews()}return t},t.c_abort=function(A){console.warn("JSMPeg: WASM abort",arguments)},t.c_assertFail=function(A){console.warn("JSMPeg: WASM ___assert_fail",arguments)},t.readDylinkSection=function(A){var t=new Uint8Array(A),i=0,e=function(){for(var A=0,e=1;;){var s=t[i++];if(A+=(127&s)*e,e*=128,!(128&s))return A}},s=function(A){for(var e=0;ethis.maxAudioLag&&(this.audioOut.resetEnqueuedTime(),this.audioOut.enabled=!1),A=this.audio.decode()}while(A);this.audioOut.enabled=!0}},t.updateForStaticFile=function(){var A=!1,t=0;if(this.audio&&this.audio.canPlay){for(;!A&&this.audio.decodedTime-this.audio.currentTime<.25;)A=!this.audio.decode();this.video&&this.video.currentTime0&&(e>2*s&&(this.startTime+=e),A=!this.video.decode()),t=this.demuxer.currentTime-i}this.source.resume(t),A&&this.source.completed?this.loop?this.seek(0):(this.stop(),this.options.onEnded&&this.options.onEnded(this)):A&&this.options.onStalled&&this.options.onStalled(this)},A}(),W={Player:X,VideoElement:b,BitBuffer:L,Source:{Ajax:M,AjaxProgressive:q,WebSocket:N,Fetch:function(){function A(A,t){this.url=A,this.destination=null,this.request=null,this.streaming=!0,this.completed=!1,this.established=!1,this.progress=0,this.aborted=!1,this.onEstablishedCallback=t.onSourceEstablished,this.onCompletedCallback=t.onSourceCompleted,t.hookOnEstablished&&(this.hookOnEstablished=t.hookOnEstablished)}var t=A.prototype;return t.connect=function(A){this.destination=A},t.start=function(){var A=this,t={method:"GET",headers:new Headers,cache:"default"};self.fetch(this.url,t).then((function(t){if(t.ok&&t.status>=200&&t.status<=299)return A.progress=1,A.established=!0,A.pump(t.body.getReader())})).catch((function(A){throw A}))},t.pump=function(A){var t=this;return A.read().then((function(i){if(!i.done)return t.aborted?A.cancel():(t.destination&&t.destination.write(i.value.buffer),t.pump(A));t.completed=!0})).catch((function(A){throw A}))},t.resume=function(){},t.abort=function(){this.aborted=!0},A}()},Demuxer:{TS:U},Decoder:{Base:J,MPEG1Video:T,MPEG1VideoWASM:v,MP2Audio:x,MP2AudioWASM:Y},Renderer:{WebGL:H,Canvas2D:P},AudioOutput:{WebAudio:O},WASMModule:K,Now:S,CreateVideoElements:function(){for(var A=document.querySelectorAll(".jsmpeg"),t=0;tthis.q=A))}resume(){this.q?.(),this.Z=this.q=void 0}} -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const V=A=>!e(A)&&"function"==typeof A.then,z=1073741823;const $=A(class extends t{constructor(){super(...arguments),this._$Cwt=z,this._$Cbt=[],this._$CK=new Z(this),this._$CX=new j}render(...A){return A.find((A=>!V(A)))??i}update(A,t){const e=this._$Cbt;let s=e.length;this._$Cbt=t;const o=this._$CK,g=this._$CX;this.isConnected||this.disconnected();for(let A=0;Athis._$Cwt);A++){const i=t[A];if(!V(i))return this._$Cwt=A,i;A{for(;g.get();)await g.get();const t=o.deref();if(void 0!==t){const e=t._$Cbt.indexOf(i);e>-1&&e{let i=!1;const e=new W.VideoElement(this,A,{canvas:this._jsmpegCanvasElement},{pauseWhenHidden:!1,autoplay:!1,protocols:[],audio:!1,videoBufferSize:4194304,preserveDrawingBuffer:!0,...this.cameraConfig?.jsmpeg?.options,reconnectInterval:0,onVideoDecode:()=>{!i&&this._jsmpegCanvasElement&&(i=!0,t(e))},onPlay:()=>g(this),onPause:()=>I(this)})})),this._jsmpegCanvasElement&&a(this,this._jsmpegCanvasElement,{player:this,capabilities:{supportsPause:!0},technology:["jsmpeg"]})}_resetPlayer(){if(this._refreshPlayerTimer.stop(),this._jsmpegVideoPlayer){try{this._jsmpegVideoPlayer.destroy()}catch(A){}this._jsmpegVideoPlayer=void 0}this._jsmpegCanvasElement&&(this._jsmpegCanvasElement.remove(),this._jsmpegCanvasElement=void 0)}connectedCallback(){super.connectedCallback(),this.isConnected&&this.requestUpdate()}disconnectedCallback(){this.isConnected||this._resetPlayer(),super.disconnectedCallback()}async _refreshPlayer(){if(!this.hass)return;this._resetPlayer(),this._jsmpegCanvasElement=document.createElement("canvas"),this._jsmpegCanvasElement.className="media";const A=this.cameraEndpoints?.jsmpeg;if(!A)return B(this,r("error.live_camera_no_endpoint"),{context:this.cameraConfig});const t=await c(this,this.hass,A,86400);t&&(await this._createJSMPEGPlayer(t),this._refreshPlayerTimer.start(82800,(()=>this.requestUpdate())))}render(){return C`${$((async()=>(await this._refreshPlayer(),this._jsmpegVideoPlayer&&this._jsmpegCanvasElement?C`${this._jsmpegCanvasElement}`:B(this,r("error.jsmpeg_no_player"))))(),n({cardWideConfig:this.cardWideConfig}))}`}static get styles(){return E(":host {\n width: 100%;\n height: 100%;\n display: flex;\n}\n\ncanvas {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n object-view-box: inset(var(--frigate-card-media-layout-view-box-top, 0%) var(--frigate-card-media-layout-view-box-right, 0%) var(--frigate-card-media-layout-view-box-bottom, 0%) var(--frigate-card-media-layout-view-box-left, 0%));\n}")}};Q([h({attribute:!1})],AA.prototype,"cameraConfig",void 0),Q([h({attribute:!1})],AA.prototype,"cameraEndpoints",void 0),Q([h({attribute:!1})],AA.prototype,"cardWideConfig",void 0),AA=Q([d("frigate-card-live-jsmpeg")],AA);export{AA as FrigateCardLiveJSMPEG}; diff --git a/config/www/community/frigate-hass-card/jsmpeg-ef28408a.js.gz b/config/www/community/frigate-hass-card/jsmpeg-ef28408a.js.gz deleted file mode 100644 index cceea55ca351857fbfaca11e73223ae38de87fb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42824 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 diff --git a/config/www/community/frigate-hass-card/jsmpeg-fd152ef0.js b/config/www/community/frigate-hass-card/jsmpeg-fd152ef0.js deleted file mode 100644 index 1e8683cc..00000000 --- a/config/www/community/frigate-hass-card/jsmpeg-fd152ef0.js +++ /dev/null @@ -1,12 +0,0 @@ -import{cL as A,eN as t,dC as i,eO as e,a as s,dD as o,dy as g,dz as I,dw as a,cQ as B,l as r,x as C,dl as n,r as E,_ as Q,n as h,t as d}from"./card-09c4bade.js";import{g as c}from"./endpoint-e9cb8034.js";function l(){return l=Object.assign?Object.assign.bind():function(A){for(var t=1;t"string"==typeof A&&A.constructor===String,D=function(A){var t,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t=A,"Promise"===Object.prototype.toString.call(t).slice(8,-1)?A:new Promise((t=>{A(),setTimeout(t,i)}))};var m="WJ3NAvwFY9",f="tR2-0dd-e1",y="ZgIIHVSSYI",R="kAA8SjbHe2",k="OueN4AU4CJ";!function(A,t){void 0===t&&(t={});var i=t.insertAt;if(A&&"undefined"!=typeof document){var e=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.type="text/css","top"===i&&e.firstChild?e.insertBefore(s,e.firstChild):e.appendChild(s),s.styleSheet?s.styleSheet.cssText=A:s.appendChild(document.createTextNode(A))}}(".WJ3NAvwFY9,.ZgIIHVSSYI,.kAA8SjbHe2,.tR2-0dd-e1{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.ZgIIHVSSYI{-ms-flex-pack:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;justify-content:center}.WJ3NAvwFY9,.tR2-0dd-e1{display:block}.tR2-0dd-e1.OueN4AU4CJ{display:none}.ZgIIHVSSYI,.kAA8SjbHe2{-webkit-tap-highlight-color:rgba(255,0,0,0);cursor:pointer;opacity:.7}.OueN4AU4CJ.ZgIIHVSSYI,.OueN4AU4CJ.kAA8SjbHe2{display:none}.ZgIIHVSSYI{z-index:10}.ZgIIHVSSYI>svg{fill:#fff;height:12vw;max-height:60px;max-width:60px;width:12vw}.kAA8SjbHe2{-ms-flex-pack:end;-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:flex-end;justify-content:flex-end;z-index:10}.kAA8SjbHe2>svg{fill:#fff;height:9vw;margin:0 15px 15px 0;max-height:40px;max-width:40px;width:9vw}");var b=function(){function A(A,t,i,e){var s=void 0===i?{}:i,o=s.canvas,g=void 0===o?"":o,I=s.poster,a=void 0===I?"":I,B=s.autoplay,r=void 0!==B&&B,C=s.autoSetWrapperSize,n=void 0!==C&&C,E=s.loop,Q=void 0!==E&&E,h=s.control,d=void 0===h||h,c=s.decodeFirstFrame,u=void 0===c||c,w=s.picMode,D=void 0!==w&&w,m=s.progressive,f=void 0===m||m,y=s.chunkSize,R=void 0===y?1048576:y,k=s.hooks,b=void 0===k?{}:k;void 0===e&&(e={}),this.options=l({videoUrl:t,canvas:g,poster:a,picMode:D,autoplay:r,autoSetWrapperSize:n,loop:Q,control:d,decodeFirstFrame:u,progressive:f,chunkSize:R,hooks:l({play:function(){},pause:function(){},stop:function(){},load:function(){}},b)},e),this.options.needPlayButton=this.options.control&&!this.options.picMode,this.player=null,this.els={wrapper:p(A)?document.querySelector(A):A,canvas:null,playButton:document.createElement("div"),unmuteButton:null,poster:null},"static"===window.getComputedStyle(this.els.wrapper).getPropertyValue("position")&&(this.els.wrapper.style.position="relative"),this.els.wrapper.clientRect=this.els.wrapper.getBoundingClientRect(),this.initCanvas(),this.initPlayButton(),this.initPlayer()}var t=A.prototype;return t.initCanvas=function(){this.options.canvas?this.els.canvas=p(this.options.canvas)?document.querySelector(this.options.canvas):this.options.canvas:(this.els.canvas=document.createElement("canvas"),this.els.canvas.classList.add(m),this.els.wrapper.appendChild(this.els.canvas))},t.initPlayer=function(){var A=this;this.options=l(this.options,{canvas:this.els.canvas});var t=l({},this.options,{autoplay:!1});if(this.player=new X(this.options.videoUrl,t,{play:function(){A.options.needPlayButton&&A.els.playButton.classList.add(k),A.els.poster&&A.els.poster.classList.add(k),A.options.hooks.play()},pause:function(){A.options.needPlayButton&&A.els.playButton.classList.remove(k),A.options.hooks.pause()},stop:function(){A.els.poster&&A.els.poster.classList.remove(k),A.options.hooks.stop()},load:function(){A.options.autoplay&&A.play(),A._autoSetWrapperSize(),A.options.hooks.load()}}),this._copyPlayerFuncs(),this.els.wrapper.playerInstance=this.player,!this.options.poster||this.options.autoplay||this.player.options.streaming||(this.options.decodeFirstFrame=!1,this.els.poster=new Image,this.els.poster.src=this.options.poster,this.els.poster.classList.add(f),this.els.wrapper.appendChild(this.els.poster)),this.player.options.streaming||this.els.wrapper.addEventListener("click",this.onClick.bind(this)),(this.options.autoplay||this.player.options.streaming)&&this.els.playButton.classList.add(k),this.player.audioOut&&!this.player.audioOut.unlocked){var i=this.els.wrapper;(this.options.autoplay||this.player.options.streaming)&&(this.els.unmuteButton=document.createElement("div"),this.els.unmuteButton.innerHTML='\n\n \n\n',this.els.unmuteButton.classList.add(R),this.els.wrapper.appendChild(this.els.unmuteButton),i=this.els.unmuteButton),this.unlockAudioBound=this.onUnlockAudio.bind(this,i),i.addEventListener("touchstart",this.unlockAudioBound,!1),i.addEventListener("click",this.unlockAudioBound,!0)}},t.initPlayButton=function(){this.options.needPlayButton&&(this.els.playButton.classList.add(y),this.els.playButton.innerHTML='\n\n \n\n',this.els.wrapper.appendChild(this.els.playButton))},t._autoSetWrapperSize=function(){var A=this;if(!this.options.autoSetWrapperSize)return Promise.resolve();var t=this.player.video.destination;return t?Promise.resolve().then((function(){return D((function(){A.els.wrapper.style.width=t.width+"px",A.els.wrapper.style.height=t.height+"px"}))})):Promise.resolve()},t.onUnlockAudio=function(A,t){var i=this;this.els.unmuteButton&&(t.preventDefault(),t.stopPropagation()),this.player.audioOut.unlock((function(){i.els.unmuteButton&&i.els.unmuteButton.classList.add(k),A.removeEventListener("touchstart",i.unlockAudioBound),A.removeEventListener("click",i.unlockAudioBound)}))},t.onClick=function(){this.options.control&&(this.player.isPlaying?this.pause():this.play())},t._copyPlayerFuncs=function(){var A=this;this.play=function(){return A.player.play()},this.pause=function(){return A.player.pause()},this.stop=function(){return A.player.stop()},this.destroy=function(){A.player.destroy(),A.els.wrapper.innerHTML="",A.els.wrapper.playerInstance=null}},A}(),S=function(){return window.performance?window.performance.now()/1e3:Date.now()/1e3},G=function(A,t){if(A.fill)A.fill(t);else for(var i=0;iA&&this.loadNextChunk())},t.destroy=function(){this.request.abort(),this.aborted=!0},t.loadNextChunk=function(){var A=this,t=this.loadedSize,i=Math.min(this.loadedSize+this.chunkSize-1,this.fileSize-1);if(t>=this.fileSize||this.aborted)return this.completed=!0,void(this.onCompletedCallback&&this.onCompletedCallback(this));this.isLoading=!0,this.loadStartTime=S(),this.request=new XMLHttpRequest,this.request.onreadystatechange=function(){A.request.readyState===A.request.DONE&&A.request.status>=200&&A.request.status<300?A.onChunkLoad(A.request.response):A.request.readyState===A.request.DONE&&A.loadFails++<3&&A.loadNextChunk()},0===t&&(this.request.onprogress=this.onProgress.bind(this)),this.request.open("GET",this.url+"?"+t+"-"+i),this.request.setRequestHeader("Range","bytes="+t+"-"+i),this.request.responseType="arraybuffer",this.request.send()},t.onProgress=function(A){this.progress=A.loaded/A.total},t.onChunkLoad=function(A){var t=!this.established;this.established=!0,this.progress=1,this.loadedSize+=A.byteLength,this.loadFails=0,this.isLoading=!1,t&&this.hookOnEstablished&&this.hookOnEstablished(),t&&this.onEstablishedCallback&&this.onEstablishedCallback(this),this.destination&&this.destination.write(A),this.loadTime=S()-this.loadStartTime,this.throttled||this.loadNextChunk()},A}(),N=function(){function A(A,t){this.url=A,this.options=t,this.socket=null,this.streaming=!0,this.callbacks={connect:[],data:[]},this.destination=null,this.reconnectInterval=void 0!==t.reconnectInterval?t.reconnectInterval:5,this.shouldAttemptReconnect=!!this.reconnectInterval,this.completed=!1,this.established=!1,this.progress=0,this.reconnectTimeoutId=0,this.onEstablishedCallback=t.onSourceEstablished,this.onCompletedCallback=t.onSourceCompleted,t.hookOnEstablished&&(this.hookOnEstablished=t.hookOnEstablished)}var t=A.prototype;return t.connect=function(A){this.destination=A},t.destroy=function(){clearTimeout(this.reconnectTimeoutId),this.shouldAttemptReconnect=!1,this.socket.close()},t.start=function(){this.shouldAttemptReconnect=!!this.reconnectInterval,this.progress=0,this.established=!1,this.options.protocols?this.socket=new WebSocket(this.url,this.options.protocols):this.socket=new WebSocket(this.url),this.socket.binaryType="arraybuffer",this.socket.onmessage=this.onMessage.bind(this),this.socket.onopen=this.onOpen.bind(this),this.socket.onerror=this.onClose.bind(this),this.socket.onclose=this.onClose.bind(this)},t.resume=function(){},t.onOpen=function(){this.progress=1},t.onClose=function(){var A=this;this.shouldAttemptReconnect&&(clearTimeout(this.reconnectTimeoutId),this.reconnectTimeoutId=setTimeout((function(){A.start()}),1e3*this.reconnectInterval))},t.onMessage=function(A){var t=!this.established;this.established=!0,t&&this.hookOnEstablished&&this.hookOnEstablished(),t&&this.onEstablishedCallback&&this.onEstablishedCallback(this),this.destination&&this.destination.write(A.data)},A}(),L=function(){function A(t,i){"object"==typeof t?(this.bytes=t instanceof Uint8Array?t:new Uint8Array(t),this.byteLength=this.bytes.length):(this.bytes=new Uint8Array(t||1048576),this.byteLength=0),this.mode=i||A.MODE.EXPAND,this.index=0}var t=A.prototype;return t.resize=function(A){var t=new Uint8Array(A);0!==this.byteLength&&(this.byteLength=Math.min(this.byteLength,A),t.set(this.bytes,0,this.byteLength)),this.bytes=t,this.index=Math.min(this.index,this.byteLength<<3)},t.evict=function(A){var t=this.index>>3,i=this.bytes.length-this.byteLength;if(this.index===this.byteLength<<3||A>i+t)return this.byteLength=0,void(this.index=0);0!==t&&(this.bytes.copyWithin?this.bytes.copyWithin(0,t,this.byteLength):this.bytes.set(this.bytes.subarray(t,this.byteLength)),this.byteLength-=t,this.index-=t<<3)},t.write=function(t){var i="object"==typeof t[0],e=0,s=this.bytes.length-this.byteLength;if(i){e=0;for(var o=0;os)if(this.mode===A.MODE.EXPAND){var g=Math.max(2*this.bytes.length,e-s);this.resize(g)}else this.evict(e);if(i)for(var I=0;I>3;A>3;return A>=this.byteLength||0===this.bytes[A]&&0===this.bytes[A+1]&&1===this.bytes[A+2]},t.peek=function(A){for(var t=this.index,i=0;A;){var e=8-(7&t),s=e>3]&255>>8-s<>o,t+=s,A-=s}return i},t.read=function(A){var t=this.peek(A);return this.index+=A,t},t.skip=function(A){return this.index+=A},t.rewind=function(A){this.index=Math.max(this.index-A,0)},t.has=function(A){return(this.byteLength<<3)-this.index>=A},A}();L.MODE={EVICT:1,EXPAND:2};var U=function(){function A(){this.bits=null,this.leftoverBytes=null,this.guessVideoFrameEnd=!0,this.pidsToStreamIds={},this.pesPacketInfo={},this.startTime=0,this.currentTime=0}var t=A.prototype;return t.connect=function(A,t){this.pesPacketInfo[A]={destination:t,currentLength:0,totalLength:0,pts:0,buffers:[]}},t.write=function(A){if(this.leftoverBytes){var t=A.byteLength+this.leftoverBytes.byteLength;this.bits=new L(t),this.bits.write([this.leftoverBytes,A])}else this.bits=new L(A);for(;this.bits.has(1504)&&this.parsePacket(););var i=this.bits.byteLength-(this.bits.index>>3);this.leftoverBytes=i>0?this.bits.bytes.subarray(this.bits.index>>3):null},t.parsePacket=function(){if(71!==this.bits.read(8)&&!this.resync())return!1;var A=187+(this.bits.index>>3);this.bits.read(1);var t=this.bits.read(1);this.bits.read(1);var i=this.bits.read(13);this.bits.read(2);var e=this.bits.read(2);this.bits.read(4);var s=this.pidsToStreamIds[i];if(t&&s){var o=this.pesPacketInfo[s];o&&o.currentLength&&this.packetComplete(o)}if(1&e){if(2&e){var g=this.bits.read(8);this.bits.skip(g<<3)}if(t&&this.bits.nextBytesAreStartCode()){this.bits.skip(24),s=this.bits.read(8),this.pidsToStreamIds[i]=s;var I=this.bits.read(16);this.bits.skip(8);var a=this.bits.read(2);this.bits.skip(6);var B=this.bits.read(8),r=this.bits.index+(B<<3),C=this.pesPacketInfo[s];if(C){var n=0;if(2&a){this.bits.skip(4);var E=this.bits.read(3);this.bits.skip(1);var Q=this.bits.read(15);this.bits.skip(1);var h=this.bits.read(15);this.bits.skip(1),n=(1073741824*E+32768*Q+h)/9e4,this.currentTime=n,-1===this.startTime&&(this.startTime=n)}var d=I?I-B-3:0;this.packetStart(C,n,d)}this.bits.index=r}if(s){var c=this.pesPacketInfo[s];if(c){var l=this.bits.index>>3,u=!t&&2&e;(this.packetAddData(c,l,A)||this.guessVideoFrameEnd&&u)&&this.packetComplete(c)}}}return this.bits.index=A<<3,!0},t.resync=function(){if(!this.bits.has(9024))return!1;for(var A=this.bits.index>>3,t=0;t<187;t++)if(71===this.bits.bytes[A+t]){for(var i=!0,e=1;e<5;e++)if(71!==this.bits.bytes[A+t+188*e]){i=!1;break}if(i)return this.bits.index=A+t+1<<3,!0}return console.warn("JSMpeg: Possible garbage data. Skipping."),this.bits.skip(1496),!1},t.packetStart=function(A,t,i){A.totalLength=i,A.currentLength=0,A.pts=t},t.packetAddData=function(A,t,i){return A.buffers.push(this.bits.bytes.subarray(t,i)),A.currentLength+=i-t,0!==A.totalLength&&A.currentLength>=A.totalLength},t.packetComplete=function(A){A.destination.write(A.pts,A.buffers),A.totalLength=0,A.currentLength=0,A.buffers=[]},A}();U.STREAM={PACK_HEADER:186,SYSTEM_HEADER:187,PROGRAM_MAP:188,PRIVATE_1:189,PADDING:190,PRIVATE_2:191,AUDIO_1:192,VIDEO_1:224,DIRECTORY:255};var J=function(){function A(A){this.destination=null,this.canPlay=!1,this.collectTimestamps=!A.streaming,this.bytesWritten=0,this.timestamps=[],this.timestampIndex=0,this.startTime=0,this.decodedTime=0,Object.defineProperty(this,"currentTime",{get:this.getCurrentTime})}var t=A.prototype;return t.destroy=function(){},t.connect=function(A){this.destination=A},t.bufferGetIndex=function(){return this.bits.index},t.bufferSetIndex=function(A){this.bits.index=A},t.bufferWrite=function(A){return this.bits.write(A)},t.write=function(A,t){this.collectTimestamps&&(0===this.timestamps.length&&(this.startTime=A,this.decodedTime=A),this.timestamps.push({index:this.bytesWritten<<3,time:A})),this.bytesWritten+=this.bufferWrite(t),this.canPlay=!0},t.seek=function(A){if(this.collectTimestamps){this.timestampIndex=0;for(var t=0;tA);t++)this.timestampIndex=t;var i=this.timestamps[this.timestampIndex];i?(this.bufferSetIndex(i.index),this.decodedTime=i.time):(this.bits.index=0,this.decodedTime=this.startTime)}},t.decode=function(){this.advanceDecodedTime(0)},t.advanceDecodedTime=function(A){if(this.collectTimestamps){for(var t=-1,i=this.bufferGetIndex(),e=this.timestampIndex;ei);e++)t=e;if(-1!==t&&t!==this.timestampIndex)return this.timestampIndex=t,void(this.decodedTime=this.timestamps[this.timestampIndex].time)}this.decodedTime+=A},t.getCurrentTime=function(){return this.decodedTime},A}(),T=function(A){function t(t){var i;(i=A.call(this,t)||this).onDecodeCallback=t.onVideoDecode;var e=t.videoBufferSize||524288,s=t.streaming?L.MODE.EVICT:L.MODE.EXPAND;return i.bits=new L(e,s),i.customIntraQuantMatrix=new Uint8Array(64),i.customNonIntraQuantMatrix=new Uint8Array(64),i.blockData=new Int32Array(64),i.currentFrame=0,i.decodeFirstFrame=!1!==t.decodeFirstFrame,i}u(t,A);var i=t.prototype;return i.write=function(A,i){if(J.prototype.write.call(this,A,i),!this.hasSequenceHeader){if(-1===this.bits.findStartCode(t.START.SEQUENCE))return!1;this.decodeSequenceHeader(),this.decodeFirstFrame&&this.decode()}},i.decode=function(){var A=S();if(!this.hasSequenceHeader)return!1;if(-1===this.bits.findStartCode(t.START.PICTURE))return!1;this.decodePicture(),this.advanceDecodedTime(1/this.frameRate);var i=S()-A;return this.onDecodeCallback&&this.onDecodeCallback(this,i),!0},i.readHuffman=function(A){var t=0;do{t=A[t+this.bits.read(1)]}while(t>=0&&0!==A[t]);return A[t+2]},i.decodeSequenceHeader=function(){var A=this.bits.read(12),i=this.bits.read(12);if(this.bits.skip(4),this.frameRate=t.PICTURE_RATE[this.bits.read(4)],this.bits.skip(30),A===this.width&&i===this.height||(this.width=A,this.height=i,this.initBuffers(),this.destination&&this.destination.resize(A,i)),this.bits.read(1)){for(var e=0;e<64;e++)this.customIntraQuantMatrix[t.ZIG_ZAG[e]]=this.bits.read(8);this.intraQuantMatrix=this.customIntraQuantMatrix}if(this.bits.read(1)){for(var s=0;s<64;s++){var o=t.ZIG_ZAG[s];this.customNonIntraQuantMatrix[o]=this.bits.read(8)}this.nonIntraQuantMatrix=this.customNonIntraQuantMatrix}this.hasSequenceHeader=!0},i.initBuffers=function(){this.intraQuantMatrix=t.DEFAULT_INTRA_QUANT_MATRIX,this.nonIntraQuantMatrix=t.DEFAULT_NON_INTRA_QUANT_MATRIX,this.mbWidth=this.width+15>>4,this.mbHeight=this.height+15>>4,this.mbSize=this.mbWidth*this.mbHeight,this.codedWidth=this.mbWidth<<4,this.codedHeight=this.mbHeight<<4,this.codedSize=this.codedWidth*this.codedHeight,this.halfWidth=this.mbWidth<<3,this.halfHeight=this.mbHeight<<3,this.currentY=new Uint8ClampedArray(this.codedSize),this.currentY32=new Uint32Array(this.currentY.buffer),this.currentCr=new Uint8ClampedArray(this.codedSize>>2),this.currentCr32=new Uint32Array(this.currentCr.buffer),this.currentCb=new Uint8ClampedArray(this.codedSize>>2),this.currentCb32=new Uint32Array(this.currentCb.buffer),this.forwardY=new Uint8ClampedArray(this.codedSize),this.forwardY32=new Uint32Array(this.forwardY.buffer),this.forwardCr=new Uint8ClampedArray(this.codedSize>>2),this.forwardCr32=new Uint32Array(this.forwardCr.buffer),this.forwardCb=new Uint8ClampedArray(this.codedSize>>2),this.forwardCb32=new Uint32Array(this.forwardCb.buffer)},i.decodePicture=function(){if(this.currentFrame++,this.bits.skip(10),this.pictureType=this.bits.read(3),this.bits.skip(16),!(this.pictureType<=0||this.pictureType>=t.PICTURE_TYPE.B)){if(this.pictureType===t.PICTURE_TYPE.PREDICTIVE){if(this.fullPelForward=this.bits.read(1),this.forwardFCode=this.bits.read(3),0===this.forwardFCode)return;this.forwardRSize=this.forwardFCode-1,this.forwardF=1<=t.START.SLICE_FIRST&&A<=t.START.SLICE_LAST;)this.decodeSlice(255&A),A=this.bits.findNextStartCode();if(-1!==A&&this.bits.rewind(32),this.destination&&this.destination.render(this.currentY,this.currentCr,this.currentCb,!0),this.pictureType===t.PICTURE_TYPE.INTRA||this.pictureType===t.PICTURE_TYPE.PREDICTIVE){var i=this.forwardY,e=this.forwardY32,s=this.forwardCr,o=this.forwardCr32,g=this.forwardCb,I=this.forwardCb32;this.forwardY=this.currentY,this.forwardY32=this.currentY32,this.forwardCr=this.currentCr,this.forwardCr32=this.currentCr32,this.forwardCb=this.currentCb,this.forwardCb32=this.currentCb32,this.currentY=i,this.currentY32=e,this.currentCr=s,this.currentCr32=o,this.currentCb=g,this.currentCb32=I}}},i.decodeSlice=function(A){for(this.sliceBegin=!0,this.macroblockAddress=(A-1)*this.mbWidth-1,this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0,this.dcPredictorY=128,this.dcPredictorCr=128,this.dcPredictorCb=128,this.quantizerScale=this.bits.read(5);this.bits.read(1);)this.bits.skip(8);do{this.decodeMacroblock()}while(!this.bits.nextBytesAreStartCode())},i.decodeMacroblock=function(){for(var A=0,i=this.readHuffman(t.MACROBLOCK_ADDRESS_INCREMENT);34===i;)i=this.readHuffman(t.MACROBLOCK_ADDRESS_INCREMENT);for(;35===i;)A+=33,i=this.readHuffman(t.MACROBLOCK_ADDRESS_INCREMENT);if(A+=i,this.sliceBegin)this.sliceBegin=!1,this.macroblockAddress+=A;else{if(this.macroblockAddress+A>=this.mbSize)return;for(A>1&&(this.dcPredictorY=128,this.dcPredictorCr=128,this.dcPredictorCb=128,this.pictureType===t.PICTURE_TYPE.PREDICTIVE&&(this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0));A>1;)this.macroblockAddress++,this.mbRow=this.macroblockAddress/this.mbWidth|0,this.mbCol=this.macroblockAddress%this.mbWidth,this.copyMacroblock(this.motionFwH,this.motionFwV,this.forwardY,this.forwardCr,this.forwardCb),A--;this.macroblockAddress++}this.mbRow=this.macroblockAddress/this.mbWidth|0,this.mbCol=this.macroblockAddress%this.mbWidth;var e=t.MACROBLOCK_TYPE[this.pictureType];this.macroblockType=this.readHuffman(e),this.macroblockIntra=1&this.macroblockType,this.macroblockMotFw=8&this.macroblockType,16&this.macroblockType&&(this.quantizerScale=this.bits.read(5)),this.macroblockIntra?(this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0):(this.dcPredictorY=128,this.dcPredictorCr=128,this.dcPredictorCb=128,this.decodeMotionVectors(),this.copyMacroblock(this.motionFwH,this.motionFwV,this.forwardY,this.forwardCr,this.forwardCb));for(var s=2&this.macroblockType?this.readHuffman(t.CODE_BLOCK_PATTERN):this.macroblockIntra?63:0,o=0,g=32;o<6;o++)s&g&&this.decodeBlock(o),g>>=1},i.decodeMotionVectors=function(){var A,i,e=0;this.macroblockMotFw?(0!==(A=this.readHuffman(t.MOTION))&&1!==this.forwardF?(e=this.bits.read(this.forwardRSize),i=(Math.abs(A)-1<(this.forwardF<<4)-1?this.motionFwHPrev-=this.forwardF<<5:this.motionFwHPrev<-this.forwardF<<4&&(this.motionFwHPrev+=this.forwardF<<5),this.motionFwH=this.motionFwHPrev,this.fullPelForward&&(this.motionFwH<<=1),0!==(A=this.readHuffman(t.MOTION))&&1!==this.forwardF?(e=this.bits.read(this.forwardRSize),i=(Math.abs(A)-1<(this.forwardF<<4)-1?this.motionFwVPrev-=this.forwardF<<5:this.motionFwVPrev<-this.forwardF<<4&&(this.motionFwVPrev+=this.forwardF<<5),this.motionFwV=this.motionFwVPrev,this.fullPelForward&&(this.motionFwV<<=1)):this.pictureType===t.PICTURE_TYPE.PREDICTIVE&&(this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0)},i.copyMacroblock=function(A,t,i,e,s){var o,g,I,a,B,r,C,n,E,Q,h,d,c,l,u,w,p,D,m,f=this.currentY32,y=this.currentCb32,R=this.currentCr32;if(g=(o=this.codedWidth)-16,I=A>>1,a=t>>1,B=!(1&~A),r=!(1&~t),C=((this.mbRow<<4)+a)*o+(this.mbCol<<4)+I,E=(n=this.mbRow*o+this.mbCol<<2)+(o<<2),B)if(r)for(;n>2&255,c|=(h=i[++C]+i[C+o])+d+2<<6&65280,c|=h+(d=i[++C]+i[C+o])+2<<14&16711680,h=i[++C]+i[C+o],C++,c|=h+d+2<<22&4278190080,f[n++]=c;n+=g>>2,C+=g-1}else for(;n>1&255,c|=(h=i[C++])+d+1<<7&65280,c|=h+(d=i[C++])+1<<15&16711680,c|=(h=i[C++])+d+1<<23&4278190080,f[n++]=c;n+=g>>2,C+=g-1}else if(r)for(;n>1&255,c|=i[++C]+i[C+o]+1<<7&65280,c|=i[++C]+i[C+o]+1<<15&16711680,c|=i[++C]+i[C+o]+1<<23&4278190080,C++,f[n++]=c;n+=g>>2,C+=g}else for(;n>2,C+=g}if(g=(o=this.halfWidth)-8,I=A/2>>1,a=t/2>>1,B=1==(A/2&1),r=1==(t/2&1),C=((this.mbRow<<3)+a)*o+(this.mbCol<<3)+I,E=(n=this.mbRow*o+this.mbCol<<1)+(o<<1),B)if(r)for(;n>2&255,m=p+(D=s[C]+s[C+o])+2>>2&255,w|=(l=e[++C]+e[C+o])+u+2<<6&65280,m|=(p=s[C]+s[C+o])+D+2<<6&65280,w|=l+(u=e[++C]+e[C+o])+2<<14&16711680,m|=p+(D=s[C]+s[C+o])+2<<14&16711680,l=e[++C]+e[C+o],p=s[C]+s[C+o],C++,w|=l+u+2<<22&4278190080,m|=p+D+2<<22&4278190080,R[n]=w,y[n]=m,n++;n+=g>>2,C+=g-1}else for(;n>1&255,m=p+(D=s[C++])+1>>1&255,w|=(l=e[C])+u+1<<7&65280,m|=(p=s[C++])+D+1<<7&65280,w|=l+(u=e[C])+1<<15&16711680,m|=p+(D=s[C++])+1<<15&16711680,w|=(l=e[C])+u+1<<23&4278190080,m|=(p=s[C++])+D+1<<23&4278190080,R[n]=w,y[n]=m,n++;n+=g>>2,C+=g-1}else if(r)for(;n>1&255,m=s[C]+s[C+o]+1>>1&255,w|=e[++C]+e[C+o]+1<<7&65280,m|=s[C]+s[C+o]+1<<7&65280,w|=e[++C]+e[C+o]+1<<15&16711680,m|=s[C]+s[C+o]+1<<15&16711680,w|=e[++C]+e[C+o]+1<<23&4278190080,m|=s[C]+s[C+o]+1<<23&4278190080,C++,R[n]=w,y[n]=m,n++;n+=g>>2,C+=g}else for(;n>2,C+=g}},i.decodeBlock=function(A){var i,e=0;if(this.macroblockIntra){var s,o;if(A<4?(s=this.dcPredictorY,o=this.readHuffman(t.DCT_DC_SIZE_LUMINANCE)):(s=4===A?this.dcPredictorCr:this.dcPredictorCb,o=this.readHuffman(t.DCT_DC_SIZE_CHROMINANCE)),o>0){var g=this.bits.read(o);this.blockData[0]=g&1<0&&0===this.bits.read(1))break;65535===n?(C=this.bits.read(6),0===(r=this.bits.read(8))?r=this.bits.read(8):128===r?r=this.bits.read(8)-256:r>128&&(r-=256)):(C=n>>8,r=255&n,this.bits.read(1)&&(r=-r)),e+=C;var E=t.ZIG_ZAG[e];e++,r<<=1,this.macroblockIntra||(r+=r<0?-1:1),1&(r=r*this.quantizerScale*i[E]>>4)||(r-=r>0?1:-1),r>2047?r=2047:r<-2048&&(r=-2048),this.blockData[E]=r*t.PREMULTIPLIER_MATRIX[E]}A<4?(I=this.currentY,B=this.codedWidth-8,a=this.mbRow*this.codedWidth+this.mbCol<<4,1&A&&(a+=8),2&A&&(a+=this.codedWidth<<3)):(I=4===A?this.currentCb:this.currentCr,B=(this.codedWidth>>1)-8,a=(this.mbRow*this.codedWidth<<2)+(this.mbCol<<3)),this.macroblockIntra?1===e?(t.CopyValueToDestination(this.blockData[0]+128>>8,I,a,B),this.blockData[0]=0):(t.IDCT(this.blockData),t.CopyBlockToDestination(this.blockData,I,a,B),G(this.blockData,0)):1===e?(t.AddValueToDestination(this.blockData[0]+128>>8,I,a,B),this.blockData[0]=0):(t.IDCT(this.blockData),t.AddBlockToDestination(this.blockData,I,a,B),G(this.blockData,0)),e=0},t.CopyBlockToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]=A[s+0],t[i+1]=A[s+1],t[i+2]=A[s+2],t[i+3]=A[s+3],t[i+4]=A[s+4],t[i+5]=A[s+5],t[i+6]=A[s+6],t[i+7]=A[s+7]},t.AddBlockToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]+=A[s+0],t[i+1]+=A[s+1],t[i+2]+=A[s+2],t[i+3]+=A[s+3],t[i+4]+=A[s+4],t[i+5]+=A[s+5],t[i+6]+=A[s+6],t[i+7]+=A[s+7]},t.CopyValueToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]=A,t[i+1]=A,t[i+2]=A,t[i+3]=A,t[i+4]=A,t[i+5]=A,t[i+6]=A,t[i+7]=A},t.AddValueToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]+=A,t[i+1]+=A,t[i+2]+=A,t[i+3]+=A,t[i+4]+=A,t[i+5]+=A,t[i+6]+=A,t[i+7]+=A},t.IDCT=function(A){for(var t,i,e,s,o,g,I,a,B,r,C,n,E,Q,h,d,c,l,u=0;u<8;++u)t=A[32+u],i=A[16+u]+A[48+u],e=A[40+u]-A[24+u],g=A[8+u]+A[56+u],I=A[24+u]+A[40+u],B=(E=(473*(s=A[8+u]-A[56+u])-196*e+128>>8)-(o=g+I))-(362*(g-I)+128>>8),Q=(r=(a=A[0+u])-t)+(C=(362*(A[16+u]-A[48+u])+128>>8)-i),h=(n=a+t)+i,d=r-C,c=n-i,l=-B-(473*e+196*s+128>>8),A[0+u]=o+h,A[8+u]=E+Q,A[16+u]=d-B,A[24+u]=c-l,A[32+u]=c+l,A[40+u]=B+d,A[48+u]=Q-E,A[56+u]=h-o;for(var w=0;w<64;w+=8)t=A[4+w],i=A[2+w]+A[6+w],e=A[5+w]-A[3+w],g=A[1+w]+A[7+w],I=A[3+w]+A[5+w],B=(E=(473*(s=A[1+w]-A[7+w])-196*e+128>>8)-(o=g+I))-(362*(g-I)+128>>8),Q=(r=(a=A[0+w])-t)+(C=(362*(A[2+w]-A[6+w])+128>>8)-i),h=(n=a+t)+i,d=r-C,c=n-i,l=-B-(473*e+196*s+128>>8),A[0+w]=o+h+128>>8,A[1+w]=E+Q+128>>8,A[2+w]=d-B+128>>8,A[3+w]=c-l+128>>8,A[4+w]=c+l+128>>8,A[5+w]=B+d+128>>8,A[6+w]=Q-E+128>>8,A[7+w]=h-o+128>>8},t}(J);T.prototype.frameRate=30,T.prototype.currentY=null,T.prototype.currentCr=null,T.prototype.currentCb=null,T.prototype.pictureType=0,T.prototype.forwardY=null,T.prototype.forwardCr=null,T.prototype.forwardCb=null,T.prototype.fullPelForward=!1,T.prototype.forwardFCode=0,T.prototype.forwardRSize=0,T.prototype.forwardF=0,T.prototype.quantizerScale=0,T.prototype.sliceBegin=!1,T.prototype.macroblockAddress=0,T.prototype.mbRow=0,T.prototype.mbCol=0,T.prototype.macroblockType=0,T.prototype.macroblockIntra=!1,T.prototype.macroblockMotFw=!1,T.prototype.motionFwH=0,T.prototype.motionFwV=0,T.prototype.motionFwHPrev=0,T.prototype.motionFwVPrev=0,T.prototype.dcPredictorY=0,T.prototype.dcPredictorCr=0,T.prototype.dcPredictorCb=0,T.prototype.blockData=null,T.PICTURE_RATE=[0,23.976,24,25,29.97,30,50,59.94,60,0,0,0,0,0,0,0],T.ZIG_ZAG=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),T.DEFAULT_INTRA_QUANT_MATRIX=new Uint8Array([8,16,19,22,26,27,29,34,16,16,22,24,27,29,34,37,19,22,26,27,29,34,34,38,22,22,26,27,29,34,37,40,22,26,27,29,32,35,40,48,26,27,29,32,35,40,48,58,26,27,29,34,38,46,56,69,27,29,35,38,46,56,69,83]),T.DEFAULT_NON_INTRA_QUANT_MATRIX=new Uint8Array([16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16]),T.PREMULTIPLIER_MATRIX=new Uint8Array([32,44,42,38,32,25,17,9,44,62,58,52,44,35,24,12,42,58,55,49,42,33,23,12,38,52,49,44,38,30,20,10,32,44,42,38,32,25,17,9,25,35,33,30,25,20,14,7,17,24,23,20,17,14,9,5,9,12,12,10,9,7,5,2]),T.MACROBLOCK_ADDRESS_INCREMENT=new Int16Array([3,6,0,9,12,0,0,0,1,15,18,0,21,24,0,27,30,0,33,36,0,0,0,3,0,0,2,39,42,0,45,48,0,0,0,5,0,0,4,51,54,0,57,60,0,0,0,7,0,0,6,63,66,0,69,72,0,75,78,0,81,84,0,-1,87,0,-1,90,0,93,96,0,99,102,0,105,108,0,111,114,0,0,0,9,0,0,8,117,120,0,123,126,0,129,132,0,135,138,0,0,0,15,0,0,14,0,0,13,0,0,12,0,0,11,0,0,10,141,-1,0,-1,144,0,147,150,0,153,156,0,159,162,0,165,168,0,171,174,0,177,180,0,183,-1,0,-1,186,0,189,192,0,195,198,0,201,204,0,207,210,0,213,216,0,219,222,0,0,0,21,0,0,20,0,0,19,0,0,18,0,0,17,0,0,16,0,0,35,0,0,34,0,0,33,0,0,32,0,0,31,0,0,30,0,0,29,0,0,28,0,0,27,0,0,26,0,0,25,0,0,24,0,0,23,0,0,22]),T.MACROBLOCK_TYPE_INTRA=new Int8Array([3,6,0,-1,9,0,0,0,1,0,0,17]),T.MACROBLOCK_TYPE_PREDICTIVE=new Int8Array([3,6,0,9,12,0,0,0,10,15,18,0,0,0,2,21,24,0,0,0,8,27,30,0,33,36,0,-1,39,0,0,0,18,0,0,26,0,0,1,0,0,17]),T.MACROBLOCK_TYPE_B=new Int8Array([3,6,0,9,15,0,12,18,0,24,21,0,0,0,12,27,30,0,0,0,14,39,42,0,36,33,0,0,0,4,0,0,6,54,48,0,45,51,0,0,0,8,0,0,10,-1,57,0,0,0,1,60,63,0,0,0,30,0,0,17,0,0,22,0,0,26]),T.MACROBLOCK_TYPE=[null,T.MACROBLOCK_TYPE_INTRA,T.MACROBLOCK_TYPE_PREDICTIVE,T.MACROBLOCK_TYPE_B],T.CODE_BLOCK_PATTERN=new Int16Array([6,3,0,9,18,0,12,15,0,24,33,0,36,39,0,27,21,0,30,42,0,60,57,0,54,48,0,69,51,0,81,75,0,63,84,0,45,66,0,72,78,0,0,0,60,105,120,0,132,144,0,114,108,0,126,141,0,87,93,0,117,96,0,0,0,32,135,138,0,99,123,0,129,102,0,0,0,4,90,111,0,0,0,8,0,0,16,0,0,44,150,168,0,0,0,28,0,0,52,0,0,62,183,177,0,156,180,0,0,0,1,165,162,0,0,0,61,0,0,56,171,174,0,0,0,2,0,0,40,153,186,0,0,0,48,192,189,0,147,159,0,0,0,20,0,0,12,240,249,0,0,0,63,231,225,0,195,219,0,252,198,0,0,0,24,0,0,36,0,0,3,207,261,0,243,237,0,204,213,0,210,234,0,201,228,0,216,222,0,258,255,0,264,246,0,-1,282,0,285,291,0,0,0,33,0,0,9,318,330,0,306,348,0,0,0,5,0,0,10,279,267,0,0,0,6,0,0,18,0,0,17,0,0,34,339,357,0,309,312,0,270,276,0,327,321,0,351,354,0,303,297,0,294,288,0,300,273,0,342,345,0,315,324,0,336,333,0,363,375,0,0,0,41,0,0,14,0,0,21,372,366,0,360,369,0,0,0,11,0,0,19,0,0,7,0,0,35,0,0,13,0,0,50,0,0,49,0,0,58,0,0,37,0,0,25,0,0,45,0,0,57,0,0,26,0,0,29,0,0,38,0,0,53,0,0,23,0,0,43,0,0,46,0,0,42,0,0,22,0,0,54,0,0,51,0,0,15,0,0,30,0,0,39,0,0,47,0,0,55,0,0,27,0,0,59,0,0,31]),T.MOTION=new Int16Array([3,6,0,12,9,0,0,0,0,18,15,0,24,21,0,0,0,-1,0,0,1,27,30,0,36,33,0,0,0,2,0,0,-2,42,45,0,48,39,0,60,54,0,0,0,3,0,0,-3,51,57,0,-1,69,0,81,75,0,78,63,0,72,66,0,96,84,0,87,93,0,-1,99,0,108,105,0,0,0,-4,90,102,0,0,0,4,0,0,-7,0,0,5,111,123,0,0,0,-5,0,0,7,114,120,0,126,117,0,0,0,-6,0,0,6,153,162,0,150,147,0,135,138,0,156,141,0,129,159,0,132,144,0,0,0,10,0,0,9,0,0,8,0,0,-8,171,198,0,0,0,-9,180,192,0,168,183,0,165,186,0,174,189,0,0,0,-10,177,195,0,0,0,12,0,0,16,0,0,13,0,0,14,0,0,11,0,0,15,0,0,-16,0,0,-12,0,0,-14,0,0,-15,0,0,-11,0,0,-13]),T.DCT_DC_SIZE_LUMINANCE=new Int8Array([6,3,0,18,15,0,9,12,0,0,0,1,0,0,2,27,24,0,21,30,0,0,0,0,36,33,0,0,0,4,0,0,3,39,42,0,0,0,5,0,0,6,48,45,0,51,-1,0,0,0,7,0,0,8]),T.DCT_DC_SIZE_CHROMINANCE=new Int8Array([6,3,0,12,9,0,18,15,0,24,21,0,0,0,2,0,0,1,0,0,0,30,27,0,0,0,3,36,33,0,0,0,4,42,39,0,0,0,5,48,45,0,0,0,6,51,-1,0,0,0,7,0,0,8]),T.DCT_COEFF=new Int32Array([3,6,0,12,9,0,0,0,1,21,24,0,18,15,0,39,27,0,33,30,0,42,36,0,0,0,257,60,66,0,54,63,0,48,57,0,0,0,513,51,45,0,0,0,2,0,0,3,81,75,0,87,93,0,72,78,0,96,90,0,0,0,1025,69,84,0,0,0,769,0,0,258,0,0,1793,0,0,65535,0,0,1537,111,108,0,0,0,1281,105,102,0,117,114,0,99,126,0,120,123,0,156,150,0,162,159,0,144,147,0,129,135,0,138,132,0,0,0,2049,0,0,4,0,0,514,0,0,2305,153,141,0,165,171,0,180,168,0,177,174,0,183,186,0,0,0,2561,0,0,3329,0,0,6,0,0,259,0,0,5,0,0,770,0,0,2817,0,0,3073,228,225,0,201,210,0,219,213,0,234,222,0,216,231,0,207,192,0,204,189,0,198,195,0,243,261,0,273,240,0,246,237,0,249,258,0,279,276,0,252,255,0,270,282,0,264,267,0,0,0,515,0,0,260,0,0,7,0,0,1026,0,0,1282,0,0,4097,0,0,3841,0,0,3585,315,321,0,333,342,0,312,291,0,375,357,0,288,294,0,-1,369,0,285,303,0,318,363,0,297,306,0,339,309,0,336,348,0,330,300,0,372,345,0,351,366,0,327,354,0,360,324,0,381,408,0,417,420,0,390,378,0,435,438,0,384,387,0,0,0,2050,396,402,0,465,462,0,0,0,8,411,399,0,429,432,0,453,414,0,426,423,0,0,0,10,0,0,9,0,0,11,0,0,5377,0,0,1538,0,0,771,0,0,5121,0,0,1794,0,0,4353,0,0,4609,0,0,4865,444,456,0,0,0,1027,459,450,0,0,0,261,393,405,0,0,0,516,447,441,0,516,519,0,486,474,0,510,483,0,504,498,0,471,537,0,507,501,0,522,513,0,534,531,0,468,477,0,492,495,0,549,546,0,525,528,0,0,0,263,0,0,2562,0,0,2306,0,0,5633,0,0,5889,0,0,6401,0,0,6145,0,0,1283,0,0,772,0,0,13,0,0,12,0,0,14,0,0,15,0,0,517,0,0,6657,0,0,262,540,543,0,480,489,0,588,597,0,0,0,27,609,555,0,606,603,0,0,0,19,0,0,22,591,621,0,0,0,18,573,576,0,564,570,0,0,0,20,552,582,0,0,0,21,558,579,0,0,0,23,612,594,0,0,0,25,0,0,24,600,615,0,0,0,31,0,0,30,0,0,28,0,0,29,0,0,26,0,0,17,0,0,16,567,618,0,561,585,0,654,633,0,0,0,37,645,648,0,0,0,36,630,636,0,0,0,34,639,627,0,663,666,0,657,624,0,651,642,0,669,660,0,0,0,35,0,0,267,0,0,40,0,0,268,0,0,266,0,0,32,0,0,264,0,0,265,0,0,38,0,0,269,0,0,270,0,0,33,0,0,39,0,0,7937,0,0,6913,0,0,7681,0,0,4098,0,0,7425,0,0,7169,0,0,271,0,0,274,0,0,273,0,0,272,0,0,1539,0,0,2818,0,0,3586,0,0,3330,0,0,3074,0,0,3842]),T.PICTURE_TYPE={INTRA:1,PREDICTIVE:2,B:3},T.START={SEQUENCE:179,SLICE_FIRST:1,SLICE_LAST:175,PICTURE:0,EXTENSION:181,USER_DATA:178};var v=function(A){function t(t){var i;return(i=A.call(this,t)||this).onDecodeCallback=t.onVideoDecode,i.module=t.wasmModule,i.bufferSize=t.videoBufferSize||524288,i.bufferMode=t.streaming?L.MODE.EVICT:L.MODE.EXPAND,i.decodeFirstFrame=!1!==t.decodeFirstFrame,i.hasSequenceHeader=!1,i}u(t,A);var i=t.prototype;return i.initializeWasmDecoder=function(){this.module.instance?(this.instance=this.module.instance,this.functions=this.module.instance.exports,this.decoder=this.functions._mpeg1_decoder_create(this.bufferSize,this.bufferMode)):console.warn("JSMpeg: WASM module not compiled yet")},i.destroy=function(){this.decoder&&this.functions._mpeg1_decoder_destroy(this.decoder)},i.bufferGetIndex=function(){if(this.decoder)return this.functions._mpeg1_decoder_get_index(this.decoder)},i.bufferSetIndex=function(A){this.decoder&&this.functions._mpeg1_decoder_set_index(this.decoder,A)},i.bufferWrite=function(A){this.decoder||this.initializeWasmDecoder();for(var t=0,i=0;i>2)),g=this.instance.heapU8.subarray(e,e+(this.codedSize>>2));this.destination.render(s,o,g,!1)}this.advanceDecodedTime(1/this.frameRate);var I=S()-A;return this.onDecodeCallback&&this.onDecodeCallback(this,I),!0},t}(J),x=function(A){function t(i){var e;(e=A.call(this,i)||this).onDecodeCallback=i.onAudioDecode;var s=i.audioBufferSize||131072,o=i.streaming?L.MODE.EVICT:L.MODE.EXPAND;e.bits=new L(s,o),e.left=new Float32Array(1152),e.right=new Float32Array(1152),e.sampleRate=44100,e.D=new Float32Array(1024),e.D.set(t.SYNTHESIS_WINDOW,0),e.D.set(t.SYNTHESIS_WINDOW,512),e.V=[new Float32Array(1024),new Float32Array(1024)],e.U=new Int32Array(32),e.VPos=0,e.allocation=[new Array(32),new Array(32)],e.scaleFactorInfo=[new Uint8Array(32),new Uint8Array(32)],e.scaleFactor=[new Array(32),new Array(32)],e.sample=[new Array(32),new Array(32)];for(var g=0;g<2;g++)for(var I=0;I<32;I++)e.scaleFactor[g][I]=[0,0,0],e.sample[g][I]=[0,0,0];return e}u(t,A);var i=t.prototype;return i.decode=function(){var A=S(),t=this.bits.index>>3;if(t>=this.bits.byteLength)return!1;var i=this.decodeFrame(this.left,this.right);if(this.bits.index=t+i<<3,!i)return!1;this.destination&&this.destination.play(this.sampleRate,this.left,this.right),this.advanceDecodedTime(this.left.length/this.sampleRate);var e=S()-A;return this.onDecodeCallback&&this.onDecodeCallback(this,e),!0},i.getCurrentTime=function(){var A=this.destination?this.destination.enqueuedTime:0;return this.decodedTime-A},i.decodeFrame=function(A,i){var e=this.bits.read(11),s=this.bits.read(2),o=this.bits.read(2),g=!this.bits.read(1);if(e!==t.FRAME_SYNC||s!==t.VERSION.MPEG_1||o!==t.LAYER.II)return 0;var I=this.bits.read(4)-1;if(I>13)return 0;var a=this.bits.read(2),B=t.SAMPLE_RATE[a];if(3===a)return 0;s===t.VERSION.MPEG_2&&(a+=4,I+=14);var r=this.bits.read(1);this.bits.read(1);var C=this.bits.read(2),n=0;C===t.MODE.JOINT_STEREO?n=this.bits.read(2)+1<<2:(this.bits.skip(2),n=C===t.MODE.MONO?0:32),this.bits.skip(4),g&&this.bits.skip(16);var E=144e3*t.BIT_RATE[I]/(B=t.SAMPLE_RATE[a])+r|0,Q=0,h=0;if(s===t.VERSION.MPEG_2)Q=2,h=30;else{var d=C===t.MODE.MONO?0:1,c=t.QUANT_LUT_STEP_1[d][I];h=63&(Q=t.QUANT_LUT_STEP_2[c][a]),Q>>=6}n>h&&(n=h);for(var l=0;l>1),U=this.VPos%128>>1;U<1024;){for(var J=0;J<32;++J)this.U[J]+=this.D[L++]*this.V[N][U++];U+=96,L+=32}for(U=1120-U,L-=480;U<1024;){for(var T=0;T<32;++T)this.U[T]+=this.D[L++]*this.V[N][U++];U+=96,L+=32}for(var v=0===N?A:i,x=0;x<32;x++)v[R+x]=this.U[x]/2147418112}R+=32}}return this.sampleRate=B,E},i.readAllocation=function(A,i){var e=t.QUANT_LUT_STEP_3[i][A],s=t.QUANT_LUT_STEP4[15&e][this.bits.read(e>>4)];return s?t.QUANT_TAB[s-1]:0},i.readSamples=function(A,i,e){var s=this.allocation[A][i],o=this.scaleFactor[A][i][e],g=this.sample[A][i],I=0;if(s){if(63===o)o=0;else{var a=o/3|0;o=t.SCALEFACTOR_BASE[o%3]+(1<>1)>>a}var B=s.levels;s.group?(I=this.bits.read(s.bits),g[0]=I%B,I=I/B|0,g[1]=I%B,g[2]=I/B|0):(g[0]=this.bits.read(s.bits),g[1]=this.bits.read(s.bits),g[2]=this.bits.read(s.bits));var r=65536/(B+1)|0;I=((B=(B+1>>1)-1)-g[0])*r,g[0]=I*(o>>12)+(I*(4095&o)+2048>>12)>>12,I=(B-g[1])*r,g[1]=I*(o>>12)+(I*(4095&o)+2048>>12)>>12,I=(B-g[2])*r,g[2]=I*(o>>12)+(I*(4095&o)+2048>>12)>>12}else g[0]=g[1]=g[2]=0},t.MatrixTransform=function(A,t,i,e){var s,o,g,I,a,B,r,C,n,E,Q,h,d,c,l,u,w,p,D,m,f,y,R,k,b,S,G,F,M,q,N,L,U;s=A[0][t]+A[31][t],o=.500602998235*(A[0][t]-A[31][t]),g=A[1][t]+A[30][t],I=.505470959898*(A[1][t]-A[30][t]),a=A[2][t]+A[29][t],B=.515447309923*(A[2][t]-A[29][t]),r=A[3][t]+A[28][t],C=.53104259109*(A[3][t]-A[28][t]),n=A[4][t]+A[27][t],E=.553103896034*(A[4][t]-A[27][t]),Q=A[5][t]+A[26][t],h=.582934968206*(A[5][t]-A[26][t]),d=A[6][t]+A[25][t],c=.622504123036*(A[6][t]-A[25][t]),l=A[7][t]+A[24][t],u=.674808341455*(A[7][t]-A[24][t]),w=A[8][t]+A[23][t],p=.744536271002*(A[8][t]-A[23][t]),D=A[9][t]+A[22][t],m=.839349645416*(A[9][t]-A[22][t]),f=A[10][t]+A[21][t],y=.972568237862*(A[10][t]-A[21][t]),R=A[11][t]+A[20][t],k=1.16943993343*(A[11][t]-A[20][t]),b=A[12][t]+A[19][t],S=1.48416461631*(A[12][t]-A[19][t]),G=A[13][t]+A[18][t],F=2.05778100995*(A[13][t]-A[18][t]),M=A[14][t]+A[17][t],q=3.40760841847*(A[14][t]-A[17][t]),U=s+(N=A[15][t]+A[16][t]),N=.502419286188*(s-N),s=g+M,M=.52249861494*(g-M),g=a+G,G=.566944034816*(a-G),a=r+b,b=.64682178336*(r-b),r=n+R,R=.788154623451*(n-R),n=Q+f,f=1.06067768599*(Q-f),Q=d+D,D=1.72244709824*(d-D),d=l+w,w=5.10114861869*(l-w),l=U+d,d=.509795579104*(U-d),U=s+Q,s=.601344886935*(s-Q),Q=g+n,n=.899976223136*(g-n),g=a+r,r=2.56291544774*(a-r),a=l+g,l=.541196100146*(l-g),g=U+Q,Q=1.30656296488*(U-Q),U=a+g,a=.707106781187*(a-g),g=l+Q,g+=l=.707106781187*(l-Q),Q=d+r,d=.541196100146*(d-r),r=s+n,n=1.30656296488*(s-n),s=Q+r,r=.707106781187*(Q-r),Q=d+n,s+=Q+=d=.707106781187*(d-n),Q+=r,r+=d,n=N+w,N=.509795579104*(N-w),w=M+D,M=.601344886935*(M-D),D=G+f,f=.899976223136*(G-f),G=b+R,R=2.56291544774*(b-R),b=n+G,n=.541196100146*(n-G),G=w+D,D=1.30656296488*(w-D),w=b+G,G=.707106781187*(b-G),b=n+D,D=.707106781187*(n-D),n=N+R,N=.541196100146*(N-R),R=M+f,f=1.30656296488*(M-f),M=n+R,R=.707106781187*(n-R),n=N+f,w+=M+=n+=N=.707106781187*(N-f),M+=b+=D,b+=n+=R,n+=G,G+=R+=N,R+=D,D+=N,f=o+(L=10.1900081235*(A[15][t]-A[16][t])),o=.502419286188*(o-L),L=I+q,I=.52249861494*(I-q),q=B+F,F=.566944034816*(B-F),B=C+S,C=.64682178336*(C-S),S=E+k,E=.788154623451*(E-k),k=h+y,y=1.06067768599*(h-y),h=c+m,m=1.72244709824*(c-m),c=u+p,u=5.10114861869*(u-p),p=f+c,c=.509795579104*(f-c),f=L+h,L=.601344886935*(L-h),h=q+k,k=.899976223136*(q-k),q=B+S,S=2.56291544774*(B-S),B=p+q,p=.541196100146*(p-q),q=f+h,h=1.30656296488*(f-h),f=B+q,q=.707106781187*(B-q),B=p+h,h=.707106781187*(p-h),p=c+S,S=.541196100146*(c-S),c=L+k,k=1.30656296488*(L-k),L=p+c,c=.707106781187*(p-c),p=S+k,L+=p+=k=.707106781187*(S-k),p+=c,S=c+k,c=o+u,o=.509795579104*(o-u),u=I+m,I=.601344886935*(I-m),m=F+y,y=.899976223136*(F-y),F=C+E,E=2.56291544774*(C-E),C=c+F,c=.541196100146*(c-F),F=u+m,m=1.30656296488*(u-m),u=C+F,F=.707106781187*(C-F),C=c+m,m=.707106781187*(c-m),c=o+E,o=.541196100146*(o-E),E=I+y,y=1.30656296488*(I-y),I=c+E,E=.707106781187*(c-E),c=o+y,f+=u+=I+=c+=o=.707106781187*(o-y),u+=L,L+=I+=C+=m,I+=B+=h,B+=C+=c+=E,C+=p,p+=c+=F,c+=q,q+=F+=E+=o,F+=S,S+=E+=m,E+=h,h+=m+=o,m+=k,k+=o,i[e+48]=-U,i[e+49]=i[e+47]=-f,i[e+50]=i[e+46]=-w,i[e+51]=i[e+45]=-u,i[e+52]=i[e+44]=-s,i[e+53]=i[e+43]=-L,i[e+54]=i[e+42]=-M,i[e+55]=i[e+41]=-I,i[e+56]=i[e+40]=-g,i[e+57]=i[e+39]=-B,i[e+58]=i[e+38]=-b,i[e+59]=i[e+37]=-C,i[e+60]=i[e+36]=-Q,i[e+61]=i[e+35]=-p,i[e+62]=i[e+34]=-n,i[e+63]=i[e+33]=-c,i[e+32]=-a,i[e+0]=a,i[e+31]=-q,i[e+1]=q,i[e+30]=-G,i[e+2]=G,i[e+29]=-F,i[e+3]=F,i[e+28]=-r,i[e+4]=r,i[e+27]=-S,i[e+5]=S,i[e+26]=-R,i[e+6]=R,i[e+25]=-E,i[e+7]=E,i[e+24]=-l,i[e+8]=l,i[e+23]=-h,i[e+9]=h,i[e+22]=-D,i[e+10]=D,i[e+21]=-m,i[e+11]=m,i[e+20]=-d,i[e+12]=d,i[e+19]=-k,i[e+13]=k,i[e+18]=-N,i[e+14]=N,i[e+17]=-o,i[e+15]=o,i[e+16]=0},t}(J);x.FRAME_SYNC=2047,x.VERSION={MPEG_2_5:0,MPEG_2:2,MPEG_1:3},x.LAYER={III:1,II:2,I:3},x.MODE={STEREO:0,JOINT_STEREO:1,DUAL_CHANNEL:2,MONO:3},x.SAMPLE_RATE=new Uint16Array([44100,48e3,32e3,0,22050,24e3,16e3,0]),x.BIT_RATE=new Uint16Array([32,48,56,64,80,96,112,128,160,192,224,256,320,384,8,16,24,32,40,48,56,64,80,96,112,128,144,160]),x.SCALEFACTOR_BASE=new Uint32Array([33554432,26632170,21137968]),x.SYNTHESIS_WINDOW=new Float32Array([0,-.5,-.5,-.5,-.5,-.5,-.5,-1,-1,-1,-1,-1.5,-1.5,-2,-2,-2.5,-2.5,-3,-3.5,-3.5,-4,-4.5,-5,-5.5,-6.5,-7,-8,-8.5,-9.5,-10.5,-12,-13,-14.5,-15.5,-17.5,-19,-20.5,-22.5,-24.5,-26.5,-29,-31.5,-34,-36.5,-39.5,-42.5,-45.5,-48.5,-52,-55.5,-58.5,-62.5,-66,-69.5,-73.5,-77,-80.5,-84.5,-88,-91.5,-95,-98,-101,-104,106.5,109,111,112.5,113.5,114,114,113.5,112,110.5,107.5,104,100,94.5,88.5,81.5,73,63.5,53,41.5,28.5,14.5,-1,-18,-36,-55.5,-76.5,-98.5,-122,-147,-173.5,-200.5,-229.5,-259.5,-290.5,-322.5,-355.5,-389.5,-424,-459.5,-495.5,-532,-568.5,-605,-641.5,-678,-714,-749,-783.5,-817,-849,-879.5,-908.5,-935,-959.5,-981,-1000.5,-1016,-1028.5,-1037.5,-1042.5,-1043.5,-1040,-1031.5,1018.5,1e3,976,946.5,911,869.5,822,767.5,707,640,565.5,485,397,302.5,201,92.5,-22.5,-144,-272.5,-407,-547.5,-694,-846,-1003,-1165,-1331.5,-1502,-1675.5,-1852.5,-2031.5,-2212.5,-2394,-2576.5,-2758.5,-2939.5,-3118.5,-3294.5,-3467.5,-3635.5,-3798.5,-3955,-4104.5,-4245.5,-4377.5,-4499,-4609.5,-4708,-4792.5,-4863.5,-4919,-4958,-4979.5,-4983,-4967.5,-4931.5,-4875,-4796,-4694.5,-4569.5,-4420,-4246,-4046,-3820,-3567,3287,2979.5,2644,2280.5,1888,1467.5,1018.5,541,35,-499,-1061,-1650,-2266.5,-2909,-3577,-4270,-4987.5,-5727.5,-6490,-7274,-8077.5,-8899.5,-9739,-10594.5,-11464.5,-12347,-13241,-14144.5,-15056,-15973.5,-16895.5,-17820,-18744.5,-19668,-20588,-21503,-22410.5,-23308.5,-24195,-25068.5,-25926.5,-26767,-27589,-28389,-29166.5,-29919,-30644.5,-31342,-32009.5,-32645,-33247,-33814.5,-34346,-34839.5,-35295,-35710,-36084.5,-36417.5,-36707.5,-36954,-37156.5,-37315,-37428,-37496,37519,37496,37428,37315,37156.5,36954,36707.5,36417.5,36084.5,35710,35295,34839.5,34346,33814.5,33247,32645,32009.5,31342,30644.5,29919,29166.5,28389,27589,26767,25926.5,25068.5,24195,23308.5,22410.5,21503,20588,19668,18744.5,17820,16895.5,15973.5,15056,14144.5,13241,12347,11464.5,10594.5,9739,8899.5,8077.5,7274,6490,5727.5,4987.5,4270,3577,2909,2266.5,1650,1061,499,-35,-541,-1018.5,-1467.5,-1888,-2280.5,-2644,-2979.5,3287,3567,3820,4046,4246,4420,4569.5,4694.5,4796,4875,4931.5,4967.5,4983,4979.5,4958,4919,4863.5,4792.5,4708,4609.5,4499,4377.5,4245.5,4104.5,3955,3798.5,3635.5,3467.5,3294.5,3118.5,2939.5,2758.5,2576.5,2394,2212.5,2031.5,1852.5,1675.5,1502,1331.5,1165,1003,846,694,547.5,407,272.5,144,22.5,-92.5,-201,-302.5,-397,-485,-565.5,-640,-707,-767.5,-822,-869.5,-911,-946.5,-976,-1e3,1018.5,1031.5,1040,1043.5,1042.5,1037.5,1028.5,1016,1000.5,981,959.5,935,908.5,879.5,849,817,783.5,749,714,678,641.5,605,568.5,532,495.5,459.5,424,389.5,355.5,322.5,290.5,259.5,229.5,200.5,173.5,147,122,98.5,76.5,55.5,36,18,1,-14.5,-28.5,-41.5,-53,-63.5,-73,-81.5,-88.5,-94.5,-100,-104,-107.5,-110.5,-112,-113.5,-114,-114,-113.5,-112.5,-111,-109,106.5,104,101,98,95,91.5,88,84.5,80.5,77,73.5,69.5,66,62.5,58.5,55.5,52,48.5,45.5,42.5,39.5,36.5,34,31.5,29,26.5,24.5,22.5,20.5,19,17.5,15.5,14.5,13,12,10.5,9.5,8.5,8,7,6.5,5.5,5,4.5,4,3.5,3.5,3,2.5,2.5,2,2,1.5,1.5,1,1,1,1,.5,.5,.5,.5,.5,.5]),x.QUANT_LUT_STEP_1=[[0,0,1,1,1,2,2,2,2,2,2,2,2,2],[0,0,0,0,0,0,1,1,1,2,2,2,2,2]],x.QUANT_TAB={A:91,B:94,C:8,D:12},x.QUANT_LUT_STEP_2=[[x.QUANT_TAB.C,x.QUANT_TAB.C,x.QUANT_TAB.D],[x.QUANT_TAB.A,x.QUANT_TAB.A,x.QUANT_TAB.A],[x.QUANT_TAB.B,x.QUANT_TAB.A,x.QUANT_TAB.B]],x.QUANT_LUT_STEP_3=[[68,68,52,52,52,52,52,52,52,52,52,52],[67,67,67,66,66,66,66,66,66,66,66,49,49,49,49,49,49,49,49,49,49,49,49,32,32,32,32,32,32,32],[69,69,69,69,52,52,52,52,52,52,52,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36]],x.QUANT_LUT_STEP4=[[0,1,2,17],[0,1,2,3,4,5,6,17],[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,17],[0,1,3,5,6,7,8,9,10,11,12,13,14,15,16,17],[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,17],[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]],x.QUANT_TAB=[{levels:3,group:1,bits:5},{levels:5,group:1,bits:7},{levels:7,group:0,bits:3},{levels:9,group:1,bits:10},{levels:15,group:0,bits:4},{levels:31,group:0,bits:5},{levels:63,group:0,bits:6},{levels:127,group:0,bits:7},{levels:255,group:0,bits:8},{levels:511,group:0,bits:9},{levels:1023,group:0,bits:10},{levels:2047,group:0,bits:11},{levels:4095,group:0,bits:12},{levels:8191,group:0,bits:13},{levels:16383,group:0,bits:14},{levels:32767,group:0,bits:15},{levels:65535,group:0,bits:16}];var Y=function(A){function t(t){var i;return(i=A.call(this,t)||this).onDecodeCallback=t.onAudioDecode,i.module=t.wasmModule,i.bufferSize=t.audioBufferSize||131072,i.bufferMode=t.streaming?L.MODE.EVICT:L.MODE.EXPAND,i.sampleRate=0,i}u(t,A);var i=t.prototype;return i.initializeWasmDecoder=function(){this.module.instance?(this.instance=this.module.instance,this.functions=this.module.instance.exports,this.decoder=this.functions._mp2_decoder_create(this.bufferSize,this.bufferMode)):console.warn("JSMpeg: WASM module not compiled yet")},i.destroy=function(){this.decoder&&this.functions._mp2_decoder_destroy(this.decoder)},i.bufferGetIndex=function(){if(this.decoder)return this.functions._mp2_decoder_get_index(this.decoder)},i.bufferSetIndex=function(A){this.decoder&&this.functions._mp2_decoder_set_index(this.decoder,A)},i.bufferWrite=function(A){this.decoder||this.initializeWasmDecoder();for(var t=0,i=0;i>4<<4;this.gl.viewport(0,0,i,this.height)},t.createTexture=function(A,t){var i=this.gl,e=i.createTexture();return i.bindTexture(i.TEXTURE_2D,e),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.uniform1i(i.getUniformLocation(this.program,t),A),e},t.createProgram=function(A,t){var i=this.gl,e=i.createProgram();return i.attachShader(e,this.compileShader(i.VERTEX_SHADER,A)),i.attachShader(e,this.compileShader(i.FRAGMENT_SHADER,t)),i.linkProgram(e),i.useProgram(e),e},t.compileShader=function(A,t){var i=this.gl,e=i.createShader(A);if(i.shaderSource(e,t),i.compileShader(e),!i.getShaderParameter(e,i.COMPILE_STATUS))throw new Error(i.getShaderInfoLog(e));return e},t.allowsClampedTextureData=function(){var A=this.gl,t=A.createTexture();return A.bindTexture(A.TEXTURE_2D,t),A.texImage2D(A.TEXTURE_2D,0,A.LUMINANCE,1,1,0,A.LUMINANCE,A.UNSIGNED_BYTE,new Uint8ClampedArray([0])),0===A.getError()},t.renderProgress=function(A){var t=this.gl;t.useProgram(this.loadingProgram);var i=t.getUniformLocation(this.loadingProgram,"progress");t.uniform1f(i,A),t.drawArrays(t.TRIANGLE_STRIP,0,4)},t.render=function(A,t,i,e){if(this.enabled){var s=this.gl,o=this.width+15>>4<<4,g=this.height,I=o>>1,a=g>>1;e&&this.shouldCreateUnclampedViews&&(A=new Uint8Array(A.buffer),t=new Uint8Array(t.buffer),i=new Uint8Array(i.buffer)),s.useProgram(this.program),this.updateTexture(s.TEXTURE0,this.textureY,o,g,A),this.updateTexture(s.TEXTURE1,this.textureCb,I,a,t),this.updateTexture(s.TEXTURE2,this.textureCr,I,a,i),s.drawArrays(s.TRIANGLE_STRIP,0,4)}},t.updateTexture=function(A,t,i,e,s){var o=this.gl;o.activeTexture(A),o.bindTexture(o.TEXTURE_2D,t),this.hasTextureData[A]?o.texSubImage2D(o.TEXTURE_2D,0,0,0,i,e,o.LUMINANCE,o.UNSIGNED_BYTE,s):(this.hasTextureData[A]=!0,o.texImage2D(o.TEXTURE_2D,0,o.LUMINANCE,i,e,0,o.LUMINANCE,o.UNSIGNED_BYTE,s))},t.deleteTexture=function(A,t){var i=this.gl;i.activeTexture(A),i.bindTexture(i.TEXTURE_2D,null),i.deleteTexture(t)},A.IsSupported=function(){try{if(!window.WebGLRenderingContext)return!1;var A=document.createElement("canvas");return!(!A.getContext("webgl")&&!A.getContext("experimental-webgl"))}catch(A){return!1}},A}();H.SHADER={FRAGMENT_YCRCB_TO_RGBA:["precision mediump float;","uniform sampler2D textureY;","uniform sampler2D textureCb;","uniform sampler2D textureCr;","varying vec2 texCoord;","mat4 rec601 = mat4(","1.16438, 0.00000, 1.59603, -0.87079,","1.16438, -0.39176, -0.81297, 0.52959,","1.16438, 2.01723, 0.00000, -1.08139,","0, 0, 0, 1",");","void main() {","float y = texture2D(textureY, texCoord).r;","float cb = texture2D(textureCb, texCoord).r;","float cr = texture2D(textureCr, texCoord).r;","gl_FragColor = vec4(y, cr, cb, 1.0) * rec601;","}"].join("\n"),FRAGMENT_LOADING:["precision mediump float;","uniform float progress;","varying vec2 texCoord;","void main() {","float c = ceil(progress-(1.0-texCoord.y));","gl_FragColor = vec4(c,c,c,1);","}"].join("\n"),VERTEX_IDENTITY:["attribute vec2 vertex;","varying vec2 texCoord;","void main() {","texCoord = vertex;","gl_Position = vec4((vertex * 2.0 - 1.0) * vec2(1, -1), 0.0, 1.0);","}"].join("\n")};var P=function(){function A(A){A.canvas?(this.canvas=A.canvas,this.ownsCanvasElement=!1):(this.canvas=document.createElement("canvas"),this.ownsCanvasElement=!0),this.width=this.canvas.width,this.height=this.canvas.height,this.enabled=!0,this.context=this.canvas.getContext("2d")}var t=A.prototype;return t.destroy=function(){this.ownsCanvasElement&&this.canvas.remove()},t.resize=function(A,t){this.width=0|A,this.height=0|t,this.canvas.width=this.width,this.canvas.height=this.height,this.imageData=this.context.getImageData(0,0,this.width,this.height),G(this.imageData.data,255)},t.renderProgress=function(A){var t=this.canvas.width,i=this.canvas.height,e=this.context;e.fillStyle="#222",e.fillRect(0,0,t,i),e.fillStyle="#fff",e.fillRect(0,i-i*A,t,i*A)},t.render=function(A,t,i){this.YCbCrToRGBA(A,t,i,this.imageData.data),this.context.putImageData(this.imageData,0,0)},t.YCbCrToRGBA=function(A,t,i,e){if(this.enabled)for(var s,o,g,I,a,B=this.width+15>>4<<4,r=B>>1,C=0,n=B,E=B+(B-this.width),Q=0,h=r-(this.width>>1),d=0,c=4*this.width,l=4*this.width,u=this.width>>1,w=this.height>>1,p=0;p>8)-179,I=(88*o>>8)-44+(183*s>>8)-91,a=o+(198*o>>8)-227;var m=A[C++],f=A[C++];e[d]=m+g,e[d+1]=m-I,e[d+2]=m+a,e[d+4]=f+g,e[d+5]=f-I,e[d+6]=f+a,d+=8;var y=A[n++],R=A[n++];e[c]=y+g,e[c+1]=y-I,e[c+2]=y+a,e[c+4]=R+g,e[c+5]=R-I,e[c+6]=R+a,c+=8}C+=E,n+=E,d+=l,c+=l,Q+=h}},A}(),O=function(){function A(){this.context=A.CachedContext=A.CachedContext||new(window.AudioContext||window.webkitAudioContext),this.gain=this.context.createGain(),this.destination=this.gain,this.gain.connect(this.context.destination),this.context._connections=(this.context._connections||0)+1,this.startTime=0,this.buffer=null,this.wallclockStartTime=0,this.volume=1,this.enabled=!0,this.unlocked=!A.NeedsUnlocking(),Object.defineProperty(this,"enqueuedTime",{get:this.getEnqueuedTime})}var t=A.prototype;return t.destroy=function(){this.gain.disconnect(),this.context._connections--,0===this.context._connections&&(this.context.close(),A.CachedContext=null)},t.play=function(A,t,i){if(this.enabled){if(!this.unlocked){var e=S();return this.wallclockStartTimethis.memory.buffer.byteLength){var i=this.brk-this.memory.buffer.byteLength,e=Math.ceil(i/this.pageSize);this.memory.grow(e),this.createHeapViews()}return t},t.c_abort=function(A){console.warn("JSMPeg: WASM abort",arguments)},t.c_assertFail=function(A){console.warn("JSMPeg: WASM ___assert_fail",arguments)},t.readDylinkSection=function(A){var t=new Uint8Array(A),i=0,e=function(){for(var A=0,e=1;;){var s=t[i++];if(A+=(127&s)*e,e*=128,!(128&s))return A}},s=function(A){for(var e=0;ethis.maxAudioLag&&(this.audioOut.resetEnqueuedTime(),this.audioOut.enabled=!1),A=this.audio.decode()}while(A);this.audioOut.enabled=!0}},t.updateForStaticFile=function(){var A=!1,t=0;if(this.audio&&this.audio.canPlay){for(;!A&&this.audio.decodedTime-this.audio.currentTime<.25;)A=!this.audio.decode();this.video&&this.video.currentTime0&&(e>2*s&&(this.startTime+=e),A=!this.video.decode()),t=this.demuxer.currentTime-i}this.source.resume(t),A&&this.source.completed?this.loop?this.seek(0):(this.stop(),this.options.onEnded&&this.options.onEnded(this)):A&&this.options.onStalled&&this.options.onStalled(this)},A}(),W={Player:X,VideoElement:b,BitBuffer:L,Source:{Ajax:M,AjaxProgressive:q,WebSocket:N,Fetch:function(){function A(A,t){this.url=A,this.destination=null,this.request=null,this.streaming=!0,this.completed=!1,this.established=!1,this.progress=0,this.aborted=!1,this.onEstablishedCallback=t.onSourceEstablished,this.onCompletedCallback=t.onSourceCompleted,t.hookOnEstablished&&(this.hookOnEstablished=t.hookOnEstablished)}var t=A.prototype;return t.connect=function(A){this.destination=A},t.start=function(){var A=this,t={method:"GET",headers:new Headers,cache:"default"};self.fetch(this.url,t).then((function(t){if(t.ok&&t.status>=200&&t.status<=299)return A.progress=1,A.established=!0,A.pump(t.body.getReader())})).catch((function(A){throw A}))},t.pump=function(A){var t=this;return A.read().then((function(i){if(!i.done)return t.aborted?A.cancel():(t.destination&&t.destination.write(i.value.buffer),t.pump(A));t.completed=!0})).catch((function(A){throw A}))},t.resume=function(){},t.abort=function(){this.aborted=!0},A}()},Demuxer:{TS:U},Decoder:{Base:J,MPEG1Video:T,MPEG1VideoWASM:v,MP2Audio:x,MP2AudioWASM:Y},Renderer:{WebGL:H,Canvas2D:P},AudioOutput:{WebAudio:O},WASMModule:K,Now:S,CreateVideoElements:function(){for(var A=document.querySelectorAll(".jsmpeg"),t=0;tthis.q=A))}resume(){this.q?.(),this.Z=this.q=void 0}} -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const V=A=>!e(A)&&"function"==typeof A.then,z=1073741823;const $=A(class extends t{constructor(){super(...arguments),this._$Cwt=z,this._$Cbt=[],this._$CK=new Z(this),this._$CX=new j}render(...A){return A.find((A=>!V(A)))??i}update(A,t){const e=this._$Cbt;let s=e.length;this._$Cbt=t;const o=this._$CK,g=this._$CX;this.isConnected||this.disconnected();for(let A=0;Athis._$Cwt);A++){const i=t[A];if(!V(i))return this._$Cwt=A,i;A{for(;g.get();)await g.get();const t=o.deref();if(void 0!==t){const e=t._$Cbt.indexOf(i);e>-1&&e{let i=!1;const e=new W.VideoElement(this,A,{canvas:this._jsmpegCanvasElement},{pauseWhenHidden:!1,autoplay:!1,protocols:[],audio:!1,videoBufferSize:4194304,preserveDrawingBuffer:!0,...this.cameraConfig?.jsmpeg?.options,reconnectInterval:0,onVideoDecode:()=>{!i&&this._jsmpegCanvasElement&&(i=!0,t(e))},onPlay:()=>g(this),onPause:()=>I(this)})})),this._jsmpegCanvasElement&&a(this,this._jsmpegCanvasElement,{player:this,capabilities:{supportsPause:!0},technology:["jsmpeg"]})}_resetPlayer(){if(this._refreshPlayerTimer.stop(),this._jsmpegVideoPlayer){try{this._jsmpegVideoPlayer.destroy()}catch(A){}this._jsmpegVideoPlayer=void 0}this._jsmpegCanvasElement&&(this._jsmpegCanvasElement.remove(),this._jsmpegCanvasElement=void 0)}connectedCallback(){super.connectedCallback(),this.isConnected&&this.requestUpdate()}disconnectedCallback(){this.isConnected||this._resetPlayer(),super.disconnectedCallback()}async _refreshPlayer(){if(!this.hass)return;this._resetPlayer(),this._jsmpegCanvasElement=document.createElement("canvas"),this._jsmpegCanvasElement.className="media";const A=this.cameraEndpoints?.jsmpeg;if(!A)return B(this,r("error.live_camera_no_endpoint"),{context:this.cameraConfig});const t=await c(this,this.hass,A,86400);t&&(await this._createJSMPEGPlayer(t),this._refreshPlayerTimer.start(82800,(()=>this.requestUpdate())))}render(){return C`${$((async()=>(await this._refreshPlayer(),this._jsmpegVideoPlayer&&this._jsmpegCanvasElement?C`${this._jsmpegCanvasElement}`:B(this,r("error.jsmpeg_no_player"))))(),n({cardWideConfig:this.cardWideConfig}))}`}static get styles(){return E(":host {\n width: 100%;\n height: 100%;\n display: flex;\n}\n\ncanvas {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n object-view-box: inset(var(--frigate-card-media-layout-view-box-top, 0%) var(--frigate-card-media-layout-view-box-right, 0%) var(--frigate-card-media-layout-view-box-bottom, 0%) var(--frigate-card-media-layout-view-box-left, 0%));\n}")}};Q([h({attribute:!1})],AA.prototype,"cameraConfig",void 0),Q([h({attribute:!1})],AA.prototype,"cameraEndpoints",void 0),Q([h({attribute:!1})],AA.prototype,"cardWideConfig",void 0),AA=Q([d("frigate-card-live-jsmpeg")],AA);export{AA as FrigateCardLiveJSMPEG}; diff --git a/config/www/community/frigate-hass-card/jsmpeg-fd152ef0.js.gz b/config/www/community/frigate-hass-card/jsmpeg-fd152ef0.js.gz deleted file mode 100644 index 04e53e2f98970291cac630466e4121c03fcaf4ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42824 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 diff --git a/config/www/community/frigate-hass-card/lang-ca-449daa4a.js b/config/www/community/frigate-hass-card/lang-ca-449daa4a.js deleted file mode 100644 index f31ba121..00000000 --- a/config/www/community/frigate-hass-card/lang-ca-449daa4a.js +++ /dev/null @@ -1 +0,0 @@ -var e={frigate_card:"Tarjeta Frigate",frigate_card_description:"Una targeta Lovelace per a utilitzar amb Frigate",live:"En directe",no_media:"No hi ha suport per mostrar",recordings:"Enregistraments",version:"Versió"},a={cameras:{camera_entity:"Entitat de càmera",capabilities:{capabilities:{clips:"","favorite-events":"","favorite-recordings":"",live:"",menu:"",ptz:"",recordings:"",seek:"",snapshots:"",substream:""},disable:"",disable_except:"",editor_label:""},cast:{dashboard:{dashboard_path:"Ruta del tauler de control",view_path:"Ruta de la visualització"},editor_label:"Opcions d'emissió",method:"Mètode d'emissió",methods:{dashboard:"Tauler de control",standard:"Estàndard"}},dependencies:{all_cameras:"Mostra els esdeveniments de totes les càmeres amb aquesta càmera",cameras:"Mostra esdeveniments per a càmeres específiques amb aquesta càmera",editor_label:"Opcions de dependències"},dimensions:{aspect_ratio:"Relació d'aspecte estàtica",editor_label:"Dimensions de la càmera",layout:{editor_label:"Maquetació de la càmera",fit:"Ajust de la maquetació",fits:{contain:"Els mitjans multimèdia estan continguts/en bústia",cover:"El suport s'expandeix proporcionalment per cobrir la targeta",fill:"El suport s'estira per omplir la targeta"},pan:{x:"",y:""},position:{editor_label:"",x:"Percentatge d'emplaçament horitzontal",y:"Percentatge d'emplaçament vertical"},view_box:{bottom:"",editor_label:"",left:"",right:"",top:""},zoom:""}},engines:{editor_label:"Opcions del motor de càmera"},frigate:{camera_name:"Nom de la càmera de Frigate (detecció automàtica de l'entitat)",client_id:"Identificador de client de Frigate (per a > 1 servidor de Frigate)",editor_label:"Opcions de Frigate",labels:"Etiquetes de Frigate/filtres d'objectes",url:"URL del servidor de Frigate",zones:"Zones de Frigate"},go2rtc:{editor_label:"Opcions de go2rtc",modes:{editor_label:"Modes de go2rtc",mjpeg:"",mp4:"",mse:"",webrtc:""},stream:"nom del flux de go2rtc"},icon:"Icona d'aquesta càmera (detecció automàtica des de l'entitat)",id:"Identificador únic per a aquesta càmera en aquesta targeta",image:{editor_label:"Opcions d'imatge",refresh_seconds:"Nombre de segons després dels quals actualitzar la imatge en directe (0=mai)",url:"URL de la imatge que cal utilitzar en lloc de la instantània de l'entitat de la càmera"},live_provider:"Proveïdor de visualització en directe per a aquesta càmera",live_provider_options:{editor_label:"Opcions de proveïdor en directe"},live_providers:{auto:"Automàtic",go2rtc:"",ha:"Transmissió de vídeo de Home Assistant (és a dir, HLS, LL-HLS, WebRTC mitjançant HA)",image:"Imatges de Home Assistant",jsmpeg:"","webrtc-card":"Targeta WebRTC (és a dir, la targeta WebRTC d'AlexxIT)"},motioneye:{editor_label:"Opcions de MotionEye",images:{directory_pattern:"Patró del directori d'imatges",file_pattern:"Patró de fitxer d'imatges"},movies:{directory_pattern:"Patró del directori de pel·lícules",file_pattern:"Patró de fitxer de pel·lícules"},url:"URL de la interfície d'usuari de MotionEye"},proxy:{dynamic:"",editor_label:"",media:{auto:"",editor_label:"",false:"",true:""},ssl_ciphers:{auto:"",default:"",editor_label:"",insecure:"",intermediate:"",modern:""},ssl_verification:{auto:"",editor_label:"",false:"",true:""}},reolink:{editor_label:"",media_resolution:{editor_label:"",high:"",low:""},url:""},title:"Títol d'aquesta càmera (detecció automàtica de l'entitat)",triggers:{editor_label:"Opcions d'activació",entities:"Activador d'altres entitats",events:{clips:"Esdeveniments amb nous clips",editor_label:"Activar esdeveniments",events:"Tots els esdeveniments",snapshots:"Esdeveniments amb noves instantànies"},motion:"Activa la detecció automàtica del sensor de moviment",occupancy:"Activa la detecció automàtica del sensor d'ocupació"},webrtc_card:{editor_label:"Opcions de la targeta WebRTC",entity:"Entitat de càmera de targeta WebRTC (no una càmera de Frigate)",url:"URL de la càmera de la targeta WebRTC"}},common:{controls:{builtin:"Controls de vídeo integrats",filter:{editor_label:"Filtre multimèdia",mode:"Mode de filtre",modes:{left:"Filtre multimèdia en un calaix a l'esquerra",none:"Sense filtre multimèdia",right:"Filtre multimèdia en un calaix a la dreta"}},next_previous:{editor_label:"Següent i anterior",size:"Mida del control següent i anterior en píxels",style:"Estil de control següent i anterior",styles:{chevrons:"Xebrons",icons:"Icones",none:"Cap",thumbnails:"Miniatures"}},thumbnails:{editor_label:"Miniatures",events_media_type:"Si voleu mostrar miniatures d'esdeveniments de clips o instantànies",events_media_types:{clips:"Miniatures de clips",snapshots:"Miniatures d'instantànies"},media_type:"Si voleu mostrar miniatures d'esdeveniments o enregistraments",media_types:{events:"Esdeveniments",recordings:"Enregistraments"},mode:"Mode de miniatures",modes:{above:"Miniatures a dalt",below:"Miniatures a baix",left:"Miniatures en un calaix a l'esquerra",none:"Sense miniatures",right:"Miniatures en un calaix a la dreta"},show_details:"Mostra els detalls amb miniatures",show_download_control:"Mostra el control de descàrrega a les miniatures",show_favorite_control:"Mostra el control preferit a les miniatures",show_timeline_control:"Mostra el control de la línia de temps a les miniatures",size:"Mida de les miniatures en píxels"},timeline:{editor_label:"Mini cronologia",mode:"Mode",modes:{above:"A dalt",below:"Baix",none:"Cap"},pan_mode:"Mode d'escombratge predeterminat",pan_modes:{pan:"Escombratge",seek:"Cerca d'escombratge en tots els mitjans","seek-in-camera":"Cerca d'escombratge només a la càmera seleccionada","seek-in-media":"Cerca d'escombratge només dins de l'element multimèdia seleccionat"}}},display:{editor_label:"Visualització",grid_columns:"Nombre exacte de columnes de la graella",grid_max_columns:"Nombre màxim de columnes de la graella",grid_selected_width_factor:"Augmenta l'amplada del suport multimèdia seleccionat en aquest factor",mode:"Mode"},image:{entity:"",entity_parameters:"",mode:"Mode de visualització d'imatges",modes:{camera:"Instantània de l'entitat de la càmera de Home Assistant",entity:"",screensaver:"Logotip de Frigate incrustat",url:"Imatge arbitrària especificada per URL"},refresh_seconds:"Nombre de segons després dels quals cal actualitzar (0=mai)",url:"URL d'imatge estàtica per a la visualització d'imatges"},media_action_conditions:{all:"Totes les oportunitats",hidden:"A l'amagat del navegador/pestanya",microphone_mute:"Si el micròfon està en silenci",microphone_unmute:"Si el micròfon no està en silenci",never:"Mai",selected:"A la selecció",unselected:"En desselecció",visible:"En la visualització del navegador/pestanya"},timeline:{clustering_threshold:"El recompte d'esdeveniments en què s'agrupen (0=sense agrupació)",events_media_type:"Els esdeveniments multimèdia que mostra la línia de temps",events_media_types:{all:"Tots els tipus de mitjans",clips:"Clips",snapshots:"Imatges instantànies"},show_recordings:"Mostra les gravacions",style:"Estil de cronologia",styles:{ribbon:"Esdeveniments en una sola cinta",stack:"Esdeveniments apilats i agrupats"},window_seconds:"La durada predeterminada de la visualització de la línia de temps en segons"}},dimensions:{aspect_ratio:"Relació d'aspecte predeterminada (p. ex., '16:9')",aspect_ratio_mode:"Mode de relació d'aspecte",aspect_ratio_modes:{dynamic:"La relació d'aspecte s'ajusta al suport multimèdia",static:"Relació d'aspecte estàtica",unconstrained:"Relació d'aspecte sense restriccions"},height:""},live:{auto_mute:"Silencia automàticament les càmeres en directe",auto_pause:"Posa en pausa automàticament les càmeres en directe",auto_play:"Reprodueix automàticament les càmeres en directe",auto_unmute:"Activa automàticament el so de les càmeres en directe",controls:{editor_label:"Controls del directe",ptz:{editor_label:"PTZ",hide_home:"Amaga el control de casa",hide_pan_tilt:"Amaga el control d'escombratge i inclinació",hide_zoom:"Amaga el control de zoom",mode:"Mode",modes:{off:"Desactivat",on:"Activat"},orientation:"Orientació",orientations:{horizontal:"Horitzontal",vertical:"Vertical"},position:"Posició",positions:{"bottom-left":"Inferior esquerra","bottom-right":"Inferior dreta","top-left":"Superior left","top-right":"Superior dreta"}}},draggable:"La vista de càmeres en directe es pot arrossegar/lliscar",lazy_load:"Les càmeres en directe es carreguen amb mandra",lazy_unload:"Les càmeres en directe es descarreguen amb mandra",microphone:{always_connected:"Mantingueu sempre el micròfon connectat",disconnect_seconds:"Segons després dels quals desconnectar el micròfon (0=mai)",editor_label:"Micròfon",enabled:"El micròfon està activat",mute_after_microphone_mute_seconds:"Segons després de silenciar el micròfon per silenciar l'àudio entrant"},preload:"Carregueu prèviament la visualització en directe en segon pla",show_image_during_load:"Mostra la imatge fixa mentre es carrega la reproducció en directe",transition_effect:"Efecte de transició de càmera en directe",zoomable:"Les càmeres en directe es poden ampliar/escombrar"},media_viewer:{auto_mute:"Silencia automàticament els continguts multimèdia",auto_pause:"Atura automàticament el contingut multimèdia",auto_play:"Reprodueix automàticament els continguts multimèdia",auto_unmute:"Activa automàticament el so del contingut multimèdia",controls:{editor_label:"Controls del visualitzador de contingut multimèdia"},draggable:"El visualitzador de mitjans es pot arrossegar/lliscar",lazy_load:"El contingut multimèdia del visualitzador multimèdia es carreguen amb mandra al carrusel",snapshot_click_plays_clip:"Si feu clic a una instantània, es reprodueix un clip relacionat",transition_effect:"Efecte de transició del visualitzador multimèdia",transition_effects:{none:"Sense transició",slide:"Transició de diapositives"},zoomable:"El visualitzador de mitjans es pot ampliar/escombrar"},menu:{alignment:"Alineació del menú",alignments:{bottom:"Alineat a la part inferior",left:"Alineat a l'esquerra",right:"Alineat a la dreta",top:"Alineat a la part superior"},button_size:"Mida del botó del menú en píxels",buttons:{alignment:"Alineació de botons",alignments:{matching:"Coincideix amb l'alineació del menú",opposing:"Oposat a l'alineació del menú"},camera_ui:"Interfície d'usuari de la càmera",cameras:"Càmeres",clips:"Clips",display_mode:"Mode de visualització",download:"Descarregar",enabled:"Botó habilitat",expand:"Expandir",frigate:"Menú de Frigate / Vista per defecte",fullscreen:"Pantalla completa",icon:"Icona",image:"Imatge",live:"En directe",media_player:"Envia al reproductor multimèdia",microphone:"Micròfon",mute:"Silenciar / Activar el so",permanent:"",play:"Reproduir / Pausa",priority:"Prioritat",ptz_controls:"",ptz_home:"",recordings:"Enregistraments",screenshot:"Captura de pantalla",snapshots:"Imatges instantànies",substreams:"Subfluxos",timeline:"Cronologia",type:"Tipus de botó",types:{momentary:"Momentani",toggle:"Commuta"}},position:"Posició del menú",positions:{bottom:"Situat a la part inferior",left:"Situat a l'esquerra",right:"Situat a la dreta",top:"Situat a la part superior"},style:"Estil de menú",styles:{hidden:"Menú ocult",hover:"Menú passant el cursor","hover-card":"Menú passant el cursor (a tota la targeta)",none:"Sense menú",outside:"Menú exterior",overlay:"Menú superposat"}},overrides:{info:"Aquesta configuració de targeta ha especificat manualment substitucions configurades que poden anul·lar els valors que es mostren a l'editor visual; consulteu l'editor de codi per veure/modificar aquestes substitucions."},performance:{features:{animated_progress_indicator:"Indicador animat del progrés",editor_label:"Opcions de característiques",max_simultaneous_engine_requests:"",media_chunk_size:"Mida del fragment multimèdia"},style:{border_radius:"Corbes",box_shadow:"Ombres",editor_label:"Opcions d'estil"},warning:"Aquesta targeta està en mode de perfil baix, de manera que els valors predeterminats han canviat per optimitzar el rendiment"},profiles:{casting:"",editor_label:"","low-performance":"",scrubbing:""},status_bar:{height:"",items:{enabled:"",engine:"",live_provider:"",priority:"",resolution:"",technology:"",title:""},popup_seconds:"",position:"",positions:{bottom:"",top:""},style:"",styles:{hover:"","hover-card":"",none:"",outside:"",overlay:"",popup:""}},view:{camera_select:"Visualitza les càmeres seleccionades recentment",dark_mode:"Mode fosc",dark_modes:{auto:"Automàtic",off:"Desactivat",on:"Activat"},default:"Vista per defecte",default_cycle_camera:"Passeu per les càmeres quan s'actualitzi la vista predeterminada",default_reset:{after_interaction:"Restableix la vista predeterminada després de la interacció de l'usuari",editor_label:"",entities:"",every_seconds:"Actualitza la vista predeterminada cada X segons (0=mai)",interaction_mode:"",interaction_modes:{active:"",all:"",inactive:""}},interaction_seconds:"Segons després de l'acció de l'usuari per continuar interactuant (0=mai)",keyboard_shortcuts:{editor_label:"",enabled:"",ptz_down:"",ptz_home:"",ptz_left:"",ptz_right:"",ptz_up:"",ptz_zoom_in:"",ptz_zoom_out:""},triggers:{actions:{editor_label:"Activar accions",interaction_mode:"Com gestionar les accions quan la targeta té interacció humana",interaction_modes:{active:"Activa només accions quan la targeta té interacció humana",all:"Activa accions independentment de la interacció humana",inactive:"Només activa accions quan la targeta no té interacció humana"},trigger:"Activar l'acció",triggers:{default:"Canvia o actualitza la vista predeterminada",live:"Canvia o actualitza la visualització en directe",media:"Canvieu a la visualització de mitjans rellevants per als nous mitjans",none:"Sense acció"},untrigger:"Desactiva l'acció",untriggers:{default:"Canvia a la vista/càmera predeterminada",none:"Sense acció"}},editor_label:"Comportament quan s'activa una càmera",filter_selected_camera:"Activa només a la càmera seleccionada",show_trigger_status:"Mostra la vora intermitent quan s'activa",untrigger_seconds:"Segons després del canvi d'estat inactiu a desactivat"},views:{clip:"Clip més recent",clips:"Galeria de clips",current:"Vista actual",image:"Imatge estàtica",live:"Visualització en directe",recording:"Enregistrament més recent",recordings:"Galeria d'enregistraments",snapshot:"Instantània més recent",snapshots:"Galeria d'instantànies",timeline:"Vista cronològica"}}},i={grid:"Mostra el visualitzador multimèdia per a cada càmera d'una quadrícula",single:"Mostra un visualitzador multimèdia únic"},t={add_new_camera:"Afegeix una càmera nova",button:"Botó",camera:"Càmera",cameras:"Càmeres",cameras_secondary:"Quines càmeres renderitzar en aquesta targeta",delete:"Suprimeix",dimensions:"Dimensions",dimensions_secondary:"Opcions de dimensions i forma",image:"Imatge",image_secondary:"Opcions de visualització d'imatges estàtiques",live:"En directe",live_secondary:"Opcions de visualització de la càmera en directe",media_gallery:"Galeria multimèdia",media_gallery_secondary:"Opcions de la galeria multimèdia",media_viewer:"Visor multimèdia",media_viewer_secondary:"Visor de suports estàtics (clips, instantànies o enregistraments)",menu:"Menú",menu_secondary:"Opcions d'aspecte del menú",move_down:"Moure cap avall",move_up:"Moure cap amunt",overrides:"Les substitucions estan actives",overrides_secondary:"S'han detectat substitucions de configuració dinàmica",performance:"Rendiment",performance_secondary:"Opcions de rendiment de la targeta",profiles:"",profiles_secondary:"",status_bar:"",status_bar_secondary:"",timeline:"Cronologia",timeline_secondary:"Opcions de la cronologia d'esdeveniments",upgrade:"Upgrade",upgrade_available:"Hi ha disponible una actualització automàtica de la configuració de la targeta",view:"Vista",view_secondary:"Què ha de mostrar la targeta i com mostrar-la"},r={ptz:{down:"Avall",home:"Casa",left:"Esquerra",right:"Dreta",up:"Amunt",zoom_in:"Ampliar",zoom_out:"Reduir"}},s={awaiting_live:"S'està esperant que es carregui la transmissió en directe ...",awaiting_media:"",camera_initialization:"",camera_initialization_reolink:"",could_not_render_elements:"No s'han pogut representar els elements de la imatge",could_not_resolve:"No s'ha pogut resoldre l'URL multimèdia",diagnostics:"Diagnòstic de targetes. Reviseu la informació confidencial abans de compartir-la",download_no_media:"No hi ha contingut multimèdia per descarregar",download_sign_failed:"No s'ha pogut signar l'URL multimèdia per baixar-la",duplicate_camera_id:"Duplica l'identificador de la càmera Frigate per a la següent càmera, utilitza el paràmetre 'id' per identificar les càmeres de manera única",empty_response:"S'ha rebut una resposta buida de Home Assistant per a la sol·licitud",failed_response:"No s'ha pogut rebre la resposta de Home Assistant per a la sol·licitud",failed_retain:"No s'ha pogut retenir l'esdeveniment",failed_sign:"No s'ha pogut signar l'URL de Home Assistant",image_load_error:"No s'ha pogut carregar la imatge",invalid_configuration:"Configuració no vàlida",invalid_configuration_no_hint:"No hi ha cap indicació d'ubicació disponible (tipus dolent o faltant?)",invalid_configuration_override:"",invalid_elements_config:"La configuració dels elements de la imatge no és vàlida",invalid_response:"S'ha rebut una resposta no vàlida de Home Assistant per a la sol·licitud",jsmpeg_no_player:"No s'ha pogut iniciar el reproductor JSMPEG",live_camera_no_endpoint:"No s'ha pogut obtenir el punt final de la càmera per a aquest proveïdor en directe (configuració incompleta?)",live_camera_not_found:"No s'ha trobat la 'camera_entity' (entitat de la càmera) configurada",live_camera_unavailable:"Càmera no disponible",no_camera_engine:"No s'ha pogut determinar el motor adequat per a la càmera",no_camera_entity:"No s'ha pogut trobar l'entitat de la càmera",no_camera_entity_for_triggers:"Es requereix una entitat de càmera per detectar automàticament els activadors",no_camera_id:"No s'ha pogut determinar l'identificador de la càmera per a la següent càmera, és possible que hagis d'establir el paràmetre 'id' manualment",no_camera_name:"No s'ha pogut determinar el nom de la càmera Frigate per a la càmera (o una de les seves dependències), especifiqueu 'camera_entity' o 'camera_name'",no_dashboard_or_view:"Tant els paràmetres 'dashboard_path' com 'view_path' són necessaris per al mètode d'emissió 'dashboard'",no_live_camera:"El paràmetre 'camera_entity' s'ha de configurar i validar per a aquest proveïdor en directe",no_supported_camera:"",no_supported_cameras:"",reconnecting:"Reconnectant",too_many_automations:"Hi ha massa trucades d'automatització imbricades, comproveu la vostra configuració per veure si hi ha bucles",troubleshooting:"Comproveu la resolució de problemes",unknown:"Error desconegut",upgrade_available:"Hi ha disponible una actualització automàtica de la configuració de la targeta; visiteu l'editor de targetes visuals",webrtc_card_reported_error:"La targeta WebRTC ha informat d'un error",webrtc_card_waiting:"S'està esperant que es carregui la targeta WebRTC ..."},n={camera:"Càmera",duration:"Durada",in_progress:"En procés",score:"Puntuació",seek:"Buscar",start:"Començar",tag:"Etiqueta",what:"Què",where:"On"},o={assign:"",assigning:"",modifiers:{alt:"",ctrl:"",meta:"",shift:""},unassign:""},l={all:"Tots",camera:"Càmera",favorite:"Preferit",media_type:"Tipus de suport multimèdia",media_types:{clips:"Clips",recordings:"Enregistraments",snapshots:"Imatges instantànies"},not_favorite:"No preferit",select_camera:"Selecciona la càmera...",select_favorite:"Selecciona el preferit...",select_media_type:"Selecciona el tipus de suport multimèdia...",select_tag:"Selecciona l'etiqueta...",select_what:"Selecciona el què...",select_when:"Selecciona quan...",select_where:"Selecciona on...",tag:"Etiqueta",what:"Què",when:"Quan",whens:{custom:"Personalitzat",past_month:"El mes passat",past_week:"La setmana passada",today:"Avui",yesterday:"Ahir"},where:"On"},d={unseekable:"Busqueu temps no trobat als mitjans multimèdia"},c={camera:"Càmera",duration:"Durada",events:"Esdeveniments",in_progress:"En procés",seek:"Buscar",start:"Començar"},m={download:"Descarregar mitjans multimèdia",no_thumbnail:"No hi ha cap miniatura disponible",retain_indefinitely:"Els mitjans multimèdia es conservaran indefinidament",timeline:"Veure els mitjans multimèdia a la línia de temps"},u={select_date:"Escolliu la data"},p={common:e,config:a,display_modes:i,editor:t,elements:r,error:s,event:n,key_assigner:o,media_filter:l,media_viewer:d,recording:c,thumbnail:m,timeline:u};export{e as common,a as config,p as default,i as display_modes,t as editor,r as elements,s as error,n as event,o as key_assigner,l as media_filter,d as media_viewer,c as recording,m as thumbnail,u as timeline}; diff --git a/config/www/community/frigate-hass-card/lang-ca-449daa4a.js.gz b/config/www/community/frigate-hass-card/lang-ca-449daa4a.js.gz deleted file mode 100644 index 2ed7928c469c87cad9c37258316181824a87642a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6773 zcmV-*8j9r~iwFoFf?;O@|7>AyXDwr4Ei^PaWMN@6VJ>QO0KHsKkK8zRzvoj3x|9vb zb~XqCqz6vW)8pNlz`f(xp2=b_0!w05ajX(G6jj~rMt_&NW%e)#Fnb6v$SL*3@_vt` zME$99dk;C-Es5kK`S||7$2tg;$d~sUqqf4zybz|mNZ$+dgR~;~z5AMGadTeEwlJ!( zO4k?ZceO~YFk5tgtq-yig-jZ05|MOPRmy&(3B-Oqz^c?iUZk(;q*O*0_)_b9FH0pZ z(m(2Cr;?pW+OE;YGN8R~tq~^8sJAwys<$nM8@W|z*vs0sX?BpN}|jw-!yi)7E|L*0eb(_Vn_Qm8uo%ib46uT;3M4 zvG_umv)bg9Sj&og7oxQn_oZleYmMU^9`i=n-9`Ggqr)m?MF-bagkfMo*VgEY@Tla? zxLZ<*#X zKX#I4iV0x?Yy`;Bb`L?ejVzA8Y!sj@!#ja1LJ9BV_%m;WkC~k&Vm857JrsX<{X!~nr#m8zasO*9*n05e0UJdWcKJisTHmrC`f@8+ zgHB5*V!T&`^S!b^2%31`RaWhfKNC}9p`zwPC5rEC`$E>q`uJOG6>v==!(eRS_;w|4 z8#;EWZj;7n`UZ4~3dm>N7kX`!!D77F!9uEP0)wE_$)UgAH`TcRLq-!^+~0zE?wDg5 z-6|Gm6V#*`b$TOBL6Zx+bwu1$;`pB|c9I>q{v!}jF{m?LX`48#ie_ULTkG44`?a=K z?-!UjtK^26n}p_$AFOV8sUI~DATE&gR@GpDQ}k7l=%j{N$UOu}-b=)q{y^^T$7hc> zFR_y+rL?kO`Vbwh*O49fUr8rOpVCQIie7R>-1<$4&l~Dg`sulC1kY{w9~!x3&CvWK|7lsc-^ev)!8r%%U-QXS$)@UV zBM1+fDxmGYq5lP>!dU2>KC^auZu0{>{#L8P%eg6B;@$A6XFs(UTX_;SD{3ZwfY#g4 ziR|*0v|mlaA4In{kb-m=TZhKBF~`3!?Y7B}q;W{17S?MX=3xg6%kb7i^5pMd?uB|f zI^L)!EjAξ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 XHi6{U#ozrO1%DBe4pIOB>%KQU diff --git a/config/www/community/frigate-hass-card/lang-ca-99b9960f.js b/config/www/community/frigate-hass-card/lang-ca-99b9960f.js deleted file mode 100644 index b6b710be..00000000 --- a/config/www/community/frigate-hass-card/lang-ca-99b9960f.js +++ /dev/null @@ -1 +0,0 @@ -var e={frigate_card:"Tarjeta Frigate",frigate_card_description:"Una targeta Lovelace per a utilitzar amb Frigate",live:"En directe",no_media:"No hi ha suport per mostrar",recordings:"Enregistraments",version:"Versió"},a={cameras:{camera_entity:"Entitat de càmera",capabilities:{capabilities:{clips:"","favorite-events":"","favorite-recordings":"",live:"",menu:"",ptz:"",recordings:"",seek:"",snapshots:"",substream:""},disable:"",disable_except:"",editor_label:""},cast:{dashboard:{dashboard_path:"Ruta del tauler de control",view_path:"Ruta de la visualització"},editor_label:"Opcions d'emissió",method:"Mètode d'emissió",methods:{dashboard:"Tauler de control",standard:"Estàndard"}},dependencies:{all_cameras:"Mostra els esdeveniments de totes les càmeres amb aquesta càmera",cameras:"Mostra esdeveniments per a càmeres específiques amb aquesta càmera",editor_label:"Opcions de dependències"},dimensions:{aspect_ratio:"Relació d'aspecte estàtica",editor_label:"Dimensions de la càmera",layout:{editor_label:"Maquetació de la càmera",fit:"Ajust de la maquetació",fits:{contain:"Els mitjans multimèdia estan continguts/en bústia",cover:"El suport s'expandeix proporcionalment per cobrir la targeta",fill:"El suport s'estira per omplir la targeta"},pan:{x:"",y:""},position:{editor_label:"",x:"Percentatge d'emplaçament horitzontal",y:"Percentatge d'emplaçament vertical"},view_box:{bottom:"",editor_label:"",left:"",right:"",top:""},zoom:""}},engines:{editor_label:"Opcions del motor de càmera"},frigate:{camera_name:"Nom de la càmera de Frigate (detecció automàtica de l'entitat)",client_id:"Identificador de client de Frigate (per a > 1 servidor de Frigate)",editor_label:"Opcions de Frigate",labels:"Etiquetes de Frigate/filtres d'objectes",url:"URL del servidor de Frigate",zones:"Zones de Frigate"},go2rtc:{editor_label:"Opcions de go2rtc",modes:{editor_label:"Modes de go2rtc",mjpeg:"",mp4:"",mse:"",webrtc:""},stream:"nom del flux de go2rtc"},icon:"Icona d'aquesta càmera (detecció automàtica des de l'entitat)",id:"Identificador únic per a aquesta càmera en aquesta targeta",image:{editor_label:"Opcions d'imatge",refresh_seconds:"Nombre de segons després dels quals actualitzar la imatge en directe (0=mai)",url:"URL de la imatge que cal utilitzar en lloc de la instantània de l'entitat de la càmera"},live_provider:"Proveïdor de visualització en directe per a aquesta càmera",live_provider_options:{editor_label:"Opcions de proveïdor en directe"},live_providers:{auto:"Automàtic",go2rtc:"",ha:"Transmissió de vídeo de Home Assistant (és a dir, HLS, LL-HLS, WebRTC mitjançant HA)",image:"Imatges de Home Assistant",jsmpeg:"","webrtc-card":"Targeta WebRTC (és a dir, la targeta WebRTC d'AlexxIT)"},motioneye:{editor_label:"Opcions de MotionEye",images:{directory_pattern:"Patró del directori d'imatges",file_pattern:"Patró de fitxer d'imatges"},movies:{directory_pattern:"Patró del directori de pel·lícules",file_pattern:"Patró de fitxer de pel·lícules"},url:"URL de la interfície d'usuari de MotionEye"},proxy:{dynamic:"",editor_label:"",media:{auto:"",editor_label:"",false:"",true:""},ssl_ciphers:{auto:"",default:"",editor_label:"",insecure:"",intermediate:"",modern:""},ssl_verification:{auto:"",editor_label:"",false:"",true:""}},reolink:{editor_label:"",media_resolution:{editor_label:"",high:"",low:""},url:""},title:"Títol d'aquesta càmera (detecció automàtica de l'entitat)",triggers:{editor_label:"Opcions d'activació",entities:"Activador d'altres entitats",events:{clips:"Esdeveniments amb nous clips",editor_label:"Activar esdeveniments",events:"Tots els esdeveniments",snapshots:"Esdeveniments amb noves instantànies"},motion:"Activa la detecció automàtica del sensor de moviment",occupancy:"Activa la detecció automàtica del sensor d'ocupació"},webrtc_card:{editor_label:"Opcions de la targeta WebRTC",entity:"Entitat de càmera de targeta WebRTC (no una càmera de Frigate)",url:"URL de la càmera de la targeta WebRTC"}},common:{controls:{builtin:"Controls de vídeo integrats",filter:{editor_label:"Filtre multimèdia",mode:"Mode de filtre",modes:{left:"Filtre multimèdia en un calaix a l'esquerra",none:"Sense filtre multimèdia",right:"Filtre multimèdia en un calaix a la dreta"}},next_previous:{editor_label:"Següent i anterior",size:"Mida del control següent i anterior en píxels",style:"Estil de control següent i anterior",styles:{chevrons:"Xebrons",icons:"Icones",none:"Cap",thumbnails:"Miniatures"}},thumbnails:{editor_label:"Miniatures",events_media_type:"Si voleu mostrar miniatures d'esdeveniments de clips o instantànies",events_media_types:{clips:"Miniatures de clips",snapshots:"Miniatures d'instantànies"},media_type:"Si voleu mostrar miniatures d'esdeveniments o enregistraments",media_types:{events:"Esdeveniments",recordings:"Enregistraments"},mode:"Mode de miniatures",modes:{above:"Miniatures a dalt",below:"Miniatures a baix",left:"Miniatures en un calaix a l'esquerra",none:"Sense miniatures",right:"Miniatures en un calaix a la dreta"},show_details:"Mostra els detalls amb miniatures",show_download_control:"Mostra el control de descàrrega a les miniatures",show_favorite_control:"Mostra el control preferit a les miniatures",show_timeline_control:"Mostra el control de la línia de temps a les miniatures",size:"Mida de les miniatures en píxels"},timeline:{editor_label:"Mini cronologia",mode:"Mode",modes:{above:"A dalt",below:"Baix",none:"Cap"},pan_mode:"Mode d'escombratge predeterminat",pan_modes:{pan:"Escombratge",seek:"Cerca d'escombratge en tots els mitjans","seek-in-camera":"Cerca d'escombratge només a la càmera seleccionada","seek-in-media":"Cerca d'escombratge només dins de l'element multimèdia seleccionat"}}},display:{editor_label:"Visualització",grid_columns:"Nombre exacte de columnes de la graella",grid_max_columns:"Nombre màxim de columnes de la graella",grid_selected_width_factor:"Augmenta l'amplada del suport multimèdia seleccionat en aquest factor",mode:"Mode"},image:{entity:"",entity_parameters:"",mode:"Mode de visualització d'imatges",modes:{camera:"Instantània de l'entitat de la càmera de Home Assistant",entity:"",screensaver:"Logotip de Frigate incrustat",url:"Imatge arbitrària especificada per URL"},refresh_seconds:"Nombre de segons després dels quals cal actualitzar (0=mai)",url:"URL d'imatge estàtica per a la visualització d'imatges"},media_action_conditions:{all:"Totes les oportunitats",hidden:"A l'amagat del navegador/pestanya",microphone_mute:"Si el micròfon està en silenci",microphone_unmute:"Si el micròfon no està en silenci",never:"Mai",selected:"A la selecció",unselected:"En desselecció",visible:"En la visualització del navegador/pestanya"},timeline:{clustering_threshold:"El recompte d'esdeveniments en què s'agrupen (0=sense agrupació)",events_media_type:"Els esdeveniments multimèdia que mostra la línia de temps",events_media_types:{all:"Tots els tipus de mitjans",clips:"Clips",snapshots:"Imatges instantànies"},show_recordings:"Mostra les gravacions",style:"Estil de cronologia",styles:{ribbon:"Esdeveniments en una sola cinta",stack:"Esdeveniments apilats i agrupats"},window_seconds:"La durada predeterminada de la visualització de la línia de temps en segons"}},dimensions:{aspect_ratio:"Relació d'aspecte predeterminada (p. ex., '16:9')",aspect_ratio_mode:"Mode de relació d'aspecte",aspect_ratio_modes:{dynamic:"La relació d'aspecte s'ajusta al suport multimèdia",static:"Relació d'aspecte estàtica",unconstrained:"Relació d'aspecte sense restriccions"},height:""},live:{auto_mute:"Silencia automàticament les càmeres en directe",auto_pause:"Posa en pausa automàticament les càmeres en directe",auto_play:"Reprodueix automàticament les càmeres en directe",auto_unmute:"Activa automàticament el so de les càmeres en directe",controls:{editor_label:"Controls del directe",ptz:{editor_label:"PTZ",hide_home:"Amaga el control de casa",hide_pan_tilt:"Amaga el control d'escombratge i inclinació",hide_zoom:"Amaga el control de zoom",mode:"Mode",modes:{off:"Desactivat",on:"Activat"},orientation:"Orientació",orientations:{horizontal:"Horitzontal",vertical:"Vertical"},position:"Posició",positions:{"bottom-left":"Inferior esquerra","bottom-right":"Inferior dreta","top-left":"Superior left","top-right":"Superior dreta"}}},draggable:"La vista de càmeres en directe es pot arrossegar/lliscar",lazy_load:"Les càmeres en directe es carreguen amb mandra",lazy_unload:"Les càmeres en directe es descarreguen amb mandra",microphone:{always_connected:"Mantingueu sempre el micròfon connectat",disconnect_seconds:"Segons després dels quals desconnectar el micròfon (0=mai)",editor_label:"Micròfon",enabled:"El micròfon està activat",mute_after_microphone_mute_seconds:"Segons després de silenciar el micròfon per silenciar l'àudio entrant"},preload:"Carregueu prèviament la visualització en directe en segon pla",show_image_during_load:"Mostra la imatge fixa mentre es carrega la reproducció en directe",transition_effect:"Efecte de transició de càmera en directe",zoomable:"Les càmeres en directe es poden ampliar/escombrar"},media_viewer:{auto_mute:"Silencia automàticament els continguts multimèdia",auto_pause:"Atura automàticament el contingut multimèdia",auto_play:"Reprodueix automàticament els continguts multimèdia",auto_unmute:"Activa automàticament el so del contingut multimèdia",controls:{editor_label:"Controls del visualitzador de contingut multimèdia"},draggable:"El visualitzador de mitjans es pot arrossegar/lliscar",lazy_load:"El contingut multimèdia del visualitzador multimèdia es carreguen amb mandra al carrusel",snapshot_click_plays_clip:"Si feu clic a una instantània, es reprodueix un clip relacionat",transition_effect:"Efecte de transició del visualitzador multimèdia",transition_effects:{none:"Sense transició",slide:"Transició de diapositives"},zoomable:"El visualitzador de mitjans es pot ampliar/escombrar"},menu:{alignment:"Alineació del menú",alignments:{bottom:"Alineat a la part inferior",left:"Alineat a l'esquerra",right:"Alineat a la dreta",top:"Alineat a la part superior"},button_size:"Mida del botó del menú en píxels",buttons:{alignment:"Alineació de botons",alignments:{matching:"Coincideix amb l'alineació del menú",opposing:"Oposat a l'alineació del menú"},camera_ui:"Interfície d'usuari de la càmera",cameras:"Càmeres",clips:"Clips",display_mode:"Mode de visualització",download:"Descarregar",enabled:"Botó habilitat",expand:"Expandir",frigate:"Menú de Frigate / Vista per defecte",fullscreen:"Pantalla completa",icon:"Icona",image:"Imatge",live:"En directe",media_player:"Envia al reproductor multimèdia",microphone:"Micròfon",mute:"Silenciar / Activar el so",permanent:"",play:"Reproduir / Pausa",priority:"Prioritat",ptz_controls:"",ptz_home:"",recordings:"Enregistraments",screenshot:"Captura de pantalla",snapshots:"Imatges instantànies",substreams:"Subfluxos",timeline:"Cronologia",type:"Tipus de botó",types:{momentary:"Momentani",toggle:"Commuta"}},position:"Posició del menú",positions:{bottom:"Situat a la part inferior",left:"Situat a l'esquerra",right:"Situat a la dreta",top:"Situat a la part superior"},style:"Estil de menú",styles:{hidden:"Menú ocult",hover:"Menú passant el cursor","hover-card":"Menú passant el cursor (a tota la targeta)",none:"Sense menú",outside:"Menú exterior",overlay:"Menú superposat"}},overrides:{info:"Aquesta configuració de targeta ha especificat manualment substitucions configurades que poden anul·lar els valors que es mostren a l'editor visual; consulteu l'editor de codi per veure/modificar aquestes substitucions."},performance:{features:{animated_progress_indicator:"Indicador animat del progrés",editor_label:"Opcions de característiques",max_simultaneous_engine_requests:"",media_chunk_size:"Mida del fragment multimèdia"},style:{border_radius:"Corbes",box_shadow:"Ombres",editor_label:"Opcions d'estil"},warning:"Aquesta targeta està en mode de perfil baix, de manera que els valors predeterminats han canviat per optimitzar el rendiment"},profiles:{casting:"",editor_label:"","low-performance":"",scrubbing:""},status_bar:{height:"",items:{enabled:"",engine:"",live_provider:"",priority:"",resolution:"",technology:"",title:""},popup_seconds:"",position:"",positions:{bottom:"",top:""},style:"",styles:{hover:"","hover-card":"",none:"",outside:"",overlay:"",popup:""}},view:{camera_select:"Visualitza les càmeres seleccionades recentment",dark_mode:"Mode fosc",dark_modes:{auto:"Automàtic",off:"Desactivat",on:"Activat"},default:"Vista per defecte",default_cycle_camera:"Passeu per les càmeres quan s'actualitzi la vista predeterminada",default_reset:{after_interaction:"Restableix la vista predeterminada després de la interacció de l'usuari",editor_label:"",entities:"",every_seconds:"Actualitza la vista predeterminada cada X segons (0=mai)",interaction_mode:"",interaction_modes:{active:"",all:"",inactive:""}},interaction_seconds:"Segons després de l'acció de l'usuari per continuar interactuant (0=mai)",keyboard_shortcuts:{editor_label:"",enabled:"",ptz_down:"",ptz_home:"",ptz_left:"",ptz_right:"",ptz_up:"",ptz_zoom_in:"",ptz_zoom_out:""},triggers:{actions:{editor_label:"Activar accions",interaction_mode:"Com gestionar les accions quan la targeta té interacció humana",interaction_modes:{active:"Activa només accions quan la targeta té interacció humana",all:"Activa accions independentment de la interacció humana",inactive:"Només activa accions quan la targeta no té interacció humana"},trigger:"Activar l'acció",triggers:{default:"Canvia o actualitza la vista predeterminada",live:"Canvia o actualitza la visualització en directe",media:"Canvieu a la visualització de mitjans rellevants per als nous mitjans",none:"Sense acció"},untrigger:"Desactiva l'acció",untriggers:{default:"Canvia a la vista/càmera predeterminada",none:"Sense acció"}},editor_label:"Comportament quan s'activa una càmera",filter_selected_camera:"Activa només a la càmera seleccionada",show_trigger_status:"Mostra la vora intermitent quan s'activa",untrigger_seconds:"Segons després del canvi d'estat inactiu a desactivat"},views:{clip:"Clip més recent",clips:"Galeria de clips",current:"Vista actual",image:"Imatge estàtica",live:"Visualització en directe",recording:"Enregistrament més recent",recordings:"Galeria d'enregistraments",snapshot:"Instantània més recent",snapshots:"Galeria d'instantànies",timeline:"Vista cronològica"}}},i={grid:"Mostra el visualitzador multimèdia per a cada càmera d'una quadrícula",single:"Mostra un visualitzador multimèdia únic"},t={add_new_camera:"Afegeix una càmera nova",button:"Botó",camera:"Càmera",cameras:"Càmeres",cameras_secondary:"Quines càmeres renderitzar en aquesta targeta",delete:"Suprimeix",dimensions:"Dimensions",dimensions_secondary:"Opcions de dimensions i forma",image:"Imatge",image_secondary:"Opcions de visualització d'imatges estàtiques",live:"En directe",live_secondary:"Opcions de visualització de la càmera en directe",media_gallery:"Galeria multimèdia",media_gallery_secondary:"Opcions de la galeria multimèdia",media_viewer:"Visor multimèdia",media_viewer_secondary:"Visor de suports estàtics (clips, instantànies o enregistraments)",menu:"Menú",menu_secondary:"Opcions d'aspecte del menú",move_down:"Moure cap avall",move_up:"Moure cap amunt",overrides:"Les substitucions estan actives",overrides_secondary:"S'han detectat substitucions de configuració dinàmica",performance:"Rendiment",performance_secondary:"Opcions de rendiment de la targeta",profiles:"",profiles_secondary:"",status_bar:"",status_bar_secondary:"",timeline:"Cronologia",timeline_secondary:"Opcions de la cronologia d'esdeveniments",upgrade:"Upgrade",upgrade_available:"Hi ha disponible una actualització automàtica de la configuració de la targeta",view:"Vista",view_secondary:"Què ha de mostrar la targeta i com mostrar-la"},r={ptz:{down:"Avall",home:"Casa",left:"Esquerra",right:"Dreta",up:"Amunt",zoom_in:"Ampliar",zoom_out:"Reduir"}},s={awaiting_live:"S'està esperant que es carregui la transmissió en directe ...",awaiting_media:"",camera_initialization:"",camera_initialization_reolink:"",could_not_render_elements:"No s'han pogut representar els elements de la imatge",could_not_resolve:"No s'ha pogut resoldre l'URL multimèdia",diagnostics:"Diagnòstic de targetes. Reviseu la informació confidencial abans de compartir-la",download_no_media:"No hi ha contingut multimèdia per descarregar",download_sign_failed:"No s'ha pogut signar l'URL multimèdia per baixar-la",duplicate_camera_id:"Duplica l'identificador de la càmera Frigate per a la següent càmera, utilitza el paràmetre 'id' per identificar les càmeres de manera única",empty_response:"S'ha rebut una resposta buida de Home Assistant per a la sol·licitud",failed_response:"No s'ha pogut rebre la resposta de Home Assistant per a la sol·licitud",failed_retain:"No s'ha pogut retenir l'esdeveniment",failed_sign:"No s'ha pogut signar l'URL de Home Assistant",image_load_error:"No s'ha pogut carregar la imatge",invalid_configuration:"Configuració no vàlida",invalid_configuration_no_hint:"No hi ha cap indicació d'ubicació disponible (tipus dolent o faltant?)",invalid_configuration_override:"",invalid_elements_config:"La configuració dels elements de la imatge no és vàlida",invalid_response:"S'ha rebut una resposta no vàlida de Home Assistant per a la sol·licitud",jsmpeg_no_player:"No s'ha pogut iniciar el reproductor JSMPEG",live_camera_no_endpoint:"No s'ha pogut obtenir el punt final de la càmera per a aquest proveïdor en directe (configuració incompleta?)",live_camera_not_found:"No s'ha trobat la 'camera_entity' (entitat de la càmera) configurada",live_camera_unavailable:"Càmera no disponible",no_camera_engine:"No s'ha pogut determinar el motor adequat per a la càmera",no_camera_entity:"No s'ha pogut trobar l'entitat de la càmera",no_camera_entity_for_triggers:"Es requereix una entitat de càmera per detectar automàticament els activadors",no_camera_id:"No s'ha pogut determinar l'identificador de la càmera per a la següent càmera, és possible que hagis d'establir el paràmetre 'id' manualment",no_camera_name:"No s'ha pogut determinar el nom de la càmera Frigate per a la càmera (o una de les seves dependències), especifiqueu 'camera_entity' o 'camera_name'",no_dashboard_or_view:"Tant els paràmetres 'dashboard_path' com 'view_path' són necessaris per al mètode d'emissió 'dashboard'",no_live_camera:"El paràmetre 'camera_entity' s'ha de configurar i validar per a aquest proveïdor en directe",no_supported_camera:"",no_supported_cameras:"",reconnecting:"Reconnectant",too_many_automations:"Hi ha massa trucades d'automatització imbricades, comproveu la vostra configuració per veure si hi ha bucles",troubleshooting:"Comproveu la resolució de problemes",unknown:"Error desconegut",upgrade_available:"Hi ha disponible una actualització automàtica de la configuració de la targeta; visiteu l'editor de targetes visuals",webrtc_card_reported_error:"La targeta WebRTC ha informat d'un error",webrtc_card_waiting:"S'està esperant que es carregui la targeta WebRTC ..."},n={camera:"Càmera",duration:"Durada",in_progress:"En procés",score:"Puntuació",seek:"Buscar",start:"Començar",tag:"Etiqueta",what:"Què",where:"On"},o={assign:"",modifiers:{alt:"",ctrl:"",meta:"",shift:""},unassign:""},l={all:"Tots",camera:"Càmera",favorite:"Preferit",media_type:"Tipus de suport multimèdia",media_types:{clips:"Clips",recordings:"Enregistraments",snapshots:"Imatges instantànies"},not_favorite:"No preferit",select_camera:"Selecciona la càmera...",select_favorite:"Selecciona el preferit...",select_media_type:"Selecciona el tipus de suport multimèdia...",select_tag:"Selecciona l'etiqueta...",select_what:"Selecciona el què...",select_when:"Selecciona quan...",select_where:"Selecciona on...",tag:"Etiqueta",what:"Què",when:"Quan",whens:{custom:"Personalitzat",past_month:"El mes passat",past_week:"La setmana passada",today:"Avui",yesterday:"Ahir"},where:"On"},d={unseekable:"Busqueu temps no trobat als mitjans multimèdia"},c={camera:"Càmera",duration:"Durada",events:"Esdeveniments",in_progress:"En procés",seek:"Buscar",start:"Començar"},m={download:"Descarregar mitjans multimèdia",no_thumbnail:"No hi ha cap miniatura disponible",retain_indefinitely:"Els mitjans multimèdia es conservaran indefinidament",timeline:"Veure els mitjans multimèdia a la línia de temps"},u={select_date:"Escolliu la data"},p={common:e,config:a,display_modes:i,editor:t,elements:r,error:s,event:n,key_assigner:o,media_filter:l,media_viewer:d,recording:c,thumbnail:m,timeline:u};export{e as common,a as config,p as default,i as display_modes,t as editor,r as elements,s as error,n as event,o as key_assigner,l as media_filter,d as media_viewer,c as recording,m as thumbnail,u as timeline}; diff --git a/config/www/community/frigate-hass-card/lang-ca-99b9960f.js.gz b/config/www/community/frigate-hass-card/lang-ca-99b9960f.js.gz deleted file mode 100644 index 2ea98978b3c6eb71fdb4c745415fb6ab142ff6c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6769 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 diff --git a/config/www/community/frigate-hass-card/lang-fr-e5e97bbf.js b/config/www/community/frigate-hass-card/lang-fr-e5e97bbf.js deleted file mode 100644 index d4bfda6b..00000000 --- a/config/www/community/frigate-hass-card/lang-fr-e5e97bbf.js +++ /dev/null @@ -1 +0,0 @@ -var e={frigate_card:"Carte Frigate",frigate_card_description:"Une carte Lovelace à utiliser avec Frigate",live:"En direct",no_media:"Aucun média à afficher",recordings:"Enregistrements",version:"Version"},a={cameras:{camera_entity:"Entité caméra",capabilities:{capabilities:{clips:"Clips","favorite-events":"Événements favoris","favorite-recordings":"Enregistrements favoris",live:"Vue en direct",menu:"Menu",ptz:"PTZ",recordings:"Enregistrements",seek:"Recherche",snapshots:"Snapshots",substream:"flux secondaire"},disable:"Désactiver",disable_except:"Désactive sauf",editor_label:"Capacités de la caméra"},cast:{dashboard:{dashboard_path:"Chemin du tableau de bord",view_path:"Voir le chemin"},editor_label:"Options de diffusion",method:"Méthodes de diffusion",methods:{dashboard:"Dashboard",standard:"Standard"}},dependencies:{all_cameras:"Afficher les événements pour toutes les caméras avec cette caméra",cameras:"Afficher les événements pour des caméras spécifiques avec cette caméra",editor_label:"Options de dépendance"},dimensions:{aspect_ratio:"Rapport d'aspect d'image",editor_label:"Dimensions de la caméra",layout:{editor_label:"Disposition de la caméra",fit:"Ajustement de la disposition",fits:{contain:"Le média est contenu",cover:"Le média s'étend proportionnellement pour couvrir la carte",fill:"Le média est étiré pour remplir la carte"},pan:{x:"Pourcentage de panoramique horizontal",y:"Pourcentage de panoramique vertical"},position:{editor_label:"Position de la couverture",x:"Pourcentage de positionnement horizontal",y:"Pourcentage de positionnement vertical"},view_box:{bottom:"",editor_label:"",left:"",right:"",top:""},zoom:"Facteur de zoom"}},engines:{editor_label:"Options du moteur de caméra"},frigate:{camera_name:"Nom de la caméra Frigate (détecté automatiquement par l'entité)",client_id:"ID client Frigate (Si plus d'un serveur Frigate)",editor_label:"Options de Frigate",labels:"Étiquettes de Frigate/filtres d'objets",url:"URL du serveur Frigate",zones:"Zones Frigate"},go2rtc:{editor_label:"Options go2rtc",modes:{editor_label:"Modes go2rtc",mjpeg:"Motion JPEG (MJPEG)",mp4:"MPEG-4 (MP4)",mse:"Extensions de sources multimédias (MSE)",webrtc:"Web Real-Time Communication (WebRTC)"},stream:"nom du flux go2rtc"},icon:"Icône pour cette caméra (auto-détectée par l'entité)",id:"ID unique pour cette caméra dans cette carte",image:{editor_label:"Options d'images",refresh_seconds:"Nombre de secondes après lesquelles actualiser l'image en direct (0=jamais)",url:"URL de l'image à utiliser à la place de l'instantané de l'entité de la caméra"},live_provider:"Fournisseur de visualisation en direct pour cette caméra",live_provider_options:{editor_label:"Options du fournisseur en direct"},live_providers:{auto:"Automatique",go2rtc:"go2rtc",ha:"Flux vidéo Home Assistant (c'est-à-dire HLS, LL-HLS, WebRTC via HA)",image:"Images d'Home Assistant",jsmpeg:"JSMpeg","webrtc-card":"Carte WebRTC (c.-⁠à-⁠d. La carte WebRTC d'AlexxIT)"},motioneye:{editor_label:"Options de MotionEye",images:{directory_pattern:"Modèle de répertoire d'images",file_pattern:"Modèle de fichier images"},movies:{directory_pattern:"Modèle de répertoire de films",file_pattern:"Modèle de fichier de films"},url:"URL de l’interface MotionEye"},proxy:{dynamic:"",editor_label:"",media:{auto:"",editor_label:"",false:"",true:""},ssl_ciphers:{auto:"",default:"",editor_label:"",insecure:"",intermediate:"",modern:""},ssl_verification:{auto:"",editor_label:"",false:"",true:""}},reolink:{editor_label:"Option Reolink",media_resolution:{editor_label:"Désolution du média",high:"Haute résolution",low:"Basse résolution"},url:"URL de l'interface utilisateur Reolink"},title:"Titre de cette caméra (détection automatique à partir de l'entité)",triggers:{editor_label:"Modèle de répertoire des films",entities:"Déclencheur à partir d'autres entités",events:{clips:"Événements avec de nouveaux clips",editor_label:"Événements déclencheurs",events:"Tous les événements",snapshots:"Événements avec de nouveaux instantanés"},motion:"Déclenchement par détection automatique du capteur de mouvement",occupancy:"Déclenchement par détection automatique du capteur de présence"},webrtc_card:{editor_label:"Options de la carte WebRTC",entity:"Entité de caméra de carte WebRTC (pas une caméra de Frigate)",url:"URL de la caméra de la carte WebRTC"}},common:{controls:{builtin:"Commandes vidéo intégrées",filter:{editor_label:"Filtre multimédia",mode:"Mode de filtre",modes:{left:"Filtre média dans un menu à gauche",none:"Pas de filtre média",right:"Filtre média dans un menu à droite"}},next_previous:{editor_label:"Suivant et précédent",size:"Taille des contrôles suivant et précédent en pixels",style:"Style de contrôle suivant et précédent",styles:{chevrons:"Chevrons",icons:"Icônes",none:"Aucun",thumbnails:"Vignettes"}},thumbnails:{editor_label:"Vignettes",events_media_type:"S'il faut afficher des vignettes de clips ou des instantanés",events_media_types:{clips:"Vignettes de clips",snapshots:"Vignettes d'instantanés"},media_type:"Afficher ou non les vignettes des événements ou des enregistrements",media_types:{events:"Événements",recordings:"Enregistrements"},mode:"Mode vignettes",modes:{above:"Vignettes en haut",below:"Vignettes en bas",left:"Vignettes dans un menu à gauche",none:"Aucune vignette",right:"Vignettes dans un menu à droite"},show_details:"Afficher les détails avec des vignettes",show_download_control:"Afficher le contrôle de téléchargement sur les vignettes",show_favorite_control:"Afficher le contrôle favori sur les vignettes",show_timeline_control:"Afficher le contrôle de la chronologie sur les vignettes",size:"Taille des vignettes en pixels"},timeline:{editor_label:"Mini-chronologie",mode:"Mode",modes:{above:"Au-dessus",below:"En dessous",none:"Aucun"},pan_mode:"Mode panoramique par défaut",pan_modes:{pan:"Pan",seek:"Pan cherche parmi toutes les caméras","seek-in-camera":"Pan ne cherche que parmi la caméra sélectionnée","seek-in-media":"Pan ne cherche que parmi les médias sélectionnés"}}},display:{editor_label:"Affichage",grid_columns:"Nombre de colonnes de la grille",grid_max_columns:"Nombre maximum de colonnes de la grille",grid_selected_width_factor:"Augmenter la largeur du média sélectionnée par ce facteur",mode:"Mode"},image:{entity:"Entité à utiliser avec le mode entité",entity_parameters:"Paramètres de requête ajoutés aux URL des images basées sur l'entité (par exemple, width=1920&height=1080)",mode:"Mode d'affichage des images",modes:{camera:"Instantané de la caméra Home Assistant de l'entité caméra",entity:"Entité avec l'attribut entity_picture",screensaver:"Logo Frigate intégré",url:"Image arbitraire spécifiée par URL"},refresh_seconds:"Nombre de secondes après lesquelles actualiser (0=jamais)",url:"URL d'image statique pour l'affichage de l'image"},media_action_conditions:{all:"Toutes les opportunités",hidden:"Sur le navigateur/onglet masqué",microphone_mute:"Sourdine du microphone activée",microphone_unmute:"Sourdine du microphone désactivée",never:"Jamais",selected:"Sur sélection",unselected:"Lors de la désélection",visible:"Sur la visibilité du navigateur/onglet"},timeline:{clustering_threshold:"Le nombre d'événements pour lesquels ils sont regroupés (0 = pas de clustering)",events_media_type:"Les médias affichés par la chronologie",events_media_types:{all:"Tous types de médias",clips:"Extraits",snapshots:"Instantanés"},show_recordings:"Afficher les enregistrements",style:"Style de chronologie",styles:{ribbon:"Événements sur un seul ruban",stack:"Événements empilés et groupés"},window_seconds:"La durée par défaut de la vue chronologique en secondes"}},dimensions:{aspect_ratio:"Format d'image par défaut (par exemple '16:9')",aspect_ratio_mode:"Mode rapport hauteur/largeur",aspect_ratio_modes:{dynamic:"Le rapport hauteur/largeur s'adapte au média",static:"Rapport hauteur/largeur statique",unconstrained:"Rapport hauteur/largeur sans contrainte"},height:"Hauteur de la carte en unités CSS (par exemple, '500px')"},live:{auto_mute:"Couper automatiquement le son des caméras en direct",auto_pause:"Mettre automatiquement en pause les caméras en direct",auto_play:"Lire automatiquement les caméras en direct",auto_unmute:"Activer automatiquement le son des caméras en direct",controls:{editor_label:"Contrôles en direct",ptz:{editor_label:"PTZ",hide_home:"Cacher le bouton position d'origine",hide_pan_tilt:"Cacher les boutons panoramiques/inclinaison",hide_zoom:"Cacher le bouton de zoom",mode:"Mode",modes:{off:"Eteint",on:"Allumé"},orientation:"",orientations:{horizontal:"Horizontale",vertical:"Verticale"},position:"",positions:{"bottom-left":"En bas à gauche","bottom-right":"En bas à droite","top-left":"En haut à gauche","top-right":"En haut à droite"}}},draggable:"La vue des caméras en direct peut être déplacée/glissée",lazy_load:"Les caméras en direct sont chargeés en différé",lazy_unload:"Les caméras en direct sont déchargés en différé",microphone:{always_connected:"Toujours garder le microphone connecté",disconnect_seconds:"Secondes après quoi déconnecter le microphone (0=jamais)",editor_label:"Microphone",enabled:"Microphone activé",mute_after_microphone_mute_seconds:"Secondes après la mise en sourdine du microphone pour couper l'audio entrant"},preload:"Précharger la vue en direct en arrière-plan",show_image_during_load:"Afficher une image fixe pendant le chargement du flux en direct",transition_effect:"Effet de transition de caméra en direct",zoomable:"Les caméras en direct peuvent être zoomées/panoramiques"},media_viewer:{auto_mute:"Couper automatiquement le son des médias",auto_pause:"Mettre automatiquement en pause les médias",auto_play:"Lire automatiquement les médias",auto_unmute:"Activer automatiquement le son des médias",controls:{editor_label:"Commandes de la visionneuse multimédia"},draggable:"La visionneuse multimédia peut être déplacée/glissée",lazy_load:"Les médias Media Viewer sont chargés en différé dans le carrousel",snapshot_click_plays_clip:"Cliquer sur un instantané lit l'extrait associé",transition_effect:"Effet de transition de la visionneuse multimédia",transition_effects:{none:"Pas de transition",slide:"Transition de diapositive"},zoomable:"La visionneuse multimédia peut être zoomée/panoramique"},menu:{alignment:"Alignement des menus",alignments:{bottom:"Aligné vers le bas",left:"Aligné à gauche",right:"Aligné à droite",top:"Aligné vers le haut"},button_size:"Taille du bouton de menu en pixels",buttons:{alignment:"Alignement des boutons",alignments:{matching:"Faire correspondre l'alignement du menu",opposing:"S'opposer à l'alignement des menus"},camera_ui:"Interface utilisateur de la caméra",cameras:"Cameras",clips:"Extraits",display_mode:"Mode d'afficahge",download:"Télécharger",enabled:"Bouton activé",expand:"Développer",frigate:"Menu Frigate / Vue par défaut",fullscreen:"Plein écran",icon:"Icône",image:"Image",live:"En direct",media_player:"Envoyer au lecteur multimédia",microphone:"Microphone",mute:"Désactiver/Réactiver le son",permanent:"Afficher lorsque le menu est caché",play:"Jouer / Pause",priority:"Priorité",ptz_controls:"Afficher les controles PTZ",ptz_home:"Position d'origine PTZ",recordings:"Enregistrements",screenshot:"Capture d'écran",snapshots:"Instantanés",substreams:"flux secondaires",timeline:"Chronologie",type:"Type de bouton",types:{momentary:"Momentané",toggle:"Basculer"}},position:"Emplacement des menus",positions:{bottom:"Positionné en bas",left:"Positionné à gauche",right:"Positionné à droite",top:"Positionné en haut"},style:"Style de menu",styles:{hidden:"Menu caché",hover:"Menu survolé","hover-card":"Menu survolé (à l'échelle de la carte)",none:"Pas de menu",outside:"Menu extérieur",overlay:"Menu superposé"}},overrides:{info:"Cette configuration de carte comporte des remplacements spécifiés manuellement et configurés qui peuvent remplacer les valeurs affichées dans l'éditeur visuel. Veuillez consulter l'éditeur de code pour afficher/modifier ces remplacements."},performance:{features:{animated_progress_indicator:"Indicateur de progression animé",editor_label:"Options de fonctionnalités",max_simultaneous_engine_requests:"Nombre maximal de requêtes simultanées au moteur de caméra",media_chunk_size:"Taille du morceau de média"},style:{border_radius:"Courbes",box_shadow:"Ombres",editor_label:"Options de style"},warning:"Cette carte est en mode profil bas, les paramètres par défaut ont donc été modifiés pour optimiser les performances."},profiles:{casting:"Diffusion",editor_label:"Configuration des profils","low-performance":"Basse performance",scrubbing:"Balayage vidéo"},status_bar:{height:"Hauteur de la barre d'état en pixels",items:{enabled:"Item activé",engine:"Moteur de camera",live_provider:"fournisseur de flux en direc",priority:"Priorité de l'item",resolution:"Résolution",technology:"Technologie",title:"Titre"},popup_seconds:"Secondes de popup de la barre d'état",position:"Position de la barre d'état",positions:{bottom:"Postionné en bas",top:"Postionné en haut"},style:"Style de la barre d'état",styles:{hover:"Barre d'état au survol","hover-card":"Barre d'état au survol (sur toute la carte)",none:"Pas de barre d'état",outside:"Barre d'état extérieure",overlay:"Barre d'état superposée",popup:"Barre d'état contextuelle"}},view:{camera_select:"Afficher les caméras nouvellement sélectionnées",dark_mode:"Mode sombre",dark_modes:{auto:"Automatique",off:"Désactivé",on:"Activé"},default:"Vue par défaut",default_cycle_camera:"Parcourez les caméras lorsque la vue par défaut est mise à jour",default_reset:{after_interaction:"Réinitialiser à la vue par défaut après la fin de l'interaction de l'utilisateur",editor_label:"Comportement de réinitialisation de la vue par défaut",entities:"Réinitialiser à la vue par défaut lors du changement d'état de l'entité",every_seconds:"Actualiser la vue par défaut toutes les X secondes (0=jamais)",interaction_mode:"Comment la réinitialisation par défaut se comporte lorsque la carte a une interaction humaine",interaction_modes:{active:"Autoriser la réinitialisation uniquement lorsque la carte a une interaction humaine active",all:"Réinitialiser indépendamment de l'interaction humaine",inactive:"Réinitialiser uniquement lorsque la carte n'a pas d'interaction humaine"}},interaction_seconds:"Secondes après l'action de l'utilisateur pour maintenir l'interaction (0=jamais)",keyboard_shortcuts:{editor_label:"Raccourcis clavier",enabled:"Raccourcis clavier activés",ptz_down:"PTZ bas",ptz_home:"PTZ position d'origine",ptz_left:"PTZ gauche",ptz_right:"PTZ droite",ptz_up:"PTZ haut",ptz_zoom_in:"PTZ zoomer",ptz_zoom_out:"PTZ dézoomer"},triggers:{actions:{editor_label:"Actions de déclenchement",interaction_mode:"Comment gérer les actions lorsque la carte comporte une interaction humaine ?",interaction_modes:{active:"Ne déclencher des actions que lorsque la carte a une interaction humaine",all:"Déclencher des actions sans interaction humaine",inactive:"Ne déclencher des actions que lorsque la carte n'a pas d'interaction humaine"},trigger:"Actions de déclenchement",triggers:{default:"Changement ou mise à jour de la vue par défaut",live:"Change ou met a jour la vue en direct",media:"Changement d'affichage pour les nouveaux médias",none:"Pas d'acction"},untrigger:"Action de désactivation",untriggers:{default:"Passage à la vue/caméra par défaut",none:"Pas d'action"}},editor_label:"Comportement en cas de déclenchement d'une caméra",filter_selected_camera:"Déclenchement uniquement sur la caméra sélectionnée",show_trigger_status:"Afficher la bordure clignotante lors du déclenchement",untrigger_seconds:"Quelques secondes après le changement d'état inactif pour débloquer"},views:{clip:"Clip le plus récent",clips:"Galerie de clips",current:"Vue actuelle",image:"Image statique",live:"Vue en direct",recording:"Enregistrement le plus récent",recordings:"Galerie d'enregistrements",snapshot:"Instantané le plus récent",snapshots:"Galerie d'instantanés",timeline:"Vue chronologique"}}},t={grid:"Afficher la visionneuse de médias pour chaque caméra d'une grille",single:"Afficher une seule visionneuse"},i={add_new_camera:"Ajouter une nouvelle caméra",button:"Bouton",camera:"Caméra",cameras:"Caméras",cameras_secondary:"Quelles caméras afficher sur cette carte",delete:"Supprimer",dimensions:"Dimensions",dimensions_secondary:"Options de dimensions et de forme",image:"Image",image_secondary:"Options d'affichage d'image statique",live:"En direct",live_secondary:"Options d'affichage de la caméra en direct",media_gallery:"Galerie des médias",media_gallery_secondary:"Options de la galerie multimédia",media_viewer:"Visionneuse de médias",media_viewer_secondary:"Visionneuse de médias statiques (clips, instantanés ou enregistrements)",menu:"Menu",menu_secondary:"Options d'apparence et de convivialité du menu",move_down:"Descendre",move_up:"Déplacer vers le haut",overrides:"Les remplacements sont actifs",overrides_secondary:"Remplacements de configuration dynamique détectés",performance:"Performance",performance_secondary:"Options de performances de la carte",profiles:"Profils de confi",profiles_secondary:"Choisir des ensembles de paramètres par défaut pré-configurés",status_bar:"Barre d'état",status_bar_secondary:"Options d'apparence et de comportement de la barre d'état",timeline:"Chronologie",timeline_secondary:"Options de chronologie des événements",upgrade:"Mise à niveau",upgrade_available:"Une mise à niveau automatique de la configuration de la carte est disponible",view:"Voir",view_secondary:"Ce que la carte doit montrer et comment la montrer"},n={ptz:{down:"Bas",home:"Origine",left:"Gauche",right:"Droite",up:"Haut",zoom_in:"Zoomer",zoom_out:"Dézoomer"}},r={awaiting_live:"En attente du flux en direct...",awaiting_media:"En attente du chargement des médias",camera_initialization:"Échec de l'initialisation de la caméra",camera_initialization_reolink:"Impossible d'initialiser la caméra Reolink",could_not_render_elements:"Impossible de restituer les éléments de l'image",could_not_resolve:"Impossible de résoudre l'URL du média",diagnostics:"Diagnostic de la carte. Veuillez enlever les informations confidentielles avant de les partager",download_no_media:"Aucun média à télécharger",download_sign_failed:"Impossible de signer l'URL du média à télécharger",duplicate_camera_id:"ID de caméra Frigate en double pour la caméra suivante, utilisez le paramètre « ID » pour identifier de manière unique les caméras",empty_response:"Réponse vide reçue de Home Assistant pour la demande",failed_response:"Échec de la réponse de Home Assistant à la demande",failed_retain:"Impossible de conserver l'événement",failed_sign:"Impossible de signer l'URL de Home Assistant",image_load_error:"L'image n'a pas pu être chargée",invalid_configuration:"Configuration invalide",invalid_configuration_no_hint:"Aucune indication de localisation disponible (type incorrect ou manquant ?)",invalid_configuration_override:"Configuration de remplacement invalide",invalid_elements_config:"Configuration des éléments d'image invalide",invalid_response:"Réponse non valide reçue de Home Assistant pour la demande",jsmpeg_no_player:"Impossible de démarrer le lecteur JSMPEG",live_camera_no_endpoint:"Impossible d'obtenir le point de terminaison de la caméra pour ce fournisseur en direct (configuration incomplète ?)",live_camera_not_found:"L'entité caméra configurée n'a pas été trouvée",live_camera_unavailable:"Caméra indisponible",no_camera_engine:"Impossible de déterminer le moteur approprié pour la caméra",no_camera_entity:"Impossible de trouver l'entité de caméra",no_camera_entity_for_triggers:"Une entité caméra est requise pour détecter automatiquement les déclencheurs",no_camera_id:"Impossible de déterminer l'identifiant de la caméra suivante. Il faudra peut-être définir le paramètre « ID » manuellement",no_camera_name:"Impossible de déterminer le nom de la caméra Frigate pour la caméra (ou l'une de ses dépendances). Veuillez spécifier soit « camera_entity » soit « camera_name ».",no_dashboard_or_view:"Les paramètres 'dashboard_path' et 'view_path' sont requis pour la méthode de conversion 'dashboard'",no_live_camera:"Le paramètre camera_entity doit être défini et valide pour ce fournisseur en direct",no_supported_camera:"La caméra sélectionnée ne prend pas en charge cette vue",no_supported_cameras:"Aucune caméra ne prend en charge cette vue",reconnecting:"Reconnexion",too_many_automations:"Trop d'appels d'automatisation imbriqués, veuillez vérifier votre configuration pour les boucles",troubleshooting:"Vérifier le dépannage",unknown:"Erreur inconnue",upgrade_available:"Une mise à niveau automatisée de la configuration de la carte est disponible, veuillez visiter l'éditeur visuel de la carte",webrtc_card_reported_error:"La carte WebRTC a signalé une erreur",webrtc_card_waiting:"En attente du chargement de la carte WebRTC..."},o={camera:"Caméra",duration:"Durée",in_progress:"En cours",score:"Score",seek:"Chercher",start:"Commencer",tag:"Étiqueter",what:"Quoi",where:"Où"},s={assign:"Assigner",modifiers:{alt:"",ctrl:"",meta:"",shift:""},unassign:"Désassigner"},l={all:"Tous",camera:"Caméra",favorite:"Préféré",media_type:"Type de support",media_types:{clips:"Extraits",recordings:"Enregistrements",snapshots:"Instantanés"},not_favorite:"Pas favori",select_camera:"Sélectionnez une caméra...",select_favorite:"Sélectionnez un favori...",select_media_type:"Sélectionnez le type de média...",select_tag:"Sélectionnez la balise...",select_what:"Sélectionnez quoi...",select_when:"Sélectionnez quand...",select_where:"Sélectionnez où...",tag:"Étiqueter",what:"Quoi",when:"Quand",whens:{custom:"",past_month:"Mois passé",past_week:"La semaine dernière",today:"Aujourd'hui",yesterday:"Hier"},where:"Où"},d={unseekable:"Temps non trouvé dans les médias"},c={camera:"Caméra",duration:"Durée",events:"Événements",in_progress:"En cours",seek:"Chercher",start:"Commencer"},u={download:"Télécharger des médias",no_thumbnail:"Aucune vignette disponible",retain_indefinitely:"Les médias seront conservés indéfiniment",timeline:"Voir les médias dans la chronologie"},m={select_date:"Choisir une date"},p={common:e,config:a,display_modes:t,editor:i,elements:n,error:r,event:o,key_assigner:s,media_filter:l,media_viewer:d,recording:c,thumbnail:u,timeline:m};export{e as common,a as config,p as default,t as display_modes,i as editor,n as elements,r as error,o as event,s as key_assigner,l as media_filter,d as media_viewer,c as recording,u as thumbnail,m as timeline}; diff --git a/config/www/community/frigate-hass-card/lang-fr-e5e97bbf.js.gz b/config/www/community/frigate-hass-card/lang-fr-e5e97bbf.js.gz deleted file mode 100644 index d75d09d2e9e11f914832f2e7295524e3445fc2a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7528 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 diff --git a/config/www/community/frigate-hass-card/lang-fr-ea16daba.js b/config/www/community/frigate-hass-card/lang-fr-ea16daba.js deleted file mode 100644 index 9fa4983c..00000000 --- a/config/www/community/frigate-hass-card/lang-fr-ea16daba.js +++ /dev/null @@ -1 +0,0 @@ -var e={frigate_card:"Carte Frigate",frigate_card_description:"Une carte Lovelace à utiliser avec Frigate",live:"En direct",no_media:"Aucun média à afficher",recordings:"Enregistrements",version:"Version"},a={cameras:{camera_entity:"Entité caméra",capabilities:{capabilities:{clips:"Clips","favorite-events":"Événements favoris","favorite-recordings":"Enregistrements favoris",live:"Vue en direct",menu:"Menu",ptz:"PTZ",recordings:"Enregistrements",seek:"Recherche",snapshots:"Snapshots",substream:"flux secondaire"},disable:"Désactiver",disable_except:"Désactive sauf",editor_label:"Capacités de la caméra"},cast:{dashboard:{dashboard_path:"Chemin du tableau de bord",view_path:"Voir le chemin"},editor_label:"Options de diffusion",method:"Méthodes de diffusion",methods:{dashboard:"Dashboard",standard:"Standard"}},dependencies:{all_cameras:"Afficher les événements pour toutes les caméras avec cette caméra",cameras:"Afficher les événements pour des caméras spécifiques avec cette caméra",editor_label:"Options de dépendance"},dimensions:{aspect_ratio:"Rapport d'aspect d'image",editor_label:"Dimensions de la caméra",layout:{editor_label:"Disposition de la caméra",fit:"Ajustement de la disposition",fits:{contain:"Le média est contenu",cover:"Le média s'étend proportionnellement pour couvrir la carte",fill:"Le média est étiré pour remplir la carte"},pan:{x:"Pourcentage de panoramique horizontal",y:"Pourcentage de panoramique vertical"},position:{editor_label:"Position de la couverture",x:"Pourcentage de positionnement horizontal",y:"Pourcentage de positionnement vertical"},view_box:{bottom:"",editor_label:"",left:"",right:"",top:""},zoom:"Facteur de zoom"}},engines:{editor_label:"Options du moteur de caméra"},frigate:{camera_name:"Nom de la caméra Frigate (détecté automatiquement par l'entité)",client_id:"ID client Frigate (Si plus d'un serveur Frigate)",editor_label:"Options de Frigate",labels:"Étiquettes de Frigate/filtres d'objets",url:"URL du serveur Frigate",zones:"Zones Frigate"},go2rtc:{editor_label:"Options go2rtc",modes:{editor_label:"Modes go2rtc",mjpeg:"Motion JPEG (MJPEG)",mp4:"MPEG-4 (MP4)",mse:"Extensions de sources multimédias (MSE)",webrtc:"Web Real-Time Communication (WebRTC)"},stream:"nom du flux go2rtc"},icon:"Icône pour cette caméra (auto-détectée par l'entité)",id:"ID unique pour cette caméra dans cette carte",image:{editor_label:"Options d'images",refresh_seconds:"Nombre de secondes après lesquelles actualiser l'image en direct (0=jamais)",url:"URL de l'image à utiliser à la place de l'instantané de l'entité de la caméra"},live_provider:"Fournisseur de visualisation en direct pour cette caméra",live_provider_options:{editor_label:"Options du fournisseur en direct"},live_providers:{auto:"Automatique",go2rtc:"go2rtc",ha:"Flux vidéo Home Assistant (c'est-à-dire HLS, LL-HLS, WebRTC via HA)",image:"Images d'Home Assistant",jsmpeg:"JSMpeg","webrtc-card":"Carte WebRTC (c.-⁠à-⁠d. La carte WebRTC d'AlexxIT)"},motioneye:{editor_label:"Options de MotionEye",images:{directory_pattern:"Modèle de répertoire d'images",file_pattern:"Modèle de fichier images"},movies:{directory_pattern:"Modèle de répertoire de films",file_pattern:"Modèle de fichier de films"},url:"URL de l’interface MotionEye"},proxy:{dynamic:"",editor_label:"",media:{auto:"",editor_label:"",false:"",true:""},ssl_ciphers:{auto:"",default:"",editor_label:"",insecure:"",intermediate:"",modern:""},ssl_verification:{auto:"",editor_label:"",false:"",true:""}},reolink:{editor_label:"Option Reolink",media_resolution:{editor_label:"Désolution du média",high:"Haute résolution",low:"Basse résolution"},url:"URL de l'interface utilisateur Reolink"},title:"Titre de cette caméra (détection automatique à partir de l'entité)",triggers:{editor_label:"Modèle de répertoire des films",entities:"Déclencheur à partir d'autres entités",events:{clips:"Événements avec de nouveaux clips",editor_label:"Événements déclencheurs",events:"Tous les événements",snapshots:"Événements avec de nouveaux instantanés"},motion:"Déclenchement par détection automatique du capteur de mouvement",occupancy:"Déclenchement par détection automatique du capteur de présence"},webrtc_card:{editor_label:"Options de la carte WebRTC",entity:"Entité de caméra de carte WebRTC (pas une caméra de Frigate)",url:"URL de la caméra de la carte WebRTC"}},common:{controls:{builtin:"Commandes vidéo intégrées",filter:{editor_label:"Filtre multimédia",mode:"Mode de filtre",modes:{left:"Filtre média dans un menu à gauche",none:"Pas de filtre média",right:"Filtre média dans un menu à droite"}},next_previous:{editor_label:"Suivant et précédent",size:"Taille des contrôles suivant et précédent en pixels",style:"Style de contrôle suivant et précédent",styles:{chevrons:"Chevrons",icons:"Icônes",none:"Aucun",thumbnails:"Vignettes"}},thumbnails:{editor_label:"Vignettes",events_media_type:"S'il faut afficher des vignettes de clips ou des instantanés",events_media_types:{clips:"Vignettes de clips",snapshots:"Vignettes d'instantanés"},media_type:"Afficher ou non les vignettes des événements ou des enregistrements",media_types:{events:"Événements",recordings:"Enregistrements"},mode:"Mode vignettes",modes:{above:"Vignettes en haut",below:"Vignettes en bas",left:"Vignettes dans un menu à gauche",none:"Aucune vignette",right:"Vignettes dans un menu à droite"},show_details:"Afficher les détails avec des vignettes",show_download_control:"Afficher le contrôle de téléchargement sur les vignettes",show_favorite_control:"Afficher le contrôle favori sur les vignettes",show_timeline_control:"Afficher le contrôle de la chronologie sur les vignettes",size:"Taille des vignettes en pixels"},timeline:{editor_label:"Mini-chronologie",mode:"Mode",modes:{above:"Au-dessus",below:"En dessous",none:"Aucun"},pan_mode:"Mode panoramique par défaut",pan_modes:{pan:"Pan",seek:"Pan cherche parmi toutes les caméras","seek-in-camera":"Pan ne cherche que parmi la caméra sélectionnée","seek-in-media":"Pan ne cherche que parmi les médias sélectionnés"}}},display:{editor_label:"Affichage",grid_columns:"Nombre de colonnes de la grille",grid_max_columns:"Nombre maximum de colonnes de la grille",grid_selected_width_factor:"Augmenter la largeur du média sélectionnée par ce facteur",mode:"Mode"},image:{entity:"Entité à utiliser avec le mode entité",entity_parameters:"Paramètres de requête ajoutés aux URL des images basées sur l'entité (par exemple, width=1920&height=1080)",mode:"Mode d'affichage des images",modes:{camera:"Instantané de la caméra Home Assistant de l'entité caméra",entity:"Entité avec l'attribut entity_picture",screensaver:"Logo Frigate intégré",url:"Image arbitraire spécifiée par URL"},refresh_seconds:"Nombre de secondes après lesquelles actualiser (0=jamais)",url:"URL d'image statique pour l'affichage de l'image"},media_action_conditions:{all:"Toutes les opportunités",hidden:"Sur le navigateur/onglet masqué",microphone_mute:"Sourdine du microphone activée",microphone_unmute:"Sourdine du microphone désactivée",never:"Jamais",selected:"Sur sélection",unselected:"Lors de la désélection",visible:"Sur la visibilité du navigateur/onglet"},timeline:{clustering_threshold:"Le nombre d'événements pour lesquels ils sont regroupés (0 = pas de clustering)",events_media_type:"Les médias affichés par la chronologie",events_media_types:{all:"Tous types de médias",clips:"Extraits",snapshots:"Instantanés"},show_recordings:"Afficher les enregistrements",style:"Style de chronologie",styles:{ribbon:"Événements sur un seul ruban",stack:"Événements empilés et groupés"},window_seconds:"La durée par défaut de la vue chronologique en secondes"}},dimensions:{aspect_ratio:"Format d'image par défaut (par exemple '16:9')",aspect_ratio_mode:"Mode rapport hauteur/largeur",aspect_ratio_modes:{dynamic:"Le rapport hauteur/largeur s'adapte au média",static:"Rapport hauteur/largeur statique",unconstrained:"Rapport hauteur/largeur sans contrainte"},height:"Hauteur de la carte en unités CSS (par exemple, '500px')"},live:{auto_mute:"Couper automatiquement le son des caméras en direct",auto_pause:"Mettre automatiquement en pause les caméras en direct",auto_play:"Lire automatiquement les caméras en direct",auto_unmute:"Activer automatiquement le son des caméras en direct",controls:{editor_label:"Contrôles en direct",ptz:{editor_label:"PTZ",hide_home:"Cacher le bouton position d'origine",hide_pan_tilt:"Cacher les boutons panoramiques/inclinaison",hide_zoom:"Cacher le bouton de zoom",mode:"Mode",modes:{off:"Eteint",on:"Allumé"},orientation:"",orientations:{horizontal:"Horizontale",vertical:"Verticale"},position:"",positions:{"bottom-left":"En bas à gauche","bottom-right":"En bas à droite","top-left":"En haut à gauche","top-right":"En haut à droite"}}},draggable:"La vue des caméras en direct peut être déplacée/glissée",lazy_load:"Les caméras en direct sont chargeés en différé",lazy_unload:"Les caméras en direct sont déchargés en différé",microphone:{always_connected:"Toujours garder le microphone connecté",disconnect_seconds:"Secondes après quoi déconnecter le microphone (0=jamais)",editor_label:"Microphone",enabled:"Microphone activé",mute_after_microphone_mute_seconds:"Secondes après la mise en sourdine du microphone pour couper l'audio entrant"},preload:"Précharger la vue en direct en arrière-plan",show_image_during_load:"Afficher une image fixe pendant le chargement du flux en direct",transition_effect:"Effet de transition de caméra en direct",zoomable:"Les caméras en direct peuvent être zoomées/panoramiques"},media_viewer:{auto_mute:"Couper automatiquement le son des médias",auto_pause:"Mettre automatiquement en pause les médias",auto_play:"Lire automatiquement les médias",auto_unmute:"Activer automatiquement le son des médias",controls:{editor_label:"Commandes de la visionneuse multimédia"},draggable:"La visionneuse multimédia peut être déplacée/glissée",lazy_load:"Les médias Media Viewer sont chargés en différé dans le carrousel",snapshot_click_plays_clip:"Cliquer sur un instantané lit l'extrait associé",transition_effect:"Effet de transition de la visionneuse multimédia",transition_effects:{none:"Pas de transition",slide:"Transition de diapositive"},zoomable:"La visionneuse multimédia peut être zoomée/panoramique"},menu:{alignment:"Alignement des menus",alignments:{bottom:"Aligné vers le bas",left:"Aligné à gauche",right:"Aligné à droite",top:"Aligné vers le haut"},button_size:"Taille du bouton de menu en pixels",buttons:{alignment:"Alignement des boutons",alignments:{matching:"Faire correspondre l'alignement du menu",opposing:"S'opposer à l'alignement des menus"},camera_ui:"Interface utilisateur de la caméra",cameras:"Cameras",clips:"Extraits",display_mode:"Mode d'afficahge",download:"Télécharger",enabled:"Bouton activé",expand:"Développer",frigate:"Menu Frigate / Vue par défaut",fullscreen:"Plein écran",icon:"Icône",image:"Image",live:"En direct",media_player:"Envoyer au lecteur multimédia",microphone:"Microphone",mute:"Désactiver/Réactiver le son",permanent:"Afficher lorsque le menu est caché",play:"Jouer / Pause",priority:"Priorité",ptz_controls:"Afficher les controles PTZ",ptz_home:"Position d'origine PTZ",recordings:"Enregistrements",screenshot:"Capture d'écran",snapshots:"Instantanés",substreams:"flux secondaires",timeline:"Chronologie",type:"Type de bouton",types:{momentary:"Momentané",toggle:"Basculer"}},position:"Emplacement des menus",positions:{bottom:"Positionné en bas",left:"Positionné à gauche",right:"Positionné à droite",top:"Positionné en haut"},style:"Style de menu",styles:{hidden:"Menu caché",hover:"Menu survolé","hover-card":"Menu survolé (à l'échelle de la carte)",none:"Pas de menu",outside:"Menu extérieur",overlay:"Menu superposé"}},overrides:{info:"Cette configuration de carte comporte des remplacements spécifiés manuellement et configurés qui peuvent remplacer les valeurs affichées dans l'éditeur visuel. Veuillez consulter l'éditeur de code pour afficher/modifier ces remplacements."},performance:{features:{animated_progress_indicator:"Indicateur de progression animé",editor_label:"Options de fonctionnalités",max_simultaneous_engine_requests:"Nombre maximal de requêtes simultanées au moteur de caméra",media_chunk_size:"Taille du morceau de média"},style:{border_radius:"Courbes",box_shadow:"Ombres",editor_label:"Options de style"},warning:"Cette carte est en mode profil bas, les paramètres par défaut ont donc été modifiés pour optimiser les performances."},profiles:{casting:"Diffusion",editor_label:"Configuration des profils","low-performance":"Basse performance",scrubbing:"Balayage vidéo"},status_bar:{height:"Hauteur de la barre d'état en pixels",items:{enabled:"Item activé",engine:"Moteur de camera",live_provider:"fournisseur de flux en direc",priority:"Priorité de l'item",resolution:"Résolution",technology:"Technologie",title:"Titre"},popup_seconds:"Secondes de popup de la barre d'état",position:"Position de la barre d'état",positions:{bottom:"Postionné en bas",top:"Postionné en haut"},style:"Style de la barre d'état",styles:{hover:"Barre d'état au survol","hover-card":"Barre d'état au survol (sur toute la carte)",none:"Pas de barre d'état",outside:"Barre d'état extérieure",overlay:"Barre d'état superposée",popup:"Barre d'état contextuelle"}},view:{camera_select:"Afficher les caméras nouvellement sélectionnées",dark_mode:"Mode sombre",dark_modes:{auto:"Automatique",off:"Désactivé",on:"Activé"},default:"Vue par défaut",default_cycle_camera:"Parcourez les caméras lorsque la vue par défaut est mise à jour",default_reset:{after_interaction:"Réinitialiser à la vue par défaut après la fin de l'interaction de l'utilisateur",editor_label:"Comportement de réinitialisation de la vue par défaut",entities:"Réinitialiser à la vue par défaut lors du changement d'état de l'entité",every_seconds:"Actualiser la vue par défaut toutes les X secondes (0=jamais)",interaction_mode:"Comment la réinitialisation par défaut se comporte lorsque la carte a une interaction humaine",interaction_modes:{active:"Autoriser la réinitialisation uniquement lorsque la carte a une interaction humaine active",all:"Réinitialiser indépendamment de l'interaction humaine",inactive:"Réinitialiser uniquement lorsque la carte n'a pas d'interaction humaine"}},interaction_seconds:"Secondes après l'action de l'utilisateur pour maintenir l'interaction (0=jamais)",keyboard_shortcuts:{editor_label:"Raccourcis clavier",enabled:"Raccourcis clavier activés",ptz_down:"PTZ bas",ptz_home:"PTZ position d'origine",ptz_left:"PTZ gauche",ptz_right:"PTZ droite",ptz_up:"PTZ haut",ptz_zoom_in:"PTZ zoomer",ptz_zoom_out:"PTZ dézoomer"},triggers:{actions:{editor_label:"Actions de déclenchement",interaction_mode:"Comment gérer les actions lorsque la carte comporte une interaction humaine ?",interaction_modes:{active:"Ne déclencher des actions que lorsque la carte a une interaction humaine",all:"Déclencher des actions sans interaction humaine",inactive:"Ne déclencher des actions que lorsque la carte n'a pas d'interaction humaine"},trigger:"Actions de déclenchement",triggers:{default:"Changement ou mise à jour de la vue par défaut",live:"Change ou met a jour la vue en direct",media:"Changement d'affichage pour les nouveaux médias",none:"Pas d'acction"},untrigger:"Action de désactivation",untriggers:{default:"Passage à la vue/caméra par défaut",none:"Pas d'action"}},editor_label:"Comportement en cas de déclenchement d'une caméra",filter_selected_camera:"Déclenchement uniquement sur la caméra sélectionnée",show_trigger_status:"Afficher la bordure clignotante lors du déclenchement",untrigger_seconds:"Quelques secondes après le changement d'état inactif pour débloquer"},views:{clip:"Clip le plus récent",clips:"Galerie de clips",current:"Vue actuelle",image:"Image statique",live:"Vue en direct",recording:"Enregistrement le plus récent",recordings:"Galerie d'enregistrements",snapshot:"Instantané le plus récent",snapshots:"Galerie d'instantanés",timeline:"Vue chronologique"}}},t={grid:"Afficher la visionneuse de médias pour chaque caméra d'une grille",single:"Afficher une seule visionneuse"},i={add_new_camera:"Ajouter une nouvelle caméra",button:"Bouton",camera:"Caméra",cameras:"Caméras",cameras_secondary:"Quelles caméras afficher sur cette carte",delete:"Supprimer",dimensions:"Dimensions",dimensions_secondary:"Options de dimensions et de forme",image:"Image",image_secondary:"Options d'affichage d'image statique",live:"En direct",live_secondary:"Options d'affichage de la caméra en direct",media_gallery:"Galerie des médias",media_gallery_secondary:"Options de la galerie multimédia",media_viewer:"Visionneuse de médias",media_viewer_secondary:"Visionneuse de médias statiques (clips, instantanés ou enregistrements)",menu:"Menu",menu_secondary:"Options d'apparence et de convivialité du menu",move_down:"Descendre",move_up:"Déplacer vers le haut",overrides:"Les remplacements sont actifs",overrides_secondary:"Remplacements de configuration dynamique détectés",performance:"Performance",performance_secondary:"Options de performances de la carte",profiles:"Profils de confi",profiles_secondary:"Choisir des ensembles de paramètres par défaut pré-configurés",status_bar:"Barre d'état",status_bar_secondary:"Options d'apparence et de comportement de la barre d'état",timeline:"Chronologie",timeline_secondary:"Options de chronologie des événements",upgrade:"Mise à niveau",upgrade_available:"Une mise à niveau automatique de la configuration de la carte est disponible",view:"Voir",view_secondary:"Ce que la carte doit montrer et comment la montrer"},n={ptz:{down:"Bas",home:"Origine",left:"Gauche",right:"Droite",up:"Haut",zoom_in:"Zoomer",zoom_out:"Dézoomer"}},r={awaiting_live:"En attente du flux en direct...",awaiting_media:"En attente du chargement des médias",camera_initialization:"Échec de l'initialisation de la caméra",camera_initialization_reolink:"Impossible d'initialiser la caméra Reolink",could_not_render_elements:"Impossible de restituer les éléments de l'image",could_not_resolve:"Impossible de résoudre l'URL du média",diagnostics:"Diagnostic de la carte. Veuillez enlever les informations confidentielles avant de les partager",download_no_media:"Aucun média à télécharger",download_sign_failed:"Impossible de signer l'URL du média à télécharger",duplicate_camera_id:"ID de caméra Frigate en double pour la caméra suivante, utilisez le paramètre « ID » pour identifier de manière unique les caméras",empty_response:"Réponse vide reçue de Home Assistant pour la demande",failed_response:"Échec de la réponse de Home Assistant à la demande",failed_retain:"Impossible de conserver l'événement",failed_sign:"Impossible de signer l'URL de Home Assistant",image_load_error:"L'image n'a pas pu être chargée",invalid_configuration:"Configuration invalide",invalid_configuration_no_hint:"Aucune indication de localisation disponible (type incorrect ou manquant ?)",invalid_configuration_override:"Configuration de remplacement invalide",invalid_elements_config:"Configuration des éléments d'image invalide",invalid_response:"Réponse non valide reçue de Home Assistant pour la demande",jsmpeg_no_player:"Impossible de démarrer le lecteur JSMPEG",live_camera_no_endpoint:"Impossible d'obtenir le point de terminaison de la caméra pour ce fournisseur en direct (configuration incomplète ?)",live_camera_not_found:"L'entité caméra configurée n'a pas été trouvée",live_camera_unavailable:"Caméra indisponible",no_camera_engine:"Impossible de déterminer le moteur approprié pour la caméra",no_camera_entity:"Impossible de trouver l'entité de caméra",no_camera_entity_for_triggers:"Une entité caméra est requise pour détecter automatiquement les déclencheurs",no_camera_id:"Impossible de déterminer l'identifiant de la caméra suivante. Il faudra peut-être définir le paramètre « ID » manuellement",no_camera_name:"Impossible de déterminer le nom de la caméra Frigate pour la caméra (ou l'une de ses dépendances). Veuillez spécifier soit « camera_entity » soit « camera_name ».",no_dashboard_or_view:"Les paramètres 'dashboard_path' et 'view_path' sont requis pour la méthode de conversion 'dashboard'",no_live_camera:"Le paramètre camera_entity doit être défini et valide pour ce fournisseur en direct",no_supported_camera:"La caméra sélectionnée ne prend pas en charge cette vue",no_supported_cameras:"Aucune caméra ne prend en charge cette vue",reconnecting:"Reconnexion",too_many_automations:"Trop d'appels d'automatisation imbriqués, veuillez vérifier votre configuration pour les boucles",troubleshooting:"Vérifier le dépannage",unknown:"Erreur inconnue",upgrade_available:"Une mise à niveau automatisée de la configuration de la carte est disponible, veuillez visiter l'éditeur visuel de la carte",webrtc_card_reported_error:"La carte WebRTC a signalé une erreur",webrtc_card_waiting:"En attente du chargement de la carte WebRTC..."},o={camera:"Caméra",duration:"Durée",in_progress:"En cours",score:"Score",seek:"Chercher",start:"Commencer",tag:"Étiqueter",what:"Quoi",where:"Où"},s={assign:"Assigner",assigning:"Assignation",modifiers:{alt:"",ctrl:"",meta:"",shift:""},unassign:"Désassigner"},l={all:"Tous",camera:"Caméra",favorite:"Préféré",media_type:"Type de support",media_types:{clips:"Extraits",recordings:"Enregistrements",snapshots:"Instantanés"},not_favorite:"Pas favori",select_camera:"Sélectionnez une caméra...",select_favorite:"Sélectionnez un favori...",select_media_type:"Sélectionnez le type de média...",select_tag:"Sélectionnez la balise...",select_what:"Sélectionnez quoi...",select_when:"Sélectionnez quand...",select_where:"Sélectionnez où...",tag:"Étiqueter",what:"Quoi",when:"Quand",whens:{custom:"",past_month:"Mois passé",past_week:"La semaine dernière",today:"Aujourd'hui",yesterday:"Hier"},where:"Où"},d={unseekable:"Temps non trouvé dans les médias"},c={camera:"Caméra",duration:"Durée",events:"Événements",in_progress:"En cours",seek:"Chercher",start:"Commencer"},u={download:"Télécharger des médias",no_thumbnail:"Aucune vignette disponible",retain_indefinitely:"Les médias seront conservés indéfiniment",timeline:"Voir les médias dans la chronologie"},m={select_date:"Choisir une date"},p={common:e,config:a,display_modes:t,editor:i,elements:n,error:r,event:o,key_assigner:s,media_filter:l,media_viewer:d,recording:c,thumbnail:u,timeline:m};export{e as common,a as config,p as default,t as display_modes,i as editor,n as elements,r as error,o as event,s as key_assigner,l as media_filter,d as media_viewer,c as recording,u as thumbnail,m as timeline}; diff --git a/config/www/community/frigate-hass-card/lang-fr-ea16daba.js.gz b/config/www/community/frigate-hass-card/lang-fr-ea16daba.js.gz deleted file mode 100644 index 485746340ccecf54cfdfa65b647c9497765d7c1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7536 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 1 Frigate server)",editor_label:"Frigate Opzione",labels:"Etichette per fregate/filtri per oggetti",url:"Frigate URL del server",zones:"Frigate Zone"},go2rtc:{editor_label:"Opzioni go2rtc",modes:{editor_label:"Modalità go2rtc",mjpeg:"JPEG animato (MJPEG)",mp4:"MPEG-4 (MP4)",mse:"Estensioni sorgente multimediale (MSE)",webrtc:"Comunicazione Web in tempo reale (WebRTC)"},stream:"nome del flusso go2rtc"},hide:"Nascondi la videocamera dall'interfaccia utente",icon:"Icona per questa telecamera (Autoidentificato dall'entità)",id:"ID univoco per questa telecamera in questa carta",image:{editor_label:"Opzioni immagine",refresh_seconds:"Numero di secondi dopo i quali aggiornare l'immagine live (0=mai)",url:"URL dell'immagine da utilizzare al posto dell'istantanea dell'entità fotocamera"},live_provider:"Provider di visualizzazione dal vivo per questa telecamera",live_provider_options:{editor_label:"Opzioni del fornitore in tempo reale"},live_providers:{auto:"Automatica",go2rtc:"go2rtc",ha:"Streaming video di Home Assistant (ovvero HLS, LL-HLS, WebRTC tramite HA)",image:"Immagini Home Assistant",jsmpeg:"JSMpeg","webrtc-card":"Scheda WebRTC (ovvero la scheda WebRTC di Alexxit)"},motioneye:{editor_label:"Opzioni di MotionEye",images:{directory_pattern:"Modello di directory delle immagini",file_pattern:"Modello di file di immagini"},movies:{directory_pattern:"Modello di directory dei film",file_pattern:"Modello di file di film"},url:"URL dell'interfaccia utente di MotionEye"},title:"Titolo per questa telecamera (Autoidentificato dall'entità)",triggers:{editor_label:"Trigger Opzioni",entities:"Trigger da altre entità",motion:"Trigger rilevando automaticamente dal sensore di movimento",occupancy:"Attivare rilevando automatico tramite il sensore di presenza"},webrtc_card:{editor_label:"Opzioni della scheda WebRTC",entity:"Entità della telecamera della scheda WebRTC (non una telecamera Frigate)",url:"URL della telecamera della scheda WebRTC"}},common:{controls:{builtin:"",filter:{editor_label:"Filtro multimediale",mode:"Modalità filtro",modes:{left:"Filtro multimediale in un cassetto a sinistra",none:"Nessun filtro multimediale",right:"Filtro multimediale in un cassetto a destra"}},next_previous:{editor_label:"Successivo e precedente",size:"Successiva e Precedenti dimensioni di controllo nei pixel",style:"Stile di controllo successivo e precedente",styles:{chevrons:"Chevrons",icons:"Icone",none:"Nessuno",thumbnails:"Miniature"}},thumbnails:{editor_label:"Miniature",media:"Se mostrare miniature di clip o istantanee",medias:{clips:"Miniature di clip",snapshots:"Miniature istantanee"},mode:"Modalità miniatura",modes:{above:"Miniature sopra",below:"Miniature sotto",left:"Miniature in un cassetto a sinistra",none:"Nessuna miniatura",right:"Miniature in un cassetto a destra"},show_details:"Mostra i dettagli con le miniature",show_download_control:"Mostra il controllo del download sulle miniature",show_favorite_control:"Mostra il controllo preferito sulle miniature",show_timeline_control:"Mostra il controllo della sequenza temporale sulle miniature",size:"Dimensione delle miniature in pixel"},timeline:{editor_label:"Mini Cronologia",mode:"Modalità",modes:{above:"sopra",below:"sotto",none:"sessuna"}},title:{duration_seconds:"Secondi per visualizzare il titolo popup (0 = per sempre)",editor_label:"Controlli titolo popup",mode:"Modalità di visualizzazione del titolo",modes:{none:"Nessuna visualizzazione del titolo","popup-bottom-left":"Popup in basso a sinistra","popup-bottom-right":"Popup in basso a destra","popup-top-left":"Popup in alto a sinistra","popup-top-right":"Popup in alto a destra"}}},layout:{fit:"Adatta al layout",fits:{contain:"Il supporto è contenuto/in cassetta delle lettere",cover:"Il supporto si espande proporzionalmente per coprire la scheda",fill:"Il supporto viene allungato per riempire la scheda"},position:{x:"Percentuale di posizionamento orizzontale",y:"Percentuale di posizionamento verticale"}},media_action_conditions:{all:"Tutte le opportunità",hidden:"Sul browser/nascondere le schede",never:"Mai",selected:"Sulla selezione",unselected:"Sulla non selezione",visible:"Sul browser/visibilità della scheda"},timeline:{clustering_threshold:"Il conteggio degli eventi in cui sono raggruppati (0 = nessun clustering)",media:"I media vengono visualizzati la sequenza temporale",medias:{all:"Tutti i tipi di media",clips:"Clip",snapshots:"Istantanee"},show_recordings:"Mostra registrazioni",style:"",styles:{ribbon:"",stack:""},window_seconds:"La lunghezza predefinita della vista della sequenza temporale in secondi"}},dimensions:{aspect_ratio:"Proporzioni predefinite (ad es. '16:9')",aspect_ratio_mode:"Modalità proporzioni",aspect_ratio_modes:{dynamic:"Le proporzioni si adattano ai media",static:"Proporzioni statiche",unconstrained:"Proporzioni non vincolate"},max_height:"",min_height:""},image:{layout:"Disposizione dell'immagine",mode:"Modalità Visualizza immagine",modes:{camera:"Istantanea della telecamera di Home Assistant dell'entità telecamera",screensaver:"Logo Frigate incorporato",url:"Immagine arbitraria specificata dall'URL"},refresh_seconds:"Numero di secondi dopo i quali aggiornare (0 = mai)",url:"URL di immagine statica per la vista dell'immagine",zoomable:""},live:{auto_mute:"Muta automaticamente le telecamere in diretta",auto_pause:"Metti in pausa automaticamente le telecamere in diretta",auto_play:"Gioca automaticamente le telecamere dal vivo",auto_unmute:"Riattiva automaticamente l'audio delle telecamere live",controls:{editor_label:"Controlli dal vivo"},draggable:"Il Visualizzatore eventi può essere trascinato oppure puoi scorrere",layout:"Disposizione dal vivo",lazy_load:"Le telecamere dal vivo sono pigramente cariche",lazy_unload:"Le telecamere dal vivo sono pigramente non caricate",microphone:{always_connected:"",disconnect_seconds:"",editor_label:"",enabled:""},preload:"Precarica Live View in background",show_image_during_load:"Mostra un'immagine fissa durante il caricamento del live streaming",transition_effect:"Effetto di transizione della telecamera dal vivo",zoomable:""},media_viewer:{auto_mute:"Muta automaticamente i media",auto_pause:"Metti in Pausa automaticamente i media",auto_play:"Riproduci automaticamente i contenuti multimediali",auto_unmute:"Riattiva automaticamente i contenuti multimediali",controls:{editor_label:"Controlli di visualizzatore multimediale"},draggable:"Il visualizzatore multimediale può essere trascinato oppure può scorrere",layout:"Layout del visualizzatore multimediale",lazy_load:"Il media Viewer viene caricato pigramente nel carosello",transition_effect:"Effetto di transizione del visualizzatore multimediale",transition_effects:{none:"Nessuna transizione",slide:"Transizione diapositiva"},zoomable:""},menu:{alignment:"Allineamento dei menu",alignments:{bottom:"Allineato al fondo",left:"Allineato a sinistra",right:"Allineato a destra",top:"Allineato in cima"},button_size:"Dimensione del pulsante menu in pixel",buttons:{alignment:"Allineamento dei pulsanti",alignments:{matching:"Corrispondenza con l'allineamento del menu",opposing:"Contrastare l'allineamento del menu"},camera_ui:"Interfaccia utente della fotocamera",cameras:"Telecamere",clips:"Clip",download:"Download",enabled:"Pulsante abilitato",expand:"Espandere",frigate:"Frigate menu / Visualizzazione predefinita",fullscreen:"A schermo intero",icon:"Icona",image:"Immagine",live:"Abitare",media_player:"Invia a Media Player",mute:"",play:"",priority:"Priorità",screenshot:"",snapshots:"Istantanee",substreams:"Flusso/i secondario/i",timeline:"Timeline",type:"",types:{momentary:"",toggle:""}},position:"Posizione del menu",positions:{bottom:"Posizionato sul fondo",left:"Posizionato a sinistra",right:"Posizionato a destra",top:"Posizionato in alto"},style:"Stile menu",styles:{hidden:"Menu nascosto",hover:"Menu al passaggio del mouse",none:"Nessun menu",outside:"Menu esterno",overlay:"Menu di overlay"}},overrides:{info:"Questa configurazione della scheda ha specificato manualmente le sostituzioni configurate che possono sostituire i valori mostrati nell'editor visivo, consultare l'editor di codice per visualizzare/modificare queste sostituzioni"},performance:{features:{animated_progress_indicator:"Indicatore di avanzamento animato",editor_label:"Opzioni funzionalità",media_chunk_size:"Dimensione del blocco multimediale"},profile:"Profilo delle prestazioni",profiles:{high:"Prestazioni alte",low:"Prestazioni basse"},style:{border_radius:"Curve",box_shadow:"Ombre",editor_label:"Opzione di stile"},warning:"Questa scheda è in modalità basso profilo, quindi le impostazioni predefinite sono state modificate per ottimizzare le prestazioni"},view:{camera_select:"Visualizza per le telecamere appena selezionate",dark_mode:"Tema scuro",dark_modes:{auto:"auto",off:"Off",on:"On"},default:"Visualizzazione predefinita",scan:{enabled:"Modalità di scansione abilitata",scan_mode:"Modalità di scansione",show_trigger_status:"Mostra bordo pulsante quando attivato",untrigger_reset:"Reset the view to default after untrigger",untrigger_seconds:"Reimposta la vista ai valori predefiniti dopo aver annullato l'attivazione"},timeout_seconds:"Ripristina la vista predefinita x secondi dopo l'azione dell'utente (0 = mai)",update_cycle_camera:"Scorri le telecamere quando si aggiorna la visualizzazione predefinita",update_force:"Aggiornamenti della scheda forza (ignora l'interazione dell'utente)",update_seconds:"Aggiorna la visualizzazione predefinita ogni x secondi (0 = mai)",views:{clip:"Clip più recente",clips:"Galleria delle clip",current:"Vista corrente",image:"Immagine statica",live:"Dal vivo",snapshot:"Snapshot più recente",snapshots:"Galleria delle istantanee",timeline:"Vista della timeline"}}},a={add_new_camera:"Aggiungi nuova telecamera",button:"Pulsante",camera:"Telecamera",cameras:"Telecamere",cameras_secondary:"Quali telecamere visualizzare su questa card",delete:"Elimina",dimensions:"Dimensioni",dimensions_secondary:"Dimensioni e opzioni di forma",image:"Immagine",image_secondary:"Opzioni di visualizzazione dell'immagine statica",live:"Live",live_secondary:"Opzioni di visualizzazione della telecamera live",media_gallery:"Galleria multimediale",media_gallery_secondary:"Opzioni della galleria multimediale",media_viewer:"Visualizzatore dei media",media_viewer_secondary:"Visualizzatore per supporti statici (clip, istantanee o registrazioni)",menu:"Menu",menu_secondary:"Opzioni di aspetto e funzionalità del menu",move_down:"Sposta verso il basso",move_up:"Sposta verso l'alto",overrides:"La sovrascrittura è attiva",overrides_secondary:"Rilevate sovrascritture della configurazione dinamica",timeline:"Timeline",timeline_secondary:"Opzioni della timeline degli eventi",upgrade:"Aggiornamento",upgrade_available:"È disponibile un aggiornamento della configurazione della scheda automatica",view:"Visualizzazione",view_secondary:"Cosa dovrebbe mostrare la carta e come mostrarla"},o={ptz:{down:"Giù",home:"Home",left:"Sinistra",right:"Destra",up:"Su",zoom_in:"Ingrandire",zoom_out:"Zoom indietro"}},t={could_not_render_elements:"Impossibile renderizzare gli elementi dell'immagine",could_not_resolve:"Impossibile risolvere l'URL dei media",diagnostics:"Diagnostica delle carte.Si prega di rivedere per informazioni riservate prima di condividere",download_no_media:"Nessun media da scaricare",download_sign_failed:"Impossibile firmare URL multimediale per il download",duplicate_camera_id:"Duplicato ID dellla telecamera Frigate, utilizzare il parametro 'ID' per identificare in modo univoco le telecamere",empty_response:"Ricevuto risposta vuota da Home Assistant per la richiesta",failed_response:"Impossibile ricevere risposta da Home Assistant per la richiesta",failed_retain:"Impossibile conservare l'evento",failed_sign:"Impossibile firmare l'URL ad Home Assistant",image_load_error:"L'immagine non può essere caricata",invalid_configuration:"Configurazione non valida",invalid_configuration_no_hint:"Nessun suggerimento di posizione disponibile (tipo difettoso o mancante?)",invalid_elements_config:"Configurazione degli elementi di immagine non valida",invalid_response:"Ricevuta una risposta non valida da Home Assistant per la richiesta",jsmpeg_no_player:"Impossibile avviare JSMPEG Player",live_camera_no_endpoint:"Impossibile ottenere l'endpoint della videocamera per questo provider live (configurazione incompleta?)",live_camera_not_found:"La telecamera configurata non è stata trovata",live_camera_unavailable:"Telecamera non disponibile",no_camera_engine:"Impossibile determinare il motore adatto per la fotocamera",no_camera_entity:"Impossibile trovare l'entità fotocamera",no_camera_entity_for_triggers:"È necessaria un'entità telecamera per rilevare automaticamente i trigger",no_camera_id:"Impossibile determinare l'ID della telecamera , potrebbe essere necessario impostare manualmente il parametro 'ID'",no_camera_name:"Impossibile determinare un nome della telecamera in Frigate, si prega di specificare 'camera_enty' o 'camera_name'",no_live_camera:"Il parametro fotocamera_enty deve essere impostato e valido per questo provider live",no_visible_cameras:"Nessuna telecamera visibile trovata, è necessario configurare almeno una telecamera non nascosta",reconnecting:"Riconnessione",timeline_no_cameras:"Nessuna telecamera damostrare in Frigate nella timeline",troubleshooting:"Controllare la risoluzione dei problemi",too_many_automations:"",unknown:"Errore sconosciuto",upgrade_available:"È disponibile un aggiornamento di configurazione della scheda automatizzato, visitare l'editor di schede visive",webrtc_card_reported_error:"La scheda WebRTC ha riportato un errore",webrtc_card_waiting:"Aspettando che la scheda WebRTC si carichi ..."},n={camera:"Camera",duration:"Durata",in_progress:"In corso",score:"Punteggio",seek:"Cercare",start:"Avvia",what:"Che cosa",where:"Dove"},r={all:"Tutto",camera:"Telecamera",favorite:"Preferito",media_type:"Tipo di supporto",media_types:{clips:"Clip",recordings:"Registrazioni",snapshots:"Istantanee"},not_favorite:"Non preferito",select_camera:"Seleziona fotocamera...",select_favorite:"Seleziona preferito...",select_media_type:"Seleziona il tipo di supporto...",select_what:"Seleziona cosa...",select_when:"Seleziona quando...",select_where:"Seleziona dove...",tag:"Tag",what:"Che cosa",when:"Quando",whens:{past_month:"Mese scorso",past_week:"Settimana scorso",today:"Oggi",yesterday:"Ieri"},where:"Dove"},l={camera:"Camera",duration:"Durata",events:"Eventi",in_progress:"In corso",seek:"Cercare",start:"Inizio"},s={no_thumbnail:"Nessuna miniatura disponibile",retain_indefinitely:"L'evento sarà mantenuto indefinitamente",timeline:"Vedi evento nella timeline"},d={pan_behavior:{pan:"",seek:"","seek-in-media":""},select_date:"Scegli la data"},m={common:e,config:i,editor:a,elements:o,error:t,event:n,media_filter:r,recording:l,thumbnail:s,timeline:d};export{e as common,i as config,m as default,a as editor,o as elements,t as error,n as event,r as media_filter,l as recording,s as thumbnail,d as timeline}; diff --git a/config/www/community/frigate-hass-card/lang-it-0e2e946c.js.gz b/config/www/community/frigate-hass-card/lang-it-0e2e946c.js.gz deleted file mode 100644 index 211783115137fc9fb62f7ac62aa5b5821711e340..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5442 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 1 Frigate server)",editor_label:"Frigate Opzione",labels:"Etichette per fregate/filtri per oggetti",url:"Frigate URL del server",zones:"Frigate Zone"},go2rtc:{editor_label:"Opzioni go2rtc",modes:{editor_label:"Modalità go2rtc",mjpeg:"JPEG animato (MJPEG)",mp4:"MPEG-4 (MP4)",mse:"Estensioni sorgente multimediale (MSE)",webrtc:"Comunicazione Web in tempo reale (WebRTC)"},stream:"nome del flusso go2rtc"},icon:"Icona per questa telecamera (Autoidentificato dall'entità)",id:"ID univoco per questa telecamera in questa carta",image:{editor_label:"Opzioni immagine",refresh_seconds:"Numero di secondi dopo i quali aggiornare l'immagine live (0=mai)",url:"URL dell'immagine da utilizzare al posto dell'istantanea dell'entità fotocamera"},live_provider:"Provider di visualizzazione dal vivo per questa telecamera",live_provider_options:{editor_label:"Opzioni del fornitore in tempo reale"},live_providers:{auto:"Automatica",go2rtc:"go2rtc",ha:"Streaming video di Home Assistant (ovvero HLS, LL-HLS, WebRTC tramite HA)",image:"Immagini Home Assistant",jsmpeg:"JSMpeg","webrtc-card":"Scheda WebRTC (ovvero la scheda WebRTC di Alexxit)"},motioneye:{editor_label:"Opzioni di MotionEye",images:{directory_pattern:"Modello di directory delle immagini",file_pattern:"Modello di file di immagini"},movies:{directory_pattern:"Modello di directory dei film",file_pattern:"Modello di file di film"},url:"URL dell'interfaccia utente di MotionEye"},proxy:{dynamic:"",editor_label:"",media:{auto:"",editor_label:"",false:"",true:""},ssl_ciphers:{auto:"",default:"",editor_label:"",insecure:"",intermediate:"",modern:""},ssl_verification:{auto:"",editor_label:"",false:"",true:""}},reolink:{editor_label:"",media_resolution:{editor_label:"",high:"",low:""},url:""},title:"Titolo per questa telecamera (Autoidentificato dall'entità)",triggers:{editor_label:"Trigger Opzioni",entities:"Trigger da altre entità",events:{clips:"",editor_label:"",events:"",snapshots:""},motion:"Trigger rilevando automaticamente dal sensore di movimento",occupancy:"Attivare rilevando automatico tramite il sensore di presenza"},webrtc_card:{editor_label:"Opzioni della scheda WebRTC",entity:"Entità della telecamera della scheda WebRTC (non una telecamera Frigate)",url:"URL della telecamera della scheda WebRTC"}},common:{controls:{builtin:"",filter:{editor_label:"Filtro multimediale",mode:"Modalità filtro",modes:{left:"Filtro multimediale in un cassetto a sinistra",none:"Nessun filtro multimediale",right:"Filtro multimediale in un cassetto a destra"}},next_previous:{editor_label:"Successivo e precedente",size:"Successiva e Precedenti dimensioni di controllo nei pixel",style:"Stile di controllo successivo e precedente",styles:{chevrons:"Chevrons",icons:"Icone",none:"Nessuno",thumbnails:"Miniature"}},thumbnails:{editor_label:"Miniature",events_media_type:"Se mostrare miniature di clip o istantanee",events_media_types:{clips:"Miniature di clip",snapshots:"Miniature istantanee"},media_type:"",media_types:{events:"",recordings:""},mode:"Modalità miniatura",modes:{above:"Miniature sopra",below:"Miniature sotto",left:"Miniature in un cassetto a sinistra",none:"Nessuna miniatura",right:"Miniature in un cassetto a destra"},show_details:"Mostra i dettagli con le miniature",show_download_control:"Mostra il controllo del download sulle miniature",show_favorite_control:"Mostra il controllo preferito sulle miniature",show_timeline_control:"Mostra il controllo della sequenza temporale sulle miniature",size:"Dimensione delle miniature in pixel"},timeline:{editor_label:"Mini Cronologia",mode:"Modalità",modes:{above:"sopra",below:"sotto",none:"sessuna"},pan_mode:"",pan_modes:{pan:"",seek:"","seek-in-camera":"","seek-in-media":""}}},display:{editor_label:"",grid_columns:"",grid_max_columns:"",grid_selected_width_factor:"",mode:""},image:{entity:"",entity_parameters:"",mode:"Modalità Visualizza immagine",modes:{camera:"Istantanea della telecamera di Home Assistant dell'entità telecamera",entity:"",screensaver:"Logo Frigate incorporato",url:"Immagine arbitraria specificata dall'URL"},refresh_seconds:"Numero di secondi dopo i quali aggiornare (0 = mai)",url:"URL di immagine statica per la vista dell'immagine"},media_action_conditions:{all:"Tutte le opportunità",hidden:"Sul browser/nascondere le schede",microphone_mute:"",microphone_unmute:"",never:"Mai",selected:"Sulla selezione",unselected:"Sulla non selezione",visible:"Sul browser/visibilità della scheda"},timeline:{clustering_threshold:"Il conteggio degli eventi in cui sono raggruppati (0 = nessun clustering)",events_media_type:"I media vengono visualizzati la sequenza temporale",events_media_types:{all:"Tutti i tipi di media",clips:"Clip",snapshots:"Istantanee"},show_recordings:"Mostra registrazioni",style:"",styles:{ribbon:"",stack:""},window_seconds:"La lunghezza predefinita della vista della sequenza temporale in secondi"}},dimensions:{aspect_ratio:"Proporzioni predefinite (ad es. '16:9')",aspect_ratio_mode:"Modalità proporzioni",aspect_ratio_modes:{dynamic:"Le proporzioni si adattano ai media",static:"Proporzioni statiche",unconstrained:"Proporzioni non vincolate"},height:""},live:{auto_mute:"Muta automaticamente le telecamere in diretta",auto_pause:"Metti in pausa automaticamente le telecamere in diretta",auto_play:"Gioca automaticamente le telecamere dal vivo",auto_unmute:"Riattiva automaticamente l'audio delle telecamere live",controls:{editor_label:"Controlli dal vivo",ptz:{editor_label:"",hide_home:"",hide_pan_tilt:"",hide_zoom:"",mode:"",modes:{off:"",on:""},orientation:"",orientations:{horizontal:"",vertical:""},position:"",positions:{"bottom-left":"","bottom-right":"","top-left":"","top-right":""}}},draggable:"Il Visualizzatore eventi può essere trascinato oppure puoi scorrere",lazy_load:"Le telecamere dal vivo sono pigramente cariche",lazy_unload:"Le telecamere dal vivo sono pigramente non caricate",microphone:{always_connected:"",disconnect_seconds:"",editor_label:"",enabled:"",mute_after_microphone_mute_seconds:""},preload:"Precarica Live View in background",show_image_during_load:"Mostra un'immagine fissa durante il caricamento del live streaming",transition_effect:"Effetto di transizione della telecamera dal vivo",zoomable:""},media_viewer:{auto_mute:"Muta automaticamente i media",auto_pause:"Metti in Pausa automaticamente i media",auto_play:"Riproduci automaticamente i contenuti multimediali",auto_unmute:"Riattiva automaticamente i contenuti multimediali",controls:{editor_label:"Controlli di visualizzatore multimediale"},draggable:"Il visualizzatore multimediale può essere trascinato oppure può scorrere",lazy_load:"Il media Viewer viene caricato pigramente nel carosello",snapshot_click_plays_clip:"",transition_effect:"Effetto di transizione del visualizzatore multimediale",transition_effects:{none:"Nessuna transizione",slide:"Transizione diapositiva"},zoomable:""},menu:{alignment:"Allineamento dei menu",alignments:{bottom:"Allineato al fondo",left:"Allineato a sinistra",right:"Allineato a destra",top:"Allineato in cima"},button_size:"Dimensione del pulsante menu in pixel",buttons:{alignment:"Allineamento dei pulsanti",alignments:{matching:"Corrispondenza con l'allineamento del menu",opposing:"Contrastare l'allineamento del menu"},camera_ui:"Interfaccia utente della fotocamera",cameras:"Telecamere",clips:"Clip",display_mode:"",download:"Download",enabled:"Pulsante abilitato",expand:"Espandere",frigate:"Frigate menu / Visualizzazione predefinita",fullscreen:"A schermo intero",icon:"Icona",image:"Immagine",live:"Abitare",media_player:"Invia a Media Player",microphone:"",mute:"",permanent:"",play:"",priority:"Priorità",ptz_controls:"",ptz_home:"",recordings:"",screenshot:"",snapshots:"Istantanee",substreams:"Flusso/i secondario/i",timeline:"Timeline",type:"",types:{momentary:"",toggle:""}},position:"Posizione del menu",positions:{bottom:"Posizionato sul fondo",left:"Posizionato a sinistra",right:"Posizionato a destra",top:"Posizionato in alto"},style:"Stile menu",styles:{hidden:"Menu nascosto",hover:"Menu al passaggio del mouse","hover-card":"",none:"Nessun menu",outside:"Menu esterno",overlay:"Menu di overlay"}},overrides:{info:"Questa configurazione della scheda ha specificato manualmente le sostituzioni configurate che possono sostituire i valori mostrati nell'editor visivo, consultare l'editor di codice per visualizzare/modificare queste sostituzioni"},performance:{features:{animated_progress_indicator:"Indicatore di avanzamento animato",editor_label:"Opzioni funzionalità",max_simultaneous_engine_requests:"",media_chunk_size:"Dimensione del blocco multimediale"},style:{border_radius:"Curve",box_shadow:"Ombre",editor_label:"Opzione di stile"},warning:"Questa scheda è in modalità basso profilo, quindi le impostazioni predefinite sono state modificate per ottimizzare le prestazioni"},profiles:{casting:"",editor_label:"","low-performance":"",scrubbing:""},status_bar:{height:"",items:{enabled:"",engine:"",live_provider:"",priority:"",resolution:"",technology:"",title:""},popup_seconds:"",position:"",positions:{bottom:"",top:""},style:"",styles:{hover:"","hover-card":"",none:"",outside:"",overlay:"",popup:""}},view:{camera_select:"Visualizza per le telecamere appena selezionate",dark_mode:"Tema scuro",dark_modes:{auto:"auto",off:"Off",on:"On"},default:"Visualizzazione predefinita",default_cycle_camera:"Scorri le telecamere quando si aggiorna la visualizzazione predefinita",default_reset:{after_interaction:"",editor_label:"",entities:"",every_seconds:"Aggiorna la visualizzazione predefinita ogni x secondi (0 = mai)",interaction_mode:"",interaction_modes:{active:"",all:"",inactive:""}},interaction_seconds:"",keyboard_shortcuts:{editor_label:"",enabled:"",ptz_down:"",ptz_home:"",ptz_left:"",ptz_right:"",ptz_up:"",ptz_zoom_in:"",ptz_zoom_out:""},triggers:{actions:{editor_label:"",interaction_mode:"",interaction_modes:{active:"",all:"",inactive:""},trigger:"",triggers:{default:"",live:"",media:"",none:""},untrigger:"",untriggers:{default:"",none:""}},editor_label:"",filter_selected_camera:"",show_trigger_status:"Mostra bordo pulsante quando attivato",untrigger_seconds:"Reimposta la vista ai valori predefiniti dopo aver annullato l'attivazione"},views:{clip:"Clip più recente",clips:"Galleria delle clip",current:"Vista corrente",image:"Immagine statica",live:"Dal vivo",recording:"",recordings:"",snapshot:"Snapshot più recente",snapshots:"Galleria delle istantanee",timeline:"Vista della timeline"}}},a={grid:"",single:""},t={add_new_camera:"Aggiungi nuova telecamera",button:"Pulsante",camera:"Telecamera",cameras:"Telecamere",cameras_secondary:"Quali telecamere visualizzare su questa card",delete:"Elimina",dimensions:"",dimensions_secondary:"",image:"Immagine",image_secondary:"Opzioni di visualizzazione dell'immagine statica",live:"Live",live_secondary:"Opzioni di visualizzazione della telecamera live",media_gallery:"Galleria multimediale",media_gallery_secondary:"Opzioni della galleria multimediale",media_viewer:"Visualizzatore dei media",media_viewer_secondary:"Visualizzatore per supporti statici (clip, istantanee o registrazioni)",menu:"Menu",menu_secondary:"Opzioni di aspetto e funzionalità del menu",move_down:"Sposta verso il basso",move_up:"Sposta verso l'alto",overrides:"La sovrascrittura è attiva",overrides_secondary:"Rilevate sovrascritture della configurazione dinamica",performance:"",performance_secondary:"",profiles:"",profiles_secondary:"",status_bar:"",status_bar_secondary:"",timeline:"Timeline",timeline_secondary:"Opzioni della timeline degli eventi",upgrade:"Aggiornamento",upgrade_available:"È disponibile un aggiornamento della configurazione della scheda automatica",view:"Visualizzazione",view_secondary:"Cosa dovrebbe mostrare la carta e come mostrarla"},o={ptz:{down:"Giù",home:"Home",left:"Sinistra",right:"Destra",up:"Su",zoom_in:"Ingrandire",zoom_out:"Zoom indietro"}},n={awaiting_live:"",awaiting_media:"",camera_initialization:"",camera_initialization_reolink:"",could_not_render_elements:"Impossibile renderizzare gli elementi dell'immagine",could_not_resolve:"Impossibile risolvere l'URL dei media",diagnostics:"Diagnostica delle carte.Si prega di rivedere per informazioni riservate prima di condividere",download_no_media:"Nessun media da scaricare",download_sign_failed:"Impossibile firmare URL multimediale per il download",duplicate_camera_id:"Duplicato ID dellla telecamera Frigate, utilizzare il parametro 'ID' per identificare in modo univoco le telecamere",empty_response:"Ricevuto risposta vuota da Home Assistant per la richiesta",failed_response:"Impossibile ricevere risposta da Home Assistant per la richiesta",failed_retain:"Impossibile conservare l'evento",failed_sign:"Impossibile firmare l'URL ad Home Assistant",image_load_error:"L'immagine non può essere caricata",invalid_configuration:"Configurazione non valida",invalid_configuration_no_hint:"Nessun suggerimento di posizione disponibile (tipo difettoso o mancante?)",invalid_configuration_override:"",invalid_elements_config:"Configurazione degli elementi di immagine non valida",invalid_response:"Ricevuta una risposta non valida da Home Assistant per la richiesta",jsmpeg_no_player:"Impossibile avviare JSMPEG Player",live_camera_no_endpoint:"Impossibile ottenere l'endpoint della videocamera per questo provider live (configurazione incompleta?)",live_camera_not_found:"La telecamera configurata non è stata trovata",live_camera_unavailable:"Telecamera non disponibile",no_camera_engine:"Impossibile determinare il motore adatto per la fotocamera",no_camera_entity:"Impossibile trovare l'entità fotocamera",no_camera_entity_for_triggers:"È necessaria un'entità telecamera per rilevare automaticamente i trigger",no_camera_id:"Impossibile determinare l'ID della telecamera , potrebbe essere necessario impostare manualmente il parametro 'ID'",no_camera_name:"Impossibile determinare un nome della telecamera in Frigate, si prega di specificare 'camera_enty' o 'camera_name'",no_dashboard_or_view:"",no_live_camera:"Il parametro fotocamera_enty deve essere impostato e valido per questo provider live",no_supported_camera:"",no_supported_cameras:"",reconnecting:"Riconnessione",too_many_automations:"",troubleshooting:"Controllare la risoluzione dei problemi",unknown:"Errore sconosciuto",upgrade_available:"È disponibile un aggiornamento di configurazione della scheda automatizzato, visitare l'editor di schede visive",webrtc_card_reported_error:"La scheda WebRTC ha riportato un errore",webrtc_card_waiting:"Aspettando che la scheda WebRTC si carichi ..."},r={camera:"Camera",duration:"Durata",in_progress:"In corso",score:"Punteggio",seek:"Cercare",start:"Avvia",tag:"",what:"Che cosa",where:"Dove"},l={assign:"",assigning:"",modifiers:{alt:"",ctrl:"",meta:"",shift:""},unassign:""},s={all:"Tutto",camera:"Telecamera",favorite:"Preferito",media_type:"Tipo di supporto",media_types:{clips:"Clip",recordings:"Registrazioni",snapshots:"Istantanee"},not_favorite:"Non preferito",select_camera:"Seleziona fotocamera...",select_favorite:"Seleziona preferito...",select_media_type:"Seleziona il tipo di supporto...",select_tag:"",select_what:"Seleziona cosa...",select_when:"Seleziona quando...",select_where:"Seleziona dove...",tag:"Tag",what:"Che cosa",when:"Quando",whens:{custom:"",past_month:"Mese scorso",past_week:"Settimana scorso",today:"Oggi",yesterday:"Ieri"},where:"Dove"},d={unseekable:""},m={camera:"Camera",duration:"Durata",events:"Eventi",in_progress:"In corso",seek:"Cercare",start:"Inizio"},c={download:"",no_thumbnail:"Nessuna miniatura disponibile",retain_indefinitely:"L'evento sarà mantenuto indefinitamente",timeline:"Vedi evento nella timeline"},u={select_date:"Scegli la data"},p={common:e,config:i,display_modes:a,editor:t,elements:o,error:n,event:r,key_assigner:l,media_filter:s,media_viewer:d,recording:m,thumbnail:c,timeline:u};export{e as common,i as config,p as default,a as display_modes,t as editor,o as elements,n as error,r as event,l as key_assigner,s as media_filter,d as media_viewer,m as recording,c as thumbnail,u as timeline}; diff --git a/config/www/community/frigate-hass-card/lang-it-2a20a319.js.gz b/config/www/community/frigate-hass-card/lang-it-2a20a319.js.gz deleted file mode 100644 index 64af2c941ad4181bf33253ae48ff280e2e7671c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6037 zcmV;G7i#DqiwFoFf?;O@|7>AyXDw-TEiz#;Fkv$>IWB5*0Igh2kK8zVzUNm6y0i_* zj3o%h`V{&-0R$D3!|g zYyucv5=BxZ->>KWkPoU!^ws0KF&owCyiiSfnf}S$CA>?s_*q`+wrI@0Gq%1=|5B@@ zEw;K;$vb<{l`3?y*G*Dg^sP+_TPJ>|G^@-(U#9QyH_d9B?{sO@W%`qD+rDPcPS<^B zlU-kRMjlo=!L$d{_Np=u530eyMi;gzO}%L^(+_%M+OAO#ScyrqgKk<`(=YBqr%#!= zdMwmVH>$n#7rCxG(;Y9$=o+At$A(Di3F$-dGYUk)txgAYI>qy+GpOF$2s3*RIq|G9-fC^=#fiTuMoaMCVs6qtSCgtJN=ZI2_K zx33Kd@~TuFR-mfHb(3bY5LjIq@ac7xwEcc>8*u&SzmFpD(m)~`RY6p_lB$}{0!FAc7F+c-#MR2c#^~LC zI`S#Qn=T*kxyz&Q%-*&}biv6fpwoNZ6j(+EikIC?E&0sXU;i_Y$4#Sc~nfMa#NF*TX>3~T5r*;zc$UQ4WT zpcE;kUT>orX;bKiSMb7H63hW&&*;5y#`C%L5^`a8-4EB%??jZEmjlsZnt?0ds9P;r$6r_6KDC7wH?PO#X0XS}_p@`Ds} zx6+CB0{^sAYhm|OvEo~DD6#`i3!3h|zv5a)DB!4uBShQb%xR_5sd6ij<%`0;#-@$P z`;-~x%c5xjJ)z_A7yJo|ra=bMz{Xpkn_J-=82E(aQD>Ukh_dhHH+K2Mtct=&1XxxK+Ju!!UI7lPoh5(m=!%;Bwr zVh<0nz*m*Nzc(EjAIgsheLTxz=zb%8-X67IA~6DNMuFZ(A`959TBIBlx6a!7r{1=C z)-ht0^x_ac;P23tOFNj~_AZ%b_YH56ZclRtheB!AswfN@T-3{C^Du;sy+2|>M;HQA zELkK6c|Gf#K3=P;6=>Hry%tN=w!lzkzl}H!z)!Cg6x-4ariM88jds^qu)MKz&=VWw zhW)f4ztcowy1#izPtYZ{GWDlZb1(18p=WH>F9U)tEU{Q-dnfCV6UHyJ05R=H^sekb zsz71JV8EIa`TpqIy+H(*$q@3+@Teq8gQO;YHuMopAHn_kR(yvUS`QL4PThc~4!~wM zQG=>*$c)OXg~<|hVG{DQ;G8tGMbQIg6+lFPV_ByHoJ)6J z?ah^dKcX-ANK2!VXEk7VUr+jZm@qdNUz>}3R@mK+Ohj1RSRk0kRS&R2;4Cr>?w;@I zPXsel57O~{j4}lA*a3_@vtrM+ zzVBdU^ugHvgpqIiqQDzz?}+qup(zb`7f`Z}9>YOO-iOCjfx7^Vz#RTGA!aoc;@;fr zif-JI@^{;L1vqwU&%TpGC?H#XXlPZ_*ZwLMG}Jmcq^D8ZdEHoNP2?lY>o zT$b2m>qTw@Bl@lnhv<;4qAzwp?3(k6_Ziusoi z)V@;3Q|rEI42fIyySg3jck2G6t)=eobeZ3ovfF~5L}&q`h>Qfc#+#vFkbv4?@pMNk zpPp*=Uk3Lea((=E-L{~VrY^|T5S@VYiI*}7B@HWUi$;UwO2RVl?8Xibx~U=eWEWCJ z%-?lzl2o%Y)L6ihA#9}>>mj0njZB~ZFCN>o-z8Vc+(#R|!30|)3UOgtiLd%F)8NDn znhlfzFX!?;?>s36jy{Iqot5YjoL1q^ttnw1Xo{+2)!4gMH!o||ayTP&6dPK3QpFUF z-EYCF`L6f)bZqMD&{%6Z*BfQXs*Y`Bev!&b`xr-G&mR(tL>;h6BXQGsY0_w_2;mGt zu2Dh@xcXo?sPDYnk|ee&C2}U=I-WYlQtkPuBx83yV-PibM^L5d_wY50qe|_A-NT&E z7fsrAB6kU%Y&g&8_hO<&eY9-a23lcRNoV$g0Gu#q-t4`eTe|DmzKN!c?U&b)%{21v z@xzD;8nas2+DC|sPa@NI2I%!}WaxJ)VXSehDX-AhaBHCcx*(S$TQ2HfQwKSa$n)8l z?fW4jYND4g5LYI;{Vuuq{l8rP;R0lchvjq4GR9TSLeDmG`rgGsSi{(?k}xo+sD`t5 z5;$F)YugGl6F=c}!GGnn6S?|8y;3ow@|110k8Qg6g!ALPMBVfZKF^$vX}leWNC&xN zBuPf@RZn;CMt6>rdH>rdp>;@qFt+&G&=9}z1B2LqfW@TSb2|D$^`)`iv_=zEl2jT! zg{f(J?ajG~UdRN@f`3}-d~0`lxS_!WD(;2`A3F}FDwr3$Uh~d6{~GWF>vgU*TgO{; z-7@MeL2t>w_@MSQlulFauQ4KZG42<{dCoBV1_5oZrL+6!Iq!ytVzjA>T;>R>Yc!M+ z>k9dl{_}rBCR!dSxUVftO*b1Vp73SgTQDg!K_hvHNpS?C?IVJ3E-&9`cb^W(okNyLF>5s-;%KNqGi^!=(x z;pw7CVOoa(ei4fJz8LG>V@hgmSD(;|sN-ko?x~E{9P0dYSrmreuu|XinN_7ub2tC>{4d}blV`VrW zkR$lV(UZs__I_{t&^x*=T{u1?{qnZ_U^Cqs z_`29a?#ZJ~1MkbaT(xtwFVu9F${!AqdFw~jL^WWvR9y>{aOw}gjbSK*sc&~hFAC5kAGDOK6&XOutYF0Xo{;xhAUXo^V*v@XwvxAe z8GK0S6WpYux08PKS7`G=E$>R~EICFsN0&(7Y$~4)7%|Ix8>jo`t4hK@UDU#NG`K!tng`J}W$9iD>Ii&D~tDTRmr&B&%2d`winhbyKBk3 zbf8sJi$eE&;aTAG-^uU0!B<@=mL}lP)}{ire(iZ|iR4+CidUz;uw#Qx)M+SAafF1( znw?MOSE5zJ1TNpnjHv|Iutu)z6lABBy?YT+IQ4p~U#;ATC-H`H@+$@8IXJW#7Pccu z8$r4wO{k`eN(5p(N)w`nLBbb_1cfA7ZOf3^jW90A=QFJX+kj8c&J3vCq&1 z62~JVuKT2qt{xMHyXlI)YfqyRkq8h95Jt^m0k1>38?T3wH{J-B$rVv{ZtBS`>lY;l zKcvsyDi;>=|8WxGJ#!6W!4<4lGDeLQK>~J$39Xg+uvbv1%n0p9(8`42; zw%jSB!A+<3wj-$b{Op`g3G3Ixz(CXw+AG>IxUL4nIz8(JlFrLG>CHIkR&?OuO(SC6VJ^IG2x zl%%Nlun|e!+rzXF%z0mnl8ZG z3Z|4kMii`0~}PSI1G8978dAONqzZ=IIlXA725KLKvO2X*%3IUV=TI}pxEU;?GJ2S$|u zeVD~36m;q%>KCu{gA@@7;)})w0?+*nBPk7)P5^p3xt+4?00^V&X^#l%P41?>7TwX1 zu0P8`p~oa02MxX70DJ2Z3HTx_-=4#FFqI2Eeg4m+l<*3(f|}(IDjsv@m|}NKMdhFZ z>gGtwe{d0P;7*7doxN}~m{$-+e|Ia^d?RH84UR)n+*B}h-XR{2H}MwTh|Ix9 z*(qOLRT^S^G&Z@oeskeoHB@T46d|yo9g5p0P67b# zZr>eAB#2%sQT;+6_$inKJ4FZfR>~vh^%=f|fr%wUlgolto=G&>l;njLiVqY2rYZeb zJJEy;g^;{16moEy#rG$PmTBYoO_e7l+|I-cfuX$_=Xf_-ai+lHe1gvgFlbo=T}tgu zi13KWy`Cy6$sM!bxe;W+ts!9a9N6|mw#F;J@p~LSQIpR)v*%+;B*0Qh6sjP~`nTuj z-W05p^A22(Anm^E$@;xoAA~)sXj$6Y2|FpNO&usdj`=1gaMkrZq9OPjQC1xehLrvD zEx$||BEf>O!q-7IhvM2>IpBD#?K)jMH557wB@m_d@%FJOT0%SSiwO5U#>^hEI$*a4 z|4hKNGQ`2d1ilfOK;j@g4_(Hz%96q^pk(+qi zCCj)7h@A@YpIJ$R8<)bnj*@S-sNKZ;7tH$hTyfiel=pM>sR zRh|p*>oopq0BY19STIQQs{bwb%046x7AO5?lX#E_3@-kW#88-mIQfJC?B>cuO!D1# z-?0qxYN*_N?S;7<4BQ)0SycH$j(}j6kq$ai%&cqr{Ju^v6uZ9GjYCruC#GSkyg^YV zVUD}4>ZF(*)3l2BnzOut$zqiiFmUTEI}5>h<-;Q`a_$0XE*4dEP56k~$C=E!^O3A! zlBcY_8te4za$q7_Cq42udX5&Ggi2lyeavV&G#=Sw?I)3iLd$S(R zx8j;SR`BzaBVkpz9~^9Xy@Vsp?ITLu(bQ2@fP^59Nb^p>?WP&;aP z*x8b4gP+03X?B!+qBLCN+?X4haA|q<$ck9~X)LMu7C8!^EWGuu^EtU%l%ngJ*pP(; zSC3<+U$pM^S-X?GY#83p zou~sbR$eImw@d9bxK&2c*4_9q%w;j|s(<>Uz9-8+0)n)OTViJ1HCLJKdF{jDnUb4$ z)mg_TxA4r$wO@Ny%N>`WHFC)vWEC&tO=K-w;(cW0*y6U5?btHxCM$S5Y$)sH*6-=* PkN@<)_mjJIe?$NPU1#)e diff --git a/config/www/community/frigate-hass-card/lang-it-7713a746.js b/config/www/community/frigate-hass-card/lang-it-7713a746.js deleted file mode 100644 index 40b44cc8..00000000 --- a/config/www/community/frigate-hass-card/lang-it-7713a746.js +++ /dev/null @@ -1 +0,0 @@ -var e={frigate_card:"Frigate card",frigate_card_description:"Una scheda Lovelace per l'uso con Frigate",live:"Live",no_media:"Nessun contenuto multimediale da visualizzare",recordings:"Registrazioni",version:"Versione"},i={cameras:{camera_entity:"Entità della telecamera",capabilities:{capabilities:{clips:"","favorite-events":"","favorite-recordings":"",live:"",menu:"",ptz:"",recordings:"",seek:"",snapshots:"",substream:""},disable:"",disable_except:"",editor_label:""},cast:{dashboard:{dashboard_path:"",view_path:""},editor_label:"",method:"",methods:{dashboard:"",standard:""}},dependencies:{all_cameras:"Mostra eventi per tutte le telecamere con questa telecamera",cameras:"Mostra eventi per telecamere specifiche con questa telecamera",editor_label:"Opzioni di dipendenza"},dimensions:{aspect_ratio:"",editor_label:"",layout:{editor_label:"",fit:"Adatta al layout",fits:{contain:"Il supporto è contenuto/in cassetta delle lettere",cover:"Il supporto si espande proporzionalmente per coprire la scheda",fill:"Il supporto viene allungato per riempire la scheda"},pan:{x:"",y:""},position:{editor_label:"",x:"Percentuale di posizionamento orizzontale",y:"Percentuale di posizionamento verticale"},view_box:{bottom:"",editor_label:"",left:"",right:"",top:""},zoom:""}},engines:{editor_label:"Opzioni del motore della fotocamera"},frigate:{camera_name:"Nome della telecamera frigate (autodificato dall'entità)",client_id:"ID client Frigate (per > 1 Frigate server)",editor_label:"Frigate Opzione",labels:"Etichette per fregate/filtri per oggetti",url:"Frigate URL del server",zones:"Frigate Zone"},go2rtc:{editor_label:"Opzioni go2rtc",modes:{editor_label:"Modalità go2rtc",mjpeg:"JPEG animato (MJPEG)",mp4:"MPEG-4 (MP4)",mse:"Estensioni sorgente multimediale (MSE)",webrtc:"Comunicazione Web in tempo reale (WebRTC)"},stream:"nome del flusso go2rtc"},icon:"Icona per questa telecamera (Autoidentificato dall'entità)",id:"ID univoco per questa telecamera in questa carta",image:{editor_label:"Opzioni immagine",refresh_seconds:"Numero di secondi dopo i quali aggiornare l'immagine live (0=mai)",url:"URL dell'immagine da utilizzare al posto dell'istantanea dell'entità fotocamera"},live_provider:"Provider di visualizzazione dal vivo per questa telecamera",live_provider_options:{editor_label:"Opzioni del fornitore in tempo reale"},live_providers:{auto:"Automatica",go2rtc:"go2rtc",ha:"Streaming video di Home Assistant (ovvero HLS, LL-HLS, WebRTC tramite HA)",image:"Immagini Home Assistant",jsmpeg:"JSMpeg","webrtc-card":"Scheda WebRTC (ovvero la scheda WebRTC di Alexxit)"},motioneye:{editor_label:"Opzioni di MotionEye",images:{directory_pattern:"Modello di directory delle immagini",file_pattern:"Modello di file di immagini"},movies:{directory_pattern:"Modello di directory dei film",file_pattern:"Modello di file di film"},url:"URL dell'interfaccia utente di MotionEye"},proxy:{dynamic:"",editor_label:"",media:{auto:"",editor_label:"",false:"",true:""},ssl_ciphers:{auto:"",default:"",editor_label:"",insecure:"",intermediate:"",modern:""},ssl_verification:{auto:"",editor_label:"",false:"",true:""}},reolink:{editor_label:"",media_resolution:{editor_label:"",high:"",low:""},url:""},title:"Titolo per questa telecamera (Autoidentificato dall'entità)",triggers:{editor_label:"Trigger Opzioni",entities:"Trigger da altre entità",events:{clips:"",editor_label:"",events:"",snapshots:""},motion:"Trigger rilevando automaticamente dal sensore di movimento",occupancy:"Attivare rilevando automatico tramite il sensore di presenza"},webrtc_card:{editor_label:"Opzioni della scheda WebRTC",entity:"Entità della telecamera della scheda WebRTC (non una telecamera Frigate)",url:"URL della telecamera della scheda WebRTC"}},common:{controls:{builtin:"",filter:{editor_label:"Filtro multimediale",mode:"Modalità filtro",modes:{left:"Filtro multimediale in un cassetto a sinistra",none:"Nessun filtro multimediale",right:"Filtro multimediale in un cassetto a destra"}},next_previous:{editor_label:"Successivo e precedente",size:"Successiva e Precedenti dimensioni di controllo nei pixel",style:"Stile di controllo successivo e precedente",styles:{chevrons:"Chevrons",icons:"Icone",none:"Nessuno",thumbnails:"Miniature"}},thumbnails:{editor_label:"Miniature",events_media_type:"Se mostrare miniature di clip o istantanee",events_media_types:{clips:"Miniature di clip",snapshots:"Miniature istantanee"},media_type:"",media_types:{events:"",recordings:""},mode:"Modalità miniatura",modes:{above:"Miniature sopra",below:"Miniature sotto",left:"Miniature in un cassetto a sinistra",none:"Nessuna miniatura",right:"Miniature in un cassetto a destra"},show_details:"Mostra i dettagli con le miniature",show_download_control:"Mostra il controllo del download sulle miniature",show_favorite_control:"Mostra il controllo preferito sulle miniature",show_timeline_control:"Mostra il controllo della sequenza temporale sulle miniature",size:"Dimensione delle miniature in pixel"},timeline:{editor_label:"Mini Cronologia",mode:"Modalità",modes:{above:"sopra",below:"sotto",none:"sessuna"},pan_mode:"",pan_modes:{pan:"",seek:"","seek-in-camera":"","seek-in-media":""}}},display:{editor_label:"",grid_columns:"",grid_max_columns:"",grid_selected_width_factor:"",mode:""},image:{entity:"",entity_parameters:"",mode:"Modalità Visualizza immagine",modes:{camera:"Istantanea della telecamera di Home Assistant dell'entità telecamera",entity:"",screensaver:"Logo Frigate incorporato",url:"Immagine arbitraria specificata dall'URL"},refresh_seconds:"Numero di secondi dopo i quali aggiornare (0 = mai)",url:"URL di immagine statica per la vista dell'immagine"},media_action_conditions:{all:"Tutte le opportunità",hidden:"Sul browser/nascondere le schede",microphone_mute:"",microphone_unmute:"",never:"Mai",selected:"Sulla selezione",unselected:"Sulla non selezione",visible:"Sul browser/visibilità della scheda"},timeline:{clustering_threshold:"Il conteggio degli eventi in cui sono raggruppati (0 = nessun clustering)",events_media_type:"I media vengono visualizzati la sequenza temporale",events_media_types:{all:"Tutti i tipi di media",clips:"Clip",snapshots:"Istantanee"},show_recordings:"Mostra registrazioni",style:"",styles:{ribbon:"",stack:""},window_seconds:"La lunghezza predefinita della vista della sequenza temporale in secondi"}},dimensions:{aspect_ratio:"Proporzioni predefinite (ad es. '16:9')",aspect_ratio_mode:"Modalità proporzioni",aspect_ratio_modes:{dynamic:"Le proporzioni si adattano ai media",static:"Proporzioni statiche",unconstrained:"Proporzioni non vincolate"},height:""},live:{auto_mute:"Muta automaticamente le telecamere in diretta",auto_pause:"Metti in pausa automaticamente le telecamere in diretta",auto_play:"Gioca automaticamente le telecamere dal vivo",auto_unmute:"Riattiva automaticamente l'audio delle telecamere live",controls:{editor_label:"Controlli dal vivo",ptz:{editor_label:"",hide_home:"",hide_pan_tilt:"",hide_zoom:"",mode:"",modes:{off:"",on:""},orientation:"",orientations:{horizontal:"",vertical:""},position:"",positions:{"bottom-left":"","bottom-right":"","top-left":"","top-right":""}}},draggable:"Il Visualizzatore eventi può essere trascinato oppure puoi scorrere",lazy_load:"Le telecamere dal vivo sono pigramente cariche",lazy_unload:"Le telecamere dal vivo sono pigramente non caricate",microphone:{always_connected:"",disconnect_seconds:"",editor_label:"",enabled:"",mute_after_microphone_mute_seconds:""},preload:"Precarica Live View in background",show_image_during_load:"Mostra un'immagine fissa durante il caricamento del live streaming",transition_effect:"Effetto di transizione della telecamera dal vivo",zoomable:""},media_viewer:{auto_mute:"Muta automaticamente i media",auto_pause:"Metti in Pausa automaticamente i media",auto_play:"Riproduci automaticamente i contenuti multimediali",auto_unmute:"Riattiva automaticamente i contenuti multimediali",controls:{editor_label:"Controlli di visualizzatore multimediale"},draggable:"Il visualizzatore multimediale può essere trascinato oppure può scorrere",lazy_load:"Il media Viewer viene caricato pigramente nel carosello",snapshot_click_plays_clip:"",transition_effect:"Effetto di transizione del visualizzatore multimediale",transition_effects:{none:"Nessuna transizione",slide:"Transizione diapositiva"},zoomable:""},menu:{alignment:"Allineamento dei menu",alignments:{bottom:"Allineato al fondo",left:"Allineato a sinistra",right:"Allineato a destra",top:"Allineato in cima"},button_size:"Dimensione del pulsante menu in pixel",buttons:{alignment:"Allineamento dei pulsanti",alignments:{matching:"Corrispondenza con l'allineamento del menu",opposing:"Contrastare l'allineamento del menu"},camera_ui:"Interfaccia utente della fotocamera",cameras:"Telecamere",clips:"Clip",display_mode:"",download:"Download",enabled:"Pulsante abilitato",expand:"Espandere",frigate:"Frigate menu / Visualizzazione predefinita",fullscreen:"A schermo intero",icon:"Icona",image:"Immagine",live:"Abitare",media_player:"Invia a Media Player",microphone:"",mute:"",permanent:"",play:"",priority:"Priorità",ptz_controls:"",ptz_home:"",recordings:"",screenshot:"",snapshots:"Istantanee",substreams:"Flusso/i secondario/i",timeline:"Timeline",type:"",types:{momentary:"",toggle:""}},position:"Posizione del menu",positions:{bottom:"Posizionato sul fondo",left:"Posizionato a sinistra",right:"Posizionato a destra",top:"Posizionato in alto"},style:"Stile menu",styles:{hidden:"Menu nascosto",hover:"Menu al passaggio del mouse","hover-card":"",none:"Nessun menu",outside:"Menu esterno",overlay:"Menu di overlay"}},overrides:{info:"Questa configurazione della scheda ha specificato manualmente le sostituzioni configurate che possono sostituire i valori mostrati nell'editor visivo, consultare l'editor di codice per visualizzare/modificare queste sostituzioni"},performance:{features:{animated_progress_indicator:"Indicatore di avanzamento animato",editor_label:"Opzioni funzionalità",max_simultaneous_engine_requests:"",media_chunk_size:"Dimensione del blocco multimediale"},style:{border_radius:"Curve",box_shadow:"Ombre",editor_label:"Opzione di stile"},warning:"Questa scheda è in modalità basso profilo, quindi le impostazioni predefinite sono state modificate per ottimizzare le prestazioni"},profiles:{casting:"",editor_label:"","low-performance":"",scrubbing:""},status_bar:{height:"",items:{enabled:"",engine:"",live_provider:"",priority:"",resolution:"",technology:"",title:""},popup_seconds:"",position:"",positions:{bottom:"",top:""},style:"",styles:{hover:"","hover-card":"",none:"",outside:"",overlay:"",popup:""}},view:{camera_select:"Visualizza per le telecamere appena selezionate",dark_mode:"Tema scuro",dark_modes:{auto:"auto",off:"Off",on:"On"},default:"Visualizzazione predefinita",default_cycle_camera:"Scorri le telecamere quando si aggiorna la visualizzazione predefinita",default_reset:{after_interaction:"",editor_label:"",entities:"",every_seconds:"Aggiorna la visualizzazione predefinita ogni x secondi (0 = mai)",interaction_mode:"",interaction_modes:{active:"",all:"",inactive:""}},interaction_seconds:"",keyboard_shortcuts:{editor_label:"",enabled:"",ptz_down:"",ptz_home:"",ptz_left:"",ptz_right:"",ptz_up:"",ptz_zoom_in:"",ptz_zoom_out:""},triggers:{actions:{editor_label:"",interaction_mode:"",interaction_modes:{active:"",all:"",inactive:""},trigger:"",triggers:{default:"",live:"",media:"",none:""},untrigger:"",untriggers:{default:"",none:""}},editor_label:"",filter_selected_camera:"",show_trigger_status:"Mostra bordo pulsante quando attivato",untrigger_seconds:"Reimposta la vista ai valori predefiniti dopo aver annullato l'attivazione"},views:{clip:"Clip più recente",clips:"Galleria delle clip",current:"Vista corrente",image:"Immagine statica",live:"Dal vivo",recording:"",recordings:"",snapshot:"Snapshot più recente",snapshots:"Galleria delle istantanee",timeline:"Vista della timeline"}}},a={grid:"",single:""},t={add_new_camera:"Aggiungi nuova telecamera",button:"Pulsante",camera:"Telecamera",cameras:"Telecamere",cameras_secondary:"Quali telecamere visualizzare su questa card",delete:"Elimina",dimensions:"",dimensions_secondary:"",image:"Immagine",image_secondary:"Opzioni di visualizzazione dell'immagine statica",live:"Live",live_secondary:"Opzioni di visualizzazione della telecamera live",media_gallery:"Galleria multimediale",media_gallery_secondary:"Opzioni della galleria multimediale",media_viewer:"Visualizzatore dei media",media_viewer_secondary:"Visualizzatore per supporti statici (clip, istantanee o registrazioni)",menu:"Menu",menu_secondary:"Opzioni di aspetto e funzionalità del menu",move_down:"Sposta verso il basso",move_up:"Sposta verso l'alto",overrides:"La sovrascrittura è attiva",overrides_secondary:"Rilevate sovrascritture della configurazione dinamica",performance:"",performance_secondary:"",profiles:"",profiles_secondary:"",status_bar:"",status_bar_secondary:"",timeline:"Timeline",timeline_secondary:"Opzioni della timeline degli eventi",upgrade:"Aggiornamento",upgrade_available:"È disponibile un aggiornamento della configurazione della scheda automatica",view:"Visualizzazione",view_secondary:"Cosa dovrebbe mostrare la carta e come mostrarla"},o={ptz:{down:"Giù",home:"Home",left:"Sinistra",right:"Destra",up:"Su",zoom_in:"Ingrandire",zoom_out:"Zoom indietro"}},n={awaiting_live:"",awaiting_media:"",camera_initialization:"",camera_initialization_reolink:"",could_not_render_elements:"Impossibile renderizzare gli elementi dell'immagine",could_not_resolve:"Impossibile risolvere l'URL dei media",diagnostics:"Diagnostica delle carte.Si prega di rivedere per informazioni riservate prima di condividere",download_no_media:"Nessun media da scaricare",download_sign_failed:"Impossibile firmare URL multimediale per il download",duplicate_camera_id:"Duplicato ID dellla telecamera Frigate, utilizzare il parametro 'ID' per identificare in modo univoco le telecamere",empty_response:"Ricevuto risposta vuota da Home Assistant per la richiesta",failed_response:"Impossibile ricevere risposta da Home Assistant per la richiesta",failed_retain:"Impossibile conservare l'evento",failed_sign:"Impossibile firmare l'URL ad Home Assistant",image_load_error:"L'immagine non può essere caricata",invalid_configuration:"Configurazione non valida",invalid_configuration_no_hint:"Nessun suggerimento di posizione disponibile (tipo difettoso o mancante?)",invalid_configuration_override:"",invalid_elements_config:"Configurazione degli elementi di immagine non valida",invalid_response:"Ricevuta una risposta non valida da Home Assistant per la richiesta",jsmpeg_no_player:"Impossibile avviare JSMPEG Player",live_camera_no_endpoint:"Impossibile ottenere l'endpoint della videocamera per questo provider live (configurazione incompleta?)",live_camera_not_found:"La telecamera configurata non è stata trovata",live_camera_unavailable:"Telecamera non disponibile",no_camera_engine:"Impossibile determinare il motore adatto per la fotocamera",no_camera_entity:"Impossibile trovare l'entità fotocamera",no_camera_entity_for_triggers:"È necessaria un'entità telecamera per rilevare automaticamente i trigger",no_camera_id:"Impossibile determinare l'ID della telecamera , potrebbe essere necessario impostare manualmente il parametro 'ID'",no_camera_name:"Impossibile determinare un nome della telecamera in Frigate, si prega di specificare 'camera_enty' o 'camera_name'",no_dashboard_or_view:"",no_live_camera:"Il parametro fotocamera_enty deve essere impostato e valido per questo provider live",no_supported_camera:"",no_supported_cameras:"",reconnecting:"Riconnessione",too_many_automations:"",troubleshooting:"Controllare la risoluzione dei problemi",unknown:"Errore sconosciuto",upgrade_available:"È disponibile un aggiornamento di configurazione della scheda automatizzato, visitare l'editor di schede visive",webrtc_card_reported_error:"La scheda WebRTC ha riportato un errore",webrtc_card_waiting:"Aspettando che la scheda WebRTC si carichi ..."},r={camera:"Camera",duration:"Durata",in_progress:"In corso",score:"Punteggio",seek:"Cercare",start:"Avvia",tag:"",what:"Che cosa",where:"Dove"},l={assign:"",modifiers:{alt:"",ctrl:"",meta:"",shift:""},unassign:""},s={all:"Tutto",camera:"Telecamera",favorite:"Preferito",media_type:"Tipo di supporto",media_types:{clips:"Clip",recordings:"Registrazioni",snapshots:"Istantanee"},not_favorite:"Non preferito",select_camera:"Seleziona fotocamera...",select_favorite:"Seleziona preferito...",select_media_type:"Seleziona il tipo di supporto...",select_tag:"",select_what:"Seleziona cosa...",select_when:"Seleziona quando...",select_where:"Seleziona dove...",tag:"Tag",what:"Che cosa",when:"Quando",whens:{custom:"",past_month:"Mese scorso",past_week:"Settimana scorso",today:"Oggi",yesterday:"Ieri"},where:"Dove"},d={unseekable:""},m={camera:"Camera",duration:"Durata",events:"Eventi",in_progress:"In corso",seek:"Cercare",start:"Inizio"},c={download:"",no_thumbnail:"Nessuna miniatura disponibile",retain_indefinitely:"L'evento sarà mantenuto indefinitamente",timeline:"Vedi evento nella timeline"},u={select_date:"Scegli la data"},p={common:e,config:i,display_modes:a,editor:t,elements:o,error:n,event:r,key_assigner:l,media_filter:s,media_viewer:d,recording:m,thumbnail:c,timeline:u};export{e as common,i as config,p as default,a as display_modes,t as editor,o as elements,n as error,r as event,l as key_assigner,s as media_filter,d as media_viewer,m as recording,c as thumbnail,u as timeline}; diff --git a/config/www/community/frigate-hass-card/lang-it-7713a746.js.gz b/config/www/community/frigate-hass-card/lang-it-7713a746.js.gz deleted file mode 100644 index 27adcdd7059c622197021a66a0626df085215b44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6033 zcmV;C7jEbuiwFo&^lE1U|7>AyXDw-TEjKqYGhsJ0HZE#&0Igh2kK8zVzUNm6y0i_* zj3o%h`V{&-0R$D3!|g zYyucv5=BxZ->>KWkPoU!^ws0KF&owCyiiSfnf}S$CA>?s_*q`+wrI@0Gq%1=|5B@@ zEw;K;$vb<{l`3?y*G*Dg^sP+_TPJ>|G^@-(U#9QyH_d9B?{sO@W%`qD+rDPcPS<^B zlU-kRMjlo=!L$d{_Np=u530eyMi;gzO}%L^(+_%M+OAO#ScyrqgKk<`(=YBqr%#!= zdMwmVH>$n#7rCxG(;Y9$=o+At$A(Di3F$-dGYUk)txgAYI>qy+GpOF$2s3*RIq|G9-fC^=#fiTuMoaMCVs6qtSCgtJN=ZI2_K zx33Kd@~TuFR-mfHb(3bY5LjIq@ac7xwEcc>8*u&SzmFpD(m)~`RY6p_lB$}{0!FAc7F+c-#MR2c#^~LC zI`S#Qn=T*kxyz&Q%-*&}biv6fpwoNZ6j(+EikIC?E&0sXU;i_Y$4#Sc~nfMa#NF*TX>3~T5r*;zc$UQ4WT zpcE;kUT>orX;bKiSMb7H63hW&&*;5y#`C%L5^`a8-4EB%??jZEmjlsZnt?0ds9P;r$6r_6KDC7wH?PO#X0XS}_p@`Ds} zx6+CB0{^sAYhm|OvEo~DD6#`i3!3h|zv5a)DB!4uBShQb%xR_5sd6ij<%`0;#-@$P z`;-~x%c5xjJ)z_A7yJo|ra=bMz{Xpkn_J-=82E(aQD>Ukh_dhHH+K2Mtct=&1XxxK+Ju!!UI7lPoh5(m=!%;Bwr zVh<0nz*m*Nzc(EjAIgsheLTxz=zb%8-X67IA~6DNMuFZ(A`959TBIBlx6a!7r{1=C z)-ht0^x_ac;P23tOFNj~_AZ%b_YH56ZclRtheB!AswfN@T-3{C^Du;sy+2|>M;HQA zELkK6c|Gf#K3=P;6=>Hry%tN=w!lzkzl}H!z)!Cg6x-4ariM88jds^qu)MKz&=VWw zhW)f4ztcowy1#izPtYZ{GWDlZb1(18p=WH>F9U)tEU{Q-dnfCV6UHyJ05R=H^sekb zsz71JV8EIa`TpqIy+H(*$q@3+@Teq8gQO;YHuMopAHn_kR(yvUS`QL4PThc~4!~wM zQG=>*$c)OXg~<|hVG{DQ;G8tGMbQIg6+lFPV_ByHoJ)6J z?ah^dKcX-ANK2!VXEk7VUr+jZm@qdNUz>}3R@mK+Ohj1RSRk0kRS&R2;4Cr>?w;@I zPXsel57O~{j4}lA*a3_@vtrM+ zzVBdU^ugHvgpqIiqQDzz?}+qup(zb`7f`Z}9>YOO-iOCjfx7^Vz#RTGA!aoc;@;fr zif-JI@^{;L1vqwU&%TpGC?H#XXlPZ_*ZwLMG}Jmcq^D8ZdEHoNP2?lY>o zT$b2m>qTw@Bl@lnhv<;4qAzwp?3(k6_Ziusoi z)V@;3Q|rEI42fIyySg3jck2G6t)=eobeZ3ovfF~5L}&q`h>Qfc#+#vFkbv4?@pMNk zpPp*=Uk3Lea((=E-L{~VrY^|T5S@VYiI*}7B@HWUi$;UwO2RVl?8Xibx~U=eWEWCJ z%-?lzl2o%Y)L6ihA#9}>>mj0njZB~ZFCN>o-z8Vc+(#R|!30|)3UOgtiLd%F)8NDn znhlfzFX!?;?>s36jy{Iqot5YjoL1q^ttnw1Xo{+2)!4gMH!o||ayTP&6dPK3QpFUF z-EYCF`L6f)bZqMD&{%6Z*BfQXs*Y`Bev!&b`xr-G&mR(tL>;h6BXQGsY0_w_2;mGt zu2Dh@xcXo?sPDYnk|ee&C2}U=I-WYlQtkPuBx83yV-PibM^L5d_wY50qe|_A-NT&E z7fsrAB6kU%Y&g&8_hO<&eY9-a23lcRNoV$g0Gu#q-t4`eTe|DmzKN!c?U&b)%{21v z@xzD;8nas2+DC|sPa@NI2I%!}WaxJ)VXSehDX-AhaBHCcx*(S$TQ2HfQwKSa$n)8l z?fW4jYND4g5LYI;{Vuuq{l8rP;R0lchvjq4GR9TSLeDmG`rgGsSi{(?k}xo+sD`t5 z5;$F)YugGl6F=c}!GGnn6S?|8y;3ow@|110k8Qg6g!ALPMBVfZKF^$vX}leWNC&xN zBuPf@RZn;CMt6>rdH>rdp>;@qFt+&G&=9}z1B2LqfW@TSb2|D$^`)`iv_=zEl2jT! zg{f(J?ajG~UdRN@f`3}-d~0`lxS_!WD(;2`A3F}FDwr3$Uh~d6{~GWF>vgU*TgO{; z-7@MeL2t>w_@MSQlulFauQ4KZG42<{dCoBV1_5oZrL+6!Iq!ytVzjA>T;>R>Yc!M+ z>k9dl{_}rBCR!dSxUVftO*b1Vp73SgTQDg!K_hvHNpS?C?IVJ3E-&9`cb^W(okNyLF>5s-;%KNqGi^!=(x z;pw7CVOoa(ei4fJz8LG>V@hgmSD(;|sN-ko?x~E{9P0dYSrmreuu|XinN_7ub2tC>{4d}blV`VrW zkR$lV(UZs__I_{t&^x*=T{u1?{qnZ_U^Cqs z_`29a?#ZJ~1MkbaT(xtwFVu9F${!AqdFw~jL^WWvR9y>{aOw}gjbSK*sc&~hFAC5kAGDOK6&XOutYF0Xo{;xhAUXo^V*v@XwvxAe z8GK0S6WpYux08PKS7`G=E$>R~EICFsN0&(7Y$~4)7%|Ix8>jo`t4hK@UDU#NG`K!tng`J}W$9iD>Ii&D~tDTRmr&B&%2d`winhbyKBk3 zbf8sJi$eE&;aTAG-^uU0!B<@=mL}lP)}{ire(iZ|iR4+CidUz;uw#Qx)M+SAafF1( znw?MOSE5zJ1TNpnjHv|Iutu)z6lABBy?YT+IQ4p~U#;ATC-H`H@+$@8IXJW#7Pccu z8$r4wO{k`eN(5p(N)w`nLBbb_1cfA7ZOf3^jW90A=QFJX+kj8c&J3vCq&1 z62~JVuKT2qt{xMHyXlI)YfqyRkq8h95Jt^m0k1>38?T3wH{J-B$rVv{ZtBS`>lY;l zKcvsyDi;>=|8WxGJ#!6W!4<4lGDeLQK>~J$39Xg+uvbv1%n0p9(8`42; zw%jSB!A+<3wj-$b{Op`g3G3Ixz(CXw+AG>IxUL4nIz8(JlFrLG>CHIkR&?OuO(SC6VJ^IG2x zl%%Nlun|e!+rzXF%z0mnl8ZG z3Z|4kMii`0~}PSI1G8978dAONqzZ=IIlXA725KLKvO2X*%3IUV=TI}pxEU;?GJ2S$|u zeVD~36m;q%>KCu{gA@@7;)})w0?+*nBPk7)P5^p3xt+4?00^V&X^#l%P41?>7TwX1 zu0P8`p~oa02MxX70DJ2Z3HTx_-=4#FFqI2Eeg4m+l<*3(f|}(IDjsv@m|}NKMdhFZ z>gGtwe{d0P;7*7doxN}~m{$-+e|Ia^d?RH84UR)n+*B}h-XR{2H}MwTh|Ix9 z*(qOLRT^S^G&Z@oeskeoHB@T46d|yo9g5p0P67b# zZr>eAB#2%sQT;+6_$inKJ4FZfR>~vh^%=f|fr%wUlgolto=G&>l;njLiVqY2rYZeb zJJEy;g^;{16moEy#rG$PmTBYoO_e7l+|I-cfuX$_=Xf_-ai+lHe1gvgFlbo=T}tgu zi13KWy`Cy6$sM!bxe;W+ts!9a9N6|mw#F;J@p~LSQIpR)v*%+;B*0Qh6sjP~`nTuj z-W05p^A22(Anm^E$@;xoAA~)sXj$6Y2|FpNO&usdj`=1gaMkrZq9OPjQC1xehLrvD zEx$||BEf>O!q-7IhvM2>IpBD#?K)jMH557wB@m_d@%FJOT0%SSiwO5U#>^hEI$*a4 z|4hKNGQ`2d1ilfOK;j@g4_(Hz%96q^pk(+qi zCCj)7h@A@YpIJ$R8<)bnj*@S-sNKZ;7tH$hTyfiel=pM>sR zRh|p*>oopq0BY19STIQQs{bwb%046x7AO5?lX#E_3@-kW#88-mIQfJC?B>cuO!D1# z-?0qxYN*_N?S;7<4BQ)0SycH$j(}j6kq$ai%&cqr{Ju^v6uZ9GjYCruC#GSkyg^YV zVUD}4>ZF(*)3l2BnzOut$zqiiFmUTEyVU+b9$d`Kg`bM93Exfo(2`kqK6o{Zd&=6Y zu{6&v$09}>h)(!Q;jQ)gRC96dK{Dc zqG*SYITk)Pn4$y+tC`#L>8R>R*z3S_0^7$=Bvkm%A%(Zp z@7keos$-{HOl~ L`*1q8azp?C?jQ7Z diff --git a/config/www/community/frigate-hass-card/lang-pt-BR-1648942c.js b/config/www/community/frigate-hass-card/lang-pt-BR-1648942c.js deleted file mode 100644 index 560094c1..00000000 --- a/config/www/community/frigate-hass-card/lang-pt-BR-1648942c.js +++ /dev/null @@ -1 +0,0 @@ -var e={frigate_card:"Cartão Frigate",frigate_card_description:"Um cartão da Lovelace para usar com Frigate",live:"Ao Vivo",no_media:"Nenhuma mídia para exibir",recordings:"Gravações",version:"Versão"},a={cameras:{camera_entity:"Entidade da Câmera",dependencies:{all_cameras:"Mostrar eventos para todas as câmeras nesta câmera",cameras:"Mostrar eventos para câmeras específicas nesta câmera",editor_label:"Opções de dependência"},engines:{editor_label:"Opções do motor da câmera"},frigate:{camera_name:"Nome da câmera do Frigate (detectado automaticamente pela entidade)",client_id:"ID do cliente do Frigate (para >1 servidor Frigate)",editor_label:"Opções do Frigate",labels:"Rótulos do Frigate/filtros de objetos",url:"URL do servidor Frigate",zones:"Zonas do Frigate"},go2rtc:{editor_label:"Opções do go2rtc",modes:{editor_label:"Modos do go2rtc",mjpeg:"Motion JPEG (MJPEG)",mp4:"MPEG-4 (MP4)",mse:"Media Source Extensions (MSE)",webrtc:"Web Real-Time Communication (WebRTC)"},stream:"Nome do stream do go2rtc"},hide:"Ocultar câmera da interface do usuário",icon:"Ícone para esta câmera (detectado automaticamente pela entidade)",id:"ID exclusivo para esta câmera nesse cartão",image:{editor_label:"Opções de Imagem",refresh_seconds:"Número de segundos após os quais atualizar a imagem ao vivo (0=nunca)",url:"URL da imagem para usar em vez do instantâneo da entidade da câmera"},live_provider:"Provedor de visualização ao vivo para esta câmera",live_provider_options:{editor_label:"Opções do provedor de visualização ao vivo"},live_providers:{auto:"Automatico",go2rtc:"go2rtc",ha:"Stream de vídeo do Home Assistant (ou seja, HLS, LL-HLS, WebRTC via HA)",image:"Imagens do Home Assistant",jsmpeg:"JSMpeg","webrtc-card":"Cartão WebRTC (de @AlexxIT)"},motioneye:{editor_label:"Opções do MotionEye",images:{directory_pattern:"Padrão de diretório de imagens",file_pattern:"Padrão de arquivo de imagens"},movies:{directory_pattern:"Padrão de diretório de filmes",file_pattern:"Padrão de arquivo de filmes"},url:"URL da interface de usuário do MotionEye"},title:"Título para esta câmera (detectado automaticamente pela entidade)",triggers:{editor_label:"Opções de acionamento",entities:"Acionar a partir de outras entidades",motion:"Acionar detectando automaticamente o sensor de movimento",occupancy:"Acionar detectando automaticamente o sensor de ocupação"},webrtc_card:{editor_label:"Opções do cartão WebRTC",entity:"Entidade de câmera de cartão WebRTC (não é uma câmera Frigate)",url:"URL da câmera do cartão WebRTC"}},common:{controls:{builtin:"",filter:{editor_label:"Filtro de Mídia",mode:"Modo do filtro",modes:{left:"Filtro de mídia em uma gaveta à esquerda",none:"Sem filtro de mídia",right:"Filtro de mídia em uma gaveta à direita"}},next_previous:{editor_label:"Próximo",size:"Tamanho de controle próximo e anterior",style:"Estilo do controle próximo e anterior",styles:{chevrons:"Setas",icons:"Ícones",none:"Nenhum",thumbnails:"Miniaturas"}},thumbnails:{editor_label:"Miniaturas",media:"Se deve mostrar miniaturas de clipes ou snapshots",medias:{clips:"Miniaturas de clipes",snapshots:"Miniaturas de Snapshots"},mode:"Modo de miniaturas",modes:{above:"Miniaturas acima da mídia",below:"Miniaturas abaixo da mídia",left:"Miniaturas em uma gaveta à esquerda",none:"Sem miniaturas",right:"Miniaturas em uma gaveta à direita"},show_details:"Mostrar detalhes com miniaturas",show_download_control:"Mostrar controle de download nas miniaturas",show_favorite_control:"Mostrar controle de favorito nas miniaturas",show_timeline_control:"Mostrar controle da linha do tempo nas miniaturas",size:"Tamanho das miniaturas em pixels"},timeline:{editor_label:"Controles da linha do tempo",mode:"Modo",modes:{above:"Acima",below:"Abaixo",none:"Nenhum"}},title:{duration_seconds:"Segundos para exibir o pop-up (0 = para sempre)",editor_label:"Controles do pop-up de título",mode:"Modo de exibição de título de mídia",modes:{none:"Sem exibição de título","popup-bottom-left":"Pop-up no canto inferior esquerdo","popup-bottom-right":"Pop-up no canto inferior direito","popup-top-left":"Pop-up no canto superior esquerdo","popup-top-right":"Pop-up no canto superior direito"}}},layout:{fit:"Ajuste de layout",fits:{contain:"A mídia é contida no cartão",cover:"A mídia se expande proporcionalmente para cobrir o cartão",fill:"A mídia é esticada para preencher o cartão"},position:{x:"Porcentagem do posicionamento horizontal",y:"Porcentagem do posicionamento vertical"}},media_action_conditions:{all:"Todas as oportunidades",hidden:"Ao ocultar o navegador/aba",never:"Nunca",selected:"Ao selecionar",unselected:"Ao desselecionar",visible:"Ao mostrar o navegador/aba"},timeline:{clustering_threshold:"A contagem de eventos nos quais eles são agrupados (0 = sem agrupamento)",media:"A mídia que a linha do tempo exibe",medias:{all:"Todos os tipos de mídia",clips:"Clipes",snapshots:"Instantâneos"},show_recordings:"Mostrar gravações",style:"",styles:{ribbon:"",stack:""},window_seconds:"A duração padrão da visualização da linha do tempo em segundos"}},dimensions:{aspect_ratio:"Proporção padrão (e.g. '16:9')",aspect_ratio_mode:"Modo de proporção",aspect_ratio_modes:{dynamic:"A proporção se ajusta à mídia",static:"Proporção estática",unconstrained:"Proporção irrestrita"},max_height:"",min_height:""},image:{layout:"Layout da imagem",mode:"Modo de visualização de imagem",modes:{camera:"Instantâneo da câmera do Home Assistant, da entidade de câmera",screensaver:"Logo Frigate embutido",url:"Imagem arbitrária especificada por URL"},refresh_seconds:"Número de segundos após o qual atualizar (0 = nunca)",url:"Imagem arbitrária especificada por URL",zoomable:""},live:{auto_mute:"Silenciar câmeras ao vivo automaticamente",auto_pause:"Pausar câmeras ao vivo automaticamente",auto_play:"Reproduzir câmeras ao vivo automaticamente",auto_unmute:"Ativar automaticamente o som das câmeras ao vivo",controls:{editor_label:"Controles da visualização ao vivo"},draggable:"A visualização ao vivo das câmeras pode ser arrastada/deslizada",layout:"Layout dinâmico",lazy_load:"As câmeras ao vivo são carregadas lentamente",lazy_unload:"As câmeras ao vivo são descarregadas preguiçosamente",microphone:{always_connected:"",disconnect_seconds:"",editor_label:"",enabled:""},preload:"Pré-carregar a visualização ao vivo em segundo plano",show_image_during_load:"Mostrar imagem estática enquanto a transmissão ao vivo está carregando",transition_effect:"Efeito de transição de câmera ao vivo",zoomable:""},media_viewer:{auto_mute:"Silenciar mídia automaticamente",auto_pause:"Pausar mídia automaticamente",auto_play:"Reproduzir mídia automaticamente",auto_unmute:"Ativar mídia automaticamente",controls:{editor_label:"Controles do visualizador de mídia"},draggable:"Visualizador de eventos pode ser arrastado/deslizado",layout:"Layout do visualizador de mídia",lazy_load:"A mídia do Visualizador de eventos é carregada lentamente no carrossel",snapshot_click_plays_clip:"Clicar em um instantâneo reproduz um clipe relacionado",transition_effect:"Efeito de transição do Visualizador de eventos",transition_effects:{none:"Sem transição",slide:"Transição de slides"},zoomable:""},menu:{alignment:"Alinhamento do menu",alignments:{bottom:"Alinhado à parte inferior",left:"Alinhado à esquerda",right:"Alinhado à direita",top:"Alinhado ao topo"},button_size:"Tamanho do botão de menu (e.g. '40px')",buttons:{alignment:"Alinhamento do botão",alignments:{matching:"Mesmo alinhamento do menu",opposing:"Opor-se ao alinhamento do menu"},camera_ui:"Interface de usuário da câmera",cameras:"Selecionar câmera",clips:"Clipes",download:"Baixe a mídia do evento",enabled:"Botão ativado",expand:"Expandir",frigate:"Frigate menu / Visualização padrão",fullscreen:"Tela cheia",icon:"Ícone",image:"Imagem",live:"Ao vivo",media_player:"Enviar para o reprodutor de mídia",mute:"",play:"",priority:"Prioridade",recordings:"Gravações",screenshot:"",snapshots:"Instantâneos",substreams:"Substream(s)",timeline:"Linha do tempo",type:"",types:{momentary:"",toggle:""}},position:"Posição do menu",positions:{bottom:"Posicionado na parte inferior",left:"Posicionado à esquerda",right:"Posicionado à direita",top:"Posicionado no topo"},style:"Estilo do menu",styles:{hidden:"Menu oculto",hover:"Menu suspenso","hover-card":"Menu suspenso (em todo o cartão)",none:"Sem menu",outside:"Menu externo",overlay:"Menu sobreposto"}},overrides:{info:"Esta configuração do cartão especificou manualmente as substituições configuradas que podem substituir os valores mostrados no editor visual, consulte o editor de código para visualizar/modificar essas substituições"},performance:{features:{animated_progress_indicator:"Indicador de Carregamento Animado",editor_label:"Opções de recursos",media_chunk_size:"Tamanho do bloco de mídia"},profile:"Perfil de desempenho",profiles:{high:"Alto desempenho/completo",low:"Baixo desempenho"},style:{border_radius:"Curvas",box_shadow:"Sombras",editor_label:"Opções de estilo"},warning:"Este cartão está no modo de baixo desempenho, então os padrões foram alterados para otimizar o desempenho"},view:{camera_select:"Visualização de câmeras recém-selecionadas",dark_mode:"Modo escuro",dark_modes:{auto:"Automático",off:"Desligado",on:"Ligado"},default:"Visualização padrão",scan:{enabled:"Modo scan ativado",scan_mode:"Modo scan",show_trigger_status:"Pulsar borda quando acionado",untrigger_reset:"Redefinir a visualização para o padrão após desacionar",untrigger_seconds:"Segundos após a mudar para o estado inativo para desacionar"},timeout_seconds:"Redefinir para a visualização padrão X segundos após a ação do usuário (0 = nunca)",update_cycle_camera:"Percorrer as câmeras quando a visualização padrão for atualizada",update_force:"Forçar atualizações do cartão (ignore a interação do usuário)",update_seconds:"Atualize a visualização padrão a cada X segundos (0 = nunca)",views:{clip:"Clipe mais recente",clips:"Galeria de clipes",current:"Visualização atual",image:"Imagem estática",live:"Visualização ao vivo",recording:"Gravação mais recente",recordings:"Galeria de gravações",snapshot:"Snapshot mais recente",snapshots:"Galeria de Snapshots",timeline:"Visualização da linha do tempo"}}},o={add_new_camera:"Adicionar nova câmera",button:"Botão",camera:"Câmera",cameras:"Câmeras",cameras_secondary:"Quais câmeras renderizar neste cartão",delete:"Excluir",dimensions:"Dimensões",dimensions_secondary:"Dimensões e opções de forma",image:"Imagem",image_secondary:"Opções de visualização de imagem estática",live:"Ao vivo",live_secondary:"Opções de visualização da câmera ao vivo",media_gallery:"Galeria de mídia",media_gallery_secondary:"Opções da galeria de mídia",media_viewer:"Visualizador de eventos",media_viewer_secondary:"Opções do visualizador de Snapshots e clipes",menu:"Menu",menu_secondary:"Opções de aparência do menu",move_down:"Descer",move_up:"Subir",overrides:"As substituições estão ativas",overrides_secondary:"Substituições de configuração dinâmica detectadas",performance:"Desempenho",performance_secondary:"Opções de desempenho do cartão",timeline:"Linha do tempo",timeline_secondary:"Opções do evento da linha do tempo",upgrade:"Upgrade",upgrade_available:"Um upgrade automático da configuração de cartão está disponível",view:"Visualizar",view_secondary:"O que o cartão deve mostrar e como mostrá-lo"},i={ptz:{down:"Baixo",home:"Casa",left:"Esquerda",right:"Direita",up:"Cima",zoom_in:"Aumentar Zoom",zoom_out:"Reduzir Zoom"}},r={could_not_render_elements:"Não foi possível renderizar os elementos da imagem",could_not_resolve:"Não foi possível resolver o URL de mídia",diagnostics:"Diagnósticos do cartão. Revise as informações confidenciais antes de compartilhar",download_no_media:"Nenhuma mídia para download",download_sign_failed:"Não foi possível assinar o URL de mídia para download",duplicate_camera_id:"Duplique o ID da câmera Frigate para a câmera a seguir, use o parâmetro 'id' para identificar exclusivamente as câmeras",empty_response:"Sem resposta do Home Assistant para a solicitação",failed_response:"Falha ao receber resposta do Home Assistant para solicitação",failed_retain:"Não foi possível reter o evento",failed_sign:"Não foi possível assinar a URL do Home Assistant",image_load_error:"A imagem não pôde ser carregada",invalid_configuration:"Configuração inválida",invalid_configuration_no_hint:"Nenhuma dica de local disponível (tipo incorreto ou ausente?)",invalid_elements_config:"Configuração de elementos de imagem inválida",invalid_response:"Resposta inválida recebida do Home Assistant para a solicitação",jsmpeg_no_player:"Não foi possível iniciar o player JSMPEG",live_camera_no_endpoint:"Não foi possível obter o endereço da câmera para este provedor ao vivo (configuração incompleta?)",live_camera_not_found:"A entidade de câmera configurada não foi encontrada",live_camera_unavailable:"Câmera indisponível",no_camera_engine:"Não foi possível determinar o motor adequado para a câmera",no_camera_entity:"Não foi possível encontrar a entidade da câmera",no_camera_entity_for_triggers:"Uma entidade de câmera é necessária para detectar automaticamente os gatilhos",no_camera_id:"Não foi possível determinar o ID da câmera para a câmera a seguir, pode ser necessário definir o parâmetro 'id' manualmente",no_camera_name:"Não foi possível determinar o nome da câmera da Frigate, especifique 'camera_entity' ou 'camera_name' para a câmera a seguir",no_live_camera:"O parâmetro camera_entity deve ser definido e válido para este provedor ativo",no_visible_cameras:"Nenhuma câmera visível encontrada, você deve configurar pelo menos uma câmera não oculta",reconnecting:"Reconectando",timeline_no_cameras:"Nenhuma câmera do Frigate para mostrar na linha do tempo",too_many_automations:"",troubleshooting:"Verifique a solução de problemas",unknown:"Erro desconhecido",upgrade_available:"Uma atualização automatizada da configuração do cartão está disponível, visite o editor visual do cartão",webrtc_card_reported_error:"O cartão WebRTC relatou um erro",webrtc_card_waiting:"Aguardando o cartão WebRTC carregar ..."},t={camera:"Câmera",duration:"Duração",in_progress:"Em andamento",score:"Pontuação",seek:"Procurar",start:"Início",tag:"Etiqueta",what:"O que",where:"Onde"},s={all:"Todos",camera:"Câmera",favorite:"Favorito",media_type:"Tipo de mídia",media_types:{clips:"Clipes",recordings:"Gravações",snapshots:"Instantâneos"},not_favorite:"Não favorito",select_camera:"Selecione a câmera...",select_favorite:"Selecione favorito...",select_media_type:"Selecione o tipo de mídia...",select_tag:"Selecione a etiqueta...",select_what:"Selecione o que...",select_when:"Selecione quando...",select_where:"Selecione onde...",tag:"Etiqueta",what:"O que",when:"Quando",whens:{past_month:"Mês passado",past_week:"Semana passada",today:"Hoje",yesterday:"Ontem"},where:"Onde"},d={camera:"Câmera",duration:"Duração",events:"Eventos",in_progress:"Em andamento",seek:"Procurar",start:"Começar"},n={download:"Baixar mídia",no_thumbnail:"Nenhuma miniatura disponível",retain_indefinitely:"Evento será retido por tempo indeterminado",timeline:"Ver evento na linha do tempo"},m={pan_behavior:{pan:"",seek:"","seek-in-media":""},select_date:"Escolha a data"},c={common:e,config:a,editor:o,elements:i,error:r,event:t,media_filter:s,recording:d,thumbnail:n,timeline:m};export{e as common,a as config,c as default,o as editor,i as elements,r as error,t as event,s as media_filter,d as recording,n as thumbnail,m as timeline}; diff --git a/config/www/community/frigate-hass-card/lang-pt-BR-1648942c.js.gz b/config/www/community/frigate-hass-card/lang-pt-BR-1648942c.js.gz deleted file mode 100644 index f42feff8a18901b2683d46e6f89df57bf5a4fdfa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5400 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 CmADZA diff --git a/config/www/community/frigate-hass-card/lang-pt-BR-83a703b9.js b/config/www/community/frigate-hass-card/lang-pt-BR-83a703b9.js deleted file mode 100644 index b8033988..00000000 --- a/config/www/community/frigate-hass-card/lang-pt-BR-83a703b9.js +++ /dev/null @@ -1 +0,0 @@ -var e={frigate_card:"Cartão Frigate",frigate_card_description:"Um cartão da Lovelace para usar com Frigate",live:"Ao Vivo",no_media:"Nenhuma mídia para exibir",recordings:"Gravações",version:"Versão"},a={cameras:{camera_entity:"Entidade da Câmera",capabilities:{capabilities:{clips:"","favorite-events":"","favorite-recordings":"",live:"",menu:"",ptz:"",recordings:"",seek:"",snapshots:"",substream:""},disable:"",disable_except:"",editor_label:""},cast:{dashboard:{dashboard_path:"",view_path:""},editor_label:"",method:"",methods:{dashboard:"",standard:""}},dependencies:{all_cameras:"Mostrar eventos para todas as câmeras nesta câmera",cameras:"Mostrar eventos para câmeras específicas nesta câmera",editor_label:"Opções de dependência"},dimensions:{aspect_ratio:"",editor_label:"",layout:{editor_label:"",fit:"Ajuste de layout",fits:{contain:"A mídia é contida no cartão",cover:"A mídia se expande proporcionalmente para cobrir o cartão",fill:"A mídia é esticada para preencher o cartão"},pan:{x:"",y:""},position:{editor_label:"",x:"Porcentagem do posicionamento horizontal",y:"Porcentagem do posicionamento vertical"},view_box:{bottom:"",editor_label:"",left:"",right:"",top:""},zoom:""}},engines:{editor_label:"Opções do motor da câmera"},frigate:{camera_name:"Nome da câmera do Frigate (detectado automaticamente pela entidade)",client_id:"ID do cliente do Frigate (para >1 servidor Frigate)",editor_label:"Opções do Frigate",labels:"Rótulos do Frigate/filtros de objetos",url:"URL do servidor Frigate",zones:"Zonas do Frigate"},go2rtc:{editor_label:"Opções do go2rtc",modes:{editor_label:"Modos do go2rtc",mjpeg:"Motion JPEG (MJPEG)",mp4:"MPEG-4 (MP4)",mse:"Media Source Extensions (MSE)",webrtc:"Web Real-Time Communication (WebRTC)"},stream:"Nome do stream do go2rtc"},icon:"Ícone para esta câmera (detectado automaticamente pela entidade)",id:"ID exclusivo para esta câmera nesse cartão",image:{editor_label:"Opções de Imagem",refresh_seconds:"Número de segundos após os quais atualizar a imagem ao vivo (0=nunca)",url:"URL da imagem para usar em vez do instantâneo da entidade da câmera"},live_provider:"Provedor de visualização ao vivo para esta câmera",live_provider_options:{editor_label:"Opções do provedor de visualização ao vivo"},live_providers:{auto:"Automatico",go2rtc:"go2rtc",ha:"Stream de vídeo do Home Assistant (ou seja, HLS, LL-HLS, WebRTC via HA)",image:"Imagens do Home Assistant",jsmpeg:"JSMpeg","webrtc-card":"Cartão WebRTC (de @AlexxIT)"},motioneye:{editor_label:"Opções do MotionEye",images:{directory_pattern:"Padrão de diretório de imagens",file_pattern:"Padrão de arquivo de imagens"},movies:{directory_pattern:"Padrão de diretório de filmes",file_pattern:"Padrão de arquivo de filmes"},url:"URL da interface de usuário do MotionEye"},proxy:{dynamic:"",editor_label:"",media:{auto:"",editor_label:"",false:"",true:""},ssl_ciphers:{auto:"",default:"",editor_label:"",insecure:"",intermediate:"",modern:""},ssl_verification:{auto:"",editor_label:"",false:"",true:""}},reolink:{editor_label:"",media_resolution:{editor_label:"",high:"",low:""},url:""},title:"Título para esta câmera (detectado automaticamente pela entidade)",triggers:{editor_label:"Opções de acionamento",entities:"Acionar a partir de outras entidades",events:{clips:"",editor_label:"",events:"",snapshots:""},motion:"Acionar detectando automaticamente o sensor de movimento",occupancy:"Acionar detectando automaticamente o sensor de ocupação"},webrtc_card:{editor_label:"Opções do cartão WebRTC",entity:"Entidade de câmera de cartão WebRTC (não é uma câmera Frigate)",url:"URL da câmera do cartão WebRTC"}},common:{controls:{builtin:"",filter:{editor_label:"Filtro de Mídia",mode:"Modo do filtro",modes:{left:"Filtro de mídia em uma gaveta à esquerda",none:"Sem filtro de mídia",right:"Filtro de mídia em uma gaveta à direita"}},next_previous:{editor_label:"Próximo",size:"Tamanho de controle próximo e anterior",style:"Estilo do controle próximo e anterior",styles:{chevrons:"Setas",icons:"Ícones",none:"Nenhum",thumbnails:"Miniaturas"}},thumbnails:{editor_label:"Miniaturas",events_media_type:"Se deve mostrar miniaturas de clipes ou snapshots",events_media_types:{clips:"Miniaturas de clipes",snapshots:"Miniaturas de Snapshots"},media_type:"",media_types:{events:"",recordings:""},mode:"Modo de miniaturas",modes:{above:"Miniaturas acima da mídia",below:"Miniaturas abaixo da mídia",left:"Miniaturas em uma gaveta à esquerda",none:"Sem miniaturas",right:"Miniaturas em uma gaveta à direita"},show_details:"Mostrar detalhes com miniaturas",show_download_control:"Mostrar controle de download nas miniaturas",show_favorite_control:"Mostrar controle de favorito nas miniaturas",show_timeline_control:"Mostrar controle da linha do tempo nas miniaturas",size:"Tamanho das miniaturas em pixels"},timeline:{editor_label:"Controles da linha do tempo",mode:"Modo",modes:{above:"Acima",below:"Abaixo",none:"Nenhum"},pan_mode:"",pan_modes:{pan:"",seek:"","seek-in-camera":"","seek-in-media":""}}},display:{editor_label:"",grid_columns:"",grid_max_columns:"",grid_selected_width_factor:"",mode:""},image:{entity:"",entity_parameters:"",mode:"Modo de visualização de imagem",modes:{camera:"Instantâneo da câmera do Home Assistant, da entidade de câmera",entity:"",screensaver:"Logo Frigate embutido",url:"Imagem arbitrária especificada por URL"},refresh_seconds:"Número de segundos após o qual atualizar (0 = nunca)",url:"Imagem arbitrária especificada por URL"},media_action_conditions:{all:"Todas as oportunidades",hidden:"Ao ocultar o navegador/aba",microphone_mute:"",microphone_unmute:"",never:"Nunca",selected:"Ao selecionar",unselected:"Ao desselecionar",visible:"Ao mostrar o navegador/aba"},timeline:{clustering_threshold:"A contagem de eventos nos quais eles são agrupados (0 = sem agrupamento)",events_media_type:"A mídia que a linha do tempo exibe",events_media_types:{all:"Todos os tipos de mídia",clips:"Clipes",snapshots:"Instantâneos"},show_recordings:"Mostrar gravações",style:"",styles:{ribbon:"",stack:""},window_seconds:"A duração padrão da visualização da linha do tempo em segundos"}},dimensions:{aspect_ratio:"Proporção padrão (e.g. '16:9')",aspect_ratio_mode:"Modo de proporção",aspect_ratio_modes:{dynamic:"A proporção se ajusta à mídia",static:"Proporção estática",unconstrained:"Proporção irrestrita"},height:""},live:{auto_mute:"Silenciar câmeras ao vivo automaticamente",auto_pause:"Pausar câmeras ao vivo automaticamente",auto_play:"Reproduzir câmeras ao vivo automaticamente",auto_unmute:"Ativar automaticamente o som das câmeras ao vivo",controls:{editor_label:"Controles da visualização ao vivo",ptz:{editor_label:"",hide_home:"",hide_pan_tilt:"",hide_zoom:"",mode:"",modes:{off:"",on:""},orientation:"",orientations:{horizontal:"",vertical:""},position:"",positions:{"bottom-left":"","bottom-right":"","top-left":"","top-right":""}}},draggable:"A visualização ao vivo das câmeras pode ser arrastada/deslizada",lazy_load:"As câmeras ao vivo são carregadas lentamente",lazy_unload:"As câmeras ao vivo são descarregadas preguiçosamente",microphone:{always_connected:"",disconnect_seconds:"",editor_label:"",enabled:"",mute_after_microphone_mute_seconds:""},preload:"Pré-carregar a visualização ao vivo em segundo plano",show_image_during_load:"Mostrar imagem estática enquanto a transmissão ao vivo está carregando",transition_effect:"Efeito de transição de câmera ao vivo",zoomable:""},media_viewer:{auto_mute:"Silenciar mídia automaticamente",auto_pause:"Pausar mídia automaticamente",auto_play:"Reproduzir mídia automaticamente",auto_unmute:"Ativar mídia automaticamente",controls:{editor_label:"Controles do visualizador de mídia"},draggable:"Visualizador de eventos pode ser arrastado/deslizado",lazy_load:"A mídia do Visualizador de eventos é carregada lentamente no carrossel",snapshot_click_plays_clip:"Clicar em um instantâneo reproduz um clipe relacionado",transition_effect:"Efeito de transição do Visualizador de eventos",transition_effects:{none:"Sem transição",slide:"Transição de slides"},zoomable:""},menu:{alignment:"Alinhamento do menu",alignments:{bottom:"Alinhado à parte inferior",left:"Alinhado à esquerda",right:"Alinhado à direita",top:"Alinhado ao topo"},button_size:"Tamanho do botão de menu (e.g. '40px')",buttons:{alignment:"Alinhamento do botão",alignments:{matching:"Mesmo alinhamento do menu",opposing:"Opor-se ao alinhamento do menu"},camera_ui:"Interface de usuário da câmera",cameras:"Selecionar câmera",clips:"Clipes",display_mode:"",download:"Baixe a mídia do evento",enabled:"Botão ativado",expand:"Expandir",frigate:"Frigate menu / Visualização padrão",fullscreen:"Tela cheia",icon:"Ícone",image:"Imagem",live:"Ao vivo",media_player:"Enviar para o reprodutor de mídia",microphone:"",mute:"",permanent:"",play:"",priority:"Prioridade",ptz_controls:"",ptz_home:"",recordings:"Gravações",screenshot:"",snapshots:"Instantâneos",substreams:"Substream(s)",timeline:"Linha do tempo",type:"",types:{momentary:"",toggle:""}},position:"Posição do menu",positions:{bottom:"Posicionado na parte inferior",left:"Posicionado à esquerda",right:"Posicionado à direita",top:"Posicionado no topo"},style:"Estilo do menu",styles:{hidden:"Menu oculto",hover:"Menu suspenso","hover-card":"Menu suspenso (em todo o cartão)",none:"Sem menu",outside:"Menu externo",overlay:"Menu sobreposto"}},overrides:{info:"Esta configuração do cartão especificou manualmente as substituições configuradas que podem substituir os valores mostrados no editor visual, consulte o editor de código para visualizar/modificar essas substituições"},performance:{features:{animated_progress_indicator:"Indicador de Carregamento Animado",editor_label:"Opções de recursos",max_simultaneous_engine_requests:"",media_chunk_size:"Tamanho do bloco de mídia"},style:{border_radius:"Curvas",box_shadow:"Sombras",editor_label:"Opções de estilo"},warning:"Este cartão está no modo de baixo desempenho, então os padrões foram alterados para otimizar o desempenho"},profiles:{casting:"",editor_label:"","low-performance":"",scrubbing:""},status_bar:{height:"",items:{enabled:"",engine:"",live_provider:"",priority:"",resolution:"",technology:"",title:""},popup_seconds:"",position:"",positions:{bottom:"",top:""},style:"",styles:{hover:"","hover-card":"",none:"",outside:"",overlay:"",popup:""}},view:{camera_select:"Visualização de câmeras recém-selecionadas",dark_mode:"Modo escuro",dark_modes:{auto:"Automático",off:"Desligado",on:"Ligado"},default:"Visualização padrão",default_cycle_camera:"Percorrer as câmeras quando a visualização padrão for atualizada",default_reset:{after_interaction:"",editor_label:"",entities:"",every_seconds:"Atualize a visualização padrão a cada X segundos (0 = nunca)",interaction_mode:"",interaction_modes:{active:"",all:"",inactive:""}},interaction_seconds:"",keyboard_shortcuts:{editor_label:"",enabled:"",ptz_down:"",ptz_home:"",ptz_left:"",ptz_right:"",ptz_up:"",ptz_zoom_in:"",ptz_zoom_out:""},triggers:{actions:{editor_label:"",interaction_mode:"",interaction_modes:{active:"",all:"",inactive:""},trigger:"",triggers:{default:"",live:"",media:"",none:""},untrigger:"",untriggers:{default:"",none:""}},editor_label:"",filter_selected_camera:"",show_trigger_status:"Pulsar borda quando acionado",untrigger_seconds:"Segundos após a mudar para o estado inativo para desacionar"},views:{clip:"Clipe mais recente",clips:"Galeria de clipes",current:"Visualização atual",image:"Imagem estática",live:"Visualização ao vivo",recording:"Gravação mais recente",recordings:"Galeria de gravações",snapshot:"Snapshot mais recente",snapshots:"Galeria de Snapshots",timeline:"Visualização da linha do tempo"}}},o={grid:"",single:""},i={add_new_camera:"Adicionar nova câmera",button:"Botão",camera:"Câmera",cameras:"Câmeras",cameras_secondary:"Quais câmeras renderizar neste cartão",delete:"Excluir",dimensions:"",dimensions_secondary:"",image:"Imagem",image_secondary:"Opções de visualização de imagem estática",live:"Ao vivo",live_secondary:"Opções de visualização da câmera ao vivo",media_gallery:"Galeria de mídia",media_gallery_secondary:"Opções da galeria de mídia",media_viewer:"Visualizador de eventos",media_viewer_secondary:"Opções do visualizador de Snapshots e clipes",menu:"Menu",menu_secondary:"Opções de aparência do menu",move_down:"Descer",move_up:"Subir",overrides:"As substituições estão ativas",overrides_secondary:"Substituições de configuração dinâmica detectadas",performance:"Desempenho",performance_secondary:"Opções de desempenho do cartão",profiles:"",profiles_secondary:"",status_bar:"",status_bar_secondary:"",timeline:"Linha do tempo",timeline_secondary:"Opções do evento da linha do tempo",upgrade:"Upgrade",upgrade_available:"Um upgrade automático da configuração de cartão está disponível",view:"Visualizar",view_secondary:"O que o cartão deve mostrar e como mostrá-lo"},r={ptz:{down:"Baixo",home:"Casa",left:"Esquerda",right:"Direita",up:"Cima",zoom_in:"Aumentar Zoom",zoom_out:"Reduzir Zoom"}},t={awaiting_live:"",awaiting_media:"",camera_initialization:"",camera_initialization_reolink:"",could_not_render_elements:"Não foi possível renderizar os elementos da imagem",could_not_resolve:"Não foi possível resolver o URL de mídia",diagnostics:"Diagnósticos do cartão. Revise as informações confidenciais antes de compartilhar",download_no_media:"Nenhuma mídia para download",download_sign_failed:"Não foi possível assinar o URL de mídia para download",duplicate_camera_id:"Duplique o ID da câmera Frigate para a câmera a seguir, use o parâmetro 'id' para identificar exclusivamente as câmeras",empty_response:"Sem resposta do Home Assistant para a solicitação",failed_response:"Falha ao receber resposta do Home Assistant para solicitação",failed_retain:"Não foi possível reter o evento",failed_sign:"Não foi possível assinar a URL do Home Assistant",image_load_error:"A imagem não pôde ser carregada",invalid_configuration:"Configuração inválida",invalid_configuration_no_hint:"Nenhuma dica de local disponível (tipo incorreto ou ausente?)",invalid_configuration_override:"",invalid_elements_config:"Configuração de elementos de imagem inválida",invalid_response:"Resposta inválida recebida do Home Assistant para a solicitação",jsmpeg_no_player:"Não foi possível iniciar o player JSMPEG",live_camera_no_endpoint:"Não foi possível obter o endereço da câmera para este provedor ao vivo (configuração incompleta?)",live_camera_not_found:"A entidade de câmera configurada não foi encontrada",live_camera_unavailable:"Câmera indisponível",no_camera_engine:"Não foi possível determinar o motor adequado para a câmera",no_camera_entity:"Não foi possível encontrar a entidade da câmera",no_camera_entity_for_triggers:"Uma entidade de câmera é necessária para detectar automaticamente os gatilhos",no_camera_id:"Não foi possível determinar o ID da câmera para a câmera a seguir, pode ser necessário definir o parâmetro 'id' manualmente",no_camera_name:"Não foi possível determinar o nome da câmera da Frigate, especifique 'camera_entity' ou 'camera_name' para a câmera a seguir",no_dashboard_or_view:"",no_live_camera:"O parâmetro camera_entity deve ser definido e válido para este provedor ativo",no_supported_camera:"",no_supported_cameras:"",reconnecting:"Reconectando",too_many_automations:"",troubleshooting:"Verifique a solução de problemas",unknown:"Erro desconhecido",upgrade_available:"Uma atualização automatizada da configuração do cartão está disponível, visite o editor visual do cartão",webrtc_card_reported_error:"O cartão WebRTC relatou um erro",webrtc_card_waiting:"Aguardando o cartão WebRTC carregar ..."},s={camera:"Câmera",duration:"Duração",in_progress:"Em andamento",score:"Pontuação",seek:"Procurar",start:"Início",tag:"Etiqueta",what:"O que",where:"Onde"},n={assign:"",assigning:"",modifiers:{alt:"",ctrl:"",meta:"",shift:""},unassign:""},d={all:"Todos",camera:"Câmera",favorite:"Favorito",media_type:"Tipo de mídia",media_types:{clips:"Clipes",recordings:"Gravações",snapshots:"Instantâneos"},not_favorite:"Não favorito",select_camera:"Selecione a câmera...",select_favorite:"Selecione favorito...",select_media_type:"Selecione o tipo de mídia...",select_tag:"Selecione a etiqueta...",select_what:"Selecione o que...",select_when:"Selecione quando...",select_where:"Selecione onde...",tag:"Etiqueta",what:"O que",when:"Quando",whens:{custom:"",past_month:"Mês passado",past_week:"Semana passada",today:"Hoje",yesterday:"Ontem"},where:"Onde"},m={unseekable:""},l={camera:"Câmera",duration:"Duração",events:"Eventos",in_progress:"Em andamento",seek:"Procurar",start:"Começar"},c={download:"Baixar mídia",no_thumbnail:"Nenhuma miniatura disponível",retain_indefinitely:"Evento será retido por tempo indeterminado",timeline:"Ver evento na linha do tempo"},u={select_date:"Escolha a data"},p={common:e,config:a,display_modes:o,editor:i,elements:r,error:t,event:s,key_assigner:n,media_filter:d,media_viewer:m,recording:l,thumbnail:c,timeline:u};export{e as common,a as config,p as default,o as display_modes,i as editor,r as elements,t as error,s as event,n as key_assigner,d as media_filter,m as media_viewer,l as recording,c as thumbnail,u as timeline}; diff --git a/config/www/community/frigate-hass-card/lang-pt-BR-83a703b9.js.gz b/config/www/community/frigate-hass-card/lang-pt-BR-83a703b9.js.gz deleted file mode 100644 index 53e5bad7cd8f6ca57c6bfe976a8d2ede402ca410..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5948 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 diff --git a/config/www/community/frigate-hass-card/lang-pt-BR-ea76ed6c.js b/config/www/community/frigate-hass-card/lang-pt-BR-ea76ed6c.js deleted file mode 100644 index 980be008..00000000 --- a/config/www/community/frigate-hass-card/lang-pt-BR-ea76ed6c.js +++ /dev/null @@ -1 +0,0 @@ -var e={frigate_card:"Cartão Frigate",frigate_card_description:"Um cartão da Lovelace para usar com Frigate",live:"Ao Vivo",no_media:"Nenhuma mídia para exibir",recordings:"Gravações",version:"Versão"},a={cameras:{camera_entity:"Entidade da Câmera",capabilities:{capabilities:{clips:"","favorite-events":"","favorite-recordings":"",live:"",menu:"",ptz:"",recordings:"",seek:"",snapshots:"",substream:""},disable:"",disable_except:"",editor_label:""},cast:{dashboard:{dashboard_path:"",view_path:""},editor_label:"",method:"",methods:{dashboard:"",standard:""}},dependencies:{all_cameras:"Mostrar eventos para todas as câmeras nesta câmera",cameras:"Mostrar eventos para câmeras específicas nesta câmera",editor_label:"Opções de dependência"},dimensions:{aspect_ratio:"",editor_label:"",layout:{editor_label:"",fit:"Ajuste de layout",fits:{contain:"A mídia é contida no cartão",cover:"A mídia se expande proporcionalmente para cobrir o cartão",fill:"A mídia é esticada para preencher o cartão"},pan:{x:"",y:""},position:{editor_label:"",x:"Porcentagem do posicionamento horizontal",y:"Porcentagem do posicionamento vertical"},view_box:{bottom:"",editor_label:"",left:"",right:"",top:""},zoom:""}},engines:{editor_label:"Opções do motor da câmera"},frigate:{camera_name:"Nome da câmera do Frigate (detectado automaticamente pela entidade)",client_id:"ID do cliente do Frigate (para >1 servidor Frigate)",editor_label:"Opções do Frigate",labels:"Rótulos do Frigate/filtros de objetos",url:"URL do servidor Frigate",zones:"Zonas do Frigate"},go2rtc:{editor_label:"Opções do go2rtc",modes:{editor_label:"Modos do go2rtc",mjpeg:"Motion JPEG (MJPEG)",mp4:"MPEG-4 (MP4)",mse:"Media Source Extensions (MSE)",webrtc:"Web Real-Time Communication (WebRTC)"},stream:"Nome do stream do go2rtc"},icon:"Ícone para esta câmera (detectado automaticamente pela entidade)",id:"ID exclusivo para esta câmera nesse cartão",image:{editor_label:"Opções de Imagem",refresh_seconds:"Número de segundos após os quais atualizar a imagem ao vivo (0=nunca)",url:"URL da imagem para usar em vez do instantâneo da entidade da câmera"},live_provider:"Provedor de visualização ao vivo para esta câmera",live_provider_options:{editor_label:"Opções do provedor de visualização ao vivo"},live_providers:{auto:"Automatico",go2rtc:"go2rtc",ha:"Stream de vídeo do Home Assistant (ou seja, HLS, LL-HLS, WebRTC via HA)",image:"Imagens do Home Assistant",jsmpeg:"JSMpeg","webrtc-card":"Cartão WebRTC (de @AlexxIT)"},motioneye:{editor_label:"Opções do MotionEye",images:{directory_pattern:"Padrão de diretório de imagens",file_pattern:"Padrão de arquivo de imagens"},movies:{directory_pattern:"Padrão de diretório de filmes",file_pattern:"Padrão de arquivo de filmes"},url:"URL da interface de usuário do MotionEye"},proxy:{dynamic:"",editor_label:"",media:{auto:"",editor_label:"",false:"",true:""},ssl_ciphers:{auto:"",default:"",editor_label:"",insecure:"",intermediate:"",modern:""},ssl_verification:{auto:"",editor_label:"",false:"",true:""}},reolink:{editor_label:"",media_resolution:{editor_label:"",high:"",low:""},url:""},title:"Título para esta câmera (detectado automaticamente pela entidade)",triggers:{editor_label:"Opções de acionamento",entities:"Acionar a partir de outras entidades",events:{clips:"",editor_label:"",events:"",snapshots:""},motion:"Acionar detectando automaticamente o sensor de movimento",occupancy:"Acionar detectando automaticamente o sensor de ocupação"},webrtc_card:{editor_label:"Opções do cartão WebRTC",entity:"Entidade de câmera de cartão WebRTC (não é uma câmera Frigate)",url:"URL da câmera do cartão WebRTC"}},common:{controls:{builtin:"",filter:{editor_label:"Filtro de Mídia",mode:"Modo do filtro",modes:{left:"Filtro de mídia em uma gaveta à esquerda",none:"Sem filtro de mídia",right:"Filtro de mídia em uma gaveta à direita"}},next_previous:{editor_label:"Próximo",size:"Tamanho de controle próximo e anterior",style:"Estilo do controle próximo e anterior",styles:{chevrons:"Setas",icons:"Ícones",none:"Nenhum",thumbnails:"Miniaturas"}},thumbnails:{editor_label:"Miniaturas",events_media_type:"Se deve mostrar miniaturas de clipes ou snapshots",events_media_types:{clips:"Miniaturas de clipes",snapshots:"Miniaturas de Snapshots"},media_type:"",media_types:{events:"",recordings:""},mode:"Modo de miniaturas",modes:{above:"Miniaturas acima da mídia",below:"Miniaturas abaixo da mídia",left:"Miniaturas em uma gaveta à esquerda",none:"Sem miniaturas",right:"Miniaturas em uma gaveta à direita"},show_details:"Mostrar detalhes com miniaturas",show_download_control:"Mostrar controle de download nas miniaturas",show_favorite_control:"Mostrar controle de favorito nas miniaturas",show_timeline_control:"Mostrar controle da linha do tempo nas miniaturas",size:"Tamanho das miniaturas em pixels"},timeline:{editor_label:"Controles da linha do tempo",mode:"Modo",modes:{above:"Acima",below:"Abaixo",none:"Nenhum"},pan_mode:"",pan_modes:{pan:"",seek:"","seek-in-camera":"","seek-in-media":""}}},display:{editor_label:"",grid_columns:"",grid_max_columns:"",grid_selected_width_factor:"",mode:""},image:{entity:"",entity_parameters:"",mode:"Modo de visualização de imagem",modes:{camera:"Instantâneo da câmera do Home Assistant, da entidade de câmera",entity:"",screensaver:"Logo Frigate embutido",url:"Imagem arbitrária especificada por URL"},refresh_seconds:"Número de segundos após o qual atualizar (0 = nunca)",url:"Imagem arbitrária especificada por URL"},media_action_conditions:{all:"Todas as oportunidades",hidden:"Ao ocultar o navegador/aba",microphone_mute:"",microphone_unmute:"",never:"Nunca",selected:"Ao selecionar",unselected:"Ao desselecionar",visible:"Ao mostrar o navegador/aba"},timeline:{clustering_threshold:"A contagem de eventos nos quais eles são agrupados (0 = sem agrupamento)",events_media_type:"A mídia que a linha do tempo exibe",events_media_types:{all:"Todos os tipos de mídia",clips:"Clipes",snapshots:"Instantâneos"},show_recordings:"Mostrar gravações",style:"",styles:{ribbon:"",stack:""},window_seconds:"A duração padrão da visualização da linha do tempo em segundos"}},dimensions:{aspect_ratio:"Proporção padrão (e.g. '16:9')",aspect_ratio_mode:"Modo de proporção",aspect_ratio_modes:{dynamic:"A proporção se ajusta à mídia",static:"Proporção estática",unconstrained:"Proporção irrestrita"},height:""},live:{auto_mute:"Silenciar câmeras ao vivo automaticamente",auto_pause:"Pausar câmeras ao vivo automaticamente",auto_play:"Reproduzir câmeras ao vivo automaticamente",auto_unmute:"Ativar automaticamente o som das câmeras ao vivo",controls:{editor_label:"Controles da visualização ao vivo",ptz:{editor_label:"",hide_home:"",hide_pan_tilt:"",hide_zoom:"",mode:"",modes:{off:"",on:""},orientation:"",orientations:{horizontal:"",vertical:""},position:"",positions:{"bottom-left":"","bottom-right":"","top-left":"","top-right":""}}},draggable:"A visualização ao vivo das câmeras pode ser arrastada/deslizada",lazy_load:"As câmeras ao vivo são carregadas lentamente",lazy_unload:"As câmeras ao vivo são descarregadas preguiçosamente",microphone:{always_connected:"",disconnect_seconds:"",editor_label:"",enabled:"",mute_after_microphone_mute_seconds:""},preload:"Pré-carregar a visualização ao vivo em segundo plano",show_image_during_load:"Mostrar imagem estática enquanto a transmissão ao vivo está carregando",transition_effect:"Efeito de transição de câmera ao vivo",zoomable:""},media_viewer:{auto_mute:"Silenciar mídia automaticamente",auto_pause:"Pausar mídia automaticamente",auto_play:"Reproduzir mídia automaticamente",auto_unmute:"Ativar mídia automaticamente",controls:{editor_label:"Controles do visualizador de mídia"},draggable:"Visualizador de eventos pode ser arrastado/deslizado",lazy_load:"A mídia do Visualizador de eventos é carregada lentamente no carrossel",snapshot_click_plays_clip:"Clicar em um instantâneo reproduz um clipe relacionado",transition_effect:"Efeito de transição do Visualizador de eventos",transition_effects:{none:"Sem transição",slide:"Transição de slides"},zoomable:""},menu:{alignment:"Alinhamento do menu",alignments:{bottom:"Alinhado à parte inferior",left:"Alinhado à esquerda",right:"Alinhado à direita",top:"Alinhado ao topo"},button_size:"Tamanho do botão de menu (e.g. '40px')",buttons:{alignment:"Alinhamento do botão",alignments:{matching:"Mesmo alinhamento do menu",opposing:"Opor-se ao alinhamento do menu"},camera_ui:"Interface de usuário da câmera",cameras:"Selecionar câmera",clips:"Clipes",display_mode:"",download:"Baixe a mídia do evento",enabled:"Botão ativado",expand:"Expandir",frigate:"Frigate menu / Visualização padrão",fullscreen:"Tela cheia",icon:"Ícone",image:"Imagem",live:"Ao vivo",media_player:"Enviar para o reprodutor de mídia",microphone:"",mute:"",permanent:"",play:"",priority:"Prioridade",ptz_controls:"",ptz_home:"",recordings:"Gravações",screenshot:"",snapshots:"Instantâneos",substreams:"Substream(s)",timeline:"Linha do tempo",type:"",types:{momentary:"",toggle:""}},position:"Posição do menu",positions:{bottom:"Posicionado na parte inferior",left:"Posicionado à esquerda",right:"Posicionado à direita",top:"Posicionado no topo"},style:"Estilo do menu",styles:{hidden:"Menu oculto",hover:"Menu suspenso","hover-card":"Menu suspenso (em todo o cartão)",none:"Sem menu",outside:"Menu externo",overlay:"Menu sobreposto"}},overrides:{info:"Esta configuração do cartão especificou manualmente as substituições configuradas que podem substituir os valores mostrados no editor visual, consulte o editor de código para visualizar/modificar essas substituições"},performance:{features:{animated_progress_indicator:"Indicador de Carregamento Animado",editor_label:"Opções de recursos",max_simultaneous_engine_requests:"",media_chunk_size:"Tamanho do bloco de mídia"},style:{border_radius:"Curvas",box_shadow:"Sombras",editor_label:"Opções de estilo"},warning:"Este cartão está no modo de baixo desempenho, então os padrões foram alterados para otimizar o desempenho"},profiles:{casting:"",editor_label:"","low-performance":"",scrubbing:""},status_bar:{height:"",items:{enabled:"",engine:"",live_provider:"",priority:"",resolution:"",technology:"",title:""},popup_seconds:"",position:"",positions:{bottom:"",top:""},style:"",styles:{hover:"","hover-card":"",none:"",outside:"",overlay:"",popup:""}},view:{camera_select:"Visualização de câmeras recém-selecionadas",dark_mode:"Modo escuro",dark_modes:{auto:"Automático",off:"Desligado",on:"Ligado"},default:"Visualização padrão",default_cycle_camera:"Percorrer as câmeras quando a visualização padrão for atualizada",default_reset:{after_interaction:"",editor_label:"",entities:"",every_seconds:"Atualize a visualização padrão a cada X segundos (0 = nunca)",interaction_mode:"",interaction_modes:{active:"",all:"",inactive:""}},interaction_seconds:"",keyboard_shortcuts:{editor_label:"",enabled:"",ptz_down:"",ptz_home:"",ptz_left:"",ptz_right:"",ptz_up:"",ptz_zoom_in:"",ptz_zoom_out:""},triggers:{actions:{editor_label:"",interaction_mode:"",interaction_modes:{active:"",all:"",inactive:""},trigger:"",triggers:{default:"",live:"",media:"",none:""},untrigger:"",untriggers:{default:"",none:""}},editor_label:"",filter_selected_camera:"",show_trigger_status:"Pulsar borda quando acionado",untrigger_seconds:"Segundos após a mudar para o estado inativo para desacionar"},views:{clip:"Clipe mais recente",clips:"Galeria de clipes",current:"Visualização atual",image:"Imagem estática",live:"Visualização ao vivo",recording:"Gravação mais recente",recordings:"Galeria de gravações",snapshot:"Snapshot mais recente",snapshots:"Galeria de Snapshots",timeline:"Visualização da linha do tempo"}}},o={grid:"",single:""},i={add_new_camera:"Adicionar nova câmera",button:"Botão",camera:"Câmera",cameras:"Câmeras",cameras_secondary:"Quais câmeras renderizar neste cartão",delete:"Excluir",dimensions:"",dimensions_secondary:"",image:"Imagem",image_secondary:"Opções de visualização de imagem estática",live:"Ao vivo",live_secondary:"Opções de visualização da câmera ao vivo",media_gallery:"Galeria de mídia",media_gallery_secondary:"Opções da galeria de mídia",media_viewer:"Visualizador de eventos",media_viewer_secondary:"Opções do visualizador de Snapshots e clipes",menu:"Menu",menu_secondary:"Opções de aparência do menu",move_down:"Descer",move_up:"Subir",overrides:"As substituições estão ativas",overrides_secondary:"Substituições de configuração dinâmica detectadas",performance:"Desempenho",performance_secondary:"Opções de desempenho do cartão",profiles:"",profiles_secondary:"",status_bar:"",status_bar_secondary:"",timeline:"Linha do tempo",timeline_secondary:"Opções do evento da linha do tempo",upgrade:"Upgrade",upgrade_available:"Um upgrade automático da configuração de cartão está disponível",view:"Visualizar",view_secondary:"O que o cartão deve mostrar e como mostrá-lo"},r={ptz:{down:"Baixo",home:"Casa",left:"Esquerda",right:"Direita",up:"Cima",zoom_in:"Aumentar Zoom",zoom_out:"Reduzir Zoom"}},t={awaiting_live:"",awaiting_media:"",camera_initialization:"",camera_initialization_reolink:"",could_not_render_elements:"Não foi possível renderizar os elementos da imagem",could_not_resolve:"Não foi possível resolver o URL de mídia",diagnostics:"Diagnósticos do cartão. Revise as informações confidenciais antes de compartilhar",download_no_media:"Nenhuma mídia para download",download_sign_failed:"Não foi possível assinar o URL de mídia para download",duplicate_camera_id:"Duplique o ID da câmera Frigate para a câmera a seguir, use o parâmetro 'id' para identificar exclusivamente as câmeras",empty_response:"Sem resposta do Home Assistant para a solicitação",failed_response:"Falha ao receber resposta do Home Assistant para solicitação",failed_retain:"Não foi possível reter o evento",failed_sign:"Não foi possível assinar a URL do Home Assistant",image_load_error:"A imagem não pôde ser carregada",invalid_configuration:"Configuração inválida",invalid_configuration_no_hint:"Nenhuma dica de local disponível (tipo incorreto ou ausente?)",invalid_configuration_override:"",invalid_elements_config:"Configuração de elementos de imagem inválida",invalid_response:"Resposta inválida recebida do Home Assistant para a solicitação",jsmpeg_no_player:"Não foi possível iniciar o player JSMPEG",live_camera_no_endpoint:"Não foi possível obter o endereço da câmera para este provedor ao vivo (configuração incompleta?)",live_camera_not_found:"A entidade de câmera configurada não foi encontrada",live_camera_unavailable:"Câmera indisponível",no_camera_engine:"Não foi possível determinar o motor adequado para a câmera",no_camera_entity:"Não foi possível encontrar a entidade da câmera",no_camera_entity_for_triggers:"Uma entidade de câmera é necessária para detectar automaticamente os gatilhos",no_camera_id:"Não foi possível determinar o ID da câmera para a câmera a seguir, pode ser necessário definir o parâmetro 'id' manualmente",no_camera_name:"Não foi possível determinar o nome da câmera da Frigate, especifique 'camera_entity' ou 'camera_name' para a câmera a seguir",no_dashboard_or_view:"",no_live_camera:"O parâmetro camera_entity deve ser definido e válido para este provedor ativo",no_supported_camera:"",no_supported_cameras:"",reconnecting:"Reconectando",too_many_automations:"",troubleshooting:"Verifique a solução de problemas",unknown:"Erro desconhecido",upgrade_available:"Uma atualização automatizada da configuração do cartão está disponível, visite o editor visual do cartão",webrtc_card_reported_error:"O cartão WebRTC relatou um erro",webrtc_card_waiting:"Aguardando o cartão WebRTC carregar ..."},s={camera:"Câmera",duration:"Duração",in_progress:"Em andamento",score:"Pontuação",seek:"Procurar",start:"Início",tag:"Etiqueta",what:"O que",where:"Onde"},n={assign:"",modifiers:{alt:"",ctrl:"",meta:"",shift:""},unassign:""},d={all:"Todos",camera:"Câmera",favorite:"Favorito",media_type:"Tipo de mídia",media_types:{clips:"Clipes",recordings:"Gravações",snapshots:"Instantâneos"},not_favorite:"Não favorito",select_camera:"Selecione a câmera...",select_favorite:"Selecione favorito...",select_media_type:"Selecione o tipo de mídia...",select_tag:"Selecione a etiqueta...",select_what:"Selecione o que...",select_when:"Selecione quando...",select_where:"Selecione onde...",tag:"Etiqueta",what:"O que",when:"Quando",whens:{custom:"",past_month:"Mês passado",past_week:"Semana passada",today:"Hoje",yesterday:"Ontem"},where:"Onde"},m={unseekable:""},l={camera:"Câmera",duration:"Duração",events:"Eventos",in_progress:"Em andamento",seek:"Procurar",start:"Começar"},c={download:"Baixar mídia",no_thumbnail:"Nenhuma miniatura disponível",retain_indefinitely:"Evento será retido por tempo indeterminado",timeline:"Ver evento na linha do tempo"},u={select_date:"Escolha a data"},p={common:e,config:a,display_modes:o,editor:i,elements:r,error:t,event:s,key_assigner:n,media_filter:d,media_viewer:m,recording:l,thumbnail:c,timeline:u};export{e as common,a as config,p as default,o as display_modes,i as editor,r as elements,t as error,s as event,n as key_assigner,d as media_filter,m as media_viewer,l as recording,c as thumbnail,u as timeline}; diff --git a/config/www/community/frigate-hass-card/lang-pt-BR-ea76ed6c.js.gz b/config/www/community/frigate-hass-card/lang-pt-BR-ea76ed6c.js.gz deleted file mode 100644 index e0d063bfb4bb84c7eb7f54d196ed495073acc901..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5943 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 servidor Frigate)",editor_label:"Opções do Frigate",labels:"Etiquetas",url:"URL do servidor Frigate",zones:"Zonas"},go2rtc:{editor_label:"Editor de etiquetas",modes:{editor_label:"Editor de etiquetas",mjpeg:"Mjpeg",mp4:"Mp4",mse:"Mse",webrtc:"Webrtc"},stream:"Stream"},icon:"Ícone para esta câmera (detectado automaticamente pela entidade)",id:"ID exclusivo para esta câmera nesse cartão",image:{editor_label:"Editor etiquetas",refresh_seconds:"Atualizar em segundos",url:"Link"},live_provider:"Fonte de visualização ao vivo para esta câmera",live_provider_options:{editor_label:"Editor de etiquetas"},live_providers:{auto:"Automatico",go2rtc:"Go2rtc",ha:"Ha",image:"Imagem",jsmpeg:"JSMpeg","webrtc-card":"Cartão WebRTC (de @AlexxIT)"},motioneye:{editor_label:"Directoria pre-definido",images:{directory_pattern:"Directoria pre-definido",file_pattern:"Ficheiro pre-definido"},movies:{directory_pattern:"Directoria pre-definida",file_pattern:"Ficheiro pre-definido"},url:"Link"},proxy:{dynamic:"",editor_label:"",media:{auto:"",editor_label:"",false:"",true:""},ssl_ciphers:{auto:"",default:"",editor_label:"",insecure:"",intermediate:"",modern:""},ssl_verification:{auto:"",editor_label:"",false:"",true:""}},reolink:{editor_label:"",media_resolution:{editor_label:"",high:"",low:""},url:""},title:"Título para esta câmera (detectado automaticamente pela entidade)",triggers:{editor_label:"Opções de activação",entities:"Activar a partir de outras entidades",events:{clips:"",editor_label:"",events:"",snapshots:""},motion:"Activar detectando automaticamente o sensor de movimento",occupancy:"Activar detectando automaticamente o sensor de ocupação"},webrtc_card:{editor_label:"Opções do cartão WebRTC",entity:"Entidade de câmera de cartão WebRTC (não é uma câmera Frigate)",url:"URL da câmera do cartão WebRTC"}},common:{controls:{builtin:"",filter:{editor_label:"Editor de titulos",mode:"Modo",modes:{left:"Esquerda",none:"Nenhum",right:"Direita"}},next_previous:{editor_label:"Editor de titulos",size:"Tamanho de controle próximo e anterior",style:"Estilo do controle próximo e anterior",styles:{chevrons:"Setas",icons:"Ícones",none:"Nenhum",thumbnails:"Miniaturas"}},thumbnails:{editor_label:"Editor de titulos",events_media_type:"Mostrar miniaturas de clipes ou snapshots",events_media_types:{clips:"Miniaturas de clipes",snapshots:"Miniaturas de Snapshots"},media_type:"",media_types:{events:"",recordings:""},mode:"Modos",modes:{above:"Miniaturas acima da mídia",below:"Miniaturas abaixo da mídia",left:"Miniaturas em uma gaveta à esquerda",none:"Sem miniaturas",right:"Miniaturas em uma gaveta à direita"},show_details:"Mostrar detalhes",show_download_control:"Mostrar o botão de download",show_favorite_control:"Mostrar o botão de favorito nas miniaturas",show_timeline_control:"Mostrar a linha do tempo nas miniaturas",size:"Tamanho das miniaturas em pixels"},timeline:{editor_label:"Controles de linha do tempo",mode:"Modo",modes:{above:"Por cima",below:"Abaixo",none:"Nenhum"},pan_mode:"",pan_modes:{pan:"",seek:"","seek-in-camera":"","seek-in-media":""}}},display:{editor_label:"",grid_columns:"",grid_max_columns:"",grid_selected_width_factor:"",mode:""},image:{entity:"",entity_parameters:"",mode:"Modo de visualização de imagem",modes:{camera:"Instantâneo da câmera do Home Assistant, da entidade de câmera",entity:"",screensaver:"Logo Frigate embutido",url:"Imagem arbitrária especificada por URL"},refresh_seconds:"Número de segundos após o qual atualizar (0 = nunca)",url:"Imagem arbitrária especificada por URL"},media_action_conditions:{all:"Todas as oportunidades",hidden:"Ao ocultar o navegador/aba",microphone_mute:"",microphone_unmute:"",never:"Nunca",selected:"Ao selecionar",unselected:"Ao desselecionar",visible:"Ao mostrar o navegador/aba"},timeline:{clustering_threshold:"A contagem de eventos nos quais eles são agrupados (0 = sem agrupamento)",events_media_type:"A mídia que a linha do tempo exibe",events_media_types:{all:"Todos os tipos de mídia",clips:"Clipes",snapshots:"Instantâneos"},show_recordings:"Mostrar gravações",style:"",styles:{ribbon:"",stack:""},window_seconds:"A duração padrão da visualização da linha do tempo em segundos"}},dimensions:{aspect_ratio:"Proporção padrão (e.g. '16:9')",aspect_ratio_mode:"Modo de proporção",aspect_ratio_modes:{dynamic:"A proporção se ajusta à mídia",static:"Proporção estática",unconstrained:"Proporção irrestrita"},height:""},live:{auto_mute:"Silenciar câmeras ao vivo automaticamente",auto_pause:"Parar câmeras ao vivo automaticamente",auto_play:"Reproduzir câmeras ao vivo automaticamente",auto_unmute:"Ativar automaticamente o som das câmeras ao vivo",controls:{editor_label:"Controles da visualização ao vivo",ptz:{editor_label:"",hide_home:"",hide_pan_tilt:"",hide_zoom:"",mode:"",modes:{off:"",on:""},orientation:"",orientations:{horizontal:"",vertical:""},position:"",positions:{"bottom-left":"","bottom-right":"","top-left":"","top-right":""}}},draggable:"A visualização ao vivo das câmeras pode ser arrastada/deslizada",lazy_load:"As câmeras ao vivo são carregadas lentamente",lazy_unload:"As câmeras ao vivo são descarregadas preguiçosamente",microphone:{always_connected:"",disconnect_seconds:"",editor_label:"",enabled:"",mute_after_microphone_mute_seconds:""},preload:"Pré-carregar a visualização ao vivo em segundo plano",show_image_during_load:"Mostar imagem durante o carregamento",transition_effect:"Efeito de transição de câmera ao vivo",zoomable:""},media_viewer:{auto_mute:"Silenciar mídia automaticamente",auto_pause:"Parar mídia automaticamente",auto_play:"Reproduzir mídia automaticamente",auto_unmute:"Ativar mídia automaticamente",controls:{editor_label:"Controles do visualizador de mídia"},draggable:"Visualizador de eventos pode ser arrastado/deslizado",lazy_load:"A mídia do Visualizador de eventos é carregada lentamente no carrossel",snapshot_click_plays_clip:"",transition_effect:"Efeito de transição do Visualizador de eventos",transition_effects:{none:"Sem transição",slide:"Transição de slides"},zoomable:""},menu:{alignment:"Alinhamento do menu",alignments:{bottom:"Alinhado à parte inferior",left:"Alinhado à esquerda",right:"Alinhado à direita",top:"Alinhado ao topo"},button_size:"Tamanho do botão de menu (e.g. '40px')",buttons:{alignment:"Alinhamento do botão",alignments:{matching:"Mesmo alinhamento do menu",opposing:"Opor-se ao alinhamento do menu"},camera_ui:"Camera",cameras:"Selecionar câmera",clips:"Clipes",display_mode:"",download:"Descarregar mídia do evento",enabled:"Botão ativado",expand:"Expandir",frigate:"Frigate menu / Visualização padrão",fullscreen:"Tela cheia",icon:"Ícone",image:"Imagem",live:"Ao vivo",media_player:"Enviar para o reprodutor de mídia",microphone:"",mute:"",permanent:"",play:"",priority:"Prioridade",ptz_controls:"",ptz_home:"",recordings:"",screenshot:"",snapshots:"Instantâneos",substreams:"substreams",timeline:"Linha do tempo",type:"",types:{momentary:"",toggle:""}},position:"Posição do menu",positions:{bottom:"Posicionado na parte inferior",left:"Posicionado à esquerda",right:"Posicionado à direita",top:"Posicionado no topo"},style:"Estilo do menu",styles:{hidden:"Menu oculto",hover:"Menu suspenso","hover-card":"",none:"Sem menu",outside:"Menu externo",overlay:"Menu sobreposto"}},overrides:{info:"Esta configuração do cartão especificou manualmente as substituições configuradas que podem substituir os valores mostrados no editor visual, consulte o editor de código para visualizar/modificar essas substituições"},performance:{features:{animated_progress_indicator:"Animação na barra de progresso",editor_label:"Editor de etiquetas",max_simultaneous_engine_requests:"",media_chunk_size:"Tamanho do ficheiro"},style:{border_radius:"Tamanho do bordo",box_shadow:"Caixa de Fundo",editor_label:"Editor de etiquetas"},warning:"Avisos"},profiles:{casting:"",editor_label:"","low-performance":"",scrubbing:""},status_bar:{height:"",items:{enabled:"",engine:"",live_provider:"",priority:"",resolution:"",technology:"",title:""},popup_seconds:"",position:"",positions:{bottom:"",top:""},style:"",styles:{hover:"","hover-card":"",none:"",outside:"",overlay:"",popup:""}},view:{camera_select:"Visualização de câmeras recém-selecionadas",dark_mode:"Modo escuro",dark_modes:{auto:"Automático",off:"Desligado",on:"Ligado"},default:"Visualização padrão",default_cycle_camera:"Percorrer as câmeras quando a visualização padrão for atualizada",default_reset:{after_interaction:"",editor_label:"",entities:"",every_seconds:"Atualize a visualização padrão a cada X segundos (0 = nunca)",interaction_mode:"",interaction_modes:{active:"",all:"",inactive:""}},interaction_seconds:"",keyboard_shortcuts:{editor_label:"",enabled:"",ptz_down:"",ptz_home:"",ptz_left:"",ptz_right:"",ptz_up:"",ptz_zoom_in:"",ptz_zoom_out:""},triggers:{actions:{editor_label:"",interaction_mode:"",interaction_modes:{active:"",all:"",inactive:""},trigger:"",triggers:{default:"",live:"",media:"",none:""},untrigger:"",untriggers:{default:"",none:""}},editor_label:"",filter_selected_camera:"",show_trigger_status:"Exibir estado do gatilho",untrigger_seconds:"Segundos após a mudar para o estado inativo para desacionar"},views:{clip:"Clipe mais recente",clips:"Galeria de clipes",current:"Visualização atual",image:"Imagem estática",live:"Visualização ao vivo",recording:"",recordings:"",snapshot:"Snapshot mais recente",snapshots:"Galeria de Snapshots",timeline:"Visualização da linha do tempo"}}},o={grid:"",single:""},i={add_new_camera:"Adicionar nova câmera",button:"Botão",camera:"Câmera",cameras:"Câmeras",cameras_secondary:"Câmeras para renderizar neste cartão",delete:"Excluir",dimensions:"",dimensions_secondary:"",image:"Imagem",image_secondary:"Opções de visualização de imagem estática",live:"Ao vivo",live_secondary:"Opções de visualização da câmera ao vivo",media_gallery:"Galeria",media_gallery_secondary:"Galeria Secundaria",media_viewer:"Visualizador de eventos",media_viewer_secondary:"Opções do visualizador de Snapshots e clipes",menu:"Menu",menu_secondary:"Opções de aparência do menu",move_down:"Descer",move_up:"Subir",overrides:"As substituições estão ativas",overrides_secondary:"Substituições de configuração dinâmica detectadas",performance:"",performance_secondary:"",profiles:"",profiles_secondary:"",status_bar:"",status_bar_secondary:"",timeline:"Linha do tempo",timeline_secondary:"Opções do evento da linha do tempo",upgrade:"Actualização",upgrade_available:"Está disponível uma atualização automática do cartão",view:"Visualizar",view_secondary:"O que deve ser mostrado neste cartão"},t={ptz:{down:"Baixo",home:"Origem",left:"Esquerda",right:"Direira",up:"Cima",zoom_in:"Ampliar",zoom_out:"Reduzir"}},r={awaiting_live:"",awaiting_media:"",camera_initialization:"",camera_initialization_reolink:"",could_not_render_elements:"Não foi possível renderizar os elementos da imagem",could_not_resolve:"Não foi possível resolver o URL de mídia",diagnostics:"Diagnósticos do cartão. Reveja as informações confidenciais antes de partilhar",download_no_media:"Nenhuma mídia para download",download_sign_failed:"Não foi possível assinar o URL de mídia para download",duplicate_camera_id:"Duplique o ID da câmera Frigate para a câmera a seguir, use o parâmetro 'id' para identificar exclusivamente as câmeras",empty_response:"Sem resposta do Home Assistant para a solicitação",failed_response:"Falha ao receber resposta do Home Assistant para solicitação",failed_retain:"Não foi possível reter o evento",failed_sign:"Não foi possível assinar a URL do Home Assistant",image_load_error:"A imagem não pôde ser carregada",invalid_configuration:"Configuração inválida",invalid_configuration_no_hint:"Nenhuma dica de local disponível (tipo incorreto ou ausente?)",invalid_configuration_override:"",invalid_elements_config:"Configuração de elementos de imagem inválida",invalid_response:"Resposta inválida recebida do Home Assistant para a solicitação",jsmpeg_no_player:"Não foi possível iniciar o player JSMPEG",live_camera_no_endpoint:"Nenhuma câmera ao vivo",live_camera_not_found:"Nenhuma câmera ao vivo não foi encontrada",live_camera_unavailable:"Câmera ao vivo indisponivel",no_camera_engine:"Não existe câmera",no_camera_entity:"Não existe uma entidade câmera",no_camera_entity_for_triggers:"Não existe camera para a acção",no_camera_id:"Não foi possível determinar o ID da câmera para a câmera a seguir, pode ser necessário definir o parâmetro 'id' manualmente",no_camera_name:"Não foi possível determinar o nome da câmera da Frigate, especifique 'camera_entity' ou 'camera_name' para a câmera a seguir",no_dashboard_or_view:"",no_live_camera:"O parâmetro camera_entity deve ser definido e válido para este serviço ativo",no_supported_camera:"",no_supported_cameras:"",reconnecting:"A voltar a ligar",too_many_automations:"",troubleshooting:"Verifique a solução de problemas",unknown:"Erro desconhecido",upgrade_available:"Uma atualização automatizada da configuração do cartão está disponível, visite o editor visual do cartão",webrtc_card_reported_error:"O cartão WebRTC relatou um erro",webrtc_card_waiting:"Aguardar o cartão WebRTC carregar ..."},s={camera:"Camera",duration:"Duração",in_progress:"Em andamento",score:"Pontuação",seek:"Procurar",start:"Início",tag:"",what:"O quê",where:"Onde"},n={assign:"",modifiers:{alt:"",ctrl:"",meta:"",shift:""},unassign:""},d={all:"Todos",camera:"Camera",favorite:"Favoritos",media_type:"Tipos de media",media_types:{clips:"Clips",recordings:"Gravações",snapshots:"Imagens"},not_favorite:"Não favorito",select_camera:"Seleciona a camara",select_favorite:"Seleciona o favorito",select_media_type:"Seleciona o tipo de media",select_tag:"",select_what:"Seleciona",select_when:"Seleciona quando",select_where:"Seleciona onde",tag:"",what:"O que",when:"Quando",whens:{custom:"",past_month:"O mes passado",past_week:"A semana passada",today:"Hoje",yesterday:"Ontem"},where:"Onde"},l={unseekable:""},m={camera:"Camera",duration:"Duração",events:"Eventos",in_progress:"Em andamento",seek:"Procurar",start:"Começar"},c={download:"",no_thumbnail:"Nenhuma miniatura disponível",retain_indefinitely:"Evento será retido por tempo indeterminado",timeline:"Ver evento na linha do tempo"},u={select_date:"Selecionar a data"},_={common:e,config:a,display_modes:o,editor:i,elements:t,error:r,event:s,key_assigner:n,media_filter:d,media_viewer:l,recording:m,thumbnail:c,timeline:u};export{e as common,a as config,_ as default,o as display_modes,i as editor,t as elements,r as error,s as event,n as key_assigner,d as media_filter,l as media_viewer,m as recording,c as thumbnail,u as timeline}; diff --git a/config/www/community/frigate-hass-card/lang-pt-PT-16f39312.js.gz b/config/www/community/frigate-hass-card/lang-pt-PT-16f39312.js.gz deleted file mode 100644 index 5bffb3b12614fc38ceee226fa4c99c8fcd0eb6a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5502 zcmV-^6@ls>iwFo&^lE1U|7>AyXDx7aEl^Y~F*as1IWsXbE^2cCty|rW+(vf3&r=Y* zkp*z%-M|QtSxl1I@yPZ5>iL<*x)Y6FV)LrDV z=~aJwnqK0!6s4qfUF`o#&(f?Atyrl_^-A)H$z7#dyfV$wwb*H+dU+yun5|2vjpO?G zf!$M@)v_7rx9vaDPrQpX>!kd^zl~_St?q5(u0K$h?Mf5R#>>1F{g%e;l)Uyg_wyOB+kzQZ%To3lentIT#!V6g(R{G}jZl(KP*NeNCYZf=? z>y|Hi-STQbY90Vdkj+LlBm~p3mwZRWm%aLNkiF{sS*ox zPo5qZpUCX-Gsx&=*itqabpGMZ3+gwYGzFQ6H0i(VhPS`be{cHYF{H|BT|SPeS^d71 z8|V%F;I91&*X>uh>Ok6;9aeEISM=KSU-=j7@K)xEf6<@{GNb$dz>l-lv1)w|7aaLv zsj8uaQD2x1B02q>Ilri-Sydsv9Du5YUUorKZyva?MWek+MD+N|pwc!>T>~uyZF4={NkF zW?MMEZ-u8w`W^k$Y4*OWnZtj&ddVzKEk94l`KF_D26x}Qy&zsC|8ic*o15?6KE*O> zO>3672PFPl!6o5diKI31q?BvbKziNl$^5$xx8yWn)0zjyz`n_`+j9jYr;MI-VBn>UDv_EsdgJN5?)!Z#ZWD| z<4iRW)4@o4jivJ&dy5O8*|ZfmEiAGkcV=z>qnC6Kh0ql?eCRLuT{)CRSHrSL*}|N& zdDqvx4yGP{0h9=EyxsrW50(DE8G;@*aKrRE?w3W;tDRLsY?*KxiAQ?Q%_b4Ff?ly^ z!3nefcQ1gVTPzmAwD~SwhZ)N98Zo}c?WtMV6xsBqv${>fORZR{E{XyEySV-ANi+?# z8@_jT*<$Rw{g*b8!}9Ty`*=h7`VmwE`xP&332*@*wk| zdO-_mwu9r@L zI48T{IeJ(yIE{rl5Gbf-%evpox?LDQRinvMB1o%lfQ{LS*mumu_rmEB3(WLoi*~{B z|20IO_#U`@&MclO6vtD!oh1#|n1#ZuDBe!#;zTtkHULQ{Z7i!Pdshy>TLgcH&U0fF zF|HcwrVIDAxH)L+WCfQX%lulE{TBQqeB%)Si@k@w&Y*kKo|EH66i(hVjcK!hUD2W( zPINoAI|F=dC}i*Ve{H0mS@&-#;5zR*#XT~5Di58>=xIQ|fH)+?Y4 z;v2gX3tAIlR;oAqp9s%!%+44G?`gqKxSRC;5YT_W{~x@Tx8&h`BHI0LFk8uw*mEKR z;{W1z$yw42O(C9s_Is^GBIuzT(t}btP%kJ%f9n$!8YB9l@n~bK%2GC*tAY=&dRDsz z^w7p+>cUBma$wLbxZ`4XIdm+yXybXW7YBgI8Z_}NVx;S)8vCwzk9LLVa z+q+GiNOV4b^yWsbR=RO%ui^tM>$QSJUPtj~Qo{CGEd*hVOL@-q^Kjcyw0i$gGU~M< z8Jxc03;AsGEP3+#e>nZeC!l#eAfMWab{xIXuZ!ZN^SCe8mWcO5XZ@NdIBt9D8ZQZf z!Tu*gxg@Csc0gB1S~=~d3}g+l06Ry7ZZ?l(qhlNHI9<6yoJaXNGba0dTs{NT*bWVA z#Xup^YhgZP3|aK_jl_n_;iG!=IIp|sE-*Pn__}7FIG>O5fF3U&b%)|eLc->b7oxXP z=38CMa6|qMaJ3H&EDqfg)j$`jgPD2;E?bxbO9>e!_Xr0^%*7gZJfAt6XadTBNW1daX8+5HTOwh+BQzaNQUVQW zv_p#wEOJ;mavF9*GM|{qLJl^7R{q^PTzm{m&{(<1<$8_nA$VC!LZuYE@WX&!JS+(^ zPqOO{KD@K0R5gW{i{`?)m`50ihkMRV!-KtN2H{xWM<~A@nNqq$gEhJnb$B=H6HZ6w z3ZR1m=&1tuHI{VPwmjMXmr)%eZ2%nLc1`$W^tL&?aPfiZ*3orq(^HS-{Ly7BOal6i zp;v*aBrtF#jTw?rif&z8AuP+rlEa-ChVD6W@$b29PIVayYXPec0?DrL`q2k zb2n?30I>08++&Obu%UGg_Zpq41r&n<6Cj=0dd)~WKynIlUmYyB#T?OzOo%&6I zoQt_a9Oon8)AZ|LX-y=^R$?Lx`A176L0U-)AaCFr(SFIl%7l~a)6~Z=OwBJxVVvMC z^dG9q20!2ir8p`7EYit|$w9_G9BW&PW{nu_j9~v|vm>*`$yJ>gYjFCB>c@`5S$%f4 z(m))Tx42<@g>+f346~DH8`(jjXPMF|lpYVK@o2nG#|VSc z?~|C`r+^%$uQf@FFt_#`akHshB74LWuXSV|tnftu!)qh;VnHe?-Z`R>ai=AnoIRha z<>U=PGY>L@c7;A>@Dbum5-5%lL4&P51?IMH019t9w5Htb4{#=VC#!Ko-?3feaq@=F zJ}B*sLCkeKonAqB;Ey#Ck)9dFC=aC2yi7sC-CAuzm=Yy+LvXBz1VRPbx3(TQhPkVH zf-;4GKhs^{oy`NUP+z&_WM1%Pf0U2f075oe-DXA_)O=Zo#od^oh_Yj=tjgbK24 z=ztNFQ$shi`-UvpO5>g6Dz3@2svBPRbAoJ-Su&zmVH&pK=b$l%#@I8Rt#QT(l%;2f z*fXv4^+`nN)R~N7wX!4bIW`0hKuhR=5AZStBS5fc#IBY|zCtECmW^!~S*LJrMRr0K z+eTMKFYNXGctUy1 zySWZ|aa&X}_nAYgAklEPW>T>8<6uv>=0Su{O+Z9KhK>xapBoI7J=V@q3m=Bs+}m=f z`~*GT=zojPdMysxwT4!{M1Sr zKE*ECo&xl#YOA9+k9@qErkzDn59J8e+#H}nAF4$_DB&`))(*HMG>2*7S{3WN3kNOS z{YF%h64cSj8g$(-u$yTrE7S~M#+f%u<#$KYM*-_qxFsleG%|` z_lcAz=XUhj9i58syRiso$JN=LD9gN&*MX7erE+0Hqjym$jty}<#`l2*2z^jO=vuna z2oK76(RxB#nK%XUzc8s01$MbvEU&&&irm?fj$)rc4__*8hk`GfKLA;Vt zHEbR2O9sYteQf(wXlYA4M{HihVLL-h5hT@Raub=-t6@cK9f33D`R3S{IN<}zF6taF z;%YX=mKaQMw`#x%@Y9!xu*Z+_YdX1|ic|n<(e<=P1i>bE(_RlmYW`UG2%9WV7Zf`i z+6^$PUfb)BVpWb-ti@YOc`2lo1-MEs1-9l3&N%wOQYO#=?7q9eND z2L6-)Yh2LuEO`TNy%&TsDP}dbh$Bv}E+>~nDQ4Cxt_G{NMCMRIF@7>&D*=4rhjY)N zgdz;+)TYVT5K2N~3!4%h+>)VOLfwLa<&0Uk8QkZ;4+}ug;|t_>K|*2Z#QCDc~U7 zZSU3A5+<7Exd6e*fe5G+wP!RT#;ifw^hE2sUb(N{ZExTI)KD+s|d$=X)LYPw`KSf z^@Oko*k(GS&)0gO z)bEl0RupJ4vf)IjJu!^t7@Ej;UCc&PN{NVt{uO_>6h1bxNesn8ei1=uPd`QF|56of?P*Ci=-Jk~FHv zHVcL<$}q+Ya-V;EVoA;X^N?UqvyjFlqx)n+s3)XQPoft+Ikp>K(fGL(=xfmiw?`5| z7$e%)K#vnnTqj9~aw9Ub53%h(xe# zLte4h@P?wf&HX{73s$h)0b&eft?kfvTy$=$awy#vECui-I@bJUOY@;&jC5&?J?hrY z7Q`->(cKTrSPqMzbP)6Jfn@Xy8DBZUbjjLN5T%7inuoW*}NFM~F+5R*gVXrh?~zPvNJE2=bwc0JxkGZ$ z({O!b1FHGsOfFM=ZFGStxVjjtpre@muZW4kNWr1}^;Yy2@$UadcakQ01yqNXHNcvk zb)H=J0Y2MokWH)xul6&_bx3H#@%P-SyY1+#oBJKz8016fvq>~(n;a(+fcG4 z%Q0r0))-TUq5hmybS~rFiViz~ zcx`D!Eh**Eb(|&UN7pQD=Tyok_#BNM@)1}`DeiCed%WY8?3Uq%SFqkxX*-p->g{hZmv1crHH(5cqVME!#w{B1OfB3uq1>a;1NAW%Y0D{8Z ASO5S3 diff --git a/config/www/community/frigate-hass-card/lang-pt-PT-440b6dfd.js b/config/www/community/frigate-hass-card/lang-pt-PT-440b6dfd.js deleted file mode 100644 index fd2ee7ab..00000000 --- a/config/www/community/frigate-hass-card/lang-pt-PT-440b6dfd.js +++ /dev/null @@ -1 +0,0 @@ -var e={frigate_card:"Cartão Frigate",frigate_card_description:"Um cartão da Lovelace para usar com Frigate",live:"Ao Vivo",no_media:"Sem média",recordings:"Gravações",version:"Versão"},a={cameras:{camera_entity:"Entidade da Câmera",dependencies:{all_cameras:"Mostrar eventos para todas as câmeras nesta câmera",cameras:"Mostrar eventos para câmeras específicas nesta câmera",editor_label:"Opções de dependência"},engines:{editor_label:"Editor de etiquetas"},frigate:{camera_name:"Nome da câmera do Frigate (detectado automaticamente pela entidade)",client_id:"ID do cliente do Frigate (para >1 servidor Frigate)",editor_label:"Opções do Frigate",labels:"Etiquetas",url:"URL do servidor Frigate",zones:"Zonas"},go2rtc:{editor_label:"Editor de etiquetas",modes:{editor_label:"Editor de etiquetas",mjpeg:"Mjpeg",mp4:"Mp4",mse:"Mse",webrtc:"Webrtc"},stream:"Stream"},hide:"Esconder",icon:"Ícone para esta câmera (detectado automaticamente pela entidade)",id:"ID exclusivo para esta câmera nesse cartão",image:{editor_label:"Editor etiquetas",refresh_seconds:"Atualizar em segundos",url:"Link"},live_provider:"Fonte de visualização ao vivo para esta câmera",live_provider_options:{editor_label:"Editor de etiquetas"},live_providers:{auto:"Automatico",go2rtc:"Go2rtc",ha:"Ha",image:"Imagem",jsmpeg:"JSMpeg","webrtc-card":"Cartão WebRTC (de @AlexxIT)"},motioneye:{editor_label:"Directoria pre-definido",images:{directory_pattern:"Directoria pre-definido",file_pattern:"Ficheiro pre-definido"},movies:{directory_pattern:"Directoria pre-definida",file_pattern:"Ficheiro pre-definido"},url:"Link"},title:"Título para esta câmera (detectado automaticamente pela entidade)",triggers:{editor_label:"Opções de activação",entities:"Activar a partir de outras entidades",motion:"Activar detectando automaticamente o sensor de movimento",occupancy:"Activar detectando automaticamente o sensor de ocupação"},webrtc_card:{editor_label:"Opções do cartão WebRTC",entity:"Entidade de câmera de cartão WebRTC (não é uma câmera Frigate)",url:"URL da câmera do cartão WebRTC"}},common:{controls:{builtin:"",filter:{editor_label:"Editor de titulos",mode:"Modo",modes:{left:"Esquerda",none:"Nenhum",right:"Direita"}},next_previous:{editor_label:"Editor de titulos",size:"Tamanho de controle próximo e anterior",style:"Estilo do controle próximo e anterior",styles:{chevrons:"Setas",icons:"Ícones",none:"Nenhum",thumbnails:"Miniaturas"}},thumbnails:{editor_label:"Editor de titulos",media:"Mostrar miniaturas de clipes ou snapshots",medias:{clips:"Miniaturas de clipes",snapshots:"Miniaturas de Snapshots"},mode:"Modos",modes:{above:"Miniaturas acima da mídia",below:"Miniaturas abaixo da mídia",left:"Miniaturas em uma gaveta à esquerda",none:"Sem miniaturas",right:"Miniaturas em uma gaveta à direita"},show_details:"Mostrar detalhes",show_download_control:"Mostrar o botão de download",show_favorite_control:"Mostrar o botão de favorito nas miniaturas",show_timeline_control:"Mostrar a linha do tempo nas miniaturas",size:"Tamanho das miniaturas em pixels"},timeline:{editor_label:"Controles de linha do tempo",mode:"Modo",modes:{above:"Por cima",below:"Abaixo",none:"Nenhum"}},title:{duration_seconds:"Segundos para exibir o pop-up (0 = para sempre)",editor_label:"Editor de titulos",mode:"Modo de exibição de título de mídia",modes:{none:"Sem exibição de título","popup-bottom-left":"Pop-up no canto inferior esquerdo","popup-bottom-right":"Pop-up no canto inferior direito","popup-top-left":"Pop-up no canto superior esquerdo","popup-top-right":"Pop-up no canto superior direito"}}},layout:{fit:"Fit",fits:{contain:"Conter",cover:"Tapar",fill:"Preencher"},position:{x:"Percentagem da localização horizontal",y:"Percentagem da localização vertical"}},media_action_conditions:{all:"Todas as oportunidades",hidden:"Ao ocultar o navegador/aba",never:"Nunca",selected:"Ao selecionar",unselected:"Ao desselecionar",visible:"Ao mostrar o navegador/aba"},timeline:{clustering_threshold:"A contagem de eventos nos quais eles são agrupados (0 = sem agrupamento)",media:"A mídia que a linha do tempo exibe",medias:{all:"Todos os tipos de mídia",clips:"Clipes",snapshots:"Instantâneos"},show_recordings:"Mostrar gravações",window_seconds:"A duração padrão da visualização da linha do tempo em segundos"}},dimensions:{aspect_ratio:"Proporção padrão (e.g. '16:9')",aspect_ratio_mode:"Modo de proporção",aspect_ratio_modes:{dynamic:"A proporção se ajusta à mídia",static:"Proporção estática",unconstrained:"Proporção irrestrita"}},image:{layout:"Layout",mode:"Modo de visualização de imagem",modes:{camera:"Instantâneo da câmera do Home Assistant, da entidade de câmera",screensaver:"Logo Frigate embutido",url:"Imagem arbitrária especificada por URL"},refresh_seconds:"Número de segundos após o qual atualizar (0 = nunca)",url:"Imagem arbitrária especificada por URL",zoomable:""},live:{auto_mute:"Silenciar câmeras ao vivo automaticamente",auto_pause:"Parar câmeras ao vivo automaticamente",auto_play:"Reproduzir câmeras ao vivo automaticamente",auto_unmute:"Ativar automaticamente o som das câmeras ao vivo",controls:{editor_label:"Controles da visualização ao vivo"},draggable:"A visualização ao vivo das câmeras pode ser arrastada/deslizada",layout:"layout",lazy_load:"As câmeras ao vivo são carregadas lentamente",lazy_unload:"As câmeras ao vivo são descarregadas preguiçosamente",microphone:{always_connected:"",disconnect_seconds:"",editor_label:"",enabled:""},preload:"Pré-carregar a visualização ao vivo em segundo plano",show_image_during_load:"Mostar imagem durante o carregamento",transition_effect:"Efeito de transição de câmera ao vivo",zoomable:""},media_viewer:{auto_mute:"Silenciar mídia automaticamente",auto_pause:"Parar mídia automaticamente",auto_play:"Reproduzir mídia automaticamente",auto_unmute:"Ativar mídia automaticamente",controls:{editor_label:"Controles do visualizador de mídia"},draggable:"Visualizador de eventos pode ser arrastado/deslizado",layout:"Layout",lazy_load:"A mídia do Visualizador de eventos é carregada lentamente no carrossel",transition_effect:"Efeito de transição do Visualizador de eventos",transition_effects:{none:"Sem transição",slide:"Transição de slides"},zoomable:""},menu:{alignment:"Alinhamento do menu",alignments:{bottom:"Alinhado à parte inferior",left:"Alinhado à esquerda",right:"Alinhado à direita",top:"Alinhado ao topo"},button_size:"Tamanho do botão de menu (e.g. '40px')",buttons:{alignment:"Alinhamento do botão",alignments:{matching:"Mesmo alinhamento do menu",opposing:"Opor-se ao alinhamento do menu"},camera_ui:"Camera",cameras:"Selecionar câmera",clips:"Clipes",download:"Descarregar mídia do evento",enabled:"Botão ativado",expand:"Expandir",frigate:"Frigate menu / Visualização padrão",fullscreen:"Tela cheia",icon:"Ícone",image:"Imagem",live:"Ao vivo",media_player:"Enviar para o reprodutor de mídia",mute:"",play:"",priority:"Prioridade",screenshot:"",snapshots:"Instantâneos",substreams:"substreams",timeline:"Linha do tempo",type:"",types:{momentary:"",toggle:""}},position:"Posição do menu",positions:{bottom:"Posicionado na parte inferior",left:"Posicionado à esquerda",right:"Posicionado à direita",top:"Posicionado no topo"},style:"Estilo do menu",styles:{hidden:"Menu oculto",hover:"Menu suspenso",none:"Sem menu",outside:"Menu externo",overlay:"Menu sobreposto"}},overrides:{info:"Esta configuração do cartão especificou manualmente as substituições configuradas que podem substituir os valores mostrados no editor visual, consulte o editor de código para visualizar/modificar essas substituições"},performance:{features:{animated_progress_indicator:"Animação na barra de progresso",editor_label:"Editor de etiquetas",media_chunk_size:"Tamanho do ficheiro"},profile:"Perfil",profiles:{high:"Alto",low:"Baixo"},style:{border_radius:"Tamanho do bordo",box_shadow:"Caixa de Fundo",editor_label:"Editor de etiquetas"},warning:"Avisos"},view:{camera_select:"Visualização de câmeras recém-selecionadas",dark_mode:"Modo escuro",dark_modes:{auto:"Automático",off:"Desligado",on:"Ligado"},default:"Visualização padrão",scan:{enabled:"Modo scan ativado",scan_mode:"Modo scan",show_trigger_status:"Exibir estado do gatilho",untrigger_reset:"Redefinir a visualização para o padrão após desacionar",untrigger_seconds:"Segundos após a mudar para o estado inativo para desacionar"},timeout_seconds:"Redefinir para a visualização padrão X segundos após a ação do usuário (0 = nunca)",update_cycle_camera:"Percorrer as câmeras quando a visualização padrão for atualizada",update_force:"Forçar atualizações do cartão (ignore a interação do Utilizador)",update_seconds:"Atualize a visualização padrão a cada X segundos (0 = nunca)",views:{clip:"Clipe mais recente",clips:"Galeria de clipes",current:"Visualização atual",image:"Imagem estática",live:"Visualização ao vivo",snapshot:"Snapshot mais recente",snapshots:"Galeria de Snapshots",timeline:"Visualização da linha do tempo"}}},o={add_new_camera:"Adicionar nova câmera",button:"Botão",camera:"Câmera",cameras:"Câmeras",cameras_secondary:"Câmeras para renderizar neste cartão",delete:"Excluir",dimensions:"Dimensões",dimensions_secondary:"Dimensões e opções de forma",image:"Imagem",image_secondary:"Opções de visualização de imagem estática",live:"Ao vivo",live_secondary:"Opções de visualização da câmera ao vivo",media_gallery:"Galeria",media_gallery_secondary:"Galeria Secundaria",media_viewer:"Visualizador de eventos",media_viewer_secondary:"Opções do visualizador de Snapshots e clipes",menu:"Menu",menu_secondary:"Opções de aparência do menu",move_down:"Descer",move_up:"Subir",overrides:"As substituições estão ativas",overrides_secondary:"Substituições de configuração dinâmica detectadas",timeline:"Linha do tempo",timeline_secondary:"Opções do evento da linha do tempo",upgrade:"Actualização",upgrade_available:"Está disponível uma atualização automática do cartão",view:"Visualizar",view_secondary:"O que deve ser mostrado neste cartão"},i={ptz:{down:"Baixo",home:"Origem",left:"Esquerda",right:"Direira",up:"Cima",zoom_in:"Ampliar",zoom_out:"Reduzir"}},r={could_not_render_elements:"Não foi possível renderizar os elementos da imagem",could_not_resolve:"Não foi possível resolver o URL de mídia",diagnostics:"Diagnósticos do cartão. Reveja as informações confidenciais antes de partilhar",download_no_media:"Nenhuma mídia para download",download_sign_failed:"Não foi possível assinar o URL de mídia para download",duplicate_camera_id:"Duplique o ID da câmera Frigate para a câmera a seguir, use o parâmetro 'id' para identificar exclusivamente as câmeras",empty_response:"Sem resposta do Home Assistant para a solicitação",failed_response:"Falha ao receber resposta do Home Assistant para solicitação",failed_retain:"Não foi possível reter o evento",failed_sign:"Não foi possível assinar a URL do Home Assistant",image_load_error:"A imagem não pôde ser carregada",invalid_configuration:"Configuração inválida",invalid_configuration_no_hint:"Nenhuma dica de local disponível (tipo incorreto ou ausente?)",invalid_elements_config:"Configuração de elementos de imagem inválida",invalid_response:"Resposta inválida recebida do Home Assistant para a solicitação",jsmpeg_no_player:"Não foi possível iniciar o player JSMPEG",live_camera_no_endpoint:"Nenhuma câmera ao vivo",live_camera_not_found:"Nenhuma câmera ao vivo não foi encontrada",live_camera_unavailable:"Câmera ao vivo indisponivel",no_camera_engine:"Não existe câmera",no_camera_entity:"Não existe uma entidade câmera",no_camera_entity_for_triggers:"Não existe camera para a acção",no_camera_id:"Não foi possível determinar o ID da câmera para a câmera a seguir, pode ser necessário definir o parâmetro 'id' manualmente",no_camera_name:"Não foi possível determinar o nome da câmera da Frigate, especifique 'camera_entity' ou 'camera_name' para a câmera a seguir",no_live_camera:"O parâmetro camera_entity deve ser definido e válido para este serviço ativo",no_visible_cameras:"Sem camaras visiveis",reconnecting:"A voltar a ligar",timeline_no_cameras:"Nenhuma câmera do Frigate para mostrar na linha do tempo",troubleshooting:"Verifique a solução de problemas",too_many_automations:"",unknown:"Erro desconhecido",upgrade_available:"Uma atualização automatizada da configuração do cartão está disponível, visite o editor visual do cartão",webrtc_card_reported_error:"O cartão WebRTC relatou um erro",webrtc_card_waiting:"Aguardar o cartão WebRTC carregar ..."},t={camera:"Camera",duration:"Duração",in_progress:"Em andamento",score:"Pontuação",seek:"Procurar",start:"Início",what:"O quê",where:"Onde"},s={all:"Todos",camera:"Camera",favorite:"Favoritos",media_type:"Tipos de media",media_types:{clips:"Clips",recordings:"Gravações",snapshots:"Imagens"},not_favorite:"Não favorito",select_camera:"Seleciona a camara",select_favorite:"Seleciona o favorito",select_media_type:"Seleciona o tipo de media",select_what:"Seleciona",select_when:"Seleciona quando",select_where:"Seleciona onde",what:"O que",when:"Quando",whens:{past_month:"O mes passado",past_week:"A semana passada",today:"Hoje",yesterday:"Ontem"},where:"Onde"},n={camera:"Camera",duration:"Duração",events:"Eventos",in_progress:"Em andamento",seek:"Procurar",start:"Começar"},d={no_thumbnail:"Nenhuma miniatura disponível",retain_indefinitely:"Evento será retido por tempo indeterminado",timeline:"Ver evento na linha do tempo"},m={pan_behavior:{pan:"Pan",seek:"Pan seeks across all media","seek-in-media":"Pan seeks within selected media item only"},select_date:"Selecionar a data"},l={common:e,config:a,editor:o,elements:i,error:r,event:t,media_filter:s,recording:n,thumbnail:d,timeline:m};export{e as common,a as config,l as default,o as editor,i as elements,r as error,t as event,s as media_filter,n as recording,d as thumbnail,m as timeline}; diff --git a/config/www/community/frigate-hass-card/lang-pt-PT-440b6dfd.js.gz b/config/www/community/frigate-hass-card/lang-pt-PT-440b6dfd.js.gz deleted file mode 100644 index 6d92b376859e8af84697227f7bef5710a4df25d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4879 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 servidor Frigate)",editor_label:"Opções do Frigate",labels:"Etiquetas",url:"URL do servidor Frigate",zones:"Zonas"},go2rtc:{editor_label:"Editor de etiquetas",modes:{editor_label:"Editor de etiquetas",mjpeg:"Mjpeg",mp4:"Mp4",mse:"Mse",webrtc:"Webrtc"},stream:"Stream"},icon:"Ícone para esta câmera (detectado automaticamente pela entidade)",id:"ID exclusivo para esta câmera nesse cartão",image:{editor_label:"Editor etiquetas",refresh_seconds:"Atualizar em segundos",url:"Link"},live_provider:"Fonte de visualização ao vivo para esta câmera",live_provider_options:{editor_label:"Editor de etiquetas"},live_providers:{auto:"Automatico",go2rtc:"Go2rtc",ha:"Ha",image:"Imagem",jsmpeg:"JSMpeg","webrtc-card":"Cartão WebRTC (de @AlexxIT)"},motioneye:{editor_label:"Directoria pre-definido",images:{directory_pattern:"Directoria pre-definido",file_pattern:"Ficheiro pre-definido"},movies:{directory_pattern:"Directoria pre-definida",file_pattern:"Ficheiro pre-definido"},url:"Link"},proxy:{dynamic:"",editor_label:"",media:{auto:"",editor_label:"",false:"",true:""},ssl_ciphers:{auto:"",default:"",editor_label:"",insecure:"",intermediate:"",modern:""},ssl_verification:{auto:"",editor_label:"",false:"",true:""}},reolink:{editor_label:"",media_resolution:{editor_label:"",high:"",low:""},url:""},title:"Título para esta câmera (detectado automaticamente pela entidade)",triggers:{editor_label:"Opções de activação",entities:"Activar a partir de outras entidades",events:{clips:"",editor_label:"",events:"",snapshots:""},motion:"Activar detectando automaticamente o sensor de movimento",occupancy:"Activar detectando automaticamente o sensor de ocupação"},webrtc_card:{editor_label:"Opções do cartão WebRTC",entity:"Entidade de câmera de cartão WebRTC (não é uma câmera Frigate)",url:"URL da câmera do cartão WebRTC"}},common:{controls:{builtin:"",filter:{editor_label:"Editor de titulos",mode:"Modo",modes:{left:"Esquerda",none:"Nenhum",right:"Direita"}},next_previous:{editor_label:"Editor de titulos",size:"Tamanho de controle próximo e anterior",style:"Estilo do controle próximo e anterior",styles:{chevrons:"Setas",icons:"Ícones",none:"Nenhum",thumbnails:"Miniaturas"}},thumbnails:{editor_label:"Editor de titulos",events_media_type:"Mostrar miniaturas de clipes ou snapshots",events_media_types:{clips:"Miniaturas de clipes",snapshots:"Miniaturas de Snapshots"},media_type:"",media_types:{events:"",recordings:""},mode:"Modos",modes:{above:"Miniaturas acima da mídia",below:"Miniaturas abaixo da mídia",left:"Miniaturas em uma gaveta à esquerda",none:"Sem miniaturas",right:"Miniaturas em uma gaveta à direita"},show_details:"Mostrar detalhes",show_download_control:"Mostrar o botão de download",show_favorite_control:"Mostrar o botão de favorito nas miniaturas",show_timeline_control:"Mostrar a linha do tempo nas miniaturas",size:"Tamanho das miniaturas em pixels"},timeline:{editor_label:"Controles de linha do tempo",mode:"Modo",modes:{above:"Por cima",below:"Abaixo",none:"Nenhum"},pan_mode:"",pan_modes:{pan:"",seek:"","seek-in-camera":"","seek-in-media":""}}},display:{editor_label:"",grid_columns:"",grid_max_columns:"",grid_selected_width_factor:"",mode:""},image:{entity:"",entity_parameters:"",mode:"Modo de visualização de imagem",modes:{camera:"Instantâneo da câmera do Home Assistant, da entidade de câmera",entity:"",screensaver:"Logo Frigate embutido",url:"Imagem arbitrária especificada por URL"},refresh_seconds:"Número de segundos após o qual atualizar (0 = nunca)",url:"Imagem arbitrária especificada por URL"},media_action_conditions:{all:"Todas as oportunidades",hidden:"Ao ocultar o navegador/aba",microphone_mute:"",microphone_unmute:"",never:"Nunca",selected:"Ao selecionar",unselected:"Ao desselecionar",visible:"Ao mostrar o navegador/aba"},timeline:{clustering_threshold:"A contagem de eventos nos quais eles são agrupados (0 = sem agrupamento)",events_media_type:"A mídia que a linha do tempo exibe",events_media_types:{all:"Todos os tipos de mídia",clips:"Clipes",snapshots:"Instantâneos"},show_recordings:"Mostrar gravações",style:"",styles:{ribbon:"",stack:""},window_seconds:"A duração padrão da visualização da linha do tempo em segundos"}},dimensions:{aspect_ratio:"Proporção padrão (e.g. '16:9')",aspect_ratio_mode:"Modo de proporção",aspect_ratio_modes:{dynamic:"A proporção se ajusta à mídia",static:"Proporção estática",unconstrained:"Proporção irrestrita"},height:""},live:{auto_mute:"Silenciar câmeras ao vivo automaticamente",auto_pause:"Parar câmeras ao vivo automaticamente",auto_play:"Reproduzir câmeras ao vivo automaticamente",auto_unmute:"Ativar automaticamente o som das câmeras ao vivo",controls:{editor_label:"Controles da visualização ao vivo",ptz:{editor_label:"",hide_home:"",hide_pan_tilt:"",hide_zoom:"",mode:"",modes:{off:"",on:""},orientation:"",orientations:{horizontal:"",vertical:""},position:"",positions:{"bottom-left":"","bottom-right":"","top-left":"","top-right":""}}},draggable:"A visualização ao vivo das câmeras pode ser arrastada/deslizada",lazy_load:"As câmeras ao vivo são carregadas lentamente",lazy_unload:"As câmeras ao vivo são descarregadas preguiçosamente",microphone:{always_connected:"",disconnect_seconds:"",editor_label:"",enabled:"",mute_after_microphone_mute_seconds:""},preload:"Pré-carregar a visualização ao vivo em segundo plano",show_image_during_load:"Mostar imagem durante o carregamento",transition_effect:"Efeito de transição de câmera ao vivo",zoomable:""},media_viewer:{auto_mute:"Silenciar mídia automaticamente",auto_pause:"Parar mídia automaticamente",auto_play:"Reproduzir mídia automaticamente",auto_unmute:"Ativar mídia automaticamente",controls:{editor_label:"Controles do visualizador de mídia"},draggable:"Visualizador de eventos pode ser arrastado/deslizado",lazy_load:"A mídia do Visualizador de eventos é carregada lentamente no carrossel",snapshot_click_plays_clip:"",transition_effect:"Efeito de transição do Visualizador de eventos",transition_effects:{none:"Sem transição",slide:"Transição de slides"},zoomable:""},menu:{alignment:"Alinhamento do menu",alignments:{bottom:"Alinhado à parte inferior",left:"Alinhado à esquerda",right:"Alinhado à direita",top:"Alinhado ao topo"},button_size:"Tamanho do botão de menu (e.g. '40px')",buttons:{alignment:"Alinhamento do botão",alignments:{matching:"Mesmo alinhamento do menu",opposing:"Opor-se ao alinhamento do menu"},camera_ui:"Camera",cameras:"Selecionar câmera",clips:"Clipes",display_mode:"",download:"Descarregar mídia do evento",enabled:"Botão ativado",expand:"Expandir",frigate:"Frigate menu / Visualização padrão",fullscreen:"Tela cheia",icon:"Ícone",image:"Imagem",live:"Ao vivo",media_player:"Enviar para o reprodutor de mídia",microphone:"",mute:"",permanent:"",play:"",priority:"Prioridade",ptz_controls:"",ptz_home:"",recordings:"",screenshot:"",snapshots:"Instantâneos",substreams:"substreams",timeline:"Linha do tempo",type:"",types:{momentary:"",toggle:""}},position:"Posição do menu",positions:{bottom:"Posicionado na parte inferior",left:"Posicionado à esquerda",right:"Posicionado à direita",top:"Posicionado no topo"},style:"Estilo do menu",styles:{hidden:"Menu oculto",hover:"Menu suspenso","hover-card":"",none:"Sem menu",outside:"Menu externo",overlay:"Menu sobreposto"}},overrides:{info:"Esta configuração do cartão especificou manualmente as substituições configuradas que podem substituir os valores mostrados no editor visual, consulte o editor de código para visualizar/modificar essas substituições"},performance:{features:{animated_progress_indicator:"Animação na barra de progresso",editor_label:"Editor de etiquetas",max_simultaneous_engine_requests:"",media_chunk_size:"Tamanho do ficheiro"},style:{border_radius:"Tamanho do bordo",box_shadow:"Caixa de Fundo",editor_label:"Editor de etiquetas"},warning:"Avisos"},profiles:{casting:"",editor_label:"","low-performance":"",scrubbing:""},status_bar:{height:"",items:{enabled:"",engine:"",live_provider:"",priority:"",resolution:"",technology:"",title:""},popup_seconds:"",position:"",positions:{bottom:"",top:""},style:"",styles:{hover:"","hover-card":"",none:"",outside:"",overlay:"",popup:""}},view:{camera_select:"Visualização de câmeras recém-selecionadas",dark_mode:"Modo escuro",dark_modes:{auto:"Automático",off:"Desligado",on:"Ligado"},default:"Visualização padrão",default_cycle_camera:"Percorrer as câmeras quando a visualização padrão for atualizada",default_reset:{after_interaction:"",editor_label:"",entities:"",every_seconds:"Atualize a visualização padrão a cada X segundos (0 = nunca)",interaction_mode:"",interaction_modes:{active:"",all:"",inactive:""}},interaction_seconds:"",keyboard_shortcuts:{editor_label:"",enabled:"",ptz_down:"",ptz_home:"",ptz_left:"",ptz_right:"",ptz_up:"",ptz_zoom_in:"",ptz_zoom_out:""},triggers:{actions:{editor_label:"",interaction_mode:"",interaction_modes:{active:"",all:"",inactive:""},trigger:"",triggers:{default:"",live:"",media:"",none:""},untrigger:"",untriggers:{default:"",none:""}},editor_label:"",filter_selected_camera:"",show_trigger_status:"Exibir estado do gatilho",untrigger_seconds:"Segundos após a mudar para o estado inativo para desacionar"},views:{clip:"Clipe mais recente",clips:"Galeria de clipes",current:"Visualização atual",image:"Imagem estática",live:"Visualização ao vivo",recording:"",recordings:"",snapshot:"Snapshot mais recente",snapshots:"Galeria de Snapshots",timeline:"Visualização da linha do tempo"}}},o={grid:"",single:""},i={add_new_camera:"Adicionar nova câmera",button:"Botão",camera:"Câmera",cameras:"Câmeras",cameras_secondary:"Câmeras para renderizar neste cartão",delete:"Excluir",dimensions:"",dimensions_secondary:"",image:"Imagem",image_secondary:"Opções de visualização de imagem estática",live:"Ao vivo",live_secondary:"Opções de visualização da câmera ao vivo",media_gallery:"Galeria",media_gallery_secondary:"Galeria Secundaria",media_viewer:"Visualizador de eventos",media_viewer_secondary:"Opções do visualizador de Snapshots e clipes",menu:"Menu",menu_secondary:"Opções de aparência do menu",move_down:"Descer",move_up:"Subir",overrides:"As substituições estão ativas",overrides_secondary:"Substituições de configuração dinâmica detectadas",performance:"",performance_secondary:"",profiles:"",profiles_secondary:"",status_bar:"",status_bar_secondary:"",timeline:"Linha do tempo",timeline_secondary:"Opções do evento da linha do tempo",upgrade:"Actualização",upgrade_available:"Está disponível uma atualização automática do cartão",view:"Visualizar",view_secondary:"O que deve ser mostrado neste cartão"},t={ptz:{down:"Baixo",home:"Origem",left:"Esquerda",right:"Direira",up:"Cima",zoom_in:"Ampliar",zoom_out:"Reduzir"}},r={awaiting_live:"",awaiting_media:"",camera_initialization:"",camera_initialization_reolink:"",could_not_render_elements:"Não foi possível renderizar os elementos da imagem",could_not_resolve:"Não foi possível resolver o URL de mídia",diagnostics:"Diagnósticos do cartão. Reveja as informações confidenciais antes de partilhar",download_no_media:"Nenhuma mídia para download",download_sign_failed:"Não foi possível assinar o URL de mídia para download",duplicate_camera_id:"Duplique o ID da câmera Frigate para a câmera a seguir, use o parâmetro 'id' para identificar exclusivamente as câmeras",empty_response:"Sem resposta do Home Assistant para a solicitação",failed_response:"Falha ao receber resposta do Home Assistant para solicitação",failed_retain:"Não foi possível reter o evento",failed_sign:"Não foi possível assinar a URL do Home Assistant",image_load_error:"A imagem não pôde ser carregada",invalid_configuration:"Configuração inválida",invalid_configuration_no_hint:"Nenhuma dica de local disponível (tipo incorreto ou ausente?)",invalid_configuration_override:"",invalid_elements_config:"Configuração de elementos de imagem inválida",invalid_response:"Resposta inválida recebida do Home Assistant para a solicitação",jsmpeg_no_player:"Não foi possível iniciar o player JSMPEG",live_camera_no_endpoint:"Nenhuma câmera ao vivo",live_camera_not_found:"Nenhuma câmera ao vivo não foi encontrada",live_camera_unavailable:"Câmera ao vivo indisponivel",no_camera_engine:"Não existe câmera",no_camera_entity:"Não existe uma entidade câmera",no_camera_entity_for_triggers:"Não existe camera para a acção",no_camera_id:"Não foi possível determinar o ID da câmera para a câmera a seguir, pode ser necessário definir o parâmetro 'id' manualmente",no_camera_name:"Não foi possível determinar o nome da câmera da Frigate, especifique 'camera_entity' ou 'camera_name' para a câmera a seguir",no_dashboard_or_view:"",no_live_camera:"O parâmetro camera_entity deve ser definido e válido para este serviço ativo",no_supported_camera:"",no_supported_cameras:"",reconnecting:"A voltar a ligar",too_many_automations:"",troubleshooting:"Verifique a solução de problemas",unknown:"Erro desconhecido",upgrade_available:"Uma atualização automatizada da configuração do cartão está disponível, visite o editor visual do cartão",webrtc_card_reported_error:"O cartão WebRTC relatou um erro",webrtc_card_waiting:"Aguardar o cartão WebRTC carregar ..."},s={camera:"Camera",duration:"Duração",in_progress:"Em andamento",score:"Pontuação",seek:"Procurar",start:"Início",tag:"",what:"O quê",where:"Onde"},n={assign:"",assigning:"",modifiers:{alt:"",ctrl:"",meta:"",shift:""},unassign:""},d={all:"Todos",camera:"Camera",favorite:"Favoritos",media_type:"Tipos de media",media_types:{clips:"Clips",recordings:"Gravações",snapshots:"Imagens"},not_favorite:"Não favorito",select_camera:"Seleciona a camara",select_favorite:"Seleciona o favorito",select_media_type:"Seleciona o tipo de media",select_tag:"",select_what:"Seleciona",select_when:"Seleciona quando",select_where:"Seleciona onde",tag:"",what:"O que",when:"Quando",whens:{custom:"",past_month:"O mes passado",past_week:"A semana passada",today:"Hoje",yesterday:"Ontem"},where:"Onde"},l={unseekable:""},m={camera:"Camera",duration:"Duração",events:"Eventos",in_progress:"Em andamento",seek:"Procurar",start:"Começar"},c={download:"",no_thumbnail:"Nenhuma miniatura disponível",retain_indefinitely:"Evento será retido por tempo indeterminado",timeline:"Ver evento na linha do tempo"},u={select_date:"Selecionar a data"},_={common:e,config:a,display_modes:o,editor:i,elements:t,error:r,event:s,key_assigner:n,media_filter:d,media_viewer:l,recording:m,thumbnail:c,timeline:u};export{e as common,a as config,_ as default,o as display_modes,i as editor,t as elements,r as error,s as event,n as key_assigner,d as media_filter,l as media_viewer,m as recording,c as thumbnail,u as timeline}; diff --git a/config/www/community/frigate-hass-card/lang-pt-PT-c4863423.js.gz b/config/www/community/frigate-hass-card/lang-pt-PT-c4863423.js.gz deleted file mode 100644 index faec0e45b8fd18d7588fe2a6a7ed136008c6fe64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5507 zcmV-}6@2O+iwFoFf?;O@|7>AyXDx7aEl^Y~V>CE6Gc+5>iL<*x)Y6FV)LrDV z=~aJwnqK0!6s4qfUF`o#&(f?Atyrl_^-A)H$z7#dyfV$wwb*H+dU+yun5|2vjpO?G zf!$M@)v_7rx9vaDPrQpX>!kd^zl~_St?q5(u0K$h?Mf5R#>>1F{g%e;l)Uyg_wyOB+kzQZ%To3lentIT#!V6g(R{G}jZl(KP*NeNCYZf=? z>y|Hi-STQbY90Vdkj+LlBm~p3mwZRWm%aLNkiF{sS*ox zPo5qZpUCX-Gsx&=*itqabpGMZ3+gwYGzFQ6H0i(VhPS`be{cHYF{H|BT|SPeS^d71 z8|V%F;I91&*X>uh>Ok6;9aeEISM=KSU-=j7@K)xEf6<@{GNb$dz>l-lv1)w|7aaLv zsj8uaQD2x1B02q>Ilri-Sydsv9Du5YUUorKZyva?MWek+MD+N|pwc!>T>~uyZF4={NkF zW?MMEZ-u8w`W^k$Y4*OWnZtj&ddVzKEk94l`KF_D26x}Qy&zsC|8ic*o15?6KE*O> zO>3672PFPl!6o5diKI31q?BvbKziNl$^5$xx8yWn)0zjyz`n_`+j9jYr;MI-VBn>UDv_EsdgJN5?)!Z#ZWD| z<4iRW)4@o4jivJ&dy5O8*|ZfmEiAGkcV=z>qnC6Kh0ql?eCRLuT{)CRSHrSL*}|N& zdDqvx4yGP{0h9=EyxsrW50(DE8G;@*aKrRE?w3W;tDRLsY?*KxiAQ?Q%_b4Ff?ly^ z!3nefcQ1gVTPzmAwD~SwhZ)N98Zo}c?WtMV6xsBqv${>fORZR{E{XyEySV-ANi+?# z8@_jT*<$Rw{g*b8!}9Ty`*=h7`VmwE`xP&332*@*wk| zdO-_mwu9r@L zI48T{IeJ(yIE{rl5Gbf-%evpox?LDQRinvMB1o%lfQ{LS*mumu_rmEB3(WLoi*~{B z|20IO_#U`@&MclO6vtD!oh1#|n1#ZuDBe!#;zTtkHULQ{Z7i!Pdshy>TLgcH&U0fF zF|HcwrVIDAxH)L+WCfQX%lulE{TBQqeB%)Si@k@w&Y*kKo|EH66i(hVjcK!hUD2W( zPINoAI|F=dC}i*Ve{H0mS@&-#;5zR*#XT~5Di58>=xIQ|fH)+?Y4 z;v2gX3tAIlR;oAqp9s%!%+44G?`gqKxSRC;5YT_W{~x@Tx8&h`BHI0LFk8uw*mEKR z;{W1z$yw42O(C9s_Is^GBIuzT(t}btP%kJ%f9n$!8YB9l@n~bK%2GC*tAY=&dRDsz z^w7p+>cUBma$wLbxZ`4XIdm+yXybXW7YBgI8Z_}NVx;S)8vCwzk9LLVa z+q+GiNOV4b^yWsbR=RO%ui^tM>$QSJUPtj~Qo{CGEd*hVOL@-q^Kjcyw0i$gGU~M< z8Jxc03;AsGEP3+#e>nZeC!l#eAfMWab{xIXuZ!ZN^SCe8mWcO5XZ@NdIBt9D8ZQZf z!Tu*gxg@Csc0gB1S~=~d3}g+l06Ry7ZZ?l(qhlNHI9<6yoJaXNGba0dTs{NT*bWVA z#Xup^YhgZP3|aK_jl_n_;iG!=IIp|sE-*Pn__}7FIG>O5fF3U&b%)|eLc->b7oxXP z=38CMa6|qMaJ3H&EDqfg)j$`jgPD2;E?bxbO9>e!_Xr0^%*7gZJfAt6XadTBNW1daX8+5HTOwh+BQzaNQUVQW zv_p#wEOJ;mavF9*GM|{qLJl^7R{q^PTzm{m&{(<1<$8_nA$VC!LZuYE@WX&!JS+(^ zPqOO{KD@K0R5gW{i{`?)m`50ihkMRV!-KtN2H{xWM<~A@nNqq$gEhJnb$B=H6HZ6w z3ZR1m=&1tuHI{VPwmjMXmr)%eZ2%nLc1`$W^tL&?aPfiZ*3orq(^HS-{Ly7BOal6i zp;v*aBrtF#jTw?rif&z8AuP+rlEa-ChVD6W@$b29PIVayYXPec0?DrL`q2k zb2n?30I>08++&Obu%UGg_Zpq41r&n<6Cj=0dd)~WKynIlUmYyB#T?OzOo%&6I zoQt_a9Oon8)AZ|LX-y=^R$?Lx`A176L0U-)AaCFr(SFIl%7l~a)6~Z=OwBJxVVvMC z^dG9q20!2ir8p`7EYit|$w9_G9BW&PW{nu_j9~v|vm>*`$yJ>gYjFCB>c@`5S$%f4 z(m))Tx42<@g>+f346~DH8`(jjXPMF|lpYVK@o2nG#|VSc z?~|C`r+^%$uQf@FFt_#`akHshB74LWuXSV|tnftu!)qh;VnHe?-Z`R>ai=AnoIRha z<>U=PGY>L@c7;A>@Dbum5-5%lL4&P51?IMH019t9w5Htb4{#=VC#!Ko-?3feaq@=F zJ}B*sLCkeKonAqB;Ey#Ck)9dFC=aC2yi7sC-CAuzm=Yy+LvXBz1VRPbx3(TQhPkVH zf-;4GKhs^{oy`NUP+z&_WM1%Pf0U2f075oe-DXA_)O=Zo#od^oh_Yj=tjgbK24 z=ztNFQ$shi`-UvpO5>g6Dz3@2svBPRbAoJ-Su&zmVH&pK=b$l%#@I8Rt#QT(l%;2f z*fXv4^+`nN)R~N7wX!4bIW`0hKuhR=5AZStBS5fc#IBY|zCtECmW^!~S*LJrMRr0K z+eTMKFYNXGctUy1 zySWZ|aa&X}_nAYgAklEPW>T>8<6uv>=0Su{O+Z9KhK>xapBoI7J=V@q3m=Bs+}m=f z`~*GT=zojPdMysxwT4!{M1Sr zKE*ECo&xl#YOA9+k9@qErkzDn59J8e+#H}nAF4$_DB&`))(*HMG>2*7S{3WN3kNOS z{YF%h64cSj8g$(-u$yTrE7S~M#+f%u<#$KYM*-_qxFsleG%|` z_lcAz=XUhj9i58syRiso$JN=LD9gN&*MX7erE+0Hqjym$jty}<#`l2*2z^jO=vuna z2oK76(RxB#nK%XUzc8s01$MbvEU&&&irm?fj$)rc4__*8hk`GfKLA;Vt zHEbR2O9sYteQf(wXlYA4M{HihVLL-h5hT@Raub=-t6@cK9f33D`R3S{IN<}zF6taF z;%YX=mKaQMw`#x%@Y9!xu*Z+_YdX1|ic|n<(e<=P1i>bE(_RlmYW`UG2%9WV7Zf`i z+6^$PUfb)BVpWb-ti@YOc`2lo1-MEs1-9l3&N%wOQYO#=?7q9eND z2L6-)Yh2LuEO`TNy%&TsDP}dbh$Bv}E+>~nDQ4Cxt_G{NMCMRIF@7>&D*=4rhjY)N zgdz;+)TYVT5K2N~3!4%h+>)VOLfwLa<&0Uk8QkZ;4+}ug;|t_>K|*2Z#QCDc~U7 zZSU3A5+<7Exd6e*fe5G+wP!RT#;ifw^hE2sUb(N{ZExTI)KD+s|d$=X)LYPw`KSf z^@Oko*k(GS&)0gO z)bEl0RupJ4vf)IjJu!^t7@Ej;UCc&PN{NVt{uO_>6h1bxNesn8ei1=uPd`QF|56of?P*Ci=-Jk~FHv zHVcL<$}q+Ya-V;EVoA;X^N?UqvyjFlqx)n+s3)XQPoft+Ikp>K(fGL(=xfmiw?`5| z7$e%)K#vnnTqj9~aw9Ub53%h(xe# zLte4h@P?wf&HX{73s$h)0b&eft?kfvTy$=$awy#vECui-I@bJUOY@;&jC5&?J?hrY z7Q`->(cKTrSPqMzbP)6Jfn@Xy8DBZUbjjLN5T%7inuoW*}NFM~F+5R*gVXrh?~zPvNJE2=bwc0JxkGZ$ z({O!b1FHGsOfFM=ZFGStxVjjtpre@muZW4kNWr1}^;Yy2@$UadcakQ01yqNXHNcvk zb)HoBLsu>VU^D7AHDt3aMQ{AKe=dWf*1gNogh}qR@+>OIiUM!9abK89V8IrjcIl)F z_-&})lI0jcP797HUD7@9t!I2NMGmZ?6gHdr@OEoQ+!B0UUC^p<{K$F2T9{CJ7fmsC zT9_%`QrwaK__#aQ+p)^sS&oHKQ9B(OjkDP#Yy8+u-$qP66a&dpfSLa6#?u`Ucj#RD zyA>UF09o78h+0zqqw6?j%#W^F^3JKQPw=4{J>>JSlJec(>i2lZEg3Px4X%x_BevwdtZx0X$bQ36p$D6Fm?c}%M}3{cD)l5YCjE!3blf!0ieq1bMI^z!b{AAy{1)WdBWcYa7s7Rd=sxaQ`BS^p7ng~)}HaX z11~@0Qe56a*3f0ViL9iScpq6cw%Dy?bz%=(>~6AxZo`JMfp6WO?*H(2{|gG0Y4ZL) F000)s)uaFb diff --git a/config/www/community/frigate-hass-card/lazyload-c2d6254a.js b/config/www/community/frigate-hass-card/lazyload-c2d6254a.js deleted file mode 100644 index 10bb306d..00000000 --- a/config/www/community/frigate-hass-card/lazyload-c2d6254a.js +++ /dev/null @@ -1,44 +0,0 @@ -import{cH as t,cI as a,cW as e,cX as o,bk as n,bl as i,bm as d,bn as r,s,cY as l,y as c,o as u,cZ as h,bj as p,cP as m,c_ as g,cN as b,c$ as v,cS as f,d0 as y,d1 as _,d2 as C}from"./card-555679fd.js"; -/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const x={},z=t(class extends a{constructor(){super(...arguments),this.ot=x}render(t,a){return a()}update(t,[a,o]){if(Array.isArray(a)){if(Array.isArray(this.ot)&&this.ot.length===a.length&&a.every(((t,a)=>t===this.ot[a])))return e}else if(this.ot===a)return e;return this.ot=Array.isArray(a)?Array.from(a):a,this.render(a,o)}}),P=2,S=(t,a)=>{t._controlsHideTimer&&(t._controlsHideTimer.stop(),delete t._controlsHideTimer),t.controls=a},A=(t,a=1)=>{const e=t.controls;S(t,!1),t._controlsHideTimer??=new o,t._controlsHideTimer.start(a,(()=>{S(t,e)}))},L=async(t,a)=>{if(a?.play)try{await a.play()}catch(e){if("NotAllowedError"===e.name&&!t.isMuted()){await t.mute();try{await a.play()}catch(t){}}}};let k=class extends s{constructor(){super(...arguments),this.disabled=!1,this.label="",this._embedThumbnailTask=l(this,(()=>this.hass),(()=>this.thumbnail))}set controlConfig(t){t?.size&&this.style.setProperty("--frigate-card-next-prev-size",`${t.size}px`),this._controlConfig=t}render(){if(this.disabled||!this._controlConfig||"none"==this._controlConfig.style)return c``;const t={controls:!0,previous:"previous"===this.direction,next:"next"===this.direction,thumbnails:"thumbnails"===this._controlConfig.style,icons:["chevrons","icons"].includes(this._controlConfig.style),button:["chevrons","icons"].includes(this._controlConfig.style)};if(["chevrons","icons"].includes(this._controlConfig.style)){let a;if("chevrons"===this._controlConfig.style)a="previous"===this.direction?"mdi:chevron-left":"mdi:chevron-right";else{if(!this.icon)return c``;a=this.icon}return c` - - `}return this.thumbnail?h(this,this._embedThumbnailTask,(a=>a?c``:c``),{inProgressFunc:()=>c`

`}):c``}static get styles(){return p("ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n --frigate-card-next-prev-size: 48px;\n --frigate-card-next-prev-size-hover: calc(var(--frigate-card-next-prev-size) * 2);\n --frigate-card-prev-position: 45px;\n --frigate-card-next-position: 45px;\n --mdc-icon-button-size: var(--frigate-card-next-prev-size);\n --mdc-icon-size: calc(var(--mdc-icon-button-size) / 2);\n}\n\n.controls {\n position: absolute;\n z-index: 1;\n overflow: hidden;\n}\n\n.controls.previous {\n left: var(--frigate-card-prev-position);\n}\n\n.controls.next {\n right: var(--frigate-card-next-position);\n}\n\n.controls.icons {\n top: calc(50% - var(--frigate-card-next-prev-size) / 2);\n}\n\n.controls.thumbnails {\n border-radius: 50%;\n height: var(--frigate-card-next-prev-size);\n top: calc(50% - var(--frigate-card-next-prev-size) / 2);\n box-shadow: var(--frigate-card-css-box-shadow, 0px 0px 20px 5px black);\n transition: all 0.2s ease-out;\n opacity: 0.8;\n aspect-ratio: 1/1;\n}\n\n.controls.thumbnails:hover {\n opacity: 1 !important;\n height: var(--frigate-card-next-prev-size-hover);\n top: calc(50% - var(--frigate-card-next-prev-size-hover) / 2);\n}\n\n.controls.previous.thumbnails:hover {\n left: calc(var(--frigate-card-prev-position) - (var(--frigate-card-next-prev-size-hover) - var(--frigate-card-next-prev-size)) / 2);\n}\n\n.controls.next.thumbnails:hover {\n right: calc(var(--frigate-card-next-position) - (var(--frigate-card-next-prev-size-hover) - var(--frigate-card-next-prev-size)) / 2);\n}")}};n([i({attribute:!1})],k.prototype,"direction",void 0),n([i({attribute:!1})],k.prototype,"hass",void 0),n([d()],k.prototype,"_controlConfig",void 0),n([i({attribute:!1})],k.prototype,"thumbnail",void 0),n([i({attribute:!1})],k.prototype,"icon",void 0),n([i({attribute:!0,type:Boolean})],k.prototype,"disabled",void 0),n([i()],k.prototype,"label",void 0),k=n([r("frigate-card-next-previous-control")],k);const $=(t,a)=>{var e,o;a.stopPropagation(),e=a.composedPath()[0],o={slide:t,mediaLoadedInfo:a.detail},_(e,"carousel:media:loaded",o)},H=(t,a)=>{var e;a.stopPropagation(),e=a.composedPath()[0],_(e,"carousel:media:unloaded",{slide:t})};let M=class extends s{constructor(){super(),this.selected=0,this._mediaLoadedInfo={},this._nextControlRef=m(),this._previousControlRef=m(),this._titleControlRef=m(),this._titleTimer=new o,this._boundAutoPlayHandler=this.autoPlay.bind(this),this._boundAutoUnmuteHandler=this.autoUnmute.bind(this),this._boundTitleHandler=this._titleHandler.bind(this),this._debouncedAdaptContainerHeightToSlide=g(this._adaptContainerHeightToSlide.bind(this),100,{trailing:!0}),this._refCarousel=m(),this._slideResizeObserver=new ResizeObserver(this._reInitAndAdjustHeight.bind(this)),this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this))}frigateCardCarousel(){return this._refCarousel.value??null}_getAutoMediaPlugin(){return this.frigateCardCarousel()?.carousel()?.plugins().autoMedia??null}autoPlay(){const t=this._getAutoMediaPlugin()?.options;t?.autoPlayCondition&&["all","selected"].includes(t?.autoPlayCondition)&&this._getAutoMediaPlugin()?.play()}autoPause(){const t=this._getAutoMediaPlugin()?.options;t?.autoPauseCondition&&["all","selected"].includes(t.autoPauseCondition)&&this._getAutoMediaPlugin()?.pause()}autoUnmute(){const t=this._getAutoMediaPlugin()?.options;t?.autoUnmuteCondition&&["all","selected"].includes(t?.autoUnmuteCondition)&&this._getAutoMediaPlugin()?.unmute()}autoMute(){const t=this._getAutoMediaPlugin()?.options;t?.autoMuteCondition&&["all","selected"].includes(t?.autoMuteCondition)&&this._getAutoMediaPlugin()?.mute()}_titleHandler(){const t=()=>{this._titleTimer.stop(),this._titleControlRef.value?.show()};this._titleControlRef.value?.isVisible()&&t(),this._titleTimer.start(.5,t)}connectedCallback(){super.connectedCallback(),this.addEventListener("frigate-card:media:loaded",this._boundAutoPlayHandler),this.addEventListener("frigate-card:media:loaded",this._boundAutoUnmuteHandler),this.addEventListener("frigate-card:media:loaded",this._debouncedAdaptContainerHeightToSlide),this.addEventListener("frigate-card:media:loaded",this._boundTitleHandler),this._intersectionObserver.observe(this)}disconnectedCallback(){this.removeEventListener("frigate-card:media:loaded",this._boundAutoPlayHandler),this.removeEventListener("frigate-card:media:loaded",this._boundAutoUnmuteHandler),this.removeEventListener("frigate-card:media:loaded",this._debouncedAdaptContainerHeightToSlide),this.removeEventListener("frigate-card:media:loaded",this._boundTitleHandler),this._intersectionObserver.disconnect(),this._mediaLoadedInfo={},super.disconnectedCallback()}_reInitAndAdjustHeight(){this.frigateCardCarousel()?.carouselReInitWhenSafe(),this._debouncedAdaptContainerHeightToSlide()}_intersectionHandler(t){t.some((t=>t.isIntersecting))&&this._reInitAndAdjustHeight()}_adaptContainerHeightToSlide(){const t=this.frigateCardCarousel()?.getCarouselSelected();if(t){this.style.removeProperty("max-height");const a=t.element.getBoundingClientRect().height;void 0!==a&&a>0&&(this.style.maxHeight=`${a}px`)}}_dispatchMediaLoadedInfo(t){const a=t.index;void 0!==a&&a in this._mediaLoadedInfo&&b(this,this._mediaLoadedInfo[a])}_storeMediaLoadedInfo(t){t.stopPropagation();const a=t.detail.mediaLoadedInfo,e=t.detail.slide;a&&v(a)&&(this._mediaLoadedInfo[e]=a,this.frigateCardCarousel()?.getCarouselSelected()?.index===e&&b(this,a))}_removeMediaLoadedInfo(t){const a=t.detail.slide;delete this._mediaLoadedInfo[a],this.frigateCardCarousel()?.getCarouselSelected()?.index!==a&&t.stopPropagation()}render(){const t=t=>{this._slideResizeObserver.disconnect();const a=this.getRootNode();a&&a instanceof ShadowRoot&&this._slideResizeObserver.observe(a.host);const e=t.detail;this._slideResizeObserver.observe(e.element),_(this,"media-carousel:select",e),this._dispatchMediaLoadedInfo(e)};return c` {t(a)}} - @frigate-card:carousel:media:loaded=${this._storeMediaLoadedInfo.bind(this)} - @frigate-card:carousel:media:unloaded=${this._removeMediaLoadedInfo.bind(this)} - > - - - - - ${this.label&&this.titlePopupConfig?c` - `:""}`}static get styles(){return p(":host {\n display: block;\n width: 100%;\n height: 100%;\n --video-max-height: none;\n position: relative;\n}")}};n([i({attribute:!1})],M.prototype,"nextPreviousConfig",void 0),n([i({attribute:!1})],M.prototype,"carouselOptions",void 0),n([i({attribute:!1})],M.prototype,"carouselPlugins",void 0),n([i({attribute:!1,type:Number})],M.prototype,"selected",void 0),n([i({attribute:!0})],M.prototype,"transitionEffect",void 0),n([i({attribute:!1})],M.prototype,"label",void 0),n([i({attribute:!1})],M.prototype,"logo",void 0),n([i({attribute:!1})],M.prototype,"titlePopupConfig",void 0),M=n([r("frigate-card-media-carousel")],M);let w=class extends s{constructor(){super(...arguments),this._toastRef=m()}render(){if(!this.text||!this.config||"none"==this.config.mode||!this.fitInto)return c``;const t=this.config.mode.match(/-top-/)?"top":"bottom",a=this.config.mode.match(/-left$/)?"left":"right";return c` - ${this.logo?c``:""} - `}isVisible(){return this._toastRef.value?.opened??!1}hide(){this._toastRef.value&&(this._toastRef.value.opened=!1)}show(){this._toastRef.value&&(this._toastRef.value.opened=!1,this._toastRef.value.opened=!0)}static get styles(){return p(":host {\n --paper-toast-background-color: rgba(0,0,0,0.6);\n --paper-toast-color: white;\n}\n\npaper-toast {\n max-width: unset;\n min-width: unset;\n display: flex;\n align-items: center;\n}\n\npaper-toast img {\n max-height: 24px;\n padding-left: 10px;\n}")}};n([i({attribute:!1})],w.prototype,"config",void 0),n([i({attribute:!1})],w.prototype,"text",void 0),n([i({attribute:!1})],w.prototype,"fitInto",void 0),n([i({attribute:!1})],w.prototype,"logo",void 0),w=n([r("frigate-card-title-control")],w);const I={active:!0,breakpoints:{}};function R(t){const a=C.optionsHandler(),e=a.merge(I,R.globalOptions);let o,n,i;function d(){"hidden"===document.visibilityState?(o.autoPauseCondition&&["all","hidden"].includes(o.autoPauseCondition)&&function(){for(const t of i)r(t)?.pause()}(),o.autoMuteCondition&&["all","hidden"].includes(o.autoMuteCondition)&&function(){for(const t of i)r(t)?.mute()}()):"visible"===document.visibilityState&&(o.autoPlayCondition&&["all","visible"].includes(o.autoPlayCondition)&&s(),o.autoUnmuteCondition&&["all","visible"].includes(o.autoUnmuteCondition)&&u())}function r(t){return o.playerSelector?t?.querySelector(o.playerSelector):null}function s(){r(i[n.selectedScrollSnap()])?.play()}function l(){r(i[n.selectedScrollSnap()])?.pause()}function c(){r(i[n.previousScrollSnap()])?.pause()}function u(){r(i[n.selectedScrollSnap()])?.unmute()}function h(){r(i[n.selectedScrollSnap()])?.mute()}function p(){r(i[n.previousScrollSnap()])?.mute()}const m={name:"autoMedia",options:a.merge(e,t),init:function(t){n=t,o=a.atMedia(m.options),i=n.slideNodes(),n.on("destroy",l),o.autoPauseCondition&&["all","unselected"].includes(o.autoPauseCondition)&&n.on("select",c),n.on("destroy",h),o.autoMuteCondition&&["all","unselected"].includes(o.autoMuteCondition)&&n.on("select",p),document.addEventListener("visibilitychange",d)},destroy:function(){n.off("destroy",l),o.autoPauseCondition&&["all","unselected"].includes(o.autoPauseCondition)&&n.off("select",c),n.off("destroy",h),o.autoMuteCondition&&["all","unselected"].includes(o.autoMuteCondition)&&n.off("select",p),document.removeEventListener("visibilitychange",d)},play:s,pause:l,mute:h,unmute:u};return m}R.globalOptions=void 0;const E={active:!0,breakpoints:{},lazyLoadCount:0};function T(t){const a=C.optionsHandler(),e=a.merge(E,T.globalOptions);let o,n,i;const d=new Set,r=["init","select","resize"],s=["select"];function l(){"hidden"===document.visibilityState&&o.lazyUnloadCallback&&o.lazyUnloadCondition&&["all","hidden"].includes(o.lazyUnloadCondition)?d.forEach((t=>{o.lazyUnloadCallback&&(o.lazyUnloadCallback(t,i[t]),d.delete(t))})):"visible"===document.visibilityState&&o.lazyLoadCallback&&u()}function c(t){return d.has(t)}function u(){const t=o.lazyLoadCount??0,a=n.selectedScrollSnap(),e=new Set;for(let o=1;o<=t&&a-o>=0;o++)e.add(a-o);e.add(a);for(let o=1;o<=t&&a+o{!c(t)&&o.lazyLoadCallback&&(d.add(t),o.lazyLoadCallback(t,i[t]))}))}function h(){const t=n.previousScrollSnap();c(t)&&o.lazyUnloadCallback&&(o.lazyUnloadCallback(t,i[t]),d.delete(t))}const p={name:"lazyload",options:a.merge(e,t),init:function(t){n=t,o=a.atMedia(p.options),i=n.slideNodes(),o.lazyLoadCallback&&r.forEach((t=>n.on(t,u))),o.lazyUnloadCallback&&o.lazyUnloadCondition&&["all","unselected"].includes(o.lazyUnloadCondition)&&s.forEach((t=>n.on(t,h))),document.addEventListener("visibilitychange",l)},destroy:function(){o.lazyLoadCallback&&r.forEach((t=>n.off(t,u))),o.lazyUnloadCallback&&s.forEach((t=>n.off(t,h))),document.removeEventListener("visibilitychange",l)},hasLazyloaded:c};return p}T.globalOptions=void 0;export{R as A,T as L,P as M,H as a,A as h,z as i,L as p,S as s,$ as w}; diff --git a/config/www/community/frigate-hass-card/lazyload-c2d6254a.js.gz b/config/www/community/frigate-hass-card/lazyload-c2d6254a.js.gz deleted file mode 100644 index 2b63d3b007fbd60701339ecd226b215377df1597..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4773 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.camera_entity)return r(e,s("error.no_live_camera"),{context:t}),null;const a=i.states[t.camera_entity];return a?"unavailable"===a.state?(o(e,s("error.live_camera_unavailable"),"info",{icon:"mdi:connection",context:t}),null):a:(r(e,s("error.live_camera_not_found"),{context:t}),null)};let V=class extends n{constructor(){super(),this._inBackground=!1,this._lastMediaLoadedInfo=null,this._messageReceivedPostRender=!1,this._renderKey=0,this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this))}_intersectionHandler(e){this._inBackground=!e.some((e=>e.isIntersecting)),this._inBackground||this._messageReceivedPostRender||!this._lastMediaLoadedInfo||d(this._lastMediaLoadedInfo.source,this._lastMediaLoadedInfo.mediaLoadedInfo),this._messageReceivedPostRender&&!this._inBackground&&this.requestUpdate()}shouldUpdate(e){return!this._inBackground||!this._messageReceivedPostRender}connectedCallback(){this._intersectionObserver.observe(this),super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback(),this._intersectionObserver.disconnect()}render(){if(!(this.hass&&this.liveConfig&&this.cameraManager&&this.view))return;const e=l`${E(this._renderKey,l` - {this._renderKey++,this._messageReceivedPostRender=!0,this._inBackground&&e.stopPropagation()}} - @frigate-card:media:loaded=${e=>{this._lastMediaLoadedInfo={source:e.composedPath()[0],mediaLoadedInfo:e.detail},this._inBackground&&e.stopPropagation()}} - @frigate-card:view:change=${e=>{this._inBackground&&e.stopPropagation()}} - > - - `)}`;return this._messageReceivedPostRender=!1,e}static get styles(){return h(":host {\n width: 100%;\n height: 100%;\n display: block;\n}")}};c([g({attribute:!1})],V.prototype,"conditionControllerEpoch",void 0),c([g({attribute:!1})],V.prototype,"hass",void 0),c([g({attribute:!1})],V.prototype,"view",void 0),c([g({attribute:!1})],V.prototype,"liveConfig",void 0),c([g({attribute:!1,hasChanged:u})],V.prototype,"liveOverrides",void 0),c([g({attribute:!1})],V.prototype,"cameraManager",void 0),c([g({attribute:!1})],V.prototype,"cardWideConfig",void 0),c([g({attribute:!1})],V.prototype,"microphoneStream",void 0),c([m()],V.prototype,"_inBackground",void 0),V=c([v("frigate-card-live")],V);let j=class extends n{constructor(){super(...arguments),this._cameraToSlide={},this._refMediaCarousel=p()}updated(e){super.updated(e),e.has("inBackground")&&this.updateComplete.then((async()=>{const e=this._refMediaCarousel.value;e&&(await e.updateComplete,this.inBackground?(e.autoPause(),e.autoMute()):(e.autoPlay(),e.autoUnmute()))}))}_getTransitionEffect(){return this.liveConfig?.transition_effect??f.live.transition_effect}_getSelectedCameraIndex(){const e=this.cameraManager?.getStore().getVisibleCameraIDs();return e&&this.view?Math.max(0,Array.from(e).indexOf(this.view.camera)):0}_getOptions(){return{draggable:this.liveConfig?.draggable,loop:!0}}_getPlugins(){const e=this.cameraManager?.getStore().getVisibleCameraIDs();return[...e&&e.size>1?[_({forceWheelAxis:"y"})]:[],M({...this.liveConfig?.lazy_load&&{lazyLoadCallback:(e,i)=>this._lazyloadOrUnloadSlide("load",e,i)},lazyUnloadCondition:this.liveConfig?.lazy_unload,lazyUnloadCallback:(e,i)=>this._lazyloadOrUnloadSlide("unload",e,i)}),S({playerSelector:R,...this.liveConfig?.auto_play&&{autoPlayCondition:this.liveConfig.auto_play},...this.liveConfig?.auto_pause&&{autoPauseCondition:this.liveConfig.auto_pause},...this.liveConfig?.auto_mute&&{autoMuteCondition:this.liveConfig.auto_mute},...this.liveConfig?.auto_unmute&&{autoUnmuteCondition:this.liveConfig.auto_unmute}})]}_getLazyLoadCount(){return!1===this.liveConfig?.lazy_load?null:0}_getSlides(){const e=this.cameraManager?.getStore().getVisibleCameras();if(!e)return[[],{}];const i=[],t={};for(const[a,r]of e){const e=this.view?.context?.live?.overrides?.get(a)??a,s=a===e?r:this.cameraManager?.getStore().getCameraConfig(e),o=s?this._renderLive(e,s,i.length):null;o&&(t[a]=i.length,i.push(o))}return[i,t]}_setViewHandler(e){const i=this.cameraManager?.getStore().getVisibleCameras();i&&e.detail.index!==this._getSelectedCameraIndex()&&this._setViewCameraID(Array.from(i.keys())[e.detail.index])}_setViewCameraID(e){e&&this.view?.evolve({camera:e,query:null,queryResults:null}).mergeInContext({thumbnails:{fetch:!1}}).dispatchChangeEvent(this)}_lazyloadOrUnloadSlide(e,i,t){t instanceof HTMLSlotElement&&(t=t.assignedElements({flatten:!0})[0]);const a=t?.querySelector(R);a&&(a.disabled="load"!==e)}_renderLive(e,i,t){if(!(this.liveConfig&&this.hass&&this.cameraManager&&this.conditionControllerEpoch))return;const a=C(this.conditionControllerEpoch.controller,this.liveConfig,this.liveOverrides,{camera:e}),r=this.cameraManager.getCameraMetadata(this.hass,e);return l` -
- this.cameraManager?.getCameraEndpoints(e)??void 0))} - .label=${r?.title??""} - .liveConfig=${a} - .hass=${this.hass} - .cardWideConfig=${this.cardWideConfig} - @frigate-card:media:loaded=${e=>{x(t,e)}} - @frigate-card:media:unloaded=${e=>{L(t,e)}} - > - -
- `}_getCameraIDsOfNeighbors(){const e=this.cameraManager?.getStore().getVisibleCameras();if(!e||!this.view||!this.hass)return[null,null];const i=Array.from(e.keys()),t=i.indexOf(this.view.camera);return t<0||e.size<=1?[null,null]:[i[t>0?t-1:e.size-1],i[t+1this.view?.context?.live?.overrides?.get(e)??e,o=t?this.cameraManager.getCameraMetadata(this.hass,r(t)):null,n=this.cameraManager.getCameraMetadata(this.hass,r(this.view.camera)),d=a?this.cameraManager.getCameraMetadata(this.hass,r(a)):null;return l` - {$(this,{thumbnails:{fetch:!0}})}} - > - {this._setViewCameraID(t),y(e)}} - > - - ${e} - {this._setViewCameraID(a),y(e)}} - > - - - `}static get styles(){return h(".embla__slide {\n height: 100%;\n flex: 0 0 100%;\n}")}};c([g({attribute:!1})],j.prototype,"hass",void 0),c([g({attribute:!1})],j.prototype,"view",void 0),c([g({attribute:!1})],j.prototype,"liveConfig",void 0),c([g({attribute:!1,hasChanged:u})],j.prototype,"liveOverrides",void 0),c([g({attribute:!1})],j.prototype,"inBackground",void 0),c([g({attribute:!1})],j.prototype,"conditionControllerEpoch",void 0),c([g({attribute:!1})],j.prototype,"cardWideConfig",void 0),c([g({attribute:!1})],j.prototype,"cameraManager",void 0),c([g({attribute:!1})],j.prototype,"microphoneStream",void 0),j=c([v("frigate-card-live-carousel")],j);let B=class extends n{constructor(){super(...arguments),this.disabled=!1,this.label="",this._isVideoMediaLoaded=!1,this._refProvider=p(),this._importPromises=[]}async play(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await I(this,this._refProvider.value)}async pause(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.pause())}async mute(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.mute())}async unmute(){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.unmute())}isMuted(){return this._refProvider.value?.isMuted()??!0}async seek(e){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.seek(e))}async setControls(e){await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.setControls(e))}isPaused(){return this._refProvider.value?.isPaused()??!0}async getScreenshotURL(){return await this.updateComplete,await(this._refProvider.value?.updateComplete),await(this._refProvider.value?.getScreenshotURL())??null}_getResolvedProvider(){return"auto"===this.cameraConfig?.live_provider?this.cameraConfig?.webrtc_card?.entity||this.cameraConfig?.webrtc_card?.url?"webrtc-card":this.cameraConfig?.camera_entity?"low"===this.cardWideConfig?.performance?.profile?"image":"ha":this.cameraConfig?.frigate.camera_name?"jsmpeg":f.cameras.live_provider:this.cameraConfig?.live_provider||"image"}_shouldShowImageDuringLoading(){return!!this.cameraConfig?.camera_entity&&!!this.hass&&!!this.liveConfig?.show_image_during_load}disconnectedCallback(){this._isVideoMediaLoaded=!1}_videoMediaShowHandler(){this._isVideoMediaLoaded=!0}willUpdate(e){if(e.has("disabled")&&this.disabled&&(this._isVideoMediaLoaded=!1,w(this)),e.has("liveConfig")&&(z(this,this.liveConfig?.layout),this.liveConfig?.show_image_during_load&&this._importPromises.push(import("./live-image-c8850fc4.js")),this.liveConfig?.zoomable&&this._importPromises.push(import("./zoomer-1857311a.js"))),e.has("cameraConfig")){const e=this._getResolvedProvider();"jsmpeg"===e?this._importPromises.push(import("./live-jsmpeg-9c767737.js")):"ha"===e?this._importPromises.push(import("./live-ha-df63bfc8.js")):"webrtc-card"===e?this._importPromises.push(import("./live-webrtc-card-dfc8f852.js")):"image"===e?this._importPromises.push(import("./live-image-c8850fc4.js")):"go2rtc"===e&&this._importPromises.push(import("./live-go2rtc-0795a62f.js"))}}async getUpdateComplete(){const e=await super.getUpdateComplete();return await Promise.all(this._importPromises),this._importPromises=[],e}_useZoomIfRequired(e){return this.liveConfig?.zoomable?l` this.setControls(!1)} - @frigate-card:zoom:unzoomed=${()=>this.setControls()} - > - ${e} - `:e}render(){if(this.disabled||!this.hass||!this.liveConfig||!this.cameraConfig)return;this.title=this.label,this.ariaLabel=this.label;const e=this._getResolvedProvider(),i=!this._isVideoMediaLoaded&&this._shouldShowImageDuringLoading(),t={hidden:i};return this._useZoomIfRequired(l` - ${i||"image"===e?l` {"image"===e?this._videoMediaShowHandler():i.stopPropagation()}} - > - `:l``} - ${"ha"===e?l` - `:"go2rtc"===e?l` - `:"webrtc-card"===e?l` - `:"jsmpeg"===e?l` - `:l``} - `)}static get styles(){return h(":host {\n display: block;\n height: 100%;\n width: 100;\n}\n\n.hidden {\n display: none;\n}")}};c([g({attribute:!1})],B.prototype,"hass",void 0),c([g({attribute:!1})],B.prototype,"cameraConfig",void 0),c([g({attribute:!1})],B.prototype,"cameraEndpoints",void 0),c([g({attribute:!1})],B.prototype,"liveConfig",void 0),c([g({attribute:!0,type:Boolean})],B.prototype,"disabled",void 0),c([g({attribute:!1})],B.prototype,"label",void 0),c([g({attribute:!1})],B.prototype,"cardWideConfig",void 0),c([g({attribute:!1})],B.prototype,"microphoneStream",void 0),c([m()],B.prototype,"_isVideoMediaLoaded",void 0),B=c([v(R)],B);export{V as FrigateCardLive,j as FrigateCardLiveCarousel,B as FrigateCardLiveProvider,O as getStateObjOrDispatchError}; diff --git a/config/www/community/frigate-hass-card/live-e0c9196c.js.gz b/config/www/community/frigate-hass-card/live-e0c9196c.js.gz deleted file mode 100644 index 589a8ae1caaa98ebc923805e72f340a9b7b9befa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3921 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 f4UC=+Zcd{&`P;v@__vthis.onconnect())),this.ondisconnect()):(this.ondisconnect(),this.onconnect())}set src(e){"string"!=typeof e&&(e=e.toString()),e.startsWith("http")?e="ws"+e.substring(4):e.startsWith("/")&&(e="ws"+location.origin.substring(4)+e),this.wsURL=e,this.onconnect()}play(){}send(e){this.ws&&this.ws.send(JSON.stringify(e))}codecs(e){const t="mse"===e?e=>MediaSource.isTypeSupported(`video/mp4; codecs="${e}"`):e=>this.video.canPlayType(`video/mp4; codecs="${e}"`);return this.CODECS.filter(t).join()}connectedCallback(){if(this.disconnectTID&&(clearTimeout(this.disconnectTID),this.disconnectTID=0),this.video){const e=this.video.seekable;e.length>0&&(this.video.currentTime=e.end(e.length-1)),this.play()}else this.oninit();this.onconnect()}disconnectedCallback(){this.background||this.disconnectTID||this.wsState===WebSocket.CLOSED&&this.pcState===WebSocket.CLOSED||(this.disconnectTID=setTimeout((()=>{this.reconnectTID&&(clearTimeout(this.reconnectTID),this.reconnectTID=0),this.disconnectTID=0,this.ondisconnect()}),this.DISCONNECT_TIMEOUT))}oninit(){if(this.video=document.createElement("video"),u(this.video,this.controls),this.video.playsInline=!0,this.video.preload="auto",this.video.style.display="block",this.video.style.width="100%",this.video.style.height="100%",this.appendChild(this.video),!this.background){if("hidden"in document&&this.visibilityCheck&&document.addEventListener("visibilitychange",(()=>{document.hidden?this.disconnectedCallback():this.isConnected&&this.connectedCallback()})),"IntersectionObserver"in window&&this.visibilityThreshold){new IntersectionObserver((e=>{e.forEach((e=>{e.isIntersecting?this.isConnected&&this.connectedCallback():this.disconnectedCallback()}))}),{threshold:this.visibilityThreshold}).observe(this)}this.video.onloadeddata=()=>{this.controls&&v(this.video,y),e(this,this.video,{player:this.containingPlayer,capabilities:{supports2WayAudio:!!this.pc,supportsPause:!0,hasAudio:b(this.video)}})},this.video.onvolumechange=()=>t(this),this.video.onplay=()=>s(this),this.video.onpause=()=>i(this),this.video.muted=!0}}onconnect(){return!(!this.isConnected||!this.wsURL||this.ws||this.pc)&&(this.wsState=WebSocket.CONNECTING,this.connectTS=Date.now(),this.ws=new WebSocket(this.wsURL),this.ws.binaryType="arraybuffer",this.ws.addEventListener("open",(e=>this.onopen(e))),this.ws.addEventListener("close",(e=>this.onclose(e))),!0)}ondisconnect(){this.wsState=WebSocket.CLOSED,this.ws&&(this.ws.close(),this.ws=null),this.pcState=WebSocket.CLOSED,this.pc&&(this.pc.close(),this.pc=null)}onopen(){this.wsState=WebSocket.OPEN,this.ws.addEventListener("message",(e=>{if("string"==typeof e.data){const t=JSON.parse(e.data);for(const e in this.onmessage)this.onmessage[e](t)}else this.ondata(e.data)})),this.ondata=null,this.onmessage={};const e=[];return this.mode.indexOf("mse")>=0&&"MediaSource"in window?(e.push("mse"),this.onmse()):this.mode.indexOf("mp4")>=0&&(e.push("mp4"),this.onmp4()),this.mode.indexOf("webrtc")>=0&&"RTCPeerConnection"in window&&(e.push("webrtc"),this.onwebrtc()),this.mode.indexOf("mjpeg")>=0&&(e.length?this.onmessage.mjpeg=t=>{"error"===t.type&&0===t.value.indexOf(e[0])&&this.onmjpeg()}:(e.push("mjpeg"),this.onmjpeg())),e}onclose(){if(this.wsState===WebSocket.CLOSED)return!1;this.wsState=WebSocket.CONNECTING,this.ws=null;const e=Math.max(this.RECONNECT_TIMEOUT-(Date.now()-this.connectTS),0);return this.reconnectTID=setTimeout((()=>{this.reconnectTID=0,this.onconnect()}),e),!0}onmse(){const e=new MediaSource;e.addEventListener("sourceopen",(()=>{URL.revokeObjectURL(this.video.src),this.send({type:"mse",value:this.codecs("mse")})}),{once:!0}),this.video.src=URL.createObjectURL(e),this.video.srcObject=null,this.play(),this.mseCodecs="",this.onmessage.mse=t=>{if("mse"!==t.type)return;this.mseCodecs=t.value;const s=e.addSourceBuffer(t.value);s.mode="segments",s.addEventListener("updateend",(()=>{if(!s.updating)try{if(n>0){const e=i.slice(0,n);n=0,s.appendBuffer(e)}else if(s.buffered&&s.buffered.length){const t=s.buffered.end(s.buffered.length-1)-15,i=s.buffered.start(0);t>i&&(s.remove(i,t),e.setLiveSeekableRange(t,t+15))}}catch(e){}}));const i=new Uint8Array(2097152);let n=0;this.ondata=e=>{if(s.updating||n>0){const t=new Uint8Array(e);i.set(t,n),n+=t.byteLength}else try{s.appendBuffer(e)}catch(e){}}}}onwebrtc(){const e=new RTCPeerConnection(this.pcConfig),t=document.createElement("video");t.addEventListener("loadeddata",(e=>this.onpcvideo(e)),{once:!0}),e.addEventListener("icecandidate",(e=>{const t=e.candidate?e.candidate.toJSON().candidate:"";this.send({type:"webrtc/candidate",value:t})})),e.addEventListener("track",(e=>{null===t.srcObject&&0!==e.streams.length&&"{"!==e.streams[0].id[0]&&"video"===e.track.kind&&(t.srcObject=e.streams[0])})),e.addEventListener("connectionstatechange",(()=>{"failed"!==e.connectionState&&"disconnected"!==e.connectionState||(e.close(),this.pcState=WebSocket.CLOSED,this.pc=null,this.onconnect())})),this.onmessage.webrtc=t=>{switch(t.type){case"webrtc/candidate":e.addIceCandidate({candidate:t.value,sdpMid:"0"}).catch((()=>console.debug));break;case"webrtc/answer":e.setRemoteDescription({type:"answer",sdp:t.value}).catch((()=>console.debug));break;case"error":if(t.value.indexOf("webrtc/offer")<0)return;e.close()}},e.addTransceiver("video",{direction:"recvonly"}),e.addTransceiver("audio",{direction:"recvonly"}),this.microphoneStream?.getTracks().forEach((t=>{e.addTransceiver(t,{direction:"sendonly"})})),e.createOffer().then((t=>{e.setLocalDescription(t).then((()=>{this.send({type:"webrtc/offer",value:t.sdp})}))})),this.pcState=WebSocket.CONNECTING,this.pc=e}onpcvideo(e){if(!this.pc)return;const t=e.target,s=this.pc.connectionState;if("connected"===s||"connecting"===s||!s){let e=0,s=0;const i=t.srcObject;i.getVideoTracks().length>0&&(e+=544),i.getAudioTracks().length>0&&(e+=258),this.mseCodecs.indexOf("hvc1.")>=0&&(s+=560),this.mseCodecs.indexOf("avc1.")>=0&&(s+=528),this.mseCodecs.indexOf("mp4a.")>=0&&(s+=257),e>=s?(this.video.srcObject=i,this.play(),this.pcState=WebSocket.OPEN,this.wsState=WebSocket.CLOSED,this.ws.close(),this.ws=null):(this.pcState=WebSocket.CLOSED,this.pc.close(),this.pc=null)}t.srcObject=null}onmjpeg(){let t=!1;this.ondata=s=>{u(this.video,!1),this.video.poster="data:image/jpeg;base64,"+g.btoa(s),t||(t=!0,e(this,this.video,{player:this.containingPlayer}))},this.send({type:"mjpeg"})}onmp4(){const t=document.createElement("canvas");let s;const i=document.createElement("video");i.autoplay=!0,i.playsInline=!0,i.muted=!0,i.addEventListener("loadeddata",(n=>{s||(t.width=i.videoWidth,t.height=i.videoHeight,s=t.getContext("2d"),e(this,i,{player:this.containingPlayer})),s.drawImage(i,0,0,t.width,t.height),u(this.video,!1),this.video.poster=t.toDataURL("image/jpeg")})),this.ondata=e=>{i.src="data:video/mp4;base64,"+g.btoa(e)},this.send({type:"mp4",value:this.codecs("mp4")})}static btoa(e){const t=new Uint8Array(e),s=t.byteLength;let i="";for(let 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 Q6r+FqAF9PC20JML0K}yPR{#J2 diff --git a/config/www/community/frigate-hass-card/live-ha-df63bfc8.js b/config/www/community/frigate-hass-card/live-ha-df63bfc8.js deleted file mode 100644 index d66c97f0..00000000 --- a/config/www/community/frigate-hass-card/live-ha-df63bfc8.js +++ /dev/null @@ -1,61 +0,0 @@ -import{di as e,cL as t,y as s,dj as a,dk as r,dl as i,dm as h,bj as o,dn as l,bk as n,bn as d,s as u,cP as c,cS as y,bl as p}from"./card-555679fd.js";import{getStateObjOrDispatchError as m}from"./live-e0c9196c.js";import{c as _,i as v}from"./ha-hls-player-aef987da.js";import{m as f}from"./audio-557099cb.js";import{s as $,h as g,M as b}from"./lazyload-c2d6254a.js";import"./media-layout-8e0c974f.js";customElements.whenDefined("ha-web-rtc-player").then((()=>{let u=class extends(customElements.get("ha-web-rtc-player")){async play(){return this._video?.play()}async pause(){this._video?.pause()}async mute(){this._video&&(this._video.muted=!0)}async unmute(){this._video&&(this._video.muted=!1)}isMuted(){return this._video?.muted??!0}async seek(e){this._video&&(this._video.currentTime=e)}async setControls(e){this._video&&$(this._video,e??this.controls)}isPaused(){return this._video?.paused??!0}async getScreenshotURL(){return this._video?e(this._video):null}render(){return this._error?t(this,`${this._error} (${this.entityid})`):s` - - `}static get styles(){return[super.styles,o(_),l` - :host { - width: 100%; - height: 100%; - } - video { - width: 100%; - height: 100%; - } - `]}};n([v("#remote-stream")],u.prototype,"_video",void 0),u=n([d("frigate-card-ha-web-rtc-player")],u)})),customElements.whenDefined("ha-camera-stream").then((()=>{let e=class extends(customElements.get("ha-camera-stream")){async play(){return this._player?.play()}async pause(){this._player?.pause()}async mute(){this._player?.mute()}async unmute(){this._player?.unmute()}isMuted(){return this._player?.isMuted()??!0}async seek(e){this._player?.seek(e)}async setControls(e){this._player&&this._player.setControls(e??this.controls)}isPaused(){return this._player?.isPaused()??!0}async getScreenshotURL(){return this._player?await this._player.getScreenshotURL():null}render(){return this.stateObj?this._shouldRenderMJPEG?s` - {a(this,e,{player:this})}} - .src=${void 0===this._connected||this._connected?(e=this.stateObj,`/api/camera_proxy_stream/${e.entity_id}?token=${e.attributes.access_token}`):""} - /> - `:"hls"===this.stateObj.attributes.frontend_stream_type?this._url?s` `:s``:"web_rtc"===this.stateObj.attributes.frontend_stream_type?s``:void 0:s``;var e}static get styles(){return[super.styles,o(_),l` - :host { - width: 100%; - height: 100%; - } - img { - width: 100%; - height: 100%; - } - `]}};n([v("#player")],e.prototype,"_player",void 0),e=n([d("frigate-card-ha-camera-stream")],e)}));let w=class extends u{constructor(){super(...arguments),this.controls=!0,this._playerRef=c()}async play(){return this._playerRef.value?.play()}async pause(){this._playerRef.value?.pause()}async mute(){this._playerRef.value?.mute()}async unmute(){this._playerRef.value?.unmute()}isMuted(){return this._playerRef.value?.isMuted()??!0}async seek(e){this._playerRef.value?.seek(e)}async setControls(e){this._playerRef.value?.setControls(e??this.controls)}isPaused(){return this._playerRef.value?.isPaused()??!0}async getScreenshotURL(){return await(this._playerRef.value?.getScreenshotURL())??null}render(){if(!this.hass)return;const e=m(this,this.hass,this.cameraConfig);return e?s` - `:void 0}static get styles(){return o(":host {\n width: 100%;\n height: 100%;\n display: block;\n --video-max-height: none;\n}")}};n([p({attribute:!1})],w.prototype,"hass",void 0),n([p({attribute:!1})],w.prototype,"cameraConfig",void 0),n([p({attribute:!0,type:Boolean})],w.prototype,"controls",void 0),w=n([d("frigate-card-live-ha")],w);export{w as FrigateCardLiveHA}; diff --git a/config/www/community/frigate-hass-card/live-ha-df63bfc8.js.gz b/config/www/community/frigate-hass-card/live-ha-df63bfc8.js.gz deleted file mode 100644 index 5587e8755c323834d02bd8e31d14c4da3a04a73b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1522 zcmVY?Wi4o7Eo5dkGh$|AI4){)0L@r!Z`(Ey{+?fI$2d&K4WJ7$jxKbM@bMq+U!Zw&M;Puzq29_uTPxB%g;h zi{~kq>wsBQSU~)@YLsN920?-^YNRB%S0g7uq((-9SdAf>Xn#tAM2!)dXk0=jdL9s= zhK%@kYV?W!QH?7y(P`%Sl&5jWJM$?I+>48g7nfJl!22RPeO6R81Nl)>3GXLg-t#w1 z%&GLlTh3Fi;^QhlVheDg>tCH;z3|O=U%^I1f7_x$htv%t;m#wv0`5|nUcI~ws2Qd| zZd&1K7O)h{yX;!P* zN%y6y{qp%#L;Ot0G`@`>hC~W)8A9>~rYwQL?qKOln7CZ}W%(V)lL)YF+Zo)fBal`$ z@FOa4D<32zfv{WYu%lbkIBP0aiEpX7?W{S-j3<^1neavn7C<`m3Rhm@XeI!GO+;ZV zA#o;Kh|^Qsn0X2i434{1K$aXDa_;0zyiJ!{ct5S^(VJurITpagH7Ooy9N! zrw)^^(?s$#5|5%!%y0t3p`Q9BTorhy+Oexb-7B+1b=G|jkccpqe|&hmJr2xOonDef zQI2&7z}t9G*JLO)o{Ue{hBdeBa*kijn)(tLAq&&kazycO^nkO!rX53zkH9(kqZQ{i;n3Xw~EjSIte(59;zk z5QC%vl@y`+iZt-2r?bW;PMmy8iZUE9nikyzvM%mTPfvY1rxO-2$w2hhBAcr_UhIDF zxJyDRUMULcO&fcc=dINiX_Up_hcuZ%SuWQRP6Jl9^a(!%xK~(7YL6Tejg6IhVJf7xHY}F4WPuEO)_J%4eZS!dfz3ks z*khKiEBp5njz8ylKe0b8?9O-1lk0pYnK$RDOyz10q*H82hb&SSSY3x?0}Mm9opLrq z@o}|0ZQ)EzpmVXpr@zi%xfSI=HyL%mH!)vxeTUD%4EajJ&xQ%*rI&s6g7`9B#VL% z8u{+GyW5|K!n}RgES@zkgeI$fG}WRTBxJ#T3@A?hU@$1w#bzbo<0gIm+A<7n7&Iy+ z<1;#EXT`}J;e~owjf(SmhIN$MGD2|~%Jd!*Rh&nqGJkLYa;MkB^%aux+nBfLk8mQ8spW?`Dh- z2iziL#}TsQw{MdeU+-tyqo?*}_r7f3lP6kxP+Rx5w0>7rfVvr*OL4TPyUp*%4i}eH zHM+l`+=Bm;ZX*-@H>$nSS!l?0X|MGfcIb6WGBJ&k>%J1*Wm9ymY>j)2z|5DaB4*t~ z+w(liXPFjahcu1?{k;41Aim7J5?ER-hxIM93amo_9>kwv9_)i}@PjX7Db+V$4&{hbt5(~*+o+V~Xf)vSq))TTnAAG24Z&YHaTP?nY2 zosyRROq%qe<_*?RhJXq6wLNPRrT)D(xvqZ1yD@!mD}0hBfX=+*6r3`**R>Y)P$!TP zmL{>N7HwGNfBnRAiVcunnpmA$63lgZ!#>m5t{yyE2N6YmQEiY^e<3L^_$aA Y1?)AV-XiFiS9$;FZ<*lYJ=YTe0GH+TtpET3 diff --git a/config/www/community/frigate-hass-card/live-image-c8850fc4.js b/config/www/community/frigate-hass-card/live-image-c8850fc4.js deleted file mode 100644 index 5146c2b8..00000000 --- a/config/www/community/frigate-hass-card/live-image-c8850fc4.js +++ /dev/null @@ -1,7 +0,0 @@ -import{s as e,cP as a,y as s,cS as t,bj as i,bk as r,bl as m,bn as o}from"./card-555679fd.js";import"./image-0b99ab11.js";import{getStateObjOrDispatchError as n}from"./live-e0c9196c.js";import"./media-layout-8e0c974f.js";import"./lazyload-c2d6254a.js";let u=class extends e{constructor(){super(...arguments),this._refImage=a()}async play(){await(this._refImage.value?.play())}async pause(){await(this._refImage.value?.pause())}async mute(){await(this._refImage.value?.mute())}async unmute(){await(this._refImage.value?.unmute())}isMuted(){return!!this._refImage.value?.isMuted()}async seek(e){await(this._refImage.value?.seek(e))}async setControls(e){await(this._refImage.value?.setControls(e))}isPaused(){return this._refImage.value?.isPaused()??!0}async getScreenshotURL(){return await(this._refImage.value?.getScreenshotURL())??null}render(){if(this.hass&&this.cameraConfig)return n(this,this.hass,this.cameraConfig),s` - `}static get styles(){return i(":host {\n width: 100%;\n height: 100%;\n display: block;\n}")}};r([m({attribute:!1})],u.prototype,"hass",void 0),r([m({attribute:!1})],u.prototype,"cameraConfig",void 0),u=r([o("frigate-card-live-image")],u);export{u as FrigateCardLiveImage}; diff --git a/config/www/community/frigate-hass-card/live-image-c8850fc4.js.gz b/config/www/community/frigate-hass-card/live-image-c8850fc4.js.gz deleted file mode 100644 index 3ab3fe7ddec460fea22a263b2971e43610e01e53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 685 zcmV;e0#f}SiwFpYat&qz|7>Y?Wi4rKVP|D6V>mc9FlJ*kE^2cCjg(za+b|S{@A(yO z#84u+p+ywdmeLEhNt2jBL%Z50aGaCI;KY?b3MI;apY8OMj*njCr1tZ^KF9GfE2cu~ zN+F^UV0!H$!E+ZBrZ+BXoZP#}aPr`y#0ht?z)9(%s52>wAU>o-rtMy@cXHa#()eBl zL+0J>6f4LC+MT4|CrP)vF;`7M-)N%YD!IRsUznN_P4ll(3hBJdr8j3YXhVngyZsZo z?Oj01NSl+nFuMKOF{j7bHp0pCoC}h+=}~%e)H^1AnuA7WL^)Bm_9qQxYGXx3skAgy z3mHb0GE~j=(Q}D+<4sTEY@{Lj!J-1Cb`;()x@UB64)GTz;pjRJKWu;^SfHvONIGwjg+2qQ0uSE!eEdKrBU^# zMCg&FIv=2Jr}Js({^!6Zx!xE^?WJV9c7PHt=z|@qgQ%{DGW=bH713I<#CC!!Ec%O0 zJe5KVJ)Z&&TulL<36`Qxgg+qItZ^+gBP$hQuvMqO5Ph+MbBTuV"string"==typeof A&&A.constructor===String,D=A=>"Promise"===Object.prototype.toString.call(A).slice(8,-1);var m="WJ3NAvwFY9",f="tR2-0dd-e1",y="ZgIIHVSSYI",R="kAA8SjbHe2",k="OueN4AU4CJ";!function(A,t){void 0===t&&(t={});var i=t.insertAt;if(A&&"undefined"!=typeof document){var e=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.type="text/css","top"===i&&e.firstChild?e.insertBefore(s,e.firstChild):e.appendChild(s),s.styleSheet?s.styleSheet.cssText=A:s.appendChild(document.createTextNode(A))}}(".WJ3NAvwFY9,.ZgIIHVSSYI,.kAA8SjbHe2,.tR2-0dd-e1{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.ZgIIHVSSYI{-ms-flex-pack:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;justify-content:center}.WJ3NAvwFY9,.tR2-0dd-e1{display:block}.tR2-0dd-e1.OueN4AU4CJ{display:none}.ZgIIHVSSYI,.kAA8SjbHe2{-webkit-tap-highlight-color:rgba(255,0,0,0);cursor:pointer;opacity:.7}.OueN4AU4CJ.ZgIIHVSSYI,.OueN4AU4CJ.kAA8SjbHe2{display:none}.ZgIIHVSSYI{z-index:10}.ZgIIHVSSYI>svg{fill:#fff;height:12vw;max-height:60px;max-width:60px;width:12vw}.kAA8SjbHe2{-ms-flex-pack:end;-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:flex-end;justify-content:flex-end;z-index:10}.kAA8SjbHe2>svg{fill:#fff;height:9vw;margin:0 15px 15px 0;max-height:40px;max-width:40px;width:9vw}");var b=function(){function A(A,t,i,e){var s=void 0===i?{}:i,o=s.canvas,g=void 0===o?"":o,I=s.poster,a=void 0===I?"":I,B=s.autoplay,r=void 0!==B&&B,C=s.autoSetWrapperSize,n=void 0!==C&&C,E=s.loop,Q=void 0!==E&&E,h=s.control,d=void 0===h||h,c=s.decodeFirstFrame,u=void 0===c||c,w=s.picMode,D=void 0!==w&&w,m=s.progressive,f=void 0===m||m,y=s.chunkSize,R=void 0===y?1048576:y,k=s.hooks,b=void 0===k?{}:k;void 0===e&&(e={}),this.options=l({videoUrl:t,canvas:g,poster:a,picMode:D,autoplay:r,autoSetWrapperSize:n,loop:Q,control:d,decodeFirstFrame:u,progressive:f,chunkSize:R,hooks:l({play:function(){},pause:function(){},stop:function(){},load:function(){}},b)},e),this.options.needPlayButton=this.options.control&&!this.options.picMode,this.player=null,this.els={wrapper:p(A)?document.querySelector(A):A,canvas:null,playButton:document.createElement("div"),unmuteButton:null,poster:null},"static"===window.getComputedStyle(this.els.wrapper).getPropertyValue("position")&&(this.els.wrapper.style.position="relative"),this.els.wrapper.clientRect=this.els.wrapper.getBoundingClientRect(),this.initCanvas(),this.initPlayButton(),this.initPlayer()}var t=A.prototype;return t.initCanvas=function(){this.options.canvas?this.els.canvas=p(this.options.canvas)?document.querySelector(this.options.canvas):this.options.canvas:(this.els.canvas=document.createElement("canvas"),this.els.canvas.classList.add(m),this.els.wrapper.appendChild(this.els.canvas))},t.initPlayer=function(){var A=this;this.options=l(this.options,{canvas:this.els.canvas});var t=l({},this.options,{autoplay:!1});if(this.player=new X(this.options.videoUrl,t,{play:function(){A.options.needPlayButton&&A.els.playButton.classList.add(k),A.els.poster&&A.els.poster.classList.add(k),A.options.hooks.play()},pause:function(){A.options.needPlayButton&&A.els.playButton.classList.remove(k),A.options.hooks.pause()},stop:function(){A.els.poster&&A.els.poster.classList.remove(k),A.options.hooks.stop()},load:function(){A.options.autoplay&&A.play(),A._autoSetWrapperSize(),A.options.hooks.load()}}),this._copyPlayerFuncs(),this.els.wrapper.playerInstance=this.player,!this.options.poster||this.options.autoplay||this.player.options.streaming||(this.options.decodeFirstFrame=!1,this.els.poster=new Image,this.els.poster.src=this.options.poster,this.els.poster.classList.add(f),this.els.wrapper.appendChild(this.els.poster)),this.player.options.streaming||this.els.wrapper.addEventListener("click",this.onClick.bind(this)),(this.options.autoplay||this.player.options.streaming)&&this.els.playButton.classList.add(k),this.player.audioOut&&!this.player.audioOut.unlocked){var i=this.els.wrapper;(this.options.autoplay||this.player.options.streaming)&&(this.els.unmuteButton=document.createElement("div"),this.els.unmuteButton.innerHTML='\n\n \n\n',this.els.unmuteButton.classList.add(R),this.els.wrapper.appendChild(this.els.unmuteButton),i=this.els.unmuteButton),this.unlockAudioBound=this.onUnlockAudio.bind(this,i),i.addEventListener("touchstart",this.unlockAudioBound,!1),i.addEventListener("click",this.unlockAudioBound,!0)}},t.initPlayButton=function(){this.options.needPlayButton&&(this.els.playButton.classList.add(y),this.els.playButton.innerHTML='\n\n \n\n',this.els.wrapper.appendChild(this.els.playButton))},t._autoSetWrapperSize=function(){var A=this;if(!this.options.autoSetWrapperSize)return Promise.resolve();var t=this.player.video.destination;return t?Promise.resolve().then((function(){return function(A){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return D(A)?A:new Promise((i=>{A(),setTimeout(i,t)}))}((function(){A.els.wrapper.style.width=t.width+"px",A.els.wrapper.style.height=t.height+"px"}))})):Promise.resolve()},t.onUnlockAudio=function(A,t){var i=this;this.els.unmuteButton&&(t.preventDefault(),t.stopPropagation()),this.player.audioOut.unlock((function(){i.els.unmuteButton&&i.els.unmuteButton.classList.add(k),A.removeEventListener("touchstart",i.unlockAudioBound),A.removeEventListener("click",i.unlockAudioBound)}))},t.onClick=function(){this.options.control&&(this.player.isPlaying?this.pause():this.play())},t._copyPlayerFuncs=function(){var A=this;this.play=function(){return A.player.play()},this.pause=function(){return A.player.pause()},this.stop=function(){return A.player.stop()},this.destroy=function(){A.player.destroy(),A.els.wrapper.innerHTML="",A.els.wrapper.playerInstance=null}},A}(),G=function(){return window.performance?window.performance.now()/1e3:Date.now()/1e3},S=function(A,t){if(A.fill)A.fill(t);else for(var i=0;iA&&this.loadNextChunk())},t.destroy=function(){this.request.abort(),this.aborted=!0},t.loadNextChunk=function(){var A=this,t=this.loadedSize,i=Math.min(this.loadedSize+this.chunkSize-1,this.fileSize-1);if(t>=this.fileSize||this.aborted)return this.completed=!0,void(this.onCompletedCallback&&this.onCompletedCallback(this));this.isLoading=!0,this.loadStartTime=G(),this.request=new XMLHttpRequest,this.request.onreadystatechange=function(){A.request.readyState===A.request.DONE&&A.request.status>=200&&A.request.status<300?A.onChunkLoad(A.request.response):A.request.readyState===A.request.DONE&&A.loadFails++<3&&A.loadNextChunk()},0===t&&(this.request.onprogress=this.onProgress.bind(this)),this.request.open("GET",this.url+"?"+t+"-"+i),this.request.setRequestHeader("Range","bytes="+t+"-"+i),this.request.responseType="arraybuffer",this.request.send()},t.onProgress=function(A){this.progress=A.loaded/A.total},t.onChunkLoad=function(A){var t=!this.established;this.established=!0,this.progress=1,this.loadedSize+=A.byteLength,this.loadFails=0,this.isLoading=!1,t&&this.hookOnEstablished&&this.hookOnEstablished(),t&&this.onEstablishedCallback&&this.onEstablishedCallback(this),this.destination&&this.destination.write(A),this.loadTime=G()-this.loadStartTime,this.throttled||this.loadNextChunk()},A}(),N=function(){function A(A,t){this.url=A,this.options=t,this.socket=null,this.streaming=!0,this.callbacks={connect:[],data:[]},this.destination=null,this.reconnectInterval=void 0!==t.reconnectInterval?t.reconnectInterval:5,this.shouldAttemptReconnect=!!this.reconnectInterval,this.completed=!1,this.established=!1,this.progress=0,this.reconnectTimeoutId=0,this.onEstablishedCallback=t.onSourceEstablished,this.onCompletedCallback=t.onSourceCompleted,t.hookOnEstablished&&(this.hookOnEstablished=t.hookOnEstablished)}var t=A.prototype;return t.connect=function(A){this.destination=A},t.destroy=function(){clearTimeout(this.reconnectTimeoutId),this.shouldAttemptReconnect=!1,this.socket.close()},t.start=function(){this.shouldAttemptReconnect=!!this.reconnectInterval,this.progress=0,this.established=!1,this.options.protocols?this.socket=new WebSocket(this.url,this.options.protocols):this.socket=new WebSocket(this.url),this.socket.binaryType="arraybuffer",this.socket.onmessage=this.onMessage.bind(this),this.socket.onopen=this.onOpen.bind(this),this.socket.onerror=this.onClose.bind(this),this.socket.onclose=this.onClose.bind(this)},t.resume=function(){},t.onOpen=function(){this.progress=1},t.onClose=function(){var A=this;this.shouldAttemptReconnect&&(clearTimeout(this.reconnectTimeoutId),this.reconnectTimeoutId=setTimeout((function(){A.start()}),1e3*this.reconnectInterval))},t.onMessage=function(A){var t=!this.established;this.established=!0,t&&this.hookOnEstablished&&this.hookOnEstablished(),t&&this.onEstablishedCallback&&this.onEstablishedCallback(this),this.destination&&this.destination.write(A.data)},A}(),L=function(){function A(t,i){"object"==typeof t?(this.bytes=t instanceof Uint8Array?t:new Uint8Array(t),this.byteLength=this.bytes.length):(this.bytes=new Uint8Array(t||1048576),this.byteLength=0),this.mode=i||A.MODE.EXPAND,this.index=0}var t=A.prototype;return t.resize=function(A){var t=new Uint8Array(A);0!==this.byteLength&&(this.byteLength=Math.min(this.byteLength,A),t.set(this.bytes,0,this.byteLength)),this.bytes=t,this.index=Math.min(this.index,this.byteLength<<3)},t.evict=function(A){var t=this.index>>3,i=this.bytes.length-this.byteLength;if(this.index===this.byteLength<<3||A>i+t)return this.byteLength=0,void(this.index=0);0!==t&&(this.bytes.copyWithin?this.bytes.copyWithin(0,t,this.byteLength):this.bytes.set(this.bytes.subarray(t,this.byteLength)),this.byteLength-=t,this.index-=t<<3)},t.write=function(t){var i="object"==typeof t[0],e=0,s=this.bytes.length-this.byteLength;if(i){e=0;for(var o=0;os)if(this.mode===A.MODE.EXPAND){var g=Math.max(2*this.bytes.length,e-s);this.resize(g)}else this.evict(e);if(i)for(var I=0;I>3;A>3;return A>=this.byteLength||0===this.bytes[A]&&0===this.bytes[A+1]&&1===this.bytes[A+2]},t.peek=function(A){for(var t=this.index,i=0;A;){var e=8-(7&t),s=e>3]&255>>8-s<>o,t+=s,A-=s}return i},t.read=function(A){var t=this.peek(A);return this.index+=A,t},t.skip=function(A){return this.index+=A},t.rewind=function(A){this.index=Math.max(this.index-A,0)},t.has=function(A){return(this.byteLength<<3)-this.index>=A},A}();L.MODE={EVICT:1,EXPAND:2};var U=function(){function A(){this.bits=null,this.leftoverBytes=null,this.guessVideoFrameEnd=!0,this.pidsToStreamIds={},this.pesPacketInfo={},this.startTime=0,this.currentTime=0}var t=A.prototype;return t.connect=function(A,t){this.pesPacketInfo[A]={destination:t,currentLength:0,totalLength:0,pts:0,buffers:[]}},t.write=function(A){if(this.leftoverBytes){var t=A.byteLength+this.leftoverBytes.byteLength;this.bits=new L(t),this.bits.write([this.leftoverBytes,A])}else this.bits=new L(A);for(;this.bits.has(1504)&&this.parsePacket(););var i=this.bits.byteLength-(this.bits.index>>3);this.leftoverBytes=i>0?this.bits.bytes.subarray(this.bits.index>>3):null},t.parsePacket=function(){if(71!==this.bits.read(8)&&!this.resync())return!1;var A=187+(this.bits.index>>3);this.bits.read(1);var t=this.bits.read(1);this.bits.read(1);var i=this.bits.read(13);this.bits.read(2);var e=this.bits.read(2);this.bits.read(4);var s=this.pidsToStreamIds[i];if(t&&s){var o=this.pesPacketInfo[s];o&&o.currentLength&&this.packetComplete(o)}if(1&e){if(2&e){var g=this.bits.read(8);this.bits.skip(g<<3)}if(t&&this.bits.nextBytesAreStartCode()){this.bits.skip(24),s=this.bits.read(8),this.pidsToStreamIds[i]=s;var I=this.bits.read(16);this.bits.skip(8);var a=this.bits.read(2);this.bits.skip(6);var B=this.bits.read(8),r=this.bits.index+(B<<3),C=this.pesPacketInfo[s];if(C){var n=0;if(2&a){this.bits.skip(4);var E=this.bits.read(3);this.bits.skip(1);var Q=this.bits.read(15);this.bits.skip(1);var h=this.bits.read(15);this.bits.skip(1),n=(1073741824*E+32768*Q+h)/9e4,this.currentTime=n,-1===this.startTime&&(this.startTime=n)}var d=I?I-B-3:0;this.packetStart(C,n,d)}this.bits.index=r}if(s){var c=this.pesPacketInfo[s];if(c){var l=this.bits.index>>3,u=!t&&2&e;(this.packetAddData(c,l,A)||this.guessVideoFrameEnd&&u)&&this.packetComplete(c)}}}return this.bits.index=A<<3,!0},t.resync=function(){if(!this.bits.has(9024))return!1;for(var A=this.bits.index>>3,t=0;t<187;t++)if(71===this.bits.bytes[A+t]){for(var i=!0,e=1;e<5;e++)if(71!==this.bits.bytes[A+t+188*e]){i=!1;break}if(i)return this.bits.index=A+t+1<<3,!0}return console.warn("JSMpeg: Possible garbage data. Skipping."),this.bits.skip(1496),!1},t.packetStart=function(A,t,i){A.totalLength=i,A.currentLength=0,A.pts=t},t.packetAddData=function(A,t,i){return A.buffers.push(this.bits.bytes.subarray(t,i)),A.currentLength+=i-t,0!==A.totalLength&&A.currentLength>=A.totalLength},t.packetComplete=function(A){A.destination.write(A.pts,A.buffers),A.totalLength=0,A.currentLength=0,A.buffers=[]},A}();U.STREAM={PACK_HEADER:186,SYSTEM_HEADER:187,PROGRAM_MAP:188,PRIVATE_1:189,PADDING:190,PRIVATE_2:191,AUDIO_1:192,VIDEO_1:224,DIRECTORY:255};var J=function(){function A(A){this.destination=null,this.canPlay=!1,this.collectTimestamps=!A.streaming,this.bytesWritten=0,this.timestamps=[],this.timestampIndex=0,this.startTime=0,this.decodedTime=0,Object.defineProperty(this,"currentTime",{get:this.getCurrentTime})}var t=A.prototype;return t.destroy=function(){},t.connect=function(A){this.destination=A},t.bufferGetIndex=function(){return this.bits.index},t.bufferSetIndex=function(A){this.bits.index=A},t.bufferWrite=function(A){return this.bits.write(A)},t.write=function(A,t){this.collectTimestamps&&(0===this.timestamps.length&&(this.startTime=A,this.decodedTime=A),this.timestamps.push({index:this.bytesWritten<<3,time:A})),this.bytesWritten+=this.bufferWrite(t),this.canPlay=!0},t.seek=function(A){if(this.collectTimestamps){this.timestampIndex=0;for(var t=0;tA);t++)this.timestampIndex=t;var i=this.timestamps[this.timestampIndex];i?(this.bufferSetIndex(i.index),this.decodedTime=i.time):(this.bits.index=0,this.decodedTime=this.startTime)}},t.decode=function(){this.advanceDecodedTime(0)},t.advanceDecodedTime=function(A){if(this.collectTimestamps){for(var t=-1,i=this.bufferGetIndex(),e=this.timestampIndex;ei);e++)t=e;if(-1!==t&&t!==this.timestampIndex)return this.timestampIndex=t,void(this.decodedTime=this.timestamps[this.timestampIndex].time)}this.decodedTime+=A},t.getCurrentTime=function(){return this.decodedTime},A}(),T=function(A){function t(t){var i;(i=A.call(this,t)||this).onDecodeCallback=t.onVideoDecode;var e=t.videoBufferSize||524288,s=t.streaming?L.MODE.EVICT:L.MODE.EXPAND;return i.bits=new L(e,s),i.customIntraQuantMatrix=new Uint8Array(64),i.customNonIntraQuantMatrix=new Uint8Array(64),i.blockData=new Int32Array(64),i.currentFrame=0,i.decodeFirstFrame=!1!==t.decodeFirstFrame,i}u(t,A);var i=t.prototype;return i.write=function(A,i){if(J.prototype.write.call(this,A,i),!this.hasSequenceHeader){if(-1===this.bits.findStartCode(t.START.SEQUENCE))return!1;this.decodeSequenceHeader(),this.decodeFirstFrame&&this.decode()}},i.decode=function(){var A=G();if(!this.hasSequenceHeader)return!1;if(-1===this.bits.findStartCode(t.START.PICTURE))return!1;this.decodePicture(),this.advanceDecodedTime(1/this.frameRate);var i=G()-A;return this.onDecodeCallback&&this.onDecodeCallback(this,i),!0},i.readHuffman=function(A){var t=0;do{t=A[t+this.bits.read(1)]}while(t>=0&&0!==A[t]);return A[t+2]},i.decodeSequenceHeader=function(){var A=this.bits.read(12),i=this.bits.read(12);if(this.bits.skip(4),this.frameRate=t.PICTURE_RATE[this.bits.read(4)],this.bits.skip(30),A===this.width&&i===this.height||(this.width=A,this.height=i,this.initBuffers(),this.destination&&this.destination.resize(A,i)),this.bits.read(1)){for(var e=0;e<64;e++)this.customIntraQuantMatrix[t.ZIG_ZAG[e]]=this.bits.read(8);this.intraQuantMatrix=this.customIntraQuantMatrix}if(this.bits.read(1)){for(var s=0;s<64;s++){var o=t.ZIG_ZAG[s];this.customNonIntraQuantMatrix[o]=this.bits.read(8)}this.nonIntraQuantMatrix=this.customNonIntraQuantMatrix}this.hasSequenceHeader=!0},i.initBuffers=function(){this.intraQuantMatrix=t.DEFAULT_INTRA_QUANT_MATRIX,this.nonIntraQuantMatrix=t.DEFAULT_NON_INTRA_QUANT_MATRIX,this.mbWidth=this.width+15>>4,this.mbHeight=this.height+15>>4,this.mbSize=this.mbWidth*this.mbHeight,this.codedWidth=this.mbWidth<<4,this.codedHeight=this.mbHeight<<4,this.codedSize=this.codedWidth*this.codedHeight,this.halfWidth=this.mbWidth<<3,this.halfHeight=this.mbHeight<<3,this.currentY=new Uint8ClampedArray(this.codedSize),this.currentY32=new Uint32Array(this.currentY.buffer),this.currentCr=new Uint8ClampedArray(this.codedSize>>2),this.currentCr32=new Uint32Array(this.currentCr.buffer),this.currentCb=new Uint8ClampedArray(this.codedSize>>2),this.currentCb32=new Uint32Array(this.currentCb.buffer),this.forwardY=new Uint8ClampedArray(this.codedSize),this.forwardY32=new Uint32Array(this.forwardY.buffer),this.forwardCr=new Uint8ClampedArray(this.codedSize>>2),this.forwardCr32=new Uint32Array(this.forwardCr.buffer),this.forwardCb=new Uint8ClampedArray(this.codedSize>>2),this.forwardCb32=new Uint32Array(this.forwardCb.buffer)},i.decodePicture=function(){if(this.currentFrame++,this.bits.skip(10),this.pictureType=this.bits.read(3),this.bits.skip(16),!(this.pictureType<=0||this.pictureType>=t.PICTURE_TYPE.B)){if(this.pictureType===t.PICTURE_TYPE.PREDICTIVE){if(this.fullPelForward=this.bits.read(1),this.forwardFCode=this.bits.read(3),0===this.forwardFCode)return;this.forwardRSize=this.forwardFCode-1,this.forwardF=1<=t.START.SLICE_FIRST&&A<=t.START.SLICE_LAST;)this.decodeSlice(255&A),A=this.bits.findNextStartCode();if(-1!==A&&this.bits.rewind(32),this.destination&&this.destination.render(this.currentY,this.currentCr,this.currentCb,!0),this.pictureType===t.PICTURE_TYPE.INTRA||this.pictureType===t.PICTURE_TYPE.PREDICTIVE){var i=this.forwardY,e=this.forwardY32,s=this.forwardCr,o=this.forwardCr32,g=this.forwardCb,I=this.forwardCb32;this.forwardY=this.currentY,this.forwardY32=this.currentY32,this.forwardCr=this.currentCr,this.forwardCr32=this.currentCr32,this.forwardCb=this.currentCb,this.forwardCb32=this.currentCb32,this.currentY=i,this.currentY32=e,this.currentCr=s,this.currentCr32=o,this.currentCb=g,this.currentCb32=I}}},i.decodeSlice=function(A){for(this.sliceBegin=!0,this.macroblockAddress=(A-1)*this.mbWidth-1,this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0,this.dcPredictorY=128,this.dcPredictorCr=128,this.dcPredictorCb=128,this.quantizerScale=this.bits.read(5);this.bits.read(1);)this.bits.skip(8);do{this.decodeMacroblock()}while(!this.bits.nextBytesAreStartCode())},i.decodeMacroblock=function(){for(var A=0,i=this.readHuffman(t.MACROBLOCK_ADDRESS_INCREMENT);34===i;)i=this.readHuffman(t.MACROBLOCK_ADDRESS_INCREMENT);for(;35===i;)A+=33,i=this.readHuffman(t.MACROBLOCK_ADDRESS_INCREMENT);if(A+=i,this.sliceBegin)this.sliceBegin=!1,this.macroblockAddress+=A;else{if(this.macroblockAddress+A>=this.mbSize)return;for(A>1&&(this.dcPredictorY=128,this.dcPredictorCr=128,this.dcPredictorCb=128,this.pictureType===t.PICTURE_TYPE.PREDICTIVE&&(this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0));A>1;)this.macroblockAddress++,this.mbRow=this.macroblockAddress/this.mbWidth|0,this.mbCol=this.macroblockAddress%this.mbWidth,this.copyMacroblock(this.motionFwH,this.motionFwV,this.forwardY,this.forwardCr,this.forwardCb),A--;this.macroblockAddress++}this.mbRow=this.macroblockAddress/this.mbWidth|0,this.mbCol=this.macroblockAddress%this.mbWidth;var e=t.MACROBLOCK_TYPE[this.pictureType];this.macroblockType=this.readHuffman(e),this.macroblockIntra=1&this.macroblockType,this.macroblockMotFw=8&this.macroblockType,0!=(16&this.macroblockType)&&(this.quantizerScale=this.bits.read(5)),this.macroblockIntra?(this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0):(this.dcPredictorY=128,this.dcPredictorCr=128,this.dcPredictorCb=128,this.decodeMotionVectors(),this.copyMacroblock(this.motionFwH,this.motionFwV,this.forwardY,this.forwardCr,this.forwardCb));for(var s=0!=(2&this.macroblockType)?this.readHuffman(t.CODE_BLOCK_PATTERN):this.macroblockIntra?63:0,o=0,g=32;o<6;o++)0!=(s&g)&&this.decodeBlock(o),g>>=1},i.decodeMotionVectors=function(){var A,i,e=0;this.macroblockMotFw?(0!==(A=this.readHuffman(t.MOTION))&&1!==this.forwardF?(e=this.bits.read(this.forwardRSize),i=(Math.abs(A)-1<(this.forwardF<<4)-1?this.motionFwHPrev-=this.forwardF<<5:this.motionFwHPrev<-this.forwardF<<4&&(this.motionFwHPrev+=this.forwardF<<5),this.motionFwH=this.motionFwHPrev,this.fullPelForward&&(this.motionFwH<<=1),0!==(A=this.readHuffman(t.MOTION))&&1!==this.forwardF?(e=this.bits.read(this.forwardRSize),i=(Math.abs(A)-1<(this.forwardF<<4)-1?this.motionFwVPrev-=this.forwardF<<5:this.motionFwVPrev<-this.forwardF<<4&&(this.motionFwVPrev+=this.forwardF<<5),this.motionFwV=this.motionFwVPrev,this.fullPelForward&&(this.motionFwV<<=1)):this.pictureType===t.PICTURE_TYPE.PREDICTIVE&&(this.motionFwH=this.motionFwHPrev=0,this.motionFwV=this.motionFwVPrev=0)},i.copyMacroblock=function(A,t,i,e,s){var o,g,I,a,B,r,C,n,E,Q,h,d,c,l,u,w,p,D,m,f=this.currentY32,y=this.currentCb32,R=this.currentCr32;if(g=(o=this.codedWidth)-16,I=A>>1,a=t>>1,B=1==(1&A),r=1==(1&t),C=((this.mbRow<<4)+a)*o+(this.mbCol<<4)+I,E=(n=this.mbRow*o+this.mbCol<<2)+(o<<2),B)if(r)for(;n>2&255,c|=(h=i[++C]+i[C+o])+d+2<<6&65280,c|=h+(d=i[++C]+i[C+o])+2<<14&16711680,h=i[++C]+i[C+o],C++,c|=h+d+2<<22&4278190080,f[n++]=c;n+=g>>2,C+=g-1}else for(;n>1&255,c|=(h=i[C++])+d+1<<7&65280,c|=h+(d=i[C++])+1<<15&16711680,c|=(h=i[C++])+d+1<<23&4278190080,f[n++]=c;n+=g>>2,C+=g-1}else if(r)for(;n>1&255,c|=i[++C]+i[C+o]+1<<7&65280,c|=i[++C]+i[C+o]+1<<15&16711680,c|=i[++C]+i[C+o]+1<<23&4278190080,C++,f[n++]=c;n+=g>>2,C+=g}else for(;n>2,C+=g}if(g=(o=this.halfWidth)-8,I=A/2>>1,a=t/2>>1,B=1==(A/2&1),r=1==(t/2&1),C=((this.mbRow<<3)+a)*o+(this.mbCol<<3)+I,E=(n=this.mbRow*o+this.mbCol<<1)+(o<<1),B)if(r)for(;n>2&255,m=p+(D=s[C]+s[C+o])+2>>2&255,w|=(l=e[++C]+e[C+o])+u+2<<6&65280,m|=(p=s[C]+s[C+o])+D+2<<6&65280,w|=l+(u=e[++C]+e[C+o])+2<<14&16711680,m|=p+(D=s[C]+s[C+o])+2<<14&16711680,l=e[++C]+e[C+o],p=s[C]+s[C+o],C++,w|=l+u+2<<22&4278190080,m|=p+D+2<<22&4278190080,R[n]=w,y[n]=m,n++;n+=g>>2,C+=g-1}else for(;n>1&255,m=p+(D=s[C++])+1>>1&255,w|=(l=e[C])+u+1<<7&65280,m|=(p=s[C++])+D+1<<7&65280,w|=l+(u=e[C])+1<<15&16711680,m|=p+(D=s[C++])+1<<15&16711680,w|=(l=e[C])+u+1<<23&4278190080,m|=(p=s[C++])+D+1<<23&4278190080,R[n]=w,y[n]=m,n++;n+=g>>2,C+=g-1}else if(r)for(;n>1&255,m=s[C]+s[C+o]+1>>1&255,w|=e[++C]+e[C+o]+1<<7&65280,m|=s[C]+s[C+o]+1<<7&65280,w|=e[++C]+e[C+o]+1<<15&16711680,m|=s[C]+s[C+o]+1<<15&16711680,w|=e[++C]+e[C+o]+1<<23&4278190080,m|=s[C]+s[C+o]+1<<23&4278190080,C++,R[n]=w,y[n]=m,n++;n+=g>>2,C+=g}else for(;n>2,C+=g}},i.decodeBlock=function(A){var i,e=0;if(this.macroblockIntra){var s,o;if(A<4?(s=this.dcPredictorY,o=this.readHuffman(t.DCT_DC_SIZE_LUMINANCE)):(s=4===A?this.dcPredictorCr:this.dcPredictorCb,o=this.readHuffman(t.DCT_DC_SIZE_CHROMINANCE)),o>0){var g=this.bits.read(o);this.blockData[0]=0!=(g&1<0&&0===this.bits.read(1))break;65535===n?(C=this.bits.read(6),0===(r=this.bits.read(8))?r=this.bits.read(8):128===r?r=this.bits.read(8)-256:r>128&&(r-=256)):(C=n>>8,r=255&n,this.bits.read(1)&&(r=-r)),e+=C;var E=t.ZIG_ZAG[e];e++,r<<=1,this.macroblockIntra||(r+=r<0?-1:1),0==(1&(r=r*this.quantizerScale*i[E]>>4))&&(r-=r>0?1:-1),r>2047?r=2047:r<-2048&&(r=-2048),this.blockData[E]=r*t.PREMULTIPLIER_MATRIX[E]}A<4?(I=this.currentY,B=this.codedWidth-8,a=this.mbRow*this.codedWidth+this.mbCol<<4,0!=(1&A)&&(a+=8),0!=(2&A)&&(a+=this.codedWidth<<3)):(I=4===A?this.currentCb:this.currentCr,B=(this.codedWidth>>1)-8,a=(this.mbRow*this.codedWidth<<2)+(this.mbCol<<3)),this.macroblockIntra?1===e?(t.CopyValueToDestination(this.blockData[0]+128>>8,I,a,B),this.blockData[0]=0):(t.IDCT(this.blockData),t.CopyBlockToDestination(this.blockData,I,a,B),S(this.blockData,0)):1===e?(t.AddValueToDestination(this.blockData[0]+128>>8,I,a,B),this.blockData[0]=0):(t.IDCT(this.blockData),t.AddBlockToDestination(this.blockData,I,a,B),S(this.blockData,0)),e=0},t.CopyBlockToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]=A[s+0],t[i+1]=A[s+1],t[i+2]=A[s+2],t[i+3]=A[s+3],t[i+4]=A[s+4],t[i+5]=A[s+5],t[i+6]=A[s+6],t[i+7]=A[s+7]},t.AddBlockToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]+=A[s+0],t[i+1]+=A[s+1],t[i+2]+=A[s+2],t[i+3]+=A[s+3],t[i+4]+=A[s+4],t[i+5]+=A[s+5],t[i+6]+=A[s+6],t[i+7]+=A[s+7]},t.CopyValueToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]=A,t[i+1]=A,t[i+2]=A,t[i+3]=A,t[i+4]=A,t[i+5]=A,t[i+6]=A,t[i+7]=A},t.AddValueToDestination=function(A,t,i,e){for(var s=0;s<64;s+=8,i+=e+8)t[i+0]+=A,t[i+1]+=A,t[i+2]+=A,t[i+3]+=A,t[i+4]+=A,t[i+5]+=A,t[i+6]+=A,t[i+7]+=A},t.IDCT=function(A){for(var t,i,e,s,o,g,I,a,B,r,C,n,E,Q,h,d,c,l,u=0;u<8;++u)t=A[32+u],i=A[16+u]+A[48+u],e=A[40+u]-A[24+u],g=A[8+u]+A[56+u],I=A[24+u]+A[40+u],B=(E=(473*(s=A[8+u]-A[56+u])-196*e+128>>8)-(o=g+I))-(362*(g-I)+128>>8),Q=(r=(a=A[0+u])-t)+(C=(362*(A[16+u]-A[48+u])+128>>8)-i),h=(n=a+t)+i,d=r-C,c=n-i,l=-B-(473*e+196*s+128>>8),A[0+u]=o+h,A[8+u]=E+Q,A[16+u]=d-B,A[24+u]=c-l,A[32+u]=c+l,A[40+u]=B+d,A[48+u]=Q-E,A[56+u]=h-o;for(var w=0;w<64;w+=8)t=A[4+w],i=A[2+w]+A[6+w],e=A[5+w]-A[3+w],g=A[1+w]+A[7+w],I=A[3+w]+A[5+w],B=(E=(473*(s=A[1+w]-A[7+w])-196*e+128>>8)-(o=g+I))-(362*(g-I)+128>>8),Q=(r=(a=A[0+w])-t)+(C=(362*(A[2+w]-A[6+w])+128>>8)-i),h=(n=a+t)+i,d=r-C,c=n-i,l=-B-(473*e+196*s+128>>8),A[0+w]=o+h+128>>8,A[1+w]=E+Q+128>>8,A[2+w]=d-B+128>>8,A[3+w]=c-l+128>>8,A[4+w]=c+l+128>>8,A[5+w]=B+d+128>>8,A[6+w]=Q-E+128>>8,A[7+w]=h-o+128>>8},t}(J);T.prototype.frameRate=30,T.prototype.currentY=null,T.prototype.currentCr=null,T.prototype.currentCb=null,T.prototype.pictureType=0,T.prototype.forwardY=null,T.prototype.forwardCr=null,T.prototype.forwardCb=null,T.prototype.fullPelForward=!1,T.prototype.forwardFCode=0,T.prototype.forwardRSize=0,T.prototype.forwardF=0,T.prototype.quantizerScale=0,T.prototype.sliceBegin=!1,T.prototype.macroblockAddress=0,T.prototype.mbRow=0,T.prototype.mbCol=0,T.prototype.macroblockType=0,T.prototype.macroblockIntra=!1,T.prototype.macroblockMotFw=!1,T.prototype.motionFwH=0,T.prototype.motionFwV=0,T.prototype.motionFwHPrev=0,T.prototype.motionFwVPrev=0,T.prototype.dcPredictorY=0,T.prototype.dcPredictorCr=0,T.prototype.dcPredictorCb=0,T.prototype.blockData=null,T.PICTURE_RATE=[0,23.976,24,25,29.97,30,50,59.94,60,0,0,0,0,0,0,0],T.ZIG_ZAG=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),T.DEFAULT_INTRA_QUANT_MATRIX=new Uint8Array([8,16,19,22,26,27,29,34,16,16,22,24,27,29,34,37,19,22,26,27,29,34,34,38,22,22,26,27,29,34,37,40,22,26,27,29,32,35,40,48,26,27,29,32,35,40,48,58,26,27,29,34,38,46,56,69,27,29,35,38,46,56,69,83]),T.DEFAULT_NON_INTRA_QUANT_MATRIX=new Uint8Array([16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16]),T.PREMULTIPLIER_MATRIX=new Uint8Array([32,44,42,38,32,25,17,9,44,62,58,52,44,35,24,12,42,58,55,49,42,33,23,12,38,52,49,44,38,30,20,10,32,44,42,38,32,25,17,9,25,35,33,30,25,20,14,7,17,24,23,20,17,14,9,5,9,12,12,10,9,7,5,2]),T.MACROBLOCK_ADDRESS_INCREMENT=new Int16Array([3,6,0,9,12,0,0,0,1,15,18,0,21,24,0,27,30,0,33,36,0,0,0,3,0,0,2,39,42,0,45,48,0,0,0,5,0,0,4,51,54,0,57,60,0,0,0,7,0,0,6,63,66,0,69,72,0,75,78,0,81,84,0,-1,87,0,-1,90,0,93,96,0,99,102,0,105,108,0,111,114,0,0,0,9,0,0,8,117,120,0,123,126,0,129,132,0,135,138,0,0,0,15,0,0,14,0,0,13,0,0,12,0,0,11,0,0,10,141,-1,0,-1,144,0,147,150,0,153,156,0,159,162,0,165,168,0,171,174,0,177,180,0,183,-1,0,-1,186,0,189,192,0,195,198,0,201,204,0,207,210,0,213,216,0,219,222,0,0,0,21,0,0,20,0,0,19,0,0,18,0,0,17,0,0,16,0,0,35,0,0,34,0,0,33,0,0,32,0,0,31,0,0,30,0,0,29,0,0,28,0,0,27,0,0,26,0,0,25,0,0,24,0,0,23,0,0,22]),T.MACROBLOCK_TYPE_INTRA=new Int8Array([3,6,0,-1,9,0,0,0,1,0,0,17]),T.MACROBLOCK_TYPE_PREDICTIVE=new Int8Array([3,6,0,9,12,0,0,0,10,15,18,0,0,0,2,21,24,0,0,0,8,27,30,0,33,36,0,-1,39,0,0,0,18,0,0,26,0,0,1,0,0,17]),T.MACROBLOCK_TYPE_B=new Int8Array([3,6,0,9,15,0,12,18,0,24,21,0,0,0,12,27,30,0,0,0,14,39,42,0,36,33,0,0,0,4,0,0,6,54,48,0,45,51,0,0,0,8,0,0,10,-1,57,0,0,0,1,60,63,0,0,0,30,0,0,17,0,0,22,0,0,26]),T.MACROBLOCK_TYPE=[null,T.MACROBLOCK_TYPE_INTRA,T.MACROBLOCK_TYPE_PREDICTIVE,T.MACROBLOCK_TYPE_B],T.CODE_BLOCK_PATTERN=new Int16Array([6,3,0,9,18,0,12,15,0,24,33,0,36,39,0,27,21,0,30,42,0,60,57,0,54,48,0,69,51,0,81,75,0,63,84,0,45,66,0,72,78,0,0,0,60,105,120,0,132,144,0,114,108,0,126,141,0,87,93,0,117,96,0,0,0,32,135,138,0,99,123,0,129,102,0,0,0,4,90,111,0,0,0,8,0,0,16,0,0,44,150,168,0,0,0,28,0,0,52,0,0,62,183,177,0,156,180,0,0,0,1,165,162,0,0,0,61,0,0,56,171,174,0,0,0,2,0,0,40,153,186,0,0,0,48,192,189,0,147,159,0,0,0,20,0,0,12,240,249,0,0,0,63,231,225,0,195,219,0,252,198,0,0,0,24,0,0,36,0,0,3,207,261,0,243,237,0,204,213,0,210,234,0,201,228,0,216,222,0,258,255,0,264,246,0,-1,282,0,285,291,0,0,0,33,0,0,9,318,330,0,306,348,0,0,0,5,0,0,10,279,267,0,0,0,6,0,0,18,0,0,17,0,0,34,339,357,0,309,312,0,270,276,0,327,321,0,351,354,0,303,297,0,294,288,0,300,273,0,342,345,0,315,324,0,336,333,0,363,375,0,0,0,41,0,0,14,0,0,21,372,366,0,360,369,0,0,0,11,0,0,19,0,0,7,0,0,35,0,0,13,0,0,50,0,0,49,0,0,58,0,0,37,0,0,25,0,0,45,0,0,57,0,0,26,0,0,29,0,0,38,0,0,53,0,0,23,0,0,43,0,0,46,0,0,42,0,0,22,0,0,54,0,0,51,0,0,15,0,0,30,0,0,39,0,0,47,0,0,55,0,0,27,0,0,59,0,0,31]),T.MOTION=new Int16Array([3,6,0,12,9,0,0,0,0,18,15,0,24,21,0,0,0,-1,0,0,1,27,30,0,36,33,0,0,0,2,0,0,-2,42,45,0,48,39,0,60,54,0,0,0,3,0,0,-3,51,57,0,-1,69,0,81,75,0,78,63,0,72,66,0,96,84,0,87,93,0,-1,99,0,108,105,0,0,0,-4,90,102,0,0,0,4,0,0,-7,0,0,5,111,123,0,0,0,-5,0,0,7,114,120,0,126,117,0,0,0,-6,0,0,6,153,162,0,150,147,0,135,138,0,156,141,0,129,159,0,132,144,0,0,0,10,0,0,9,0,0,8,0,0,-8,171,198,0,0,0,-9,180,192,0,168,183,0,165,186,0,174,189,0,0,0,-10,177,195,0,0,0,12,0,0,16,0,0,13,0,0,14,0,0,11,0,0,15,0,0,-16,0,0,-12,0,0,-14,0,0,-15,0,0,-11,0,0,-13]),T.DCT_DC_SIZE_LUMINANCE=new Int8Array([6,3,0,18,15,0,9,12,0,0,0,1,0,0,2,27,24,0,21,30,0,0,0,0,36,33,0,0,0,4,0,0,3,39,42,0,0,0,5,0,0,6,48,45,0,51,-1,0,0,0,7,0,0,8]),T.DCT_DC_SIZE_CHROMINANCE=new Int8Array([6,3,0,12,9,0,18,15,0,24,21,0,0,0,2,0,0,1,0,0,0,30,27,0,0,0,3,36,33,0,0,0,4,42,39,0,0,0,5,48,45,0,0,0,6,51,-1,0,0,0,7,0,0,8]),T.DCT_COEFF=new Int32Array([3,6,0,12,9,0,0,0,1,21,24,0,18,15,0,39,27,0,33,30,0,42,36,0,0,0,257,60,66,0,54,63,0,48,57,0,0,0,513,51,45,0,0,0,2,0,0,3,81,75,0,87,93,0,72,78,0,96,90,0,0,0,1025,69,84,0,0,0,769,0,0,258,0,0,1793,0,0,65535,0,0,1537,111,108,0,0,0,1281,105,102,0,117,114,0,99,126,0,120,123,0,156,150,0,162,159,0,144,147,0,129,135,0,138,132,0,0,0,2049,0,0,4,0,0,514,0,0,2305,153,141,0,165,171,0,180,168,0,177,174,0,183,186,0,0,0,2561,0,0,3329,0,0,6,0,0,259,0,0,5,0,0,770,0,0,2817,0,0,3073,228,225,0,201,210,0,219,213,0,234,222,0,216,231,0,207,192,0,204,189,0,198,195,0,243,261,0,273,240,0,246,237,0,249,258,0,279,276,0,252,255,0,270,282,0,264,267,0,0,0,515,0,0,260,0,0,7,0,0,1026,0,0,1282,0,0,4097,0,0,3841,0,0,3585,315,321,0,333,342,0,312,291,0,375,357,0,288,294,0,-1,369,0,285,303,0,318,363,0,297,306,0,339,309,0,336,348,0,330,300,0,372,345,0,351,366,0,327,354,0,360,324,0,381,408,0,417,420,0,390,378,0,435,438,0,384,387,0,0,0,2050,396,402,0,465,462,0,0,0,8,411,399,0,429,432,0,453,414,0,426,423,0,0,0,10,0,0,9,0,0,11,0,0,5377,0,0,1538,0,0,771,0,0,5121,0,0,1794,0,0,4353,0,0,4609,0,0,4865,444,456,0,0,0,1027,459,450,0,0,0,261,393,405,0,0,0,516,447,441,0,516,519,0,486,474,0,510,483,0,504,498,0,471,537,0,507,501,0,522,513,0,534,531,0,468,477,0,492,495,0,549,546,0,525,528,0,0,0,263,0,0,2562,0,0,2306,0,0,5633,0,0,5889,0,0,6401,0,0,6145,0,0,1283,0,0,772,0,0,13,0,0,12,0,0,14,0,0,15,0,0,517,0,0,6657,0,0,262,540,543,0,480,489,0,588,597,0,0,0,27,609,555,0,606,603,0,0,0,19,0,0,22,591,621,0,0,0,18,573,576,0,564,570,0,0,0,20,552,582,0,0,0,21,558,579,0,0,0,23,612,594,0,0,0,25,0,0,24,600,615,0,0,0,31,0,0,30,0,0,28,0,0,29,0,0,26,0,0,17,0,0,16,567,618,0,561,585,0,654,633,0,0,0,37,645,648,0,0,0,36,630,636,0,0,0,34,639,627,0,663,666,0,657,624,0,651,642,0,669,660,0,0,0,35,0,0,267,0,0,40,0,0,268,0,0,266,0,0,32,0,0,264,0,0,265,0,0,38,0,0,269,0,0,270,0,0,33,0,0,39,0,0,7937,0,0,6913,0,0,7681,0,0,4098,0,0,7425,0,0,7169,0,0,271,0,0,274,0,0,273,0,0,272,0,0,1539,0,0,2818,0,0,3586,0,0,3330,0,0,3074,0,0,3842]),T.PICTURE_TYPE={INTRA:1,PREDICTIVE:2,B:3},T.START={SEQUENCE:179,SLICE_FIRST:1,SLICE_LAST:175,PICTURE:0,EXTENSION:181,USER_DATA:178};var v=function(A){function t(t){var i;return(i=A.call(this,t)||this).onDecodeCallback=t.onVideoDecode,i.module=t.wasmModule,i.bufferSize=t.videoBufferSize||524288,i.bufferMode=t.streaming?L.MODE.EVICT:L.MODE.EXPAND,i.decodeFirstFrame=!1!==t.decodeFirstFrame,i.hasSequenceHeader=!1,i}u(t,A);var i=t.prototype;return i.initializeWasmDecoder=function(){this.module.instance?(this.instance=this.module.instance,this.functions=this.module.instance.exports,this.decoder=this.functions._mpeg1_decoder_create(this.bufferSize,this.bufferMode)):console.warn("JSMpeg: WASM module not compiled yet")},i.destroy=function(){this.decoder&&this.functions._mpeg1_decoder_destroy(this.decoder)},i.bufferGetIndex=function(){if(this.decoder)return this.functions._mpeg1_decoder_get_index(this.decoder)},i.bufferSetIndex=function(A){this.decoder&&this.functions._mpeg1_decoder_set_index(this.decoder,A)},i.bufferWrite=function(A){this.decoder||this.initializeWasmDecoder();for(var t=0,i=0;i>2)),g=this.instance.heapU8.subarray(e,e+(this.codedSize>>2));this.destination.render(s,o,g,!1)}this.advanceDecodedTime(1/this.frameRate);var I=G()-A;return this.onDecodeCallback&&this.onDecodeCallback(this,I),!0},t}(J),x=function(A){function t(i){var e;(e=A.call(this,i)||this).onDecodeCallback=i.onAudioDecode;var s=i.audioBufferSize||131072,o=i.streaming?L.MODE.EVICT:L.MODE.EXPAND;e.bits=new L(s,o),e.left=new Float32Array(1152),e.right=new Float32Array(1152),e.sampleRate=44100,e.D=new Float32Array(1024),e.D.set(t.SYNTHESIS_WINDOW,0),e.D.set(t.SYNTHESIS_WINDOW,512),e.V=[new Float32Array(1024),new Float32Array(1024)],e.U=new Int32Array(32),e.VPos=0,e.allocation=[new Array(32),new Array(32)],e.scaleFactorInfo=[new Uint8Array(32),new Uint8Array(32)],e.scaleFactor=[new Array(32),new Array(32)],e.sample=[new Array(32),new Array(32)];for(var g=0;g<2;g++)for(var I=0;I<32;I++)e.scaleFactor[g][I]=[0,0,0],e.sample[g][I]=[0,0,0];return e}u(t,A);var i=t.prototype;return i.decode=function(){var A=G(),t=this.bits.index>>3;if(t>=this.bits.byteLength)return!1;var i=this.decodeFrame(this.left,this.right);if(this.bits.index=t+i<<3,!i)return!1;this.destination&&this.destination.play(this.sampleRate,this.left,this.right),this.advanceDecodedTime(this.left.length/this.sampleRate);var e=G()-A;return this.onDecodeCallback&&this.onDecodeCallback(this,e),!0},i.getCurrentTime=function(){var A=this.destination?this.destination.enqueuedTime:0;return this.decodedTime-A},i.decodeFrame=function(A,i){var e=this.bits.read(11),s=this.bits.read(2),o=this.bits.read(2),g=!this.bits.read(1);if(e!==t.FRAME_SYNC||s!==t.VERSION.MPEG_1||o!==t.LAYER.II)return 0;var I=this.bits.read(4)-1;if(I>13)return 0;var a=this.bits.read(2),B=t.SAMPLE_RATE[a];if(3===a)return 0;s===t.VERSION.MPEG_2&&(a+=4,I+=14);var r=this.bits.read(1);this.bits.read(1);var C=this.bits.read(2),n=0;C===t.MODE.JOINT_STEREO?n=this.bits.read(2)+1<<2:(this.bits.skip(2),n=C===t.MODE.MONO?0:32),this.bits.skip(4),g&&this.bits.skip(16);var E=144e3*t.BIT_RATE[I]/(B=t.SAMPLE_RATE[a])+r|0,Q=0,h=0;if(s===t.VERSION.MPEG_2)Q=2,h=30;else{var d=C===t.MODE.MONO?0:1,c=t.QUANT_LUT_STEP_1[d][I];h=63&(Q=t.QUANT_LUT_STEP_2[c][a]),Q>>=6}n>h&&(n=h);for(var l=0;l>1),U=this.VPos%128>>1;U<1024;){for(var J=0;J<32;++J)this.U[J]+=this.D[L++]*this.V[N][U++];U+=96,L+=32}for(U=1120-U,L-=480;U<1024;){for(var T=0;T<32;++T)this.U[T]+=this.D[L++]*this.V[N][U++];U+=96,L+=32}for(var v=0===N?A:i,x=0;x<32;x++)v[R+x]=this.U[x]/2147418112}R+=32}}return this.sampleRate=B,E},i.readAllocation=function(A,i){var e=t.QUANT_LUT_STEP_3[i][A],s=t.QUANT_LUT_STEP4[15&e][this.bits.read(e>>4)];return s?t.QUANT_TAB[s-1]:0},i.readSamples=function(A,i,e){var s=this.allocation[A][i],o=this.scaleFactor[A][i][e],g=this.sample[A][i],I=0;if(s){if(63===o)o=0;else{var a=o/3|0;o=t.SCALEFACTOR_BASE[o%3]+(1<
>1)>>a}var B=s.levels;s.group?(I=this.bits.read(s.bits),g[0]=I%B,I=I/B|0,g[1]=I%B,g[2]=I/B|0):(g[0]=this.bits.read(s.bits),g[1]=this.bits.read(s.bits),g[2]=this.bits.read(s.bits));var r=65536/(B+1)|0;I=((B=(B+1>>1)-1)-g[0])*r,g[0]=I*(o>>12)+(I*(4095&o)+2048>>12)>>12,I=(B-g[1])*r,g[1]=I*(o>>12)+(I*(4095&o)+2048>>12)>>12,I=(B-g[2])*r,g[2]=I*(o>>12)+(I*(4095&o)+2048>>12)>>12}else g[0]=g[1]=g[2]=0},t.MatrixTransform=function(A,t,i,e){var s,o,g,I,a,B,r,C,n,E,Q,h,d,c,l,u,w,p,D,m,f,y,R,k,b,G,S,F,M,q,N,L,U;s=A[0][t]+A[31][t],o=.500602998235*(A[0][t]-A[31][t]),g=A[1][t]+A[30][t],I=.505470959898*(A[1][t]-A[30][t]),a=A[2][t]+A[29][t],B=.515447309923*(A[2][t]-A[29][t]),r=A[3][t]+A[28][t],C=.53104259109*(A[3][t]-A[28][t]),n=A[4][t]+A[27][t],E=.553103896034*(A[4][t]-A[27][t]),Q=A[5][t]+A[26][t],h=.582934968206*(A[5][t]-A[26][t]),d=A[6][t]+A[25][t],c=.622504123036*(A[6][t]-A[25][t]),l=A[7][t]+A[24][t],u=.674808341455*(A[7][t]-A[24][t]),w=A[8][t]+A[23][t],p=.744536271002*(A[8][t]-A[23][t]),D=A[9][t]+A[22][t],m=.839349645416*(A[9][t]-A[22][t]),f=A[10][t]+A[21][t],y=.972568237862*(A[10][t]-A[21][t]),R=A[11][t]+A[20][t],k=1.16943993343*(A[11][t]-A[20][t]),b=A[12][t]+A[19][t],G=1.48416461631*(A[12][t]-A[19][t]),S=A[13][t]+A[18][t],F=2.05778100995*(A[13][t]-A[18][t]),M=A[14][t]+A[17][t],q=3.40760841847*(A[14][t]-A[17][t]),U=s+(N=A[15][t]+A[16][t]),N=.502419286188*(s-N),s=g+M,M=.52249861494*(g-M),g=a+S,S=.566944034816*(a-S),a=r+b,b=.64682178336*(r-b),r=n+R,R=.788154623451*(n-R),n=Q+f,f=1.06067768599*(Q-f),Q=d+D,D=1.72244709824*(d-D),d=l+w,w=5.10114861869*(l-w),l=U+d,d=.509795579104*(U-d),U=s+Q,s=.601344886935*(s-Q),Q=g+n,n=.899976223136*(g-n),g=a+r,r=2.56291544774*(a-r),a=l+g,l=.541196100146*(l-g),g=U+Q,Q=1.30656296488*(U-Q),U=a+g,a=.707106781187*(a-g),g=l+Q,g+=l=.707106781187*(l-Q),Q=d+r,d=.541196100146*(d-r),r=s+n,n=1.30656296488*(s-n),s=Q+r,r=.707106781187*(Q-r),Q=d+n,s+=Q+=d=.707106781187*(d-n),Q+=r,r+=d,n=N+w,N=.509795579104*(N-w),w=M+D,M=.601344886935*(M-D),D=S+f,f=.899976223136*(S-f),S=b+R,R=2.56291544774*(b-R),b=n+S,n=.541196100146*(n-S),S=w+D,D=1.30656296488*(w-D),w=b+S,S=.707106781187*(b-S),b=n+D,D=.707106781187*(n-D),n=N+R,N=.541196100146*(N-R),R=M+f,f=1.30656296488*(M-f),M=n+R,R=.707106781187*(n-R),n=N+f,w+=M+=n+=N=.707106781187*(N-f),M+=b+=D,b+=n+=R,n+=S,S+=R+=N,R+=D,D+=N,f=o+(L=10.1900081235*(A[15][t]-A[16][t])),o=.502419286188*(o-L),L=I+q,I=.52249861494*(I-q),q=B+F,F=.566944034816*(B-F),B=C+G,C=.64682178336*(C-G),G=E+k,E=.788154623451*(E-k),k=h+y,y=1.06067768599*(h-y),h=c+m,m=1.72244709824*(c-m),c=u+p,u=5.10114861869*(u-p),p=f+c,c=.509795579104*(f-c),f=L+h,L=.601344886935*(L-h),h=q+k,k=.899976223136*(q-k),q=B+G,G=2.56291544774*(B-G),B=p+q,p=.541196100146*(p-q),q=f+h,h=1.30656296488*(f-h),f=B+q,q=.707106781187*(B-q),B=p+h,h=.707106781187*(p-h),p=c+G,G=.541196100146*(c-G),c=L+k,k=1.30656296488*(L-k),L=p+c,c=.707106781187*(p-c),p=G+k,L+=p+=k=.707106781187*(G-k),p+=c,G=c+k,c=o+u,o=.509795579104*(o-u),u=I+m,I=.601344886935*(I-m),m=F+y,y=.899976223136*(F-y),F=C+E,E=2.56291544774*(C-E),C=c+F,c=.541196100146*(c-F),F=u+m,m=1.30656296488*(u-m),u=C+F,F=.707106781187*(C-F),C=c+m,m=.707106781187*(c-m),c=o+E,o=.541196100146*(o-E),E=I+y,y=1.30656296488*(I-y),I=c+E,E=.707106781187*(c-E),c=o+y,f+=u+=I+=c+=o=.707106781187*(o-y),u+=L,L+=I+=C+=m,I+=B+=h,B+=C+=c+=E,C+=p,p+=c+=F,c+=q,q+=F+=E+=o,F+=G,G+=E+=m,E+=h,h+=m+=o,m+=k,k+=o,i[e+48]=-U,i[e+49]=i[e+47]=-f,i[e+50]=i[e+46]=-w,i[e+51]=i[e+45]=-u,i[e+52]=i[e+44]=-s,i[e+53]=i[e+43]=-L,i[e+54]=i[e+42]=-M,i[e+55]=i[e+41]=-I,i[e+56]=i[e+40]=-g,i[e+57]=i[e+39]=-B,i[e+58]=i[e+38]=-b,i[e+59]=i[e+37]=-C,i[e+60]=i[e+36]=-Q,i[e+61]=i[e+35]=-p,i[e+62]=i[e+34]=-n,i[e+63]=i[e+33]=-c,i[e+32]=-a,i[e+0]=a,i[e+31]=-q,i[e+1]=q,i[e+30]=-S,i[e+2]=S,i[e+29]=-F,i[e+3]=F,i[e+28]=-r,i[e+4]=r,i[e+27]=-G,i[e+5]=G,i[e+26]=-R,i[e+6]=R,i[e+25]=-E,i[e+7]=E,i[e+24]=-l,i[e+8]=l,i[e+23]=-h,i[e+9]=h,i[e+22]=-D,i[e+10]=D,i[e+21]=-m,i[e+11]=m,i[e+20]=-d,i[e+12]=d,i[e+19]=-k,i[e+13]=k,i[e+18]=-N,i[e+14]=N,i[e+17]=-o,i[e+15]=o,i[e+16]=0},t}(J);x.FRAME_SYNC=2047,x.VERSION={MPEG_2_5:0,MPEG_2:2,MPEG_1:3},x.LAYER={III:1,II:2,I:3},x.MODE={STEREO:0,JOINT_STEREO:1,DUAL_CHANNEL:2,MONO:3},x.SAMPLE_RATE=new Uint16Array([44100,48e3,32e3,0,22050,24e3,16e3,0]),x.BIT_RATE=new Uint16Array([32,48,56,64,80,96,112,128,160,192,224,256,320,384,8,16,24,32,40,48,56,64,80,96,112,128,144,160]),x.SCALEFACTOR_BASE=new Uint32Array([33554432,26632170,21137968]),x.SYNTHESIS_WINDOW=new Float32Array([0,-.5,-.5,-.5,-.5,-.5,-.5,-1,-1,-1,-1,-1.5,-1.5,-2,-2,-2.5,-2.5,-3,-3.5,-3.5,-4,-4.5,-5,-5.5,-6.5,-7,-8,-8.5,-9.5,-10.5,-12,-13,-14.5,-15.5,-17.5,-19,-20.5,-22.5,-24.5,-26.5,-29,-31.5,-34,-36.5,-39.5,-42.5,-45.5,-48.5,-52,-55.5,-58.5,-62.5,-66,-69.5,-73.5,-77,-80.5,-84.5,-88,-91.5,-95,-98,-101,-104,106.5,109,111,112.5,113.5,114,114,113.5,112,110.5,107.5,104,100,94.5,88.5,81.5,73,63.5,53,41.5,28.5,14.5,-1,-18,-36,-55.5,-76.5,-98.5,-122,-147,-173.5,-200.5,-229.5,-259.5,-290.5,-322.5,-355.5,-389.5,-424,-459.5,-495.5,-532,-568.5,-605,-641.5,-678,-714,-749,-783.5,-817,-849,-879.5,-908.5,-935,-959.5,-981,-1000.5,-1016,-1028.5,-1037.5,-1042.5,-1043.5,-1040,-1031.5,1018.5,1e3,976,946.5,911,869.5,822,767.5,707,640,565.5,485,397,302.5,201,92.5,-22.5,-144,-272.5,-407,-547.5,-694,-846,-1003,-1165,-1331.5,-1502,-1675.5,-1852.5,-2031.5,-2212.5,-2394,-2576.5,-2758.5,-2939.5,-3118.5,-3294.5,-3467.5,-3635.5,-3798.5,-3955,-4104.5,-4245.5,-4377.5,-4499,-4609.5,-4708,-4792.5,-4863.5,-4919,-4958,-4979.5,-4983,-4967.5,-4931.5,-4875,-4796,-4694.5,-4569.5,-4420,-4246,-4046,-3820,-3567,3287,2979.5,2644,2280.5,1888,1467.5,1018.5,541,35,-499,-1061,-1650,-2266.5,-2909,-3577,-4270,-4987.5,-5727.5,-6490,-7274,-8077.5,-8899.5,-9739,-10594.5,-11464.5,-12347,-13241,-14144.5,-15056,-15973.5,-16895.5,-17820,-18744.5,-19668,-20588,-21503,-22410.5,-23308.5,-24195,-25068.5,-25926.5,-26767,-27589,-28389,-29166.5,-29919,-30644.5,-31342,-32009.5,-32645,-33247,-33814.5,-34346,-34839.5,-35295,-35710,-36084.5,-36417.5,-36707.5,-36954,-37156.5,-37315,-37428,-37496,37519,37496,37428,37315,37156.5,36954,36707.5,36417.5,36084.5,35710,35295,34839.5,34346,33814.5,33247,32645,32009.5,31342,30644.5,29919,29166.5,28389,27589,26767,25926.5,25068.5,24195,23308.5,22410.5,21503,20588,19668,18744.5,17820,16895.5,15973.5,15056,14144.5,13241,12347,11464.5,10594.5,9739,8899.5,8077.5,7274,6490,5727.5,4987.5,4270,3577,2909,2266.5,1650,1061,499,-35,-541,-1018.5,-1467.5,-1888,-2280.5,-2644,-2979.5,3287,3567,3820,4046,4246,4420,4569.5,4694.5,4796,4875,4931.5,4967.5,4983,4979.5,4958,4919,4863.5,4792.5,4708,4609.5,4499,4377.5,4245.5,4104.5,3955,3798.5,3635.5,3467.5,3294.5,3118.5,2939.5,2758.5,2576.5,2394,2212.5,2031.5,1852.5,1675.5,1502,1331.5,1165,1003,846,694,547.5,407,272.5,144,22.5,-92.5,-201,-302.5,-397,-485,-565.5,-640,-707,-767.5,-822,-869.5,-911,-946.5,-976,-1e3,1018.5,1031.5,1040,1043.5,1042.5,1037.5,1028.5,1016,1000.5,981,959.5,935,908.5,879.5,849,817,783.5,749,714,678,641.5,605,568.5,532,495.5,459.5,424,389.5,355.5,322.5,290.5,259.5,229.5,200.5,173.5,147,122,98.5,76.5,55.5,36,18,1,-14.5,-28.5,-41.5,-53,-63.5,-73,-81.5,-88.5,-94.5,-100,-104,-107.5,-110.5,-112,-113.5,-114,-114,-113.5,-112.5,-111,-109,106.5,104,101,98,95,91.5,88,84.5,80.5,77,73.5,69.5,66,62.5,58.5,55.5,52,48.5,45.5,42.5,39.5,36.5,34,31.5,29,26.5,24.5,22.5,20.5,19,17.5,15.5,14.5,13,12,10.5,9.5,8.5,8,7,6.5,5.5,5,4.5,4,3.5,3.5,3,2.5,2.5,2,2,1.5,1.5,1,1,1,1,.5,.5,.5,.5,.5,.5]),x.QUANT_LUT_STEP_1=[[0,0,1,1,1,2,2,2,2,2,2,2,2,2],[0,0,0,0,0,0,1,1,1,2,2,2,2,2]],x.QUANT_TAB={A:91,B:94,C:8,D:12},x.QUANT_LUT_STEP_2=[[x.QUANT_TAB.C,x.QUANT_TAB.C,x.QUANT_TAB.D],[x.QUANT_TAB.A,x.QUANT_TAB.A,x.QUANT_TAB.A],[x.QUANT_TAB.B,x.QUANT_TAB.A,x.QUANT_TAB.B]],x.QUANT_LUT_STEP_3=[[68,68,52,52,52,52,52,52,52,52,52,52],[67,67,67,66,66,66,66,66,66,66,66,49,49,49,49,49,49,49,49,49,49,49,49,32,32,32,32,32,32,32],[69,69,69,69,52,52,52,52,52,52,52,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36]],x.QUANT_LUT_STEP4=[[0,1,2,17],[0,1,2,3,4,5,6,17],[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,17],[0,1,3,5,6,7,8,9,10,11,12,13,14,15,16,17],[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,17],[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]],x.QUANT_TAB=[{levels:3,group:1,bits:5},{levels:5,group:1,bits:7},{levels:7,group:0,bits:3},{levels:9,group:1,bits:10},{levels:15,group:0,bits:4},{levels:31,group:0,bits:5},{levels:63,group:0,bits:6},{levels:127,group:0,bits:7},{levels:255,group:0,bits:8},{levels:511,group:0,bits:9},{levels:1023,group:0,bits:10},{levels:2047,group:0,bits:11},{levels:4095,group:0,bits:12},{levels:8191,group:0,bits:13},{levels:16383,group:0,bits:14},{levels:32767,group:0,bits:15},{levels:65535,group:0,bits:16}];var Y=function(A){function t(t){var i;return(i=A.call(this,t)||this).onDecodeCallback=t.onAudioDecode,i.module=t.wasmModule,i.bufferSize=t.audioBufferSize||131072,i.bufferMode=t.streaming?L.MODE.EVICT:L.MODE.EXPAND,i.sampleRate=0,i}u(t,A);var i=t.prototype;return i.initializeWasmDecoder=function(){this.module.instance?(this.instance=this.module.instance,this.functions=this.module.instance.exports,this.decoder=this.functions._mp2_decoder_create(this.bufferSize,this.bufferMode)):console.warn("JSMpeg: WASM module not compiled yet")},i.destroy=function(){this.decoder&&this.functions._mp2_decoder_destroy(this.decoder)},i.bufferGetIndex=function(){if(this.decoder)return this.functions._mp2_decoder_get_index(this.decoder)},i.bufferSetIndex=function(A){this.decoder&&this.functions._mp2_decoder_set_index(this.decoder,A)},i.bufferWrite=function(A){this.decoder||this.initializeWasmDecoder();for(var t=0,i=0;i>4<<4;this.gl.viewport(0,0,i,this.height)},t.createTexture=function(A,t){var i=this.gl,e=i.createTexture();return i.bindTexture(i.TEXTURE_2D,e),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.uniform1i(i.getUniformLocation(this.program,t),A),e},t.createProgram=function(A,t){var i=this.gl,e=i.createProgram();return i.attachShader(e,this.compileShader(i.VERTEX_SHADER,A)),i.attachShader(e,this.compileShader(i.FRAGMENT_SHADER,t)),i.linkProgram(e),i.useProgram(e),e},t.compileShader=function(A,t){var i=this.gl,e=i.createShader(A);if(i.shaderSource(e,t),i.compileShader(e),!i.getShaderParameter(e,i.COMPILE_STATUS))throw new Error(i.getShaderInfoLog(e));return e},t.allowsClampedTextureData=function(){var A=this.gl,t=A.createTexture();return A.bindTexture(A.TEXTURE_2D,t),A.texImage2D(A.TEXTURE_2D,0,A.LUMINANCE,1,1,0,A.LUMINANCE,A.UNSIGNED_BYTE,new Uint8ClampedArray([0])),0===A.getError()},t.renderProgress=function(A){var t=this.gl;t.useProgram(this.loadingProgram);var i=t.getUniformLocation(this.loadingProgram,"progress");t.uniform1f(i,A),t.drawArrays(t.TRIANGLE_STRIP,0,4)},t.render=function(A,t,i,e){if(this.enabled){var s=this.gl,o=this.width+15>>4<<4,g=this.height,I=o>>1,a=g>>1;e&&this.shouldCreateUnclampedViews&&(A=new Uint8Array(A.buffer),t=new Uint8Array(t.buffer),i=new Uint8Array(i.buffer)),s.useProgram(this.program),this.updateTexture(s.TEXTURE0,this.textureY,o,g,A),this.updateTexture(s.TEXTURE1,this.textureCb,I,a,t),this.updateTexture(s.TEXTURE2,this.textureCr,I,a,i),s.drawArrays(s.TRIANGLE_STRIP,0,4)}},t.updateTexture=function(A,t,i,e,s){var o=this.gl;o.activeTexture(A),o.bindTexture(o.TEXTURE_2D,t),this.hasTextureData[A]?o.texSubImage2D(o.TEXTURE_2D,0,0,0,i,e,o.LUMINANCE,o.UNSIGNED_BYTE,s):(this.hasTextureData[A]=!0,o.texImage2D(o.TEXTURE_2D,0,o.LUMINANCE,i,e,0,o.LUMINANCE,o.UNSIGNED_BYTE,s))},t.deleteTexture=function(A,t){var i=this.gl;i.activeTexture(A),i.bindTexture(i.TEXTURE_2D,null),i.deleteTexture(t)},A.IsSupported=function(){try{if(!window.WebGLRenderingContext)return!1;var A=document.createElement("canvas");return!(!A.getContext("webgl")&&!A.getContext("experimental-webgl"))}catch(A){return!1}},A}();H.SHADER={FRAGMENT_YCRCB_TO_RGBA:["precision mediump float;","uniform sampler2D textureY;","uniform sampler2D textureCb;","uniform sampler2D textureCr;","varying vec2 texCoord;","mat4 rec601 = mat4(","1.16438, 0.00000, 1.59603, -0.87079,","1.16438, -0.39176, -0.81297, 0.52959,","1.16438, 2.01723, 0.00000, -1.08139,","0, 0, 0, 1",");","void main() {","float y = texture2D(textureY, texCoord).r;","float cb = texture2D(textureCb, texCoord).r;","float cr = texture2D(textureCr, texCoord).r;","gl_FragColor = vec4(y, cr, cb, 1.0) * rec601;","}"].join("\n"),FRAGMENT_LOADING:["precision mediump float;","uniform float progress;","varying vec2 texCoord;","void main() {","float c = ceil(progress-(1.0-texCoord.y));","gl_FragColor = vec4(c,c,c,1);","}"].join("\n"),VERTEX_IDENTITY:["attribute vec2 vertex;","varying vec2 texCoord;","void main() {","texCoord = vertex;","gl_Position = vec4((vertex * 2.0 - 1.0) * vec2(1, -1), 0.0, 1.0);","}"].join("\n")};var P=function(){function A(A){A.canvas?(this.canvas=A.canvas,this.ownsCanvasElement=!1):(this.canvas=document.createElement("canvas"),this.ownsCanvasElement=!0),this.width=this.canvas.width,this.height=this.canvas.height,this.enabled=!0,this.context=this.canvas.getContext("2d")}var t=A.prototype;return t.destroy=function(){this.ownsCanvasElement&&this.canvas.remove()},t.resize=function(A,t){this.width=0|A,this.height=0|t,this.canvas.width=this.width,this.canvas.height=this.height,this.imageData=this.context.getImageData(0,0,this.width,this.height),S(this.imageData.data,255)},t.renderProgress=function(A){var t=this.canvas.width,i=this.canvas.height,e=this.context;e.fillStyle="#222",e.fillRect(0,0,t,i),e.fillStyle="#fff",e.fillRect(0,i-i*A,t,i*A)},t.render=function(A,t,i){this.YCbCrToRGBA(A,t,i,this.imageData.data),this.context.putImageData(this.imageData,0,0)},t.YCbCrToRGBA=function(A,t,i,e){if(this.enabled)for(var s,o,g,I,a,B=this.width+15>>4<<4,r=B>>1,C=0,n=B,E=B+(B-this.width),Q=0,h=r-(this.width>>1),d=0,c=4*this.width,l=4*this.width,u=this.width>>1,w=this.height>>1,p=0;p>8)-179,I=(88*o>>8)-44+(183*s>>8)-91,a=o+(198*o>>8)-227;var m=A[C++],f=A[C++];e[d]=m+g,e[d+1]=m-I,e[d+2]=m+a,e[d+4]=f+g,e[d+5]=f-I,e[d+6]=f+a,d+=8;var y=A[n++],R=A[n++];e[c]=y+g,e[c+1]=y-I,e[c+2]=y+a,e[c+4]=R+g,e[c+5]=R-I,e[c+6]=R+a,c+=8}C+=E,n+=E,d+=l,c+=l,Q+=h}},A}(),O=function(){function A(){this.context=A.CachedContext=A.CachedContext||new(window.AudioContext||window.webkitAudioContext),this.gain=this.context.createGain(),this.destination=this.gain,this.gain.connect(this.context.destination),this.context._connections=(this.context._connections||0)+1,this.startTime=0,this.buffer=null,this.wallclockStartTime=0,this.volume=1,this.enabled=!0,this.unlocked=!A.NeedsUnlocking(),Object.defineProperty(this,"enqueuedTime",{get:this.getEnqueuedTime})}var t=A.prototype;return t.destroy=function(){this.gain.disconnect(),this.context._connections--,0===this.context._connections&&(this.context.close(),A.CachedContext=null)},t.play=function(A,t,i){if(this.enabled){if(!this.unlocked){var e=G();return this.wallclockStartTimethis.memory.buffer.byteLength){var i=this.brk-this.memory.buffer.byteLength,e=Math.ceil(i/this.pageSize);this.memory.grow(e),this.createHeapViews()}return t},t.c_abort=function(A){console.warn("JSMPeg: WASM abort",arguments)},t.c_assertFail=function(A){console.warn("JSMPeg: WASM ___assert_fail",arguments)},t.readDylinkSection=function(A){var t=new Uint8Array(A),i=0,e=function(){for(var A=0,e=1;;){var s=t[i++];if(A+=(127&s)*e,e*=128,!(128&s))return A}},s=function(A){for(var e=0;ethis.maxAudioLag&&(this.audioOut.resetEnqueuedTime(),this.audioOut.enabled=!1),A=this.audio.decode()}while(A);this.audioOut.enabled=!0}},t.updateForStaticFile=function(){var A=!1,t=0;if(this.audio&&this.audio.canPlay){for(;!A&&this.audio.decodedTime-this.audio.currentTime<.25;)A=!this.audio.decode();this.video&&this.video.currentTime0&&(e>2*s&&(this.startTime+=e),A=!this.video.decode()),t=this.demuxer.currentTime-i}this.source.resume(t),A&&this.source.completed?this.loop?this.seek(0):(this.stop(),this.options.onEnded&&this.options.onEnded(this)):A&&this.options.onStalled&&this.options.onStalled(this)},A}(),W={Player:X,VideoElement:b,BitBuffer:L,Source:{Ajax:M,AjaxProgressive:q,WebSocket:N,Fetch:function(){function A(A,t){this.url=A,this.destination=null,this.request=null,this.streaming=!0,this.completed=!1,this.established=!1,this.progress=0,this.aborted=!1,this.onEstablishedCallback=t.onSourceEstablished,this.onCompletedCallback=t.onSourceCompleted,t.hookOnEstablished&&(this.hookOnEstablished=t.hookOnEstablished)}var t=A.prototype;return t.connect=function(A){this.destination=A},t.start=function(){var A=this,t={method:"GET",headers:new Headers,cache:"default"};self.fetch(this.url,t).then((function(t){if(t.ok&&t.status>=200&&t.status<=299)return A.progress=1,A.established=!0,A.pump(t.body.getReader())})).catch((function(A){throw A}))},t.pump=function(A){var t=this;return A.read().then((function(i){if(!i.done)return t.aborted?A.cancel():(t.destination&&t.destination.write(i.value.buffer),t.pump(A));t.completed=!0})).catch((function(A){throw A}))},t.resume=function(){},t.abort=function(){this.aborted=!0},A}()},Demuxer:{TS:U},Decoder:{Base:J,MPEG1Video:T,MPEG1VideoWASM:v,MP2Audio:x,MP2AudioWASM:Y},Renderer:{WebGL:H,Canvas2D:P},AudioOutput:{WebAudio:O},WASMModule:K,Now:G,CreateVideoElements:function(){for(var A=document.querySelectorAll(".jsmpeg"),t=0;tthis.q=A)))}resume(){var A;null===(A=this.q)||void 0===A||A.call(this),this.Z=this.q=void 0}} -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const V=A=>!e(A)&&"function"==typeof A.then;const z=A(class extends t{constructor(){super(...arguments),this._$Cwt=1073741823,this._$Cyt=[],this._$CK=new Z(this),this._$CX=new j}render(...A){var t;return null!==(t=A.find((A=>!V(A))))&&void 0!==t?t:i}update(A,t){const e=this._$Cyt;let s=e.length;this._$Cyt=t;const o=this._$CK,g=this._$CX;this.isConnected||this.disconnected();for(let A=0;Athis._$Cwt);A++){const i=t[A];if(!V(i))return this._$Cwt=A,i;A{for(;g.get();)await g.get();const t=o.deref();if(void 0!==t){const e=t._$Cyt.indexOf(i);e>-1&&e{let i=!1;const e=new W.VideoElement(this,A,{canvas:this._jsmpegCanvasElement},{pauseWhenHidden:!1,autoplay:!1,protocols:[],audio:!1,videoBufferSize:4194304,preserveDrawingBuffer:!0,...this.cameraConfig?.jsmpeg?.options,reconnectInterval:0,onVideoDecode:()=>{!i&&this._jsmpegCanvasElement&&(i=!0,t(e))},onPlay:()=>g(this),onPause:()=>I(this)})})),this._jsmpegCanvasElement&&a(this,this._jsmpegCanvasElement,{player:this,capabilities:{supportsPause:!0}})}_resetPlayer(){if(this._refreshPlayerTimer.stop(),this._jsmpegVideoPlayer){try{this._jsmpegVideoPlayer.destroy()}catch(A){}this._jsmpegVideoPlayer=void 0}this._jsmpegCanvasElement&&(this._jsmpegCanvasElement.remove(),this._jsmpegCanvasElement=void 0)}connectedCallback(){super.connectedCallback(),this.isConnected&&this.requestUpdate()}disconnectedCallback(){this.isConnected||this._resetPlayer(),super.disconnectedCallback()}async _refreshPlayer(){if(!this.hass)return;this._resetPlayer(),this._jsmpegCanvasElement=document.createElement("canvas"),this._jsmpegCanvasElement.className="media";const A=this.cameraEndpoints?.jsmpeg;if(!A)return B(this,r("error.live_camera_no_endpoint"),{context:this.cameraConfig});const t=await c(this,this.hass,A,86400);t&&(await this._createJSMPEGPlayer(t),this._refreshPlayerTimer.start(82800,(()=>this.requestUpdate())))}render(){return C`${z((async()=>(await this._refreshPlayer(),this._jsmpegVideoPlayer&&this._jsmpegCanvasElement?C`${this._jsmpegCanvasElement}`:B(this,r("error.jsmpeg_no_player"))))(),n({cardWideConfig:this.cardWideConfig}))}`}static get styles(){return E(":host {\n width: 100%;\n height: 100%;\n display: flex;\n}\n\ncanvas {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n}")}};Q([h({attribute:!1})],$.prototype,"cameraConfig",void 0),Q([h({attribute:!1})],$.prototype,"cameraEndpoints",void 0),Q([h({attribute:!1})],$.prototype,"cardWideConfig",void 0),$=Q([d("frigate-card-live-jsmpeg")],$);export{$ as FrigateCardLiveJSMPEG}; diff --git a/config/www/community/frigate-hass-card/live-jsmpeg-9c767737.js.gz b/config/www/community/frigate-hass-card/live-jsmpeg-9c767737.js.gz deleted file mode 100644 index 9f701eb130a1e3397f987bcd7152862258ae8984..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42804 zcmV(`K-0e;iwFpYat&qz|7>Y?Wi4uRZE$60EjeR1Ha9mjH!f;(0OWlOSKG+a;9nu$ zb6Go<9XO{mTF?z+Uvdlbbfx-%Si(>cW+s> z^FK%LZ8ay|o4Jo``&73s_4bEc^G&?J-(6?2BLh=DjID3}d}a+greAgz9*n-_H=VmY z^e(qvOzb;nVNY^zM5ib2n1-4unQe;u^2{Dio}Pl+sqJ^?HYr8x@nSeV9X{Ck90KJE z*Yb_zg_ukqICLJw{5ZFBg{D^~rOEmB5C7fR^Kw$ocb6zlXLr{w-#IJKZ_k|h;l>+bHZDU?M0zG*%Tf0X!r zMPB}(d!`w5%asHmpJRQFsRk%>QZJ||Ln#OZD>DoKwTcmt-C7ZqR@l32Y1K(stEsbS z$UBO${K5W_qY~8P64XNp0`_x`xxJ;>!6uGE7{uyfEUX&6@au(Bt$pmMkdqX&seD_;G^G+Vp7Evd~b&u#zn z3LVqx-1*Cv79m)BcegEd0c`HNOQ|1Lba!{V(hS)Gxvt!~GzpuYJw45&G1N`$F}Sls zbee}N@YK>e1R6g*jin8;?u<_W3Zh#;e6zc|ksh#aNBrV@@IOoJaeA^ z`Q4e=?&WIUfXtA@-hVJN{h3xkWhGyzQjeolUT{KG%7rUvcb9?rt!DXuA(fK$@Ime9j9_ z%bd{yf{1+e({R3q^g;yD9Hy;F1QzGZ0>;d(>^U_09dZpR1v{QQ!2JNaZKmp=-Ifcf z5u|VJ04&dmI19&blZ2ur;cz8O?Ny%Tn2>aY`C*eMrGA87)FH*koT?83KH0sw%x6Gt z9oj6|Mn+*HpKNE_z_aS8a9Ih+7G^icjt8@x$t3@fA^m9TmB5CCOY$Sqi%JE>Xwi5z z6aFE3EB)j>Nl@l_u#fKKS&Cx>e&dY-V2~Zh49VW?e2EKCxFZM_DQ949F=U)gAUB~+ zB_wr^(iImy5GTRV3YO&Tw)IV@Ay8)t#HxCJ2rdA5@;d+JHmvh5c2whl|_jR z*AvJ6xb{UvO%#{c3!IwR6S3%$>|679ISs`cjh*JpVKx&7yd}u={l&?#`M>{bu?Knc z&UeS&wA>$NPTrAsDmwhh?f=(eXJ>CY^k+L0Gk0Rt%9^AbWn*5_%Qg6`jg_)qQpQd0?ad7q5&WR>tRk`wAG0N&3+R;kYvUV(rg9`+$l&g|bFW1L9&;%Bw zDz*sq_zP@Scg8TqD_2T#S&@)y_FJ6;$r|*k{t2;<13Ey{sFn@nkzf>n(Z(f>#83xb zfO9}pG=MkC`gf?-#~MgNMkM$J+ENW5w6eZ~yemLN9YeJWY$ybVG6VAP3;4<$TPR_7 zL73_>^jVj5wOo0xeu4sHrpPFSdbx^?&vj@*FISH%*p5*-4wwzE{>r_BvE6$I;|{<7 zdy9_5jbQLvlaJCUND=jqS5PrC6$>qg@+a`!~(RE2vkKqn14%DUkiAs4b zS_9ZmegbXhfy~wW7I@R zMw>T4X~FK%D=1(S?Fv|y26v$TiiGX}D8ZjG7#SLxq<|rS4uc_~oq%cYps!GnEdwY^ zKuN=2O>G<0C2|NVD?(kTf46G)%aJM=0G3Z?Bnev*OUV7+q&#{Yv%r&gzWxg-jpxoG zrxE#O)bmrK2vObhoy8Cd2ATgs3cc*l>_t8w;fupY9}lo5l8*)UmEGN7(jGn+P;L&Q zHw{^|-oZ(r)xb=Gvysm`=KfC$5+Tp_FPsP4UHf?l7sx?^F{Z4HNf#}zm_GY0=9WKl zQWh9npfP=ZL4ZiVP-vv2fx{N_9cE&gI|#?kOs9lK3llCIokYjJ8?NUxhodwTrIW6catx?Q*5o#fxIug zeU{D>nvV}}%D6IGU_W`k&;<7E9q|m%G3BPSXNgCKPO(_9uALjxf0ho->}QRfp`q`N zpaKIu$ChlGZ(KSHzhtd;$34Hc1+Ae|0oNn`h6Ik$a#63&}okVbRIn?=gR z3ZE&92}n1DY7gi0(GbiB4e8unuf}$yHkh%9hBCl|IxrWUeSVCR7gm?5Ff)K(TsZLu_a$W%lE|aha-38i*P6SP7i9( zLyOij?8!T;3>q<_*HggJ2Y$k5sBa8mI@W|%%ZM5ymp%3ppT~u^2uaZi%+SkV@cBel zF>a(KC2rUF&JR9Q*f(Rve2tK^CT5jsCyf)k{O|h8LNnrJ0n?oc^6`Mm#0u z2JGSEj4fG=$ToOSJ@Y4zqmAnuX)^SO@caC7j>Hjq_-57j;XHhm#7|cqWRx`w&ehCa z&nK4e+Yd{80MFz3n>X3*{4?oSK#VVY^(OyQCWaXybUe3*E3y8!MLdO&_FkC%u zbI2UXT|7V^hErPvloNKF%E1D7j3)y4BV2EXv{x&4Wd;veVGy>%(im-n-9EKtETjfB z^z33a()H|@GVE*(0E74&%9vrqk%jE|`Zehxs3hddw)Qq#&BRhFACcdWb^p>!q1#buegVA$NL9tL|A6x?>Kxp6sp3-!UMmNSUvPPdtrb#Lo$5LvCxQ; zP7(;Fy=h7^FM4n%w&^@QS>=1N<;*(mi1)H4_778j$$x_G#-0xaBc9;IDl{pu z#hDO(Ji=Cd+7L-?EP5azdO}u3Kj>MrFjrl zN?45uXk4;oZ#^0^6?#d;tfUkZG~5X}lHr7M3?4+K?E`l~;Hr!FI+=ov0d%mB$AxQm zPprZ>U0i7|n*OzW6Ty3?Wq({0iqo?9y@D7fvIU$4MNEM)J>~i{{E=7Rrg)U>l2;Hb zAZQTzX@RxJ+#Kpt-YziK1=l^`x)*ZY1FqQ|mmbodLy|eSTNDWM{&nw$KeyNl5%N^(i=H-;W<8zOg@8r_3BGy%`f_*iu zz2wMSAR-W<95p2G+Pc}@O%@duC{&V#>P^hdm_1oV9rRU-0ctnRG+^3xrII50m(jPl z+eir^9}Jj}D);nMB7PwXFscgxZXrL`%FdKrw$#M4z5OJ=Pf!1Z+>oKAZQpNsA{KF} z_&m*OiXBn4Qog$D<3lie&pNOhmgJgXD^16A_V&D|h{w71f%}_X)iCz=Yb9@Q&n@il zyOLitJ;^GWp4e{ZuoNqEM$IxRU=zblY5rXd#~wZ%UD%f~{h9(L5#xWd7`a>a{N#io`roLw%;VCN8(+9-O<8<9m^5 zChn#1Rt~)Z7ZaU`jl4;Sr>0@ z(sDNw5U5MAX)%D01m}EMDpD67s^XgA?8^sn0?{lWO@r@N@T0s$6%&M8Rf3ccQPFDi zwSsti6e8v0Vw^8SV0hm@4qJ4CVaY)B^snI@_-P}@wGCrWe%$upLO z$y_@(l>6=Oa(!~m47K)dn(pqdTaGDnFv18XRzdP^;Th;DyEX|{-L*wpk`ix(Pjqzo zDP?1fnXoD|y1-ccOkk^eAxO$1jYwNMZF)_X+9V}iN%2)<@*BP=X@aaU$W{g$D>I=e z#e56Raa`N z{q53|j0?}t&$0Pa$hC!O8hen%{7u3|y@~tSx(o^*I;2E$8t;t{3gqvBx1w_f$laM{ z!Utpa}cbZt?MPchFF373uuy{GxjjmQU4Ui zM-8Pe2Q@0(DUx;B>3u|~x+;C@b-H-1s=Cza4Z7`%kAtfQq~I*i{IKoGNyZX+m{*R6 z3w-4<@|wqd&X*d&4?QeB^NkfgM~Te4K7%BEdl9^Q5h7gQB#L@$C1gwf$@T?Jco9Et zf*sx<_DHhV>T?kfnv;G`ZJ(`(;C{=n=J~}32pNwBP=8+kT!Cr95js)qRQi?3gq?>t z=P4X38p^m=2;o1c65vz|;hR9|d^yO?QzHs-CYVTu!^T$t(m}{d50hAAh+vbw|75$} zQ%XWJc7SbI&#@&xUR~t=H0*YelLzWaF~LjDX~mQv)kog>D22odShs-?TBIDJg8V z)qi7VH4%%($pMTk-loL)iveY$^PI%xD-&@KwasZn@c3hki}(VL@acZAHrvcQ;OFQd z9`ocfp1(_N7$nTXSS@?ii}BLWF{_ANu`+W4^{pD;&qs1y|u) zo#>RO*em2z|9{)D{Z+ApS7EN-4RGY5})*f-_fUCLo0W(3Qc zh=a?rPUc8$StgFqSAz|TvBKbiRdg~e#bpE<%%y%ifV}cLwJvg#oIYsymZca>+V-@& z>xg@{y-DotW}BmUhQPN#IpHZ0%&mC&S3S4ok76vE8l(gq#ua>&WbajU=JnakI?K&m z`{l2_qua065yXm{Z7VNM(%Za1@i`{$6k}}b2r%Y}gX~;0Or?d%0uryozZ zVm^#Mv+Z?(G8GkLe_t21@Ay?7i^_rMEFeF{J_j5ow2m?(ON3`e;i6Jq{7J z6%u@#B)~0UIKRtkPz$TG+tXr8MOR_yYtJFouqRfyyc_UTh~sE#fF(j=te)p$ajf?0 zRZZ>ht4X|HG}m5bw>SFD_C~*IZxnA2Y;!YQP5zc71UV$ zezU#Nui6VF8HOz$p%aU8QTbDbQ7oobq~u@?nkdlAW2xoZ6c(;x<&$`OrYw%22n+Wk zVeaDUtXpmsLf)c{nn}R3LAL|44dExtVO z4sJWvg?O-qPp3r!dfaPwZx4He^NZbGYcElLY@J^;3(<^}js{f?W7oo*;zj;~*_#!8 z^1&YJ<~8+|Im7}p-SQERDEkVIzjC@lVlNf~&G)j3Q? zQ+~?Gdiq*OKl{U(PiWRBfh+>I^5)kMD?`bL_}T9k$zrw>nUKL8^2BNnKDLfOw*R=b zI-NoH{2UU?_Mm&xJ-sM2H672gY!-e4mAss0Fnp_MYTEBGfScEgLU}_CDx@?@*`iTJ z)1tS=f;g0h5HAX`)K^3kKc9z?%VskyCh&;RDW1&e(V1;&BA zP7d`=lEpAli&}!nltVb0|C!2e26__o#Ptt1W-Sv`eq%z`msJ%UEA}gYmd)D1zf4UV z|2iAv&X5}TL}ytBOC|p{JuEaM%M~DPHB;CJ8P2c$vD3X}x^re-TyzJg{Eg(Ks4H4S zh9pLYtOe2%cdtUP_+n$;Zg7wt>wAlO=N6>t{yy%haI$2QS{}nwj7_@WL;mCt*p_G-67m9XKk*qx#)YUOdPNC3n z#QIoF+k!w5E8UMZd$_l!Lo)|yxRRNGGa6~2y;71`%3Cu|lC%oH&SIpDc~Xk{-ku3_ zrT_c^`II>zpI$j2pI$Q{pI$d0pI$W}S)S=N1M-OmL>zqd-yY!6yyJc?@fwMQkB!*E zsWg>((okwiD+yn4>PmfSCQT%K>1Zu&q@~o69;Ca}JmxVywHTykE10NF&Agjj%!84w zz{JYh-&dre>Eln!R6uzZoV~92rH^l`Bf^id8xvZB-&9?K;Z%K`V;q4@t~2GFW;bkNZ?6`;0p*X} zsrm~o#SAD|>@JjQXg=>$Zb0mUnGlrjD#D0-c9S$CEz69wUz?G_%t+a0Msw4~VX~P9 zFHH~cyrfa7B%_TvFXq=#gosf+n9E|m6UC2IZa~$rB^o?|x{g}h13)a}*qvxSP~eTn zXe2BWsAO;vhe_~}(PwIFowi}3-bt4at`|4vMta1b2MKiIHAc<^&s%><)Dc?`WgPbb zLcDE~YQ&-fsS$E9oU2nk?~;u}Chh9_{G|dA=MRonML-;du7kXM07lzodl||$5HuJ`VE7^K}KOiQELFd%Bm}=My0XZ2MCxOtV$-_qSm#|#r}Q` z`iD<@7U>r_5ZEl?5&L%0Y>OQmkykYEeGX}bQ`_b zB#?hEYW2YcsF8S-(=zi3bO;^=VlTg)KQ>i~r)68#*-%^U16(eGnI3)H=ECiSPw4U~ z`znGWq2iEv6r>Cnf=h1Y9vDRe8BZ9%R>CWb*Il7aIAe*u_}# zytUt{`E=&XN$Agtrd_NR{A;HO99!335nUhLDeO*RcPhJ6*`3DjG zrnCge`7Cih1Ei8ukY+fU9ToxHktXJ<)RxBPqU6A&t<)+JThKmm;RP+R7EHG|lNh^Z zx7e3>8|I|cl6V)*acM4bX_@09UQ?INR&gS6Ud(=}EAj4{vyvO+CmWFY1{Gt2F$blt z7dK4kDqMj0DtM0~H{b&Lrr|vbTw(Q9yhnL!>>k0A(pDHMg8r_sHz{GOj41N=FA(*H zL@oS0V;LnLmSB4*_pk(ejM5KFbSf!EN>Cg)5@884jN=iOpj>cNcnKKNbN)l2c@cTD zJbbfPlci`y_|_oq?#ifXueMi>(pAwF;&@BpTXjjC$XjsRsxn$iyl?eJ$wFlBS!FUZ z;0Fq4VI_(aj}POO@rU%$n)KTraZL8?Hd%&`XXPz)GQ^sEoVt|<_6Rju9jwsHndP6h zl#3<&Oq`6m*o16r6==Zrx>2GovYCUaM)Zw!^IDcvtz55GB$$w^hNRZv20#5`z#q8Q zrHU-Y{=Wedd}5K@Jp#lOsV2dszm6Y;krcSEB4PYAj3FsdrAWF2SE{7o2VNvilXO|q zYm%-=8ZZFRfTKwjsVXUOuSjZ5(hNygCB2THcrmKTnXXA1a112yJ2cP(`dCd>(t)@l z88u*CG62PpG(ZQ^bx8+Y4Lef-0A137j)C8ts%SR_=+XAquv49+4l2|(^Z;3|Bkx#P zp+Y?@)T$Yf_@_pNiSjB6BUY$V=Sf1Dg+?t-p+^0zNR_%MG-8FdcyF^`A5Zm|b?yJz zKh)){IcBP(AX*(it3_(VbhZk*3}v7xs8&=DGKDb)9oAW)fx3xE8fv0K*aj)APD28^ ziCQg7TgbyN4ihOcnxKrTU*)C)6jd@KCh2bz&4al@URaflC=t6mTSpqVopo^e=iB5R*zB zqJgN;6<}+G4MJ8l!LY(O<}?)6H!ct$PCri}MP*b}Mnz>*R7OSR8j(^#e9p}r zi_pDVO!aVt1Jz@^W|9aWm1on5s<0gBFw;_@$xJnp`dp%*AV=lJyZ9nQt*v|*OnsOU z>0)50Otj7QO_+~X5yOCn!%PGtQ;nIHp#;qH{sGTMH4qzyGJ(#?^AYFTp;ofGU|#by zAal509D^)*U^b9`c`4;_D&#!sOgxIp#D$50#syJlszzdi-jIMQGV8Ap3iu5Y3iyjE z;zRezZ-B7KuYgmjit(>-Z^66)=sCAukU#ez_QLeJGuBQej=MR^6|7FY`zH~Jx!9EobE+#^Lyo(BVs`6l8`)e*l+ z4d~>lWb#_7rVDSTvd~iDo=e5F#UK@^0EW&DQms*C4YN=oRBj=V$bjl-%!Fmomqg&f z=Bk)c3j3&JctT8&G)#%ALDT7mF5C-d| zR*kx7o&6Yb_stM^5Hz%?7uWd@*Iza2N({y`cS$^Sa;L-HsLmQPjA+#0s;4Q;6VWSa zTe1-tih3}~z?p)PaHJ*Pc<9O_{*$p;qLhq!4*EfiRRZQk{!-E?N#ThG30*i8@E+t+ zVO(ffz#EW*5gr1=7MT@z5cDpbG3Ey%Zh=a<1X!w~3Pwu?A5`*0JXfiZ@8JLyuD@i~ zEU7Sj@)@L2L@#x59taUlM3byg-k7Aktdshxe2op zaU0C79(Vv5{1{GHg*sQcdsGeK)9Xwu^k|lA8cw&-+~gq3S8EENHmE$rvuOi`bk=)W z1a~wkmf6$iZCL=-h3U~ef+8dsprQpCxXitM9ISMGTop zZR)&dH6A)O19AfvXemgeQnFMUa~jGSFx;{LkD(evHp}%%doZ=YcrLSSf)rMzbA-5y2_L&@>k9WfrViq{rN#666akOTYlmqCY5{PWq?A!00Lqk%&)axN<`d96AMm ztAQ372nH^P^i&6R(Sr;SSI2O=QYZTZKc%tRw+7{u|Kg{eg9sDz``oF5VN`{Q)VTWa z8buWop1RKS07GN~GS}=HvV$uZMkO>)=o~1dZU~D-HPPz0o@WFD4SeaiDyQ%}gK`?6 z2k8Q>5-515QAPvgDK6>2nL+Ah$hg=?xS+HKsjvYmY>?vWU_?4~ORwW%3pr|BB%}<+ z03$HeAbI68B`_^jm}iBj)!e%pH6G?Fx~%ZTn|m(MNR10k%~~zcqjApQ=2)o&sTc6B zBX7(<;@>)J5b~oy0nn8K^JF;{V6Gwu16miUm;owY31^n*YQe*j*%@GBMpX_oeZ#=T zsmMBkflF1@U@ic@UqOn&bRwA9S7hwF7{tWdKrOaJP)RH_7+~ZTO1ja9p|zra#?TPV zQ~?0zYeD|5;kppcL4uhVg4dy+RgxmE8PTE<1{<=l3fNzTO%TDVE5S08CfrI@%#7Hr znB7;ROCIQw*sl>yiB%D0sT zOOdVSfE8{qhe|`@q#Lpn>|t*x(9dA&IzZLfxrpC?d59K2?)!I-(vlqf62Tfbqm?&9 z@8N`Q@QkY9RIL}z*%DwUbc(>Mj@ak^BXku!U^ysWWrYFv9al1;BN z;-$cO)#yx|3F9KgfsfM5I>+l40D=*r{+IZh;Y8r#cSg>OkFsl5V^ooN+E zY;Hdp&5xZhx&27L*PiGX_bTihzc;_~Vbn$pJ%*nx#McPpF=dv)sdq1r=PCp7Rf;gm zK=jOPtB-tPshB)A%KZh7BRR#41DOiqT$ingHh7pU#OAh>Z`f;fZxpU5uRcSu_s^c8 z*kflX((6jnk8LTJ!@o4s%-gYK%h{f6IZ$M+CrkCT@2Bxe3@Ka(-^5U7vE;G%OG)g%w8WQ z;vrD%4oP|V^3>rFU*@5Y%UmbkQV>Y-q6FrzTOonI3>F0cDTMFop4yy3+>U>EUd;=!_g%$1rxywhZ4ZniJ zzYmFOnK%oSe*>%N&=&@r)Oo8f9ip|Ii=*H|jg~Uo+>_vlu6dUC1s*t+Tt%DtYLF38!RdBL*` zka%xj(c+*PpLxMeE#-6T)w^JV>D|1`r-fB0uAXGv04vSdcEBuA75b(M^_tAifnpzjNi(TP zV<=(o!yR8z-_LH9>j^rq=FF^UyZL?^K)oK{AR|(Lf8VS;FZS`U|AjdVr(1L2Y`(W> z&V!E|1|i{EzPX;?guB(Ope8?;`oa^0;L3~OL5pj1(OmD%n(OQq*PKM0@H(6DI!btx z5}VRcr6qK53C%6>gkAyKfx^z-rrF8hp>uP+ya~RE5RZDSGOcfgW}@kB_)3VMtdg;+ z@GMw-02UvB?}sSgclbR6;QNk!m?p{k-OcsG4RcA4sYY0B)7v=yc$Uo_#~%+pdq-|O z;?}10uEIy?L}sy?QOv%I(abj)^1#*(!H5q*I}fvI90oLak_DYPj0lYt%DgZGQpti;vLMwgNHt6nPs~~K z1QWs&!D(6BR+Gg_HW4M8h!PM9*!u?8-(b|f;Rq2dCFj9asiN;fI3I^7_LK-?ZAfJ}wq--UeJ;U&3wkvS`*T z(s9w$RMO!~Q&Cj8bSWK|OuZ(j+qi%>E?65EqK%8c*9LnqfP11(53GhG;kRLaAjuyf z$?w;L;t#G#m)AdT-l>X?pLPSbo(DuC_WiQRysss7#die4z?7XMCZn@JlK6z@QwU0AJaucX{Gf=?Q7Q;hK;@lO(ZsQ_!;04E|jjd~iY zxVCS^ss&dp2H)dJ4K4dsFe`Km_@U<@j~SZoJMBqs;+gp8ZR@yuXyFH}Zd=xQ_uBo3 zc2mqlo;E~9+ut8Pvrh=(B;q@eXnN)8%3Uvmt=6F!*fpeRXn4JUw1AV|yB4HcQ#3g& zn4*zUS)q}iX2gMzgz`e2x~)#6wD^`s1yaAFQh0TN^1UZMuZ~{*0R63R}o47d;{Hl)|2Q>vRKnKf)ELUW;UazT|fjj*O zq9h;+Z1SN9x>>K)YqS|tV95*%_YtZbORW=D3$PSJ*Q=Ubud5pED&$xU z0uL_&3IeM}SZ%=46j@h|x+2#RNfSslhP1$alme+rNL@feEUi|r$eNB=y1=S3tUhkC z6j&9)ngLc#t!sL{Qd8v$Vi^Lf!muWQRS{TJ3G;+PlU$Rq(r%d9QSeixAV|3A9!=R8_A-jb7JrpX~|S(Xe<99ViyR>ctrr3`(qsYgSvWI zoB#y$u3oJhMitBs@GeUeCXGJyv0RZAP1kFHg+9Y8^|8HaaRD5aYxR1)3KpR$*oSFp z!MeV}b4#G_YMp#QRmZNcu#jG>}eke4aqT|#?(=z}I#5VfMCq%X0( zOQ1Og>~d8GTd2V3E43=pB)mD`O^fC{Sv_a0PJo?BvdIauvw|*SHxf;H*bNWFjonDl z>?0o1Tu5FKK+H)JVuILE0mx7b)K5YDr%4f?qWCxF2@KmwQp6`XY#sBQhC3nRa~$q- zb3|&A5b+4rWCSX7jzbgg?*cXN+}v7b?QMW2X>7bVBg8|Rh?l5aARhK_K>drg zcZ$3WpnptdW9^+_A5H>QPtY7Nns?Hs2qO z>EP9!=@#?HrXrW|d@Q-9@W`hKZ_jPKz`|qH$lcO$K{_^j#cvb@qek8{^k<5|qe+ohudxV~=j9-~&=$h#$&*4>-4;v+cYgptomkGT7OTzmlk zo-p!p>7f8|X=K<@UAq*P;gwFK_3$ucwCxcd*6W1`=kbb zLq4(VN6?dm2DY$&EprJHTP8JP$wYPs?ah)Jafj{Q0nKj!kr?b2;vr4MOVlk9ZwYci zUJ~t%k(V*_@1BBGti5CG!!gh#xg=?hk>(NL!Te@fH1CrTM~Dp-V`y{?U}I3RHB+Cc zfZfu%07KG)LF*+2+`~b8Fb`?469PWO!9E22>4K6Z1l%rl@u0^s=-oKo;X}k*b0vv& zc#Z9?fhOr|ygO~gYjfpF)N$o@u2<(p?eQ z1quLYx=A<}X+ZTcjsw87i{=9^dbf(^Olr|Rpmp)oxFroo(FCa!P0%5@f*PPH!7u0r z-8@KL#GJtu*1$iY8F=Mf+eN*0W5N`fF6%cY{Z^sqj*1MK7geBW!-^DMWI)lH6{);P zha!&^X}k!2OUJB8=S2WrI$=cyF9MpS9xJNwB51iZWkpq1qyc}W7AvapBIJI=ia7Tg za^I$+3g=!!?)$8WbFU%yOIF0W*O2=KE8^U1$o-g#G~{|nmq3+WXvp?Ax`Zosp&{Sr zbO{*z0vSJK)i)-)P?7T$llzUyE>vXwi1p^iWEU#(K44tknCwDD=DTzW80DIA9kl_M^ji23FaXiXC}ig$f={NQKyw2`dC7euZ7RXO}>oUtwQP*(I>S zudp*r#~|czZG)I&il_U{ACc!!bc&kvLp;VXf3oKow?;#j*kway7Ye@V`GY;0GJp1Z zy@n#eKQLcq6}Zf5{$x*a06F?l2Ov9_*70roy>)upJw}QjPd_rW$U~N3t9-C+i#>+d zYqln7s!gxb(_8GSZsW!!EP-VCNATz-O#!#V*XUpZU8>Rc4~6!&;{gk7Q<6%DQdFP; z_QE_Jy}-_s;O8G?A>*En3Tr&M7?S!b*R`e@;7@Tkex;&8Y{qw`6|D*rK}I0)jzIdI zgKJqTm5uDbO7ssE;6Ez+LznoE27l-m|Iy(O{^B3}t>8aZ+`3h&;boo3$n>v@yQOd^ z72OfIQl)?EK$>7w)(k)IuHq){tKm0PZi5u|1g1^Bw$155!IX>ijRegR!JuDsq+nMO+wW zY@mj`)Ubi7CRGrewnD(KiZxsu@TZ3T6FsO>PwO=%ITRfj7s!jcpvqiY)GgIuKXoe9 zm<%;WMyqjI;XpAsz0O3Wp|mPYP%{2QJe44ZLF>@9QdI}pL-t2PQc!AGP^%J^y3EE` zBe}7n8i|eZ1~RPRzbfm2tg(@n*{H#<#(!y_9*r=dkU+o|@r0MUjv}ao;A=E|HIPEJ zf@C1p;=TtkC+vxi+hk~443fr;M0GXPB{Z*+T4lNdcqKz8P9W>W4iS$sY9;P@0{vvV zra(50djP9UOKS$B$oK@x3cJ^kh-$F0Qmahs)H>5oO`-0yp@xiT}tI$98nE7sMke3bF@2EESO)a#6M zy;dbE;D3N7<4ZS~b?CVJ2iwOw8UNL4Sfb%J2~Dlx0WCyZt?0Nhi);uc8|cC+)o}a_ zJRFDGtfO!%s1y|gx4VMR;);q!ZJ;6QxOD-UB{q$!$_7WTE9An(+Qc?j= zLzZ>syi`qN3XhX4vN@TV4j3PIR25K8rUmHEY8w62713uJBSy)9^>8FYZENHkS#8gUGxNcQteo;5jUse@^xy&kVM1vn) zt-Wz!(zzF?I#_tTU`8VgtuUQ4A^@V=?4H2bf9-4Pgqyv_~kD&@R$7u6SGzNhwJ`xw3NI zB}FEkCiUjJPKr-9K-Pd}VUT(!FDUlhKxJ{MFz)IZO$nuyCVrR%Q$wC68BH!thndmj*R;??&i4H<4%zK zMD8NVUvlTkeJOXX+|!cVQ zg(W5!XfSY;SPUs)I4QBnQo!5jDUO#nE{v*b%KTnk~qrdNS&w?cw|+L zq(j0X-K4&eN=h_nc;p%>9yuGPcGxnoKqF^}{7cc;AyqhH*gpQ1Aj!aX@UKMHB_TWX zS0Y*fEI`x0_!s^s^}xUUf4GeQq0~J2ik5kO&CgH4eeB8qZ=~z!F?I>4o11{(h1D{D zT8+9QwHja}?M6-NG!*qY-J%LDMzG3lY5QFV+K=8_(hGM9*wzcMtqAAg<8ELKoOXqd zA=~~3n!){=>`x{84<2Int3P-kUGfjou1mq6Ob&3D_3!-2=(0|Oj{^!*Y>8iLbk<-c ztEdXvSf?|i6w*`Nrys&;FTfadrd&u-e;M|*O&bXfy#C1^&NnoP9?ruw9iN9cjAu#I z81b5FSX1RSGON+TntB{Zk;5v*h-2wtm8Qh2B1}}YcvU4rP)+a=;Sf&P@#@O+ z4ZYfM^>5ih8`;$Hx*fFJc6|Ka4%*0DJM#ZO+hNuJ=*_U|f6G=__20Y^R{ei)8?5>t zunAUu?H1VI-n$rl9%ZZ6y=L=b=oy}#k|nsq;&cxR2&`JR2?+_WYGQ z9peOOv(5_?Jkxm>T`w-Tt}eRgw`bkKZTFatXO&#j{uM~pUdBUB4L37-l2;VFA{Z(? zM<|Go*>A^mB{vhZ`MSMJQ>nLoKV$~o?A=Pke|ERh@c+hcCHBbXD&0vFw=Gh~-p4+| zE~2}Iz6!(n;``9!VT|3FqLgX0yIFW`y6?{I2k4afMiF00<_HsayvCX`3rZX=pJUaz z!d5~uucH0cW`rawVU=tXb*z>Zv1)rU96{g;Hl5Fg-i7@GPqwEM$A7X@LVWY*a%Fq= z>bu=p4L6WJuuP-z=8aX(tdWNECf=O^XW9tq$tjp6g3lFjljtjrK zwT{o;TeqLPt)t_Rv+wo__-5K_3gct9d9edC>sg^#e4u}CKqY8wIHF&+1_SHrwsm=U z*d3%B!mk{$)Cc>N1cw9^5Bs_3wQoBE>oaE*BsN_QAGj3|n`f*jZT@r*o0j%}kBNA62(IpT`(GL)eo68-;zTOF;mKmGNv0v}z?Z}! zK#@d9ezIbzkNo6IspQBE5u|i(WJd5Mu6WVWj*V;dAOa#-RE+(7eQ!^13e@jlc(_85 z$Kc^axuYJ%oK&J?5#kW@Y|}}&v_iNBgNh@H9ig|kY6qvG4r=b%5O?K+-*Dpf;mwJ4 zbbHu4z5r!&%E!Iat~Gc)ZtwKBaX$~Nv)gkhXdgo=j$x|XIqLpB^ouO?^}@l8ISQhJ zKfYwQ*#QsoLWqoZI3gk@ylzBS&P;f90)IXd+x4RV;dR7mf{TJ=@TS!b{~vk z9#<~gA5YGD$K6{@b}r8gsVqE#h`X(i-6_y3geQ(bC$`0}t${~o9lSTWnNqDqEJ zflAnW7*1`q6R(t^E;!qoXNA!c3$oGk-qC5dbBjv?;i)g2Z;@2u3+uQ%V`0CU2)L`m zbBk#F@T*$Mk0<+KP)vEJL|h5hZnqghGAmi~Msd;;SP=|8ng~Q`nClVq9^|kWgPwJI zM8i4go#9!U5#}?t#EF?5pL@o(TEaNFS*}zppm3kuGjY$JG{i4WD@}34*Y>1mcQ*W>QO9KtH)_oZ>QSoLiu{Xqc*Yt@7+-RyO(!j*7os-H_MAjQ ziW!4d?s@0yC1w^Rxbu*hG5z}0gE4?Wc_maiTlVm`8QU^;!9z7 zH&LFk;sSC4S2LcW-x95Zl3CB-f#35vl=(Azs@k{)S7eVJ50~8@?1{5}Snk~6oV=Nn za@;ZPu;s{=+Sw6i^2LXa#_az;7TbQxQkWVDaqwpRj$^hC?FJSb){Ni)e0VDj>!1_SR8OiEz3$( z)uOaZN?EQc8UeyB`=h{3fp~YF32^3sQtbSMdlJ~rBe2W62)Z9QprCVwGIg8*k4IV1 z;Cr@!uQI_`De&q1_HZ=>ZJfJ^0@BsjYHSX+x z*6KK)-)>!yRwua^S30*n75-13{W=&fDZ7q}0lVH4H8izNlI3$;afnJlraZwfwyTEm zH?rK=;5k`CX2-Z|+T}ZEK0o&#=eC*qU#hC+Bvv%A$809dipDWl)<#j^5p9T8$2oYwQO%?RCBg5-g_63c zSJi5hofl?Zw~NIaIywO_n)dbN#(XGFCAh#{Zx5v&U8-0*q)YwAyyE}{TylU4mJX#! z(X2JuSz^}p0!a_}1&|)!n2&@xM$(UjIY!ctM0$**2OI!M4>$mBj01o%kbZ9C&d3G+ z11-(5Y>u1KXFQ3LK5lWtTrGv$vdZn@cxF%9+4oORFxScR+>u^D3MzOZq;vOrz6*Wr9V#_uhkCqcivbBIHxk{uY<3q-;Kt9)wP6Yr7=AYkL@jQ#{>peuLI z0_Tg6AN%Y%yp)SRtIkP3!J{^qL~Oqsse1mcutH*;IG&K~3lc1qq~QIKta@?0TQIzH z*Mo>8B~^+hE$FiFU4xX9OwIg*7gmG-#R*VH;o{7ef!VVKPZ@(|7bMJ!w$&HS;Ote4 zzx+V5qJO>*=W8BH*q}Ef>l1PH=1cJS42F@zx8zt#z}_cek+HzeE5^BZqDo;^4qKmb zx3|HU+6pkw=1L3RJ#I2lQ)#k8f8*rBw<^GG0{nVKz|FXA>`jBC`~q=Kw^|2`6HfFA zG=Wt}7+ulqNn6LGM~e=g?=G{oI5INyU@2iAQ6#Q5CqsW$ei;7PrUNBBd{`Da)pl|T zQEV0I3lgIB6jJb5awDuE(0yxn7koB56)aK{yclXlpMYm-BE1ujyLf}c;a^lHv6yB0 zw0^rqnecs3?9KuI1%+-n<%R3p9~W>ff$*@W?ppZnnLWPm-Cgo-h3_svx+0UzX%#vS zmB?rO|S2ziqt%d~tG4-skQednCb+=cz*oDC=Nk2`sX4?;XYzZiaZ zrbFLd;nL&Enu7AZv>wDw;qQfXzA*DK!?TnA{qb_L0V)C`f^!u14IeJ^CFHbJN(aI5 zS=*wwaC{+K&%C|~Pt$zF5Aj4-rVm%{!y!IjKo!KnOjmR54gg+?nValaPmx+kD$i1W zQHaea^b~D4c&{zi8%XTESw48zD7zPtRkx$%Z80QCNbwdqOovyG)cw!)$nre< zVKjd%pHOlBCx2hKp&FHE@gmPphSP}POYEmL^z4Q#-QKd>+Y!6>F+pi0o4CNzu!RJB zWkRAC$!#``Z{&uHN0fH%xxh#U&C#7`Z8!qcW#q=UbQ68y>-P3`2pp{Z+q8f{WQPP?@2_T(ExPmMQF)3L*ATsvB<{X z4&|uR74%r-z$xVnj>u&_Ba@GHEw%6DEZBEKz&UBSn$p6kSKu@PfACsDalewJm~zM& zqE9|i#jI17V(GK67mF&CW;1x)d+p%*2n?E4H1mpD-SrA@!E?Sf@eG(ZP*Q^uv601s zI2Kaw9ONCdE}D1ks&~WW|Y`nl#trwFWXF;Q#D@Z(d&A+gx ziGAjb_B0W;!1`s5`6lwrQN##DI7C^}81S*V%l%w?F?_jvm&Qd}6g*RN9r>pRMklR)2T5X-%y!wbq?#weK|g zZBf~x{?0nW>%;n$_4OUWYBlT1I(^6C;J*(?E$ehXT3mhnqSWuMzMTH`^~(qOi~4mo z{JepBsyqCmojT(O&$9Y-e+sbv*U!rL@nU{=^>Fyt*Z%1{4tq5E{K+3_9}H{Swyfz% z{mklhtZBE~vQAp9KK!u19k@TTHhs&&W&#*qZ&__?(`!Llo57!St<6chwHd!}TUW={ zqSos7tz+mLzs1J zUsPo_I{NYbYGeIqv3~qHet&O$oX+lu_s?||aH_lx-Qj| zyDRO({OZeKZnfkKpt(7jL;2^^?_ZBTg>ZfA;qb8Tk2@dkp#0Afl#dba%c(qms2f&G z|D1ul{CZf|#t(Dk-8r16@E2dd4DN=X4WKi%dhNp$Z(r3l@XWQuwk3P{@T9$mZo!)#6c)Dd>Zimq(%dhVT zE*RHH=uc#fgrr+kO)vfiwU);$@<5tW1(VKn%mqORIBgbm@z#~}$>)Yw{56e2Y+HJXJ zL75Bxx4LZ)xIeUpkKnkvm)$P z{jwj_Kk$0EKki`LPzH@44_xa^*E zI~KN`Q8pF)J0Lsax!)gvEPGwScOU*cX?KBt>rcRk`w#LE__aD$?SS5S5Bmo^3|j9W zT;3Mr8@jP+bz!uCh9z4;IRw2;|E|^=pLe0H?w{0e)%7iuDU7eBF2D7xeueHYyRD(q zYxTz<6_9Cra|v`#V1%IUi*b8lorwD$-Y>)ZKHjgw`zyTn!}}@Te-H0ny#Ep2Z}9%F z@LtDz#X30-<At+@eG%}}{z=ERm@E&!^`?idjn#VJf!NnNhj6@X zPdB}GYwDi&x}9-b!?wGB^xc!THNE$EJ*TK79WtJS{$143-?s6FdV`=^^@&w5Pb z*R$}yZ!+-z=(gHv{6DRJ8h_dEq7C&gTdUsGbFr6TTWzL?gQHd#N**h?S%Q2X5aV+3|_NN^uo8Mkw}8%jy6;U}pEp$Bqx(5X zwy#00VXR-8QrdeMf&{OOUD}Kh>O~v)_J$xgIutCWPW-0Zg}5qoo@y>4)<2S2KouU>i&viM9j8fJWpa}C*TizC_@=|;qZr$ zdxH+b*piO+!KZ(LvHWv$DCoC0rvt^Sw#xBjr! zItQ6Ce+gyiCkNI=7}sRphokS-Lz;@GlSObCBK#4|Q~kd@Qi+$ig;l@*Nh^s`ace zrnDf|Kv_5Go5Q#hjdQa^oI_ZQEnbK6gjPQsEBTUSyqMmDFQ|#~nKk`@V+yYO1KB&q zx*quxi~;X0@Fy6%+LI#}ZH&h30@~#6QyU%kGT%U%}rg;Fa%Jt29rrpT$Yp^)ii4PkgY|kt;Omn`Hqs9C75tC&+52dr$Dewk zEwS;+u%#2!gMRzSMcom40J;q}&_6xu^jj^%lEL48ZCPIq4?Aqkt^Q;RW8CZXHWt_K zWlObYH1@q|kHy7DrpFm})JES(KB0~J+3lbXO|3bM{b`^>J@oT(cLX|Uh4nF;-pY#u zuxVbplqacH3uVvxNirfGgSpQMjO&Kq&mbrGFhyB)-**#n>yqNufQ{uCWC(Omn4Ty6 zE9FZ}FXd1#r-9zykuSV@y)L27V=e|dJ?;9 z!wvbtZh-fLv?|Xgb8$PvrA7D-%VViRuwKnvfI5II~zOh zaGM2GWo2b%^nr#7{t2ToHlbsX@yZiXON zAhZVX3;yLNgC^D+qRsR5nT(k>5IC^YM}lL)bDvqzwnlA1|GE%*9$U2?9+9-1)L9v-+@-IuBX%% z#=$*XKj+7W?DP6vymXL>-VDdmv=43V)C}?;=UFdW`?M#{qYp z+A@vgs2&!T9BDW2;#ET*fyOc^9)SEKZR$|AP_~f2Uj0NL+?F5K=0W`j z=79^pYboB%WS!Z2<34>yR!-g>xBmXPot$yk-WfN|6Wbji?_o}}3XBJI%b_jv6jsA6 zfQ?^)47JA?+tB<-&5f$)UrXo)fuG?0@mn+~sdhCX;}=^pu1om>yala1tT#-}+j!oC z?gk$cX@@=n%KP``bOvub!h7}}-d)wM{wCfVfj55_@Adom&a(KfviLebM(2kg##eh6 z-_!T;J<8&Hk;T_lGVV5pZ|TBXG$vsS>f5&9M8ZFe;6uG)O1_&+__Z`%Q|SF4lzGfK z>I{8>F8G)>=25g^)2N_7j`}gF8`+z>@qM{}OK0ctCS}V=#|)`0jt_GiYMu+&<~y*5 z|6A>z^B6&RqJ5@s)pKeD#fkcm}kH|LL38mi5RFVVxU>U z*HC_L7IKZDHo8|OS_nC|i#=*XWz0drJjU3L$`~J2M4UxsslyD%W^GTCF$nlh z)yN0lFqBhCZ?G?x^!3K2H{yae(p14ID>%l6eAt}$s2#;VP`{Mu7uO@Aeo;;V*Y+E6 zQQhX%+_=bg&qY2%V-1iW19>c9x)6gZzcui<#+3drFb0sma_fzF&_KJU;AoNm>j4dO z{a+)V%TPb+cYxzEqJDWp>7GpNgL3+I>?6kq{yeJ-xhCG48CkG0vQW&(g8j3y@CJ>{ zm`3fGMq`)axEvapF^$>@8l8K_7Cp{AGoKz~eIxUm;}YpR1N}Y?{UpWPL&e()@+6 zhHHyVYcjF!oYfB^_HmVd5d74PqI{;swi9K=ReD0^NN^3(Rk}jPizq{i|KRUx$U7Mm zQodlAs~04#Db~xk%WXL)0cJCv|5<+#+E=&yW~3L%vKjGRLq1K6+Z@@1F-`M*Ry7}m zPf$$t3w9#6U%@9H^Qj=#Iw?)PGH})mmiF}5B>smhZaNbG!+cY2L{H(v{ zqhrh)$1UsJ@kR4lv#TO5dWho;$}b(}`ZKm$P&s}}jMJn%AIH4MJ2+_?(JY784=U#jpWuzTQ;J~@-{Mmq z@ALRnCqCVPZ!}5zC*9aTvEGY&+*ls9SRVD`Jl|s)!Hn}wsd@hf@85`PxU{Vn*q#@$ z$I50^pgWW6vJB%fT!&P-xDxKKz&#XP#5zT}Mrg*gq8ykn?Y{Ko+le_D#|pF_c7qew7@*jBTQ^%DBc*d`iSL33&{J?rAD{oW?$>@UiS&RhBM{42IIcJ70)`3c1gVvJd8t7yo_2$-^ zZ@f>YNo(fW^)gz|Uhr;etr26OyFw_|%6jbPJ8NYNb0+sBD4gyAr*?Ax2(3+>&{}<) z{Gp}TW3uSeS~0a57ib;+_Tq)sp~PMS*5tvMxq&J61gQN~xR*n&DbGT=9xT=k>$v8R zYgt~EY>Mcwx@=Ou4e4o^Lx?4r8)~%o57(>R>q1YinTmB&XxHj!eMbG^dZt*byl2rK z9omyKbAM#L_y1KIhY^kE?Ee^z2QiHo0!JRLf5vq7Di1Ja_^sG4bITeBY)nWP{XR61mp~ z+tZkg;t9ij1V-_k{smkb<3Oyl$8*kN$LBcLqkSq|tUr&?hQ#|+aDN)-0Y4?&Dw9r? zjTeBI6&7ciJu9lchx;aQzbg}aScE^6y z+j4I!&S76K5rbbv5kT-8pFVUkZHJ zc)ujjj+++AP8aNV8?X#evygv_G;uBIXL*jtrHwno%oQqlv=2w_u>kU;?&D(r)}h!hQ{^MnhZ|-JoztfLVuSXL zsrh3l-G((#HgInt6Mh}|73BYdRbR6X=|$W#k2p417j-Tt-_UU_vLm?n#&+v`fj*r^ zI-2&;2;UZX9@nQl4DR1Y_=amWaX(laWlA@ANV*+xfEg9`aIe-G>j)i>dWqzL<35l+ zcsU?%2F~LHXxX-E(YN}xvTd%jZLF;}N9i^c6L_Tz95V|?+oIJ` zw(mx^jk(qL7JY~5HbM{mH=q8SPd~;d_SEN|(Y~YHDemzX>t`Z|OTLhW&z;0`y-CkY z;1im(S1EuU}Tm=jPTMl!i#cAb^>2RjHA`t*lk)b zy;<=uUMWc06L^O-uxKBk&m3Hv!L<>v`Mx+q#^nB(?xR|VGcixNv5VjbEJcpN@U#Nb zLEs3nIA1d}kbM|p-vh!7e1J4Ma!C373SYRGW)+;5( z6^ME?-frS~NY9NK?H|E)JtHA+>WmNVCo^VSvSA^QF`q=a9*m#xd5d^d5&NN5g5TsL zt|FMgGa&m!7qkJK+eL%X9#W*yHLay-xbLPQVDkh%2IaMfOROt+PWy1oMBfg{>MYS; zleG|Ul*dFpF7`^&dAJhoxjFT8CjE3;OU9Vhbx3~1KK!cUvydO<>ymHNAm4^d-)2kS z6~GUU=DCm^@ToAKWZ?Vy)DB}T@QEPS&e{z<$xopp$QLy*=CC$4wWD|@G;Ql8tJkYZ z8T~W38xnWp=WxH4xL^Mi?!vxQ!TJ3u+=~+T;-ALd$6O}*-6RJP^A#C0#JMLwbU4QA z!e5MIPIV3e=Cvu;B$NH1uWyPmW^qm0=$~y{`U`EVf1z#TFSNb>3vIi9q3!S|+S<6@ ziRYblp);zn&e%hpQH^!RB+?mrO6Em8h&IarN6SjNx6y3T`T{v51s9xUtUU=8zN6@LPjhQ1c%L}bj0=hT}n?iX0K znQI=ngUvC-{B(B#u4O{JZLdNDV|~*WZ!6+)aE6?e2wuCw6)<8$f^Sn0pQ(-|_mBk$ep*-X3 zQEr#BpdHnhXNTdpgT9^~pACkwd6Y+ZVW*GLZ@u)W722Hgyodw*<(fQa=XrESTgP0B z$deeog5fq3XM+uGFqZw9y#8gt5> z%KVIGQ0{Te3&jJyK>N(}#xeQ&8vGldK^Ao}8Hc&DTGLCOTULGGxtpp*cN)<8jqH!k ztHr-9KZRFW(g4R-1|4Eio)`KzbdGs#kPFPq8kFz5I0oV>^;`#>kA3*;mTMcKW3Dbijy&;{0uy2}D#Bfn^jMZ|;7_#+;8qmjsaI*Bv0_cTv2Zzj+69Uv}f zbC}&v#XwC~6?=#R59G;#v3D`Yr#It!F)$vWv#L%9$79p_i=rp!-(h;ZU^_3?sWJO_ zmM=`4_jTwjCFYdHnpE+89pc(EX3NDo0iDxN(uqa;-ndw2UWxth;4izlZxVS9_S)Lu z-ldfZyfNwgm>Zt~j(sqWXMo7(8(OJz#)k0W@qPy3$Mai}--zZ6u5Co?))>nj3BK#r`Y~MxW*yn3D#VL0 zr-?@EAm&ep&X*p7UEpFZFpHyS@~$M#MQ-85Eo-Xp zm?luR<8plGl;WW~#63ExvYlVg&D3*~_0*jWo>mb1c5EJ?eX2y`OX2~xJ(4Msy$4=k z<43t37ths6u}wK@iA!p1xiD7wFpeS^(S1?2F_3q@$a}x=3~0kd9yOyoV+Odtws^pg z4Z4>GV(9@$h6g<6hBkqC8qfbD4h`CWq+$LC_aBX!de>3!Z1v9f)Vol4Kx z%VZ2D_SRX8N8%66oePi0_ldxWrW&I)gy5mPh|dK9jJDx5=$;`D&%&7CLprpN0c4SK zvEWnj3Euf;SmN1G?9cJVz8kGj#GJ2V^Xtdn24-M~*|cVkH)$TN_@cPR`>jMyy@7j% zer~L~_NT_`{M=ZLXsmAcyeM?SD)#@OFCFb846rwm`wEoKO4zJm;;@6~i`um1<;@GP z=;Q52=bpZ14@%aUk~J@qVOPDgBKeMFf1%zv>fJrI1KbPgdDD#KJCfmO-gMNvStR?> zycx+m#z3AqyKRqkh)s~sm>2Jp?Av9*Z;o+Pi{hx`E}hE=8QAc~HP95#djwD1J|!A<>sTV z&Zr^%r$~P~M@4(_LH0;~aj!y$_S9jX1n(O|eDPUP?ESED&lyKKIAOHT(CW?b&JGKP zL3i_9!~9>mJ${b)U6PZwaR)g4+*rNEpBk&?|I}D{G}eiA$E96~?+6sR610;BogGA< z44zdw>ARXLC7spJ4q6ZGlVnT=_MGgy&2jy3f%k|sqjNdp4lqaF9Yybv$!I z?QbAvlKow*O!Y{FP zm1pDNow9Z08>gO8o>Am(ao zGo^Lvs14p@h&qzv9(LTbE@aB=)7=%_N!gncW_KYmu2cWs4EtfH%a1f_!#*19N*D= zPrW-q9NJm@^drP?*0lZT9H&~7a}mx(wvVxieJt?ZDsz9GJ;vPF_MLYI_Tgh6M@{=) zgTHvkt#O_iQyXDEZS{AJ{cZ5wUUp35j@YxB>CdG8o}fSKr<3WYgRqXb`k7)slW1RG z>K)mOPPQM5Xjg;rJVIYo$7bmqmrt=(PwLDVhavK~j=UX(S>96Iun^0NJmu^-e|ZqLignJ;qpnX!URgnq1vUn;_18~#=&XDj2$SRHg9zIdni zd;ZEd3V5@-)2*E~%ANJm@#;%^WE?D(9lzys+twaiPle_e$GB-MpY96vFXbZugwIZz z#}~8tqduc&EyIJLaE9=|l)Ep5>I?%DfN#%i2*fI<0KYOT+*OUec8w8yoD;1L`(kSw zf_JwpKF@-efZ%})H#Y1D;XRCRy+v!Vck+Vx+AE~n_BcvKTW@=%hwX7d%(Akzz3p*K zt?hB#-!$#!xmVh-Q|!Zkd6{~p>fDUR;(2AHRsF8j>Ap0KJu#LN%<)>2O>ON9z-(x> z+d^fc-#>`4w7uGf-6Oo>Uh{0`)HbI&jpYf(vY;{E7yF~*hsH^Z#?rL)g4ZZPKPA5B zR@mhJAfSHi4L5D0hkZ28YJuK5yZ1yNI4299=&Gj7QLG`rC zSLVD_vk9I9IljR((^iwu`;gQ9rZ?wS_hwvVGK{Ub_0F477z2fd(^>& zF6{dR=|#MM>Nm~{tyA|z^gEyU#uO~2=adNEUNGA0z0^X{w+8;aRzn`l%#k*(zMS2Q zvA{fRb`a*%Hf=yBYL0}L#@RmI#<}7%;2H1~+5nF{()p*L-8Ky1NO?)O@k?Fsyf(zk zraf`JvIer?mrPp=yb8!{Bd1LpVAg0))Ace~!W_`;&bixrkvLDu1|B_ao(isY7d%b* zvcD1XRtCOx#M#fY@>zpjpEzt>J$MpwRo*}>z*Ynk#J|>U)($SjJP0OYE_|VNm>Y!M zXoQv813$f=3Oc&DcdSlutBu3M%HpE1HxRT3c?J5r;Byk}(zI|itusUN?GbYe2I1Rq z3T1zN1jngy?> zaYpl__+@=|x^&Kn&Oirq;9ZwUXI-C^jpO>0L-@cr$H1RGTkFyMaE7b1(X==gFi&E5 z_uQQH&gK^qUXFgBp`1I2vtgg!xleAbHW6~(WJ{rY-MiDuQztyDOoZHky@mL=q_LMA z9T?c!!fWQ~K;R9^RkO*CZJqS(`NlYT^zZIN0e9g+tfL{!<4M6P+zcisgrj{7a(rML zj@Qc3dC=zCHgj~|1m?~Jbj4(oV~=bP=FT+79!*gfR!ZCU2=E_6n`3G7GWG~?_c_n8 zM}WH#Ak0#Z4Fwt==h{&JaU17m+pB1xzkT*-Yt1I@T!c+q-Bv_}|x+g6jEPZptwl?%qR+{cT45zIp$BA^iD(DqR7%B8Yn`x8}novd4< z{UB9dnZ>XhKH%hoO&B`x25jp0e?-4V676cz>b373-Mw70s2MT2{fo{Y(a2z z1*e*T<0&{n0?v_b>@{uE@Y*HYLqCY{zwfBJg=AfYfB7iJANoA7b)bP>BOe@TP)fr% z%!QGlLA}YFK!Y=on+veR&3g?zU|Fx4sAs>(aW$v$xQxJS0u5?F1F)qN9DgYq|1dFr zSK+gW@d3Zm0KKSN*ylv`SxfLfg4ImIa&X)*KkWN-f787FW{L5`_(tizW_f*GC;9JH znk>wb)d#e@S$fru^61q_%7NE7MHzJze&-4NA~<#eP6hQd&S#(cTBthpo48ISbIqje z4!kz?HBf!+CHk62eI?+4U#THYBivgTNxCaIUII?xUiGc&=@ISk67_<(o|%9d&FfL3 z?r8#MTvw0g;xMfPdLa9*=feE4Pa=4F9$kwG*{Z~KjYQpNRo6=Jpo;pN<{0Q>f6q~M zc!G8nMYG03Vt%+@4QyeeFDtjNn^a$*2kiu16S5!Ewv&Lfj_ZySbq!VbHc|I6uA7`M z3sv_fQTL2|-+L<>ua=lEj?$Nn#C!qUjr!2(MB}X_@l4@->qd1a4t?DXanv^FoZVh?kQ4Wciu5q*9E&4#I{SCw;Gh&e(|aJ8o^gP~T^9 z@ccTRb@#&Pn=P2b92HGGe`4VJKYarL&qezNm;3lIU;3z>6gX37gK-}n%Fc1eSNk1p zh^E!v2zlmQ-c4_cGprkN1_AdSiG4nF?kr%8i#)c-w>%G+i_^tAr6tp){-ZjYTvW_9Y31hgo=at6<-#OklHZk;}Z)?$a0ooHII>U@- zqnZ3R1LgUFO%rkF0o^f!-z0SDthYh<;<;~oUA z_HE)wkgqtF#NJG?W+L{eB=&h`dGlm3*RWJy^u3^VTizRC;9m11l#zJ9C&Tqkj%zC1 z2cY7+8@T4p`LVgAxlP|xsp32`hjh0rv_F>j58dIn4)J`|>PUPCC;%(lSOaa32DDD* z;(0FI|E^I8I$!iyW{d*wHy)ID8X z=rBjffiBiFm^dG(C%!%9Af4o#cWh7H17fIsR~6dpS!iQ_g_i*JI<31fxei71-n~7g zZ!gh4;4nlTq8Yk77W=!}N~WY-fZW}J?4Zqp|LFTd_+5x#!Ei68J36!RT@ZG#&(X%? zj|O9jw)7nVeD}2Rk~AvT-S7_f+DpVWQlU4ublp125H=AJSbJ_nT1kMrouo4hn=x2x(N z0sg1t^cv;Vlya&`Io0s@&&z2^%Bd~nwB3>4Lql0}rL2jwfy|S(0{3U@v^QJ))@)7L z4WtEqql?z>TqzrNbnl&^cRbF{#T}}khg)H^PhAIlr%Bpw%_Bj3v0pc_mJGUC?9)Ko zE#YW_4~Fbp>Vv|cp>q}KtV=rUlFmB*{*!d}L|L!0c&*uI^i4;ivo5|jrRZ!6I)_q6 z_z61uL}#TVv;>{ye)^cs;+ttOm)&RjjxDW!qpx>6Uej2eGseXIK8i-Dr(OJ}qkDT1 zpASga^`-8`yIYRve1h1Q_SlfR;?W6G^LHV>e`BcmEAH|zB@b!t@VDmvo`>I1vW}6y z(cEtvbhhHJ&;0~Xe%0Vf<|}^jj12L)@1UR1*Fw z-Qg>~g=ELyFj0O0XNUL=xkJ|$_YN6Gy*DvW22C5Zv_aqBYN#_EVM%?fswnF)(mOPF zX>5_*6n7EZ89O2A&PsUCG`_1Nj}kgNHbf{bpLeEQ6$6YLl{3YUeqZ< z2T^~_l=~gbZmG{`e5Tsw2)N=-P$N#ra>!e|$gtj&1eG-d)G@g{5`ae;J>~ zR^PFr`($XpMsyxSeVdiyF1#l|-LJ*v-r~wjXh;5kq))tSF~*IE`w*XlL7KNqhWf;6 zyf8%{(2?kW7GMsv>E0xk)>+&V-#}`kuO#oRtJ3`odLb|p@sTO?SD5PW*-iJy=^pNj z3gQkyMIG;rQr|t2dw_n-|Dn4F@jG{b#}S|pT#|A7DhDDFFF>A7Zf`r;eF^u6L^ z?Tc4r?l6{Zx(EGq9q(8FzO1jA@ap}kvLo-d$u zj=47wcVNgn!5ryx$TNxJehHG3hWb{R(ly4P(KQ@(4U@WtNnOM6_s{DZp7u+{`Bc_W zHg=PUpM(r5A5>4oPr8Vok~W*-r)=D0rf9cG(T?JN>Nl3lG2Vs6MPKCm_wbCdZ!n0n z=ng_20o*1d*=Fm9ny@hkPKusGn|za#^H9(;3>$^tQ+`2)|H%k28{Q9?Q4+ zXXKmWc=V}AzHg*_H*o*zPs_L5r(WypVv~^X4axUbOp(zGV;o5+Kddsciw{Gz)uima0^!;mPGdRu(w;DdL zG!e7%Mw9MRGs#z`Jf97IsPSiV7+NBSp~X3jQalGIe`XGrxY#@VepN@fs#QV+N(pU0K=4?0rUqrbB7WUMW}$18OzGwU=*8*D?oGzOSI$5`$qqmLj4 z=!)-aHrNaO%SfN-Z|j4S&tnT1%N z?w-J$<8UovEJK%f3~_On9LRh#Wa|Dqb^b`S!91mTKzT}lCGMZabCZB%lNsQH;Q81J z-SK)X^Ei0lYKZkp_#IgA)y;6ww2S!NdfHolg!hDCzv`Te$ZN@Sfr*gCgDpE9b|q@t|`-< z!fn*+Aj@umcM?F`hH9(DZSgJ?b%zh#XRJg2T-@_)$om0oT(^ntuc|P{YaTwA-$-vp z-~3MJ#mL{l+*-sVvFp@I=QONSIiolX`_snk&#aurUb`AA~SXaXDUZCI8mS=%n!OJGDm5%8fS5~nr z^_FXZQ zNGo?ZkLD`Avv8i_J087r)w}X`J5Rl+C?y9sNjbO>a&V*M;6lj(&y|A>@UtQKsb%E=^G*%HPc174 z+wEdG*lzb7IVim)2g0taZ)Xes%X>HEyg+);H)#!+yY?4GaS7Gap`NblahR84eG}`U zJhfFl3+h=>y%(srQT05i=c#%ns8>?;G?%F59v1=>=KOfqIUrXVmDc>vCLx2aoXRK)sHtSA=>+b$=P* zL3&l-!T$;#^j%GqWmD*0mvo{g@_Q+pCfga%&QNn#kMyo+r($QJTT`;YDj{IbaY#;hnpplJ8THQ?l`fQNd3_LMq{!6 zLf&d=Em(B=J*ilhj(o1ILE0E zdDc2@cU0B-5WfS+C01V+@ zP`fqS>-c^gr!Kysmc%38TO;rL6S^3DQZIBg@WuEYeZyY*{!*_}?nK;Su19wa$~)Si z-%?!nlgc2++M*8Khk@rxj}5#(SKMn$ zcSKp-Tex-~WIERC%K)xn-;LXH_huaT-!_9}AA>|6wAZDGK8Hw zNwLwXo9mNlMR&f`Uffk_d_J$-x6kXX&U5wU$Cf^&c29xou``7hG)*Kaz8fPA?-i3V#Fu-KPP`o_`h@f zUo(2f+xY)ZTt?NvMp0QaBA{D;!b}-ys}1niW8A)wS5tK5X3E4$Lj5Rus81rKx7uf* za_nEns+e7qe+(QSZl6+R93QVmWz&d=K!57E%5!m>Dfi;~1=W-IVaE0-i-btex8@!)?Zor{kZ-k`OWITtp3XC z!|eS0o_-Yg&-2=6`Jbg{{`fNbEip9G9|_ear2ah3kA$iqq9&#y@i(FRNInu%u^#JR zF%`V@)M~itsnm9rewFRR^dza!`xswhf^m{ZDjG!3O$+Tf8ie>W@X|th7wISQ=Q>pS zTKpNhIYJt9o{h1-9gn{gD*Y=fQTtrcAR^y*O5bn&vES!3qfVySzMMNr2AOgpQzrYc z3YESTf94Ulm!H{(*-mH{ywCvJJQ7;!FCNcJWKSg1khQg# z9vh@jE#?n7J=Fw#J;1$wo**)oW7Nn9t`|Jk=kQ*0c+PmnnKI3yI>I;N_70ZKFt2^q zw3UT^N7@E?^|P}qt8W{bGWi2-glEO{tm1fdkH`LtflgyoZeV@Gh|0Ir-j2!@ENhdf zT*CGmi{B$XdEEY*#vj+O5&XEnHr6)^QMrfji-WxJKV-_aO!=Dh5yG=hVt80C8hP+4 znR1K0Z@TX@5ZbBA%R%)M;m7aE-?)$9YowFr;g2K*7T+Gy3Kw z@`u9jxz1i5JUzqzILZ*Jq|V+_CGUaG8^1{H^xw><2_-*%(`gr?KYufyrsvw@M1IUk z=TF|rr)jxUqmzj@CvT!k_9tP)3@<$&$UY=eWh5_&)ECKv_D1~TN~R>@$!e7UOGuXf z27XZ23Dc>icZRO##kbk`G8@kdBb*!m;Nc+=KbvoiFU;WMX4sh(SkIk}vn3Kd& z?_Fu%67ekAlcJr8e^1g*P$C{CAuPr1$-X4ww@H)_OvKN2JRiy4mfWlHy?pVA#lSXz>oVcAbjV9zZG=M z5WXGLYl-zMv4^%MeB<_yh+jE3J}>9xL*9wEc}7iZ+{?&kMt;n!{AJ!7S$WLp7hF4d zM*28j?tH+98>EM0=jUqxzEAXM^IRtncSRDvV)@`i=0T)-PmzArn7;>DuEqS^qkL4{ z{~^uyNz{H1%k{W_%|rNx7Ow|DnLAn>^kaW%v`XIxv zjQ-X#ZUxV*P4LXx1<$N?a4X9XH$&g>-TaI5o%~RJi=P?%GHVAGj<<;XERH) z;`wxs<1J3|@T2&5jP-3#dn+CrQu{FPJ>_5Tu>WFA&ncEmF+LN7UyS+Z<9j=%?;PKk z+&uXATl&>~H)-Hx-j_3FZ_7To8GY`)n_sME-q$ka@ptllyqMJwnQ|sJ*0TOaX6=<1 zv-980%pW%+KW;{T+>AcT>bp!lk=YBNW&Bw!lN->`KeDy(vE;L^;ZB13{i0COoQ|$7 zzEod~N4qg_O84%%qIE_lL;@9UF|+xkp*1G=cH^XLvXi3G@NP|R)HJtU0)tuB+(AOG zY2+S0lMjBrUAD2TQQ3>iI+a7JuSX%O?WhrmFsg%POOM=cy0WWGWl8}Ruw0YvU3BTt zj@_f)TwvM7vWX^_Q+b4C`-P)(hvf$>S6aB=$iVU;mTTBvKNs*&FIO~5`FR+Upx(n< z?>T;2leO`^d4}ajERXQL-GZ`K!SduB=hYI+V=O-oa0e!S(M3DP@-xEZ-qK6Wc?` zMexv%9CO8=3DFPn<22qG;_KWZ`~sGZbBB4_u@0ev9fCUQ4jdNRMIBs&MhNcf0?QRB zJ32Aw5Mq+Bc8ld>Ec1a26aLHqTXMT*+_N1Q;LY))j2kF}%izM8>hPXBSiXk$C+0I) z9)7Yd0bWUCYy9#lyl>kTgB3Lm6NMhUKeu&*mH8ej?$HG6 zH?SNu0A8oyvW_{0{&^M3ULDGzP9cWZ0Q~ee;8zEcw{^>f@l8?Sj4245c8c^{33}o9 zi5?rE&k4K7@vHzJ)`szf#U=EoHDEm91K<-@U_3<~%9?u$@6YSUFdnbGb~Vo&v|+** zO=fukluxSXZT7{en5;IgV)@2tvzk?h_v6(XKn>x2!`4k!-WY3FcYJt1vtLY%IN`lF zf%ogut;y<}TWmiA_~)gi$x53(mEnE8^lUP|>8)MfnL+y#tY2w15#D{!1~UQmD;mQ0 z?%;iBodG;Pg8E^r4fyB}Ch&9Ga5Y<>fcdYjk^aXG@EY$XsNRMKnM5#edmtYRy9MLb zYcT$W4)_#w=&!`@5Z)Nd$B0jTvw{BH4fNlx;do!pVLUbMyu&K|-eUG*y2jgQpnPWN z7R-qnl(pMIhq>0X#Y)}NwWl9=@V;h4xo9=l9w;_=e^iG0^)GX%f4zkFR=*D}VebO! zcS9)O50)0=XAP)dK7{gSb!@Tf@jaCHzCiol=m5$u1!&*e3pz}D#_~B|pRgP53|QIg z7d<|(*P(u=4F>GadoFr)*IA!%t_LI52@i_QT)0qwV!-=wT`c0QpX-pH7{P$uuS-Q% z^qP$jrt<{fn?+A^8;y|n3{M4=xPEAIg=p2Ph9u3OK$)py%?o;jvMnjpKiS@yvB7ThDEzPZ!$XJVX7x zhXT?MTuicE=NPj4^(h%xTS`*|C)Yt46cwa8Hk$+=&e^P<= z!GVGNt(vT=mm98r9!!w`D--0$1bK3A3n(AgAm3iK0paTl$kW1x`D^Q^E^dj(9klF@ z<~Po-70f4Adx7^}4djWH1}L8(zeSket{&b_P<~HgKJjyaAC3)_Z;)SSQ-gA0GC}!= z{!G8qaM@rs!TACBRQx`?AIu6ke;%;hMSQ0PoL^91(^^p9nHV_#)(Fpr`T@dk*bq|c z{21_G^l`peFy6`-;Oh&VKVOUzls$T1F>wByFkW^IWm|*(&+CVv-}E`?qp;9M{jtLN zHN*Ke!E*5d^;ZkZtODf|Hb(kXP+$3mgBe5AR|VWp`-J-3n4`YBMSZmnK%dtuIz%DW zHQ8U(f1odG>;UywYk>L@^s|HdSM&M~>dzJ`y)SDyzt8cjXn-~1=S@)mmJHAr9Pn{H z43>+hsK39!dp1P;tP6zq0Q%TN{d;1rP@lK)eak@oUq$Wh7Gnt_MF>!oj9RH+^_Q^zhHFaUUO*}589qN=40{OWhdx`c| z>!LotMf=Dxg{iqnFAsCl7Wo4c^ao04uT8Yqe2?rqmdkalzb1Q5_VOO>C4Lc_9isiO z9%C6#HL(*c*T~*a;xc}XL??TD6h!tPPcEJ>Lz;X-A zKEAiHKL3K{9@+a-EE7Bz%X$~>|09-*G~SX%*<2_epg&MUe*owS<6UF9g7+(G6D-fL zY_HLuI>B-e%Om8{!M3I3CP1A?M1R76)9pO@>*V78|ha8c_z2 z$|8GA?P-lTM1I(e{7Ec(QCY4bi#3F;vW@N~IL4? zOt53%W$gjG!|z~E`|P&En<>VVqlEMTgbaE z^0J6)Bw8KwN%I5XO!*)LjvSmr-IoKXTRnI=XZrKS0cC1KmcQHL>EUkb8KFP1VFG#1 z&EcwlJ6(+iN7FCeCVuk)MEz*|+`nl*cdd(6@8>O|>xCTul47)k$x2 zG3(q`3!S5j)j*?X_k-Cq99q{;mE-E^;J7jEH!p(Tjs4t(PC7U1pnv2%b&g?_)^IvB zx|{CJwbKI_&70Fn_ZA$9_Oy0e=r)0OPV>6jzAa2^4dc3F>*0lMO`p2f^@*)@X3=jw z^jdARlh;P{Va@=bO}SW_c8{jdeShNB^@2AzDs6fjFD$!!+P^s*_pSAF=kP+|2nO$Z z-n+SYsq6TyPy5!zxC_&ub2J_g{KZ4}c3c?DOm|qcy?U$Q zm96Tcb8A1AZ+T&W-#I8&{lRS2>fJs}nPmph{=ReDn6_mb4*LY&;2ZlQZ?FZz}l*YN>gz^eK_9RIlLLD zahuhL(X8#&?~#rmGvKfGkE<`en^G{ku7-VUisJxU5|1_v_%tk*#)#}ryoz>O1*WLZ-kq?i2dW5w;CFy!SeBa0EfGmTTPtrH4$%Ty)}Cp`in}>yILhnfBf8Nc1A=4M(%5^=L^*wRcvsUrEcsVm==Y zRy)a>yZZoe=m)^&(aosOf?zc3PdA@Fl|S1-^XcJXv0ROStteF3EbIj{XEA)5j;_j| zt_%hhA@4qYs^!y(-fj=B zqtIJN=uyqu(~5Xj`##pJt=kdS)Hn$!jkSUeSl9aZ@EE|}`SVeIxp){YR~xFe|8elN zgz>Ff{%rJd|C={jT~cfKp~Y|Z1NA&eJ%4>4_VZ%;v<3E>9;P6QM@mIK^qvCHIlmM{ z@o7#EYV+oJ5yI?HJfNpH5JcL#_C`&&SgxV$2`4>|q3Vi&6`hRSTUSZy9gUzelR z({he#Hc>OFxYL>y>g?>M^~NZ!smC~wdzDYvN zS3zr0haM8F-r3!~+-|Xj4XMEFczSam3s|zs3h`GAcCbWOhg?(V$hopM$^156PPK|CvcrVO{Y01$jR;pSQHi|cbZ6* zl+*^jd7apr)(61+#e?E~Fd9w7>x3Rqq!6Z^`jLPWPj=D{#plJmo~W34s^l4{7ioYb z1(on7@%$}~wa_J(1rp3{7)%L-tiLsC(f*1F$p#YSb1+4iLeeID`Xm%ja(KhhU@;t- z{xVn*pXKO<4G}MQQpCiLQ?wM!K%9mksLRFXJ7|gdE9>s0@k{lcs-P^GtfPwAYTGiD zSAnRTCT>(saA!10F-9n>_oXz!ZK0h|5HAxWiXMJ_W5~oYwzqn7ESU-sz$SjhPMLribCHG=*M1P^#-cyx7qZg&*jpC?4>iI}BDFvKR zRfRlKXVpzg*~E4zevqST;%e!KDU{W#$WQ()F+y{(Y^vuw$^gZ0fGh*kpT@@Nttlja z)MZeSj1HnmgSavut%Z)*7OP)&etCn$fBf-F!a>c|E-}ZGBT9Cn9GE;Uk2v71mK}JPj+>mU8S^+99uX>7BJ~Y zZ8t2uW`?iWmK?tt(EjSG@Kq7x%}ET=_F}p7^%s`WgNV^EJDn3!{C9}rzV1RlIpcUs zWhI;ELj|fTkZG0yEw9qCLcYRDJQm($N*V-l{CHYMGj%Ud5$%tz{9p6&-w&=14-&8L zP}Cd1mekls|0uwSM*leaw?N5D+~d^<#o$j5)_+Y-9+0{xRAm54k~#{2XAjd6#A&}p zq4sY{ORoa^gmVk$-+16{2#_2StnS3r9zV5SE=^C62I+SS5D=3<1HCYP=X;ezc6%$Ne#cn4@Jt`GTVOy+7y;#-q!R5Nh|HrmK&yUxU%~?(-e8 zc}MXQ`1*MTLGjK`)Xz$ofX|Bwh$14fdJ6t=byO(C#lK%2U0m$SA+eZIhx;te$pSoh zc$z%`xc*|eL650H*uf-y-Q5KxipcDwX|Y^{AK0sK|FQ8K&f(Xne~hnpw#MPpIDYXz z4;S;%ZbW}6MZdAnBJ$e7shlJ}4l_~w94`IUXvhEj+?zguqeF9RSE2?OfwoS{bK!@E zCDcxmxA>G$+jhj1*cZg)f8E!GTD$z#YF@Unh-wdtycdivOZ!gUuntKpT(%O08`g9# zpW(p~+2G4{^poCnUiTZ)NxA$6dcmq(7WcK@{J9q#>6dlrTbk2{rxjHYP-?IH*j(f* zF3bDXMR;lLYrvA#D5;r(lx6{wDTFyn3V_mBZknShOpV2oO{Y5_Ki>zlhmrSjmkjah z@9gt*H1}5HudBViU6k|w4*U1je*itef=@4-`#AhBC#?lrE_)lP15Lv2cWzf%qw~96 zt=LsVzx@66>%ScQ+rRzGhkyI0U58ZDt(?Rt;;eet^-hrt- z^aGW7i=K-7`|EO~-lQ4;Q|>ZRMd$TZ^mCu;N4DxpfI{y*D)2Di$D^1G8cGRhrZ!#H$$MHyU%?1|LBH|Sr;kcXKSJmZdV6sP`UMrsS5f!nitPxx zgMSXwCHSz)&_8&30QL6y^XJ~uBhgml`u%TOxVkzloE@K?9G)K?M^87atAGEGs8lB6 zc9Rr=r?>R<{#Aqz2wv$zr3Mw}(Cpk{G=_ZnVql@q*hnxb<*sN7uJx-391UheFm0{ z*0nq6=j-SnzaD~f`}dW=41EiU<49(!(9|I3USGwGqM`b)X)1n;IPf{CQev4=xu96B zWSYh5CL?XiFGd7N82)yZmipj_r5=a_z{bK|MGsu8I4xcUokhT&(n-Gy#ZT5lH2Y2E zb!8i=vfivMvt*+7>}iFS1wW(~daH}k@+-p_N~Qk_3dqy^uYft+ef0z9NswO#@oxb5 z;}2Sx&3`F@ORy3(nacSV6<09%R?EdSpr?L7Db?W*5}E#`2EY9V9*2MlBHtV=N1#u~ zi&eW($%iGJ1!?bp`@CA{y;ToufAnWPZ**`^*8I2MP*X|3zYoY!C^gYd5okn~ZyUoa zF$Gh`X9e>V1=PnBgqm|$1APmF{hCUx9@Ui7bx(HFT=*XA<>FHhF&`(^gc!Ai`sc| z-pjN*J+oz?iT?TiJ1~2Kq;J*$I*JIDsttM%JzDeeN5Lg(3tR*hl6i?~ncdglDFGy9 zAkISN=#Ny;y)7jmKFiHpB9ury3nv|?$Xntj9gz13`{p~)ptHsEXy+XoO89_@QqC$W zRSNZU&YS(Lg^e~os>`=a-J5NhhC7$Z0)l-d{!g*4A!^MJoi zkSH1uYC+B2k7Ck(e5dJWGEY^^mwud$hJNqk*OaCfv&@(e9~M3sCpFQ?onXqB;6kLA zJ0C~OOYTu7cGCEFMc1%)_@0^ffd-o%dIK=8oLHUTMZKP1Stbb=={q`p#X6s z$d9NahLxiWS8rQUxhQ*nbY3Xz@8HbM69eHskk1(DZ0$e)_U%RbIoK|RM24$xO|o~? z&2I?*ZT^oOhQ<%h#U;a|UEc|5`(BJluZo)rCuyXj~RPhS5y|L0uD zpMVfm=ua1e$=4qOx}Z%Dzux)q5S;d%Uw^%W-~|};D-PyY64+k>=;Dbg?SDY=>iP5C zWb21T;G*{&<6pXn^DX2)^G}cjw>7JKuV%)za^S`vQjUb@xB^ z{}$)9_CF?t|D)VTw!8ns4WlXfC)*}vAa44%D`-62`Is6iPUBxyG64XA1HMM{^X+dR cfT^aaszJ>PR20+i_3OX6Z8b0L=q+Q~&?~ diff --git a/config/www/community/frigate-hass-card/live-webrtc-card-dfc8f852.js b/config/www/community/frigate-hass-card/live-webrtc-card-dfc8f852.js deleted file mode 100644 index c0b14c7b..00000000 --- a/config/www/community/frigate-hass-card/live-webrtc-card-dfc8f852.js +++ /dev/null @@ -1 +0,0 @@ -import{s as t,dJ as e,di as a,cZ as r,dj as s,dl as n,dm as o,dk as i,bj as c,bk as d,bl as l,bn as u,db as h,l as p,cL as b,bX as y,y as g}from"./card-555679fd.js";import{m}from"./audio-557099cb.js";import{s as w,h as _,M as f}from"./lazyload-c2d6254a.js";let C=class extends t{constructor(){super(...arguments),this.controls=!1,this._webrtcTask=new e(this,this._getWebRTCCardElement,(()=>[1]))}async play(){return this._getPlayer()?.play()}async pause(){this._getPlayer()?.pause()}async mute(){const t=this._getPlayer();t&&(t.muted=!0)}async unmute(){const t=this._getPlayer();t&&(t.muted=!1)}isMuted(){return this._getPlayer()?.muted??!0}async seek(t){const e=this._getPlayer();e&&(e.currentTime=t)}async setControls(t){const e=this._getPlayer();e&&w(e,t??this.controls)}isPaused(){return this._getPlayer()?.paused??!0}async getScreenshotURL(){const t=this._getPlayer();return t?a(t):null}connectedCallback(){super.connectedCallback(),this.requestUpdate()}_getPlayer(){const t=this.renderRoot?.querySelector("#webrtc");return t?.video??null}async _getWebRTCCardElement(){return await customElements.whenDefined("webrtc-camera"),customElements.get("webrtc-camera")}_createWebRTC(){const t=this._webrtcTask.value;if(t&&this.hass&&this.cameraConfig){const e=new t,a={...this.cameraConfig.webrtc_card};return a.url||a.entity||!this.cameraEndpoints?.webrtcCard||(a.url=this.cameraEndpoints.webrtcCard.endpoint),e.setConfig(a),e.hass=this.hass,e}return null}render(){return r(this,this._webrtcTask,(()=>{let t;try{t=this._createWebRTC()}catch(t){return b(this,t instanceof y?t.message:p("error.webrtc_card_reported_error")+": "+t.message,{context:t.context})}return t&&(t.id="webrtc"),g`${t}`}),{inProgressFunc:()=>h({message:p("error.webrtc_card_waiting"),cardWideConfig:this.cardWideConfig})})}updated(){this.updateComplete.then((()=>{const t=this._getPlayer();t&&(w(t,this.controls),t.onloadeddata=()=>{this.controls&&_(t,f),s(this,t,{player:this,capabilities:{supportsPause:!0,hasAudio:m(t)}})},t.onplay=()=>n(this),t.onpause=()=>o(this),t.onvolumechange=()=>i(this))}))}static get styles(){return c(":host {\n width: 100%;\n height: 100%;\n display: block;\n}\n\n/* Don't drop shadow or have radius for nested webrtc card */\n#webrtc ha-card {\n border-radius: 0px;\n margin: 0px;\n box-shadow: none;\n}\n\nha-card,\ndiv.fix-safari,\n#video {\n background: unset;\n background-color: unset;\n}\n\n#webrtc #video {\n object-fit: var(--frigate-card-media-layout-fit, contain);\n object-position: var(--frigate-card-media-layout-position-x, 50%) var(--frigate-card-media-layout-position-y, 50%);\n}")}};d([l({attribute:!1})],C.prototype,"cameraConfig",void 0),d([l({attribute:!1})],C.prototype,"cameraEndpoints",void 0),d([l({attribute:!1})],C.prototype,"cardWideConfig",void 0),d([l({attribute:!0,type:Boolean})],C.prototype,"controls",void 0),C=d([u("frigate-card-live-webrtc-card")],C);export{C as FrigateCardLiveWebRTCCard}; diff --git a/config/www/community/frigate-hass-card/live-webrtc-card-dfc8f852.js.gz b/config/www/community/frigate-hass-card/live-webrtc-card-dfc8f852.js.gz deleted file mode 100644 index e4f138462dc6a4b397eaaf12a172af7e118ab2b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1320 zcmV+@1=so?iwFpYat&qz|7>Y?Wi5AQVsdn2En{JFWG!T7V>o6wH8L)0a{!fAZExE) z5dOYj!KiB{wY2IKON+|zjLmI73@uRf1s&EDE+w8VHZrM^lpW8}f8UXmVr2=^_S1>S z=iVM3j}q%zX}dRs8Dc5_(@CIQILT=7x09OkuTC1uD<>u8YbO=u=S~Wm`~8CEe$8p_ zaTU#_lMUs$lO^@)nij8|%xV6YlRLU|V%09ST1V-lf@wZFJw1K$^x2Z9UrjU-A<1=* zU=0@vAy3E8o)!5J;_KMb(uoCq?ZmRTs@T7~N-;hv9`h%UPk&|JumVfw)1qPq3%{@+ zITEoilr&a1g;hFE_NJ*p$7z}}y=vAVtx2dYg-H=+wW`eY=p-l>TgbI7-ZOJPm9Qlc zJ9W3W0{ap2x9{h3tnftz&J&H}Wcu5ulg~-gGP9EfsVla_m>O)OCAqSEgKA77nWX{H zqgi7B;kV(!RtH=+*5Q0%#7=MEC-(R_wyA^h>Cw11Yvhj^o+Pa>uif{ZHF)%Fb~Nt7 z7=ZKG_EF%LD1cEQEgG$nwfAC;nB>aX&bx#7rjKn5)XrwtPS2(M#*uY*&YsU<(zyGs z&;Zhu%6@qJ>Q0t=zcYq8X0oZO7Qqq?}nay?X~0_M?j{syL9AfH%Sh{u z@XCm~6RqEmyIkkS5q19?@Y#Z zrI0JvZn*r2T^+d1x)T}dFpZ>b{8i%p2o1}*TGvP(V55MH1DSUZz-?@=KM8nYQzhMd z0~}qlsdsV>a(ui%t7Sq>M?2lu-ltC%3#eHxDy#=g<_3eKISi`oXiTv?es}L+w#EZ& zu@WE9Iq;#R_ZhPAlgn$>K)X>DK4wM9uSdLk3jhEu&Y30v diff --git a/config/www/community/frigate-hass-card/media-1a34ac2c.js b/config/www/community/frigate-hass-card/media-1a34ac2c.js deleted file mode 100644 index 4def2bf4..00000000 --- a/config/www/community/frigate-hass-card/media-1a34ac2c.js +++ /dev/null @@ -1,33 +0,0 @@ -import{cL as t,cM as a,dC as n,dD as i,cP as o,dE as e,_ as r,n as s,b as c,t as d,a as l,dF as h,x as p,e as m,dG as u,r as g,dH as _,dI as f,dJ as v,dK as b,dL as y,l as z}from"./card-45855f1f.js"; -/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const w={},C=t(class extends a{constructor(){super(...arguments),this.ot=w}render(t,a){return a()}update(t,[a,i]){if(Array.isArray(a)){if(Array.isArray(this.ot)&&this.ot.length===a.length&&a.every(((t,a)=>t===this.ot[a])))return n}else if(this.ot===a)return n;return this.ot=Array.isArray(a)?Array.from(a):a,this.render(a,i)}});class x{constructor(){this._options=null,this._viewportIntersecting=null,this._microphoneMuteTimer=new i,this._root=null,this._eventListeners=new Map,this._children=[],this._target=null,this._mutationObserver=new MutationObserver(this._mutationHandler.bind(this)),this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this)),this._mediaLoadedHandler=async t=>{this._target?.index===t&&(await this._unmuteTargetIfConfigured(this._target.selected?"selected":"visible"),await this._playTargetIfConfigured(this._target.selected?"selected":"visible"))},this._visibilityHandler=async()=>{await this._changeVisibility("visible"===document.visibilityState)},this._changeVisibility=async t=>{t?(await this._unmuteTargetIfConfigured("visible"),await this._playTargetIfConfigured("visible")):(await this._pauseAllIfConfigured("hidden"),await this._muteAllIfConfigured("hidden"))},this._microphoneChangeHandler=async t=>{"unmuted"===t?await this._unmuteTargetIfConfigured("microphone"):"muted"===t&&this._options?.autoMuteConditions?.includes("microphone")&&this._microphoneMuteTimer.start(this._options.microphoneMuteSeconds??60,(async()=>{await this._muteTargetIfConfigured("microphone")}))}}setOptions(t){this._options=t,this._options?.microphoneManager&&(this._options.microphoneManager.removeListener(this._microphoneChangeHandler),this._options.microphoneManager.addListener(this._microphoneChangeHandler))}hasRoot(){return!!this._root}destroy(){this._viewportIntersecting=null,this._microphoneMuteTimer.stop(),this._root=null,this._removeChildHandlers(),this._children=[],this._target=null,this._mutationObserver.disconnect(),this._intersectionObserver.disconnect(),this._options?.microphoneManager?.removeListener(this._microphoneChangeHandler),document.removeEventListener("visibilitychange",this._visibilityHandler)}async setTarget(t,a){this._target?.index===t&&this._target?.selected===a||(this._target?.selected&&(await this._pauseTargetIfConfigured("unselected"),await this._muteTargetIfConfigured("unselected"),this._microphoneMuteTimer.stop()),this._target={selected:a,index:t},a?(await this._unmuteTargetIfConfigured("selected"),await this._playTargetIfConfigured("selected")):(await this._unmuteTargetIfConfigured("visible"),await this._playTargetIfConfigured("visible")))}unsetTarget(){this._target=null}async _playTargetIfConfigured(t){null!==this._target&&this._options?.autoPlayConditions?.includes(t)&&await this._play(this._target.index)}async _play(t){await(this._children[t]?.play())}async _unmuteTargetIfConfigured(t){null!==this._target&&this._options?.autoUnmuteConditions?.includes(t)&&await this._unmute(this._target.index)}async _unmute(t){await(this._children[t]?.unmute())}async _pauseAllIfConfigured(t){if(this._options?.autoPauseConditions?.includes(t))for(const t of this._children.keys())await this._pause(t)}async _pauseTargetIfConfigured(t){null!==this._target&&this._options?.autoPauseConditions?.includes(t)&&await this._pause(this._target.index)}async _pause(t){await(this._children[t]?.pause())}async _muteAllIfConfigured(t){if(this._options?.autoMuteConditions?.includes(t))for(const t of this._children.keys())await this._mute(t)}async _muteTargetIfConfigured(t){null!==this._target&&this._options?.autoMuteConditions?.includes(t)&&await this._mute(this._target.index)}async _mute(t){await(this._children[t]?.mute())}_mutationHandler(t,a){this._initializeRoot()}_removeChildHandlers(){for(const[t,a]of this._eventListeners.entries())t.removeEventListener("frigate-card:media:loaded",a);this._eventListeners.clear()}initialize(t){this._root=t,this._initializeRoot(),document.addEventListener("visibilitychange",this._visibilityHandler),this._intersectionObserver.disconnect(),this._intersectionObserver.observe(t),this._mutationObserver.disconnect(),this._mutationObserver.observe(this._root,{childList:!0,subtree:!0})}_initializeRoot(){if(this._options&&this._root){this._removeChildHandlers(),this._children=[...this._root.querySelectorAll(this._options.playerSelector)];for(const[t,a]of this._children.entries()){const n=()=>this._mediaLoadedHandler(t);this._eventListeners.set(a,n),a.addEventListener("frigate-card:media:loaded",n)}}}async _intersectionHandler(t){const a=this._viewportIntersecting;this._viewportIntersecting=t.some((t=>t.isIntersecting)),null!==a&&a!==this._viewportIntersecting&&await this._changeVisibility(this._viewportIntersecting)}}const I={active:!0,breakpoints:{},lazyLoadCount:0};function A(t={}){let a,n,i;const o=new Set,e=["init","select"],r=["select"];function s(){"hidden"===document.visibilityState&&a.lazyUnloadConditions?.includes("hidden")?o.forEach((t=>{a.lazyUnloadCallback&&(a.lazyUnloadCallback(t,i[t]),o.delete(t))})):"visible"===document.visibilityState&&a.lazyLoadCallback&&d()}function c(t){return o.has(t)}function d(){const t=a.lazyLoadCount,e=n.selectedScrollSnap(),r=new Set;for(let a=1;a<=t&&e-a>=0;a++)r.add(e-a);r.add(e);for(let a=1;a<=t&&e+a{!c(t)&&a.lazyLoadCallback&&(o.add(t),a.lazyLoadCallback(t,i[t]))}))}function l(){const t=n.previousScrollSnap();c(t)&&a.lazyUnloadCallback&&(a.lazyUnloadCallback(t,i[t]),o.delete(t))}return{name:"autoLazyLoad",options:t,init:function(o,c){const{mergeOptions:h,optionsAtMedia:p}=c,m=h(I,t);a=p(m),n=o,i=n.slideNodes(),a.lazyLoadCallback&&e.forEach((t=>n.on(t,d))),a.lazyUnloadCallback&&a.lazyUnloadConditions?.includes("unselected")&&r.forEach((t=>n.on(t,l))),document.addEventListener("visibilitychange",s)},destroy:function(){a.lazyLoadCallback&&e.forEach((t=>n.off(t,d))),a.lazyUnloadCallback&&r.forEach((t=>n.off(t,l))),document.removeEventListener("visibilitychange",s)}}}function L(){let t,a=[];const n=[];function i(i){const o=i.composedPath();for(const[e,r]of[...a.entries()].reverse())if(o.includes(r)){n[e]=i.detail,e!==t.selectedScrollSnap()&&i.stopPropagation();break}}function e(i){const o=i.composedPath();for(const[e,r]of a.entries())if(o.includes(r)){delete n[e],e!==t.selectedScrollSnap()&&i.stopPropagation();break}}function r(){const i=t.selectedScrollSnap(),e=n[i];e&&o(a[i],e)}return{name:"autoMediaLoadedInfo",options:{},init:function(n){t=n,a=t.slideNodes();for(const t of a)t.addEventListener("frigate-card:media:loaded",i),t.addEventListener("frigate-card:media:unloaded",e);t.on("init",r),t.containerNode().addEventListener("frigate-card:carousel:force-select",r)},destroy:function(){for(const t of a)t.removeEventListener("frigate-card:media:loaded",i),t.removeEventListener("frigate-card:media:unloaded",e);t.off("init",r),t.containerNode().removeEventListener("frigate-card:carousel:force-select",r)}}}class S{constructor(t){this._scrolling=!1,this._shouldReInitOnScrollStop=!1,this._scrollingStart=()=>{this._scrolling=!0},this._scrollingStop=()=>{this._scrolling=!1,this._shouldReInitOnScrollStop&&(this._shouldReInitOnScrollStop=!1,this._debouncedReInit())},this._debouncedReInit=e((()=>{this._scrolling=!1,this._shouldReInitOnScrollStop=!1,this._emblaApi?.reInit()}),500,{trailing:!0}),this._emblaApi=t,this._emblaApi.on("scroll",this._scrollingStart),this._emblaApi.on("settle",this._scrollingStop),this._emblaApi.on("destroy",this.destroy)}destroy(){this._emblaApi.off("scroll",this._scrollingStart),this._emblaApi.off("settle",this._scrollingStop),this._emblaApi.off("destroy",this.destroy)}reinit(){this._scrolling?this._shouldReInitOnScrollStop=!0:this._debouncedReInit()}}function T(){let t,a=null,n=null;const i=new Map,o=new ResizeObserver((function(t){let a=!1;for(const n of t){const t={height:n.contentRect.height,width:n.contentRect.width},o=i.get(n.target);t.width&&t.height&&(o?.height!==t.height||o?.width!==t.width)&&(i.set(n.target,t),a=!0)}a&&s()})),r=new IntersectionObserver((function(t){const i=t.some((t=>t.isIntersecting));if(i!==n){const t=i&&null!==n;n=i,t&&a?.reinit()}})),s=e((()=>function(){const{slideRegistry:n,options:{axis:i}}=t.internalEngine();if("y"===i)return;t.containerNode().style.removeProperty("max-height");const o=n[t.selectedScrollSnap()],e=t.slideNodes(),r=Math.max(...o.map((t=>e[t].getBoundingClientRect().height)));!isNaN(r)&&r>0&&(t.containerNode().style.maxHeight=`${r}px`);a?.reinit()}()),200,{trailing:!0});return{name:"autoSize",options:{},init:function(n){t=n,a=new S(t),r.observe(t.containerNode()),o.observe(t.containerNode());for(const a of t.slideNodes())o.observe(a);t.containerNode().addEventListener("frigate-card:media:loaded",s),t.on("settle",s)},destroy:function(){r.disconnect(),o.disconnect(),a?.destroy(),t.containerNode().removeEventListener("frigate-card:media:loaded",s),t.off("settle",s)}}}let $=class extends l{constructor(){super(...arguments),this.disabled=!1,this.label="",this._embedThumbnailTask=h(this,(()=>this.hass),(()=>this.thumbnail))}set controlConfig(t){t?.size&&this.style.setProperty("--frigate-card-next-prev-size",`${t.size}px`),this._controlConfig=t}render(){if(this.disabled||!this._controlConfig||"none"==this._controlConfig.style)return p``;const t=!this.thumbnail||["chevrons","icons"].includes(this._controlConfig.style),a={controls:!0,previous:"previous"===this.direction,next:"next"===this.direction,thumbnails:!t,icons:t,button:t};if(t){const t=this.thumbnail&&this.icon&&"chevrons"!==this._controlConfig.style?this.icon:"previous"===this.direction?"mdi:chevron-left":"mdi:chevron-right";return p` - - `}return u(this,this._embedThumbnailTask,(t=>t?p``:p``),{inProgressFunc:()=>p`
`})}static get styles(){return g("ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n --frigate-card-next-prev-size: 48px;\n --frigate-card-next-prev-size-hover: calc(var(--frigate-card-next-prev-size) * 2);\n --frigate-card-prev-position: 45px;\n --frigate-card-next-position: 45px;\n --mdc-icon-button-size: var(--frigate-card-next-prev-size);\n --mdc-icon-size: calc(var(--mdc-icon-button-size) / 2);\n}\n\n.controls {\n position: absolute;\n z-index: 1;\n overflow: hidden;\n}\n\n.controls.previous {\n left: var(--frigate-card-prev-position);\n}\n\n.controls.next {\n right: var(--frigate-card-next-position);\n}\n\n.controls.icons {\n top: calc(50% - var(--frigate-card-next-prev-size) / 2);\n}\n\n.controls.thumbnails {\n border-radius: 50%;\n height: var(--frigate-card-next-prev-size);\n top: calc(50% - var(--frigate-card-next-prev-size) / 2);\n box-shadow: var(--frigate-card-css-box-shadow, 0px 0px 20px 5px black);\n transition: all 0.2s ease-out;\n opacity: 0.8;\n aspect-ratio: 1/1;\n}\n\n.controls.thumbnails:hover {\n opacity: 1 !important;\n height: var(--frigate-card-next-prev-size-hover);\n top: calc(50% - var(--frigate-card-next-prev-size-hover) / 2);\n}\n\n.controls.previous.thumbnails:hover {\n left: calc(var(--frigate-card-prev-position) - (var(--frigate-card-next-prev-size-hover) - var(--frigate-card-next-prev-size)) / 2);\n}\n\n.controls.next.thumbnails:hover {\n right: calc(var(--frigate-card-next-position) - (var(--frigate-card-next-prev-size-hover) - var(--frigate-card-next-prev-size)) / 2);\n}")}};r([s({attribute:!1})],$.prototype,"direction",void 0),r([s({attribute:!1})],$.prototype,"hass",void 0),r([c()],$.prototype,"_controlConfig",void 0),r([s({attribute:!1})],$.prototype,"thumbnail",void 0),r([s({attribute:!1})],$.prototype,"icon",void 0),r([s({attribute:!0,type:Boolean})],$.prototype,"disabled",void 0),r([s()],$.prototype,"label",void 0),$=r([d("frigate-card-next-previous-control")],$);class P{constructor(t){this._config=null,this._hass=null,this._cameraManager=null,this._cameraID=null,this._host=t}setConfig(t){this._config=t??null,this._host.setAttribute("data-orientation",t?.orientation??"horizontal"),this._host.setAttribute("data-position",t?.position??"bottom-right"),this._host.setAttribute("style",Object.entries(t?.style??{}).map((([t,a])=>`${t}:${a}`)).join(";"))}getConfig(){return this._config}setCamera(t,a){this._cameraManager=t??null,this._cameraID=a??null}setForceVisibility(t){this._forceVisibility=t}handleAction(t,a){t.stopPropagation();const n=t.detail.action,i=_(n,a);i&&f(this._host,{action:i,...a&&{config:a}})}hasUsefulAction(){const t={pt:!0,z:!0,home:!0};if(!this._cameraID)return t;const a=this._cameraManager?.getCameraCapabilities(this._cameraID);if(!a||!a.hasPTZCapability())return t;const n=a.getPTZCapabilities();return{pt:!!(n?.up||n?.down||n?.left||n?.right),z:!!n?.zoomIn||!!n?.zoomOut,home:!!n?.presets?.length}}shouldDisplay(){return void 0!==this._forceVisibility?this._forceVisibility:"auto"===this._config?.mode?!!this._cameraID&&!!this._cameraManager?.getCameraCapabilities(this._cameraID)?.hasPTZCapability():"on"===this._config?.mode}getPTZActions(){const t=t=>({start_tap_action:v({ptzAction:t?.ptzAction,ptzPhase:"start",ptzPreset:t?.preset}),end_tap_action:v({ptzAction:t?.ptzAction,ptzPhase:"stop",ptzPreset:t?.preset})}),a={};return a.up=t({ptzAction:"up"}),a.down=t({ptzAction:"down"}),a.left=t({ptzAction:"left"}),a.right=t({ptzAction:"right"}),a.zoom_in=t({ptzAction:"zoom_in"}),a.zoom_out=t({ptzAction:"zoom_out"}),a.home={tap_action:v()},a}}let k=class extends l{constructor(){super(...arguments),this._controller=new P(this),this._actions=this._controller.getPTZActions(),this._actionPresence=null}willUpdate(t){t.has("config")&&this._controller.setConfig(this.config),(t.has("cameraManager")||t.has("cameraID"))&&this._controller.setCamera(this.cameraManager,this.cameraID),t.has("forceVisibility")&&this._controller.setForceVisibility(this.forceVisibility),(t.has("cameraID")||t.has("cameraManager"))&&(this._actionPresence=this._controller.hasUsefulAction())}render(){if(!this._controller.shouldDisplay())return;const t=(t,a,n)=>n?p`this._controller.handleAction(t,n)} - >`:p``,a=this._controller.getConfig();return p`
- ${!a?.hide_pan_tilt&&this._actionPresence?.pt?p`
- ${t("right","mdi:arrow-right",this._actions.right)} - ${t("left","mdi:arrow-left",this._actions.left)} - ${t("up","mdi:arrow-up",this._actions.up)} - ${t("down","mdi:arrow-down",this._actions.down)} -
`:""} - ${!a?.hide_zoom&&this._actionPresence?.z?p`
- ${t("zoom_in","mdi:plus",this._actions.zoom_in)} - ${t("zoom_out","mdi:minus",this._actions.zoom_out)} -
`:p``} - ${!a?.hide_home&&this._actionPresence?.home?p`
- ${t("home","mdi:home",this._actions.home)} -
`:p``} -
`}static get styles(){return g(":host {\n position: absolute;\n width: fit-content;\n height: fit-content;\n --frigate-card-ptz-icon-size: 24px;\n}\n\n:host([data-position$=-left]) {\n left: 5%;\n}\n\n:host([data-position$=-right]) {\n right: 5%;\n}\n\n:host([data-position^=top-]) {\n top: 5%;\n}\n\n:host([data-position^=bottom-]) {\n bottom: 5%;\n}\n\n/*****************\n * Main Containers\n *****************/\n.ptz {\n display: flex;\n gap: 10px;\n color: var(--light-primary-color);\n opacity: 0.4;\n transition: opacity 0.3s ease-in-out;\n}\n\n:host([data-orientation=vertical]) .ptz {\n flex-direction: column;\n}\n\n:host([data-orientation=horizontal]) .ptz {\n flex-direction: row;\n}\n\n.ptz:hover {\n opacity: 1;\n}\n\n:host([data-orientation=vertical]) .ptz div {\n width: calc(var(--frigate-card-ptz-icon-size) * 3);\n}\n\n:host([data-orientation=horizontal]) .ptz div {\n height: calc(var(--frigate-card-ptz-icon-size) * 3);\n}\n\n.ptz-move,\n.ptz-zoom,\n.ptz-home {\n position: relative;\n background-color: rgba(0, 0, 0, 0.3);\n}\n\n.ptz-move {\n height: calc(var(--frigate-card-ptz-icon-size) * 3);\n width: calc(var(--frigate-card-ptz-icon-size) * 3);\n border-radius: 50%;\n}\n\n:host([data-orientation=horizontal]) .ptz .ptz-zoom,\n:host([data-orientation=horizontal]) .ptz .ptz-home {\n width: calc(var(--frigate-card-ptz-icon-size) * 1.5);\n}\n\n:host([data-orientation=vertical]) .ptz .ptz-zoom,\n:host([data-orientation=vertical]) .ptz .ptz-home {\n height: calc(var(--frigate-card-ptz-icon-size) * 1.5);\n}\n\n.ptz-zoom,\n.ptz-home {\n border-radius: var(--ha-card-border-radius, 4px);\n}\n\n/***********\n * PTZ Icons\n ***********/\nha-icon {\n position: absolute;\n --mdc-icon-size: var(--frigate-card-ptz-icon-size);\n}\n\nha-icon:not(.disabled) {\n cursor: pointer;\n}\n\n.disabled {\n color: var(--disabled-text-color);\n}\n\n.up {\n top: 5px;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.down {\n bottom: 5px;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.left {\n left: 5px;\n top: 50%;\n transform: translateY(-50%);\n}\n\n.right {\n right: 5px;\n top: 50%;\n transform: translateY(-50%);\n}\n\n:host([data-orientation=vertical]) .zoom_in {\n right: 5px;\n top: 50%;\n}\n\n:host([data-orientation=vertical]) .zoom_out {\n left: 5px;\n top: 50%;\n}\n\n:host([data-orientation=horizontal]) .zoom_in {\n left: 50%;\n top: 5px;\n}\n\n:host([data-orientation=horizontal]) .zoom_out {\n left: 50%;\n bottom: 5px;\n}\n\n:host([data-orientation=vertical]) .zoom_in,\n:host([data-orientation=vertical]) .zoom_out {\n transform: translateY(-50%);\n}\n\n:host([data-orientation=horizontal]) .zoom_in,\n:host([data-orientation=horizontal]) .zoom_out {\n transform: translateX(-50%);\n}\n\n.home {\n top: 50%;\n left: 50%;\n transform: translateX(-50%) translateY(-50%);\n}")}};r([s({attribute:!1})],k.prototype,"config",void 0),r([s({attribute:!1})],k.prototype,"cameraManager",void 0),r([s({attribute:!1})],k.prototype,"cameraID",void 0),r([s({attribute:!1})],k.prototype,"forceVisibility",void 0),k=r([d("frigate-card-ptz")],k);const M=(t,a)=>{void 0!==a?.fit?t.style.setProperty("--frigate-card-media-layout-fit",a.fit):t.style.removeProperty("--frigate-card-media-layout-fit");for(const n of["x","y"])void 0!==a?.position?.[n]?t.style.setProperty(`--frigate-card-media-layout-position-${n}`,`${a.position[n]}%`):t.style.removeProperty(`--frigate-card-media-layout-position-${n}`);for(const n of["top","bottom","left","right"])void 0!==a?.view_box?.[n]?t.style.setProperty(`--frigate-card-media-layout-view-box-${n}`,`${a.view_box[n]}%`):t.style.removeProperty(`--frigate-card-media-layout-view-box-${n}`)},E=2,H=(t,a)=>{t._controlsHideTimer&&(t._controlsHideTimer.stop(),delete t._controlsHideTimer,delete t._controlsOriginalValue),t.controls=a},O=(t,a=1)=>{const n=t._controlsOriginalValue??t.controls;H(t,!1),t._controlsHideTimer??=new i,t._controlsOriginalValue=n;const o=()=>{H(t,n),t.removeEventListener("loadstart",o)};t.addEventListener("loadstart",o),t._controlsHideTimer.start(a,(()=>{H(t,n)}))},R=async(t,a)=>{if(a?.play)try{await a.play()}catch(n){if("NotAllowedError"===n.name&&!t.isMuted()){await t.mute();try{await a.play()}catch(t){}}}};export{A,x as M,L as a,T as b,E as c,O as h,C as i,R as p,H as s,M as u}; diff --git a/config/www/community/frigate-hass-card/media-1a34ac2c.js.gz b/config/www/community/frigate-hass-card/media-1a34ac2c.js.gz deleted file mode 100644 index 1c6fac3eb6350fc057b133d5db70bcc7b21e9781..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6207 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.ot[a])))return n}else if(this.ot===a)return n;return this.ot=Array.isArray(a)?Array.from(a):a,this.render(a,i)}});class x{constructor(){this._options=null,this._viewportIntersecting=null,this._microphoneMuteTimer=new i,this._root=null,this._eventListeners=new Map,this._children=[],this._target=null,this._mutationObserver=new MutationObserver(this._mutationHandler.bind(this)),this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this)),this._mediaLoadedHandler=async t=>{this._target?.index===t&&(await this._unmuteTargetIfConfigured(this._target.selected?"selected":"visible"),await this._playTargetIfConfigured(this._target.selected?"selected":"visible"))},this._visibilityHandler=async()=>{await this._changeVisibility("visible"===document.visibilityState)},this._changeVisibility=async t=>{t?(await this._unmuteTargetIfConfigured("visible"),await this._playTargetIfConfigured("visible")):(await this._pauseAllIfConfigured("hidden"),await this._muteAllIfConfigured("hidden"))},this._microphoneChangeHandler=async t=>{"unmuted"===t?await this._unmuteTargetIfConfigured("microphone"):"muted"===t&&this._options?.autoMuteConditions?.includes("microphone")&&this._microphoneMuteTimer.start(this._options.microphoneMuteSeconds??60,(async()=>{await this._muteTargetIfConfigured("microphone")}))}}setOptions(t){this._options=t,this._options?.microphoneManager&&(this._options.microphoneManager.removeListener(this._microphoneChangeHandler),this._options.microphoneManager.addListener(this._microphoneChangeHandler))}hasRoot(){return!!this._root}destroy(){this._viewportIntersecting=null,this._microphoneMuteTimer.stop(),this._root=null,this._removeChildHandlers(),this._children=[],this._target=null,this._mutationObserver.disconnect(),this._intersectionObserver.disconnect(),this._options?.microphoneManager?.removeListener(this._microphoneChangeHandler),document.removeEventListener("visibilitychange",this._visibilityHandler)}async setTarget(t,a){this._target?.index===t&&this._target?.selected===a||(this._target?.selected&&(await this._pauseTargetIfConfigured("unselected"),await this._muteTargetIfConfigured("unselected"),this._microphoneMuteTimer.stop()),this._target={selected:a,index:t},a?(await this._unmuteTargetIfConfigured("selected"),await this._playTargetIfConfigured("selected")):(await this._unmuteTargetIfConfigured("visible"),await this._playTargetIfConfigured("visible")))}unsetTarget(){this._target=null}async _playTargetIfConfigured(t){null!==this._target&&this._options?.autoPlayConditions?.includes(t)&&await this._play(this._target.index)}async _play(t){await(this._children[t]?.play())}async _unmuteTargetIfConfigured(t){null!==this._target&&this._options?.autoUnmuteConditions?.includes(t)&&await this._unmute(this._target.index)}async _unmute(t){await(this._children[t]?.unmute())}async _pauseAllIfConfigured(t){if(this._options?.autoPauseConditions?.includes(t))for(const t of this._children.keys())await this._pause(t)}async _pauseTargetIfConfigured(t){null!==this._target&&this._options?.autoPauseConditions?.includes(t)&&await this._pause(this._target.index)}async _pause(t){await(this._children[t]?.pause())}async _muteAllIfConfigured(t){if(this._options?.autoMuteConditions?.includes(t))for(const t of this._children.keys())await this._mute(t)}async _muteTargetIfConfigured(t){null!==this._target&&this._options?.autoMuteConditions?.includes(t)&&await this._mute(this._target.index)}async _mute(t){await(this._children[t]?.mute())}_mutationHandler(t,a){this._initializeRoot()}_removeChildHandlers(){for(const[t,a]of this._eventListeners.entries())t.removeEventListener("frigate-card:media:loaded",a);this._eventListeners.clear()}initialize(t){this._root=t,this._initializeRoot(),document.addEventListener("visibilitychange",this._visibilityHandler),this._intersectionObserver.disconnect(),this._intersectionObserver.observe(t),this._mutationObserver.disconnect(),this._mutationObserver.observe(this._root,{childList:!0,subtree:!0})}_initializeRoot(){if(this._options&&this._root){this._removeChildHandlers(),this._children=[...this._root.querySelectorAll(this._options.playerSelector)];for(const[t,a]of this._children.entries()){const n=()=>this._mediaLoadedHandler(t);this._eventListeners.set(a,n),a.addEventListener("frigate-card:media:loaded",n)}}}async _intersectionHandler(t){const a=this._viewportIntersecting;this._viewportIntersecting=t.some((t=>t.isIntersecting)),null!==a&&a!==this._viewportIntersecting&&await this._changeVisibility(this._viewportIntersecting)}}const I={active:!0,breakpoints:{},lazyLoadCount:0};function A(t={}){let a,n,i;const o=new Set,e=["init","select"],r=["select"];function s(){"hidden"===document.visibilityState&&a.lazyUnloadConditions?.includes("hidden")?o.forEach((t=>{a.lazyUnloadCallback&&(a.lazyUnloadCallback(t,i[t]),o.delete(t))})):"visible"===document.visibilityState&&a.lazyLoadCallback&&d()}function c(t){return o.has(t)}function d(){const t=a.lazyLoadCount,e=n.selectedScrollSnap(),r=new Set;for(let a=1;a<=t&&e-a>=0;a++)r.add(e-a);r.add(e);for(let a=1;a<=t&&e+a{!c(t)&&a.lazyLoadCallback&&(o.add(t),a.lazyLoadCallback(t,i[t]))}))}function l(){const t=n.previousScrollSnap();c(t)&&a.lazyUnloadCallback&&(a.lazyUnloadCallback(t,i[t]),o.delete(t))}return{name:"autoLazyLoad",options:t,init:function(o,c){const{mergeOptions:h,optionsAtMedia:p}=c,m=h(I,t);a=p(m),n=o,i=n.slideNodes(),a.lazyLoadCallback&&e.forEach((t=>n.on(t,d))),a.lazyUnloadCallback&&a.lazyUnloadConditions?.includes("unselected")&&r.forEach((t=>n.on(t,l))),document.addEventListener("visibilitychange",s)},destroy:function(){a.lazyLoadCallback&&e.forEach((t=>n.off(t,d))),a.lazyUnloadCallback&&r.forEach((t=>n.off(t,l))),document.removeEventListener("visibilitychange",s)}}}function L(){let t,a=[];const n=[];function i(i){const o=i.composedPath();for(const[e,r]of[...a.entries()].reverse())if(o.includes(r)){n[e]=i.detail,e!==t.selectedScrollSnap()&&i.stopPropagation();break}}function e(i){const o=i.composedPath();for(const[e,r]of a.entries())if(o.includes(r)){delete n[e],e!==t.selectedScrollSnap()&&i.stopPropagation();break}}function r(){const i=t.selectedScrollSnap(),e=n[i];e&&o(a[i],e)}return{name:"autoMediaLoadedInfo",options:{},init:function(n){t=n,a=t.slideNodes();for(const t of a)t.addEventListener("frigate-card:media:loaded",i),t.addEventListener("frigate-card:media:unloaded",e);t.on("init",r),t.containerNode().addEventListener("frigate-card:carousel:force-select",r)},destroy:function(){for(const t of a)t.removeEventListener("frigate-card:media:loaded",i),t.removeEventListener("frigate-card:media:unloaded",e);t.off("init",r),t.containerNode().removeEventListener("frigate-card:carousel:force-select",r)}}}class S{constructor(t){this._scrolling=!1,this._shouldReInitOnScrollStop=!1,this._scrollingStart=()=>{this._scrolling=!0},this._scrollingStop=()=>{this._scrolling=!1,this._shouldReInitOnScrollStop&&(this._shouldReInitOnScrollStop=!1,this._debouncedReInit())},this._debouncedReInit=e((()=>{this._scrolling=!1,this._shouldReInitOnScrollStop=!1,this._emblaApi?.reInit()}),500,{trailing:!0}),this._emblaApi=t,this._emblaApi.on("scroll",this._scrollingStart),this._emblaApi.on("settle",this._scrollingStop),this._emblaApi.on("destroy",this.destroy)}destroy(){this._emblaApi.off("scroll",this._scrollingStart),this._emblaApi.off("settle",this._scrollingStop),this._emblaApi.off("destroy",this.destroy)}reinit(){this._scrolling?this._shouldReInitOnScrollStop=!0:this._debouncedReInit()}}function T(){let t,a=null,n=null;const i=new Map,o=new ResizeObserver((function(t){let a=!1;for(const n of t){const t={height:n.contentRect.height,width:n.contentRect.width},o=i.get(n.target);t.width&&t.height&&(o?.height!==t.height||o?.width!==t.width)&&(i.set(n.target,t),a=!0)}a&&s()})),r=new IntersectionObserver((function(t){const i=t.some((t=>t.isIntersecting));if(i!==n){const t=i&&null!==n;n=i,t&&a?.reinit()}})),s=e((()=>function(){const{slideRegistry:n,options:{axis:i}}=t.internalEngine();if("y"===i)return;t.containerNode().style.removeProperty("max-height");const o=n[t.selectedScrollSnap()],e=t.slideNodes(),r=Math.max(...o.map((t=>e[t].getBoundingClientRect().height)));!isNaN(r)&&r>0&&(t.containerNode().style.maxHeight=`${r}px`);a?.reinit()}()),200,{trailing:!0});return{name:"autoSize",options:{},init:function(n){t=n,a=new S(t),r.observe(t.containerNode()),o.observe(t.containerNode());for(const a of t.slideNodes())o.observe(a);t.containerNode().addEventListener("frigate-card:media:loaded",s),t.on("settle",s)},destroy:function(){r.disconnect(),o.disconnect(),a?.destroy(),t.containerNode().removeEventListener("frigate-card:media:loaded",s),t.off("settle",s)}}}let $=class extends l{constructor(){super(...arguments),this.disabled=!1,this.label="",this._embedThumbnailTask=h(this,(()=>this.hass),(()=>this.thumbnail))}set controlConfig(t){t?.size&&this.style.setProperty("--frigate-card-next-prev-size",`${t.size}px`),this._controlConfig=t}render(){if(this.disabled||!this._controlConfig||"none"==this._controlConfig.style)return p``;const t=!this.thumbnail||["chevrons","icons"].includes(this._controlConfig.style),a={controls:!0,previous:"previous"===this.direction,next:"next"===this.direction,thumbnails:!t,icons:t,button:t};if(t){const t=this.thumbnail&&this.icon&&"chevrons"!==this._controlConfig.style?this.icon:"previous"===this.direction?"mdi:chevron-left":"mdi:chevron-right";return p` - - `}return u(this,this._embedThumbnailTask,(t=>t?p``:p``),{inProgressFunc:()=>p`
`})}static get styles(){return g("ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n --frigate-card-next-prev-size: 48px;\n --frigate-card-next-prev-size-hover: calc(var(--frigate-card-next-prev-size) * 2);\n --frigate-card-prev-position: 45px;\n --frigate-card-next-position: 45px;\n --mdc-icon-button-size: var(--frigate-card-next-prev-size);\n --mdc-icon-size: calc(var(--mdc-icon-button-size) / 2);\n}\n\n.controls {\n position: absolute;\n z-index: 1;\n overflow: hidden;\n}\n\n.controls.previous {\n left: var(--frigate-card-prev-position);\n}\n\n.controls.next {\n right: var(--frigate-card-next-position);\n}\n\n.controls.icons {\n top: calc(50% - var(--frigate-card-next-prev-size) / 2);\n}\n\n.controls.thumbnails {\n border-radius: 50%;\n height: var(--frigate-card-next-prev-size);\n top: calc(50% - var(--frigate-card-next-prev-size) / 2);\n box-shadow: var(--frigate-card-css-box-shadow, 0px 0px 20px 5px black);\n transition: all 0.2s ease-out;\n opacity: 0.8;\n aspect-ratio: 1/1;\n}\n\n.controls.thumbnails:hover {\n opacity: 1 !important;\n height: var(--frigate-card-next-prev-size-hover);\n top: calc(50% - var(--frigate-card-next-prev-size-hover) / 2);\n}\n\n.controls.previous.thumbnails:hover {\n left: calc(var(--frigate-card-prev-position) - (var(--frigate-card-next-prev-size-hover) - var(--frigate-card-next-prev-size)) / 2);\n}\n\n.controls.next.thumbnails:hover {\n right: calc(var(--frigate-card-next-position) - (var(--frigate-card-next-prev-size-hover) - var(--frigate-card-next-prev-size)) / 2);\n}")}};r([s({attribute:!1})],$.prototype,"direction",void 0),r([s({attribute:!1})],$.prototype,"hass",void 0),r([c()],$.prototype,"_controlConfig",void 0),r([s({attribute:!1})],$.prototype,"thumbnail",void 0),r([s({attribute:!1})],$.prototype,"icon",void 0),r([s({attribute:!0,type:Boolean})],$.prototype,"disabled",void 0),r([s()],$.prototype,"label",void 0),$=r([d("frigate-card-next-previous-control")],$);class P{constructor(t){this._config=null,this._hass=null,this._cameraManager=null,this._cameraID=null,this._host=t}setConfig(t){this._config=t??null,this._host.setAttribute("data-orientation",t?.orientation??"horizontal"),this._host.setAttribute("data-position",t?.position??"bottom-right"),this._host.setAttribute("style",Object.entries(t?.style??{}).map((([t,a])=>`${t}:${a}`)).join(";"))}getConfig(){return this._config}setCamera(t,a){this._cameraManager=t??null,this._cameraID=a??null}setForceVisibility(t){this._forceVisibility=t}handleAction(t,a){t.stopPropagation();const n=t.detail.action,i=_(n,a);i&&f(this._host,{action:i,...a&&{config:a}})}hasUsefulAction(){const t={pt:!0,z:!0,home:!0};if(!this._cameraID)return t;const a=this._cameraManager?.getCameraCapabilities(this._cameraID);if(!a||!a.hasPTZCapability())return t;const n=a.getPTZCapabilities();return{pt:!!(n?.up||n?.down||n?.left||n?.right),z:!!n?.zoomIn||!!n?.zoomOut,home:!!n?.presets?.length}}shouldDisplay(){return void 0!==this._forceVisibility?this._forceVisibility:"auto"===this._config?.mode?!!this._cameraID&&!!this._cameraManager?.getCameraCapabilities(this._cameraID)?.hasPTZCapability():"on"===this._config?.mode}getPTZActions(){const t=t=>({start_tap_action:v({ptzAction:t?.ptzAction,ptzPhase:"start",ptzPreset:t?.preset}),end_tap_action:v({ptzAction:t?.ptzAction,ptzPhase:"stop",ptzPreset:t?.preset})}),a={};return a.up=t({ptzAction:"up"}),a.down=t({ptzAction:"down"}),a.left=t({ptzAction:"left"}),a.right=t({ptzAction:"right"}),a.zoom_in=t({ptzAction:"zoom_in"}),a.zoom_out=t({ptzAction:"zoom_out"}),a.home={tap_action:v()},a}}let k=class extends l{constructor(){super(...arguments),this._controller=new P(this),this._actions=this._controller.getPTZActions(),this._actionPresence=null}willUpdate(t){t.has("config")&&this._controller.setConfig(this.config),(t.has("cameraManager")||t.has("cameraID"))&&this._controller.setCamera(this.cameraManager,this.cameraID),t.has("forceVisibility")&&this._controller.setForceVisibility(this.forceVisibility),(t.has("cameraID")||t.has("cameraManager"))&&(this._actionPresence=this._controller.hasUsefulAction())}render(){if(!this._controller.shouldDisplay())return;const t=(t,a,n)=>n?p`this._controller.handleAction(t,n)} - >`:p``,a=this._controller.getConfig();return p`
- ${!a?.hide_pan_tilt&&this._actionPresence?.pt?p`
- ${t("right","mdi:arrow-right",this._actions.right)} - ${t("left","mdi:arrow-left",this._actions.left)} - ${t("up","mdi:arrow-up",this._actions.up)} - ${t("down","mdi:arrow-down",this._actions.down)} -
`:""} - ${!a?.hide_zoom&&this._actionPresence?.z?p`
- ${t("zoom_in","mdi:plus",this._actions.zoom_in)} - ${t("zoom_out","mdi:minus",this._actions.zoom_out)} -
`:p``} - ${!a?.hide_home&&this._actionPresence?.home?p`
- ${t("home","mdi:home",this._actions.home)} -
`:p``} -
`}static get styles(){return g(":host {\n position: absolute;\n width: fit-content;\n height: fit-content;\n --frigate-card-ptz-icon-size: 24px;\n}\n\n:host([data-position$=-left]) {\n left: 5%;\n}\n\n:host([data-position$=-right]) {\n right: 5%;\n}\n\n:host([data-position^=top-]) {\n top: 5%;\n}\n\n:host([data-position^=bottom-]) {\n bottom: 5%;\n}\n\n/*****************\n * Main Containers\n *****************/\n.ptz {\n display: flex;\n gap: 10px;\n color: var(--light-primary-color);\n opacity: 0.4;\n transition: opacity 0.3s ease-in-out;\n}\n\n:host([data-orientation=vertical]) .ptz {\n flex-direction: column;\n}\n\n:host([data-orientation=horizontal]) .ptz {\n flex-direction: row;\n}\n\n.ptz:hover {\n opacity: 1;\n}\n\n:host([data-orientation=vertical]) .ptz div {\n width: calc(var(--frigate-card-ptz-icon-size) * 3);\n}\n\n:host([data-orientation=horizontal]) .ptz div {\n height: calc(var(--frigate-card-ptz-icon-size) * 3);\n}\n\n.ptz-move,\n.ptz-zoom,\n.ptz-home {\n position: relative;\n background-color: rgba(0, 0, 0, 0.3);\n}\n\n.ptz-move {\n height: calc(var(--frigate-card-ptz-icon-size) * 3);\n width: calc(var(--frigate-card-ptz-icon-size) * 3);\n border-radius: 50%;\n}\n\n:host([data-orientation=horizontal]) .ptz .ptz-zoom,\n:host([data-orientation=horizontal]) .ptz .ptz-home {\n width: calc(var(--frigate-card-ptz-icon-size) * 1.5);\n}\n\n:host([data-orientation=vertical]) .ptz .ptz-zoom,\n:host([data-orientation=vertical]) .ptz .ptz-home {\n height: calc(var(--frigate-card-ptz-icon-size) * 1.5);\n}\n\n.ptz-zoom,\n.ptz-home {\n border-radius: var(--ha-card-border-radius, 4px);\n}\n\n/***********\n * PTZ Icons\n ***********/\nha-icon {\n position: absolute;\n --mdc-icon-size: var(--frigate-card-ptz-icon-size);\n}\n\nha-icon:not(.disabled) {\n cursor: pointer;\n}\n\n.disabled {\n color: var(--disabled-text-color);\n}\n\n.up {\n top: 5px;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.down {\n bottom: 5px;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.left {\n left: 5px;\n top: 50%;\n transform: translateY(-50%);\n}\n\n.right {\n right: 5px;\n top: 50%;\n transform: translateY(-50%);\n}\n\n:host([data-orientation=vertical]) .zoom_in {\n right: 5px;\n top: 50%;\n}\n\n:host([data-orientation=vertical]) .zoom_out {\n left: 5px;\n top: 50%;\n}\n\n:host([data-orientation=horizontal]) .zoom_in {\n left: 50%;\n top: 5px;\n}\n\n:host([data-orientation=horizontal]) .zoom_out {\n left: 50%;\n bottom: 5px;\n}\n\n:host([data-orientation=vertical]) .zoom_in,\n:host([data-orientation=vertical]) .zoom_out {\n transform: translateY(-50%);\n}\n\n:host([data-orientation=horizontal]) .zoom_in,\n:host([data-orientation=horizontal]) .zoom_out {\n transform: translateX(-50%);\n}\n\n.home {\n top: 50%;\n left: 50%;\n transform: translateX(-50%) translateY(-50%);\n}")}};r([s({attribute:!1})],k.prototype,"config",void 0),r([s({attribute:!1})],k.prototype,"cameraManager",void 0),r([s({attribute:!1})],k.prototype,"cameraID",void 0),r([s({attribute:!1})],k.prototype,"forceVisibility",void 0),k=r([d("frigate-card-ptz")],k);const M=(t,a)=>{void 0!==a?.fit?t.style.setProperty("--frigate-card-media-layout-fit",a.fit):t.style.removeProperty("--frigate-card-media-layout-fit");for(const n of["x","y"])void 0!==a?.position?.[n]?t.style.setProperty(`--frigate-card-media-layout-position-${n}`,`${a.position[n]}%`):t.style.removeProperty(`--frigate-card-media-layout-position-${n}`);for(const n of["top","bottom","left","right"])void 0!==a?.view_box?.[n]?t.style.setProperty(`--frigate-card-media-layout-view-box-${n}`,`${a.view_box[n]}%`):t.style.removeProperty(`--frigate-card-media-layout-view-box-${n}`)},E=2,H=(t,a)=>{t._controlsHideTimer&&(t._controlsHideTimer.stop(),delete t._controlsHideTimer,delete t._controlsOriginalValue),t.controls=a},O=(t,a=1)=>{const n=t._controlsOriginalValue??t.controls;H(t,!1),t._controlsHideTimer??=new i,t._controlsOriginalValue=n;const o=()=>{H(t,n),t.removeEventListener("loadstart",o)};t.addEventListener("loadstart",o),t._controlsHideTimer.start(a,(()=>{H(t,n)}))},R=async(t,a)=>{if(a?.play)try{await a.play()}catch(n){if("NotAllowedError"===n.name&&!t.isMuted()){await t.mute();try{await a.play()}catch(t){}}}};export{A,x as M,L as a,T as b,E as c,O as h,C as i,R as p,H as s,M as u}; diff --git a/config/www/community/frigate-hass-card/media-67c578aa.js.gz b/config/www/community/frigate-hass-card/media-67c578aa.js.gz deleted file mode 100644 index 12fe00b92373e97c4c5f3c21effc62d6cf6bd049..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6207 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

SZw{_z2V3XUn zw`oT%-1Rv5F;b~&~X-htk%hBG5$YYi?%hDU2W3@-Q4u-`hzVvlX zbXCyC#xfH!IM^mCKDH58OB0%OzD-0`&_>0w7P3CT=-YO&sZ;c)efs<~+3c4QBAE19 zI&a0^GG66f#x#UUu*$0|>;+GH&;iCM8 zx!&;P%N;0k%#=8K&c7Y${{l!?MkR_|MA?O)Cq^ZXdTgQ{J?#DixQEtj$`k9PeCZ&^ zvhKg5Ula6=ig0yKb`~?WTzW-;y+`E<+tvcI-1dg)EnigUd)@AW)i)b!T)GnKzSiqp zJkd*C8wzMlFoSEBfho}#bWrn)Y>ujh3m^GgEs|ZN>Y3_RV&HSC1s?!1FQo0uHjcn` z!?b(XvzoSxi{W3p`-@dIRt}hZwC0s@h3I>9P31j$g6;s$SWIy8%Nr4hpQ~dL7?9%sMJw{nYP_^)kxrC zVtb1YGN)z`(N07@X{1&Iqb&GMGhmBFnvLAx0~JYD$X5ErkB3 zLr8t?xfNFLNot6N>wIljd;8IYu(m@LdpMXDhn;?@yMJGTT^2RPwjJ!NMRFe`nsDGsFi6EWaLQF+>M1UW2p=xBzY#-NDn`l9D$?Oph8=LP*U`y)(^ zZtZio$zHXI;hiPtMn*5UHB_RH9;}n%65np66-gjie0kX`z#eorMUm^KdfNqV^fX_s z4YUQsZ$JtLEcC{f=9?ny<=m>olI)n@k_uvc!cCOnV3w< zPviGc3XqH ze!(-s&lBno@aYe2j(h0}cU{20G5aWgB;%R-EsNLWmHLs4pVe@kagJ#fkdC djCbl+FJ7u2$dJFPu`0%2{6EUSC6#Yu007H`?8E>7 diff --git a/config/www/community/frigate-hass-card/media-6eadcd60.js b/config/www/community/frigate-hass-card/media-6eadcd60.js deleted file mode 100644 index 0dce9440..00000000 --- a/config/www/community/frigate-hass-card/media-6eadcd60.js +++ /dev/null @@ -1,33 +0,0 @@ -import{cL as t,cM as a,dC as n,dD as i,cP as o,dE as e,_ as r,n as s,b as c,t as d,a as l,dF as h,x as p,e as m,dG as u,r as g,dH as _,dI as f,dJ as v,dK as b,dL as y,l as z}from"./card-c642ee74.js"; -/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const w={},C=t(class extends a{constructor(){super(...arguments),this.ot=w}render(t,a){return a()}update(t,[a,i]){if(Array.isArray(a)){if(Array.isArray(this.ot)&&this.ot.length===a.length&&a.every(((t,a)=>t===this.ot[a])))return n}else if(this.ot===a)return n;return this.ot=Array.isArray(a)?Array.from(a):a,this.render(a,i)}});class x{constructor(){this._options=null,this._viewportIntersecting=null,this._microphoneMuteTimer=new i,this._root=null,this._eventListeners=new Map,this._children=[],this._target=null,this._mutationObserver=new MutationObserver(this._mutationHandler.bind(this)),this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this)),this._mediaLoadedHandler=async t=>{this._target?.index===t&&(await this._unmuteTargetIfConfigured(this._target.selected?"selected":"visible"),await this._playTargetIfConfigured(this._target.selected?"selected":"visible"))},this._visibilityHandler=async()=>{await this._changeVisibility("visible"===document.visibilityState)},this._changeVisibility=async t=>{t?(await this._unmuteTargetIfConfigured("visible"),await this._playTargetIfConfigured("visible")):(await this._pauseAllIfConfigured("hidden"),await this._muteAllIfConfigured("hidden"))},this._microphoneChangeHandler=async t=>{"unmuted"===t?await this._unmuteTargetIfConfigured("microphone"):"muted"===t&&this._options?.autoMuteConditions?.includes("microphone")&&this._microphoneMuteTimer.start(this._options.microphoneMuteSeconds??60,(async()=>{await this._muteTargetIfConfigured("microphone")}))}}setOptions(t){this._options=t,this._options?.microphoneManager&&(this._options.microphoneManager.removeListener(this._microphoneChangeHandler),this._options.microphoneManager.addListener(this._microphoneChangeHandler))}hasRoot(){return!!this._root}destroy(){this._viewportIntersecting=null,this._microphoneMuteTimer.stop(),this._root=null,this._removeChildHandlers(),this._children=[],this._target=null,this._mutationObserver.disconnect(),this._intersectionObserver.disconnect(),this._options?.microphoneManager?.removeListener(this._microphoneChangeHandler),document.removeEventListener("visibilitychange",this._visibilityHandler)}async setTarget(t,a){this._target?.index===t&&this._target?.selected===a||(this._target?.selected&&(await this._pauseTargetIfConfigured("unselected"),await this._muteTargetIfConfigured("unselected"),this._microphoneMuteTimer.stop()),this._target={selected:a,index:t},a?(await this._unmuteTargetIfConfigured("selected"),await this._playTargetIfConfigured("selected")):(await this._unmuteTargetIfConfigured("visible"),await this._playTargetIfConfigured("visible")))}unsetTarget(){this._target=null}async _playTargetIfConfigured(t){null!==this._target&&this._options?.autoPlayConditions?.includes(t)&&await this._play(this._target.index)}async _play(t){await(this._children[t]?.play())}async _unmuteTargetIfConfigured(t){null!==this._target&&this._options?.autoUnmuteConditions?.includes(t)&&await this._unmute(this._target.index)}async _unmute(t){await(this._children[t]?.unmute())}async _pauseAllIfConfigured(t){if(this._options?.autoPauseConditions?.includes(t))for(const t of this._children.keys())await this._pause(t)}async _pauseTargetIfConfigured(t){null!==this._target&&this._options?.autoPauseConditions?.includes(t)&&await this._pause(this._target.index)}async _pause(t){await(this._children[t]?.pause())}async _muteAllIfConfigured(t){if(this._options?.autoMuteConditions?.includes(t))for(const t of this._children.keys())await this._mute(t)}async _muteTargetIfConfigured(t){null!==this._target&&this._options?.autoMuteConditions?.includes(t)&&await this._mute(this._target.index)}async _mute(t){await(this._children[t]?.mute())}_mutationHandler(t,a){this._initializeRoot()}_removeChildHandlers(){for(const[t,a]of this._eventListeners.entries())t.removeEventListener("frigate-card:media:loaded",a);this._eventListeners.clear()}initialize(t){this._root=t,this._initializeRoot(),document.addEventListener("visibilitychange",this._visibilityHandler),this._intersectionObserver.disconnect(),this._intersectionObserver.observe(t),this._mutationObserver.disconnect(),this._mutationObserver.observe(this._root,{childList:!0,subtree:!0})}_initializeRoot(){if(this._options&&this._root){this._removeChildHandlers(),this._children=[...this._root.querySelectorAll(this._options.playerSelector)];for(const[t,a]of this._children.entries()){const n=()=>this._mediaLoadedHandler(t);this._eventListeners.set(a,n),a.addEventListener("frigate-card:media:loaded",n)}}}async _intersectionHandler(t){const a=this._viewportIntersecting;this._viewportIntersecting=t.some((t=>t.isIntersecting)),null!==a&&a!==this._viewportIntersecting&&await this._changeVisibility(this._viewportIntersecting)}}const I={active:!0,breakpoints:{},lazyLoadCount:0};function A(t={}){let a,n,i;const o=new Set,e=["init","select"],r=["select"];function s(){"hidden"===document.visibilityState&&a.lazyUnloadConditions?.includes("hidden")?o.forEach((t=>{a.lazyUnloadCallback&&(a.lazyUnloadCallback(t,i[t]),o.delete(t))})):"visible"===document.visibilityState&&a.lazyLoadCallback&&d()}function c(t){return o.has(t)}function d(){const t=a.lazyLoadCount,e=n.selectedScrollSnap(),r=new Set;for(let a=1;a<=t&&e-a>=0;a++)r.add(e-a);r.add(e);for(let a=1;a<=t&&e+a{!c(t)&&a.lazyLoadCallback&&(o.add(t),a.lazyLoadCallback(t,i[t]))}))}function l(){const t=n.previousScrollSnap();c(t)&&a.lazyUnloadCallback&&(a.lazyUnloadCallback(t,i[t]),o.delete(t))}return{name:"autoLazyLoad",options:t,init:function(o,c){const{mergeOptions:h,optionsAtMedia:p}=c,m=h(I,t);a=p(m),n=o,i=n.slideNodes(),a.lazyLoadCallback&&e.forEach((t=>n.on(t,d))),a.lazyUnloadCallback&&a.lazyUnloadConditions?.includes("unselected")&&r.forEach((t=>n.on(t,l))),document.addEventListener("visibilitychange",s)},destroy:function(){a.lazyLoadCallback&&e.forEach((t=>n.off(t,d))),a.lazyUnloadCallback&&r.forEach((t=>n.off(t,l))),document.removeEventListener("visibilitychange",s)}}}function L(){let t,a=[];const n=[];function i(i){const o=i.composedPath();for(const[e,r]of[...a.entries()].reverse())if(o.includes(r)){n[e]=i.detail,e!==t.selectedScrollSnap()&&i.stopPropagation();break}}function e(i){const o=i.composedPath();for(const[e,r]of a.entries())if(o.includes(r)){delete n[e],e!==t.selectedScrollSnap()&&i.stopPropagation();break}}function r(){const i=t.selectedScrollSnap(),e=n[i];e&&o(a[i],e)}return{name:"autoMediaLoadedInfo",options:{},init:function(n){t=n,a=t.slideNodes();for(const t of a)t.addEventListener("frigate-card:media:loaded",i),t.addEventListener("frigate-card:media:unloaded",e);t.on("init",r),t.containerNode().addEventListener("frigate-card:carousel:force-select",r)},destroy:function(){for(const t of a)t.removeEventListener("frigate-card:media:loaded",i),t.removeEventListener("frigate-card:media:unloaded",e);t.off("init",r),t.containerNode().removeEventListener("frigate-card:carousel:force-select",r)}}}class S{constructor(t){this._scrolling=!1,this._shouldReInitOnScrollStop=!1,this._scrollingStart=()=>{this._scrolling=!0},this._scrollingStop=()=>{this._scrolling=!1,this._shouldReInitOnScrollStop&&(this._shouldReInitOnScrollStop=!1,this._debouncedReInit())},this._debouncedReInit=e((()=>{this._scrolling=!1,this._shouldReInitOnScrollStop=!1,this._emblaApi?.reInit()}),500,{trailing:!0}),this._emblaApi=t,this._emblaApi.on("scroll",this._scrollingStart),this._emblaApi.on("settle",this._scrollingStop),this._emblaApi.on("destroy",this.destroy)}destroy(){this._emblaApi.off("scroll",this._scrollingStart),this._emblaApi.off("settle",this._scrollingStop),this._emblaApi.off("destroy",this.destroy)}reinit(){this._scrolling?this._shouldReInitOnScrollStop=!0:this._debouncedReInit()}}function T(){let t,a=null,n=null;const i=new Map,o=new ResizeObserver((function(t){let a=!1;for(const n of t){const t={height:n.contentRect.height,width:n.contentRect.width},o=i.get(n.target);t.width&&t.height&&(o?.height!==t.height||o?.width!==t.width)&&(i.set(n.target,t),a=!0)}a&&s()})),r=new IntersectionObserver((function(t){const i=t.some((t=>t.isIntersecting));if(i!==n){const t=i&&null!==n;n=i,t&&a?.reinit()}})),s=e((()=>function(){const{slideRegistry:n,options:{axis:i}}=t.internalEngine();if("y"===i)return;t.containerNode().style.removeProperty("max-height");const o=n[t.selectedScrollSnap()],e=t.slideNodes(),r=Math.max(...o.map((t=>e[t].getBoundingClientRect().height)));!isNaN(r)&&r>0&&(t.containerNode().style.maxHeight=`${r}px`);a?.reinit()}()),200,{trailing:!0});return{name:"autoSize",options:{},init:function(n){t=n,a=new S(t),r.observe(t.containerNode()),o.observe(t.containerNode());for(const a of t.slideNodes())o.observe(a);t.containerNode().addEventListener("frigate-card:media:loaded",s),t.on("settle",s)},destroy:function(){r.disconnect(),o.disconnect(),a?.destroy(),t.containerNode().removeEventListener("frigate-card:media:loaded",s),t.off("settle",s)}}}let $=class extends l{constructor(){super(...arguments),this.disabled=!1,this.label="",this._embedThumbnailTask=h(this,(()=>this.hass),(()=>this.thumbnail))}set controlConfig(t){t?.size&&this.style.setProperty("--frigate-card-next-prev-size",`${t.size}px`),this._controlConfig=t}render(){if(this.disabled||!this._controlConfig||"none"==this._controlConfig.style)return p``;const t=!this.thumbnail||["chevrons","icons"].includes(this._controlConfig.style),a={controls:!0,previous:"previous"===this.direction,next:"next"===this.direction,thumbnails:!t,icons:t,button:t};if(t){const t=this.thumbnail&&this.icon&&"chevrons"!==this._controlConfig.style?this.icon:"previous"===this.direction?"mdi:chevron-left":"mdi:chevron-right";return p` - - `}return u(this,this._embedThumbnailTask,(t=>t?p``:p``),{inProgressFunc:()=>p`

`})}static get styles(){return g("ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n --frigate-card-next-prev-size: 48px;\n --frigate-card-next-prev-size-hover: calc(var(--frigate-card-next-prev-size) * 2);\n --frigate-card-prev-position: 45px;\n --frigate-card-next-position: 45px;\n --mdc-icon-button-size: var(--frigate-card-next-prev-size);\n --mdc-icon-size: calc(var(--mdc-icon-button-size) / 2);\n}\n\n.controls {\n position: absolute;\n z-index: 1;\n overflow: hidden;\n}\n\n.controls.previous {\n left: var(--frigate-card-prev-position);\n}\n\n.controls.next {\n right: var(--frigate-card-next-position);\n}\n\n.controls.icons {\n top: calc(50% - var(--frigate-card-next-prev-size) / 2);\n}\n\n.controls.thumbnails {\n border-radius: 50%;\n height: var(--frigate-card-next-prev-size);\n top: calc(50% - var(--frigate-card-next-prev-size) / 2);\n box-shadow: var(--frigate-card-css-box-shadow, 0px 0px 20px 5px black);\n transition: all 0.2s ease-out;\n opacity: 0.8;\n aspect-ratio: 1/1;\n}\n\n.controls.thumbnails:hover {\n opacity: 1 !important;\n height: var(--frigate-card-next-prev-size-hover);\n top: calc(50% - var(--frigate-card-next-prev-size-hover) / 2);\n}\n\n.controls.previous.thumbnails:hover {\n left: calc(var(--frigate-card-prev-position) - (var(--frigate-card-next-prev-size-hover) - var(--frigate-card-next-prev-size)) / 2);\n}\n\n.controls.next.thumbnails:hover {\n right: calc(var(--frigate-card-next-position) - (var(--frigate-card-next-prev-size-hover) - var(--frigate-card-next-prev-size)) / 2);\n}")}};r([s({attribute:!1})],$.prototype,"direction",void 0),r([s({attribute:!1})],$.prototype,"hass",void 0),r([c()],$.prototype,"_controlConfig",void 0),r([s({attribute:!1})],$.prototype,"thumbnail",void 0),r([s({attribute:!1})],$.prototype,"icon",void 0),r([s({attribute:!0,type:Boolean})],$.prototype,"disabled",void 0),r([s()],$.prototype,"label",void 0),$=r([d("frigate-card-next-previous-control")],$);class P{constructor(t){this._config=null,this._hass=null,this._cameraManager=null,this._cameraID=null,this._host=t}setConfig(t){this._config=t??null,this._host.setAttribute("data-orientation",t?.orientation??"horizontal"),this._host.setAttribute("data-position",t?.position??"bottom-right"),this._host.setAttribute("style",Object.entries(t?.style??{}).map((([t,a])=>`${t}:${a}`)).join(";"))}getConfig(){return this._config}setCamera(t,a){this._cameraManager=t??null,this._cameraID=a??null}setForceVisibility(t){this._forceVisibility=t}handleAction(t,a){t.stopPropagation();const n=t.detail.action,i=_(n,a);i&&f(this._host,{action:i,...a&&{config:a}})}hasUsefulAction(){const t={pt:!0,z:!0,home:!0};if(!this._cameraID)return t;const a=this._cameraManager?.getCameraCapabilities(this._cameraID);if(!a||!a.hasPTZCapability())return t;const n=a.getPTZCapabilities();return{pt:!!(n?.up||n?.down||n?.left||n?.right),z:!!n?.zoomIn||!!n?.zoomOut,home:!!n?.presets?.length}}shouldDisplay(){return void 0!==this._forceVisibility?this._forceVisibility:"auto"===this._config?.mode?!!this._cameraID&&!!this._cameraManager?.getCameraCapabilities(this._cameraID)?.hasPTZCapability():"on"===this._config?.mode}getPTZActions(){const t=t=>({start_tap_action:v({ptzAction:t?.ptzAction,ptzPhase:"start",ptzPreset:t?.preset}),end_tap_action:v({ptzAction:t?.ptzAction,ptzPhase:"stop",ptzPreset:t?.preset})}),a={};return a.up=t({ptzAction:"up"}),a.down=t({ptzAction:"down"}),a.left=t({ptzAction:"left"}),a.right=t({ptzAction:"right"}),a.zoom_in=t({ptzAction:"zoom_in"}),a.zoom_out=t({ptzAction:"zoom_out"}),a.home={tap_action:v()},a}}let k=class extends l{constructor(){super(...arguments),this._controller=new P(this),this._actions=this._controller.getPTZActions(),this._actionPresence=null}willUpdate(t){t.has("config")&&this._controller.setConfig(this.config),(t.has("cameraManager")||t.has("cameraID"))&&this._controller.setCamera(this.cameraManager,this.cameraID),t.has("forceVisibility")&&this._controller.setForceVisibility(this.forceVisibility),(t.has("cameraID")||t.has("cameraManager"))&&(this._actionPresence=this._controller.hasUsefulAction())}render(){if(!this._controller.shouldDisplay())return;const t=(t,a,n)=>n?p`this._controller.handleAction(t,n)} - >`:p``,a=this._controller.getConfig();return p`
- ${!a?.hide_pan_tilt&&this._actionPresence?.pt?p`
- ${t("right","mdi:arrow-right",this._actions.right)} - ${t("left","mdi:arrow-left",this._actions.left)} - ${t("up","mdi:arrow-up",this._actions.up)} - ${t("down","mdi:arrow-down",this._actions.down)} -
`:""} - ${!a?.hide_zoom&&this._actionPresence?.z?p`
- ${t("zoom_in","mdi:plus",this._actions.zoom_in)} - ${t("zoom_out","mdi:minus",this._actions.zoom_out)} -
`:p``} - ${!a?.hide_home&&this._actionPresence?.home?p`
- ${t("home","mdi:home",this._actions.home)} -
`:p``} -
`}static get styles(){return g(":host {\n position: absolute;\n width: fit-content;\n height: fit-content;\n --frigate-card-ptz-icon-size: 24px;\n}\n\n:host([data-position$=-left]) {\n left: 5%;\n}\n\n:host([data-position$=-right]) {\n right: 5%;\n}\n\n:host([data-position^=top-]) {\n top: 5%;\n}\n\n:host([data-position^=bottom-]) {\n bottom: 5%;\n}\n\n/*****************\n * Main Containers\n *****************/\n.ptz {\n display: flex;\n gap: 10px;\n color: var(--light-primary-color);\n opacity: 0.4;\n transition: opacity 0.3s ease-in-out;\n}\n\n:host([data-orientation=vertical]) .ptz {\n flex-direction: column;\n}\n\n:host([data-orientation=horizontal]) .ptz {\n flex-direction: row;\n}\n\n.ptz:hover {\n opacity: 1;\n}\n\n:host([data-orientation=vertical]) .ptz div {\n width: calc(var(--frigate-card-ptz-icon-size) * 3);\n}\n\n:host([data-orientation=horizontal]) .ptz div {\n height: calc(var(--frigate-card-ptz-icon-size) * 3);\n}\n\n.ptz-move,\n.ptz-zoom,\n.ptz-home {\n position: relative;\n background-color: rgba(0, 0, 0, 0.3);\n}\n\n.ptz-move {\n height: calc(var(--frigate-card-ptz-icon-size) * 3);\n width: calc(var(--frigate-card-ptz-icon-size) * 3);\n border-radius: 50%;\n}\n\n:host([data-orientation=horizontal]) .ptz .ptz-zoom,\n:host([data-orientation=horizontal]) .ptz .ptz-home {\n width: calc(var(--frigate-card-ptz-icon-size) * 1.5);\n}\n\n:host([data-orientation=vertical]) .ptz .ptz-zoom,\n:host([data-orientation=vertical]) .ptz .ptz-home {\n height: calc(var(--frigate-card-ptz-icon-size) * 1.5);\n}\n\n.ptz-zoom,\n.ptz-home {\n border-radius: var(--ha-card-border-radius, 4px);\n}\n\n/***********\n * PTZ Icons\n ***********/\nha-icon {\n position: absolute;\n --mdc-icon-size: var(--frigate-card-ptz-icon-size);\n}\n\nha-icon:not(.disabled) {\n cursor: pointer;\n}\n\n.disabled {\n color: var(--disabled-text-color);\n}\n\n.up {\n top: 5px;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.down {\n bottom: 5px;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.left {\n left: 5px;\n top: 50%;\n transform: translateY(-50%);\n}\n\n.right {\n right: 5px;\n top: 50%;\n transform: translateY(-50%);\n}\n\n:host([data-orientation=vertical]) .zoom_in {\n right: 5px;\n top: 50%;\n}\n\n:host([data-orientation=vertical]) .zoom_out {\n left: 5px;\n top: 50%;\n}\n\n:host([data-orientation=horizontal]) .zoom_in {\n left: 50%;\n top: 5px;\n}\n\n:host([data-orientation=horizontal]) .zoom_out {\n left: 50%;\n bottom: 5px;\n}\n\n:host([data-orientation=vertical]) .zoom_in,\n:host([data-orientation=vertical]) .zoom_out {\n transform: translateY(-50%);\n}\n\n:host([data-orientation=horizontal]) .zoom_in,\n:host([data-orientation=horizontal]) .zoom_out {\n transform: translateX(-50%);\n}\n\n.home {\n top: 50%;\n left: 50%;\n transform: translateX(-50%) translateY(-50%);\n}")}};r([s({attribute:!1})],k.prototype,"config",void 0),r([s({attribute:!1})],k.prototype,"cameraManager",void 0),r([s({attribute:!1})],k.prototype,"cameraID",void 0),r([s({attribute:!1})],k.prototype,"forceVisibility",void 0),k=r([d("frigate-card-ptz")],k);const M=(t,a)=>{void 0!==a?.fit?t.style.setProperty("--frigate-card-media-layout-fit",a.fit):t.style.removeProperty("--frigate-card-media-layout-fit");for(const n of["x","y"])void 0!==a?.position?.[n]?t.style.setProperty(`--frigate-card-media-layout-position-${n}`,`${a.position[n]}%`):t.style.removeProperty(`--frigate-card-media-layout-position-${n}`);for(const n of["top","bottom","left","right"])void 0!==a?.view_box?.[n]?t.style.setProperty(`--frigate-card-media-layout-view-box-${n}`,`${a.view_box[n]}%`):t.style.removeProperty(`--frigate-card-media-layout-view-box-${n}`)},E=2,H=(t,a)=>{t._controlsHideTimer&&(t._controlsHideTimer.stop(),delete t._controlsHideTimer,delete t._controlsOriginalValue),t.controls=a},O=(t,a=1)=>{const n=t._controlsOriginalValue??t.controls;H(t,!1),t._controlsHideTimer??=new i,t._controlsOriginalValue=n;const o=()=>{H(t,n),t.removeEventListener("loadstart",o)};t.addEventListener("loadstart",o),t._controlsHideTimer.start(a,(()=>{H(t,n)}))},R=async(t,a)=>{if(a?.play)try{await a.play()}catch(n){if("NotAllowedError"===n.name&&!t.isMuted()){await t.mute();try{await a.play()}catch(t){}}}};export{A,x as M,L as a,T as b,E as c,O as h,C as i,R as p,H as s,M as u}; diff --git a/config/www/community/frigate-hass-card/media-6eadcd60.js.gz b/config/www/community/frigate-hass-card/media-6eadcd60.js.gz deleted file mode 100644 index 7c57f011670674fd2ab774f1f5de835886a326e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6206 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 c-l<=`c&UCML;kA9su+Lu|K!t===this.ot[i])))return e}else if(this.ot===i)return e;return this.ot=Array.isArray(i)?Array.from(i):i,this.render(i,n)}});class I{constructor(){this._options=null,this._viewportIntersecting=null,this._microphoneMuteTimer=new n,this._root=null,this._eventListeners=new Map,this._children=[],this._target=null,this._mutationObserver=new MutationObserver(this._mutationHandler.bind(this)),this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this)),this._mediaLoadedHandler=async t=>{this._target?.index===t&&(await this._unmuteTargetIfConfigured(this._target.selected?"selected":"visible"),await this._playTargetIfConfigured(this._target.selected?"selected":"visible"))},this._visibilityHandler=async()=>{await this._changeVisibility("visible"===document.visibilityState)},this._changeVisibility=async t=>{t?(await this._unmuteTargetIfConfigured("visible"),await this._playTargetIfConfigured("visible")):(await this._pauseAllIfConfigured("hidden"),await this._muteAllIfConfigured("hidden"))},this._microphoneChangeHandler=async t=>{"unmuted"===t?await this._unmuteTargetIfConfigured("microphone"):"muted"===t&&this._options?.autoMuteConditions?.includes("microphone")&&this._microphoneMuteTimer.start(this._options.microphoneMuteSeconds??60,(async()=>{await this._muteTargetIfConfigured("microphone")}))}}setOptions(t){this._options=t,this._options?.microphoneManager&&(this._options.microphoneManager.removeListener(this._microphoneChangeHandler),this._options.microphoneManager.addListener(this._microphoneChangeHandler))}hasRoot(){return!!this._root}destroy(){this._viewportIntersecting=null,this._microphoneMuteTimer.stop(),this._root=null,this._removeChildHandlers(),this._children=[],this._target=null,this._mutationObserver.disconnect(),this._intersectionObserver.disconnect(),this._options?.microphoneManager?.removeListener(this._microphoneChangeHandler),document.removeEventListener("visibilitychange",this._visibilityHandler)}async setTarget(t,i){this._target?.index===t&&this._target?.selected===i||(this._target?.selected&&(await this._pauseTargetIfConfigured("unselected"),await this._muteTargetIfConfigured("unselected"),this._microphoneMuteTimer.stop()),this._target={selected:i,index:t},i?(await this._unmuteTargetIfConfigured("selected"),await this._playTargetIfConfigured("selected")):(await this._unmuteTargetIfConfigured("visible"),await this._playTargetIfConfigured("visible")))}unsetTarget(){this._target=null}async _playTargetIfConfigured(t){null!==this._target&&this._options?.autoPlayConditions?.includes(t)&&await this._play(this._target.index)}async _play(t){await(this._children[t]?.play())}async _unmuteTargetIfConfigured(t){null!==this._target&&this._options?.autoUnmuteConditions?.includes(t)&&await this._unmute(this._target.index)}async _unmute(t){await(this._children[t]?.unmute())}async _pauseAllIfConfigured(t){if(this._options?.autoPauseConditions?.includes(t))for(const t of this._children.keys())await this._pause(t)}async _pauseTargetIfConfigured(t){null!==this._target&&this._options?.autoPauseConditions?.includes(t)&&await this._pause(this._target.index)}async _pause(t){await(this._children[t]?.pause())}async _muteAllIfConfigured(t){if(this._options?.autoMuteConditions?.includes(t))for(const t of this._children.keys())await this._mute(t)}async _muteTargetIfConfigured(t){null!==this._target&&this._options?.autoMuteConditions?.includes(t)&&await this._mute(this._target.index)}async _mute(t){await(this._children[t]?.mute())}_mutationHandler(t,i){this._initializeRoot()}_removeChildHandlers(){for(const[t,i]of this._eventListeners.entries())t.removeEventListener("frigate-card:media:loaded",i);this._eventListeners.clear()}initialize(t){this._root=t,this._initializeRoot(),document.addEventListener("visibilitychange",this._visibilityHandler),this._intersectionObserver.disconnect(),this._intersectionObserver.observe(t),this._mutationObserver.disconnect(),this._mutationObserver.observe(this._root,{childList:!0,subtree:!0})}_initializeRoot(){if(this._options&&this._root){this._removeChildHandlers(),this._children=[...this._root.querySelectorAll(this._options.playerSelector)];for(const[t,i]of this._children.entries()){const e=()=>this._mediaLoadedHandler(t);this._eventListeners.set(i,e),i.addEventListener("frigate-card:media:loaded",e)}}}async _intersectionHandler(t){const i=this._viewportIntersecting;this._viewportIntersecting=t.some((t=>t.isIntersecting)),null!==i&&i!==this._viewportIntersecting&&await this._changeVisibility(this._viewportIntersecting)}}const A={active:!0,breakpoints:{},lazyLoadCount:0};function S(t={}){let i,e,n;const o=new Set,a=["init","select"],s=["select"];function r(){"hidden"===document.visibilityState&&i.lazyUnloadConditions?.includes("hidden")?o.forEach((t=>{i.lazyUnloadCallback&&(i.lazyUnloadCallback(t,n[t]),o.delete(t))})):"visible"===document.visibilityState&&i.lazyLoadCallback&&c()}function l(t){return o.has(t)}function c(){const t=i.lazyLoadCount,a=e.selectedScrollSnap(),s=new Set;for(let i=1;i<=t&&a-i>=0;i++)s.add(a-i);s.add(a);for(let i=1;i<=t&&a+i{!l(t)&&i.lazyLoadCallback&&(o.add(t),i.lazyLoadCallback(t,n[t]))}))}function d(){const t=e.previousScrollSnap();l(t)&&i.lazyUnloadCallback&&(i.lazyUnloadCallback(t,n[t]),o.delete(t))}return{name:"autoLazyLoad",options:t,init:function(o,l){const{mergeOptions:h,optionsAtMedia:p}=l,u=h(A,t);i=p(u),e=o,n=e.slideNodes(),i.lazyLoadCallback&&a.forEach((t=>e.on(t,c))),i.lazyUnloadCallback&&i.lazyUnloadConditions?.includes("unselected")&&s.forEach((t=>e.on(t,d))),document.addEventListener("visibilitychange",r)},destroy:function(){i.lazyLoadCallback&&a.forEach((t=>e.off(t,c))),i.lazyUnloadCallback&&s.forEach((t=>e.off(t,d))),document.removeEventListener("visibilitychange",r)}}}function T(){let t,i=[];const e=[];function n(n){const o=n.composedPath();for(const[a,s]of[...i.entries()].reverse())if(o.includes(s)){e[a]=n.detail,a!==t.selectedScrollSnap()&&n.stopPropagation();break}}function a(n){const o=n.composedPath();for(const[a,s]of i.entries())if(o.includes(s)){delete e[a],a!==t.selectedScrollSnap()&&n.stopPropagation();break}}function s(){const n=t.selectedScrollSnap(),a=e[n];a&&o(i[n],a)}return{name:"autoMediaLoadedInfo",options:{},init:function(e){t=e,i=t.slideNodes();for(const t of i)t.addEventListener("frigate-card:media:loaded",n),t.addEventListener("frigate-card:media:unloaded",a);t.on("init",s),t.containerNode().addEventListener("frigate-card:carousel:force-select",s)},destroy:function(){for(const t of i)t.removeEventListener("frigate-card:media:loaded",n),t.removeEventListener("frigate-card:media:unloaded",a);t.off("init",s),t.containerNode().removeEventListener("frigate-card:carousel:force-select",s)}}}class ${constructor(t){this._scrolling=!1,this._shouldReInitOnScrollStop=!1,this._scrollingStart=()=>{this._scrolling=!0},this._scrollingStop=()=>{this._scrolling=!1,this._shouldReInitOnScrollStop&&(this._shouldReInitOnScrollStop=!1,this._debouncedReInit())},this._debouncedReInit=a((()=>{this._scrolling=!1,this._shouldReInitOnScrollStop=!1,this._emblaApi?.reInit()}),500,{trailing:!0}),this._emblaApi=t,this._emblaApi.on("scroll",this._scrollingStart),this._emblaApi.on("settle",this._scrollingStop),this._emblaApi.on("destroy",this.destroy)}destroy(){this._emblaApi.off("scroll",this._scrollingStart),this._emblaApi.off("settle",this._scrollingStop),this._emblaApi.off("destroy",this.destroy)}reinit(){this._scrolling?this._shouldReInitOnScrollStop=!0:this._debouncedReInit()}}function L(){let t,i=null,e=null;const n=new Map,o=new ResizeObserver((function(t){let i=!1;for(const e of t){const t={height:e.contentRect.height,width:e.contentRect.width},o=n.get(e.target);t.width&&t.height&&(o?.height!==t.height||o?.width!==t.width)&&(n.set(e.target,t),i=!0)}i&&r()})),s=new IntersectionObserver((function(t){const n=t.some((t=>t.isIntersecting));if(n!==e){const t=n&&null!==e;e=n,t&&i?.reinit()}})),r=a((()=>function(){const{slideRegistry:e,options:{axis:n}}=t.internalEngine();if("y"===n)return;t.containerNode().style.removeProperty("max-height");const o=e[t.selectedScrollSnap()],a=t.slideNodes(),s=Math.max(...o.map((t=>a[t].getBoundingClientRect().height)));!isNaN(s)&&s>0&&(t.containerNode().style.maxHeight=`${s}px`);i?.reinit()}()),200,{trailing:!0});return{name:"autoSize",options:{},init:function(e){t=e,i=new $(t),s.observe(t.containerNode()),o.observe(t.containerNode());for(const i of t.slideNodes())o.observe(i);t.containerNode().addEventListener("frigate-card:media:loaded",r),t.on("settle",r)},destroy:function(){s.disconnect(),o.disconnect(),i?.destroy(),t.containerNode().removeEventListener("frigate-card:media:loaded",r),t.off("settle",r)}}}let P=class extends d{constructor(){super(...arguments),this.disabled=!1,this.label="",this._thumbnailError=!1,this._embedThumbnailTask=h(this,(()=>this.hass),(()=>this.thumbnail))}set controlConfig(t){t?.size&&this.style.setProperty("--frigate-card-next-prev-size",`${t.size}px`),this._controlConfig=t}render(){if(this.disabled||!this._controlConfig||"none"==this._controlConfig.style)return p``;const t=!this.thumbnail||["chevrons","icons"].includes(this._controlConfig.style)||this._thumbnailError,i={controls:!0,left:"left"===this.side,right:"right"===this.side,thumbnails:!t,icons:t,button:t};if(t){const t=this.icon&&!this._thumbnailError&&"chevrons"!==this._controlConfig.style?this.icon:"left"===this.side?{icon:"mdi:chevron-left"}:{icon:"mdi:chevron-right"};return p` - - `}return f(this._embedThumbnailTask,(t=>t?p``:p``),{inProgressFunc:()=>p`
`,errorFunc:t=>{this._thumbnailError=!0}})}static get styles(){return _("ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n:host {\n --frigate-card-next-prev-size: 48px;\n --frigate-card-next-prev-size-hover: calc(var(--frigate-card-next-prev-size) * 2);\n --frigate-card-left-position: 45px;\n --frigate-card-right-position: 45px;\n --mdc-icon-button-size: var(--frigate-card-next-prev-size);\n --mdc-icon-size: calc(var(--mdc-icon-button-size) / 2);\n}\n\n.controls {\n position: absolute;\n z-index: 1;\n overflow: hidden;\n}\n\n.controls.left {\n left: var(--frigate-card-left-position);\n}\n\n.controls.right {\n right: var(--frigate-card-right-position);\n}\n\n.controls.icons {\n top: calc(50% - var(--frigate-card-next-prev-size) / 2);\n}\n\n.controls.thumbnails {\n border-radius: 50%;\n height: var(--frigate-card-next-prev-size);\n top: calc(50% - var(--frigate-card-next-prev-size) / 2);\n box-shadow: var(--frigate-card-css-box-shadow, 0px 0px 20px 5px black);\n transition: all 0.2s ease-out;\n opacity: 0.8;\n aspect-ratio: 1/1;\n}\n\n.controls.thumbnails:hover {\n opacity: 1 !important;\n height: var(--frigate-card-next-prev-size-hover);\n top: calc(50% - var(--frigate-card-next-prev-size-hover) / 2);\n}\n\n.controls.left.thumbnails:hover {\n left: calc(var(--frigate-card-left-position) - (var(--frigate-card-next-prev-size-hover) - var(--frigate-card-next-prev-size)) / 2);\n}\n\n.controls.right.thumbnails:hover {\n right: calc(var(--frigate-card-right-position) - (var(--frigate-card-next-prev-size-hover) - var(--frigate-card-next-prev-size)) / 2);\n}")}};s([r({attribute:!1})],P.prototype,"side",void 0),s([r({attribute:!1})],P.prototype,"hass",void 0),s([l()],P.prototype,"_controlConfig",void 0),s([r({attribute:!1})],P.prototype,"thumbnail",void 0),s([r({attribute:!1})],P.prototype,"icon",void 0),s([r({attribute:!0,type:Boolean})],P.prototype,"disabled",void 0),s([r()],P.prototype,"label",void 0),s([l()],P.prototype,"_thumbnailError",void 0),P=s([c("frigate-card-next-previous-control")],P);class E{constructor(t){this._config=null,this._hass=null,this._cameraManager=null,this._cameraID=null,this._host=t}setConfig(t){this._config=t??null,this._host.setAttribute("data-orientation",t?.orientation??"horizontal"),this._host.setAttribute("data-position",t?.position??"bottom-right"),this._host.setAttribute("style",Object.entries(t?.style??{}).map((([t,i])=>`${t}:${i}`)).join(";"))}getConfig(){return this._config}setCamera(t,i){this._cameraManager=t??null,this._cameraID=i??null}setForceVisibility(t){this._forceVisibility=t}handleAction(t,i){t.stopPropagation();const e=t.detail.action,n=g(e,i);n&&m(this._host,{action:n,...i&&{config:i}})}hasUsefulAction(){const t={pt:!0,z:!0,home:!0};if(!this._cameraID)return t;const i=this._cameraManager?.getCameraCapabilities(this._cameraID);if(!i||!i.hasPTZCapability())return t;const e=i.getPTZCapabilities();return{pt:!!(e?.up||e?.down||e?.left||e?.right),z:!!e?.zoomIn||!!e?.zoomOut,home:!!e?.presets?.length}}shouldDisplay(){return void 0!==this._forceVisibility?this._forceVisibility:"auto"===this._config?.mode?!!this._cameraID&&!!this._cameraManager?.getCameraCapabilities(this._cameraID)?.hasPTZCapability():"on"===this._config?.mode}getPTZActions(){const t=t=>({start_tap_action:v({ptzAction:t?.ptzAction,ptzPhase:"start",ptzPreset:t?.preset}),end_tap_action:v({ptzAction:t?.ptzAction,ptzPhase:"stop",ptzPreset:t?.preset})}),i={};return i.up=t({ptzAction:"up"}),i.down=t({ptzAction:"down"}),i.left=t({ptzAction:"left"}),i.right=t({ptzAction:"right"}),i.zoom_in=t({ptzAction:"zoom_in"}),i.zoom_out=t({ptzAction:"zoom_out"}),i.home={tap_action:v()},i}}let M=class extends d{constructor(){super(...arguments),this._controller=new E(this),this._actions=this._controller.getPTZActions(),this._actionPresence=null}willUpdate(t){t.has("config")&&this._controller.setConfig(this.config),(t.has("cameraManager")||t.has("cameraID"))&&this._controller.setCamera(this.cameraManager,this.cameraID),t.has("forceVisibility")&&this._controller.setForceVisibility(this.forceVisibility),(t.has("cameraID")||t.has("cameraManager"))&&(this._actionPresence=this._controller.hasUsefulAction())}render(){if(!this._controller.shouldDisplay())return;const t=(t,i,e)=>e?p`this._controller.handleAction(t,e)} - >`:p``,i=this._controller.getConfig();return p`
- ${!i?.hide_pan_tilt&&this._actionPresence?.pt?p`
- ${t("right","mdi:arrow-right",this._actions.right)} - ${t("left","mdi:arrow-left",this._actions.left)} - ${t("up","mdi:arrow-up",this._actions.up)} - ${t("down","mdi:arrow-down",this._actions.down)} -
`:""} - ${!i?.hide_zoom&&this._actionPresence?.z?p`
- ${t("zoom_in","mdi:plus",this._actions.zoom_in)} - ${t("zoom_out","mdi:minus",this._actions.zoom_out)} -
`:p``} - ${!i?.hide_home&&this._actionPresence?.home?p`
- ${t("home","mdi:home",this._actions.home)} -
`:p``} -
`}static get styles(){return _(":host {\n position: absolute;\n width: fit-content;\n height: fit-content;\n --frigate-card-ptz-icon-size: 24px;\n}\n\n:host([data-position$=-left]) {\n left: 5%;\n}\n\n:host([data-position$=-right]) {\n right: 5%;\n}\n\n:host([data-position^=top-]) {\n top: 5%;\n}\n\n:host([data-position^=bottom-]) {\n bottom: 5%;\n}\n\n/*****************\n * Main Containers\n *****************/\n.ptz {\n display: flex;\n gap: 10px;\n color: var(--light-primary-color);\n opacity: 0.4;\n transition: opacity 0.3s ease-in-out;\n}\n\n:host([data-orientation=vertical]) .ptz {\n flex-direction: column;\n}\n\n:host([data-orientation=horizontal]) .ptz {\n flex-direction: row;\n}\n\n.ptz:hover {\n opacity: 1;\n}\n\n:host([data-orientation=vertical]) .ptz div {\n width: calc(var(--frigate-card-ptz-icon-size) * 3);\n}\n\n:host([data-orientation=horizontal]) .ptz div {\n height: calc(var(--frigate-card-ptz-icon-size) * 3);\n}\n\n.ptz-move,\n.ptz-zoom,\n.ptz-home {\n position: relative;\n background-color: rgba(0, 0, 0, 0.3);\n}\n\n.ptz-move {\n height: calc(var(--frigate-card-ptz-icon-size) * 3);\n width: calc(var(--frigate-card-ptz-icon-size) * 3);\n border-radius: 50%;\n}\n\n:host([data-orientation=horizontal]) .ptz .ptz-zoom,\n:host([data-orientation=horizontal]) .ptz .ptz-home {\n width: calc(var(--frigate-card-ptz-icon-size) * 1.5);\n}\n\n:host([data-orientation=vertical]) .ptz .ptz-zoom,\n:host([data-orientation=vertical]) .ptz .ptz-home {\n height: calc(var(--frigate-card-ptz-icon-size) * 1.5);\n}\n\n.ptz-zoom,\n.ptz-home {\n border-radius: var(--ha-card-border-radius, 4px);\n}\n\n/***********\n * PTZ Icons\n ***********/\nfrigate-card-icon {\n position: absolute;\n --mdc-icon-size: var(--frigate-card-ptz-icon-size);\n}\n\nfrigate-card-icon:not(.disabled) {\n cursor: pointer;\n}\n\n.disabled {\n color: var(--disabled-text-color);\n}\n\n.up {\n top: 5px;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.down {\n bottom: 5px;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.left {\n left: 5px;\n top: 50%;\n transform: translateY(-50%);\n}\n\n.right {\n right: 5px;\n top: 50%;\n transform: translateY(-50%);\n}\n\n:host([data-orientation=vertical]) .zoom_in {\n right: 5px;\n top: 50%;\n}\n\n:host([data-orientation=vertical]) .zoom_out {\n left: 5px;\n top: 50%;\n}\n\n:host([data-orientation=horizontal]) .zoom_in {\n left: 50%;\n top: 5px;\n}\n\n:host([data-orientation=horizontal]) .zoom_out {\n left: 50%;\n bottom: 5px;\n}\n\n:host([data-orientation=vertical]) .zoom_in,\n:host([data-orientation=vertical]) .zoom_out {\n transform: translateY(-50%);\n}\n\n:host([data-orientation=horizontal]) .zoom_in,\n:host([data-orientation=horizontal]) .zoom_out {\n transform: translateX(-50%);\n}\n\n.home {\n top: 50%;\n left: 50%;\n transform: translateX(-50%) translateY(-50%);\n}")}};function H(t){w(t,"live:error")}s([r({attribute:!1})],M.prototype,"config",void 0),s([r({attribute:!1})],M.prototype,"cameraManager",void 0),s([r({attribute:!1})],M.prototype,"cameraID",void 0),s([r({attribute:!1})],M.prototype,"forceVisibility",void 0),M=s([c("frigate-card-ptz")],M);const k=(t,i)=>{void 0!==i?.fit?t.style.setProperty("--frigate-card-media-layout-fit",i.fit):t.style.removeProperty("--frigate-card-media-layout-fit");for(const e of["x","y"])void 0!==i?.position?.[e]?t.style.setProperty(`--frigate-card-media-layout-position-${e}`,`${i.position[e]}%`):t.style.removeProperty(`--frigate-card-media-layout-position-${e}`);for(const e of["top","bottom","left","right"])void 0!==i?.view_box?.[e]?t.style.setProperty(`--frigate-card-media-layout-view-box-${e}`,`${i.view_box[e]}%`):t.style.removeProperty(`--frigate-card-media-layout-view-box-${e}`)},O=2,R=(t,i)=>{t._controlsHideTimer&&(t._controlsHideTimer.stop(),delete t._controlsHideTimer,delete t._controlsOriginalValue),t.controls=i},N=(t,i=1)=>{const e=t._controlsOriginalValue??t.controls;R(t,!1),t._controlsHideTimer??=new n,t._controlsOriginalValue=e;const o=()=>{R(t,e),t.removeEventListener("loadstart",o)};t.addEventListener("loadstart",o),t._controlsHideTimer.start(i,(()=>{R(t,e)}))},D=async(t,i)=>{if(i?.play)try{await i.play()}catch(e){if("NotAllowedError"===e.name&&!t.isMuted()){await t.mute();try{await i.play()}catch(t){}}}};export{S as A,I as M,T as a,L as b,O as c,H as d,N as h,x as i,D as p,R as s,k as u}; diff --git a/config/www/community/frigate-hass-card/media-921a03ae.js.gz b/config/www/community/frigate-hass-card/media-921a03ae.js.gz deleted file mode 100644 index d82e8e01b2137296f1c796dd2e0d34dc9e27679d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5569 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 P!)N~sd_H^5pick*3pli) diff --git a/config/www/community/frigate-hass-card/media-aef44451.js b/config/www/community/frigate-hass-card/media-aef44451.js deleted file mode 100644 index 5fdf39b1..00000000 --- a/config/www/community/frigate-hass-card/media-aef44451.js +++ /dev/null @@ -1,33 +0,0 @@ -import{cL as t,cM as a,dC as n,dD as i,cP as o,dE as e,_ as r,n as s,b as c,t as d,a as l,dF as h,x as p,e as m,dG as u,r as g,dH as _,dI as f,dJ as v,dK as b,dL as y,l as z}from"./card-09c4bade.js"; -/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const w={},C=t(class extends a{constructor(){super(...arguments),this.ot=w}render(t,a){return a()}update(t,[a,i]){if(Array.isArray(a)){if(Array.isArray(this.ot)&&this.ot.length===a.length&&a.every(((t,a)=>t===this.ot[a])))return n}else if(this.ot===a)return n;return this.ot=Array.isArray(a)?Array.from(a):a,this.render(a,i)}});class x{constructor(){this._options=null,this._viewportIntersecting=null,this._microphoneMuteTimer=new i,this._root=null,this._eventListeners=new Map,this._children=[],this._target=null,this._mutationObserver=new MutationObserver(this._mutationHandler.bind(this)),this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this)),this._mediaLoadedHandler=async t=>{this._target?.index===t&&(await this._unmuteTargetIfConfigured(this._target.selected?"selected":"visible"),await this._playTargetIfConfigured(this._target.selected?"selected":"visible"))},this._visibilityHandler=async()=>{await this._changeVisibility("visible"===document.visibilityState)},this._changeVisibility=async t=>{t?(await this._unmuteTargetIfConfigured("visible"),await this._playTargetIfConfigured("visible")):(await this._pauseAllIfConfigured("hidden"),await this._muteAllIfConfigured("hidden"))},this._microphoneChangeHandler=async t=>{"unmuted"===t?await this._unmuteTargetIfConfigured("microphone"):"muted"===t&&this._options?.autoMuteConditions?.includes("microphone")&&this._microphoneMuteTimer.start(this._options.microphoneMuteSeconds??60,(async()=>{await this._muteTargetIfConfigured("microphone")}))}}setOptions(t){this._options=t,this._options?.microphoneManager&&(this._options.microphoneManager.removeListener(this._microphoneChangeHandler),this._options.microphoneManager.addListener(this._microphoneChangeHandler))}hasRoot(){return!!this._root}destroy(){this._viewportIntersecting=null,this._microphoneMuteTimer.stop(),this._root=null,this._removeChildHandlers(),this._children=[],this._target=null,this._mutationObserver.disconnect(),this._intersectionObserver.disconnect(),this._options?.microphoneManager?.removeListener(this._microphoneChangeHandler),document.removeEventListener("visibilitychange",this._visibilityHandler)}async setTarget(t,a){this._target?.index===t&&this._target?.selected===a||(this._target?.selected&&(await this._pauseTargetIfConfigured("unselected"),await this._muteTargetIfConfigured("unselected"),this._microphoneMuteTimer.stop()),this._target={selected:a,index:t},a?(await this._unmuteTargetIfConfigured("selected"),await this._playTargetIfConfigured("selected")):(await this._unmuteTargetIfConfigured("visible"),await this._playTargetIfConfigured("visible")))}unsetTarget(){this._target=null}async _playTargetIfConfigured(t){null!==this._target&&this._options?.autoPlayConditions?.includes(t)&&await this._play(this._target.index)}async _play(t){await(this._children[t]?.play())}async _unmuteTargetIfConfigured(t){null!==this._target&&this._options?.autoUnmuteConditions?.includes(t)&&await this._unmute(this._target.index)}async _unmute(t){await(this._children[t]?.unmute())}async _pauseAllIfConfigured(t){if(this._options?.autoPauseConditions?.includes(t))for(const t of this._children.keys())await this._pause(t)}async _pauseTargetIfConfigured(t){null!==this._target&&this._options?.autoPauseConditions?.includes(t)&&await this._pause(this._target.index)}async _pause(t){await(this._children[t]?.pause())}async _muteAllIfConfigured(t){if(this._options?.autoMuteConditions?.includes(t))for(const t of this._children.keys())await this._mute(t)}async _muteTargetIfConfigured(t){null!==this._target&&this._options?.autoMuteConditions?.includes(t)&&await this._mute(this._target.index)}async _mute(t){await(this._children[t]?.mute())}_mutationHandler(t,a){this._initializeRoot()}_removeChildHandlers(){for(const[t,a]of this._eventListeners.entries())t.removeEventListener("frigate-card:media:loaded",a);this._eventListeners.clear()}initialize(t){this._root=t,this._initializeRoot(),document.addEventListener("visibilitychange",this._visibilityHandler),this._intersectionObserver.disconnect(),this._intersectionObserver.observe(t),this._mutationObserver.disconnect(),this._mutationObserver.observe(this._root,{childList:!0,subtree:!0})}_initializeRoot(){if(this._options&&this._root){this._removeChildHandlers(),this._children=[...this._root.querySelectorAll(this._options.playerSelector)];for(const[t,a]of this._children.entries()){const n=()=>this._mediaLoadedHandler(t);this._eventListeners.set(a,n),a.addEventListener("frigate-card:media:loaded",n)}}}async _intersectionHandler(t){const a=this._viewportIntersecting;this._viewportIntersecting=t.some((t=>t.isIntersecting)),null!==a&&a!==this._viewportIntersecting&&await this._changeVisibility(this._viewportIntersecting)}}const I={active:!0,breakpoints:{},lazyLoadCount:0};function A(t={}){let a,n,i;const o=new Set,e=["init","select"],r=["select"];function s(){"hidden"===document.visibilityState&&a.lazyUnloadConditions?.includes("hidden")?o.forEach((t=>{a.lazyUnloadCallback&&(a.lazyUnloadCallback(t,i[t]),o.delete(t))})):"visible"===document.visibilityState&&a.lazyLoadCallback&&d()}function c(t){return o.has(t)}function d(){const t=a.lazyLoadCount,e=n.selectedScrollSnap(),r=new Set;for(let a=1;a<=t&&e-a>=0;a++)r.add(e-a);r.add(e);for(let a=1;a<=t&&e+a{!c(t)&&a.lazyLoadCallback&&(o.add(t),a.lazyLoadCallback(t,i[t]))}))}function l(){const t=n.previousScrollSnap();c(t)&&a.lazyUnloadCallback&&(a.lazyUnloadCallback(t,i[t]),o.delete(t))}return{name:"autoLazyLoad",options:t,init:function(o,c){const{mergeOptions:h,optionsAtMedia:p}=c,m=h(I,t);a=p(m),n=o,i=n.slideNodes(),a.lazyLoadCallback&&e.forEach((t=>n.on(t,d))),a.lazyUnloadCallback&&a.lazyUnloadConditions?.includes("unselected")&&r.forEach((t=>n.on(t,l))),document.addEventListener("visibilitychange",s)},destroy:function(){a.lazyLoadCallback&&e.forEach((t=>n.off(t,d))),a.lazyUnloadCallback&&r.forEach((t=>n.off(t,l))),document.removeEventListener("visibilitychange",s)}}}function L(){let t,a=[];const n=[];function i(i){const o=i.composedPath();for(const[e,r]of[...a.entries()].reverse())if(o.includes(r)){n[e]=i.detail,e!==t.selectedScrollSnap()&&i.stopPropagation();break}}function e(i){const o=i.composedPath();for(const[e,r]of a.entries())if(o.includes(r)){delete n[e],e!==t.selectedScrollSnap()&&i.stopPropagation();break}}function r(){const i=t.selectedScrollSnap(),e=n[i];e&&o(a[i],e)}return{name:"autoMediaLoadedInfo",options:{},init:function(n){t=n,a=t.slideNodes();for(const t of a)t.addEventListener("frigate-card:media:loaded",i),t.addEventListener("frigate-card:media:unloaded",e);t.on("init",r),t.containerNode().addEventListener("frigate-card:carousel:force-select",r)},destroy:function(){for(const t of a)t.removeEventListener("frigate-card:media:loaded",i),t.removeEventListener("frigate-card:media:unloaded",e);t.off("init",r),t.containerNode().removeEventListener("frigate-card:carousel:force-select",r)}}}class S{constructor(t){this._scrolling=!1,this._shouldReInitOnScrollStop=!1,this._scrollingStart=()=>{this._scrolling=!0},this._scrollingStop=()=>{this._scrolling=!1,this._shouldReInitOnScrollStop&&(this._shouldReInitOnScrollStop=!1,this._debouncedReInit())},this._debouncedReInit=e((()=>{this._scrolling=!1,this._shouldReInitOnScrollStop=!1,this._emblaApi?.reInit()}),500,{trailing:!0}),this._emblaApi=t,this._emblaApi.on("scroll",this._scrollingStart),this._emblaApi.on("settle",this._scrollingStop),this._emblaApi.on("destroy",this.destroy)}destroy(){this._emblaApi.off("scroll",this._scrollingStart),this._emblaApi.off("settle",this._scrollingStop),this._emblaApi.off("destroy",this.destroy)}reinit(){this._scrolling?this._shouldReInitOnScrollStop=!0:this._debouncedReInit()}}function T(){let t,a=null,n=null;const i=new Map,o=new ResizeObserver((function(t){let a=!1;for(const n of t){const t={height:n.contentRect.height,width:n.contentRect.width},o=i.get(n.target);t.width&&t.height&&(o?.height!==t.height||o?.width!==t.width)&&(i.set(n.target,t),a=!0)}a&&s()})),r=new IntersectionObserver((function(t){const i=t.some((t=>t.isIntersecting));if(i!==n){const t=i&&null!==n;n=i,t&&a?.reinit()}})),s=e((()=>function(){const{slideRegistry:n,options:{axis:i}}=t.internalEngine();if("y"===i)return;t.containerNode().style.removeProperty("max-height");const o=n[t.selectedScrollSnap()],e=t.slideNodes(),r=Math.max(...o.map((t=>e[t].getBoundingClientRect().height)));!isNaN(r)&&r>0&&(t.containerNode().style.maxHeight=`${r}px`);a?.reinit()}()),200,{trailing:!0});return{name:"autoSize",options:{},init:function(n){t=n,a=new S(t),r.observe(t.containerNode()),o.observe(t.containerNode());for(const a of t.slideNodes())o.observe(a);t.containerNode().addEventListener("frigate-card:media:loaded",s),t.on("settle",s)},destroy:function(){r.disconnect(),o.disconnect(),a?.destroy(),t.containerNode().removeEventListener("frigate-card:media:loaded",s),t.off("settle",s)}}}let $=class extends l{constructor(){super(...arguments),this.disabled=!1,this.label="",this._embedThumbnailTask=h(this,(()=>this.hass),(()=>this.thumbnail))}set controlConfig(t){t?.size&&this.style.setProperty("--frigate-card-next-prev-size",`${t.size}px`),this._controlConfig=t}render(){if(this.disabled||!this._controlConfig||"none"==this._controlConfig.style)return p``;const t=!this.thumbnail||["chevrons","icons"].includes(this._controlConfig.style),a={controls:!0,previous:"previous"===this.direction,next:"next"===this.direction,thumbnails:!t,icons:t,button:t};if(t){const t=this.thumbnail&&this.icon&&"chevrons"!==this._controlConfig.style?this.icon:"previous"===this.direction?"mdi:chevron-left":"mdi:chevron-right";return p` - - `}return u(this,this._embedThumbnailTask,(t=>t?p``:p``),{inProgressFunc:()=>p`
`})}static get styles(){return g("ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n --frigate-card-next-prev-size: 48px;\n --frigate-card-next-prev-size-hover: calc(var(--frigate-card-next-prev-size) * 2);\n --frigate-card-prev-position: 45px;\n --frigate-card-next-position: 45px;\n --mdc-icon-button-size: var(--frigate-card-next-prev-size);\n --mdc-icon-size: calc(var(--mdc-icon-button-size) / 2);\n}\n\n.controls {\n position: absolute;\n z-index: 1;\n overflow: hidden;\n}\n\n.controls.previous {\n left: var(--frigate-card-prev-position);\n}\n\n.controls.next {\n right: var(--frigate-card-next-position);\n}\n\n.controls.icons {\n top: calc(50% - var(--frigate-card-next-prev-size) / 2);\n}\n\n.controls.thumbnails {\n border-radius: 50%;\n height: var(--frigate-card-next-prev-size);\n top: calc(50% - var(--frigate-card-next-prev-size) / 2);\n box-shadow: var(--frigate-card-css-box-shadow, 0px 0px 20px 5px black);\n transition: all 0.2s ease-out;\n opacity: 0.8;\n aspect-ratio: 1/1;\n}\n\n.controls.thumbnails:hover {\n opacity: 1 !important;\n height: var(--frigate-card-next-prev-size-hover);\n top: calc(50% - var(--frigate-card-next-prev-size-hover) / 2);\n}\n\n.controls.previous.thumbnails:hover {\n left: calc(var(--frigate-card-prev-position) - (var(--frigate-card-next-prev-size-hover) - var(--frigate-card-next-prev-size)) / 2);\n}\n\n.controls.next.thumbnails:hover {\n right: calc(var(--frigate-card-next-position) - (var(--frigate-card-next-prev-size-hover) - var(--frigate-card-next-prev-size)) / 2);\n}")}};r([s({attribute:!1})],$.prototype,"direction",void 0),r([s({attribute:!1})],$.prototype,"hass",void 0),r([c()],$.prototype,"_controlConfig",void 0),r([s({attribute:!1})],$.prototype,"thumbnail",void 0),r([s({attribute:!1})],$.prototype,"icon",void 0),r([s({attribute:!0,type:Boolean})],$.prototype,"disabled",void 0),r([s()],$.prototype,"label",void 0),$=r([d("frigate-card-next-previous-control")],$);class P{constructor(t){this._config=null,this._hass=null,this._cameraManager=null,this._cameraID=null,this._host=t}setConfig(t){this._config=t??null,this._host.setAttribute("data-orientation",t?.orientation??"horizontal"),this._host.setAttribute("data-position",t?.position??"bottom-right"),this._host.setAttribute("style",Object.entries(t?.style??{}).map((([t,a])=>`${t}:${a}`)).join(";"))}getConfig(){return this._config}setCamera(t,a){this._cameraManager=t??null,this._cameraID=a??null}setForceVisibility(t){this._forceVisibility=t}handleAction(t,a){t.stopPropagation();const n=t.detail.action,i=_(n,a);i&&f(this._host,{action:i,...a&&{config:a}})}hasUsefulAction(){const t={pt:!0,z:!0,home:!0};if(!this._cameraID)return t;const a=this._cameraManager?.getCameraCapabilities(this._cameraID);if(!a||!a.hasPTZCapability())return t;const n=a.getPTZCapabilities();return{pt:!!(n?.up||n?.down||n?.left||n?.right),z:!!n?.zoomIn||!!n?.zoomOut,home:!!n?.presets?.length}}shouldDisplay(){return void 0!==this._forceVisibility?this._forceVisibility:"auto"===this._config?.mode?!!this._cameraID&&!!this._cameraManager?.getCameraCapabilities(this._cameraID)?.hasPTZCapability():"on"===this._config?.mode}getPTZActions(){const t=t=>({start_tap_action:v({ptzAction:t?.ptzAction,ptzPhase:"start",ptzPreset:t?.preset}),end_tap_action:v({ptzAction:t?.ptzAction,ptzPhase:"stop",ptzPreset:t?.preset})}),a={};return a.up=t({ptzAction:"up"}),a.down=t({ptzAction:"down"}),a.left=t({ptzAction:"left"}),a.right=t({ptzAction:"right"}),a.zoom_in=t({ptzAction:"zoom_in"}),a.zoom_out=t({ptzAction:"zoom_out"}),a.home={tap_action:v()},a}}let k=class extends l{constructor(){super(...arguments),this._controller=new P(this),this._actions=this._controller.getPTZActions(),this._actionPresence=null}willUpdate(t){t.has("config")&&this._controller.setConfig(this.config),(t.has("cameraManager")||t.has("cameraID"))&&this._controller.setCamera(this.cameraManager,this.cameraID),t.has("forceVisibility")&&this._controller.setForceVisibility(this.forceVisibility),(t.has("cameraID")||t.has("cameraManager"))&&(this._actionPresence=this._controller.hasUsefulAction())}render(){if(!this._controller.shouldDisplay())return;const t=(t,a,n)=>n?p`this._controller.handleAction(t,n)} - >`:p``,a=this._controller.getConfig();return p`
- ${!a?.hide_pan_tilt&&this._actionPresence?.pt?p`
- ${t("right","mdi:arrow-right",this._actions.right)} - ${t("left","mdi:arrow-left",this._actions.left)} - ${t("up","mdi:arrow-up",this._actions.up)} - ${t("down","mdi:arrow-down",this._actions.down)} -
`:""} - ${!a?.hide_zoom&&this._actionPresence?.z?p`
- ${t("zoom_in","mdi:plus",this._actions.zoom_in)} - ${t("zoom_out","mdi:minus",this._actions.zoom_out)} -
`:p``} - ${!a?.hide_home&&this._actionPresence?.home?p`
- ${t("home","mdi:home",this._actions.home)} -
`:p``} -
`}static get styles(){return g(":host {\n position: absolute;\n width: fit-content;\n height: fit-content;\n --frigate-card-ptz-icon-size: 24px;\n}\n\n:host([data-position$=-left]) {\n left: 5%;\n}\n\n:host([data-position$=-right]) {\n right: 5%;\n}\n\n:host([data-position^=top-]) {\n top: 5%;\n}\n\n:host([data-position^=bottom-]) {\n bottom: 5%;\n}\n\n/*****************\n * Main Containers\n *****************/\n.ptz {\n display: flex;\n gap: 10px;\n color: var(--light-primary-color);\n opacity: 0.4;\n transition: opacity 0.3s ease-in-out;\n}\n\n:host([data-orientation=vertical]) .ptz {\n flex-direction: column;\n}\n\n:host([data-orientation=horizontal]) .ptz {\n flex-direction: row;\n}\n\n.ptz:hover {\n opacity: 1;\n}\n\n:host([data-orientation=vertical]) .ptz div {\n width: calc(var(--frigate-card-ptz-icon-size) * 3);\n}\n\n:host([data-orientation=horizontal]) .ptz div {\n height: calc(var(--frigate-card-ptz-icon-size) * 3);\n}\n\n.ptz-move,\n.ptz-zoom,\n.ptz-home {\n position: relative;\n background-color: rgba(0, 0, 0, 0.3);\n}\n\n.ptz-move {\n height: calc(var(--frigate-card-ptz-icon-size) * 3);\n width: calc(var(--frigate-card-ptz-icon-size) * 3);\n border-radius: 50%;\n}\n\n:host([data-orientation=horizontal]) .ptz .ptz-zoom,\n:host([data-orientation=horizontal]) .ptz .ptz-home {\n width: calc(var(--frigate-card-ptz-icon-size) * 1.5);\n}\n\n:host([data-orientation=vertical]) .ptz .ptz-zoom,\n:host([data-orientation=vertical]) .ptz .ptz-home {\n height: calc(var(--frigate-card-ptz-icon-size) * 1.5);\n}\n\n.ptz-zoom,\n.ptz-home {\n border-radius: var(--ha-card-border-radius, 4px);\n}\n\n/***********\n * PTZ Icons\n ***********/\nha-icon {\n position: absolute;\n --mdc-icon-size: var(--frigate-card-ptz-icon-size);\n}\n\nha-icon:not(.disabled) {\n cursor: pointer;\n}\n\n.disabled {\n color: var(--disabled-text-color);\n}\n\n.up {\n top: 5px;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.down {\n bottom: 5px;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.left {\n left: 5px;\n top: 50%;\n transform: translateY(-50%);\n}\n\n.right {\n right: 5px;\n top: 50%;\n transform: translateY(-50%);\n}\n\n:host([data-orientation=vertical]) .zoom_in {\n right: 5px;\n top: 50%;\n}\n\n:host([data-orientation=vertical]) .zoom_out {\n left: 5px;\n top: 50%;\n}\n\n:host([data-orientation=horizontal]) .zoom_in {\n left: 50%;\n top: 5px;\n}\n\n:host([data-orientation=horizontal]) .zoom_out {\n left: 50%;\n bottom: 5px;\n}\n\n:host([data-orientation=vertical]) .zoom_in,\n:host([data-orientation=vertical]) .zoom_out {\n transform: translateY(-50%);\n}\n\n:host([data-orientation=horizontal]) .zoom_in,\n:host([data-orientation=horizontal]) .zoom_out {\n transform: translateX(-50%);\n}\n\n.home {\n top: 50%;\n left: 50%;\n transform: translateX(-50%) translateY(-50%);\n}")}};r([s({attribute:!1})],k.prototype,"config",void 0),r([s({attribute:!1})],k.prototype,"cameraManager",void 0),r([s({attribute:!1})],k.prototype,"cameraID",void 0),r([s({attribute:!1})],k.prototype,"forceVisibility",void 0),k=r([d("frigate-card-ptz")],k);const M=(t,a)=>{void 0!==a?.fit?t.style.setProperty("--frigate-card-media-layout-fit",a.fit):t.style.removeProperty("--frigate-card-media-layout-fit");for(const n of["x","y"])void 0!==a?.position?.[n]?t.style.setProperty(`--frigate-card-media-layout-position-${n}`,`${a.position[n]}%`):t.style.removeProperty(`--frigate-card-media-layout-position-${n}`);for(const n of["top","bottom","left","right"])void 0!==a?.view_box?.[n]?t.style.setProperty(`--frigate-card-media-layout-view-box-${n}`,`${a.view_box[n]}%`):t.style.removeProperty(`--frigate-card-media-layout-view-box-${n}`)},E=2,H=(t,a)=>{t._controlsHideTimer&&(t._controlsHideTimer.stop(),delete t._controlsHideTimer,delete t._controlsOriginalValue),t.controls=a},O=(t,a=1)=>{const n=t._controlsOriginalValue??t.controls;H(t,!1),t._controlsHideTimer??=new i,t._controlsOriginalValue=n;const o=()=>{H(t,n),t.removeEventListener("loadstart",o)};t.addEventListener("loadstart",o),t._controlsHideTimer.start(a,(()=>{H(t,n)}))},R=async(t,a)=>{if(a?.play)try{await a.play()}catch(n){if("NotAllowedError"===n.name&&!t.isMuted()){await t.mute();try{await a.play()}catch(t){}}}};export{A,x as M,L as a,T as b,E as c,O as h,C as i,R as p,H as s,M as u}; diff --git a/config/www/community/frigate-hass-card/media-aef44451.js.gz b/config/www/community/frigate-hass-card/media-aef44451.js.gz deleted file mode 100644 index 45af40007def1d49e8c30a75d7fc6a57c1f678ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6206 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 diff --git a/config/www/community/frigate-hass-card/media-b0eb3f2a.js b/config/www/community/frigate-hass-card/media-b0eb3f2a.js deleted file mode 100644 index cb05b25e..00000000 --- a/config/www/community/frigate-hass-card/media-b0eb3f2a.js +++ /dev/null @@ -1 +0,0 @@ -var e;!function(e){e.MP4="mp4",e.HLS="hls"}(e||(e={}));class t{constructor(e,t){this._mediaType=e,this._cameraID=t}getContentType(){return"snapshot"===this._mediaType?"image":"video"}getCameraID(){return this._cameraID}getMediaType(){return this._mediaType}getVideoContentType(){return null}getID(){return null}getStartTime(){return null}getEndTime(){return null}getUsableEndTime(){return this.getEndTime()??(this.inProgress()?new Date:this.getStartTime())}inProgress(){return null}getContentID(){return null}getTitle(){return null}getThumbnail(){return null}isFavorite(){return null}includesTime(e){const t=this.getStartTime(),r=this.getUsableEndTime();return!!t&&!!r&&e>=t&&e<=r}setFavorite(e){}getWhere(){return null}}export{t as V,e as a}; diff --git a/config/www/community/frigate-hass-card/media-b0eb3f2a.js.gz b/config/www/community/frigate-hass-card/media-b0eb3f2a.js.gz deleted file mode 100644 index 58c4cdd35271fb5aec9d803ef29dc80df829b12b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 371 zcmV-(0gV11iwFpYat&qz|7~StX<;p5FlAyhW-?(eYI6W>k}+?CFc5|J{tDv(frK(; z3UxCyty-y(A|*}7%7JUJWNdUk(pH53UZ4r0l*!h+=kMNGcaq2;_C89Jkg_I#u!7lo zGZ#EB<~)Mg)5})yOgml&a6ShhsyYngL`&xwRf#o@uuRBe01<^1Wy;Oob4ZokeHS1a zu~QP61Ip)>p!x`OZw-N=))9mi0+ndEGqP}*B`$;*VU}Fw@(6svPbvk=JI00B1K8hA zt!I4&j7>ecb?sZ`R3v6fty{;i%T?QwMB1r*!v0{=>B6g%2MzzqU8do?DWGk R_K=t&&e<=r}setFavorite(e){}getWhere(){return null}}export{e as V,t as a}; diff --git a/config/www/community/frigate-hass-card/media-c9012082.js.gz b/config/www/community/frigate-hass-card/media-c9012082.js.gz deleted file mode 100644 index 738907811f7aad1f8d119c4e6db07af8d3e3d1cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 345 zcmV-f0jB;RiwFqoFOg>g|7~StX<;p6IWRFYFgP+UYI6W>lEH3+Fbsz8dy2pTfrNVM zX)NoZ-Ly%oRH>{xPAPaLQb;Ptbem}2eZbm^Qcg*Jf3|-oIS6Escwd#yNE#hNRKsMs znsUF~PyHAsFK=t^7s~oBgyS&;Ub`qtG9|2KRA)w8!YU(!A;c8bR7gAdEFqU7{oMm^ z#7@aX2`F9{oZJp*emaFwjX)J@c1^X+@?2vGU5dBVM&@AVMiXedhIOS>OZ2;(wKWN( zRF)(7lg`Hj?^bLT+=M$%{k+*M>@=xYXm$wJHkyWSwh#pOXT0Yia(#5z_B7kr6saUN zVl*wPa;t?@gOIe(;$TqHFh}Z4RXNzsPV)h}M`grEyvBG@2ltWuSM)pz0?)%BfJfeJ r;en&GK$q4{{nq410XX#G;Ad};YGA^$O-$_~TypmZVX{5!qyhi{-728k diff --git a/config/www/community/frigate-hass-card/media-d4c0d154.js b/config/www/community/frigate-hass-card/media-d4c0d154.js deleted file mode 100644 index 0dfb8e68..00000000 --- a/config/www/community/frigate-hass-card/media-d4c0d154.js +++ /dev/null @@ -1,33 +0,0 @@ -import{cL as t,cM as a,dC as n,dD as i,cP as o,dE as e,_ as r,n as s,b as c,t as d,a as l,dF as h,x as p,e as m,dG as u,r as g,dH as _,dI as f,dJ as v,dK as b,dL as y,l as z}from"./card-769e2b91.js"; -/** - * @license - * Copyright 2018 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */const w={},C=t(class extends a{constructor(){super(...arguments),this.ot=w}render(t,a){return a()}update(t,[a,i]){if(Array.isArray(a)){if(Array.isArray(this.ot)&&this.ot.length===a.length&&a.every(((t,a)=>t===this.ot[a])))return n}else if(this.ot===a)return n;return this.ot=Array.isArray(a)?Array.from(a):a,this.render(a,i)}});class x{constructor(){this._options=null,this._viewportIntersecting=null,this._microphoneMuteTimer=new i,this._root=null,this._eventListeners=new Map,this._children=[],this._target=null,this._mutationObserver=new MutationObserver(this._mutationHandler.bind(this)),this._intersectionObserver=new IntersectionObserver(this._intersectionHandler.bind(this)),this._mediaLoadedHandler=async t=>{this._target?.index===t&&(await this._unmuteTargetIfConfigured(this._target.selected?"selected":"visible"),await this._playTargetIfConfigured(this._target.selected?"selected":"visible"))},this._visibilityHandler=async()=>{await this._changeVisibility("visible"===document.visibilityState)},this._changeVisibility=async t=>{t?(await this._unmuteTargetIfConfigured("visible"),await this._playTargetIfConfigured("visible")):(await this._pauseAllIfConfigured("hidden"),await this._muteAllIfConfigured("hidden"))},this._microphoneChangeHandler=async t=>{"unmuted"===t?await this._unmuteTargetIfConfigured("microphone"):"muted"===t&&this._options?.autoMuteConditions?.includes("microphone")&&this._microphoneMuteTimer.start(this._options.microphoneMuteSeconds??60,(async()=>{await this._muteTargetIfConfigured("microphone")}))}}setOptions(t){this._options=t,this._options?.microphoneManager&&(this._options.microphoneManager.removeListener(this._microphoneChangeHandler),this._options.microphoneManager.addListener(this._microphoneChangeHandler))}hasRoot(){return!!this._root}destroy(){this._viewportIntersecting=null,this._microphoneMuteTimer.stop(),this._root=null,this._removeChildHandlers(),this._children=[],this._target=null,this._mutationObserver.disconnect(),this._intersectionObserver.disconnect(),this._options?.microphoneManager?.removeListener(this._microphoneChangeHandler),document.removeEventListener("visibilitychange",this._visibilityHandler)}async setTarget(t,a){this._target?.index===t&&this._target?.selected===a||(this._target?.selected&&(await this._pauseTargetIfConfigured("unselected"),await this._muteTargetIfConfigured("unselected"),this._microphoneMuteTimer.stop()),this._target={selected:a,index:t},a?(await this._unmuteTargetIfConfigured("selected"),await this._playTargetIfConfigured("selected")):(await this._unmuteTargetIfConfigured("visible"),await this._playTargetIfConfigured("visible")))}unsetTarget(){this._target=null}async _playTargetIfConfigured(t){null!==this._target&&this._options?.autoPlayConditions?.includes(t)&&await this._play(this._target.index)}async _play(t){await(this._children[t]?.play())}async _unmuteTargetIfConfigured(t){null!==this._target&&this._options?.autoUnmuteConditions?.includes(t)&&await this._unmute(this._target.index)}async _unmute(t){await(this._children[t]?.unmute())}async _pauseAllIfConfigured(t){if(this._options?.autoPauseConditions?.includes(t))for(const t of this._children.keys())await this._pause(t)}async _pauseTargetIfConfigured(t){null!==this._target&&this._options?.autoPauseConditions?.includes(t)&&await this._pause(this._target.index)}async _pause(t){await(this._children[t]?.pause())}async _muteAllIfConfigured(t){if(this._options?.autoMuteConditions?.includes(t))for(const t of this._children.keys())await this._mute(t)}async _muteTargetIfConfigured(t){null!==this._target&&this._options?.autoMuteConditions?.includes(t)&&await this._mute(this._target.index)}async _mute(t){await(this._children[t]?.mute())}_mutationHandler(t,a){this._initializeRoot()}_removeChildHandlers(){for(const[t,a]of this._eventListeners.entries())t.removeEventListener("frigate-card:media:loaded",a);this._eventListeners.clear()}initialize(t){this._root=t,this._initializeRoot(),document.addEventListener("visibilitychange",this._visibilityHandler),this._intersectionObserver.disconnect(),this._intersectionObserver.observe(t),this._mutationObserver.disconnect(),this._mutationObserver.observe(this._root,{childList:!0,subtree:!0})}_initializeRoot(){if(this._options&&this._root){this._removeChildHandlers(),this._children=[...this._root.querySelectorAll(this._options.playerSelector)];for(const[t,a]of this._children.entries()){const n=()=>this._mediaLoadedHandler(t);this._eventListeners.set(a,n),a.addEventListener("frigate-card:media:loaded",n)}}}async _intersectionHandler(t){const a=this._viewportIntersecting;this._viewportIntersecting=t.some((t=>t.isIntersecting)),null!==a&&a!==this._viewportIntersecting&&await this._changeVisibility(this._viewportIntersecting)}}const I={active:!0,breakpoints:{},lazyLoadCount:0};function A(t={}){let a,n,i;const o=new Set,e=["init","select"],r=["select"];function s(){"hidden"===document.visibilityState&&a.lazyUnloadConditions?.includes("hidden")?o.forEach((t=>{a.lazyUnloadCallback&&(a.lazyUnloadCallback(t,i[t]),o.delete(t))})):"visible"===document.visibilityState&&a.lazyLoadCallback&&d()}function c(t){return o.has(t)}function d(){const t=a.lazyLoadCount,e=n.selectedScrollSnap(),r=new Set;for(let a=1;a<=t&&e-a>=0;a++)r.add(e-a);r.add(e);for(let a=1;a<=t&&e+a{!c(t)&&a.lazyLoadCallback&&(o.add(t),a.lazyLoadCallback(t,i[t]))}))}function l(){const t=n.previousScrollSnap();c(t)&&a.lazyUnloadCallback&&(a.lazyUnloadCallback(t,i[t]),o.delete(t))}return{name:"autoLazyLoad",options:t,init:function(o,c){const{mergeOptions:h,optionsAtMedia:p}=c,m=h(I,t);a=p(m),n=o,i=n.slideNodes(),a.lazyLoadCallback&&e.forEach((t=>n.on(t,d))),a.lazyUnloadCallback&&a.lazyUnloadConditions?.includes("unselected")&&r.forEach((t=>n.on(t,l))),document.addEventListener("visibilitychange",s)},destroy:function(){a.lazyLoadCallback&&e.forEach((t=>n.off(t,d))),a.lazyUnloadCallback&&r.forEach((t=>n.off(t,l))),document.removeEventListener("visibilitychange",s)}}}function L(){let t,a=[];const n=[];function i(i){const o=i.composedPath();for(const[e,r]of[...a.entries()].reverse())if(o.includes(r)){n[e]=i.detail,e!==t.selectedScrollSnap()&&i.stopPropagation();break}}function e(i){const o=i.composedPath();for(const[e,r]of a.entries())if(o.includes(r)){delete n[e],e!==t.selectedScrollSnap()&&i.stopPropagation();break}}function r(){const i=t.selectedScrollSnap(),e=n[i];e&&o(a[i],e)}return{name:"autoMediaLoadedInfo",options:{},init:function(n){t=n,a=t.slideNodes();for(const t of a)t.addEventListener("frigate-card:media:loaded",i),t.addEventListener("frigate-card:media:unloaded",e);t.on("init",r),t.containerNode().addEventListener("frigate-card:carousel:force-select",r)},destroy:function(){for(const t of a)t.removeEventListener("frigate-card:media:loaded",i),t.removeEventListener("frigate-card:media:unloaded",e);t.off("init",r),t.containerNode().removeEventListener("frigate-card:carousel:force-select",r)}}}class S{constructor(t){this._scrolling=!1,this._shouldReInitOnScrollStop=!1,this._scrollingStart=()=>{this._scrolling=!0},this._scrollingStop=()=>{this._scrolling=!1,this._shouldReInitOnScrollStop&&(this._shouldReInitOnScrollStop=!1,this._debouncedReInit())},this._debouncedReInit=e((()=>{this._scrolling=!1,this._shouldReInitOnScrollStop=!1,this._emblaApi?.reInit()}),500,{trailing:!0}),this._emblaApi=t,this._emblaApi.on("scroll",this._scrollingStart),this._emblaApi.on("settle",this._scrollingStop),this._emblaApi.on("destroy",this.destroy)}destroy(){this._emblaApi.off("scroll",this._scrollingStart),this._emblaApi.off("settle",this._scrollingStop),this._emblaApi.off("destroy",this.destroy)}reinit(){this._scrolling?this._shouldReInitOnScrollStop=!0:this._debouncedReInit()}}function T(){let t,a=null,n=null;const i=new Map,o=new ResizeObserver((function(t){let a=!1;for(const n of t){const t={height:n.contentRect.height,width:n.contentRect.width},o=i.get(n.target);t.width&&t.height&&(o?.height!==t.height||o?.width!==t.width)&&(i.set(n.target,t),a=!0)}a&&s()})),r=new IntersectionObserver((function(t){const i=t.some((t=>t.isIntersecting));if(i!==n){const t=i&&null!==n;n=i,t&&a?.reinit()}})),s=e((()=>function(){const{slideRegistry:n,options:{axis:i}}=t.internalEngine();if("y"===i)return;t.containerNode().style.removeProperty("max-height");const o=n[t.selectedScrollSnap()],e=t.slideNodes(),r=Math.max(...o.map((t=>e[t].getBoundingClientRect().height)));!isNaN(r)&&r>0&&(t.containerNode().style.maxHeight=`${r}px`);a?.reinit()}()),200,{trailing:!0});return{name:"autoSize",options:{},init:function(n){t=n,a=new S(t),r.observe(t.containerNode()),o.observe(t.containerNode());for(const a of t.slideNodes())o.observe(a);t.containerNode().addEventListener("frigate-card:media:loaded",s),t.on("settle",s)},destroy:function(){r.disconnect(),o.disconnect(),a?.destroy(),t.containerNode().removeEventListener("frigate-card:media:loaded",s),t.off("settle",s)}}}let $=class extends l{constructor(){super(...arguments),this.disabled=!1,this.label="",this._embedThumbnailTask=h(this,(()=>this.hass),(()=>this.thumbnail))}set controlConfig(t){t?.size&&this.style.setProperty("--frigate-card-next-prev-size",`${t.size}px`),this._controlConfig=t}render(){if(this.disabled||!this._controlConfig||"none"==this._controlConfig.style)return p``;const t=!this.thumbnail||["chevrons","icons"].includes(this._controlConfig.style),a={controls:!0,previous:"previous"===this.direction,next:"next"===this.direction,thumbnails:!t,icons:t,button:t};if(t){const t=this.thumbnail&&this.icon&&"chevrons"!==this._controlConfig.style?this.icon:"previous"===this.direction?"mdi:chevron-left":"mdi:chevron-right";return p` - - `}return u(this,this._embedThumbnailTask,(t=>t?p``:p``),{inProgressFunc:()=>p`
`})}static get styles(){return g("ha-icon-button.button {\n color: var(--secondary-color, white);\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n padding: 0px;\n margin: 3px;\n --ha-icon-display: block;\n /* Buttons can always be clicked */\n pointer-events: auto;\n opacity: 0.9;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.6;\n }\n 100% {\n opacity: 1;\n }\n}\nha-icon[data-domain=alert][data-state=on],\nha-icon[data-domain=automation][data-state=on],\nha-icon[data-domain=binary_sensor][data-state=on],\nha-icon[data-domain=calendar][data-state=on],\nha-icon[data-domain=camera][data-state=streaming],\nha-icon[data-domain=cover][data-state=open],\nha-icon[data-domain=fan][data-state=on],\nha-icon[data-domain=humidifier][data-state=on],\nha-icon[data-domain=light][data-state=on],\nha-icon[data-domain=input_boolean][data-state=on],\nha-icon[data-domain=lock][data-state=unlocked],\nha-icon[data-domain=media_player][data-state=on],\nha-icon[data-domain=media_player][data-state=paused],\nha-icon[data-domain=media_player][data-state=playing],\nha-icon[data-domain=script][data-state=on],\nha-icon[data-domain=sun][data-state=above_horizon],\nha-icon[data-domain=switch][data-state=on],\nha-icon[data-domain=timer][data-state=active],\nha-icon[data-domain=vacuum][data-state=cleaning],\nha-icon[data-domain=group][data-state=on],\nha-icon[data-domain=group][data-state=home],\nha-icon[data-domain=group][data-state=open],\nha-icon[data-domain=group][data-state=locked],\nha-icon[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=pending],\nha-icon[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon[data-domain=plant][data-state=problem],\nha-icon[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\nha-icon-button[data-domain=alert][data-state=on],\nha-icon-button[data-domain=automation][data-state=on],\nha-icon-button[data-domain=binary_sensor][data-state=on],\nha-icon-button[data-domain=calendar][data-state=on],\nha-icon-button[data-domain=camera][data-state=streaming],\nha-icon-button[data-domain=cover][data-state=open],\nha-icon-button[data-domain=fan][data-state=on],\nha-icon-button[data-domain=humidifier][data-state=on],\nha-icon-button[data-domain=light][data-state=on],\nha-icon-button[data-domain=input_boolean][data-state=on],\nha-icon-button[data-domain=lock][data-state=unlocked],\nha-icon-button[data-domain=media_player][data-state=on],\nha-icon-button[data-domain=media_player][data-state=paused],\nha-icon-button[data-domain=media_player][data-state=playing],\nha-icon-button[data-domain=script][data-state=on],\nha-icon-button[data-domain=sun][data-state=above_horizon],\nha-icon-button[data-domain=switch][data-state=on],\nha-icon-button[data-domain=timer][data-state=active],\nha-icon-button[data-domain=vacuum][data-state=cleaning],\nha-icon-button[data-domain=group][data-state=on],\nha-icon-button[data-domain=group][data-state=home],\nha-icon-button[data-domain=group][data-state=open],\nha-icon-button[data-domain=group][data-state=locked],\nha-icon-button[data-domain=group][data-state=problem] {\n color: var(--paper-item-icon-active-color, #fdd835);\n}\n\nha-icon-button[data-domain=climate][data-state=cooling] {\n color: var(--cool-color, var(--state-climate-cool-color));\n}\n\nha-icon-button[data-domain=climate][data-state=heating] {\n color: var(--heat-color, var(--state-climate-heat-color));\n}\n\nha-icon-button[data-domain=climate][data-state=drying] {\n color: var(--dry-color, var(--state-climate-dry-color));\n}\n\nha-icon-button[data-domain=alarm_control_panel] {\n color: var(--alarm-color-armed, var(--label-badge-red));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=disarmed] {\n color: var(--alarm-color-disarmed, var(--label-badge-green));\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=pending],\nha-icon-button[data-domain=alarm_control_panel][data-state=arming] {\n color: var(--alarm-color-pending, var(--label-badge-yellow));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=alarm_control_panel][data-state=triggered] {\n color: var(--alarm-color-triggered, var(--label-badge-red));\n animation: pulse 1s infinite;\n}\n\nha-icon-button[data-domain=plant][data-state=problem],\nha-icon-button[data-domain=zwave][data-state=dead] {\n color: var(--state-icon-error-color);\n}\n\n/* Color the icon if unavailable */\nha-icon-button[data-state=unavailable] {\n color: var(--state-unavailable-color);\n}\n\n:host {\n --frigate-card-next-prev-size: 48px;\n --frigate-card-next-prev-size-hover: calc(var(--frigate-card-next-prev-size) * 2);\n --frigate-card-prev-position: 45px;\n --frigate-card-next-position: 45px;\n --mdc-icon-button-size: var(--frigate-card-next-prev-size);\n --mdc-icon-size: calc(var(--mdc-icon-button-size) / 2);\n}\n\n.controls {\n position: absolute;\n z-index: 1;\n overflow: hidden;\n}\n\n.controls.previous {\n left: var(--frigate-card-prev-position);\n}\n\n.controls.next {\n right: var(--frigate-card-next-position);\n}\n\n.controls.icons {\n top: calc(50% - var(--frigate-card-next-prev-size) / 2);\n}\n\n.controls.thumbnails {\n border-radius: 50%;\n height: var(--frigate-card-next-prev-size);\n top: calc(50% - var(--frigate-card-next-prev-size) / 2);\n box-shadow: var(--frigate-card-css-box-shadow, 0px 0px 20px 5px black);\n transition: all 0.2s ease-out;\n opacity: 0.8;\n aspect-ratio: 1/1;\n}\n\n.controls.thumbnails:hover {\n opacity: 1 !important;\n height: var(--frigate-card-next-prev-size-hover);\n top: calc(50% - var(--frigate-card-next-prev-size-hover) / 2);\n}\n\n.controls.previous.thumbnails:hover {\n left: calc(var(--frigate-card-prev-position) - (var(--frigate-card-next-prev-size-hover) - var(--frigate-card-next-prev-size)) / 2);\n}\n\n.controls.next.thumbnails:hover {\n right: calc(var(--frigate-card-next-position) - (var(--frigate-card-next-prev-size-hover) - var(--frigate-card-next-prev-size)) / 2);\n}")}};r([s({attribute:!1})],$.prototype,"direction",void 0),r([s({attribute:!1})],$.prototype,"hass",void 0),r([c()],$.prototype,"_controlConfig",void 0),r([s({attribute:!1})],$.prototype,"thumbnail",void 0),r([s({attribute:!1})],$.prototype,"icon",void 0),r([s({attribute:!0,type:Boolean})],$.prototype,"disabled",void 0),r([s()],$.prototype,"label",void 0),$=r([d("frigate-card-next-previous-control")],$);class P{constructor(t){this._config=null,this._hass=null,this._cameraManager=null,this._cameraID=null,this._host=t}setConfig(t){this._config=t??null,this._host.setAttribute("data-orientation",t?.orientation??"horizontal"),this._host.setAttribute("data-position",t?.position??"bottom-right"),this._host.setAttribute("style",Object.entries(t?.style??{}).map((([t,a])=>`${t}:${a}`)).join(";"))}getConfig(){return this._config}setCamera(t,a){this._cameraManager=t??null,this._cameraID=a??null}setForceVisibility(t){this._forceVisibility=t}handleAction(t,a){t.stopPropagation();const n=t.detail.action,i=_(n,a);i&&f(this._host,{action:i,...a&&{config:a}})}hasUsefulAction(){const t={pt:!0,z:!0,home:!0};if(!this._cameraID)return t;const a=this._cameraManager?.getCameraCapabilities(this._cameraID);if(!a||!a.hasPTZCapability())return t;const n=a.getPTZCapabilities();return{pt:!!(n?.up||n?.down||n?.left||n?.right),z:!!n?.zoomIn||!!n?.zoomOut,home:!!n?.presets?.length}}shouldDisplay(){return void 0!==this._forceVisibility?this._forceVisibility:"auto"===this._config?.mode?!!this._cameraID&&!!this._cameraManager?.getCameraCapabilities(this._cameraID)?.hasPTZCapability():"on"===this._config?.mode}getPTZActions(){const t=t=>({start_tap_action:v({ptzAction:t?.ptzAction,ptzPhase:"start",ptzPreset:t?.preset}),end_tap_action:v({ptzAction:t?.ptzAction,ptzPhase:"stop",ptzPreset:t?.preset})}),a={};return a.up=t({ptzAction:"up"}),a.down=t({ptzAction:"down"}),a.left=t({ptzAction:"left"}),a.right=t({ptzAction:"right"}),a.zoom_in=t({ptzAction:"zoom_in"}),a.zoom_out=t({ptzAction:"zoom_out"}),a.home={tap_action:v()},a}}let k=class extends l{constructor(){super(...arguments),this._controller=new P(this),this._actions=this._controller.getPTZActions(),this._actionPresence=null}willUpdate(t){t.has("config")&&this._controller.setConfig(this.config),(t.has("cameraManager")||t.has("cameraID"))&&this._controller.setCamera(this.cameraManager,this.cameraID),t.has("forceVisibility")&&this._controller.setForceVisibility(this.forceVisibility),(t.has("cameraID")||t.has("cameraManager"))&&(this._actionPresence=this._controller.hasUsefulAction())}render(){if(!this._controller.shouldDisplay())return;const t=(t,a,n)=>n?p`this._controller.handleAction(t,n)} - >`:p``,a=this._controller.getConfig();return p`
- ${!a?.hide_pan_tilt&&this._actionPresence?.pt?p`
- ${t("right","mdi:arrow-right",this._actions.right)} - ${t("left","mdi:arrow-left",this._actions.left)} - ${t("up","mdi:arrow-up",this._actions.up)} - ${t("down","mdi:arrow-down",this._actions.down)} -
`:""} - ${!a?.hide_zoom&&this._actionPresence?.z?p`
- ${t("zoom_in","mdi:plus",this._actions.zoom_in)} - ${t("zoom_out","mdi:minus",this._actions.zoom_out)} -
`:p``} - ${!a?.hide_home&&this._actionPresence?.home?p`
- ${t("home","mdi:home",this._actions.home)} -
`:p``} -
`}static get styles(){return g(":host {\n position: absolute;\n width: fit-content;\n height: fit-content;\n --frigate-card-ptz-icon-size: 24px;\n}\n\n:host([data-position$=-left]) {\n left: 5%;\n}\n\n:host([data-position$=-right]) {\n right: 5%;\n}\n\n:host([data-position^=top-]) {\n top: 5%;\n}\n\n:host([data-position^=bottom-]) {\n bottom: 5%;\n}\n\n/*****************\n * Main Containers\n *****************/\n.ptz {\n display: flex;\n gap: 10px;\n color: var(--light-primary-color);\n opacity: 0.4;\n transition: opacity 0.3s ease-in-out;\n}\n\n:host([data-orientation=vertical]) .ptz {\n flex-direction: column;\n}\n\n:host([data-orientation=horizontal]) .ptz {\n flex-direction: row;\n}\n\n.ptz:hover {\n opacity: 1;\n}\n\n:host([data-orientation=vertical]) .ptz div {\n width: calc(var(--frigate-card-ptz-icon-size) * 3);\n}\n\n:host([data-orientation=horizontal]) .ptz div {\n height: calc(var(--frigate-card-ptz-icon-size) * 3);\n}\n\n.ptz-move,\n.ptz-zoom,\n.ptz-home {\n position: relative;\n background-color: rgba(0, 0, 0, 0.3);\n}\n\n.ptz-move {\n height: calc(var(--frigate-card-ptz-icon-size) * 3);\n width: calc(var(--frigate-card-ptz-icon-size) * 3);\n border-radius: 50%;\n}\n\n:host([data-orientation=horizontal]) .ptz .ptz-zoom,\n:host([data-orientation=horizontal]) .ptz .ptz-home {\n width: calc(var(--frigate-card-ptz-icon-size) * 1.5);\n}\n\n:host([data-orientation=vertical]) .ptz .ptz-zoom,\n:host([data-orientation=vertical]) .ptz .ptz-home {\n height: calc(var(--frigate-card-ptz-icon-size) * 1.5);\n}\n\n.ptz-zoom,\n.ptz-home {\n border-radius: var(--ha-card-border-radius, 4px);\n}\n\n/***********\n * PTZ Icons\n ***********/\nha-icon {\n position: absolute;\n --mdc-icon-size: var(--frigate-card-ptz-icon-size);\n}\n\nha-icon:not(.disabled) {\n cursor: pointer;\n}\n\n.disabled {\n color: var(--disabled-text-color);\n}\n\n.up {\n top: 5px;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.down {\n bottom: 5px;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.left {\n left: 5px;\n top: 50%;\n transform: translateY(-50%);\n}\n\n.right {\n right: 5px;\n top: 50%;\n transform: translateY(-50%);\n}\n\n:host([data-orientation=vertical]) .zoom_in {\n right: 5px;\n top: 50%;\n}\n\n:host([data-orientation=vertical]) .zoom_out {\n left: 5px;\n top: 50%;\n}\n\n:host([data-orientation=horizontal]) .zoom_in {\n left: 50%;\n top: 5px;\n}\n\n:host([data-orientation=horizontal]) .zoom_out {\n left: 50%;\n bottom: 5px;\n}\n\n:host([data-orientation=vertical]) .zoom_in,\n:host([data-orientation=vertical]) .zoom_out {\n transform: translateY(-50%);\n}\n\n:host([data-orientation=horizontal]) .zoom_in,\n:host([data-orientation=horizontal]) .zoom_out {\n transform: translateX(-50%);\n}\n\n.home {\n top: 50%;\n left: 50%;\n transform: translateX(-50%) translateY(-50%);\n}")}};r([s({attribute:!1})],k.prototype,"config",void 0),r([s({attribute:!1})],k.prototype,"cameraManager",void 0),r([s({attribute:!1})],k.prototype,"cameraID",void 0),r([s({attribute:!1})],k.prototype,"forceVisibility",void 0),k=r([d("frigate-card-ptz")],k);const M=(t,a)=>{void 0!==a?.fit?t.style.setProperty("--frigate-card-media-layout-fit",a.fit):t.style.removeProperty("--frigate-card-media-layout-fit");for(const n of["x","y"])void 0!==a?.position?.[n]?t.style.setProperty(`--frigate-card-media-layout-position-${n}`,`${a.position[n]}%`):t.style.removeProperty(`--frigate-card-media-layout-position-${n}`);for(const n of["top","bottom","left","right"])void 0!==a?.view_box?.[n]?t.style.setProperty(`--frigate-card-media-layout-view-box-${n}`,`${a.view_box[n]}%`):t.style.removeProperty(`--frigate-card-media-layout-view-box-${n}`)},E=2,H=(t,a)=>{t._controlsHideTimer&&(t._controlsHideTimer.stop(),delete t._controlsHideTimer,delete t._controlsOriginalValue),t.controls=a},O=(t,a=1)=>{const n=t._controlsOriginalValue??t.controls;H(t,!1),t._controlsHideTimer??=new i,t._controlsOriginalValue=n;const o=()=>{H(t,n),t.removeEventListener("loadstart",o)};t.addEventListener("loadstart",o),t._controlsHideTimer.start(a,(()=>{H(t,n)}))},R=async(t,a)=>{if(a?.play)try{await a.play()}catch(n){if("NotAllowedError"===n.name&&!t.isMuted()){await t.mute();try{await a.play()}catch(t){}}}};export{A,x as M,L as a,T as b,E as c,O as h,C as i,R as p,H as s,M as u}; diff --git a/config/www/community/frigate-hass-card/media-d4c0d154.js.gz b/config/www/community/frigate-hass-card/media-d4c0d154.js.gz deleted file mode 100644 index 925fe27e02fb8b188f65ddc9db4d03b0c17980ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6208 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 diff --git a/config/www/community/frigate-hass-card/media-grid-0f7352bc.js b/config/www/community/frigate-hass-card/media-grid-0f7352bc.js deleted file mode 100644 index 69a2913d..00000000 --- a/config/www/community/frigate-hass-card/media-grid-0f7352bc.js +++ /dev/null @@ -1,22 +0,0 @@ -import{dN as t,dM as e,dh as i,eE as n,i as o,dg as s,cP as r,cS as a,s as h,_ as l,n as d,t as u,a as c,cR as f,x as m,cV as p,r as g}from"./card-45855f1f.js";var v,y={exports:{}},_={exports:{}},b={exports:{}};function C(){return v||(v=1,e=b,i="undefined"!=typeof window?window:t,n=function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},n=i[t]=i[t]||[];return-1==n.indexOf(e)&&n.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{};return(i[t]=i[t]||{})[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=i.indexOf(e);return-1!=n&&i.splice(n,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){i=i.slice(0),e=e||[];for(var n=this._onceEvents&&this._onceEvents[t],o=0;o

10FjDS2LKsBKJ9DEGfCe6`MH~DP`!txKm8~55i4d?W|2=Dv7<=EIs z=ncnl%`wP0llg z3lRiCn0)69v``VAMTEQg?QF*IPK3zSk>i|`%^x3~>f^ze>#}a%?;1K!cz#v$>K4Ds zi9mJ=VK!W}o^X}ss~z5a{HwJ(^o`%ZfI+BT(aROj^MB^}2)`r|XLPqH=(c@Bf#ixp z$nqwQ4ewLOGi|>z-q+TV;08*%0$MICFfp&8NQI=AY$H56OVIWZ?&nfe05WS!!iR?s zlr##Y0;2CmD#!BBrnPOzD5Rvopf$aBsar8@i2(Pw zAcB7?f%k|)a8W&hr!=m1xhIoi9_AurItfl$N$}p*-YPAMvhl9)>z(Op%`*}nSLv`dpaXMfJfrVzfil3W0qISu zE>K^=+@B6Ef@HRha0uk^KM+59$$$gV=1!>$7etZhJ}P>+Kx%H7J7U5Yk$zq*EKz2W zD7LX)7YiQ|F~#qZnvs98R2ROFWw+F!jWNj(mGZ%y8*_y%fZ`N5Fb@ezGay)Gc<>XG zLv*v8^*$x`AupTuP~1?Gs)hzDps5?~KSg#tNx%f*p$!l2N6`X{27)ZCH12>H9BMU) zlabM$(hkS_I^GNk45sA%K^zW<2>KqHm2pw(RbdnL>wpTkM0Mj0bM`HMNdg($zQs;g z`JAO#acrl%0_y-0?4?brXx5kdNUlrPpag;;YHyxKK;hx0qaxh%yAFK1tqdZJw6#=(+AcJ`+gF(yYb@6>=tVkuPS(gVuEwjg{f}*l? zJjJ#t%z;ytUQ%PqTchVidt^EsHsxSHcZCE5&uoNydDO6{l7iH+5Js1$2ZIHMVOJ(w zBJD9~4?XKZpVM@0+Qy=LZs>jhf1mh0(SEc}(bQ1EyrGsd5rLi#SPA*^%!USRIB3G zbO<`W=&9@_YunUH*^NQgj;rzVLXZMN0SeYgx&@iY)%FYwbX^Is<@gl;7)nh17w7uJ zn2(tM0QA??*4S~Ge-QM+vHo+=cXn*=C~|FNSc$JOjSv3W54H^6Td@o$GN%X!KMrAC z1w3V)&p(ad@_SzUOvXiGy*BlZl)Q+xbAaFeJ*96#p3zl_waB4+r#^m$iSaW_}AXb2>^!sdIt~%z;Nc0 ztJVnkk()BlF?M9Et%_fxFOyuuI+eQS*;$(BSLy1L9xocG(I>h719-Uk8?h<+b*<8O zM(IMZFy})?pp)|s4|kAK0Z%*ckGkE>m$+zQQp&Wd)Sd7lMvoj zUamgPu}J>)5$|+1`-a|CI>8hS@t69;A9N=e{}Rk-LyOBF8FG+iWA8b20EJ(H)cPEI z>8>fMs9qs@uhMF&R)Al*kfU$vsqQc(e6*E^--_RglV=`&QNxTtp944p4Y=XV`;cCz zm7s4;oC6=E-m{b63PNEV>#tdvo-S7HS>hOX2U+D=D4SiCcT;&c8t~u#<&?RsqSq?T z#IBCLTX5;8({(D*<5V*IqdQ>-De}I*y`6G|ukJ@^%{<=0+Ud}vzYFA%MIz52^cQ=f z_i@>-`VUVan{F$yNvnGVxvWBaaj3MAme}Z^gTxei&z^)AIoFpdrOhP;(jtiwhuP== zhRI=`2Nzjj{3Xh&EZHY>h{&>bn7rH-vL|$MMNHfCQv!W=uI)QDUcZmSgmam-+JC~o cc=%ejJcEX038SHXnE&bj1GK_5=8kay05CE<5&!@I diff --git a/config/www/community/frigate-hass-card/media-layout-8e0c974f.js b/config/www/community/frigate-hass-card/media-layout-8e0c974f.js deleted file mode 100644 index bf994871..00000000 --- a/config/www/community/frigate-hass-card/media-layout-8e0c974f.js +++ /dev/null @@ -1 +0,0 @@ -const t=(t,o)=>{void 0!==o?.fit?t.style.setProperty("--frigate-card-media-layout-fit",o.fit):t.style.removeProperty("--frigate-card-media-layout-fit");for(const e of["x","y"])void 0!==o?.position?.[e]?t.style.setProperty(`--frigate-card-media-layout-position-${e}`,`${o.position[e]}%`):t.style.removeProperty(`--frigate-card-media-layout-position-${e}`)};export{t as u}; diff --git a/config/www/community/frigate-hass-card/media-layout-8e0c974f.js.gz b/config/www/community/frigate-hass-card/media-layout-8e0c974f.js.gz deleted file mode 100644 index ef6923352f829e51bfe80c05f3515315f88dfec9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 216 zcmV;}04M(+iwFpYat&qz|7~StX<;pFVR>(LbS*e#Fk?A4G-fVpa{!f((F%ev6o&76 ziZu)zIO#fBzC!mRIP@3;^~iPJ0,n=r?e:1-e;let a;if(n<=50)a=t||100;else{const e=n+50;a=t+100*Math.trunc(e/100)-(t>=e%100?100:0)}return r?a:1-a}function tt(t){return t%400==0||t%4==0&&t%100!=0}const et=[31,28,31,30,31,30,31,31,30,31,30,31],rt=[31,29,31,30,31,30,31,31,30,31,30,31];function nt(r,n,a){const s=t(),i=a?.weekStartsOn??a?.locale?.options?.weekStartsOn??s.weekStartsOn??s.locale?.options?.weekStartsOn??0,o=e(r),c=o.getDay(),u=7-i;return l(o,n<0||n>6?n-(c+u)%7:((n%7+7)%7+u)%7-(c+u)%7)}function at(t,r){const n=e(t),a=function(t){let r=e(t).getDay();return 0===r&&(r=7),r}(n);return l(n,r-a)}const st={G:new class extends T{priority=140;parse(t,e,r){switch(e){case"G":case"GG":case"GGG":return r.era(t,{width:"abbreviated"})||r.era(t,{width:"narrow"});case"GGGGG":return r.era(t,{width:"narrow"});default:return r.era(t,{width:"wide"})||r.era(t,{width:"abbreviated"})||r.era(t,{width:"narrow"})}}set(t,e,r){return e.era=r,t.setFullYear(r,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["R","u","t","T"]},y:new class extends T{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(t,e,r){const n=t=>({year:t,isTwoDigitYear:"yy"===e});switch(e){case"y":return Z(z(4,t),n);case"yo":return Z(r.ordinalNumber(t,{unit:"year"}),n);default:return Z(z(e.length,t),n)}}validate(t,e){return e.isTwoDigitYear||e.year>0}set(t,e,r){const n=t.getFullYear();if(r.isTwoDigitYear){const e=_(r.year,n);return t.setFullYear(e,0,1),t.setHours(0,0,0,0),t}const a="era"in e&&1!==e.era?1-r.year:r.year;return t.setFullYear(a,0,1),t.setHours(0,0,0,0),t}},Y:new class extends T{priority=130;parse(t,e,r){const n=t=>({year:t,isTwoDigitYear:"YY"===e});switch(e){case"Y":return Z(z(4,t),n);case"Yo":return Z(r.ordinalNumber(t,{unit:"year"}),n);default:return Z(z(e.length,t),n)}}validate(t,e){return e.isTwoDigitYear||e.year>0}set(t,e,r,n){const a=i(t,n);if(r.isTwoDigitYear){const e=_(r.year,a);return t.setFullYear(e,0,n.firstWeekContainsDate),t.setHours(0,0,0,0),o(t,n)}const s="era"in e&&1!==e.era?1-r.year:r.year;return t.setFullYear(s,0,n.firstWeekContainsDate),t.setHours(0,0,0,0),o(t,n)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]},R:new class extends T{priority=130;parse(t,e){return J("R"===e?4:e.length,t)}set(t,e,n){const a=r(t,0);return a.setFullYear(n,0,4),a.setHours(0,0,0,0),c(a)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]},u:new class extends T{priority=130;parse(t,e){return J("u"===e?4:e.length,t)}set(t,e,r){return t.setFullYear(r,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]},Q:new class extends T{priority=120;parse(t,e,r){switch(e){case"Q":case"QQ":return z(e.length,t);case"Qo":return r.ordinalNumber(t,{unit:"quarter"});case"QQQ":return r.quarter(t,{width:"abbreviated",context:"formatting"})||r.quarter(t,{width:"narrow",context:"formatting"});case"QQQQQ":return r.quarter(t,{width:"narrow",context:"formatting"});default:return r.quarter(t,{width:"wide",context:"formatting"})||r.quarter(t,{width:"abbreviated",context:"formatting"})||r.quarter(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=1&&e<=4}set(t,e,r){return t.setMonth(3*(r-1),1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]},q:new class extends T{priority=120;parse(t,e,r){switch(e){case"q":case"qq":return z(e.length,t);case"qo":return r.ordinalNumber(t,{unit:"quarter"});case"qqq":return r.quarter(t,{width:"abbreviated",context:"standalone"})||r.quarter(t,{width:"narrow",context:"standalone"});case"qqqqq":return r.quarter(t,{width:"narrow",context:"standalone"});default:return r.quarter(t,{width:"wide",context:"standalone"})||r.quarter(t,{width:"abbreviated",context:"standalone"})||r.quarter(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=1&&e<=4}set(t,e,r){return t.setMonth(3*(r-1),1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]},M:new class extends T{incompatibleTokens=["Y","R","q","Q","L","w","I","D","i","e","c","t","T"];priority=110;parse(t,e,r){const n=t=>t-1;switch(e){case"M":return Z($(k,t),n);case"MM":return Z(z(2,t),n);case"Mo":return Z(r.ordinalNumber(t,{unit:"month"}),n);case"MMM":return r.month(t,{width:"abbreviated",context:"formatting"})||r.month(t,{width:"narrow",context:"formatting"});case"MMMMM":return r.month(t,{width:"narrow",context:"formatting"});default:return r.month(t,{width:"wide",context:"formatting"})||r.month(t,{width:"abbreviated",context:"formatting"})||r.month(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=11}set(t,e,r){return t.setMonth(r,1),t.setHours(0,0,0,0),t}},L:new class extends T{priority=110;parse(t,e,r){const n=t=>t-1;switch(e){case"L":return Z($(k,t),n);case"LL":return Z(z(2,t),n);case"Lo":return Z(r.ordinalNumber(t,{unit:"month"}),n);case"LLL":return r.month(t,{width:"abbreviated",context:"standalone"})||r.month(t,{width:"narrow",context:"standalone"});case"LLLLL":return r.month(t,{width:"narrow",context:"standalone"});default:return r.month(t,{width:"wide",context:"standalone"})||r.month(t,{width:"abbreviated",context:"standalone"})||r.month(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=0&&e<=11}set(t,e,r){return t.setMonth(r,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]},w:new class extends T{priority=100;parse(t,e,r){switch(e){case"w":return $(q,t);case"wo":return r.ordinalNumber(t,{unit:"week"});default:return z(e.length,t)}}validate(t,e){return e>=1&&e<=53}set(t,r,n,a){return o(function(t,r,n){const a=e(t),s=u(a,n)-r;return a.setDate(a.getDate()-7*s),a}(t,n,a),a)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]},I:new class extends T{priority=100;parse(t,e,r){switch(e){case"I":return $(q,t);case"Io":return r.ordinalNumber(t,{unit:"week"});default:return z(e.length,t)}}validate(t,e){return e>=1&&e<=53}set(t,r,n){return c(function(t,r){const n=e(t),a=d(n)-r;return n.setDate(n.getDate()-7*a),n}(t,n))}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]},d:new class extends T{priority=90;subPriority=1;parse(t,e,r){switch(e){case"d":return $(v,t);case"do":return r.ordinalNumber(t,{unit:"date"});default:return z(e.length,t)}}validate(t,e){const r=tt(t.getFullYear()),n=t.getMonth();return r?e>=1&&e<=rt[n]:e>=1&&e<=et[n]}set(t,e,r){return t.setDate(r),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]},D:new class extends T{priority=90;subpriority=1;parse(t,e,r){switch(e){case"D":case"DD":return $(D,t);case"Do":return r.ordinalNumber(t,{unit:"date"});default:return z(e.length,t)}}validate(t,e){return tt(t.getFullYear())?e>=1&&e<=366:e>=1&&e<=365}set(t,e,r){return t.setMonth(0,r),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]},E:new class extends T{priority=90;parse(t,e,r){switch(e){case"E":case"EE":case"EEE":return r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});case"EEEEE":return r.day(t,{width:"narrow",context:"formatting"});case"EEEEEE":return r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});default:return r.day(t,{width:"wide",context:"formatting"})||r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=6}set(t,e,r,n){return(t=nt(t,r,n)).setHours(0,0,0,0),t}incompatibleTokens=["D","i","e","c","t","T"]},e:new class extends T{priority=90;parse(t,e,r,n){const a=t=>{const e=7*Math.floor((t-1)/7);return(t+n.weekStartsOn+6)%7+e};switch(e){case"e":case"ee":return Z(z(e.length,t),a);case"eo":return Z(r.ordinalNumber(t,{unit:"day"}),a);case"eee":return r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});case"eeeee":return r.day(t,{width:"narrow",context:"formatting"});case"eeeeee":return r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});default:return r.day(t,{width:"wide",context:"formatting"})||r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=6}set(t,e,r,n){return(t=nt(t,r,n)).setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]},c:new class extends T{priority=90;parse(t,e,r,n){const a=t=>{const e=7*Math.floor((t-1)/7);return(t+n.weekStartsOn+6)%7+e};switch(e){case"c":case"cc":return Z(z(e.length,t),a);case"co":return Z(r.ordinalNumber(t,{unit:"day"}),a);case"ccc":return r.day(t,{width:"abbreviated",context:"standalone"})||r.day(t,{width:"short",context:"standalone"})||r.day(t,{width:"narrow",context:"standalone"});case"ccccc":return r.day(t,{width:"narrow",context:"standalone"});case"cccccc":return r.day(t,{width:"short",context:"standalone"})||r.day(t,{width:"narrow",context:"standalone"});default:return r.day(t,{width:"wide",context:"standalone"})||r.day(t,{width:"abbreviated",context:"standalone"})||r.day(t,{width:"short",context:"standalone"})||r.day(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=0&&e<=6}set(t,e,r,n){return(t=nt(t,r,n)).setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]},i:new class extends T{priority=90;parse(t,e,r){const n=t=>0===t?7:t;switch(e){case"i":case"ii":return z(e.length,t);case"io":return r.ordinalNumber(t,{unit:"day"});case"iii":return Z(r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"}),n);case"iiiii":return Z(r.day(t,{width:"narrow",context:"formatting"}),n);case"iiiiii":return Z(r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"}),n);default:return Z(r.day(t,{width:"wide",context:"formatting"})||r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"}),n)}}validate(t,e){return e>=1&&e<=7}set(t,e,r){return(t=at(t,r)).setHours(0,0,0,0),t}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]},a:new class extends T{priority=80;parse(t,e,r){switch(e){case"a":case"aa":case"aaa":return r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"});case"aaaaa":return r.dayPeriod(t,{width:"narrow",context:"formatting"});default:return r.dayPeriod(t,{width:"wide",context:"formatting"})||r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,r){return t.setHours(U(r),0,0,0),t}incompatibleTokens=["b","B","H","k","t","T"]},b:new class extends T{priority=80;parse(t,e,r){switch(e){case"b":case"bb":case"bbb":return r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"});case"bbbbb":return r.dayPeriod(t,{width:"narrow",context:"formatting"});default:return r.dayPeriod(t,{width:"wide",context:"formatting"})||r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,r){return t.setHours(U(r),0,0,0),t}incompatibleTokens=["a","B","H","k","t","T"]},B:new class extends T{priority=80;parse(t,e,r){switch(e){case"B":case"BB":case"BBB":return r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"});case"BBBBB":return r.dayPeriod(t,{width:"narrow",context:"formatting"});default:return r.dayPeriod(t,{width:"wide",context:"formatting"})||r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,r){return t.setHours(U(r),0,0,0),t}incompatibleTokens=["a","b","t","T"]},h:new class extends T{priority=70;parse(t,e,r){switch(e){case"h":return $(N,t);case"ho":return r.ordinalNumber(t,{unit:"hour"});default:return z(e.length,t)}}validate(t,e){return e>=1&&e<=12}set(t,e,r){const n=t.getHours()>=12;return n&&r<12?t.setHours(r+12,0,0,0):n||12!==r?t.setHours(r,0,0,0):t.setHours(0,0,0,0),t}incompatibleTokens=["H","K","k","t","T"]},H:new class extends T{priority=70;parse(t,e,r){switch(e){case"H":return $(M,t);case"Ho":return r.ordinalNumber(t,{unit:"hour"});default:return z(e.length,t)}}validate(t,e){return e>=0&&e<=23}set(t,e,r){return t.setHours(r,0,0,0),t}incompatibleTokens=["a","b","h","K","k","t","T"]},K:new class extends T{priority=70;parse(t,e,r){switch(e){case"K":return $(Y,t);case"Ko":return r.ordinalNumber(t,{unit:"hour"});default:return z(e.length,t)}}validate(t,e){return e>=0&&e<=11}set(t,e,r){return t.getHours()>=12&&r<12?t.setHours(r+12,0,0,0):t.setHours(r,0,0,0),t}incompatibleTokens=["h","H","k","t","T"]},k:new class extends T{priority=70;parse(t,e,r){switch(e){case"k":return $(H,t);case"ko":return r.ordinalNumber(t,{unit:"hour"});default:return z(e.length,t)}}validate(t,e){return e>=1&&e<=24}set(t,e,r){const n=r<=24?r%24:r;return t.setHours(n,0,0,0),t}incompatibleTokens=["a","b","h","H","K","t","T"]},m:new class extends T{priority=60;parse(t,e,r){switch(e){case"m":return $(E,t);case"mo":return r.ordinalNumber(t,{unit:"minute"});default:return z(e.length,t)}}validate(t,e){return e>=0&&e<=59}set(t,e,r){return t.setMinutes(r,0,0),t}incompatibleTokens=["t","T"]},s:new class extends T{priority=50;parse(t,e,r){switch(e){case"s":return $(P,t);case"so":return r.ordinalNumber(t,{unit:"second"});default:return z(e.length,t)}}validate(t,e){return e>=0&&e<=59}set(t,e,r){return t.setSeconds(r,0),t}incompatibleTokens=["t","T"]},S:new class extends T{priority=30;parse(t,e){return Z(z(e.length,t),(t=>Math.trunc(t*Math.pow(10,3-e.length))))}set(t,e,r){return t.setMilliseconds(r),t}incompatibleTokens=["t","T"]},X:new class extends T{priority=10;parse(t,e){switch(e){case"X":return j(F,t);case"XX":return j(A,t);case"XXXX":return j(W,t);case"XXXXX":return j(K,t);default:return j(C,t)}}set(t,e,n){return e.timestampIsSet?t:r(t,t.getTime()-w(t)-n)}incompatibleTokens=["t","T","x"]},x:new class extends T{priority=10;parse(t,e){switch(e){case"x":return j(F,t);case"xx":return j(A,t);case"xxxx":return j(W,t);case"xxxxx":return j(K,t);default:return j(C,t)}}set(t,e,n){return e.timestampIsSet?t:r(t,t.getTime()-w(t)-n)}incompatibleTokens=["t","T","X"]},t:new class extends T{priority=40;parse(t){return V(t)}set(t,e,n){return[r(t,1e3*n),{timestampIsSet:!0}]}incompatibleTokens="*"},T:new class extends T{priority=20;parse(t){return V(t)}set(t,e,n){return[r(t,n),{timestampIsSet:!0}]}incompatibleTokens="*"}},it=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,ot=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,ct=/^'([^]*?)'?$/,ut=/''/g,dt=/\S/,lt=/[a-zA-Z]/;function wt(n,a,s,i){const o=Object.assign({},t()),c=i?.locale??o.locale??h,u=i?.firstWeekContainsDate??i?.locale?.options?.firstWeekContainsDate??o.firstWeekContainsDate??o.locale?.options?.firstWeekContainsDate??1,d=i?.weekStartsOn??i?.locale?.options?.weekStartsOn??o.weekStartsOn??o.locale?.options?.weekStartsOn??0;if(""===a)return""===n?e(s):r(s,NaN);const l={firstWeekContainsDate:u,weekStartsOn:d,locale:c},w=[new b],x=a.match(ot).map((t=>{const e=t[0];if(e in m){return(0,m[e])(t,c.formatLong)}return t})).join("").match(it),g=[];for(let t of x){!i?.useAdditionalWeekYearTokens&&f(t)&&y(t,a,n),!i?.useAdditionalDayOfYearTokens&&p(t)&&y(t,a,n);const e=t[0],o=st[e];if(o){const{incompatibleTokens:a}=o;if(Array.isArray(a)){const r=g.find((t=>a.includes(t.token)||t.token===e));if(r)throw new RangeError(`The format string mustn't contain \`${r.fullToken}\` and \`${t}\` at the same time`)}else if("*"===o.incompatibleTokens&&g.length>0)throw new RangeError(`The format string mustn't contain \`${t}\` and any other token at the same time`);g.push({token:e,fullToken:t});const i=o.run(n,t,c.match,l);if(!i)return r(s,NaN);w.push(i.setter),n=i.rest}else{if(e.match(lt))throw new RangeError("Format string contains an unescaped latin alphabet character `"+e+"`");if("''"===t?t="'":"'"===e&&(t=t.match(ct)[1].replace(ut,"'")),0!==n.indexOf(t))return r(s,NaN);n=n.slice(t.length)}}if(n.length>0&&dt.test(n))return r(s,NaN);const T=w.map((t=>t.priority)).sort(((t,e)=>e-t)).filter(((t,e,r)=>r.indexOf(t)===e)).map((t=>w.filter((e=>e.priority===t)).sort(((t,e)=>e.subPriority-t.subPriority)))).map((t=>t[0]));let k=e(s);if(isNaN(k.getTime()))return r(s,NaN);const v={};for(const t of T){if(!t.validate(k,l))return r(s,NaN);const e=t.set(k,v,l);Array.isArray(e)?(k=e[0],Object.assign(v,e[1])):k=e}return r(s,k)}export{wt as p}; diff --git a/config/www/community/frigate-hass-card/parse-114e8d53.js.gz b/config/www/community/frigate-hass-card/parse-114e8d53.js.gz deleted file mode 100644 index 6dae833e81087e8ca5647f3254dd7d4e63c839e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4021 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,n=r?e:1-e;let a;if(n<=50)a=t||100;else{const e=n+50;a=t+100*Math.trunc(e/100)-(t>=e%100?100:0)}return r?a:1-a}function tt(t){return t%400==0||t%4==0&&t%100!=0}const et=[31,28,31,30,31,30,31,31,30,31,30,31],rt=[31,29,31,30,31,30,31,31,30,31,30,31];function nt(r,n,a){const s=t(),i=a?.weekStartsOn??a?.locale?.options?.weekStartsOn??s.weekStartsOn??s.locale?.options?.weekStartsOn??0,o=e(r),c=o.getDay(),u=7-i;return l(o,n<0||n>6?n-(c+u)%7:((n%7+7)%7+u)%7-(c+u)%7)}function at(t,r){const n=e(t),a=function(t){let r=e(t).getDay();return 0===r&&(r=7),r}(n);return l(n,r-a)}const st={G:new class extends T{priority=140;parse(t,e,r){switch(e){case"G":case"GG":case"GGG":return r.era(t,{width:"abbreviated"})||r.era(t,{width:"narrow"});case"GGGGG":return r.era(t,{width:"narrow"});default:return r.era(t,{width:"wide"})||r.era(t,{width:"abbreviated"})||r.era(t,{width:"narrow"})}}set(t,e,r){return e.era=r,t.setFullYear(r,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["R","u","t","T"]},y:new class extends T{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(t,e,r){const n=t=>({year:t,isTwoDigitYear:"yy"===e});switch(e){case"y":return Z(z(4,t),n);case"yo":return Z(r.ordinalNumber(t,{unit:"year"}),n);default:return Z(z(e.length,t),n)}}validate(t,e){return e.isTwoDigitYear||e.year>0}set(t,e,r){const n=t.getFullYear();if(r.isTwoDigitYear){const e=U(r.year,n);return t.setFullYear(e,0,1),t.setHours(0,0,0,0),t}const a="era"in e&&1!==e.era?1-r.year:r.year;return t.setFullYear(a,0,1),t.setHours(0,0,0,0),t}},Y:new class extends T{priority=130;parse(t,e,r){const n=t=>({year:t,isTwoDigitYear:"YY"===e});switch(e){case"Y":return Z(z(4,t),n);case"Yo":return Z(r.ordinalNumber(t,{unit:"year"}),n);default:return Z(z(e.length,t),n)}}validate(t,e){return e.isTwoDigitYear||e.year>0}set(t,e,r,n){const a=i(t,n);if(r.isTwoDigitYear){const e=U(r.year,a);return t.setFullYear(e,0,n.firstWeekContainsDate),t.setHours(0,0,0,0),o(t,n)}const s="era"in e&&1!==e.era?1-r.year:r.year;return t.setFullYear(s,0,n.firstWeekContainsDate),t.setHours(0,0,0,0),o(t,n)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]},R:new class extends T{priority=130;parse(t,e){return _("R"===e?4:e.length,t)}set(t,e,n){const a=r(t,0);return a.setFullYear(n,0,4),a.setHours(0,0,0,0),c(a)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]},u:new class extends T{priority=130;parse(t,e){return _("u"===e?4:e.length,t)}set(t,e,r){return t.setFullYear(r,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]},Q:new class extends T{priority=120;parse(t,e,r){switch(e){case"Q":case"QQ":return z(e.length,t);case"Qo":return r.ordinalNumber(t,{unit:"quarter"});case"QQQ":return r.quarter(t,{width:"abbreviated",context:"formatting"})||r.quarter(t,{width:"narrow",context:"formatting"});case"QQQQQ":return r.quarter(t,{width:"narrow",context:"formatting"});default:return r.quarter(t,{width:"wide",context:"formatting"})||r.quarter(t,{width:"abbreviated",context:"formatting"})||r.quarter(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=1&&e<=4}set(t,e,r){return t.setMonth(3*(r-1),1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]},q:new class extends T{priority=120;parse(t,e,r){switch(e){case"q":case"qq":return z(e.length,t);case"qo":return r.ordinalNumber(t,{unit:"quarter"});case"qqq":return r.quarter(t,{width:"abbreviated",context:"standalone"})||r.quarter(t,{width:"narrow",context:"standalone"});case"qqqqq":return r.quarter(t,{width:"narrow",context:"standalone"});default:return r.quarter(t,{width:"wide",context:"standalone"})||r.quarter(t,{width:"abbreviated",context:"standalone"})||r.quarter(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=1&&e<=4}set(t,e,r){return t.setMonth(3*(r-1),1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]},M:new class extends T{incompatibleTokens=["Y","R","q","Q","L","w","I","D","i","e","c","t","T"];priority=110;parse(t,e,r){const n=t=>t-1;switch(e){case"M":return Z($(k,t),n);case"MM":return Z(z(2,t),n);case"Mo":return Z(r.ordinalNumber(t,{unit:"month"}),n);case"MMM":return r.month(t,{width:"abbreviated",context:"formatting"})||r.month(t,{width:"narrow",context:"formatting"});case"MMMMM":return r.month(t,{width:"narrow",context:"formatting"});default:return r.month(t,{width:"wide",context:"formatting"})||r.month(t,{width:"abbreviated",context:"formatting"})||r.month(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=11}set(t,e,r){return t.setMonth(r,1),t.setHours(0,0,0,0),t}},L:new class extends T{priority=110;parse(t,e,r){const n=t=>t-1;switch(e){case"L":return Z($(k,t),n);case"LL":return Z(z(2,t),n);case"Lo":return Z(r.ordinalNumber(t,{unit:"month"}),n);case"LLL":return r.month(t,{width:"abbreviated",context:"standalone"})||r.month(t,{width:"narrow",context:"standalone"});case"LLLLL":return r.month(t,{width:"narrow",context:"standalone"});default:return r.month(t,{width:"wide",context:"standalone"})||r.month(t,{width:"abbreviated",context:"standalone"})||r.month(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=0&&e<=11}set(t,e,r){return t.setMonth(r,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]},w:new class extends T{priority=100;parse(t,e,r){switch(e){case"w":return $(q,t);case"wo":return r.ordinalNumber(t,{unit:"week"});default:return z(e.length,t)}}validate(t,e){return e>=1&&e<=53}set(t,r,n,a){return o(function(t,r,n){const a=e(t),s=u(a,n)-r;return a.setDate(a.getDate()-7*s),a}(t,n,a),a)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]},I:new class extends T{priority=100;parse(t,e,r){switch(e){case"I":return $(q,t);case"Io":return r.ordinalNumber(t,{unit:"week"});default:return z(e.length,t)}}validate(t,e){return e>=1&&e<=53}set(t,r,n){return c(function(t,r){const n=e(t),a=d(n)-r;return n.setDate(n.getDate()-7*a),n}(t,n))}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]},d:new class extends T{priority=90;subPriority=1;parse(t,e,r){switch(e){case"d":return $(v,t);case"do":return r.ordinalNumber(t,{unit:"date"});default:return z(e.length,t)}}validate(t,e){const r=tt(t.getFullYear()),n=t.getMonth();return r?e>=1&&e<=rt[n]:e>=1&&e<=et[n]}set(t,e,r){return t.setDate(r),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]},D:new class extends T{priority=90;subpriority=1;parse(t,e,r){switch(e){case"D":case"DD":return $(D,t);case"Do":return r.ordinalNumber(t,{unit:"date"});default:return z(e.length,t)}}validate(t,e){return tt(t.getFullYear())?e>=1&&e<=366:e>=1&&e<=365}set(t,e,r){return t.setMonth(0,r),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]},E:new class extends T{priority=90;parse(t,e,r){switch(e){case"E":case"EE":case"EEE":return r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});case"EEEEE":return r.day(t,{width:"narrow",context:"formatting"});case"EEEEEE":return r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});default:return r.day(t,{width:"wide",context:"formatting"})||r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=6}set(t,e,r,n){return(t=nt(t,r,n)).setHours(0,0,0,0),t}incompatibleTokens=["D","i","e","c","t","T"]},e:new class extends T{priority=90;parse(t,e,r,n){const a=t=>{const e=7*Math.floor((t-1)/7);return(t+n.weekStartsOn+6)%7+e};switch(e){case"e":case"ee":return Z(z(e.length,t),a);case"eo":return Z(r.ordinalNumber(t,{unit:"day"}),a);case"eee":return r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});case"eeeee":return r.day(t,{width:"narrow",context:"formatting"});case"eeeeee":return r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});default:return r.day(t,{width:"wide",context:"formatting"})||r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=6}set(t,e,r,n){return(t=nt(t,r,n)).setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]},c:new class extends T{priority=90;parse(t,e,r,n){const a=t=>{const e=7*Math.floor((t-1)/7);return(t+n.weekStartsOn+6)%7+e};switch(e){case"c":case"cc":return Z(z(e.length,t),a);case"co":return Z(r.ordinalNumber(t,{unit:"day"}),a);case"ccc":return r.day(t,{width:"abbreviated",context:"standalone"})||r.day(t,{width:"short",context:"standalone"})||r.day(t,{width:"narrow",context:"standalone"});case"ccccc":return r.day(t,{width:"narrow",context:"standalone"});case"cccccc":return r.day(t,{width:"short",context:"standalone"})||r.day(t,{width:"narrow",context:"standalone"});default:return r.day(t,{width:"wide",context:"standalone"})||r.day(t,{width:"abbreviated",context:"standalone"})||r.day(t,{width:"short",context:"standalone"})||r.day(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=0&&e<=6}set(t,e,r,n){return(t=nt(t,r,n)).setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]},i:new class extends T{priority=90;parse(t,e,r){const n=t=>0===t?7:t;switch(e){case"i":case"ii":return z(e.length,t);case"io":return r.ordinalNumber(t,{unit:"day"});case"iii":return Z(r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"}),n);case"iiiii":return Z(r.day(t,{width:"narrow",context:"formatting"}),n);case"iiiiii":return Z(r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"}),n);default:return Z(r.day(t,{width:"wide",context:"formatting"})||r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"}),n)}}validate(t,e){return e>=1&&e<=7}set(t,e,r){return(t=at(t,r)).setHours(0,0,0,0),t}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]},a:new class extends T{priority=80;parse(t,e,r){switch(e){case"a":case"aa":case"aaa":return r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"});case"aaaaa":return r.dayPeriod(t,{width:"narrow",context:"formatting"});default:return r.dayPeriod(t,{width:"wide",context:"formatting"})||r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,r){return t.setHours(J(r),0,0,0),t}incompatibleTokens=["b","B","H","k","t","T"]},b:new class extends T{priority=80;parse(t,e,r){switch(e){case"b":case"bb":case"bbb":return r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"});case"bbbbb":return r.dayPeriod(t,{width:"narrow",context:"formatting"});default:return r.dayPeriod(t,{width:"wide",context:"formatting"})||r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,r){return t.setHours(J(r),0,0,0),t}incompatibleTokens=["a","B","H","k","t","T"]},B:new class extends T{priority=80;parse(t,e,r){switch(e){case"B":case"BB":case"BBB":return r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"});case"BBBBB":return r.dayPeriod(t,{width:"narrow",context:"formatting"});default:return r.dayPeriod(t,{width:"wide",context:"formatting"})||r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,r){return t.setHours(J(r),0,0,0),t}incompatibleTokens=["a","b","t","T"]},h:new class extends T{priority=70;parse(t,e,r){switch(e){case"h":return $(N,t);case"ho":return r.ordinalNumber(t,{unit:"hour"});default:return z(e.length,t)}}validate(t,e){return e>=1&&e<=12}set(t,e,r){const n=t.getHours()>=12;return n&&r<12?t.setHours(r+12,0,0,0):n||12!==r?t.setHours(r,0,0,0):t.setHours(0,0,0,0),t}incompatibleTokens=["H","K","k","t","T"]},H:new class extends T{priority=70;parse(t,e,r){switch(e){case"H":return $(M,t);case"Ho":return r.ordinalNumber(t,{unit:"hour"});default:return z(e.length,t)}}validate(t,e){return e>=0&&e<=23}set(t,e,r){return t.setHours(r,0,0,0),t}incompatibleTokens=["a","b","h","K","k","t","T"]},K:new class extends T{priority=70;parse(t,e,r){switch(e){case"K":return $(Y,t);case"Ko":return r.ordinalNumber(t,{unit:"hour"});default:return z(e.length,t)}}validate(t,e){return e>=0&&e<=11}set(t,e,r){return t.getHours()>=12&&r<12?t.setHours(r+12,0,0,0):t.setHours(r,0,0,0),t}incompatibleTokens=["h","H","k","t","T"]},k:new class extends T{priority=70;parse(t,e,r){switch(e){case"k":return $(H,t);case"ko":return r.ordinalNumber(t,{unit:"hour"});default:return z(e.length,t)}}validate(t,e){return e>=1&&e<=24}set(t,e,r){const n=r<=24?r%24:r;return t.setHours(n,0,0,0),t}incompatibleTokens=["a","b","h","H","K","t","T"]},m:new class extends T{priority=60;parse(t,e,r){switch(e){case"m":return $(E,t);case"mo":return r.ordinalNumber(t,{unit:"minute"});default:return z(e.length,t)}}validate(t,e){return e>=0&&e<=59}set(t,e,r){return t.setMinutes(r,0,0),t}incompatibleTokens=["t","T"]},s:new class extends T{priority=50;parse(t,e,r){switch(e){case"s":return $(P,t);case"so":return r.ordinalNumber(t,{unit:"second"});default:return z(e.length,t)}}validate(t,e){return e>=0&&e<=59}set(t,e,r){return t.setSeconds(r,0),t}incompatibleTokens=["t","T"]},S:new class extends T{priority=30;parse(t,e){return Z(z(e.length,t),(t=>Math.trunc(t*Math.pow(10,3-e.length))))}set(t,e,r){return t.setMilliseconds(r),t}incompatibleTokens=["t","T"]},X:new class extends T{priority=10;parse(t,e){switch(e){case"X":return j(F,t);case"XX":return j(W,t);case"XXXX":return j(A,t);case"XXXXX":return j(K,t);default:return j(C,t)}}set(t,e,n){return e.timestampIsSet?t:r(t,t.getTime()-w(t)-n)}incompatibleTokens=["t","T","x"]},x:new class extends T{priority=10;parse(t,e){switch(e){case"x":return j(F,t);case"xx":return j(W,t);case"xxxx":return j(A,t);case"xxxxx":return j(K,t);default:return j(C,t)}}set(t,e,n){return e.timestampIsSet?t:r(t,t.getTime()-w(t)-n)}incompatibleTokens=["t","T","X"]},t:new class extends T{priority=40;parse(t){return V(t)}set(t,e,n){return[r(t,1e3*n),{timestampIsSet:!0}]}incompatibleTokens="*"},T:new class extends T{priority=20;parse(t){return V(t)}set(t,e,n){return[r(t,n),{timestampIsSet:!0}]}incompatibleTokens="*"}},it=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,ot=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,ct=/^'([^]*?)'?$/,ut=/''/g,dt=/\S/,lt=/[a-zA-Z]/;function wt(n,a,s,i){const o=Object.assign({},t()),c=i?.locale??o.locale??h,u=i?.firstWeekContainsDate??i?.locale?.options?.firstWeekContainsDate??o.firstWeekContainsDate??o.locale?.options?.firstWeekContainsDate??1,d=i?.weekStartsOn??i?.locale?.options?.weekStartsOn??o.weekStartsOn??o.locale?.options?.weekStartsOn??0;if(""===a)return""===n?e(s):r(s,NaN);const l={firstWeekContainsDate:u,weekStartsOn:d,locale:c},w=[new b],x=a.match(ot).map((t=>{const e=t[0];if(e in m){return(0,m[e])(t,c.formatLong)}return t})).join("").match(it),g=[];for(let t of x){!i?.useAdditionalWeekYearTokens&&f(t)&&y(t,a,n),!i?.useAdditionalDayOfYearTokens&&p(t)&&y(t,a,n);const e=t[0],o=st[e];if(o){const{incompatibleTokens:a}=o;if(Array.isArray(a)){const r=g.find((t=>a.includes(t.token)||t.token===e));if(r)throw new RangeError(`The format string mustn't contain \`${r.fullToken}\` and \`${t}\` at the same time`)}else if("*"===o.incompatibleTokens&&g.length>0)throw new RangeError(`The format string mustn't contain \`${t}\` and any other token at the same time`);g.push({token:e,fullToken:t});const i=o.run(n,t,c.match,l);if(!i)return r(s,NaN);w.push(i.setter),n=i.rest}else{if(e.match(lt))throw new RangeError("Format string contains an unescaped latin alphabet character `"+e+"`");if("''"===t?t="'":"'"===e&&(t=t.match(ct)[1].replace(ut,"'")),0!==n.indexOf(t))return r(s,NaN);n=n.slice(t.length)}}if(n.length>0&&dt.test(n))return r(s,NaN);const T=w.map((t=>t.priority)).sort(((t,e)=>e-t)).filter(((t,e,r)=>r.indexOf(t)===e)).map((t=>w.filter((e=>e.priority===t)).sort(((t,e)=>e.subPriority-t.subPriority)))).map((t=>t[0]));let k=e(s);if(isNaN(k.getTime()))return r(s,NaN);const v={};for(const t of T){if(!t.validate(k,l))return r(s,NaN);const e=t.set(k,v,l);Array.isArray(e)?(k=e[0],Object.assign(v,e[1])):k=e}return r(s,k)}export{wt as p}; diff --git a/config/www/community/frigate-hass-card/parse-214d78af.js.gz b/config/www/community/frigate-hass-card/parse-214d78af.js.gz deleted file mode 100644 index d611cabe73efc314a9b78b6d754ceed264120a95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4019 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 Zu*losdsgG0,n=r?e:1-e;let a;if(n<=50)a=t||100;else{const e=n+50;a=t+100*Math.trunc(e/100)-(t>=e%100?100:0)}return r?a:1-a}function tt(t){return t%400==0||t%4==0&&t%100!=0}const et=[31,28,31,30,31,30,31,31,30,31,30,31],rt=[31,29,31,30,31,30,31,31,30,31,30,31];function nt(r,n,a){const s=t(),i=a?.weekStartsOn??a?.locale?.options?.weekStartsOn??s.weekStartsOn??s.locale?.options?.weekStartsOn??0,o=e(r),c=o.getDay(),u=7-i;return l(o,n<0||n>6?n-(c+u)%7:((n%7+7)%7+u)%7-(c+u)%7)}function at(t,r){const n=e(t),a=function(t){let r=e(t).getDay();return 0===r&&(r=7),r}(n);return l(n,r-a)}const st={G:new class extends T{priority=140;parse(t,e,r){switch(e){case"G":case"GG":case"GGG":return r.era(t,{width:"abbreviated"})||r.era(t,{width:"narrow"});case"GGGGG":return r.era(t,{width:"narrow"});default:return r.era(t,{width:"wide"})||r.era(t,{width:"abbreviated"})||r.era(t,{width:"narrow"})}}set(t,e,r){return e.era=r,t.setFullYear(r,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["R","u","t","T"]},y:new class extends T{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(t,e,r){const n=t=>({year:t,isTwoDigitYear:"yy"===e});switch(e){case"y":return Z(z(4,t),n);case"yo":return Z(r.ordinalNumber(t,{unit:"year"}),n);default:return Z(z(e.length,t),n)}}validate(t,e){return e.isTwoDigitYear||e.year>0}set(t,e,r){const n=t.getFullYear();if(r.isTwoDigitYear){const e=_(r.year,n);return t.setFullYear(e,0,1),t.setHours(0,0,0,0),t}const a="era"in e&&1!==e.era?1-r.year:r.year;return t.setFullYear(a,0,1),t.setHours(0,0,0,0),t}},Y:new class extends T{priority=130;parse(t,e,r){const n=t=>({year:t,isTwoDigitYear:"YY"===e});switch(e){case"Y":return Z(z(4,t),n);case"Yo":return Z(r.ordinalNumber(t,{unit:"year"}),n);default:return Z(z(e.length,t),n)}}validate(t,e){return e.isTwoDigitYear||e.year>0}set(t,e,r,n){const a=i(t,n);if(r.isTwoDigitYear){const e=_(r.year,a);return t.setFullYear(e,0,n.firstWeekContainsDate),t.setHours(0,0,0,0),o(t,n)}const s="era"in e&&1!==e.era?1-r.year:r.year;return t.setFullYear(s,0,n.firstWeekContainsDate),t.setHours(0,0,0,0),o(t,n)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]},R:new class extends T{priority=130;parse(t,e){return J("R"===e?4:e.length,t)}set(t,e,n){const a=r(t,0);return a.setFullYear(n,0,4),a.setHours(0,0,0,0),c(a)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]},u:new class extends T{priority=130;parse(t,e){return J("u"===e?4:e.length,t)}set(t,e,r){return t.setFullYear(r,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]},Q:new class extends T{priority=120;parse(t,e,r){switch(e){case"Q":case"QQ":return z(e.length,t);case"Qo":return r.ordinalNumber(t,{unit:"quarter"});case"QQQ":return r.quarter(t,{width:"abbreviated",context:"formatting"})||r.quarter(t,{width:"narrow",context:"formatting"});case"QQQQQ":return r.quarter(t,{width:"narrow",context:"formatting"});default:return r.quarter(t,{width:"wide",context:"formatting"})||r.quarter(t,{width:"abbreviated",context:"formatting"})||r.quarter(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=1&&e<=4}set(t,e,r){return t.setMonth(3*(r-1),1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]},q:new class extends T{priority=120;parse(t,e,r){switch(e){case"q":case"qq":return z(e.length,t);case"qo":return r.ordinalNumber(t,{unit:"quarter"});case"qqq":return r.quarter(t,{width:"abbreviated",context:"standalone"})||r.quarter(t,{width:"narrow",context:"standalone"});case"qqqqq":return r.quarter(t,{width:"narrow",context:"standalone"});default:return r.quarter(t,{width:"wide",context:"standalone"})||r.quarter(t,{width:"abbreviated",context:"standalone"})||r.quarter(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=1&&e<=4}set(t,e,r){return t.setMonth(3*(r-1),1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]},M:new class extends T{incompatibleTokens=["Y","R","q","Q","L","w","I","D","i","e","c","t","T"];priority=110;parse(t,e,r){const n=t=>t-1;switch(e){case"M":return Z($(k,t),n);case"MM":return Z(z(2,t),n);case"Mo":return Z(r.ordinalNumber(t,{unit:"month"}),n);case"MMM":return r.month(t,{width:"abbreviated",context:"formatting"})||r.month(t,{width:"narrow",context:"formatting"});case"MMMMM":return r.month(t,{width:"narrow",context:"formatting"});default:return r.month(t,{width:"wide",context:"formatting"})||r.month(t,{width:"abbreviated",context:"formatting"})||r.month(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=11}set(t,e,r){return t.setMonth(r,1),t.setHours(0,0,0,0),t}},L:new class extends T{priority=110;parse(t,e,r){const n=t=>t-1;switch(e){case"L":return Z($(k,t),n);case"LL":return Z(z(2,t),n);case"Lo":return Z(r.ordinalNumber(t,{unit:"month"}),n);case"LLL":return r.month(t,{width:"abbreviated",context:"standalone"})||r.month(t,{width:"narrow",context:"standalone"});case"LLLLL":return r.month(t,{width:"narrow",context:"standalone"});default:return r.month(t,{width:"wide",context:"standalone"})||r.month(t,{width:"abbreviated",context:"standalone"})||r.month(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=0&&e<=11}set(t,e,r){return t.setMonth(r,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]},w:new class extends T{priority=100;parse(t,e,r){switch(e){case"w":return $(q,t);case"wo":return r.ordinalNumber(t,{unit:"week"});default:return z(e.length,t)}}validate(t,e){return e>=1&&e<=53}set(t,r,n,a){return o(function(t,r,n){const a=e(t),s=u(a,n)-r;return a.setDate(a.getDate()-7*s),a}(t,n,a),a)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]},I:new class extends T{priority=100;parse(t,e,r){switch(e){case"I":return $(q,t);case"Io":return r.ordinalNumber(t,{unit:"week"});default:return z(e.length,t)}}validate(t,e){return e>=1&&e<=53}set(t,r,n){return c(function(t,r){const n=e(t),a=d(n)-r;return n.setDate(n.getDate()-7*a),n}(t,n))}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]},d:new class extends T{priority=90;subPriority=1;parse(t,e,r){switch(e){case"d":return $(v,t);case"do":return r.ordinalNumber(t,{unit:"date"});default:return z(e.length,t)}}validate(t,e){const r=tt(t.getFullYear()),n=t.getMonth();return r?e>=1&&e<=rt[n]:e>=1&&e<=et[n]}set(t,e,r){return t.setDate(r),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]},D:new class extends T{priority=90;subpriority=1;parse(t,e,r){switch(e){case"D":case"DD":return $(D,t);case"Do":return r.ordinalNumber(t,{unit:"date"});default:return z(e.length,t)}}validate(t,e){return tt(t.getFullYear())?e>=1&&e<=366:e>=1&&e<=365}set(t,e,r){return t.setMonth(0,r),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]},E:new class extends T{priority=90;parse(t,e,r){switch(e){case"E":case"EE":case"EEE":return r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});case"EEEEE":return r.day(t,{width:"narrow",context:"formatting"});case"EEEEEE":return r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});default:return r.day(t,{width:"wide",context:"formatting"})||r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=6}set(t,e,r,n){return(t=nt(t,r,n)).setHours(0,0,0,0),t}incompatibleTokens=["D","i","e","c","t","T"]},e:new class extends T{priority=90;parse(t,e,r,n){const a=t=>{const e=7*Math.floor((t-1)/7);return(t+n.weekStartsOn+6)%7+e};switch(e){case"e":case"ee":return Z(z(e.length,t),a);case"eo":return Z(r.ordinalNumber(t,{unit:"day"}),a);case"eee":return r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});case"eeeee":return r.day(t,{width:"narrow",context:"formatting"});case"eeeeee":return r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});default:return r.day(t,{width:"wide",context:"formatting"})||r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=6}set(t,e,r,n){return(t=nt(t,r,n)).setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]},c:new class extends T{priority=90;parse(t,e,r,n){const a=t=>{const e=7*Math.floor((t-1)/7);return(t+n.weekStartsOn+6)%7+e};switch(e){case"c":case"cc":return Z(z(e.length,t),a);case"co":return Z(r.ordinalNumber(t,{unit:"day"}),a);case"ccc":return r.day(t,{width:"abbreviated",context:"standalone"})||r.day(t,{width:"short",context:"standalone"})||r.day(t,{width:"narrow",context:"standalone"});case"ccccc":return r.day(t,{width:"narrow",context:"standalone"});case"cccccc":return r.day(t,{width:"short",context:"standalone"})||r.day(t,{width:"narrow",context:"standalone"});default:return r.day(t,{width:"wide",context:"standalone"})||r.day(t,{width:"abbreviated",context:"standalone"})||r.day(t,{width:"short",context:"standalone"})||r.day(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=0&&e<=6}set(t,e,r,n){return(t=nt(t,r,n)).setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]},i:new class extends T{priority=90;parse(t,e,r){const n=t=>0===t?7:t;switch(e){case"i":case"ii":return z(e.length,t);case"io":return r.ordinalNumber(t,{unit:"day"});case"iii":return Z(r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"}),n);case"iiiii":return Z(r.day(t,{width:"narrow",context:"formatting"}),n);case"iiiiii":return Z(r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"}),n);default:return Z(r.day(t,{width:"wide",context:"formatting"})||r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"}),n)}}validate(t,e){return e>=1&&e<=7}set(t,e,r){return(t=at(t,r)).setHours(0,0,0,0),t}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]},a:new class extends T{priority=80;parse(t,e,r){switch(e){case"a":case"aa":case"aaa":return r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"});case"aaaaa":return r.dayPeriod(t,{width:"narrow",context:"formatting"});default:return r.dayPeriod(t,{width:"wide",context:"formatting"})||r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,r){return t.setHours(U(r),0,0,0),t}incompatibleTokens=["b","B","H","k","t","T"]},b:new class extends T{priority=80;parse(t,e,r){switch(e){case"b":case"bb":case"bbb":return r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"});case"bbbbb":return r.dayPeriod(t,{width:"narrow",context:"formatting"});default:return r.dayPeriod(t,{width:"wide",context:"formatting"})||r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,r){return t.setHours(U(r),0,0,0),t}incompatibleTokens=["a","B","H","k","t","T"]},B:new class extends T{priority=80;parse(t,e,r){switch(e){case"B":case"BB":case"BBB":return r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"});case"BBBBB":return r.dayPeriod(t,{width:"narrow",context:"formatting"});default:return r.dayPeriod(t,{width:"wide",context:"formatting"})||r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,r){return t.setHours(U(r),0,0,0),t}incompatibleTokens=["a","b","t","T"]},h:new class extends T{priority=70;parse(t,e,r){switch(e){case"h":return $(N,t);case"ho":return r.ordinalNumber(t,{unit:"hour"});default:return z(e.length,t)}}validate(t,e){return e>=1&&e<=12}set(t,e,r){const n=t.getHours()>=12;return n&&r<12?t.setHours(r+12,0,0,0):n||12!==r?t.setHours(r,0,0,0):t.setHours(0,0,0,0),t}incompatibleTokens=["H","K","k","t","T"]},H:new class extends T{priority=70;parse(t,e,r){switch(e){case"H":return $(M,t);case"Ho":return r.ordinalNumber(t,{unit:"hour"});default:return z(e.length,t)}}validate(t,e){return e>=0&&e<=23}set(t,e,r){return t.setHours(r,0,0,0),t}incompatibleTokens=["a","b","h","K","k","t","T"]},K:new class extends T{priority=70;parse(t,e,r){switch(e){case"K":return $(Y,t);case"Ko":return r.ordinalNumber(t,{unit:"hour"});default:return z(e.length,t)}}validate(t,e){return e>=0&&e<=11}set(t,e,r){return t.getHours()>=12&&r<12?t.setHours(r+12,0,0,0):t.setHours(r,0,0,0),t}incompatibleTokens=["h","H","k","t","T"]},k:new class extends T{priority=70;parse(t,e,r){switch(e){case"k":return $(H,t);case"ko":return r.ordinalNumber(t,{unit:"hour"});default:return z(e.length,t)}}validate(t,e){return e>=1&&e<=24}set(t,e,r){const n=r<=24?r%24:r;return t.setHours(n,0,0,0),t}incompatibleTokens=["a","b","h","H","K","t","T"]},m:new class extends T{priority=60;parse(t,e,r){switch(e){case"m":return $(E,t);case"mo":return r.ordinalNumber(t,{unit:"minute"});default:return z(e.length,t)}}validate(t,e){return e>=0&&e<=59}set(t,e,r){return t.setMinutes(r,0,0),t}incompatibleTokens=["t","T"]},s:new class extends T{priority=50;parse(t,e,r){switch(e){case"s":return $(P,t);case"so":return r.ordinalNumber(t,{unit:"second"});default:return z(e.length,t)}}validate(t,e){return e>=0&&e<=59}set(t,e,r){return t.setSeconds(r,0),t}incompatibleTokens=["t","T"]},S:new class extends T{priority=30;parse(t,e){return Z(z(e.length,t),(t=>Math.trunc(t*Math.pow(10,3-e.length))))}set(t,e,r){return t.setMilliseconds(r),t}incompatibleTokens=["t","T"]},X:new class extends T{priority=10;parse(t,e){switch(e){case"X":return j(F,t);case"XX":return j(A,t);case"XXXX":return j(W,t);case"XXXXX":return j(K,t);default:return j(C,t)}}set(t,e,n){return e.timestampIsSet?t:r(t,t.getTime()-w(t)-n)}incompatibleTokens=["t","T","x"]},x:new class extends T{priority=10;parse(t,e){switch(e){case"x":return j(F,t);case"xx":return j(A,t);case"xxxx":return j(W,t);case"xxxxx":return j(K,t);default:return j(C,t)}}set(t,e,n){return e.timestampIsSet?t:r(t,t.getTime()-w(t)-n)}incompatibleTokens=["t","T","X"]},t:new class extends T{priority=40;parse(t){return V(t)}set(t,e,n){return[r(t,1e3*n),{timestampIsSet:!0}]}incompatibleTokens="*"},T:new class extends T{priority=20;parse(t){return V(t)}set(t,e,n){return[r(t,n),{timestampIsSet:!0}]}incompatibleTokens="*"}},it=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,ot=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,ct=/^'([^]*?)'?$/,ut=/''/g,dt=/\S/,lt=/[a-zA-Z]/;function wt(n,a,s,i){const o=Object.assign({},t()),c=i?.locale??o.locale??h,u=i?.firstWeekContainsDate??i?.locale?.options?.firstWeekContainsDate??o.firstWeekContainsDate??o.locale?.options?.firstWeekContainsDate??1,d=i?.weekStartsOn??i?.locale?.options?.weekStartsOn??o.weekStartsOn??o.locale?.options?.weekStartsOn??0;if(""===a)return""===n?e(s):r(s,NaN);const l={firstWeekContainsDate:u,weekStartsOn:d,locale:c},w=[new b],x=a.match(ot).map((t=>{const e=t[0];if(e in m){return(0,m[e])(t,c.formatLong)}return t})).join("").match(it),g=[];for(let t of x){!i?.useAdditionalWeekYearTokens&&f(t)&&y(t,a,n),!i?.useAdditionalDayOfYearTokens&&p(t)&&y(t,a,n);const e=t[0],o=st[e];if(o){const{incompatibleTokens:a}=o;if(Array.isArray(a)){const r=g.find((t=>a.includes(t.token)||t.token===e));if(r)throw new RangeError(`The format string mustn't contain \`${r.fullToken}\` and \`${t}\` at the same time`)}else if("*"===o.incompatibleTokens&&g.length>0)throw new RangeError(`The format string mustn't contain \`${t}\` and any other token at the same time`);g.push({token:e,fullToken:t});const i=o.run(n,t,c.match,l);if(!i)return r(s,NaN);w.push(i.setter),n=i.rest}else{if(e.match(lt))throw new RangeError("Format string contains an unescaped latin alphabet character `"+e+"`");if("''"===t?t="'":"'"===e&&(t=t.match(ct)[1].replace(ut,"'")),0!==n.indexOf(t))return r(s,NaN);n=n.slice(t.length)}}if(n.length>0&&dt.test(n))return r(s,NaN);const T=w.map((t=>t.priority)).sort(((t,e)=>e-t)).filter(((t,e,r)=>r.indexOf(t)===e)).map((t=>w.filter((e=>e.priority===t)).sort(((t,e)=>e.subPriority-t.subPriority)))).map((t=>t[0]));let k=e(s);if(isNaN(k.getTime()))return r(s,NaN);const v={};for(const t of T){if(!t.validate(k,l))return r(s,NaN);const e=t.set(k,v,l);Array.isArray(e)?(k=e[0],Object.assign(v,e[1])):k=e}return r(s,k)}export{wt as p}; diff --git a/config/www/community/frigate-hass-card/parse-645a86cb.js.gz b/config/www/community/frigate-hass-card/parse-645a86cb.js.gz deleted file mode 100644 index 796be8de84e3450c11924d19ea04b9e48cce2b46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4020 zcmV;l4@>YLiwFo_dR%7$|8QY)b7d_yG&Ny3He+HgYI6YXTzhxZxDx;Wev04&sof~4 zleTnm*3F^Y0$p05(A}k!a8Vq!F-`1LR+^T?-~EpKP~;?jgf0vBoQ0FhdW}XizZs2e z%l2UCQZ^x1CG3?L>TdFsAkyb4MP$HJ2N8#-7!jAJ9wI}Y+K629)J25y)I!AL=?D?V z(=H+-p7s&B;prHWF;9Dl-12mQ$Q@5F5c$f}J4BxHbm(7Dcc9cZEKIvq{fV{J!Cg}O z;weq5k3Fw+JMl)HH`I2i&F)OSd4v0Q7c-(VM6?MdY($+0y6=arFH7W>5vR-hS+3(T zImbVm;fd0ksh^naBjB{|pLASm+TJ=4qH8#;gFba#;=ANE~9# zU&dl-aRik~JU~kyh6))?c8WO&>ZBf2i)Y=DW-a)u>rI)jYP}iJ7t~3O*#qJ+JQyB& z?+9x#gG=gS{n#gb!^k_{Kwv50$7+J`x`s7jEo84f6#sJhmSs5+eCXQO`q zj9?&FyOeSub)G+V9oCC8oR+F-DCqaX9Z@gr6kf(XY-hxX$i5@MR#&R+_iZmO15!Tl z&gp7GM5hxva$*?7v%+SmQcOJ}>f(9e)&v-0ga$LbRB1Yuy{Wxehej#+f!b> z-Tv4W4Z=3pyv;V0Z3bPpqOQlhxFL$`QSpnocq>tS7PC|rEWKLf@&JkgCLp_k-XwBI zkmKn|kWT8T;cuYBII{_vw{d0*GVdT$g^raC^g6oSKzq?u)cg4?%lp5dWjTdsoWJu* zwXLa8*6`z`HT|%Go~Bgty1!ED)F=%p{5IdpkVw2tt5gk{NHey$(ubtWXiWmh832(G zd=ZRT1S95)o)2Yfr6#EjFtd6p6L6+6u>kFd4pZs5-bQsjqDg9A-?m6lTI&<%lJ&F* zsA7;Wse{-T>I1699soM=66J$pnkFY0)kGZV$r0qWA zP*pyC41ljxSVi#_jjt**_I}S}@AWeF_Li~td>MQ1^VtK#%wX^j&Qy{;W#CfBb}p5e z;8rlKLT*T+xV{sX4+n}7TsW@lM3?viym*+8TQ}zU)Fn3lI|uV!9XTd#5u;uu%|4HJ zIJ%u*&23$SC1g6S>w1&)JrZ>xrc>G0n^0AOn)PGMdNl|{97`n|P@q*+wri3{aM^;N zp=-XdQ4C|?87GWMXk(AIblo)d=@hOYEteUm@xauh1%oj2d=q@)F9`l_>eAmtwvA}i z@JUX?nPcKc6oyaXP@c(P@wH9ds*MS`ddDzj-fO4Tf`Yzl;XY~A+#&Dk&A0Ft@;M!J z@B(0t8d$s=1`KyF_Q>3++Oc!%t1fbW1<5$Ok6TVvwJIa+(T<_2&ZC{m4qOKLxLmSW z%p)QyML8gEgw0t9q)oWOX;2{skB8N{uYw?unmgb;e03H)^i>DZD#U`3xR^P49>fu0 zG!lnvr&74Kr8lKOMA!j|?BIC>=I67E=K{~PMkt1kld;`pJww5r4kb4>1Q%TemZIr= zy@M%r$57RbNo5e5HJ-DX`G$~?rNb3w$6pcy6W*9d--)=AA|2JWurQ1ibrk%EGT(MA zcQC}v?)1s2dqo`2JXhW-NEyM8!S7UQ`{*u5A)9)0DWNkU5EC22?+|`A{0RK4*#Jpx z#sFjHt~$Ac85j)N-s#xgw=ZqRr(`I1cYN_9Am};W-wEA(P`|2Mu;%bMHLP-_I$CpS z*LHCK)o9QmJeHq~9Gd}Upbz5Zz2XOs#inOMwl!okF&`8=qw*6 zE35kKEJf94>8d{anN%%rqHHK~is~3==-8=U*wkZxf&2drwul&ZoWU+`scPI{)Y!q^ zL;c=2j=a=4+)2*i1b)}>JBHs;Ge$McO~iH2YVdvK7&Wnl{GB>rBW7owYF@4S%uXVXDm81y)K(>bhG znd!tUj8@z-QvD8D1@(y+h|FDak9#M4)O*o)U8<@Oy=xmgvC~yq#YsHZtUTtAC5b;D z;giU42vO2*+~Wv!q)=23y5KRr=p+&TSq+kqEG`REApaWV&u)-KgX4I)N*Jy6(-^H4 z8LegI8m;v$Mr%ogivea~Z<-C5oaROL?3R_qWnl_dVWYht&#M`2&R9QQ2S2mX64_|& z)#6L(b{K!#hP8GKHgA1)WPP@s^-#ht6z|^&G};n5ZmB<;n-+KJY&)CPRmfz~`P;c) zct7F)edWw}r6S(!?JREfzzU<+&{nj;A~!k?mPNZb+XjEh-s9o;waVEAPCD&31W0wi zNi_>yi$r@E=dp)0rP(WIP;3({U;kNxG^_f$2)Rtz7Mu@@77Q=S77(7V~Z-f}U z0%8b{`+h$$#7B&25h1+G7Q)gun&)p2!ZvVMIx5D(`;tRMljPE`DrsE})3@|rn?eo=o5G%3B^6T|a! zv5Q=ta~A4kbKTLCmcb`~x z@5Rfjf!B7Y>c_G6vA#ZCTbr(_@aO!~T3f5AYtx6?w6<}HTW8*;Mtsa*-NML2cD&BH=IhQE zVzC+s%f58f3Fwc%{b8B5IE~qI#Z?cDc*W8KFRhlnatAmg-%>S+c)1M~{N(xPMNeRHyuU1Nk~szw)uqZ*cv#^yN( zY^RNGO&pzzcbNuPLsgZZH?ecQ&6(lf(fP{0VcGB> zm@WY%PB)Mit^tMqs7v^_Ko}%CD_DCs| zVaa0@cDtp)$YahLD_Nm7OCLW!oY30EsNWB`^FMwrVW%4uvmgV)1R@?DkP>$spEaMK z?=Eo=t#jbGwZ$ox%a_p_y{q4gGZyoMox73?jL=dr^CfIGFKfe**Hb4!1A`zjCxiK# z_^g6k<6l2<5Jy)49@G!N*Q(k zOfj082h%By9O7AcNV=syhz@4dANFtuuxs@&#TE=$`m9t)Mft1*3@U4DO7Pf+naY}C zC_#?!@9x0XJY>US+IhVVEDrnFBI<}CXa(L+hyAw$YU+~P*BtN*Gj*Uk{L}-RedmE6 z>=#-rm%9Kun7isMb`NEHYL11CGx7Zwekb3hOjUzu!Q3TP7$4x>=jSxkD0DM-sl;9g zYe8!)S`+9#`|1$LVu85)p_wX6e0D~YNOEfh!{MId%H)2J3)uExGV0YVNJyLLjXCiH zPZMSXUvsK)JUn3Hb2#c104s$6xC@RcXmZ2Rm-GWfYpK8#_b17<>;@6guBI7K>q~^M az#?yh?^%sm_#LU{fBpw+TOg$2N&o0,n=r?e:1-e;let a;if(n<=50)a=t||100;else{const e=n+50;a=t+100*Math.trunc(e/100)-(t>=e%100?100:0)}return r?a:1-a}function tt(t){return t%400==0||t%4==0&&t%100!=0}const et=[31,28,31,30,31,30,31,31,30,31,30,31],rt=[31,29,31,30,31,30,31,31,30,31,30,31];function nt(r,n,a){const s=t(),i=a?.weekStartsOn??a?.locale?.options?.weekStartsOn??s.weekStartsOn??s.locale?.options?.weekStartsOn??0,o=e(r),c=o.getDay(),u=7-i;return l(o,n<0||n>6?n-(c+u)%7:((n%7+7)%7+u)%7-(c+u)%7)}function at(t,r){const n=e(t),a=function(t){let r=e(t).getDay();return 0===r&&(r=7),r}(n);return l(n,r-a)}const st={G:new class extends T{priority=140;parse(t,e,r){switch(e){case"G":case"GG":case"GGG":return r.era(t,{width:"abbreviated"})||r.era(t,{width:"narrow"});case"GGGGG":return r.era(t,{width:"narrow"});default:return r.era(t,{width:"wide"})||r.era(t,{width:"abbreviated"})||r.era(t,{width:"narrow"})}}set(t,e,r){return e.era=r,t.setFullYear(r,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["R","u","t","T"]},y:new class extends T{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(t,e,r){const n=t=>({year:t,isTwoDigitYear:"yy"===e});switch(e){case"y":return Z(z(4,t),n);case"yo":return Z(r.ordinalNumber(t,{unit:"year"}),n);default:return Z(z(e.length,t),n)}}validate(t,e){return e.isTwoDigitYear||e.year>0}set(t,e,r){const n=t.getFullYear();if(r.isTwoDigitYear){const e=_(r.year,n);return t.setFullYear(e,0,1),t.setHours(0,0,0,0),t}const a="era"in e&&1!==e.era?1-r.year:r.year;return t.setFullYear(a,0,1),t.setHours(0,0,0,0),t}},Y:new class extends T{priority=130;parse(t,e,r){const n=t=>({year:t,isTwoDigitYear:"YY"===e});switch(e){case"Y":return Z(z(4,t),n);case"Yo":return Z(r.ordinalNumber(t,{unit:"year"}),n);default:return Z(z(e.length,t),n)}}validate(t,e){return e.isTwoDigitYear||e.year>0}set(t,e,r,n){const a=i(t,n);if(r.isTwoDigitYear){const e=_(r.year,a);return t.setFullYear(e,0,n.firstWeekContainsDate),t.setHours(0,0,0,0),o(t,n)}const s="era"in e&&1!==e.era?1-r.year:r.year;return t.setFullYear(s,0,n.firstWeekContainsDate),t.setHours(0,0,0,0),o(t,n)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]},R:new class extends T{priority=130;parse(t,e){return J("R"===e?4:e.length,t)}set(t,e,n){const a=r(t,0);return a.setFullYear(n,0,4),a.setHours(0,0,0,0),c(a)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]},u:new class extends T{priority=130;parse(t,e){return J("u"===e?4:e.length,t)}set(t,e,r){return t.setFullYear(r,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]},Q:new class extends T{priority=120;parse(t,e,r){switch(e){case"Q":case"QQ":return z(e.length,t);case"Qo":return r.ordinalNumber(t,{unit:"quarter"});case"QQQ":return r.quarter(t,{width:"abbreviated",context:"formatting"})||r.quarter(t,{width:"narrow",context:"formatting"});case"QQQQQ":return r.quarter(t,{width:"narrow",context:"formatting"});default:return r.quarter(t,{width:"wide",context:"formatting"})||r.quarter(t,{width:"abbreviated",context:"formatting"})||r.quarter(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=1&&e<=4}set(t,e,r){return t.setMonth(3*(r-1),1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]},q:new class extends T{priority=120;parse(t,e,r){switch(e){case"q":case"qq":return z(e.length,t);case"qo":return r.ordinalNumber(t,{unit:"quarter"});case"qqq":return r.quarter(t,{width:"abbreviated",context:"standalone"})||r.quarter(t,{width:"narrow",context:"standalone"});case"qqqqq":return r.quarter(t,{width:"narrow",context:"standalone"});default:return r.quarter(t,{width:"wide",context:"standalone"})||r.quarter(t,{width:"abbreviated",context:"standalone"})||r.quarter(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=1&&e<=4}set(t,e,r){return t.setMonth(3*(r-1),1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]},M:new class extends T{incompatibleTokens=["Y","R","q","Q","L","w","I","D","i","e","c","t","T"];priority=110;parse(t,e,r){const n=t=>t-1;switch(e){case"M":return Z($(k,t),n);case"MM":return Z(z(2,t),n);case"Mo":return Z(r.ordinalNumber(t,{unit:"month"}),n);case"MMM":return r.month(t,{width:"abbreviated",context:"formatting"})||r.month(t,{width:"narrow",context:"formatting"});case"MMMMM":return r.month(t,{width:"narrow",context:"formatting"});default:return r.month(t,{width:"wide",context:"formatting"})||r.month(t,{width:"abbreviated",context:"formatting"})||r.month(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=11}set(t,e,r){return t.setMonth(r,1),t.setHours(0,0,0,0),t}},L:new class extends T{priority=110;parse(t,e,r){const n=t=>t-1;switch(e){case"L":return Z($(k,t),n);case"LL":return Z(z(2,t),n);case"Lo":return Z(r.ordinalNumber(t,{unit:"month"}),n);case"LLL":return r.month(t,{width:"abbreviated",context:"standalone"})||r.month(t,{width:"narrow",context:"standalone"});case"LLLLL":return r.month(t,{width:"narrow",context:"standalone"});default:return r.month(t,{width:"wide",context:"standalone"})||r.month(t,{width:"abbreviated",context:"standalone"})||r.month(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=0&&e<=11}set(t,e,r){return t.setMonth(r,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]},w:new class extends T{priority=100;parse(t,e,r){switch(e){case"w":return $(q,t);case"wo":return r.ordinalNumber(t,{unit:"week"});default:return z(e.length,t)}}validate(t,e){return e>=1&&e<=53}set(t,r,n,a){return o(function(t,r,n){const a=e(t),s=u(a,n)-r;return a.setDate(a.getDate()-7*s),a}(t,n,a),a)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]},I:new class extends T{priority=100;parse(t,e,r){switch(e){case"I":return $(q,t);case"Io":return r.ordinalNumber(t,{unit:"week"});default:return z(e.length,t)}}validate(t,e){return e>=1&&e<=53}set(t,r,n){return c(function(t,r){const n=e(t),a=d(n)-r;return n.setDate(n.getDate()-7*a),n}(t,n))}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]},d:new class extends T{priority=90;subPriority=1;parse(t,e,r){switch(e){case"d":return $(v,t);case"do":return r.ordinalNumber(t,{unit:"date"});default:return z(e.length,t)}}validate(t,e){const r=tt(t.getFullYear()),n=t.getMonth();return r?e>=1&&e<=rt[n]:e>=1&&e<=et[n]}set(t,e,r){return t.setDate(r),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]},D:new class extends T{priority=90;subpriority=1;parse(t,e,r){switch(e){case"D":case"DD":return $(D,t);case"Do":return r.ordinalNumber(t,{unit:"date"});default:return z(e.length,t)}}validate(t,e){return tt(t.getFullYear())?e>=1&&e<=366:e>=1&&e<=365}set(t,e,r){return t.setMonth(0,r),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]},E:new class extends T{priority=90;parse(t,e,r){switch(e){case"E":case"EE":case"EEE":return r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});case"EEEEE":return r.day(t,{width:"narrow",context:"formatting"});case"EEEEEE":return r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});default:return r.day(t,{width:"wide",context:"formatting"})||r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=6}set(t,e,r,n){return(t=nt(t,r,n)).setHours(0,0,0,0),t}incompatibleTokens=["D","i","e","c","t","T"]},e:new class extends T{priority=90;parse(t,e,r,n){const a=t=>{const e=7*Math.floor((t-1)/7);return(t+n.weekStartsOn+6)%7+e};switch(e){case"e":case"ee":return Z(z(e.length,t),a);case"eo":return Z(r.ordinalNumber(t,{unit:"day"}),a);case"eee":return r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});case"eeeee":return r.day(t,{width:"narrow",context:"formatting"});case"eeeeee":return r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});default:return r.day(t,{width:"wide",context:"formatting"})||r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=6}set(t,e,r,n){return(t=nt(t,r,n)).setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]},c:new class extends T{priority=90;parse(t,e,r,n){const a=t=>{const e=7*Math.floor((t-1)/7);return(t+n.weekStartsOn+6)%7+e};switch(e){case"c":case"cc":return Z(z(e.length,t),a);case"co":return Z(r.ordinalNumber(t,{unit:"day"}),a);case"ccc":return r.day(t,{width:"abbreviated",context:"standalone"})||r.day(t,{width:"short",context:"standalone"})||r.day(t,{width:"narrow",context:"standalone"});case"ccccc":return r.day(t,{width:"narrow",context:"standalone"});case"cccccc":return r.day(t,{width:"short",context:"standalone"})||r.day(t,{width:"narrow",context:"standalone"});default:return r.day(t,{width:"wide",context:"standalone"})||r.day(t,{width:"abbreviated",context:"standalone"})||r.day(t,{width:"short",context:"standalone"})||r.day(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=0&&e<=6}set(t,e,r,n){return(t=nt(t,r,n)).setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]},i:new class extends T{priority=90;parse(t,e,r){const n=t=>0===t?7:t;switch(e){case"i":case"ii":return z(e.length,t);case"io":return r.ordinalNumber(t,{unit:"day"});case"iii":return Z(r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"}),n);case"iiiii":return Z(r.day(t,{width:"narrow",context:"formatting"}),n);case"iiiiii":return Z(r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"}),n);default:return Z(r.day(t,{width:"wide",context:"formatting"})||r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"}),n)}}validate(t,e){return e>=1&&e<=7}set(t,e,r){return(t=at(t,r)).setHours(0,0,0,0),t}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]},a:new class extends T{priority=80;parse(t,e,r){switch(e){case"a":case"aa":case"aaa":return r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"});case"aaaaa":return r.dayPeriod(t,{width:"narrow",context:"formatting"});default:return r.dayPeriod(t,{width:"wide",context:"formatting"})||r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,r){return t.setHours(U(r),0,0,0),t}incompatibleTokens=["b","B","H","k","t","T"]},b:new class extends T{priority=80;parse(t,e,r){switch(e){case"b":case"bb":case"bbb":return r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"});case"bbbbb":return r.dayPeriod(t,{width:"narrow",context:"formatting"});default:return r.dayPeriod(t,{width:"wide",context:"formatting"})||r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,r){return t.setHours(U(r),0,0,0),t}incompatibleTokens=["a","B","H","k","t","T"]},B:new class extends T{priority=80;parse(t,e,r){switch(e){case"B":case"BB":case"BBB":return r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"});case"BBBBB":return r.dayPeriod(t,{width:"narrow",context:"formatting"});default:return r.dayPeriod(t,{width:"wide",context:"formatting"})||r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,r){return t.setHours(U(r),0,0,0),t}incompatibleTokens=["a","b","t","T"]},h:new class extends T{priority=70;parse(t,e,r){switch(e){case"h":return $(N,t);case"ho":return r.ordinalNumber(t,{unit:"hour"});default:return z(e.length,t)}}validate(t,e){return e>=1&&e<=12}set(t,e,r){const n=t.getHours()>=12;return n&&r<12?t.setHours(r+12,0,0,0):n||12!==r?t.setHours(r,0,0,0):t.setHours(0,0,0,0),t}incompatibleTokens=["H","K","k","t","T"]},H:new class extends T{priority=70;parse(t,e,r){switch(e){case"H":return $(M,t);case"Ho":return r.ordinalNumber(t,{unit:"hour"});default:return z(e.length,t)}}validate(t,e){return e>=0&&e<=23}set(t,e,r){return t.setHours(r,0,0,0),t}incompatibleTokens=["a","b","h","K","k","t","T"]},K:new class extends T{priority=70;parse(t,e,r){switch(e){case"K":return $(Y,t);case"Ko":return r.ordinalNumber(t,{unit:"hour"});default:return z(e.length,t)}}validate(t,e){return e>=0&&e<=11}set(t,e,r){return t.getHours()>=12&&r<12?t.setHours(r+12,0,0,0):t.setHours(r,0,0,0),t}incompatibleTokens=["h","H","k","t","T"]},k:new class extends T{priority=70;parse(t,e,r){switch(e){case"k":return $(H,t);case"ko":return r.ordinalNumber(t,{unit:"hour"});default:return z(e.length,t)}}validate(t,e){return e>=1&&e<=24}set(t,e,r){const n=r<=24?r%24:r;return t.setHours(n,0,0,0),t}incompatibleTokens=["a","b","h","H","K","t","T"]},m:new class extends T{priority=60;parse(t,e,r){switch(e){case"m":return $(E,t);case"mo":return r.ordinalNumber(t,{unit:"minute"});default:return z(e.length,t)}}validate(t,e){return e>=0&&e<=59}set(t,e,r){return t.setMinutes(r,0,0),t}incompatibleTokens=["t","T"]},s:new class extends T{priority=50;parse(t,e,r){switch(e){case"s":return $(P,t);case"so":return r.ordinalNumber(t,{unit:"second"});default:return z(e.length,t)}}validate(t,e){return e>=0&&e<=59}set(t,e,r){return t.setSeconds(r,0),t}incompatibleTokens=["t","T"]},S:new class extends T{priority=30;parse(t,e){return Z(z(e.length,t),(t=>Math.trunc(t*Math.pow(10,3-e.length))))}set(t,e,r){return t.setMilliseconds(r),t}incompatibleTokens=["t","T"]},X:new class extends T{priority=10;parse(t,e){switch(e){case"X":return j(F,t);case"XX":return j(A,t);case"XXXX":return j(W,t);case"XXXXX":return j(K,t);default:return j(C,t)}}set(t,e,n){return e.timestampIsSet?t:r(t,t.getTime()-w(t)-n)}incompatibleTokens=["t","T","x"]},x:new class extends T{priority=10;parse(t,e){switch(e){case"x":return j(F,t);case"xx":return j(A,t);case"xxxx":return j(W,t);case"xxxxx":return j(K,t);default:return j(C,t)}}set(t,e,n){return e.timestampIsSet?t:r(t,t.getTime()-w(t)-n)}incompatibleTokens=["t","T","X"]},t:new class extends T{priority=40;parse(t){return V(t)}set(t,e,n){return[r(t,1e3*n),{timestampIsSet:!0}]}incompatibleTokens="*"},T:new class extends T{priority=20;parse(t){return V(t)}set(t,e,n){return[r(t,n),{timestampIsSet:!0}]}incompatibleTokens="*"}},it=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,ot=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,ct=/^'([^]*?)'?$/,ut=/''/g,dt=/\S/,lt=/[a-zA-Z]/;function wt(n,a,s,i){const o=Object.assign({},t()),c=i?.locale??o.locale??h,u=i?.firstWeekContainsDate??i?.locale?.options?.firstWeekContainsDate??o.firstWeekContainsDate??o.locale?.options?.firstWeekContainsDate??1,d=i?.weekStartsOn??i?.locale?.options?.weekStartsOn??o.weekStartsOn??o.locale?.options?.weekStartsOn??0;if(""===a)return""===n?e(s):r(s,NaN);const l={firstWeekContainsDate:u,weekStartsOn:d,locale:c},w=[new b],x=a.match(ot).map((t=>{const e=t[0];if(e in m){return(0,m[e])(t,c.formatLong)}return t})).join("").match(it),g=[];for(let t of x){!i?.useAdditionalWeekYearTokens&&f(t)&&y(t,a,n),!i?.useAdditionalDayOfYearTokens&&p(t)&&y(t,a,n);const e=t[0],o=st[e];if(o){const{incompatibleTokens:a}=o;if(Array.isArray(a)){const r=g.find((t=>a.includes(t.token)||t.token===e));if(r)throw new RangeError(`The format string mustn't contain \`${r.fullToken}\` and \`${t}\` at the same time`)}else if("*"===o.incompatibleTokens&&g.length>0)throw new RangeError(`The format string mustn't contain \`${t}\` and any other token at the same time`);g.push({token:e,fullToken:t});const i=o.run(n,t,c.match,l);if(!i)return r(s,NaN);w.push(i.setter),n=i.rest}else{if(e.match(lt))throw new RangeError("Format string contains an unescaped latin alphabet character `"+e+"`");if("''"===t?t="'":"'"===e&&(t=t.match(ct)[1].replace(ut,"'")),0!==n.indexOf(t))return r(s,NaN);n=n.slice(t.length)}}if(n.length>0&&dt.test(n))return r(s,NaN);const T=w.map((t=>t.priority)).sort(((t,e)=>e-t)).filter(((t,e,r)=>r.indexOf(t)===e)).map((t=>w.filter((e=>e.priority===t)).sort(((t,e)=>e.subPriority-t.subPriority)))).map((t=>t[0]));let k=e(s);if(isNaN(k.getTime()))return r(s,NaN);const v={};for(const t of T){if(!t.validate(k,l))return r(s,NaN);const e=t.set(k,v,l);Array.isArray(e)?(k=e[0],Object.assign(v,e[1])):k=e}return r(s,k)}export{wt as p}; diff --git a/config/www/community/frigate-hass-card/parse-7dfc1897.js.gz b/config/www/community/frigate-hass-card/parse-7dfc1897.js.gz deleted file mode 100644 index 7d1023be32e25abae55820e23134f77fe51a5de3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4021 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 diff --git a/config/www/community/frigate-hass-card/parse-7f4a6e12.js b/config/www/community/frigate-hass-card/parse-7f4a6e12.js deleted file mode 100644 index a23c5878..00000000 --- a/config/www/community/frigate-hass-card/parse-7f4a6e12.js +++ /dev/null @@ -1 +0,0 @@ -import{eh as t,c$ as e,ei as r,ej as n,ek as a,el as s,em as i,en as o,eo as c,ep as u,eq as d,er as l,es as w,et as h,eu as m,ev as f,ew as y,ex as p}from"./card-320adb66.js";class x{subPriority=0;validate(t,e){return!0}}class g extends x{constructor(t,e,r,n,a){super(),this.value=t,this.validateValue=e,this.setValue=r,this.priority=n,a&&(this.subPriority=a)}validate(t,e){return this.validateValue(t,this.value,e)}set(t,e,r){return this.setValue(t,e,this.value,r)}}class b extends x{priority=10;subPriority=-1;set(t,e){return e.timestampIsSet?t:r(t,function(t,e){const n=e instanceof Date?r(e,0):new e(0);return n.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),n.setHours(t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()),n}(t,Date))}}class T{run(t,e,r,n){const a=this.parse(t,e,r,n);return a?{setter:new g(a.value,this.validate,this.set,this.priority,this.subPriority),rest:a.rest}:null}validate(t,e,r){return!0}}const k=/^(1[0-2]|0?\d)/,v=/^(3[0-1]|[0-2]?\d)/,D=/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,q=/^(5[0-3]|[0-4]?\d)/,M=/^(2[0-3]|[0-1]?\d)/,H=/^(2[0-4]|[0-1]?\d)/,Y=/^(1[0-1]|0?\d)/,N=/^(1[0-2]|0?\d)/,E=/^[0-5]?\d/,P=/^[0-5]?\d/,L=/^\d/,Q=/^\d{1,2}/,I=/^\d{1,3}/,R=/^\d{1,4}/,S=/^-?\d+/,O=/^-?\d/,B=/^-?\d{1,2}/,G=/^-?\d{1,3}/,X=/^-?\d{1,4}/,F=/^([+-])(\d{2})(\d{2})?|Z/,W=/^([+-])(\d{2})(\d{2})|Z/,A=/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,C=/^([+-])(\d{2}):(\d{2})|Z/,K=/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/;function Z(t,e){return t?{value:e(t.value),rest:t.rest}:t}function $(t,e){const r=e.match(t);return r?{value:parseInt(r[0],10),rest:e.slice(r[0].length)}:null}function j(t,e){const r=e.match(t);if(!r)return null;if("Z"===r[0])return{value:0,rest:e.slice(1)};const i="+"===r[1]?1:-1,o=r[2]?parseInt(r[2],10):0,c=r[3]?parseInt(r[3],10):0,u=r[5]?parseInt(r[5],10):0;return{value:i*(o*n+c*a+u*s),rest:e.slice(r[0].length)}}function V(t){return $(S,t)}function z(t,e){switch(t){case 1:return $(L,e);case 2:return $(Q,e);case 3:return $(I,e);case 4:return $(R,e);default:return $(new RegExp("^\\d{1,"+t+"}"),e)}}function J(t,e){switch(t){case 1:return $(O,e);case 2:return $(B,e);case 3:return $(G,e);case 4:return $(X,e);default:return $(new RegExp("^-?\\d{1,"+t+"}"),e)}}function U(t){switch(t){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;default:return 0}}function _(t,e){const r=e>0,n=r?e:1-e;let a;if(n<=50)a=t||100;else{const e=n+50;a=t+100*Math.trunc(e/100)-(t>=e%100?100:0)}return r?a:1-a}function tt(t){return t%400==0||t%4==0&&t%100!=0}const et=[31,28,31,30,31,30,31,31,30,31,30,31],rt=[31,29,31,30,31,30,31,31,30,31,30,31];function nt(r,n,a){const s=t(),i=a?.weekStartsOn??a?.locale?.options?.weekStartsOn??s.weekStartsOn??s.locale?.options?.weekStartsOn??0,o=e(r),c=o.getDay(),u=7-i;return l(o,n<0||n>6?n-(c+u)%7:((n%7+7)%7+u)%7-(c+u)%7)}function at(t,r){const n=e(t),a=function(t){let r=e(t).getDay();return 0===r&&(r=7),r}(n);return l(n,r-a)}const st={G:new class extends T{priority=140;parse(t,e,r){switch(e){case"G":case"GG":case"GGG":return r.era(t,{width:"abbreviated"})||r.era(t,{width:"narrow"});case"GGGGG":return r.era(t,{width:"narrow"});default:return r.era(t,{width:"wide"})||r.era(t,{width:"abbreviated"})||r.era(t,{width:"narrow"})}}set(t,e,r){return e.era=r,t.setFullYear(r,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["R","u","t","T"]},y:new class extends T{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(t,e,r){const n=t=>({year:t,isTwoDigitYear:"yy"===e});switch(e){case"y":return Z(z(4,t),n);case"yo":return Z(r.ordinalNumber(t,{unit:"year"}),n);default:return Z(z(e.length,t),n)}}validate(t,e){return e.isTwoDigitYear||e.year>0}set(t,e,r){const n=t.getFullYear();if(r.isTwoDigitYear){const e=_(r.year,n);return t.setFullYear(e,0,1),t.setHours(0,0,0,0),t}const a="era"in e&&1!==e.era?1-r.year:r.year;return t.setFullYear(a,0,1),t.setHours(0,0,0,0),t}},Y:new class extends T{priority=130;parse(t,e,r){const n=t=>({year:t,isTwoDigitYear:"YY"===e});switch(e){case"Y":return Z(z(4,t),n);case"Yo":return Z(r.ordinalNumber(t,{unit:"year"}),n);default:return Z(z(e.length,t),n)}}validate(t,e){return e.isTwoDigitYear||e.year>0}set(t,e,r,n){const a=i(t,n);if(r.isTwoDigitYear){const e=_(r.year,a);return t.setFullYear(e,0,n.firstWeekContainsDate),t.setHours(0,0,0,0),o(t,n)}const s="era"in e&&1!==e.era?1-r.year:r.year;return t.setFullYear(s,0,n.firstWeekContainsDate),t.setHours(0,0,0,0),o(t,n)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]},R:new class extends T{priority=130;parse(t,e){return J("R"===e?4:e.length,t)}set(t,e,n){const a=r(t,0);return a.setFullYear(n,0,4),a.setHours(0,0,0,0),c(a)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]},u:new class extends T{priority=130;parse(t,e){return J("u"===e?4:e.length,t)}set(t,e,r){return t.setFullYear(r,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]},Q:new class extends T{priority=120;parse(t,e,r){switch(e){case"Q":case"QQ":return z(e.length,t);case"Qo":return r.ordinalNumber(t,{unit:"quarter"});case"QQQ":return r.quarter(t,{width:"abbreviated",context:"formatting"})||r.quarter(t,{width:"narrow",context:"formatting"});case"QQQQQ":return r.quarter(t,{width:"narrow",context:"formatting"});default:return r.quarter(t,{width:"wide",context:"formatting"})||r.quarter(t,{width:"abbreviated",context:"formatting"})||r.quarter(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=1&&e<=4}set(t,e,r){return t.setMonth(3*(r-1),1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]},q:new class extends T{priority=120;parse(t,e,r){switch(e){case"q":case"qq":return z(e.length,t);case"qo":return r.ordinalNumber(t,{unit:"quarter"});case"qqq":return r.quarter(t,{width:"abbreviated",context:"standalone"})||r.quarter(t,{width:"narrow",context:"standalone"});case"qqqqq":return r.quarter(t,{width:"narrow",context:"standalone"});default:return r.quarter(t,{width:"wide",context:"standalone"})||r.quarter(t,{width:"abbreviated",context:"standalone"})||r.quarter(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=1&&e<=4}set(t,e,r){return t.setMonth(3*(r-1),1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]},M:new class extends T{incompatibleTokens=["Y","R","q","Q","L","w","I","D","i","e","c","t","T"];priority=110;parse(t,e,r){const n=t=>t-1;switch(e){case"M":return Z($(k,t),n);case"MM":return Z(z(2,t),n);case"Mo":return Z(r.ordinalNumber(t,{unit:"month"}),n);case"MMM":return r.month(t,{width:"abbreviated",context:"formatting"})||r.month(t,{width:"narrow",context:"formatting"});case"MMMMM":return r.month(t,{width:"narrow",context:"formatting"});default:return r.month(t,{width:"wide",context:"formatting"})||r.month(t,{width:"abbreviated",context:"formatting"})||r.month(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=11}set(t,e,r){return t.setMonth(r,1),t.setHours(0,0,0,0),t}},L:new class extends T{priority=110;parse(t,e,r){const n=t=>t-1;switch(e){case"L":return Z($(k,t),n);case"LL":return Z(z(2,t),n);case"Lo":return Z(r.ordinalNumber(t,{unit:"month"}),n);case"LLL":return r.month(t,{width:"abbreviated",context:"standalone"})||r.month(t,{width:"narrow",context:"standalone"});case"LLLLL":return r.month(t,{width:"narrow",context:"standalone"});default:return r.month(t,{width:"wide",context:"standalone"})||r.month(t,{width:"abbreviated",context:"standalone"})||r.month(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=0&&e<=11}set(t,e,r){return t.setMonth(r,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]},w:new class extends T{priority=100;parse(t,e,r){switch(e){case"w":return $(q,t);case"wo":return r.ordinalNumber(t,{unit:"week"});default:return z(e.length,t)}}validate(t,e){return e>=1&&e<=53}set(t,r,n,a){return o(function(t,r,n){const a=e(t),s=u(a,n)-r;return a.setDate(a.getDate()-7*s),a}(t,n,a),a)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]},I:new class extends T{priority=100;parse(t,e,r){switch(e){case"I":return $(q,t);case"Io":return r.ordinalNumber(t,{unit:"week"});default:return z(e.length,t)}}validate(t,e){return e>=1&&e<=53}set(t,r,n){return c(function(t,r){const n=e(t),a=d(n)-r;return n.setDate(n.getDate()-7*a),n}(t,n))}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]},d:new class extends T{priority=90;subPriority=1;parse(t,e,r){switch(e){case"d":return $(v,t);case"do":return r.ordinalNumber(t,{unit:"date"});default:return z(e.length,t)}}validate(t,e){const r=tt(t.getFullYear()),n=t.getMonth();return r?e>=1&&e<=rt[n]:e>=1&&e<=et[n]}set(t,e,r){return t.setDate(r),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]},D:new class extends T{priority=90;subpriority=1;parse(t,e,r){switch(e){case"D":case"DD":return $(D,t);case"Do":return r.ordinalNumber(t,{unit:"date"});default:return z(e.length,t)}}validate(t,e){return tt(t.getFullYear())?e>=1&&e<=366:e>=1&&e<=365}set(t,e,r){return t.setMonth(0,r),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]},E:new class extends T{priority=90;parse(t,e,r){switch(e){case"E":case"EE":case"EEE":return r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});case"EEEEE":return r.day(t,{width:"narrow",context:"formatting"});case"EEEEEE":return r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});default:return r.day(t,{width:"wide",context:"formatting"})||r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=6}set(t,e,r,n){return(t=nt(t,r,n)).setHours(0,0,0,0),t}incompatibleTokens=["D","i","e","c","t","T"]},e:new class extends T{priority=90;parse(t,e,r,n){const a=t=>{const e=7*Math.floor((t-1)/7);return(t+n.weekStartsOn+6)%7+e};switch(e){case"e":case"ee":return Z(z(e.length,t),a);case"eo":return Z(r.ordinalNumber(t,{unit:"day"}),a);case"eee":return r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});case"eeeee":return r.day(t,{width:"narrow",context:"formatting"});case"eeeeee":return r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});default:return r.day(t,{width:"wide",context:"formatting"})||r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=6}set(t,e,r,n){return(t=nt(t,r,n)).setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]},c:new class extends T{priority=90;parse(t,e,r,n){const a=t=>{const e=7*Math.floor((t-1)/7);return(t+n.weekStartsOn+6)%7+e};switch(e){case"c":case"cc":return Z(z(e.length,t),a);case"co":return Z(r.ordinalNumber(t,{unit:"day"}),a);case"ccc":return r.day(t,{width:"abbreviated",context:"standalone"})||r.day(t,{width:"short",context:"standalone"})||r.day(t,{width:"narrow",context:"standalone"});case"ccccc":return r.day(t,{width:"narrow",context:"standalone"});case"cccccc":return r.day(t,{width:"short",context:"standalone"})||r.day(t,{width:"narrow",context:"standalone"});default:return r.day(t,{width:"wide",context:"standalone"})||r.day(t,{width:"abbreviated",context:"standalone"})||r.day(t,{width:"short",context:"standalone"})||r.day(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=0&&e<=6}set(t,e,r,n){return(t=nt(t,r,n)).setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]},i:new class extends T{priority=90;parse(t,e,r){const n=t=>0===t?7:t;switch(e){case"i":case"ii":return z(e.length,t);case"io":return r.ordinalNumber(t,{unit:"day"});case"iii":return Z(r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"}),n);case"iiiii":return Z(r.day(t,{width:"narrow",context:"formatting"}),n);case"iiiiii":return Z(r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"}),n);default:return Z(r.day(t,{width:"wide",context:"formatting"})||r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"}),n)}}validate(t,e){return e>=1&&e<=7}set(t,e,r){return(t=at(t,r)).setHours(0,0,0,0),t}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]},a:new class extends T{priority=80;parse(t,e,r){switch(e){case"a":case"aa":case"aaa":return r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"});case"aaaaa":return r.dayPeriod(t,{width:"narrow",context:"formatting"});default:return r.dayPeriod(t,{width:"wide",context:"formatting"})||r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,r){return t.setHours(U(r),0,0,0),t}incompatibleTokens=["b","B","H","k","t","T"]},b:new class extends T{priority=80;parse(t,e,r){switch(e){case"b":case"bb":case"bbb":return r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"});case"bbbbb":return r.dayPeriod(t,{width:"narrow",context:"formatting"});default:return r.dayPeriod(t,{width:"wide",context:"formatting"})||r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,r){return t.setHours(U(r),0,0,0),t}incompatibleTokens=["a","B","H","k","t","T"]},B:new class extends T{priority=80;parse(t,e,r){switch(e){case"B":case"BB":case"BBB":return r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"});case"BBBBB":return r.dayPeriod(t,{width:"narrow",context:"formatting"});default:return r.dayPeriod(t,{width:"wide",context:"formatting"})||r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,r){return t.setHours(U(r),0,0,0),t}incompatibleTokens=["a","b","t","T"]},h:new class extends T{priority=70;parse(t,e,r){switch(e){case"h":return $(N,t);case"ho":return r.ordinalNumber(t,{unit:"hour"});default:return z(e.length,t)}}validate(t,e){return e>=1&&e<=12}set(t,e,r){const n=t.getHours()>=12;return n&&r<12?t.setHours(r+12,0,0,0):n||12!==r?t.setHours(r,0,0,0):t.setHours(0,0,0,0),t}incompatibleTokens=["H","K","k","t","T"]},H:new class extends T{priority=70;parse(t,e,r){switch(e){case"H":return $(M,t);case"Ho":return r.ordinalNumber(t,{unit:"hour"});default:return z(e.length,t)}}validate(t,e){return e>=0&&e<=23}set(t,e,r){return t.setHours(r,0,0,0),t}incompatibleTokens=["a","b","h","K","k","t","T"]},K:new class extends T{priority=70;parse(t,e,r){switch(e){case"K":return $(Y,t);case"Ko":return r.ordinalNumber(t,{unit:"hour"});default:return z(e.length,t)}}validate(t,e){return e>=0&&e<=11}set(t,e,r){return t.getHours()>=12&&r<12?t.setHours(r+12,0,0,0):t.setHours(r,0,0,0),t}incompatibleTokens=["h","H","k","t","T"]},k:new class extends T{priority=70;parse(t,e,r){switch(e){case"k":return $(H,t);case"ko":return r.ordinalNumber(t,{unit:"hour"});default:return z(e.length,t)}}validate(t,e){return e>=1&&e<=24}set(t,e,r){const n=r<=24?r%24:r;return t.setHours(n,0,0,0),t}incompatibleTokens=["a","b","h","H","K","t","T"]},m:new class extends T{priority=60;parse(t,e,r){switch(e){case"m":return $(E,t);case"mo":return r.ordinalNumber(t,{unit:"minute"});default:return z(e.length,t)}}validate(t,e){return e>=0&&e<=59}set(t,e,r){return t.setMinutes(r,0,0),t}incompatibleTokens=["t","T"]},s:new class extends T{priority=50;parse(t,e,r){switch(e){case"s":return $(P,t);case"so":return r.ordinalNumber(t,{unit:"second"});default:return z(e.length,t)}}validate(t,e){return e>=0&&e<=59}set(t,e,r){return t.setSeconds(r,0),t}incompatibleTokens=["t","T"]},S:new class extends T{priority=30;parse(t,e){return Z(z(e.length,t),(t=>Math.trunc(t*Math.pow(10,3-e.length))))}set(t,e,r){return t.setMilliseconds(r),t}incompatibleTokens=["t","T"]},X:new class extends T{priority=10;parse(t,e){switch(e){case"X":return j(F,t);case"XX":return j(W,t);case"XXXX":return j(A,t);case"XXXXX":return j(K,t);default:return j(C,t)}}set(t,e,n){return e.timestampIsSet?t:r(t,t.getTime()-w(t)-n)}incompatibleTokens=["t","T","x"]},x:new class extends T{priority=10;parse(t,e){switch(e){case"x":return j(F,t);case"xx":return j(W,t);case"xxxx":return j(A,t);case"xxxxx":return j(K,t);default:return j(C,t)}}set(t,e,n){return e.timestampIsSet?t:r(t,t.getTime()-w(t)-n)}incompatibleTokens=["t","T","X"]},t:new class extends T{priority=40;parse(t){return V(t)}set(t,e,n){return[r(t,1e3*n),{timestampIsSet:!0}]}incompatibleTokens="*"},T:new class extends T{priority=20;parse(t){return V(t)}set(t,e,n){return[r(t,n),{timestampIsSet:!0}]}incompatibleTokens="*"}},it=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,ot=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,ct=/^'([^]*?)'?$/,ut=/''/g,dt=/\S/,lt=/[a-zA-Z]/;function wt(n,a,s,i){const o=Object.assign({},t()),c=i?.locale??o.locale??h,u=i?.firstWeekContainsDate??i?.locale?.options?.firstWeekContainsDate??o.firstWeekContainsDate??o.locale?.options?.firstWeekContainsDate??1,d=i?.weekStartsOn??i?.locale?.options?.weekStartsOn??o.weekStartsOn??o.locale?.options?.weekStartsOn??0;if(""===a)return""===n?e(s):r(s,NaN);const l={firstWeekContainsDate:u,weekStartsOn:d,locale:c},w=[new b],x=a.match(ot).map((t=>{const e=t[0];if(e in m){return(0,m[e])(t,c.formatLong)}return t})).join("").match(it),g=[];for(let t of x){!i?.useAdditionalWeekYearTokens&&f(t)&&y(t,a,n),!i?.useAdditionalDayOfYearTokens&&p(t)&&y(t,a,n);const e=t[0],o=st[e];if(o){const{incompatibleTokens:a}=o;if(Array.isArray(a)){const r=g.find((t=>a.includes(t.token)||t.token===e));if(r)throw new RangeError(`The format string mustn't contain \`${r.fullToken}\` and \`${t}\` at the same time`)}else if("*"===o.incompatibleTokens&&g.length>0)throw new RangeError(`The format string mustn't contain \`${t}\` and any other token at the same time`);g.push({token:e,fullToken:t});const i=o.run(n,t,c.match,l);if(!i)return r(s,NaN);w.push(i.setter),n=i.rest}else{if(e.match(lt))throw new RangeError("Format string contains an unescaped latin alphabet character `"+e+"`");if("''"===t?t="'":"'"===e&&(t=t.match(ct)[1].replace(ut,"'")),0!==n.indexOf(t))return r(s,NaN);n=n.slice(t.length)}}if(n.length>0&&dt.test(n))return r(s,NaN);const T=w.map((t=>t.priority)).sort(((t,e)=>e-t)).filter(((t,e,r)=>r.indexOf(t)===e)).map((t=>w.filter((e=>e.priority===t)).sort(((t,e)=>e.subPriority-t.subPriority)))).map((t=>t[0]));let k=e(s);if(isNaN(k.getTime()))return r(s,NaN);const v={};for(const t of T){if(!t.validate(k,l))return r(s,NaN);const e=t.set(k,v,l);Array.isArray(e)?(k=e[0],Object.assign(v,e[1])):k=e}return r(s,k)}export{wt as p}; diff --git a/config/www/community/frigate-hass-card/parse-7f4a6e12.js.gz b/config/www/community/frigate-hass-card/parse-7f4a6e12.js.gz deleted file mode 100644 index bb99956601a7e6536f86a2fde6029d05075383d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4019 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 Z7I_zZ&uYxV??^TO^FL0nz2o6Z003kx)3pEq diff --git a/config/www/community/frigate-hass-card/parse-a53fb39b.js b/config/www/community/frigate-hass-card/parse-a53fb39b.js deleted file mode 100644 index e5ac1525..00000000 --- a/config/www/community/frigate-hass-card/parse-a53fb39b.js +++ /dev/null @@ -1 +0,0 @@ -import{ek as t,d3 as e,el as r,em as n,en as a,eo as s,ep as i,eq as o,er as c,es as u,et as d,eu as l,ev as w,ew as h,ex as m,ey as f,ez as y,eA as p}from"./card-c642ee74.js";class x{subPriority=0;validate(t,e){return!0}}class g extends x{constructor(t,e,r,n,a){super(),this.value=t,this.validateValue=e,this.setValue=r,this.priority=n,a&&(this.subPriority=a)}validate(t,e){return this.validateValue(t,this.value,e)}set(t,e,r){return this.setValue(t,e,this.value,r)}}class b extends x{priority=10;subPriority=-1;set(t,e){return e.timestampIsSet?t:r(t,function(t,e){const n=e instanceof Date?r(e,0):new e(0);return n.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),n.setHours(t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()),n}(t,Date))}}class T{run(t,e,r,n){const a=this.parse(t,e,r,n);return a?{setter:new g(a.value,this.validate,this.set,this.priority,this.subPriority),rest:a.rest}:null}validate(t,e,r){return!0}}const k=/^(1[0-2]|0?\d)/,v=/^(3[0-1]|[0-2]?\d)/,D=/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,q=/^(5[0-3]|[0-4]?\d)/,M=/^(2[0-3]|[0-1]?\d)/,H=/^(2[0-4]|[0-1]?\d)/,Y=/^(1[0-1]|0?\d)/,N=/^(1[0-2]|0?\d)/,E=/^[0-5]?\d/,P=/^[0-5]?\d/,L=/^\d/,Q=/^\d{1,2}/,I=/^\d{1,3}/,R=/^\d{1,4}/,S=/^-?\d+/,O=/^-?\d/,B=/^-?\d{1,2}/,G=/^-?\d{1,3}/,X=/^-?\d{1,4}/,F=/^([+-])(\d{2})(\d{2})?|Z/,A=/^([+-])(\d{2})(\d{2})|Z/,W=/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,C=/^([+-])(\d{2}):(\d{2})|Z/,K=/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/;function Z(t,e){return t?{value:e(t.value),rest:t.rest}:t}function $(t,e){const r=e.match(t);return r?{value:parseInt(r[0],10),rest:e.slice(r[0].length)}:null}function j(t,e){const r=e.match(t);if(!r)return null;if("Z"===r[0])return{value:0,rest:e.slice(1)};const i="+"===r[1]?1:-1,o=r[2]?parseInt(r[2],10):0,c=r[3]?parseInt(r[3],10):0,u=r[5]?parseInt(r[5],10):0;return{value:i*(o*n+c*a+u*s),rest:e.slice(r[0].length)}}function V(t){return $(S,t)}function z(t,e){switch(t){case 1:return $(L,e);case 2:return $(Q,e);case 3:return $(I,e);case 4:return $(R,e);default:return $(new RegExp("^\\d{1,"+t+"}"),e)}}function J(t,e){switch(t){case 1:return $(O,e);case 2:return $(B,e);case 3:return $(G,e);case 4:return $(X,e);default:return $(new RegExp("^-?\\d{1,"+t+"}"),e)}}function U(t){switch(t){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;default:return 0}}function _(t,e){const r=e>0,n=r?e:1-e;let a;if(n<=50)a=t||100;else{const e=n+50;a=t+100*Math.trunc(e/100)-(t>=e%100?100:0)}return r?a:1-a}function tt(t){return t%400==0||t%4==0&&t%100!=0}const et=[31,28,31,30,31,30,31,31,30,31,30,31],rt=[31,29,31,30,31,30,31,31,30,31,30,31];function nt(r,n,a){const s=t(),i=a?.weekStartsOn??a?.locale?.options?.weekStartsOn??s.weekStartsOn??s.locale?.options?.weekStartsOn??0,o=e(r),c=o.getDay(),u=7-i;return l(o,n<0||n>6?n-(c+u)%7:((n%7+7)%7+u)%7-(c+u)%7)}function at(t,r){const n=e(t),a=function(t){let r=e(t).getDay();return 0===r&&(r=7),r}(n);return l(n,r-a)}const st={G:new class extends T{priority=140;parse(t,e,r){switch(e){case"G":case"GG":case"GGG":return r.era(t,{width:"abbreviated"})||r.era(t,{width:"narrow"});case"GGGGG":return r.era(t,{width:"narrow"});default:return r.era(t,{width:"wide"})||r.era(t,{width:"abbreviated"})||r.era(t,{width:"narrow"})}}set(t,e,r){return e.era=r,t.setFullYear(r,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["R","u","t","T"]},y:new class extends T{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(t,e,r){const n=t=>({year:t,isTwoDigitYear:"yy"===e});switch(e){case"y":return Z(z(4,t),n);case"yo":return Z(r.ordinalNumber(t,{unit:"year"}),n);default:return Z(z(e.length,t),n)}}validate(t,e){return e.isTwoDigitYear||e.year>0}set(t,e,r){const n=t.getFullYear();if(r.isTwoDigitYear){const e=_(r.year,n);return t.setFullYear(e,0,1),t.setHours(0,0,0,0),t}const a="era"in e&&1!==e.era?1-r.year:r.year;return t.setFullYear(a,0,1),t.setHours(0,0,0,0),t}},Y:new class extends T{priority=130;parse(t,e,r){const n=t=>({year:t,isTwoDigitYear:"YY"===e});switch(e){case"Y":return Z(z(4,t),n);case"Yo":return Z(r.ordinalNumber(t,{unit:"year"}),n);default:return Z(z(e.length,t),n)}}validate(t,e){return e.isTwoDigitYear||e.year>0}set(t,e,r,n){const a=i(t,n);if(r.isTwoDigitYear){const e=_(r.year,a);return t.setFullYear(e,0,n.firstWeekContainsDate),t.setHours(0,0,0,0),o(t,n)}const s="era"in e&&1!==e.era?1-r.year:r.year;return t.setFullYear(s,0,n.firstWeekContainsDate),t.setHours(0,0,0,0),o(t,n)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]},R:new class extends T{priority=130;parse(t,e){return J("R"===e?4:e.length,t)}set(t,e,n){const a=r(t,0);return a.setFullYear(n,0,4),a.setHours(0,0,0,0),c(a)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]},u:new class extends T{priority=130;parse(t,e){return J("u"===e?4:e.length,t)}set(t,e,r){return t.setFullYear(r,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]},Q:new class extends T{priority=120;parse(t,e,r){switch(e){case"Q":case"QQ":return z(e.length,t);case"Qo":return r.ordinalNumber(t,{unit:"quarter"});case"QQQ":return r.quarter(t,{width:"abbreviated",context:"formatting"})||r.quarter(t,{width:"narrow",context:"formatting"});case"QQQQQ":return r.quarter(t,{width:"narrow",context:"formatting"});default:return r.quarter(t,{width:"wide",context:"formatting"})||r.quarter(t,{width:"abbreviated",context:"formatting"})||r.quarter(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=1&&e<=4}set(t,e,r){return t.setMonth(3*(r-1),1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]},q:new class extends T{priority=120;parse(t,e,r){switch(e){case"q":case"qq":return z(e.length,t);case"qo":return r.ordinalNumber(t,{unit:"quarter"});case"qqq":return r.quarter(t,{width:"abbreviated",context:"standalone"})||r.quarter(t,{width:"narrow",context:"standalone"});case"qqqqq":return r.quarter(t,{width:"narrow",context:"standalone"});default:return r.quarter(t,{width:"wide",context:"standalone"})||r.quarter(t,{width:"abbreviated",context:"standalone"})||r.quarter(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=1&&e<=4}set(t,e,r){return t.setMonth(3*(r-1),1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]},M:new class extends T{incompatibleTokens=["Y","R","q","Q","L","w","I","D","i","e","c","t","T"];priority=110;parse(t,e,r){const n=t=>t-1;switch(e){case"M":return Z($(k,t),n);case"MM":return Z(z(2,t),n);case"Mo":return Z(r.ordinalNumber(t,{unit:"month"}),n);case"MMM":return r.month(t,{width:"abbreviated",context:"formatting"})||r.month(t,{width:"narrow",context:"formatting"});case"MMMMM":return r.month(t,{width:"narrow",context:"formatting"});default:return r.month(t,{width:"wide",context:"formatting"})||r.month(t,{width:"abbreviated",context:"formatting"})||r.month(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=11}set(t,e,r){return t.setMonth(r,1),t.setHours(0,0,0,0),t}},L:new class extends T{priority=110;parse(t,e,r){const n=t=>t-1;switch(e){case"L":return Z($(k,t),n);case"LL":return Z(z(2,t),n);case"Lo":return Z(r.ordinalNumber(t,{unit:"month"}),n);case"LLL":return r.month(t,{width:"abbreviated",context:"standalone"})||r.month(t,{width:"narrow",context:"standalone"});case"LLLLL":return r.month(t,{width:"narrow",context:"standalone"});default:return r.month(t,{width:"wide",context:"standalone"})||r.month(t,{width:"abbreviated",context:"standalone"})||r.month(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=0&&e<=11}set(t,e,r){return t.setMonth(r,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]},w:new class extends T{priority=100;parse(t,e,r){switch(e){case"w":return $(q,t);case"wo":return r.ordinalNumber(t,{unit:"week"});default:return z(e.length,t)}}validate(t,e){return e>=1&&e<=53}set(t,r,n,a){return o(function(t,r,n){const a=e(t),s=u(a,n)-r;return a.setDate(a.getDate()-7*s),a}(t,n,a),a)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]},I:new class extends T{priority=100;parse(t,e,r){switch(e){case"I":return $(q,t);case"Io":return r.ordinalNumber(t,{unit:"week"});default:return z(e.length,t)}}validate(t,e){return e>=1&&e<=53}set(t,r,n){return c(function(t,r){const n=e(t),a=d(n)-r;return n.setDate(n.getDate()-7*a),n}(t,n))}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]},d:new class extends T{priority=90;subPriority=1;parse(t,e,r){switch(e){case"d":return $(v,t);case"do":return r.ordinalNumber(t,{unit:"date"});default:return z(e.length,t)}}validate(t,e){const r=tt(t.getFullYear()),n=t.getMonth();return r?e>=1&&e<=rt[n]:e>=1&&e<=et[n]}set(t,e,r){return t.setDate(r),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]},D:new class extends T{priority=90;subpriority=1;parse(t,e,r){switch(e){case"D":case"DD":return $(D,t);case"Do":return r.ordinalNumber(t,{unit:"date"});default:return z(e.length,t)}}validate(t,e){return tt(t.getFullYear())?e>=1&&e<=366:e>=1&&e<=365}set(t,e,r){return t.setMonth(0,r),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]},E:new class extends T{priority=90;parse(t,e,r){switch(e){case"E":case"EE":case"EEE":return r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});case"EEEEE":return r.day(t,{width:"narrow",context:"formatting"});case"EEEEEE":return r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});default:return r.day(t,{width:"wide",context:"formatting"})||r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=6}set(t,e,r,n){return(t=nt(t,r,n)).setHours(0,0,0,0),t}incompatibleTokens=["D","i","e","c","t","T"]},e:new class extends T{priority=90;parse(t,e,r,n){const a=t=>{const e=7*Math.floor((t-1)/7);return(t+n.weekStartsOn+6)%7+e};switch(e){case"e":case"ee":return Z(z(e.length,t),a);case"eo":return Z(r.ordinalNumber(t,{unit:"day"}),a);case"eee":return r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});case"eeeee":return r.day(t,{width:"narrow",context:"formatting"});case"eeeeee":return r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});default:return r.day(t,{width:"wide",context:"formatting"})||r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=6}set(t,e,r,n){return(t=nt(t,r,n)).setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]},c:new class extends T{priority=90;parse(t,e,r,n){const a=t=>{const e=7*Math.floor((t-1)/7);return(t+n.weekStartsOn+6)%7+e};switch(e){case"c":case"cc":return Z(z(e.length,t),a);case"co":return Z(r.ordinalNumber(t,{unit:"day"}),a);case"ccc":return r.day(t,{width:"abbreviated",context:"standalone"})||r.day(t,{width:"short",context:"standalone"})||r.day(t,{width:"narrow",context:"standalone"});case"ccccc":return r.day(t,{width:"narrow",context:"standalone"});case"cccccc":return r.day(t,{width:"short",context:"standalone"})||r.day(t,{width:"narrow",context:"standalone"});default:return r.day(t,{width:"wide",context:"standalone"})||r.day(t,{width:"abbreviated",context:"standalone"})||r.day(t,{width:"short",context:"standalone"})||r.day(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=0&&e<=6}set(t,e,r,n){return(t=nt(t,r,n)).setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]},i:new class extends T{priority=90;parse(t,e,r){const n=t=>0===t?7:t;switch(e){case"i":case"ii":return z(e.length,t);case"io":return r.ordinalNumber(t,{unit:"day"});case"iii":return Z(r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"}),n);case"iiiii":return Z(r.day(t,{width:"narrow",context:"formatting"}),n);case"iiiiii":return Z(r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"}),n);default:return Z(r.day(t,{width:"wide",context:"formatting"})||r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"}),n)}}validate(t,e){return e>=1&&e<=7}set(t,e,r){return(t=at(t,r)).setHours(0,0,0,0),t}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]},a:new class extends T{priority=80;parse(t,e,r){switch(e){case"a":case"aa":case"aaa":return r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"});case"aaaaa":return r.dayPeriod(t,{width:"narrow",context:"formatting"});default:return r.dayPeriod(t,{width:"wide",context:"formatting"})||r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,r){return t.setHours(U(r),0,0,0),t}incompatibleTokens=["b","B","H","k","t","T"]},b:new class extends T{priority=80;parse(t,e,r){switch(e){case"b":case"bb":case"bbb":return r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"});case"bbbbb":return r.dayPeriod(t,{width:"narrow",context:"formatting"});default:return r.dayPeriod(t,{width:"wide",context:"formatting"})||r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,r){return t.setHours(U(r),0,0,0),t}incompatibleTokens=["a","B","H","k","t","T"]},B:new class extends T{priority=80;parse(t,e,r){switch(e){case"B":case"BB":case"BBB":return r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"});case"BBBBB":return r.dayPeriod(t,{width:"narrow",context:"formatting"});default:return r.dayPeriod(t,{width:"wide",context:"formatting"})||r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,r){return t.setHours(U(r),0,0,0),t}incompatibleTokens=["a","b","t","T"]},h:new class extends T{priority=70;parse(t,e,r){switch(e){case"h":return $(N,t);case"ho":return r.ordinalNumber(t,{unit:"hour"});default:return z(e.length,t)}}validate(t,e){return e>=1&&e<=12}set(t,e,r){const n=t.getHours()>=12;return n&&r<12?t.setHours(r+12,0,0,0):n||12!==r?t.setHours(r,0,0,0):t.setHours(0,0,0,0),t}incompatibleTokens=["H","K","k","t","T"]},H:new class extends T{priority=70;parse(t,e,r){switch(e){case"H":return $(M,t);case"Ho":return r.ordinalNumber(t,{unit:"hour"});default:return z(e.length,t)}}validate(t,e){return e>=0&&e<=23}set(t,e,r){return t.setHours(r,0,0,0),t}incompatibleTokens=["a","b","h","K","k","t","T"]},K:new class extends T{priority=70;parse(t,e,r){switch(e){case"K":return $(Y,t);case"Ko":return r.ordinalNumber(t,{unit:"hour"});default:return z(e.length,t)}}validate(t,e){return e>=0&&e<=11}set(t,e,r){return t.getHours()>=12&&r<12?t.setHours(r+12,0,0,0):t.setHours(r,0,0,0),t}incompatibleTokens=["h","H","k","t","T"]},k:new class extends T{priority=70;parse(t,e,r){switch(e){case"k":return $(H,t);case"ko":return r.ordinalNumber(t,{unit:"hour"});default:return z(e.length,t)}}validate(t,e){return e>=1&&e<=24}set(t,e,r){const n=r<=24?r%24:r;return t.setHours(n,0,0,0),t}incompatibleTokens=["a","b","h","H","K","t","T"]},m:new class extends T{priority=60;parse(t,e,r){switch(e){case"m":return $(E,t);case"mo":return r.ordinalNumber(t,{unit:"minute"});default:return z(e.length,t)}}validate(t,e){return e>=0&&e<=59}set(t,e,r){return t.setMinutes(r,0,0),t}incompatibleTokens=["t","T"]},s:new class extends T{priority=50;parse(t,e,r){switch(e){case"s":return $(P,t);case"so":return r.ordinalNumber(t,{unit:"second"});default:return z(e.length,t)}}validate(t,e){return e>=0&&e<=59}set(t,e,r){return t.setSeconds(r,0),t}incompatibleTokens=["t","T"]},S:new class extends T{priority=30;parse(t,e){return Z(z(e.length,t),(t=>Math.trunc(t*Math.pow(10,3-e.length))))}set(t,e,r){return t.setMilliseconds(r),t}incompatibleTokens=["t","T"]},X:new class extends T{priority=10;parse(t,e){switch(e){case"X":return j(F,t);case"XX":return j(A,t);case"XXXX":return j(W,t);case"XXXXX":return j(K,t);default:return j(C,t)}}set(t,e,n){return e.timestampIsSet?t:r(t,t.getTime()-w(t)-n)}incompatibleTokens=["t","T","x"]},x:new class extends T{priority=10;parse(t,e){switch(e){case"x":return j(F,t);case"xx":return j(A,t);case"xxxx":return j(W,t);case"xxxxx":return j(K,t);default:return j(C,t)}}set(t,e,n){return e.timestampIsSet?t:r(t,t.getTime()-w(t)-n)}incompatibleTokens=["t","T","X"]},t:new class extends T{priority=40;parse(t){return V(t)}set(t,e,n){return[r(t,1e3*n),{timestampIsSet:!0}]}incompatibleTokens="*"},T:new class extends T{priority=20;parse(t){return V(t)}set(t,e,n){return[r(t,n),{timestampIsSet:!0}]}incompatibleTokens="*"}},it=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,ot=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,ct=/^'([^]*?)'?$/,ut=/''/g,dt=/\S/,lt=/[a-zA-Z]/;function wt(n,a,s,i){const o=Object.assign({},t()),c=i?.locale??o.locale??h,u=i?.firstWeekContainsDate??i?.locale?.options?.firstWeekContainsDate??o.firstWeekContainsDate??o.locale?.options?.firstWeekContainsDate??1,d=i?.weekStartsOn??i?.locale?.options?.weekStartsOn??o.weekStartsOn??o.locale?.options?.weekStartsOn??0;if(""===a)return""===n?e(s):r(s,NaN);const l={firstWeekContainsDate:u,weekStartsOn:d,locale:c},w=[new b],x=a.match(ot).map((t=>{const e=t[0];if(e in m){return(0,m[e])(t,c.formatLong)}return t})).join("").match(it),g=[];for(let t of x){!i?.useAdditionalWeekYearTokens&&f(t)&&y(t,a,n),!i?.useAdditionalDayOfYearTokens&&p(t)&&y(t,a,n);const e=t[0],o=st[e];if(o){const{incompatibleTokens:a}=o;if(Array.isArray(a)){const r=g.find((t=>a.includes(t.token)||t.token===e));if(r)throw new RangeError(`The format string mustn't contain \`${r.fullToken}\` and \`${t}\` at the same time`)}else if("*"===o.incompatibleTokens&&g.length>0)throw new RangeError(`The format string mustn't contain \`${t}\` and any other token at the same time`);g.push({token:e,fullToken:t});const i=o.run(n,t,c.match,l);if(!i)return r(s,NaN);w.push(i.setter),n=i.rest}else{if(e.match(lt))throw new RangeError("Format string contains an unescaped latin alphabet character `"+e+"`");if("''"===t?t="'":"'"===e&&(t=t.match(ct)[1].replace(ut,"'")),0!==n.indexOf(t))return r(s,NaN);n=n.slice(t.length)}}if(n.length>0&&dt.test(n))return r(s,NaN);const T=w.map((t=>t.priority)).sort(((t,e)=>e-t)).filter(((t,e,r)=>r.indexOf(t)===e)).map((t=>w.filter((e=>e.priority===t)).sort(((t,e)=>e.subPriority-t.subPriority)))).map((t=>t[0]));let k=e(s);if(isNaN(k.getTime()))return r(s,NaN);const v={};for(const t of T){if(!t.validate(k,l))return r(s,NaN);const e=t.set(k,v,l);Array.isArray(e)?(k=e[0],Object.assign(v,e[1])):k=e}return r(s,k)}export{wt as p}; diff --git a/config/www/community/frigate-hass-card/parse-a53fb39b.js.gz b/config/www/community/frigate-hass-card/parse-a53fb39b.js.gz deleted file mode 100644 index 7e10fd300987c9084141e577111d0f2dfab38b6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4020 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 a!6NU1?^%sm_#LU{fBpvmyZ|KON&o=q>g-|w diff --git a/config/www/community/frigate-hass-card/parse-feacefaa.js b/config/www/community/frigate-hass-card/parse-feacefaa.js deleted file mode 100644 index 20bdf4a4..00000000 --- a/config/www/community/frigate-hass-card/parse-feacefaa.js +++ /dev/null @@ -1 +0,0 @@ -import{ek as t,d3 as e,el as r,em as n,en as a,eo as s,ep as i,eq as o,er as c,es as u,et as d,eu as l,ev as w,ew as h,ex as m,ey as f,ez as y,eA as p}from"./card-7cd05290.js";class x{subPriority=0;validate(t,e){return!0}}class g extends x{constructor(t,e,r,n,a){super(),this.value=t,this.validateValue=e,this.setValue=r,this.priority=n,a&&(this.subPriority=a)}validate(t,e){return this.validateValue(t,this.value,e)}set(t,e,r){return this.setValue(t,e,this.value,r)}}class b extends x{priority=10;subPriority=-1;set(t,e){return e.timestampIsSet?t:r(t,function(t,e){const n=e instanceof Date?r(e,0):new e(0);return n.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),n.setHours(t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()),n}(t,Date))}}class T{run(t,e,r,n){const a=this.parse(t,e,r,n);return a?{setter:new g(a.value,this.validate,this.set,this.priority,this.subPriority),rest:a.rest}:null}validate(t,e,r){return!0}}const k=/^(1[0-2]|0?\d)/,v=/^(3[0-1]|[0-2]?\d)/,D=/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,q=/^(5[0-3]|[0-4]?\d)/,M=/^(2[0-3]|[0-1]?\d)/,H=/^(2[0-4]|[0-1]?\d)/,Y=/^(1[0-1]|0?\d)/,N=/^(1[0-2]|0?\d)/,E=/^[0-5]?\d/,P=/^[0-5]?\d/,L=/^\d/,Q=/^\d{1,2}/,I=/^\d{1,3}/,R=/^\d{1,4}/,S=/^-?\d+/,O=/^-?\d/,B=/^-?\d{1,2}/,G=/^-?\d{1,3}/,X=/^-?\d{1,4}/,F=/^([+-])(\d{2})(\d{2})?|Z/,A=/^([+-])(\d{2})(\d{2})|Z/,W=/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,C=/^([+-])(\d{2}):(\d{2})|Z/,K=/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/;function Z(t,e){return t?{value:e(t.value),rest:t.rest}:t}function $(t,e){const r=e.match(t);return r?{value:parseInt(r[0],10),rest:e.slice(r[0].length)}:null}function j(t,e){const r=e.match(t);if(!r)return null;if("Z"===r[0])return{value:0,rest:e.slice(1)};const i="+"===r[1]?1:-1,o=r[2]?parseInt(r[2],10):0,c=r[3]?parseInt(r[3],10):0,u=r[5]?parseInt(r[5],10):0;return{value:i*(o*n+c*a+u*s),rest:e.slice(r[0].length)}}function V(t){return $(S,t)}function z(t,e){switch(t){case 1:return $(L,e);case 2:return $(Q,e);case 3:return $(I,e);case 4:return $(R,e);default:return $(new RegExp("^\\d{1,"+t+"}"),e)}}function J(t,e){switch(t){case 1:return $(O,e);case 2:return $(B,e);case 3:return $(G,e);case 4:return $(X,e);default:return $(new RegExp("^-?\\d{1,"+t+"}"),e)}}function U(t){switch(t){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;default:return 0}}function _(t,e){const r=e>0,n=r?e:1-e;let a;if(n<=50)a=t||100;else{const e=n+50;a=t+100*Math.trunc(e/100)-(t>=e%100?100:0)}return r?a:1-a}function tt(t){return t%400==0||t%4==0&&t%100!=0}const et=[31,28,31,30,31,30,31,31,30,31,30,31],rt=[31,29,31,30,31,30,31,31,30,31,30,31];function nt(r,n,a){const s=t(),i=a?.weekStartsOn??a?.locale?.options?.weekStartsOn??s.weekStartsOn??s.locale?.options?.weekStartsOn??0,o=e(r),c=o.getDay(),u=7-i;return l(o,n<0||n>6?n-(c+u)%7:((n%7+7)%7+u)%7-(c+u)%7)}function at(t,r){const n=e(t),a=function(t){let r=e(t).getDay();return 0===r&&(r=7),r}(n);return l(n,r-a)}const st={G:new class extends T{priority=140;parse(t,e,r){switch(e){case"G":case"GG":case"GGG":return r.era(t,{width:"abbreviated"})||r.era(t,{width:"narrow"});case"GGGGG":return r.era(t,{width:"narrow"});default:return r.era(t,{width:"wide"})||r.era(t,{width:"abbreviated"})||r.era(t,{width:"narrow"})}}set(t,e,r){return e.era=r,t.setFullYear(r,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["R","u","t","T"]},y:new class extends T{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(t,e,r){const n=t=>({year:t,isTwoDigitYear:"yy"===e});switch(e){case"y":return Z(z(4,t),n);case"yo":return Z(r.ordinalNumber(t,{unit:"year"}),n);default:return Z(z(e.length,t),n)}}validate(t,e){return e.isTwoDigitYear||e.year>0}set(t,e,r){const n=t.getFullYear();if(r.isTwoDigitYear){const e=_(r.year,n);return t.setFullYear(e,0,1),t.setHours(0,0,0,0),t}const a="era"in e&&1!==e.era?1-r.year:r.year;return t.setFullYear(a,0,1),t.setHours(0,0,0,0),t}},Y:new class extends T{priority=130;parse(t,e,r){const n=t=>({year:t,isTwoDigitYear:"YY"===e});switch(e){case"Y":return Z(z(4,t),n);case"Yo":return Z(r.ordinalNumber(t,{unit:"year"}),n);default:return Z(z(e.length,t),n)}}validate(t,e){return e.isTwoDigitYear||e.year>0}set(t,e,r,n){const a=i(t,n);if(r.isTwoDigitYear){const e=_(r.year,a);return t.setFullYear(e,0,n.firstWeekContainsDate),t.setHours(0,0,0,0),o(t,n)}const s="era"in e&&1!==e.era?1-r.year:r.year;return t.setFullYear(s,0,n.firstWeekContainsDate),t.setHours(0,0,0,0),o(t,n)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]},R:new class extends T{priority=130;parse(t,e){return J("R"===e?4:e.length,t)}set(t,e,n){const a=r(t,0);return a.setFullYear(n,0,4),a.setHours(0,0,0,0),c(a)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]},u:new class extends T{priority=130;parse(t,e){return J("u"===e?4:e.length,t)}set(t,e,r){return t.setFullYear(r,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]},Q:new class extends T{priority=120;parse(t,e,r){switch(e){case"Q":case"QQ":return z(e.length,t);case"Qo":return r.ordinalNumber(t,{unit:"quarter"});case"QQQ":return r.quarter(t,{width:"abbreviated",context:"formatting"})||r.quarter(t,{width:"narrow",context:"formatting"});case"QQQQQ":return r.quarter(t,{width:"narrow",context:"formatting"});default:return r.quarter(t,{width:"wide",context:"formatting"})||r.quarter(t,{width:"abbreviated",context:"formatting"})||r.quarter(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=1&&e<=4}set(t,e,r){return t.setMonth(3*(r-1),1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]},q:new class extends T{priority=120;parse(t,e,r){switch(e){case"q":case"qq":return z(e.length,t);case"qo":return r.ordinalNumber(t,{unit:"quarter"});case"qqq":return r.quarter(t,{width:"abbreviated",context:"standalone"})||r.quarter(t,{width:"narrow",context:"standalone"});case"qqqqq":return r.quarter(t,{width:"narrow",context:"standalone"});default:return r.quarter(t,{width:"wide",context:"standalone"})||r.quarter(t,{width:"abbreviated",context:"standalone"})||r.quarter(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=1&&e<=4}set(t,e,r){return t.setMonth(3*(r-1),1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]},M:new class extends T{incompatibleTokens=["Y","R","q","Q","L","w","I","D","i","e","c","t","T"];priority=110;parse(t,e,r){const n=t=>t-1;switch(e){case"M":return Z($(k,t),n);case"MM":return Z(z(2,t),n);case"Mo":return Z(r.ordinalNumber(t,{unit:"month"}),n);case"MMM":return r.month(t,{width:"abbreviated",context:"formatting"})||r.month(t,{width:"narrow",context:"formatting"});case"MMMMM":return r.month(t,{width:"narrow",context:"formatting"});default:return r.month(t,{width:"wide",context:"formatting"})||r.month(t,{width:"abbreviated",context:"formatting"})||r.month(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=11}set(t,e,r){return t.setMonth(r,1),t.setHours(0,0,0,0),t}},L:new class extends T{priority=110;parse(t,e,r){const n=t=>t-1;switch(e){case"L":return Z($(k,t),n);case"LL":return Z(z(2,t),n);case"Lo":return Z(r.ordinalNumber(t,{unit:"month"}),n);case"LLL":return r.month(t,{width:"abbreviated",context:"standalone"})||r.month(t,{width:"narrow",context:"standalone"});case"LLLLL":return r.month(t,{width:"narrow",context:"standalone"});default:return r.month(t,{width:"wide",context:"standalone"})||r.month(t,{width:"abbreviated",context:"standalone"})||r.month(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=0&&e<=11}set(t,e,r){return t.setMonth(r,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]},w:new class extends T{priority=100;parse(t,e,r){switch(e){case"w":return $(q,t);case"wo":return r.ordinalNumber(t,{unit:"week"});default:return z(e.length,t)}}validate(t,e){return e>=1&&e<=53}set(t,r,n,a){return o(function(t,r,n){const a=e(t),s=u(a,n)-r;return a.setDate(a.getDate()-7*s),a}(t,n,a),a)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]},I:new class extends T{priority=100;parse(t,e,r){switch(e){case"I":return $(q,t);case"Io":return r.ordinalNumber(t,{unit:"week"});default:return z(e.length,t)}}validate(t,e){return e>=1&&e<=53}set(t,r,n){return c(function(t,r){const n=e(t),a=d(n)-r;return n.setDate(n.getDate()-7*a),n}(t,n))}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]},d:new class extends T{priority=90;subPriority=1;parse(t,e,r){switch(e){case"d":return $(v,t);case"do":return r.ordinalNumber(t,{unit:"date"});default:return z(e.length,t)}}validate(t,e){const r=tt(t.getFullYear()),n=t.getMonth();return r?e>=1&&e<=rt[n]:e>=1&&e<=et[n]}set(t,e,r){return t.setDate(r),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]},D:new class extends T{priority=90;subpriority=1;parse(t,e,r){switch(e){case"D":case"DD":return $(D,t);case"Do":return r.ordinalNumber(t,{unit:"date"});default:return z(e.length,t)}}validate(t,e){return tt(t.getFullYear())?e>=1&&e<=366:e>=1&&e<=365}set(t,e,r){return t.setMonth(0,r),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]},E:new class extends T{priority=90;parse(t,e,r){switch(e){case"E":case"EE":case"EEE":return r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});case"EEEEE":return r.day(t,{width:"narrow",context:"formatting"});case"EEEEEE":return r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});default:return r.day(t,{width:"wide",context:"formatting"})||r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=6}set(t,e,r,n){return(t=nt(t,r,n)).setHours(0,0,0,0),t}incompatibleTokens=["D","i","e","c","t","T"]},e:new class extends T{priority=90;parse(t,e,r,n){const a=t=>{const e=7*Math.floor((t-1)/7);return(t+n.weekStartsOn+6)%7+e};switch(e){case"e":case"ee":return Z(z(e.length,t),a);case"eo":return Z(r.ordinalNumber(t,{unit:"day"}),a);case"eee":return r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});case"eeeee":return r.day(t,{width:"narrow",context:"formatting"});case"eeeeee":return r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});default:return r.day(t,{width:"wide",context:"formatting"})||r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=6}set(t,e,r,n){return(t=nt(t,r,n)).setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]},c:new class extends T{priority=90;parse(t,e,r,n){const a=t=>{const e=7*Math.floor((t-1)/7);return(t+n.weekStartsOn+6)%7+e};switch(e){case"c":case"cc":return Z(z(e.length,t),a);case"co":return Z(r.ordinalNumber(t,{unit:"day"}),a);case"ccc":return r.day(t,{width:"abbreviated",context:"standalone"})||r.day(t,{width:"short",context:"standalone"})||r.day(t,{width:"narrow",context:"standalone"});case"ccccc":return r.day(t,{width:"narrow",context:"standalone"});case"cccccc":return r.day(t,{width:"short",context:"standalone"})||r.day(t,{width:"narrow",context:"standalone"});default:return r.day(t,{width:"wide",context:"standalone"})||r.day(t,{width:"abbreviated",context:"standalone"})||r.day(t,{width:"short",context:"standalone"})||r.day(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=0&&e<=6}set(t,e,r,n){return(t=nt(t,r,n)).setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]},i:new class extends T{priority=90;parse(t,e,r){const n=t=>0===t?7:t;switch(e){case"i":case"ii":return z(e.length,t);case"io":return r.ordinalNumber(t,{unit:"day"});case"iii":return Z(r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"}),n);case"iiiii":return Z(r.day(t,{width:"narrow",context:"formatting"}),n);case"iiiiii":return Z(r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"}),n);default:return Z(r.day(t,{width:"wide",context:"formatting"})||r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"}),n)}}validate(t,e){return e>=1&&e<=7}set(t,e,r){return(t=at(t,r)).setHours(0,0,0,0),t}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]},a:new class extends T{priority=80;parse(t,e,r){switch(e){case"a":case"aa":case"aaa":return r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"});case"aaaaa":return r.dayPeriod(t,{width:"narrow",context:"formatting"});default:return r.dayPeriod(t,{width:"wide",context:"formatting"})||r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,r){return t.setHours(U(r),0,0,0),t}incompatibleTokens=["b","B","H","k","t","T"]},b:new class extends T{priority=80;parse(t,e,r){switch(e){case"b":case"bb":case"bbb":return r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"});case"bbbbb":return r.dayPeriod(t,{width:"narrow",context:"formatting"});default:return r.dayPeriod(t,{width:"wide",context:"formatting"})||r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,r){return t.setHours(U(r),0,0,0),t}incompatibleTokens=["a","B","H","k","t","T"]},B:new class extends T{priority=80;parse(t,e,r){switch(e){case"B":case"BB":case"BBB":return r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"});case"BBBBB":return r.dayPeriod(t,{width:"narrow",context:"formatting"});default:return r.dayPeriod(t,{width:"wide",context:"formatting"})||r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,r){return t.setHours(U(r),0,0,0),t}incompatibleTokens=["a","b","t","T"]},h:new class extends T{priority=70;parse(t,e,r){switch(e){case"h":return $(N,t);case"ho":return r.ordinalNumber(t,{unit:"hour"});default:return z(e.length,t)}}validate(t,e){return e>=1&&e<=12}set(t,e,r){const n=t.getHours()>=12;return n&&r<12?t.setHours(r+12,0,0,0):n||12!==r?t.setHours(r,0,0,0):t.setHours(0,0,0,0),t}incompatibleTokens=["H","K","k","t","T"]},H:new class extends T{priority=70;parse(t,e,r){switch(e){case"H":return $(M,t);case"Ho":return r.ordinalNumber(t,{unit:"hour"});default:return z(e.length,t)}}validate(t,e){return e>=0&&e<=23}set(t,e,r){return t.setHours(r,0,0,0),t}incompatibleTokens=["a","b","h","K","k","t","T"]},K:new class extends T{priority=70;parse(t,e,r){switch(e){case"K":return $(Y,t);case"Ko":return r.ordinalNumber(t,{unit:"hour"});default:return z(e.length,t)}}validate(t,e){return e>=0&&e<=11}set(t,e,r){return t.getHours()>=12&&r<12?t.setHours(r+12,0,0,0):t.setHours(r,0,0,0),t}incompatibleTokens=["h","H","k","t","T"]},k:new class extends T{priority=70;parse(t,e,r){switch(e){case"k":return $(H,t);case"ko":return r.ordinalNumber(t,{unit:"hour"});default:return z(e.length,t)}}validate(t,e){return e>=1&&e<=24}set(t,e,r){const n=r<=24?r%24:r;return t.setHours(n,0,0,0),t}incompatibleTokens=["a","b","h","H","K","t","T"]},m:new class extends T{priority=60;parse(t,e,r){switch(e){case"m":return $(E,t);case"mo":return r.ordinalNumber(t,{unit:"minute"});default:return z(e.length,t)}}validate(t,e){return e>=0&&e<=59}set(t,e,r){return t.setMinutes(r,0,0),t}incompatibleTokens=["t","T"]},s:new class extends T{priority=50;parse(t,e,r){switch(e){case"s":return $(P,t);case"so":return r.ordinalNumber(t,{unit:"second"});default:return z(e.length,t)}}validate(t,e){return e>=0&&e<=59}set(t,e,r){return t.setSeconds(r,0),t}incompatibleTokens=["t","T"]},S:new class extends T{priority=30;parse(t,e){return Z(z(e.length,t),(t=>Math.trunc(t*Math.pow(10,3-e.length))))}set(t,e,r){return t.setMilliseconds(r),t}incompatibleTokens=["t","T"]},X:new class extends T{priority=10;parse(t,e){switch(e){case"X":return j(F,t);case"XX":return j(A,t);case"XXXX":return j(W,t);case"XXXXX":return j(K,t);default:return j(C,t)}}set(t,e,n){return e.timestampIsSet?t:r(t,t.getTime()-w(t)-n)}incompatibleTokens=["t","T","x"]},x:new class extends T{priority=10;parse(t,e){switch(e){case"x":return j(F,t);case"xx":return j(A,t);case"xxxx":return j(W,t);case"xxxxx":return j(K,t);default:return j(C,t)}}set(t,e,n){return e.timestampIsSet?t:r(t,t.getTime()-w(t)-n)}incompatibleTokens=["t","T","X"]},t:new class extends T{priority=40;parse(t){return V(t)}set(t,e,n){return[r(t,1e3*n),{timestampIsSet:!0}]}incompatibleTokens="*"},T:new class extends T{priority=20;parse(t){return V(t)}set(t,e,n){return[r(t,n),{timestampIsSet:!0}]}incompatibleTokens="*"}},it=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,ot=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,ct=/^'([^]*?)'?$/,ut=/''/g,dt=/\S/,lt=/[a-zA-Z]/;function wt(n,a,s,i){const o=Object.assign({},t()),c=i?.locale??o.locale??h,u=i?.firstWeekContainsDate??i?.locale?.options?.firstWeekContainsDate??o.firstWeekContainsDate??o.locale?.options?.firstWeekContainsDate??1,d=i?.weekStartsOn??i?.locale?.options?.weekStartsOn??o.weekStartsOn??o.locale?.options?.weekStartsOn??0;if(""===a)return""===n?e(s):r(s,NaN);const l={firstWeekContainsDate:u,weekStartsOn:d,locale:c},w=[new b],x=a.match(ot).map((t=>{const e=t[0];if(e in m){return(0,m[e])(t,c.formatLong)}return t})).join("").match(it),g=[];for(let t of x){!i?.useAdditionalWeekYearTokens&&f(t)&&y(t,a,n),!i?.useAdditionalDayOfYearTokens&&p(t)&&y(t,a,n);const e=t[0],o=st[e];if(o){const{incompatibleTokens:a}=o;if(Array.isArray(a)){const r=g.find((t=>a.includes(t.token)||t.token===e));if(r)throw new RangeError(`The format string mustn't contain \`${r.fullToken}\` and \`${t}\` at the same time`)}else if("*"===o.incompatibleTokens&&g.length>0)throw new RangeError(`The format string mustn't contain \`${t}\` and any other token at the same time`);g.push({token:e,fullToken:t});const i=o.run(n,t,c.match,l);if(!i)return r(s,NaN);w.push(i.setter),n=i.rest}else{if(e.match(lt))throw new RangeError("Format string contains an unescaped latin alphabet character `"+e+"`");if("''"===t?t="'":"'"===e&&(t=t.match(ct)[1].replace(ut,"'")),0!==n.indexOf(t))return r(s,NaN);n=n.slice(t.length)}}if(n.length>0&&dt.test(n))return r(s,NaN);const T=w.map((t=>t.priority)).sort(((t,e)=>e-t)).filter(((t,e,r)=>r.indexOf(t)===e)).map((t=>w.filter((e=>e.priority===t)).sort(((t,e)=>e.subPriority-t.subPriority)))).map((t=>t[0]));let k=e(s);if(isNaN(k.getTime()))return r(s,NaN);const v={};for(const t of T){if(!t.validate(k,l))return r(s,NaN);const e=t.set(k,v,l);Array.isArray(e)?(k=e[0],Object.assign(v,e[1])):k=e}return r(s,k)}export{wt as p}; diff --git a/config/www/community/frigate-hass-card/parse-feacefaa.js.gz b/config/www/community/frigate-hass-card/parse-feacefaa.js.gz deleted file mode 100644 index 4b78e12fd780a288b21d0c5fad38879f3054afd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4020 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 diff --git a/config/www/community/frigate-hass-card/startOfHour-b41e160a.js b/config/www/community/frigate-hass-card/startOfHour-b41e160a.js deleted file mode 100644 index 878bddda..00000000 --- a/config/www/community/frigate-hass-card/startOfHour-b41e160a.js +++ /dev/null @@ -1 +0,0 @@ -import{c$ as t}from"./card-320adb66.js";function s(s){const n=t(s);return n.setMinutes(59,59,999),n}function n(s){const n=t(s);return n.setMinutes(0,0,0),n}export{s as e,n as s}; diff --git a/config/www/community/frigate-hass-card/startOfHour-b41e160a.js.gz b/config/www/community/frigate-hass-card/startOfHour-b41e160a.js.gz deleted file mode 100644 index ca8fe320ec2c780950d905723e2b65c932046381..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 167 zcmV;Y09gMYiwFoHf?;O@|8sOQO0F9183c@fDMfaX! zC@xw^V^J)G;1N7TOjC%^iOftuD7m|d3)k{LeE#CWi`y%a?EVOjLCQ*L>-5PxTE@$H za?4|$^^-fhX7myh0{1-ZJ|PR>P3o}}BohK^4swr}C2)T=s@51YC@en~|6(Uq)41^d Vx^Ytr3fpk8hY#9*9z(ML007h-N7w)W diff --git a/config/www/community/frigate-hass-card/startOfHour-f3ea02fd.js b/config/www/community/frigate-hass-card/startOfHour-f3ea02fd.js deleted file mode 100644 index 4933b9de..00000000 --- a/config/www/community/frigate-hass-card/startOfHour-f3ea02fd.js +++ /dev/null @@ -1 +0,0 @@ -import{d3 as t}from"./card-7cd05290.js";function s(s){const n=t(s);return n.setMinutes(59,59,999),n}function n(s){const n=t(s);return n.setMinutes(0,0,0),n}export{s as e,n as s}; diff --git a/config/www/community/frigate-hass-card/startOfHour-f3ea02fd.js.gz b/config/www/community/frigate-hass-card/startOfHour-f3ea02fd.js.gz deleted file mode 100644 index 1a023ba3f85002ba6011a6839e1067b5d24a2a9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166 zcmV;X09pSZiwFpC_*Q2E|8sOkKiFnGKC18NM-_slDnI@a4rAC=Pw?-xV=-BBiz)&O6r=^HkgZFayZ|8 zu=5qHdGX-ZLSAAb#UoFLPsF0=A?>(~QZgwrjPi_B1bLi6w*tVVss32{i?zC?bGU!q UxT~S2K3v`D1AAz}!LtAW0G&WiIRF3v diff --git a/config/www/community/frigate-hass-card/timeline-116cbe0a.js b/config/www/community/frigate-hass-card/timeline-116cbe0a.js deleted file mode 100644 index 3774fb2f..00000000 --- a/config/www/community/frigate-hass-card/timeline-116cbe0a.js +++ /dev/null @@ -1,13 +0,0 @@ -import{_ as i,n as t,t as e,a,x as r,r as o,d2 as s}from"./card-769e2b91.js";import"./timeline-core-744686a3.js";import"./startOfHour-1a5ce3ae.js";import"./endOfDay-696ac7f4.js";import"./date-picker-8102261e.js";let n=class extends a{render(){return this.timelineConfig?r` - - - `:r``}static get styles(){return o(s)}};i([t({attribute:!1})],n.prototype,"hass",void 0),i([t({attribute:!1})],n.prototype,"viewManagerEpoch",void 0),i([t({attribute:!1})],n.prototype,"timelineConfig",void 0),i([t({attribute:!1})],n.prototype,"cameraManager",void 0),i([t({attribute:!1})],n.prototype,"cardWideConfig",void 0),n=i([e("frigate-card-timeline")],n);export{n as FrigateCardTimeline}; diff --git a/config/www/community/frigate-hass-card/timeline-116cbe0a.js.gz b/config/www/community/frigate-hass-card/timeline-116cbe0a.js.gz deleted file mode 100644 index 67546d9ed5820d8241f8f562788cd27c0e12743a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 557 zcmV+|0@D2-iwFo!dR%7$|8!|>Wo&6~Wi2r=He+ICFkvoga{!f;QE!_t5Xay9DVVhf zkbpL6Mw(O)m6jyb|@U?cm|C5rg&GbAh_>!ya6JM7;b=RbcLi&AOY zes{QW(3f=}pXvZU_t$lzeO(9TC;d8_D%GlB;icd@35L-K`ioI7{9)Jxn`U;4uz(yT z1VU*DhJ!(L6Y=XVV~A_IOFyZV4to5JfNKt20%UTR-ttWljUq0F>7cuvaDt#j@e_1# z)4S^Tqu#DT4&=yK_wtf>`^7cdcD6|LvC@Gau{uyt1Ar6pq!$F|^6S9PFrE z<5krJ-3PKF5ouhk2*$5^mG|h&u+)kaZA$Q2Z8hdUDNLLz&woL|sp-xt?kaRvX~!UE vRv!P)L#d2yF}UnmwOQT8o4~rc(VDC5 - - `:r``}static get styles(){return o(s)}};i([t({attribute:!1})],n.prototype,"hass",void 0),i([t({attribute:!1})],n.prototype,"viewManagerEpoch",void 0),i([t({attribute:!1})],n.prototype,"timelineConfig",void 0),i([t({attribute:!1})],n.prototype,"cameraManager",void 0),i([t({attribute:!1})],n.prototype,"cardWideConfig",void 0),n=i([e("frigate-card-timeline")],n);export{n as FrigateCardTimeline}; diff --git a/config/www/community/frigate-hass-card/timeline-3c6e5e5d.js.gz b/config/www/community/frigate-hass-card/timeline-3c6e5e5d.js.gz deleted file mode 100644 index 68aed8b2d8ca6db41922ddc677ee8ef6d8bf3e16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 556 zcmV+{0@M8;iwFoHf?;O@|8!|>Wo&6~Wi2yfHf1$sHDoSoa{!f;QE!_t5Xay9DVVi~ zAOR)aO44L3n$k_%!_O)m6jyb|@U?cm|21R`L85)+5byLI39p?8xpO3$cMX5Ax ze>mJY=*cFKM@;~adz&WFo^FEjL`#`E)v92@x!^kS-&}+|Sw>Ot)37PF#q1}-0&am1sm(NTef6Zj>HU!eWV zQIuSUeB2T_kRxM}b7N1jAzQ{ce5-8)J#cM8Yb_nh&;(thb0t$;&Gh2TX`gqg##K|l zJ!J1VJHl~-%x)0B-nNCByxxC$KzRJhC0~L5SSpcq*zx*-q~A&>=&v5)*}7Otj`{!i zKqyICp~~Dm>f;1zj}ZpK{3y*M?MHbB`wdS zlEC6Pe&M)+LM1R`WzH)$VFq###JU~ccXm1dw_l!^#Y8U_we>uqaO`{>LsbrDZ$~vS zZe34ta7T7XL>iZCg2}64?cRGbD77L*RS6zztj4?tg^3fo-U|fBraMX8pU_Fto - - `:r``}static get styles(){return o(s)}};i([t({attribute:!1})],n.prototype,"hass",void 0),i([t({attribute:!1})],n.prototype,"viewManagerEpoch",void 0),i([t({attribute:!1})],n.prototype,"timelineConfig",void 0),i([t({attribute:!1})],n.prototype,"cameraManager",void 0),i([t({attribute:!1})],n.prototype,"cardWideConfig",void 0),n=i([e("frigate-card-timeline")],n);export{n as FrigateCardTimeline}; diff --git a/config/www/community/frigate-hass-card/timeline-62b72e11.js.gz b/config/www/community/frigate-hass-card/timeline-62b72e11.js.gz deleted file mode 100644 index 3bfb747c5aad11534915896aa58d8a9683e99d1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 555 zcmV+`0@VEWo&6~Wi2)`VmC5nF)=P`a{!f;QE$^Q5Xay5DT2jA zBPH2d+Lg703UwfOKzjgb57R_l`_ddFc4S|-MpeE$PS((-47BFuF81#(=YRe(=7l!2 z{o!%zVW8?j0o4Hl9&GBw1f~u;kb^qfDls}|(YfG8hT?KK02mLWpO#IrY38;FbI4FZ zD71kv;Y)eZAHC@^mbjstG>|9wNW0WXrp$}xmF3TW@d5bHP5@m;HvK5 z9I|tq9pQOV>OK&^-ZqWuyxMO)AUuBMim$+YEVM{l?0Eg4q&rGm&|N*m({;X79JBxN zkpPoKo-{4BySucIYhr1%J7=&w{gP1@w)aK0Uuq=PiAUl+JmvwO@GO+U5M;etBXR6SG)U&hv!AbNYCe$_(t@j=E?4 zs+wZ&j+{tD2A6As$*X?l-v=rxj3!NG0RgM6#)1cp(!2137Ze3{@_j~jN004Z|7drp| diff --git a/config/www/community/frigate-hass-card/timeline-6aa9e747.js b/config/www/community/frigate-hass-card/timeline-6aa9e747.js deleted file mode 100644 index fe1f3290..00000000 --- a/config/www/community/frigate-hass-card/timeline-6aa9e747.js +++ /dev/null @@ -1,182 +0,0 @@ -import{dt as t,du as e,d8 as n,dv as o,dw as s,ca as r,dx as a,bl as l,bn as h,s as d,dn as c,y as u,bk as p,cP as m,cS as f,d1 as g,bj as v,cO as y,bm as b,dy as w,c2 as _,l as x,cp as k,cq as D,b$ as C,dz as S,cU as T,dA as E,d5 as M,cc as O,cd as I,dB as A,d7 as P,d4 as N,c5 as F,bQ as R,cn as L,c0 as j,dC as Y,cM as H}from"./card-555679fd.js";import{s as z}from"./index-52dee8bb.js";import{c as B}from"./_commonjsHelpers-1789f0cf.js";var W={exports:{}};!function(t){function e(t){if(t)return function(t){for(var i in e.prototype)t[i]=e.prototype[i];return t}(t)}W.exports=e,e.prototype.on=e.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+t]=this._callbacks["$"+t]||[]).push(e),this},e.prototype.once=function(t,e){function i(){this.off(t,i),e.apply(this,arguments)}return i.fn=e,this.on(t,i),this},e.prototype.off=e.prototype.removeListener=e.prototype.removeAllListeners=e.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var i,n=this._callbacks["$"+t];if(!n)return this;if(1==arguments.length)return delete this._callbacks["$"+t],this;for(var o=0;o-1}var Ft=function(){function t(t,e){this.manager=t,this.set(e)}var e=t.prototype;return e.set=function(t){t===st&&(t=this.compute()),ot&&this.manager.element.style&&ct[t]&&(this.manager.element.style[nt]=t),this.actions=t.toLowerCase().trim()},e.update=function(){this.set(this.manager.options.touchAction)},e.compute=function(){var t=[];return At(this.manager.recognizers,(function(e){Pt(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))})),function(t){if(Nt(t,lt))return lt;var e=Nt(t,ht),i=Nt(t,dt);return e&&i?lt:e||i?e?ht:dt:Nt(t,at)?at:rt}(t.join(" "))},e.preventDefaults=function(t){var e=t.srcEvent,i=t.offsetDirection;if(this.manager.session.prevented)e.preventDefault();else{var n=this.actions,o=Nt(n,lt)&&!ct[lt],s=Nt(n,dt)&&!ct[dt],r=Nt(n,ht)&&!ct[ht];if(o){var a=1===t.pointers.length,l=t.distance<2,h=t.deltaTime<250;if(a&&l&&h)return}if(!r||!s)return o||s&&i&Tt||r&&i&Et?this.preventSrc(e):void 0}},e.preventSrc=function(t){this.manager.session.prevented=!0,t.preventDefault()},t}();function Rt(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1}function Lt(t){var e=t.length;if(1===e)return{x:J(t[0].clientX),y:J(t[0].clientY)};for(var i=0,n=0,o=0;o=tt(e)?t<0?kt:Dt:e<0?Ct:St}function Bt(t,e,i){return{x:e/t||0,y:i/t||0}}function Wt(t,e){var i=t.session,n=e.pointers,o=n.length;i.firstInput||(i.firstInput=jt(e)),o>1&&!i.firstMultiple?i.firstMultiple=jt(e):1===o&&(i.firstMultiple=!1);var s=i.firstInput,r=i.firstMultiple,a=r?r.center:s.center,l=e.center=Lt(n);e.timeStamp=et(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=Ht(a,l),e.distance=Yt(a,l),function(t,e){var i=e.center,n=t.offsetDelta||{},o=t.prevDelta||{},s=t.prevInput||{};e.eventType!==yt&&s.eventType!==wt||(o=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},n=t.offsetDelta={x:i.x,y:i.y}),e.deltaX=o.x+(i.x-n.x),e.deltaY=o.y+(i.y-n.y)}(i,e),e.offsetDirection=zt(e.deltaX,e.deltaY);var h,d,c=Bt(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=c.x,e.overallVelocityY=c.y,e.overallVelocity=tt(c.x)>tt(c.y)?c.x:c.y,e.scale=r?(h=r.pointers,Yt((d=n)[0],d[1],It)/Yt(h[0],h[1],It)):1,e.rotation=r?function(t,e){return Ht(e[1],e[0],It)+Ht(t[1],t[0],It)}(r.pointers,n):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,function(t,e){var i,n,o,s,r=t.lastInterval||e,a=e.timeStamp-r.timeStamp;if(e.eventType!==_t&&(a>vt||void 0===r.velocity)){var l=e.deltaX-r.deltaX,h=e.deltaY-r.deltaY,d=Bt(a,l,h);n=d.x,o=d.y,i=tt(d.x)>tt(d.y)?d.x:d.y,s=zt(l,h),t.lastInterval=e}else i=r.velocity,n=r.velocityX,o=r.velocityY,s=r.direction;e.velocity=i,e.velocityX=n,e.velocityY=o,e.direction=s}(i,e);var u,p=t.element,m=e.srcEvent;Rt(u=m.composedPath?m.composedPath()[0]:m.path?m.path[0]:m.target,p)&&(p=u),e.target=p}function Gt(t,e,i){var n=i.pointers.length,o=i.changedPointers.length,s=e&yt&&n-o==0,r=e&(wt|_t)&&n-o==0;i.isFirst=!!s,i.isFinal=!!r,s&&(t.session={}),i.eventType=e,Wt(t,i),t.emit("hammer.input",i),t.recognize(i),t.session.prevInput=i}function Vt(t){return t.trim().split(/\s+/g)}function Ut(t,e,i){At(Vt(e),(function(e){t.addEventListener(e,i,!1)}))}function $t(t,e,i){At(Vt(e),(function(e){t.removeEventListener(e,i,!1)}))}function qt(t){var e=t.ownerDocument||t;return e.defaultView||e.parentWindow||window}var Xt=function(){function t(t,e){var i=this;this.manager=t,this.callback=e,this.element=t.element,this.target=t.options.inputTarget,this.domHandler=function(e){Pt(t.options.enable,[t])&&i.handler(e)},this.init()}var e=t.prototype;return e.handler=function(){},e.init=function(){this.evEl&&Ut(this.element,this.evEl,this.domHandler),this.evTarget&&Ut(this.target,this.evTarget,this.domHandler),this.evWin&&Ut(qt(this.element),this.evWin,this.domHandler)},e.destroy=function(){this.evEl&&$t(this.element,this.evEl,this.domHandler),this.evTarget&&$t(this.target,this.evTarget,this.domHandler),this.evWin&&$t(qt(this.element),this.evWin,this.domHandler)},t}();function Kt(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var n=0;ni[e]})):n.sort()),n}var oe={touchstart:yt,touchmove:bt,touchend:wt,touchcancel:_t},se="touchstart touchmove touchend touchcancel",re=function(t){function e(){var i;return e.prototype.evTarget=se,(i=t.apply(this,arguments)||this).targetIds={},i}return U(e,t),e.prototype.handler=function(t){var e=oe[t.type],i=ae.call(this,t,e);i&&this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:ft,srcEvent:t})},e}(Xt);function ae(t,e){var i,n,o=ie(t.touches),s=this.targetIds;if(e&(yt|bt)&&1===o.length)return s[o[0].identifier]=!0,[o,o];var r=ie(t.changedTouches),a=[],l=this.target;if(n=o.filter((function(t){return Rt(t.target,l)})),e===yt)for(i=0;i-1&&n.splice(t,1)}),ue)}}function fe(t,e){t&yt?(this.primaryTouch=e.changedPointers[0].identifier,me.call(this,e)):t&(wt|_t)&&me.call(this,e)}function ge(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,n=0;n-1&&this.requireFail.splice(e,1),this},e.hasRequireFailures=function(){return this.requireFail.length>0},e.canRecognizeWith=function(t){return!!this.simultaneous[t.id]},e.emit=function(t){var e=this,i=this.state;function n(i){e.manager.emit(i,t)}i=xe&&n(e.options.event+Ee(i))},e.tryEmit=function(t){if(this.canEmit())return this.emit(t);this.state=Ce},e.canEmit=function(){for(var t=0;te.threshold&&o&e.direction},i.attrTest=function(t){return Ie.prototype.attrTest.call(this,t)&&(this.state&we||!(this.state&we)&&this.directionTest(t))},i.emit=function(e){this.pX=e.deltaX,this.pY=e.deltaY;var i=Ae(e.direction);i&&(e.additionalEvent=this.options.event+i),t.prototype.emit.call(this,e)},e}(Ie),Ne=function(t){function e(e){return void 0===e&&(e={}),t.call(this,V({event:"swipe",threshold:10,velocity:.3,direction:Tt|Et,pointers:1},e))||this}U(e,t);var i=e.prototype;return i.getTouchAction=function(){return Pe.prototype.getTouchAction.call(this)},i.attrTest=function(e){var i,n=this.options.direction;return n&(Tt|Et)?i=e.overallVelocity:n&Tt?i=e.overallVelocityX:n&Et&&(i=e.overallVelocityY),t.prototype.attrTest.call(this,e)&&n&e.offsetDirection&&e.distance>this.options.threshold&&e.maxPointers===this.options.pointers&&tt(i)>this.options.velocity&&e.eventType&wt},i.emit=function(t){var e=Ae(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)},e}(Ie),Fe=function(t){function e(e){return void 0===e&&(e={}),t.call(this,V({event:"pinch",threshold:0,pointers:2},e))||this}U(e,t);var i=e.prototype;return i.getTouchAction=function(){return[lt]},i.attrTest=function(e){return t.prototype.attrTest.call(this,e)&&(Math.abs(e.scale-1)>this.options.threshold||this.state&we)},i.emit=function(e){if(1!==e.scale){var i=e.scale<1?"in":"out";e.additionalEvent=this.options.event+i}t.prototype.emit.call(this,e)},e}(Ie),Re=function(t){function e(e){return void 0===e&&(e={}),t.call(this,V({event:"rotate",threshold:0,pointers:2},e))||this}U(e,t);var i=e.prototype;return i.getTouchAction=function(){return[lt]},i.attrTest=function(e){return t.prototype.attrTest.call(this,e)&&(Math.abs(e.rotation)>this.options.threshold||this.state&we)},e}(Ie),Le=function(t){function e(e){var i;return void 0===e&&(e={}),(i=t.call(this,V({event:"press",pointers:1,time:251,threshold:9},e))||this)._timer=null,i._input=null,i}U(e,t);var i=e.prototype;return i.getTouchAction=function(){return[rt]},i.process=function(t){var e=this,i=this.options,n=t.pointers.length===i.pointers,o=t.distancei.time;if(this._input=t,!o||!n||t.eventType&(wt|_t)&&!s)this.reset();else if(t.eventType&yt)this.reset(),this._timer=setTimeout((function(){e.state=ke,e.tryEmit()}),i.time);else if(t.eventType&wt)return ke;return Ce},i.reset=function(){clearTimeout(this._timer)},i.emit=function(t){this.state===ke&&(t&&t.eventType&wt?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=et(),this.manager.emit(this.options.event,this._input)))},e}(Me),je={domEvents:!1,touchAction:st,enable:!0,inputTarget:null,inputClass:null,cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},Ye=[[Re,{enable:!1}],[Fe,{enable:!1},["rotate"]],[Ne,{direction:Tt}],[Pe,{direction:Tt},["swipe"]],[Oe],[Oe,{event:"doubletap",taps:2},["tap"]],[Le]];function He(t,e){var i,n=t.element;n.style&&(At(t.options.cssProps,(function(o,s){i=it(n.style,s),e?(t.oldCssProps[i]=n.style[i],n.style[i]=o):n.style[i]=t.oldCssProps[i]||""})),e||(t.oldCssProps={}))}var ze=function(){function t(t,e){var i,n=this;this.options=X({},je,e||{}),this.options.inputTarget=this.options.inputTarget||t,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=t,this.input=new((i=this).options.inputClass||(pt?ee:mt?re:ut?ve:ce))(i,Gt),this.touchAction=new Ft(this,this.options.touchAction),He(this,!0),At(this.options.recognizers,(function(t){var e=n.add(new t[0](t[1]));t[2]&&e.recognizeWith(t[2]),t[3]&&e.requireFailure(t[3])}),this)}var e=t.prototype;return e.set=function(t){return X(this.options,t),t.touchAction&&this.touchAction.update(),t.inputTarget&&(this.input.destroy(),this.input.target=t.inputTarget,this.input.init()),this},e.stop=function(t){this.session.stopped=t?2:1},e.recognize=function(t){var e=this.session;if(!e.stopped){var i;this.touchAction.preventDefaults(t);var n=this.recognizers,o=e.curRecognizer;(!o||o&&o.state&ke)&&(e.curRecognizer=null,o=null);for(var s=0;s\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=window.console&&(window.console.warn||window.console.log);return o&&o.call(window.console,n,i),t.apply(this,arguments)}}var qe=$e((function(t,e,i){for(var n=Object.keys(e),o=0;o2)return ii(ei(t[0],t[1]),...t.slice(2));const e=t[0],i=t[1];for(const t of Reflect.ownKeys(i))Object.prototype.propertyIsEnumerable.call(i,t)&&(i[t]===Je?delete e[t]:null===e[t]||null===i[t]||"object"!=typeof e[t]||"object"!=typeof i[t]||Array.isArray(e[t])||Array.isArray(i[t])?e[t]=ni(i[t]):e[t]=ii(e[t],i[t]));return e}function ni(t){return Array.isArray(t)?t.map((t=>ni(t))):"object"==typeof t&&null!==t?ii({},t):t}function oi(t){for(const e of Object.keys(t))t[e]===Je?delete t[e]:"object"==typeof t[e]&&null!==t[e]&&oi(t[e])}const si="undefined"!=typeof window?window.Hammer||Qe:function(){return function(){const t=()=>{};return{on:t,off:t,destroy:t,emit:t,get:()=>({set:t})}}()};function ri(t){this._cleanupQueue=[],this.active=!1,this._dom={container:t,overlay:document.createElement("div")},this._dom.overlay.classList.add("vis-overlay"),this._dom.container.appendChild(this._dom.overlay),this._cleanupQueue.push((()=>{this._dom.overlay.parentNode.removeChild(this._dom.overlay)}));const e=si(this._dom.overlay);e.on("tap",this._onTapOverlay.bind(this)),this._cleanupQueue.push((()=>{e.destroy()}));["tap","doubletap","press","pinch","pan","panstart","panmove","panend"].forEach((t=>{e.on(t,(t=>{t.srcEvent.stopPropagation()}))})),document&&document.body&&(this._onClick=e=>{(function(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1})(e.target,t)||this.deactivate()},document.body.addEventListener("click",this._onClick),this._cleanupQueue.push((()=>{document.body.removeEventListener("click",this._onClick)}))),this._escListener=t=>{("key"in t?"Escape"===t.key:27===t.keyCode)&&this.deactivate()}}G(ri.prototype),ri.current=null,ri.prototype.destroy=function(){this.deactivate();for(const t of this._cleanupQueue.splice(0).reverse())t()},ri.prototype.activate=function(){ri.current&&ri.current.deactivate(),ri.current=this,this.active=!0,this._dom.overlay.style.display="none",this._dom.container.classList.add("vis-active"),this.emit("change"),this.emit("activate"),document.body.addEventListener("keydown",this._escListener)},ri.prototype.deactivate=function(){this.active=!1,this._dom.overlay.style.display="block",this._dom.container.classList.remove("vis-active"),document.body.removeEventListener("keydown",this._escListener),this.emit("change"),this.emit("deactivate")},ri.prototype._onTapOverlay=function(t){this.activate(),t.srcEvent.stopPropagation()};const ai=/^\/?Date\((-?\d+)/i,li=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,hi=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,di=/^rgb\( *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *\)$/i,ci=/^rgba\( *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *(1?\d{1,2}|2[0-4]\d|25[0-5]) *, *([01]|0?\.\d+) *\)$/i;function ui(t){return t instanceof Number||"number"==typeof t}function pi(t){return t instanceof String||"string"==typeof t}function mi(t){return"object"==typeof t&&null!==t}function fi(t,e,i,n){let o=!1;!0===n&&(o=null===e[i]&&void 0!==t[i]),o?delete t[i]:t[i]=e[i]}const gi=Object.assign;function vi(t,e,i=!1,n=!1){for(const o in e)(Object.prototype.hasOwnProperty.call(e,o)||!0===i)&&("object"==typeof e[o]&&null!==e[o]&&Object.getPrototypeOf(e[o])===Object.prototype?void 0===t[o]?t[o]=vi({},e[o],i):"object"==typeof t[o]&&null!==t[o]&&Object.getPrototypeOf(t[o])===Object.prototype?vi(t[o],e[o],i):fi(t,e,o,n):Array.isArray(e[o])?t[o]=e[o].slice():fi(t,e,o,n));return t}function yi(t){const e=typeof t;return"object"===e?null===t?"null":t instanceof Boolean?"Boolean":t instanceof Number?"Number":t instanceof String?"String":Array.isArray(t)?"Array":t instanceof Date?"Date":"Object":"number"===e?"Number":"boolean"===e?"Boolean":"string"===e?"String":void 0===e?"undefined":e}function bi(t,e){return[...t,e]}function wi(t){return t.slice()}const _i=Object.values;const xi={asBoolean:(t,e)=>("function"==typeof t&&(t=t()),null!=t?0!=t:e||null),asNumber:(t,e)=>("function"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null),asString:(t,e)=>("function"==typeof t&&(t=t()),null!=t?String(t):e||null),asSize:(t,e)=>("function"==typeof t&&(t=t()),pi(t)?t:ui(t)?t+"px":e||null),asElement:(t,e)=>("function"==typeof t&&(t=t()),t||e||null)};function ki(t){let e;switch(t.length){case 3:case 4:return e=hi.exec(t),e?{r:parseInt(e[1]+e[1],16),g:parseInt(e[2]+e[2],16),b:parseInt(e[3]+e[3],16)}:null;case 6:case 7:return e=li.exec(t),e?{r:parseInt(e[1],16),g:parseInt(e[2],16),b:parseInt(e[3],16)}:null;default:return null}}function Di(t,e,i){return"#"+((1<<24)+(t<<16)+(e<<8)+i).toString(16).slice(1)}function Ci(t,e,i){t/=255,e/=255,i/=255;const n=Math.min(t,Math.min(e,i)),o=Math.max(t,Math.max(e,i));if(n===o)return{h:0,s:0,v:n};return{h:60*((t===n?3:i===n?1:5)-(t===n?e-i:i===n?t-e:i-t)/(o-n))/360,s:(o-n)/o,v:o}}const Si={split(t){const e={};return t.split(";").forEach((t=>{if(""!=t.trim()){const i=t.split(":"),n=i[0].trim(),o=i[1].trim();e[n]=o}})),e},join:t=>Object.keys(t).map((function(e){return e+": "+t[e]})).join("; ")};function Ti(t,e,i){let n,o,s;const r=Math.floor(6*t),a=6*t-r,l=i*(1-e),h=i*(1-a*e),d=i*(1-(1-a)*e);switch(r%6){case 0:n=i,o=d,s=l;break;case 1:n=h,o=i,s=l;break;case 2:n=l,o=i,s=d;break;case 3:n=l,o=h,s=i;break;case 4:n=d,o=l,s=i;break;case 5:n=i,o=l,s=h}return{r:Math.floor(255*n),g:Math.floor(255*o),b:Math.floor(255*s)}}function Ei(t,e,i){const n=Ti(t,e,i);return Di(n.r,n.g,n.b)}function Mi(t){const e=ki(t);if(!e)throw new TypeError(`'${t}' is not a valid color.`);return Ci(e.r,e.g,e.b)}function Oi(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)}function Ii(t){return di.test(t)}function Ai(t){return ci.test(t)}function Pi(t){if(null===t||"object"!=typeof t)return null;if(t instanceof Element)return t;const e=Object.create(t);for(const i in t)Object.prototype.hasOwnProperty.call(t,i)&&"object"==typeof t[i]&&(e[i]=Pi(t[i]));return e}const Ni={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>t*(2-t),easeInOutQuad:t=>t<.5?2*t*t:(4-2*t)*t-1,easeInCubic:t=>t*t*t,easeOutCubic:t=>--t*t*t+1,easeInOutCubic:t=>t<.5?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1,easeInQuart:t=>t*t*t*t,easeOutQuart:t=>1- --t*t*t*t,easeInOutQuart:t=>t<.5?8*t*t*t*t:1-8*--t*t*t*t,easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>1+--t*t*t*t*t,easeInOutQuint:t=>t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t};const Fi={black:"#000000",navy:"#000080",darkblue:"#00008B",mediumblue:"#0000CD",blue:"#0000FF",darkgreen:"#006400",green:"#008000",teal:"#008080",darkcyan:"#008B8B",deepskyblue:"#00BFFF",darkturquoise:"#00CED1",mediumspringgreen:"#00FA9A",lime:"#00FF00",springgreen:"#00FF7F",aqua:"#00FFFF",cyan:"#00FFFF",midnightblue:"#191970",dodgerblue:"#1E90FF",lightseagreen:"#20B2AA",forestgreen:"#228B22",seagreen:"#2E8B57",darkslategray:"#2F4F4F",limegreen:"#32CD32",mediumseagreen:"#3CB371",turquoise:"#40E0D0",royalblue:"#4169E1",steelblue:"#4682B4",darkslateblue:"#483D8B",mediumturquoise:"#48D1CC",indigo:"#4B0082",darkolivegreen:"#556B2F",cadetblue:"#5F9EA0",cornflowerblue:"#6495ED",mediumaquamarine:"#66CDAA",dimgray:"#696969",slateblue:"#6A5ACD",olivedrab:"#6B8E23",slategray:"#708090",lightslategray:"#778899",mediumslateblue:"#7B68EE",lawngreen:"#7CFC00",chartreuse:"#7FFF00",aquamarine:"#7FFFD4",maroon:"#800000",purple:"#800080",olive:"#808000",gray:"#808080",skyblue:"#87CEEB",lightskyblue:"#87CEFA",blueviolet:"#8A2BE2",darkred:"#8B0000",darkmagenta:"#8B008B",saddlebrown:"#8B4513",darkseagreen:"#8FBC8F",lightgreen:"#90EE90",mediumpurple:"#9370D8",darkviolet:"#9400D3",palegreen:"#98FB98",darkorchid:"#9932CC",yellowgreen:"#9ACD32",sienna:"#A0522D",brown:"#A52A2A",darkgray:"#A9A9A9",lightblue:"#ADD8E6",greenyellow:"#ADFF2F",paleturquoise:"#AFEEEE",lightsteelblue:"#B0C4DE",powderblue:"#B0E0E6",firebrick:"#B22222",darkgoldenrod:"#B8860B",mediumorchid:"#BA55D3",rosybrown:"#BC8F8F",darkkhaki:"#BDB76B",silver:"#C0C0C0",mediumvioletred:"#C71585",indianred:"#CD5C5C",peru:"#CD853F",chocolate:"#D2691E",tan:"#D2B48C",lightgrey:"#D3D3D3",palevioletred:"#D87093",thistle:"#D8BFD8",orchid:"#DA70D6",goldenrod:"#DAA520",crimson:"#DC143C",gainsboro:"#DCDCDC",plum:"#DDA0DD",burlywood:"#DEB887",lightcyan:"#E0FFFF",lavender:"#E6E6FA",darksalmon:"#E9967A",violet:"#EE82EE",palegoldenrod:"#EEE8AA",lightcoral:"#F08080",khaki:"#F0E68C",aliceblue:"#F0F8FF",honeydew:"#F0FFF0",azure:"#F0FFFF",sandybrown:"#F4A460",wheat:"#F5DEB3",beige:"#F5F5DC",whitesmoke:"#F5F5F5",mintcream:"#F5FFFA",ghostwhite:"#F8F8FF",salmon:"#FA8072",antiquewhite:"#FAEBD7",linen:"#FAF0E6",lightgoldenrodyellow:"#FAFAD2",oldlace:"#FDF5E6",red:"#FF0000",fuchsia:"#FF00FF",magenta:"#FF00FF",deeppink:"#FF1493",orangered:"#FF4500",tomato:"#FF6347",hotpink:"#FF69B4",coral:"#FF7F50",darkorange:"#FF8C00",lightsalmon:"#FFA07A",orange:"#FFA500",lightpink:"#FFB6C1",pink:"#FFC0CB",gold:"#FFD700",peachpuff:"#FFDAB9",navajowhite:"#FFDEAD",moccasin:"#FFE4B5",bisque:"#FFE4C4",mistyrose:"#FFE4E1",blanchedalmond:"#FFEBCD",papayawhip:"#FFEFD5",lavenderblush:"#FFF0F5",seashell:"#FFF5EE",cornsilk:"#FFF8DC",lemonchiffon:"#FFFACD",floralwhite:"#FFFAF0",snow:"#FFFAFA",yellow:"#FFFF00",lightyellow:"#FFFFE0",ivory:"#FFFFF0",white:"#FFFFFF"};class Ri{constructor(t=1){this.pixelRatio=t,this.generated=!1,this.centerCoordinates={x:144.5,y:144.5},this.r=289*.49,this.color={r:255,g:255,b:255,a:1},this.hueCircle=void 0,this.initialColor={r:255,g:255,b:255,a:1},this.previousColor=void 0,this.applied=!1,this.updateCallback=()=>{},this.closeCallback=()=>{},this._create()}insertTo(t){void 0!==this.hammer&&(this.hammer.destroy(),this.hammer=void 0),this.container=t,this.container.appendChild(this.frame),this._bindHammer(),this._setSize()}setUpdateCallback(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker update callback is not a function.");this.updateCallback=t}setCloseCallback(t){if("function"!=typeof t)throw new Error("Function attempted to set as colorPicker closing callback is not a function.");this.closeCallback=t}_isColorString(t){if("string"==typeof t)return Fi[t]}setColor(t,e=!0){if("none"===t)return;let i;const n=this._isColorString(t);if(void 0!==n&&(t=n),!0===pi(t)){if(!0===Ii(t)){const e=t.substr(4).substr(0,t.length-5).split(",");i={r:e[0],g:e[1],b:e[2],a:1}}else if(!0===Ai(t)){const e=t.substr(5).substr(0,t.length-6).split(",");i={r:e[0],g:e[1],b:e[2],a:e[3]}}else if(!0===Oi(t)){const e=ki(t);i={r:e.r,g:e.g,b:e.b,a:1}}}else if(t instanceof Object&&void 0!==t.r&&void 0!==t.g&&void 0!==t.b){const e=void 0!==t.a?t.a:"1.0";i={r:t.r,g:t.g,b:t.b,a:e}}if(void 0===i)throw new Error("Unknown color passed to the colorPicker. Supported are strings: rgb, hex, rgba. Object: rgb ({r:r,g:g,b:b,[a:a]}). Supplied: "+JSON.stringify(t));this._setColor(i,e)}show(){void 0!==this.closeCallback&&(this.closeCallback(),this.closeCallback=void 0),this.applied=!1,this.frame.style.display="block",this._generateHueCircle()}_hide(t=!0){!0===t&&(this.previousColor=Object.assign({},this.color)),!0===this.applied&&this.updateCallback(this.initialColor),this.frame.style.display="none",setTimeout((()=>{void 0!==this.closeCallback&&(this.closeCallback(),this.closeCallback=void 0)}),0)}_save(){this.updateCallback(this.color),this.applied=!1,this._hide()}_apply(){this.applied=!0,this.updateCallback(this.color),this._updatePicker(this.color)}_loadLast(){void 0!==this.previousColor?this.setColor(this.previousColor,!1):alert("There is no last color to load...")}_setColor(t,e=!0){!0===e&&(this.initialColor=Object.assign({},t)),this.color=t;const i=Ci(t.r,t.g,t.b),n=2*Math.PI,o=this.r*i.s,s=this.centerCoordinates.x+o*Math.sin(n*i.h),r=this.centerCoordinates.y+o*Math.cos(n*i.h);this.colorPickerSelector.style.left=s-.5*this.colorPickerSelector.clientWidth+"px",this.colorPickerSelector.style.top=r-.5*this.colorPickerSelector.clientHeight+"px",this._updatePicker(t)}_setOpacity(t){this.color.a=t/100,this._updatePicker(this.color)}_setBrightness(t){const e=Ci(this.color.r,this.color.g,this.color.b);e.v=t/100;const i=Ti(e.h,e.s,e.v);i.a=this.color.a,this.color=i,this._updatePicker()}_updatePicker(t=this.color){const e=Ci(t.r,t.g,t.b),i=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(i.webkitBackingStorePixelRatio||i.mozBackingStorePixelRatio||i.msBackingStorePixelRatio||i.oBackingStorePixelRatio||i.backingStorePixelRatio||1)),i.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);const n=this.colorPickerCanvas.clientWidth,o=this.colorPickerCanvas.clientHeight;i.clearRect(0,0,n,o),i.putImageData(this.hueCircle,0,0),i.fillStyle="rgba(0,0,0,"+(1-e.v)+")",i.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),i.fill(),this.brightnessRange.value=100*e.v,this.opacityRange.value=100*t.a,this.initialColorDiv.style.backgroundColor="rgba("+this.initialColor.r+","+this.initialColor.g+","+this.initialColor.b+","+this.initialColor.a+")",this.newColorDiv.style.backgroundColor="rgba("+this.color.r+","+this.color.g+","+this.color.b+","+this.color.a+")"}_setSize(){this.colorPickerCanvas.style.width="100%",this.colorPickerCanvas.style.height="100%",this.colorPickerCanvas.width=289*this.pixelRatio,this.colorPickerCanvas.height=289*this.pixelRatio}_create(){if(this.frame=document.createElement("div"),this.frame.className="vis-color-picker",this.colorPickerDiv=document.createElement("div"),this.colorPickerSelector=document.createElement("div"),this.colorPickerSelector.className="vis-selector",this.colorPickerDiv.appendChild(this.colorPickerSelector),this.colorPickerCanvas=document.createElement("canvas"),this.colorPickerDiv.appendChild(this.colorPickerCanvas),this.colorPickerCanvas.getContext){const t=this.colorPickerCanvas.getContext("2d");this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1),this.colorPickerCanvas.getContext("2d").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{const t=document.createElement("DIV");t.style.color="red",t.style.fontWeight="bold",t.style.padding="10px",t.innerText="Error: your browser does not support HTML canvas",this.colorPickerCanvas.appendChild(t)}this.colorPickerDiv.className="vis-color",this.opacityDiv=document.createElement("div"),this.opacityDiv.className="vis-opacity",this.brightnessDiv=document.createElement("div"),this.brightnessDiv.className="vis-brightness",this.arrowDiv=document.createElement("div"),this.arrowDiv.className="vis-arrow",this.opacityRange=document.createElement("input");try{this.opacityRange.type="range",this.opacityRange.min="0",this.opacityRange.max="100"}catch(t){}this.opacityRange.value="100",this.opacityRange.className="vis-range",this.brightnessRange=document.createElement("input");try{this.brightnessRange.type="range",this.brightnessRange.min="0",this.brightnessRange.max="100"}catch(t){}this.brightnessRange.value="100",this.brightnessRange.className="vis-range",this.opacityDiv.appendChild(this.opacityRange),this.brightnessDiv.appendChild(this.brightnessRange);const t=this;this.opacityRange.onchange=function(){t._setOpacity(this.value)},this.opacityRange.oninput=function(){t._setOpacity(this.value)},this.brightnessRange.onchange=function(){t._setBrightness(this.value)},this.brightnessRange.oninput=function(){t._setBrightness(this.value)},this.brightnessLabel=document.createElement("div"),this.brightnessLabel.className="vis-label vis-brightness",this.brightnessLabel.innerText="brightness:",this.opacityLabel=document.createElement("div"),this.opacityLabel.className="vis-label vis-opacity",this.opacityLabel.innerText="opacity:",this.newColorDiv=document.createElement("div"),this.newColorDiv.className="vis-new-color",this.newColorDiv.innerText="new",this.initialColorDiv=document.createElement("div"),this.initialColorDiv.className="vis-initial-color",this.initialColorDiv.innerText="initial",this.cancelButton=document.createElement("div"),this.cancelButton.className="vis-button vis-cancel",this.cancelButton.innerText="cancel",this.cancelButton.onclick=this._hide.bind(this,!1),this.applyButton=document.createElement("div"),this.applyButton.className="vis-button vis-apply",this.applyButton.innerText="apply",this.applyButton.onclick=this._apply.bind(this),this.saveButton=document.createElement("div"),this.saveButton.className="vis-button vis-save",this.saveButton.innerText="save",this.saveButton.onclick=this._save.bind(this),this.loadButton=document.createElement("div"),this.loadButton.className="vis-button vis-load",this.loadButton.innerText="load last",this.loadButton.onclick=this._loadLast.bind(this),this.frame.appendChild(this.colorPickerDiv),this.frame.appendChild(this.arrowDiv),this.frame.appendChild(this.brightnessLabel),this.frame.appendChild(this.brightnessDiv),this.frame.appendChild(this.opacityLabel),this.frame.appendChild(this.opacityDiv),this.frame.appendChild(this.newColorDiv),this.frame.appendChild(this.initialColorDiv),this.frame.appendChild(this.cancelButton),this.frame.appendChild(this.applyButton),this.frame.appendChild(this.saveButton),this.frame.appendChild(this.loadButton)}_bindHammer(){this.drag={},this.pinch={},this.hammer=new si(this.colorPickerCanvas),this.hammer.get("pinch").set({enable:!0}),this.hammer.on("hammer.input",(t=>{t.isFirst&&this._moveSelector(t)})),this.hammer.on("tap",(t=>{this._moveSelector(t)})),this.hammer.on("panstart",(t=>{this._moveSelector(t)})),this.hammer.on("panmove",(t=>{this._moveSelector(t)})),this.hammer.on("panend",(t=>{this._moveSelector(t)}))}_generateHueCircle(){if(!1===this.generated){const t=this.colorPickerCanvas.getContext("2d");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);const e=this.colorPickerCanvas.clientWidth,i=this.colorPickerCanvas.clientHeight;let n,o,s,r;t.clearRect(0,0,e,i),this.centerCoordinates={x:.5*e,y:.5*i},this.r=.49*e;const a=2*Math.PI/360,l=1/360,h=1/this.r;let d;for(s=0;s<360;s++)for(r=0;ro.distance?" in "+zi.printLocation(n.path,t,"")+"Perhaps it was misplaced? Matching option found at: "+zi.printLocation(o.path,o.closestMatch,""):n.distance<=8?'. Did you mean "'+n.closestMatch+'"?'+zi.printLocation(n.path,t):". Did you mean one of these: "+zi.print(Object.keys(e))+zi.printLocation(i,t),console.error('%cUnknown option detected: "'+t+'"'+s,Hi),Yi=!0}static findInOptions(t,e,i,n=!1){let o=1e9,s="",r=[];const a=t.toLowerCase();let l;for(const h in e){let d;if(void 0!==e[h].__type__&&!0===n){const n=zi.findInOptions(t,e[h],bi(i,h));o>n.distance&&(s=n.closestMatch,r=n.path,o=n.distance,l=n.indexMatch)}else-1!==h.toLowerCase().indexOf(a)&&(l=h),d=zi.levenshteinDistance(t,h),o>d&&(s=h,r=wi(i),o=d)}return{closestMatch:s,path:r,distance:o,indexMatch:l}}static printLocation(t,e,i="Problem value found at: \n"){let n="\n\n"+i+"options = {\n";for(let e=0;e!1)){this.parent=t,this.changedOptions=[],this.container=e,this.allowCreation=!1,this.hideOption=o,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},Object.assign(this.options,this.defaultOptions),this.configureOptions=i,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new Ri(n),this.wrapper=void 0}setOptions(t){if(void 0!==t){this.popupHistory={},this._removePopup();let e=!0;if("string"==typeof t)this.options.filter=t;else if(Array.isArray(t))this.options.filter=t.join();else if("object"==typeof t){if(null==t)throw new TypeError("options cannot be null");void 0!==t.container&&(this.options.container=t.container),void 0!==t.filter&&(this.options.filter=t.filter),void 0!==t.showButton&&(this.options.showButton=t.showButton),void 0!==t.enabled&&(e=t.enabled)}else"boolean"==typeof t?(this.options.filter=!0,e=t):"function"==typeof t&&(this.options.filter=t,e=!0);!1===this.options.filter&&(e=!1),this.options.enabled=e}this._clean()}setModuleOptions(t){this.moduleOptions=t,!0===this.options.enabled&&(this._clean(),void 0!==this.options.container&&(this.container=this.options.container),this._create())}_create(){this._clean(),this.changedOptions=[];const t=this.options.filter;let e=0,i=!1;for(const n in this.configureOptions)Object.prototype.hasOwnProperty.call(this.configureOptions,n)&&(this.allowCreation=!1,i=!1,"function"==typeof t?(i=t(n,[]),i=i||this._handleObject(this.configureOptions[n],[n],!0)):!0!==t&&-1===t.indexOf(n)||(i=!0),!1!==i&&(this.allowCreation=!0,e>0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),e++);this._makeButton(),this._push()}_push(){this.wrapper=document.createElement("div"),this.wrapper.className="vis-configuration-wrapper",this.container.appendChild(this.wrapper);for(let t=0;t{i.appendChild(t)})),this.domElements.push(i),this.domElements.length}return 0}_makeHeader(t){const e=document.createElement("div");e.className="vis-configuration vis-config-header",e.innerText=t,this._makeItem([],e)}_makeLabel(t,e,i=!1){const n=document.createElement("div");if(n.className="vis-configuration vis-config-label vis-config-s"+e.length,!0===i){for(;n.firstChild;)n.removeChild(n.firstChild);n.appendChild(Li("i","b",t))}else n.innerText=t+":";return n}_makeDropdown(t,e,i){const n=document.createElement("select");n.className="vis-configuration vis-config-select";let o=0;void 0!==e&&-1!==t.indexOf(e)&&(o=t.indexOf(e));for(let e=0;es&&1!==s&&(a.max=Math.ceil(e*t),h=a.max,l="range increased"),a.value=e}else a.value=n;const d=document.createElement("input");d.className="vis-configuration vis-config-rangeinput",d.value=a.value;const c=this;a.onchange=function(){d.value=this.value,c._update(Number(this.value),i)},a.oninput=function(){d.value=this.value};const u=this._makeLabel(i[i.length-1],i),p=this._makeItem(i,u,a,d);""!==l&&this.popupHistory[p]!==h&&(this.popupHistory[p]=h,this._setupPopup(l,p))}_makeButton(){if(!0===this.options.showButton){const t=document.createElement("div");t.className="vis-configuration vis-config-button",t.innerText="generate options",t.onclick=()=>{this._printOptions()},t.onmouseover=()=>{t.className="vis-configuration vis-config-button hover"},t.onmouseout=()=>{t.className="vis-configuration vis-config-button"},this.optionsContainer=document.createElement("div"),this.optionsContainer.className="vis-configuration vis-config-option-container",this.domElements.push(this.optionsContainer),this.domElements.push(t)}}_setupPopup(t,e){if(!0===this.initialized&&!0===this.allowCreation&&this.popupCounter{this._removePopup()},this.popupCounter+=1,this.popupDiv={html:i,index:e}}}_removePopup(){void 0!==this.popupDiv.html&&(this.popupDiv.html.parentNode.removeChild(this.popupDiv.html),clearTimeout(this.popupDiv.hideTimeout),clearTimeout(this.popupDiv.deleteTimeout),this.popupDiv={})}_showPopupIfNeeded(){if(void 0!==this.popupDiv.html){const t=this.domElements[this.popupDiv.index].getBoundingClientRect();this.popupDiv.html.style.left=t.left+"px",this.popupDiv.html.style.top=t.top-30+"px",document.body.appendChild(this.popupDiv.html),this.popupDiv.hideTimeout=setTimeout((()=>{this.popupDiv.html.style.opacity=0}),1500),this.popupDiv.deleteTimeout=setTimeout((()=>{this._removePopup()}),1800)}}_makeCheckbox(t,e,i){const n=document.createElement("input");n.type="checkbox",n.className="vis-configuration vis-config-checkbox",n.checked=t,void 0!==e&&(n.checked=e,e!==t&&("object"==typeof t?e!==t.enabled&&this.changedOptions.push({path:i,value:e}):this.changedOptions.push({path:i,value:e})));const o=this;n.onchange=function(){o._update(this.checked,i)};const s=this._makeLabel(i[i.length-1],i);this._makeItem(i,s,n)}_makeTextInput(t,e,i){const n=document.createElement("input");n.type="text",n.className="vis-configuration vis-config-text",n.value=e,e!==t&&this.changedOptions.push({path:i,value:e});const o=this;n.onchange=function(){o._update(this.value,i)};const s=this._makeLabel(i[i.length-1],i);this._makeItem(i,s,n)}_makeColorField(t,e,i){const n=t[1],o=document.createElement("div");"none"!==(e=void 0===e?n:e)?(o.className="vis-configuration vis-config-colorBlock",o.style.backgroundColor=e):o.className="vis-configuration vis-config-colorBlock none",e=void 0===e?n:e,o.onclick=()=>{this._showColorPicker(e,o,i)};const s=this._makeLabel(i[i.length-1],i);this._makeItem(i,s,o)}_showColorPicker(t,e,i){e.onclick=function(){},this.colorPicker.insertTo(e),this.colorPicker.show(),this.colorPicker.setColor(t),this.colorPicker.setUpdateCallback((t=>{const n="rgba("+t.r+","+t.g+","+t.b+","+t.a+")";e.style.backgroundColor=n,this._update(n,i)})),this.colorPicker.setCloseCallback((()=>{e.onclick=()=>{this._showColorPicker(t,e,i)}}))}_handleObject(t,e=[],i=!1){let n=!1;const o=this.options.filter;let s=!1;for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)){n=!0;const a=t[r],l=bi(e,r);if("function"==typeof o&&(n=o(r,e),!1===n&&!Array.isArray(a)&&"string"!=typeof a&&"boolean"!=typeof a&&a instanceof Object&&(this.allowCreation=!1,n=this._handleObject(a,l,!0),this.allowCreation=!1===i)),!1!==n){s=!0;const t=this._getValue(l);if(Array.isArray(a))this._handleArray(a,t,l);else if("string"==typeof a)this._makeTextInput(a,t,l);else if("boolean"==typeof a)this._makeCheckbox(a,t,l);else if(a instanceof Object){if(!this.hideOption(e,r,this.moduleOptions))if(void 0!==a.enabled){const t=bi(l,"enabled"),e=this._getValue(t);if(!0===e){const t=this._makeLabel(r,l,!0);this._makeItem(l,t),s=this._handleObject(a,l)||s}else this._makeCheckbox(a,e,l)}else{const t=this._makeLabel(r,l,!0);this._makeItem(l,t),s=this._handleObject(a,l)||s}}else console.error("dont know how to handle",a,r,l)}}return s}_handleArray(t,e,i){"string"==typeof t[0]&&"color"===t[0]?(this._makeColorField(t,e,i),t[1]!==e&&this.changedOptions.push({path:i,value:e})):"string"==typeof t[0]?(this._makeDropdown(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:e})):"number"==typeof t[0]&&(this._makeRange(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:Number(e)}))}_update(t,e){const i=this._constructOptions(t,e);this.parent.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit("configChange",i),this.initialized=!0,this.parent.setOptions(i)}_constructOptions(t,e,i={}){let n=i;t="false"!==(t="true"===t||t)&&t;for(let i=0;in-this.padding&&(i=!0),o=i?this.x-e:this.x,s=r?this.y-t:this.y}else s=this.y-t,s+t+this.padding>i&&(s=i-t-this.padding),sn&&(o=n-e-this.padding),o>>0,n-=t,n*=t,t=n>>>0,n-=t,t+=4294967296*n}return 2.3283064365386963e-10*(t>>>0)}}();let i=e(" "),n=e(" "),o=e(" ");for(let s=0;s{const t=2091639*e+2.3283064365386963e-10*o;return e=i,i=n,n=t-(o=0|t)};return s.uint32=()=>4294967296*s(),s.fract53=()=>s()+11102230246251565e-32*(2097152*s()|0),s.algorithm="Alea",s.seed=t,s.version="0.9",s}(t.length?t:[Date.now()])},ColorPicker:Wi,Configurator:Gi,DELETE:Je,HSVToHex:Ei,HSVToRGB:Ti,Hammer:Vi,Popup:Ui,RGBToHSV:Ci,RGBToHex:Di,VALIDATOR_PRINT_STYLE:$i,Validator:qi,addClassName:function(t,e){let i=t.className.split(" ");const n=e.split(" ");i=i.concat(n.filter((function(t){return!i.includes(t)}))),t.className=i.join(" ")},addCssText:function(t,e){const i={...Si.split(t.style.cssText),...Si.split(e)};t.style.cssText=Si.join(i)},addEventListener:function(t,e,i,n){t.addEventListener?(void 0===n&&(n=!1),"mousewheel"===e&&navigator.userAgent.includes("Firefox")&&(e="DOMMouseScroll"),t.addEventListener(e,i,n)):t.attachEvent("on"+e,i)},binarySearchCustom:function(t,e,i,n){let o=0,s=0,r=t.length-1;for(;s<=r&&o<1e4;){const a=Math.floor((s+r)/2),l=t[a],h=e(void 0===n?l[i]:l[i][n]);if(0==h)return a;-1==h?s=a+1:r=a-1,o++}return-1},binarySearchValue:function(t,e,i,n,o){let s,r,a,l,h=0,d=0,c=t.length-1;for(o=null!=o?o:function(t,e){return t==e?0:t0)return"before"==n?Math.max(0,l-1):l;if(o(r,e)<0&&o(a,e)>0)return"before"==n?l:Math.min(t.length-1,l+1);o(r,e)<0?d=l+1:c=l-1,h++}return-1},bridgeObject:Pi,copyAndExtendArray:bi,copyArray:wi,deepExtend:vi,deepObjectAssign:ei,easingFunctions:Ni,equalArray:function(t,e){if(t.length!==e.length)return!1;for(let i=0,n=t.length;i0&&e(n,t[o-1])<0;o--)t[o]=t[o-1];t[o]=n}return t},isDate:function(t){if(t instanceof Date)return!0;if(pi(t)){if(ai.exec(t))return!0;if(!isNaN(Date.parse(t)))return!0}return!1},isNumber:ui,isObject:mi,isString:pi,isValidHex:Oi,isValidRGB:Ii,isValidRGBA:Ai,mergeOptions:function(t,e,i,n={}){const o=function(t){return null!=t},s=function(t){return null!==t&&"object"==typeof t};if(!s(t))throw new Error("Parameter mergeTarget must be an object");if(!s(e))throw new Error("Parameter options must be an object");if(!o(i))throw new Error("Parameter option must have a value");if(!s(n))throw new Error("Parameter globalOptions must be an object");const r=e[i],a=s(n)&&!function(t){for(const e in t)if(Object.prototype.hasOwnProperty.call(t,e))return!1;return!0}(n)?n[i]:void 0,l=a?a.enabled:void 0;if(void 0===r)return;if("boolean"==typeof r)return s(t[i])||(t[i]={}),void(t[i].enabled=r);if(null===r&&!s(t[i])){if(!o(a))return;t[i]=Object.create(a)}if(!s(r))return;let h=!0;void 0!==r.enabled?h=r.enabled:void 0!==l&&(h=a.enabled),function(t,e,i){s(t[i])||(t[i]={});const n=e[i],o=t[i];for(const t in n)Object.prototype.hasOwnProperty.call(n,t)&&(o[t]=n[t])}(t,e,i),t[i].enabled=h},option:xi,overrideOpacity:function(t,e){if(t.includes("rgba"))return t;if(t.includes("rgb")){const i=t.substr(t.indexOf("(")+1).replace(")","").split(",");return"rgba("+i[0]+","+i[1]+","+i[2]+","+e+")"}{const i=ki(t);return null==i?t:"rgba("+i.r+","+i.g+","+i.b+","+e+")"}},parseColor:function(t,e){if(pi(t)){let e=t;if(Ii(e)){const t=e.substr(4).substr(0,e.length-5).split(",").map((function(t){return parseInt(t)}));e=Di(t[0],t[1],t[2])}if(!0===Oi(e)){const t=Mi(e),i={h:t.h,s:.8*t.s,v:Math.min(1,1.02*t.v)},n={h:t.h,s:Math.min(1,1.25*t.s),v:.8*t.v},o=Ei(n.h,n.s,n.v),s=Ei(i.h,i.s,i.v);return{background:e,border:o,highlight:{background:s,border:o},hover:{background:s,border:o}}}return{background:e,border:e,highlight:{background:e,border:e},hover:{background:e,border:e}}}if(e){return{background:t.background||e.background,border:t.border||e.border,highlight:pi(t.highlight)?{border:t.highlight,background:t.highlight}:{background:t.highlight&&t.highlight.background||e.highlight.background,border:t.highlight&&t.highlight.border||e.highlight.border},hover:pi(t.hover)?{border:t.hover,background:t.hover}:{border:t.hover&&t.hover.border||e.hover.border,background:t.hover&&t.hover.background||e.hover.background}}}return{background:t.background||void 0,border:t.border||void 0,highlight:pi(t.highlight)?{border:t.highlight,background:t.highlight}:{background:t.highlight&&t.highlight.background||void 0,border:t.highlight&&t.highlight.border||void 0},hover:pi(t.hover)?{border:t.hover,background:t.hover}:{border:t.hover&&t.hover.border||void 0,background:t.hover&&t.hover.background||void 0}}},preventDefault:function(t){t||(t=window.event),t&&(t.preventDefault?t.preventDefault():t.returnValue=!1)},pureDeepObjectAssign:ti,recursiveDOMDelete:function t(e){if(e)for(;!0===e.hasChildNodes();){const i=e.firstChild;i&&(t(i),e.removeChild(i))}},removeClassName:function(t,e){let i=t.className.split(" ");const n=e.split(" ");i=i.filter((function(t){return!n.includes(t)})),t.className=i.join(" ")},removeCssText:function(t,e){const i=Si.split(t.style.cssText),n=Si.split(e);for(const t in n)Object.prototype.hasOwnProperty.call(n,t)&&delete i[t];t.style.cssText=Si.join(i)},removeEventListener:function(t,e,i,n){t.removeEventListener?(void 0===n&&(n=!1),"mousewheel"===e&&navigator.userAgent.includes("Firefox")&&(e="DOMMouseScroll"),t.removeEventListener(e,i,n)):t.detachEvent("on"+e,i)},selectiveBridgeObject:function(t,e){if(null!==e&&"object"==typeof e){const i=Object.create(e);for(let n=0;n{e||(e=!0,requestAnimationFrame((()=>{e=!1,t()})))}},toArray:_i,topMost:function(t,e){let i;Array.isArray(e)||(e=[e]);for(const n of t)if(n){i=n[e[0]];for(let t=1;t1&&void 0!==arguments[1]?arguments[1]:0,i=(en[t[e+0]]+en[t[e+1]]+en[t[e+2]]+en[t[e+3]]+"-"+en[t[e+4]]+en[t[e+5]]+"-"+en[t[e+6]]+en[t[e+7]]+"-"+en[t[e+8]]+en[t[e+9]]+"-"+en[t[e+10]]+en[t[e+11]]+en[t[e+12]]+en[t[e+13]]+en[t[e+14]]+en[t[e+15]]).toLowerCase();if(!tn(i))throw TypeError("Stringified UUID is invalid");return i}var sn="6ba7b810-9dad-11d1-80b4-00c04fd430c8",rn="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function an(t,e,i){function n(t,n,o,s){if("string"==typeof t&&(t=function(t){t=unescape(encodeURIComponent(t));for(var e=[],i=0;i>>24,i[1]=e>>>16&255,i[2]=e>>>8&255,i[3]=255&e,i[4]=(e=parseInt(t.slice(9,13),16))>>>8,i[5]=255&e,i[6]=(e=parseInt(t.slice(14,18),16))>>>8,i[7]=255&e,i[8]=(e=parseInt(t.slice(19,23),16))>>>8,i[9]=255&e,i[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,i[11]=e/4294967296&255,i[12]=e>>>24&255,i[13]=e>>>16&255,i[14]=e>>>8&255,i[15]=255&e,i}(n)),16!==n.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var r=new Uint8Array(16+t.length);if(r.set(n),r.set(t,n.length),(r=i(r))[6]=15&r[6]|e,r[8]=63&r[8]|128,o){s=s||0;for(var a=0;a<16;++a)o[s+a]=r[a];return o}return on(r)}try{n.name=t}catch(t){}return n.DNS=sn,n.URL=rn,n}function ln(t){return 14+(t+64>>>9<<4)+1}function hn(t,e){var i=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(i>>16)<<16|65535&i}function dn(t,e,i,n,o,s){return hn((r=hn(hn(e,t),hn(n,s)))<<(a=o)|r>>>32-a,i);var r,a}function cn(t,e,i,n,o,s,r){return dn(e&i|~e&n,t,e,o,s,r)}function un(t,e,i,n,o,s,r){return dn(e&n|i&~n,t,e,o,s,r)}function pn(t,e,i,n,o,s,r){return dn(e^i^n,t,e,o,s,r)}function mn(t,e,i,n,o,s,r){return dn(i^(e|~n),t,e,o,s,r)}function fn(t,e,i){var n=(t=t||{}).random||(t.rng||Qi)();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,e){i=i||0;for(var o=0;o<16;++o)e[i+o]=n[o];return e}return on(n)}function gn(t,e,i,n){switch(t){case 0:return e&i^~e&n;case 1:case 3:return e^i^n;case 2:return e&i^e&n^i&n}}function vn(t,e){return t<>>32-e}an("v3",48,(function(t){if("string"==typeof t){var e=unescape(encodeURIComponent(t));t=new Uint8Array(e.length);for(var i=0;i>5]>>>o%32&255,r=parseInt(n.charAt(s>>>4&15)+n.charAt(15&s),16);e.push(r)}return e}(function(t,e){t[e>>5]|=128<>5]|=(255&t[n/8])<>>0;b=y,y=v,v=vn(g,30)>>>0,g=f,f=x}i[0]=i[0]+f>>>0,i[1]=i[1]+g>>>0,i[2]=i[2]+v>>>0,i[3]=i[3]+y>>>0,i[4]=i[4]+b>>>0}return[i[0]>>24&255,i[0]>>16&255,i[0]>>8&255,255&i[0],i[1]>>24&255,i[1]>>16&255,i[1]>>8&255,255&i[1],i[2]>>24&255,i[2]>>16&255,i[2]>>8&255,255&i[2],i[3]>>24&255,i[3]>>16&255,i[3]>>8&255,255&i[3],i[4]>>24&255,i[4]>>16&255,i[4]>>8&255,255&i[4]]}));class yn{_source;_transformers;_target;_listeners={add:this._add.bind(this),remove:this._remove.bind(this),update:this._update.bind(this)};constructor(t,e,i){this._source=t,this._transformers=e,this._target=i}all(){return this._target.update(this._transformItems(this._source.get())),this}start(){return this._source.on("add",this._listeners.add),this._source.on("remove",this._listeners.remove),this._source.on("update",this._listeners.update),this}stop(){return this._source.off("add",this._listeners.add),this._source.off("remove",this._listeners.remove),this._source.off("update",this._listeners.update),this}_transformItems(t){return this._transformers.reduce(((t,e)=>e(t)),t)}_add(t,e){null!=e&&this._target.add(this._transformItems(this._source.get(e.items)))}_update(t,e){null!=e&&this._target.update(this._transformItems(this._source.get(e.items)))}_remove(t,e){null!=e&&this._target.remove(this._transformItems(e.oldData))}}class bn{_source;_transformers=[];constructor(t){this._source=t}filter(t){return this._transformers.push((e=>e.filter(t))),this}map(t){return this._transformers.push((e=>e.map(t))),this}flatMap(t){return this._transformers.push((e=>e.flatMap(t))),this}to(t){return new yn(this._source,this._transformers,t)}}function wn(t){return"string"==typeof t||"number"==typeof t}class _n{delay;max;_queue=[];_timeout=null;_extended=null;constructor(t){this.delay=null,this.max=1/0,this.setOptions(t)}setOptions(t){t&&void 0!==t.delay&&(this.delay=t.delay),t&&void 0!==t.max&&(this.max=t.max),this._flushIfNeeded()}static extend(t,e){const i=new _n(e);if(void 0!==t.flush)throw new Error("Target object already has a property flush");t.flush=()=>{i.flush()};const n=[{name:"flush",original:void 0}];if(e&&e.replace)for(let o=0;othis.max&&this.flush(),null!=this._timeout&&(clearTimeout(this._timeout),this._timeout=null),this.queue.length>0&&"number"==typeof this.delay&&(this._timeout=setTimeout((()=>{this.flush()}),this.delay))}flush(){this._queue.splice(0).forEach((t=>{t.fn.apply(t.context||t.fn,t.args||[])}))}}class xn{_subscribers={"*":[],add:[],remove:[],update:[]};_trigger(t,e,i){if("*"===t)throw new Error("Cannot trigger event *");[...this._subscribers[t],...this._subscribers["*"]].forEach((n=>{n(t,e,null!=i?i:null)}))}on(t,e){"function"==typeof e&&this._subscribers[t].push(e)}off(t,e){this._subscribers[t]=this._subscribers[t].filter((t=>t!==e))}subscribe=xn.prototype.on;unsubscribe=xn.prototype.off}class kn{_pairs;constructor(t){this._pairs=t}*[Symbol.iterator](){for(const[t,e]of this._pairs)yield[t,e]}*entries(){for(const[t,e]of this._pairs)yield[t,e]}*keys(){for(const[t]of this._pairs)yield t}*values(){for(const[,t]of this._pairs)yield t}toIdArray(){return[...this._pairs].map((t=>t[0]))}toItemArray(){return[...this._pairs].map((t=>t[1]))}toEntryArray(){return[...this._pairs]}toObjectMap(){const t=Object.create(null);for(const[e,i]of this._pairs)t[e]=i;return t}toMap(){return new Map(this._pairs)}toIdSet(){return new Set(this.toIdArray())}toItemSet(){return new Set(this.toItemArray())}cache(){return new kn([...this._pairs])}distinct(t){const e=new Set;for(const[i,n]of this._pairs)e.add(t(n,i));return e}filter(t){const e=this._pairs;return new kn({*[Symbol.iterator](){for(const[i,n]of e)t(n,i)&&(yield[i,n])}})}forEach(t){for(const[e,i]of this._pairs)t(i,e)}map(t){const e=this._pairs;return new kn({*[Symbol.iterator](){for(const[i,n]of e)yield[i,t(n,i)]}})}max(t){const e=this._pairs[Symbol.iterator]();let i=e.next();if(i.done)return null;let n=i.value[1],o=t(i.value[1],i.value[0]);for(;!(i=e.next()).done;){const[e,s]=i.value,r=t(s,e);r>o&&(o=r,n=s)}return n}min(t){const e=this._pairs[Symbol.iterator]();let i=e.next();if(i.done)return null;let n=i.value[1],o=t(i.value[1],i.value[0]);for(;!(i=e.next()).done;){const[e,s]=i.value,r=t(s,e);r[...this._pairs].sort((([e,i],[n,o])=>t(i,o,e,n)))[Symbol.iterator]()})}}class Dn extends xn{flush;length;get idProp(){return this._idProp}_options;_data;_idProp;_queue=null;constructor(t,e){super(),t&&!Array.isArray(t)&&(e=t,t=[]),this._options=e||{},this._data=new Map,this.length=0,this._idProp=this._options.fieldId||"id",t&&t.length&&this.add(t),this.setOptions(e)}setOptions(t){t&&void 0!==t.queue&&(!1===t.queue?this._queue&&(this._queue.destroy(),this._queue=null):(this._queue||(this._queue=_n.extend(this,{replace:["add","update","remove"]})),t.queue&&"object"==typeof t.queue&&this._queue.setOptions(t.queue)))}add(t,e){const i=[];let n;if(Array.isArray(t)){if(t.map((t=>t[this._idProp])).some((t=>this._data.has(t))))throw new Error("A duplicate id was found in the parameter array.");for(let e=0,o=t.length;e{const e=t[r];if(null!=e&&this._data.has(e)){const i=t,r=Object.assign({},this._data.get(e)),a=this._updateItem(i);n.push(a),s.push(i),o.push(r)}else{const e=this._addItem(t);i.push(e)}};if(Array.isArray(t))for(let e=0,i=t.length;e{const e=this._data.get(t[this._idProp]);if(null==e)throw new Error("Updating non-existent items is not allowed.");return{oldData:e,update:t}})).map((({oldData:t,update:e})=>{const i=t[this._idProp],n=ti(t,e);return this._data.set(i,n),{id:i,oldData:t,updatedData:n}}));if(i.length){const t={items:i.map((t=>t.id)),oldData:i.map((t=>t.oldData)),data:i.map((t=>t.updatedData))};return this._trigger("update",t,e),t.items}return[]}get(t,e){let i,n,o;wn(t)?(i=t,o=e):Array.isArray(t)?(n=t,o=e):o=t;const s=o&&"Object"===o.returnType?"Object":"Array",r=o&&o.filter,a=[];let l,h,d;if(null!=i)l=this._data.get(i),l&&r&&!r(l)&&(l=void 0);else if(null!=n)for(let t=0,e=n.length;t(e[i]=t[i],e)),{}):t}_sort(t,e){if("string"==typeof e){const i=e;t.sort(((t,e)=>{const n=t[i],o=e[i];return n>o?1:ni)&&(e=n,i=o)}return e||null}min(t){let e=null,i=null;for(const n of this._data.values()){const o=n[t];"number"==typeof o&&(null==i||os(t)&&r(t)),null==n?this._data.get(o):this._data.get(n,o)}getIds(t){if(this._data.length){const e=this._options.filter,i=null!=t?t.filter:null;let n;return n=i?e?t=>e(t)&&i(t):i:e,this._data.getIds({filter:n,order:t&&t.order})}return[]}forEach(t,e){if(this._data){const i=this._options.filter,n=e&&e.filter;let o;o=n?i?function(t){return i(t)&&n(t)}:n:i,this._data.forEach(t,{filter:o,order:e&&e.order})}}map(t,e){if(this._data){const i=this._options.filter,n=e&&e.filter;let o;return o=n?i?t=>i(t)&&n(t):n:i,this._data.map(t,{filter:o,order:e&&e.order})}return[]}getDataSet(){return this._data.getDataSet()}stream(t){return this._data.stream(t||{[Symbol.iterator]:this._ids.keys.bind(this._ids)})}dispose(){this._data?.off&&this._data.off("*",this._listener);const t="This data view has already been disposed of.",e={get:()=>{throw new Error(t)},set:()=>{throw new Error(t)},configurable:!1};for(const t of Reflect.ownKeys(Cn.prototype))Object.defineProperty(this,t,e)}_onEvent(t,e,i){if(!e||!e.items||!this._data)return;const n=e.items,o=[],s=[],r=[],a=[],l=[],h=[];switch(t){case"add":for(let t=0,e=n.length;t>>0;for(e=0;e0)for(i=0;i=0?i?"+":"":"-")+Math.pow(10,Math.max(0,o)).toString().substr(1)+n}var F=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,R=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,L={},j={};function Y(t,e,i,n){var o=n;"string"==typeof n&&(o=function(){return this[n]()}),t&&(j[t]=o),e&&(j[e[0]]=function(){return N(o.apply(this,arguments),e[1],e[2])}),i&&(j[i]=function(){return this.localeData().ordinal(o.apply(this,arguments),t)})}function H(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function z(t){var e,i,n=t.match(F);for(e=0,i=n.length;e=0&&R.test(t);)t=t.replace(R,n),R.lastIndex=0,i-=1;return t}var G={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function V(t){var e=this._longDateFormat[t],i=this._longDateFormat[t.toUpperCase()];return e||!i?e:(this._longDateFormat[t]=i.match(F).map((function(t){return"MMMM"===t||"MM"===t||"DD"===t||"dddd"===t?t.slice(1):t})).join(""),this._longDateFormat[t])}var U="Invalid date";function $(){return this._invalidDate}var q="%d",X=/\d{1,2}/;function K(t){return this._ordinal.replace("%d",t)}var Z={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function Q(t,e,i,n){var o=this._relativeTime[i];return E(o)?o(t,e,i,n):o.replace(/%d/i,t)}function J(t,e){var i=this._relativeTime[t>0?"future":"past"];return E(i)?i(e):i.replace(/%s/i,e)}var tt={};function et(t,e){var i=t.toLowerCase();tt[i]=tt[i+"s"]=tt[e]=t}function it(t){return"string"==typeof t?tt[t]||tt[t.toLowerCase()]:void 0}function nt(t){var e,i,n={};for(i in t)r(t,i)&&(e=it(i))&&(n[e]=t[i]);return n}var ot={};function st(t,e){ot[t]=e}function rt(t){var e,i=[];for(e in t)r(t,e)&&i.push({unit:e,priority:ot[e]});return i.sort((function(t,e){return t.priority-e.priority})),i}function at(t){return t%4==0&&t%100!=0||t%400==0}function lt(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function ht(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=lt(e)),i}function dt(t,e){return function(n){return null!=n?(ut(this,t,n),i.updateOffset(this,e),this):ct(this,t)}}function ct(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function ut(t,e,i){t.isValid()&&!isNaN(i)&&("FullYear"===e&&at(t.year())&&1===t.month()&&29===t.date()?(i=ht(i),t._d["set"+(t._isUTC?"UTC":"")+e](i,t.month(),Qt(i,t.month()))):t._d["set"+(t._isUTC?"UTC":"")+e](i))}function pt(t){return E(this[t=it(t)])?this[t]():this}function mt(t,e){if("object"==typeof t){var i,n=rt(t=nt(t)),o=n.length;for(i=0;i68?1900:2e3)};var fe=dt("FullYear",!0);function ge(){return at(this.year())}function ve(t,e,i,n,o,s,r){var a;return t<100&&t>=0?(a=new Date(t+400,e,i,n,o,s,r),isFinite(a.getFullYear())&&a.setFullYear(t)):a=new Date(t,e,i,n,o,s,r),a}function ye(t){var e,i;return t<100&&t>=0?((i=Array.prototype.slice.call(arguments))[0]=t+400,e=new Date(Date.UTC.apply(null,i)),isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t)):e=new Date(Date.UTC.apply(null,arguments)),e}function be(t,e,i){var n=7+e-i;return-(7+ye(t,0,n).getUTCDay()-e)%7+n-1}function we(t,e,i,n,o){var s,r,a=1+7*(e-1)+(7+i-n)%7+be(t,n,o);return a<=0?r=me(s=t-1)+a:a>me(t)?(s=t+1,r=a-me(t)):(s=t,r=a),{year:s,dayOfYear:r}}function _e(t,e,i){var n,o,s=be(t.year(),e,i),r=Math.floor((t.dayOfYear()-s-1)/7)+1;return r<1?n=r+xe(o=t.year()-1,e,i):r>xe(t.year(),e,i)?(n=r-xe(t.year(),e,i),o=t.year()+1):(o=t.year(),n=r),{week:n,year:o}}function xe(t,e,i){var n=be(t,e,i),o=be(t+1,e,i);return(me(t)-n+o)/7}function ke(t){return _e(t,this._week.dow,this._week.doy).week}Y("w",["ww",2],"wo","week"),Y("W",["WW",2],"Wo","isoWeek"),et("week","w"),et("isoWeek","W"),st("week",5),st("isoWeek",5),Pt("w",_t),Pt("ww",_t,vt),Pt("W",_t),Pt("WW",_t,vt),Yt(["w","ww","W","WW"],(function(t,e,i,n){e[n.substr(0,1)]=ht(t)}));var De={dow:0,doy:6};function Ce(){return this._week.dow}function Se(){return this._week.doy}function Te(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function Ee(t){var e=_e(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function Me(t,e){return"string"!=typeof t?t:isNaN(t)?"number"==typeof(t=e.weekdaysParse(t))?t:null:parseInt(t,10)}function Oe(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function Ie(t,e){return t.slice(e,7).concat(t.slice(0,e))}Y("d",0,"do","day"),Y("dd",0,0,(function(t){return this.localeData().weekdaysMin(this,t)})),Y("ddd",0,0,(function(t){return this.localeData().weekdaysShort(this,t)})),Y("dddd",0,0,(function(t){return this.localeData().weekdays(this,t)})),Y("e",0,0,"weekday"),Y("E",0,0,"isoWeekday"),et("day","d"),et("weekday","e"),et("isoWeekday","E"),st("day",11),st("weekday",11),st("isoWeekday",11),Pt("d",_t),Pt("e",_t),Pt("E",_t),Pt("dd",(function(t,e){return e.weekdaysMinRegex(t)})),Pt("ddd",(function(t,e){return e.weekdaysShortRegex(t)})),Pt("dddd",(function(t,e){return e.weekdaysRegex(t)})),Yt(["dd","ddd","dddd"],(function(t,e,i,n){var o=i._locale.weekdaysParse(t,n,i._strict);null!=o?e.d=o:f(i).invalidWeekday=t})),Yt(["d","e","E"],(function(t,e,i,n){e[n]=ht(t)}));var Ae="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Pe="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Ne="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Fe=At,Re=At,Le=At;function je(t,e){var i=o(this._weekdays)?this._weekdays:this._weekdays[t&&!0!==t&&this._weekdays.isFormat.test(e)?"format":"standalone"];return!0===t?Ie(i,this._week.dow):t?i[t.day()]:i}function Ye(t){return!0===t?Ie(this._weekdaysShort,this._week.dow):t?this._weekdaysShort[t.day()]:this._weekdaysShort}function He(t){return!0===t?Ie(this._weekdaysMin,this._week.dow):t?this._weekdaysMin[t.day()]:this._weekdaysMin}function ze(t,e,i){var n,o,s,r=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],n=0;n<7;++n)s=p([2e3,1]).day(n),this._minWeekdaysParse[n]=this.weekdaysMin(s,"").toLocaleLowerCase(),this._shortWeekdaysParse[n]=this.weekdaysShort(s,"").toLocaleLowerCase(),this._weekdaysParse[n]=this.weekdays(s,"").toLocaleLowerCase();return i?"dddd"===e?-1!==(o=zt.call(this._weekdaysParse,r))?o:null:"ddd"===e?-1!==(o=zt.call(this._shortWeekdaysParse,r))?o:null:-1!==(o=zt.call(this._minWeekdaysParse,r))?o:null:"dddd"===e?-1!==(o=zt.call(this._weekdaysParse,r))||-1!==(o=zt.call(this._shortWeekdaysParse,r))||-1!==(o=zt.call(this._minWeekdaysParse,r))?o:null:"ddd"===e?-1!==(o=zt.call(this._shortWeekdaysParse,r))||-1!==(o=zt.call(this._weekdaysParse,r))||-1!==(o=zt.call(this._minWeekdaysParse,r))?o:null:-1!==(o=zt.call(this._minWeekdaysParse,r))||-1!==(o=zt.call(this._weekdaysParse,r))||-1!==(o=zt.call(this._shortWeekdaysParse,r))?o:null}function Be(t,e,i){var n,o,s;if(this._weekdaysParseExact)return ze.call(this,t,e,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),n=0;n<7;n++){if(o=p([2e3,1]).day(n),i&&!this._fullWeekdaysParse[n]&&(this._fullWeekdaysParse[n]=new RegExp("^"+this.weekdays(o,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[n]=new RegExp("^"+this.weekdaysShort(o,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[n]=new RegExp("^"+this.weekdaysMin(o,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[n]||(s="^"+this.weekdays(o,"")+"|^"+this.weekdaysShort(o,"")+"|^"+this.weekdaysMin(o,""),this._weekdaysParse[n]=new RegExp(s.replace(".",""),"i")),i&&"dddd"===e&&this._fullWeekdaysParse[n].test(t))return n;if(i&&"ddd"===e&&this._shortWeekdaysParse[n].test(t))return n;if(i&&"dd"===e&&this._minWeekdaysParse[n].test(t))return n;if(!i&&this._weekdaysParse[n].test(t))return n}}function We(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Me(t,this.localeData()),this.add(t-e,"d")):e}function Ge(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function Ve(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=Oe(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7}function Ue(t){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||Xe.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(r(this,"_weekdaysRegex")||(this._weekdaysRegex=Fe),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function $e(t){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||Xe.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(r(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Re),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function qe(t){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||Xe.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(r(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Le),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Xe(){function t(t,e){return e.length-t.length}var e,i,n,o,s,r=[],a=[],l=[],h=[];for(e=0;e<7;e++)i=p([2e3,1]).day(e),n=Rt(this.weekdaysMin(i,"")),o=Rt(this.weekdaysShort(i,"")),s=Rt(this.weekdays(i,"")),r.push(n),a.push(o),l.push(s),h.push(n),h.push(o),h.push(s);r.sort(t),a.sort(t),l.sort(t),h.sort(t),this._weekdaysRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Ke(){return this.hours()%12||12}function Ze(){return this.hours()||24}function Qe(t,e){Y(t,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)}))}function Je(t,e){return e._meridiemParse}function ti(t){return"p"===(t+"").toLowerCase().charAt(0)}Y("H",["HH",2],0,"hour"),Y("h",["hh",2],0,Ke),Y("k",["kk",2],0,Ze),Y("hmm",0,0,(function(){return""+Ke.apply(this)+N(this.minutes(),2)})),Y("hmmss",0,0,(function(){return""+Ke.apply(this)+N(this.minutes(),2)+N(this.seconds(),2)})),Y("Hmm",0,0,(function(){return""+this.hours()+N(this.minutes(),2)})),Y("Hmmss",0,0,(function(){return""+this.hours()+N(this.minutes(),2)+N(this.seconds(),2)})),Qe("a",!0),Qe("A",!1),et("hour","h"),st("hour",13),Pt("a",Je),Pt("A",Je),Pt("H",_t),Pt("h",_t),Pt("k",_t),Pt("HH",_t,vt),Pt("hh",_t,vt),Pt("kk",_t,vt),Pt("hmm",xt),Pt("hmmss",kt),Pt("Hmm",xt),Pt("Hmmss",kt),jt(["H","HH"],Vt),jt(["k","kk"],(function(t,e,i){var n=ht(t);e[Vt]=24===n?0:n})),jt(["a","A"],(function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t})),jt(["h","hh"],(function(t,e,i){e[Vt]=ht(t),f(i).bigHour=!0})),jt("hmm",(function(t,e,i){var n=t.length-2;e[Vt]=ht(t.substr(0,n)),e[Ut]=ht(t.substr(n)),f(i).bigHour=!0})),jt("hmmss",(function(t,e,i){var n=t.length-4,o=t.length-2;e[Vt]=ht(t.substr(0,n)),e[Ut]=ht(t.substr(n,2)),e[$t]=ht(t.substr(o)),f(i).bigHour=!0})),jt("Hmm",(function(t,e,i){var n=t.length-2;e[Vt]=ht(t.substr(0,n)),e[Ut]=ht(t.substr(n))})),jt("Hmmss",(function(t,e,i){var n=t.length-4,o=t.length-2;e[Vt]=ht(t.substr(0,n)),e[Ut]=ht(t.substr(n,2)),e[$t]=ht(t.substr(o))}));var ei=/[ap]\.?m?\.?/i,ii=dt("Hours",!0);function ni(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}var oi,si={calendar:A,longDateFormat:G,invalidDate:U,ordinal:q,dayOfMonthOrdinalParse:X,relativeTime:Z,months:Jt,monthsShort:te,week:De,weekdays:Ae,weekdaysMin:Ne,weekdaysShort:Pe,meridiemParse:ei},ri={},ai={};function li(t,e){var i,n=Math.min(t.length,e.length);for(i=0;i0;){if(n=ui(o.slice(0,e).join("-")))return n;if(i&&i.length>=e&&li(o,i)>=e-1)break;e--}s++}return oi}function ci(t){return null!=t.match("^[^/\\\\]*$")}function ui(t){var e=null;if(void 0===ri[t]&&Tn&&Tn.exports&&ci(t))try{e=oi._abbr,Sn("./locale/"+t),pi(e)}catch(e){ri[t]=null}return ri[t]}function pi(t,e){var i;return t&&((i=l(e)?gi(t):mi(t,e))?oi=i:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),oi._abbr}function mi(t,e){if(null!==e){var i,n=si;if(e.abbr=t,null!=ri[t])T("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),n=ri[t]._config;else if(null!=e.parentLocale)if(null!=ri[e.parentLocale])n=ri[e.parentLocale]._config;else{if(null==(i=ui(e.parentLocale)))return ai[e.parentLocale]||(ai[e.parentLocale]=[]),ai[e.parentLocale].push({name:t,config:e}),null;n=i._config}return ri[t]=new I(O(n,e)),ai[t]&&ai[t].forEach((function(t){mi(t.name,t.config)})),pi(t),ri[t]}return delete ri[t],null}function fi(t,e){if(null!=e){var i,n,o=si;null!=ri[t]&&null!=ri[t].parentLocale?ri[t].set(O(ri[t]._config,e)):(null!=(n=ui(t))&&(o=n._config),e=O(o,e),null==n&&(e.abbr=t),(i=new I(e)).parentLocale=ri[t],ri[t]=i),pi(t)}else null!=ri[t]&&(null!=ri[t].parentLocale?(ri[t]=ri[t].parentLocale,t===pi()&&pi(t)):null!=ri[t]&&delete ri[t]);return ri[t]}function gi(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return oi;if(!o(t)){if(e=ui(t))return e;t=[t]}return di(t)}function vi(){return C(ri)}function yi(t){var e,i=t._a;return i&&-2===f(t).overflow&&(e=i[Wt]<0||i[Wt]>11?Wt:i[Gt]<1||i[Gt]>Qt(i[Bt],i[Wt])?Gt:i[Vt]<0||i[Vt]>24||24===i[Vt]&&(0!==i[Ut]||0!==i[$t]||0!==i[qt])?Vt:i[Ut]<0||i[Ut]>59?Ut:i[$t]<0||i[$t]>59?$t:i[qt]<0||i[qt]>999?qt:-1,f(t)._overflowDayOfYear&&(eGt)&&(e=Gt),f(t)._overflowWeeks&&-1===e&&(e=Xt),f(t)._overflowWeekday&&-1===e&&(e=Kt),f(t).overflow=e),t}var bi=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,wi=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,_i=/Z|[+-]\d\d(?::?\d\d)?/,xi=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],ki=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Di=/^\/?Date\((-?\d+)/i,Ci=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,Si={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Ti(t){var e,i,n,o,s,r,a=t._i,l=bi.exec(a)||wi.exec(a),h=xi.length,d=ki.length;if(l){for(f(t).iso=!0,e=0,i=h;eme(s)||0===t._dayOfYear)&&(f(t)._overflowDayOfYear=!0),i=ye(s,0,t._dayOfYear),t._a[Wt]=i.getUTCMonth(),t._a[Gt]=i.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=r[e]=n[e];for(;e<7;e++)t._a[e]=r[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[Vt]&&0===t._a[Ut]&&0===t._a[$t]&&0===t._a[qt]&&(t._nextDay=!0,t._a[Vt]=0),t._d=(t._useUTC?ye:ve).apply(null,r),o=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[Vt]=24),t._w&&void 0!==t._w.d&&t._w.d!==o&&(f(t).weekdayMismatch=!0)}}function ji(t){var e,i,n,o,s,r,a,l,h;null!=(e=t._w).GG||null!=e.W||null!=e.E?(s=1,r=4,i=Fi(e.GG,t._a[Bt],_e($i(),1,4).year),n=Fi(e.W,1),((o=Fi(e.E,1))<1||o>7)&&(l=!0)):(s=t._locale._week.dow,r=t._locale._week.doy,h=_e($i(),s,r),i=Fi(e.gg,t._a[Bt],h.year),n=Fi(e.w,h.week),null!=e.d?((o=e.d)<0||o>6)&&(l=!0):null!=e.e?(o=e.e+s,(e.e<0||e.e>6)&&(l=!0)):o=s),n<1||n>xe(i,s,r)?f(t)._overflowWeeks=!0:null!=l?f(t)._overflowWeekday=!0:(a=we(i,n,o,s,r),t._a[Bt]=a.year,t._dayOfYear=a.dayOfYear)}function Yi(t){if(t._f!==i.ISO_8601)if(t._f!==i.RFC_2822){t._a=[],f(t).empty=!0;var e,n,o,s,r,a,l,h=""+t._i,d=h.length,c=0;for(l=(o=W(t._f,t._locale).match(F)||[]).length,e=0;e0&&f(t).unusedInput.push(r),h=h.slice(h.indexOf(n)+n.length),c+=n.length),j[s]?(n?f(t).empty=!1:f(t).unusedTokens.push(s),Ht(s,n,t)):t._strict&&!n&&f(t).unusedTokens.push(s);f(t).charsLeftOver=d-c,h.length>0&&f(t).unusedInput.push(h),t._a[Vt]<=12&&!0===f(t).bigHour&&t._a[Vt]>0&&(f(t).bigHour=void 0),f(t).parsedDateParts=t._a.slice(0),f(t).meridiem=t._meridiem,t._a[Vt]=Hi(t._locale,t._a[Vt],t._meridiem),null!==(a=f(t).era)&&(t._a[Bt]=t._locale.erasConvertYear(a,t._a[Bt])),Li(t),yi(t)}else Pi(t);else Ti(t)}function Hi(t,e,i){var n;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?((n=t.isPM(i))&&e<12&&(e+=12),n||12!==e||(e=0),e):e}function zi(t){var e,i,n,o,s,r,a=!1,l=t._f.length;if(0===l)return f(t).invalidFormat=!0,void(t._d=new Date(NaN));for(o=0;othis?this:t:v()}));function Ki(t,e){var i,n;if(1===e.length&&o(e[0])&&(e=e[0]),!e.length)return $i();for(i=e[0],n=1;nthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function _n(){if(!l(this._isDSTShifted))return this._isDSTShifted;var t,e={};return w(e,this),(e=Gi(e))._a?(t=e._isUTC?p(e._a):$i(e._a),this._isDSTShifted=this.isValid()&&ln(e._a,t.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function xn(){return!!this.isValid()&&!this._isUTC}function kn(){return!!this.isValid()&&this._isUTC}function Dn(){return!!this.isValid()&&this._isUTC&&0===this._offset}i.updateOffset=function(){};var Cn=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,En=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Mn(t,e){var i,n,o,s=t,a=null;return rn(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:h(t)||!isNaN(+t)?(s={},e?s[e]=+t:s.milliseconds=+t):(a=Cn.exec(t))?(i="-"===a[1]?-1:1,s={y:0,d:ht(a[Gt])*i,h:ht(a[Vt])*i,m:ht(a[Ut])*i,s:ht(a[$t])*i,ms:ht(an(1e3*a[qt]))*i}):(a=En.exec(t))?(i="-"===a[1]?-1:1,s={y:On(a[2],i),M:On(a[3],i),w:On(a[4],i),d:On(a[5],i),h:On(a[6],i),m:On(a[7],i),s:On(a[8],i)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(o=An($i(s.from),$i(s.to)),(s={}).ms=o.milliseconds,s.M=o.months),n=new sn(s),rn(t)&&r(t,"_locale")&&(n._locale=t._locale),rn(t)&&r(t,"_isValid")&&(n._isValid=t._isValid),n}function On(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function In(t,e){var i={};return i.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(i.months,"M").isAfter(e)&&--i.months,i.milliseconds=+e-+t.clone().add(i.months,"M"),i}function An(t,e){var i;return t.isValid()&&e.isValid()?(e=un(e,t),t.isBefore(e)?i=In(t,e):((i=In(e,t)).milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function Pn(t,e){return function(i,n){var o;return null===n||isNaN(+n)||(T(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),o=i,i=n,n=o),Nn(this,Mn(i,n),t),this}}function Nn(t,e,n,o){var s=e._milliseconds,r=an(e._days),a=an(e._months);t.isValid()&&(o=null==o||o,a&&le(t,ct(t,"Month")+a*n),r&&ut(t,"Date",ct(t,"Date")+r*n),s&&t._d.setTime(t._d.valueOf()+s*n),o&&i.updateOffset(t,r||a))}Mn.fn=sn.prototype,Mn.invalid=on;var Fn=Pn(1,"add"),Rn=Pn(-1,"subtract");function Ln(t){return"string"==typeof t||t instanceof String}function jn(t){return x(t)||d(t)||Ln(t)||h(t)||Hn(t)||Yn(t)||null==t}function Yn(t){var e,i,n=s(t)&&!a(t),o=!1,l=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],h=l.length;for(e=0;ei.valueOf():i.valueOf()9999?B(i,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):E(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",B(i,"Z")):B(i,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function eo(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t,e,i,n,o="moment",s="";return this.isLocal()||(o=0===this.utcOffset()?"moment.utc":"moment.parseZone",s="Z"),t="["+o+'("]',e=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",i="-MM-DD[T]HH:mm:ss.SSS",n=s+'[")]',this.format(t+e+i+n)}function io(t){t||(t=this.isUtc()?i.defaultFormatUtc:i.defaultFormat);var e=B(this,t);return this.localeData().postformat(e)}function no(t,e){return this.isValid()&&(x(t)&&t.isValid()||$i(t).isValid())?Mn({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function oo(t){return this.from($i(),t)}function so(t,e){return this.isValid()&&(x(t)&&t.isValid()||$i(t).isValid())?Mn({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function ro(t){return this.to($i(),t)}function ao(t){var e;return void 0===t?this._locale._abbr:(null!=(e=gi(t))&&(this._locale=e),this)}i.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",i.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var lo=D("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",(function(t){return void 0===t?this.localeData():this.locale(t)}));function ho(){return this._locale}var co=1e3,uo=60*co,po=60*uo,mo=3506328*po;function fo(t,e){return(t%e+e)%e}function go(t,e,i){return t<100&&t>=0?new Date(t+400,e,i)-mo:new Date(t,e,i).valueOf()}function vo(t,e,i){return t<100&&t>=0?Date.UTC(t+400,e,i)-mo:Date.UTC(t,e,i)}function yo(t){var e,n;if(void 0===(t=it(t))||"millisecond"===t||!this.isValid())return this;switch(n=this._isUTC?vo:go,t){case"year":e=n(this.year(),0,1);break;case"quarter":e=n(this.year(),this.month()-this.month()%3,1);break;case"month":e=n(this.year(),this.month(),1);break;case"week":e=n(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":e=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":e=n(this.year(),this.month(),this.date());break;case"hour":e=this._d.valueOf(),e-=fo(e+(this._isUTC?0:this.utcOffset()*uo),po);break;case"minute":e=this._d.valueOf(),e-=fo(e,uo);break;case"second":e=this._d.valueOf(),e-=fo(e,co)}return this._d.setTime(e),i.updateOffset(this,!0),this}function bo(t){var e,n;if(void 0===(t=it(t))||"millisecond"===t||!this.isValid())return this;switch(n=this._isUTC?vo:go,t){case"year":e=n(this.year()+1,0,1)-1;break;case"quarter":e=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":e=n(this.year(),this.month()+1,1)-1;break;case"week":e=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":e=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":e=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":e=this._d.valueOf(),e+=po-fo(e+(this._isUTC?0:this.utcOffset()*uo),po)-1;break;case"minute":e=this._d.valueOf(),e+=uo-fo(e,uo)-1;break;case"second":e=this._d.valueOf(),e+=co-fo(e,co)-1}return this._d.setTime(e),i.updateOffset(this,!0),this}function wo(){return this._d.valueOf()-6e4*(this._offset||0)}function _o(){return Math.floor(this.valueOf()/1e3)}function xo(){return new Date(this.valueOf())}function ko(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]}function Do(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}}function Co(){return this.isValid()?this.toISOString():null}function So(){return g(this)}function To(){return u({},f(this))}function Eo(){return f(this).overflow}function Mo(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Oo(t,e){var n,o,s,r=this._eras||gi("en")._eras;for(n=0,o=r.length;n=0)return l[n]}function Ao(t,e){var n=t.since<=t.until?1:-1;return void 0===e?i(t.since).year():i(t.since).year()+(e-t.offset)*n}function Po(){var t,e,i,n=this.localeData().eras();for(t=0,e=n.length;t(s=xe(t,n,o))&&(e=s),Jo.call(this,t,e,i,n,o))}function Jo(t,e,i,n,o){var s=we(t,e,i,n,o),r=ye(s.year,0,s.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function ts(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}Y("N",0,0,"eraAbbr"),Y("NN",0,0,"eraAbbr"),Y("NNN",0,0,"eraAbbr"),Y("NNNN",0,0,"eraName"),Y("NNNNN",0,0,"eraNarrow"),Y("y",["y",1],"yo","eraYear"),Y("y",["yy",2],0,"eraYear"),Y("y",["yyy",3],0,"eraYear"),Y("y",["yyyy",4],0,"eraYear"),Pt("N",Ho),Pt("NN",Ho),Pt("NNN",Ho),Pt("NNNN",zo),Pt("NNNNN",Bo),jt(["N","NN","NNN","NNNN","NNNNN"],(function(t,e,i,n){var o=i._locale.erasParse(t,n,i._strict);o?f(i).era=o:f(i).invalidEra=t})),Pt("y",Tt),Pt("yy",Tt),Pt("yyy",Tt),Pt("yyyy",Tt),Pt("yo",Wo),jt(["y","yy","yyy","yyyy"],Bt),jt(["yo"],(function(t,e,i,n){var o;i._locale._eraYearOrdinalRegex&&(o=t.match(i._locale._eraYearOrdinalRegex)),i._locale.eraYearOrdinalParse?e[Bt]=i._locale.eraYearOrdinalParse(t,o):e[Bt]=parseInt(t,10)})),Y(0,["gg",2],0,(function(){return this.weekYear()%100})),Y(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),Vo("gggg","weekYear"),Vo("ggggg","weekYear"),Vo("GGGG","isoWeekYear"),Vo("GGGGG","isoWeekYear"),et("weekYear","gg"),et("isoWeekYear","GG"),st("weekYear",1),st("isoWeekYear",1),Pt("G",Et),Pt("g",Et),Pt("GG",_t,vt),Pt("gg",_t,vt),Pt("GGGG",Ct,bt),Pt("gggg",Ct,bt),Pt("GGGGG",St,wt),Pt("ggggg",St,wt),Yt(["gggg","ggggg","GGGG","GGGGG"],(function(t,e,i,n){e[n.substr(0,2)]=ht(t)})),Yt(["gg","GG"],(function(t,e,n,o){e[o]=i.parseTwoDigitYear(t)})),Y("Q",0,"Qo","quarter"),et("quarter","Q"),st("quarter",7),Pt("Q",gt),jt("Q",(function(t,e){e[Wt]=3*(ht(t)-1)})),Y("D",["DD",2],"Do","date"),et("date","D"),st("date",9),Pt("D",_t),Pt("DD",_t,vt),Pt("Do",(function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient})),jt(["D","DD"],Gt),jt("Do",(function(t,e){e[Gt]=ht(t.match(_t)[0])}));var es=dt("Date",!0);function is(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}Y("DDD",["DDDD",3],"DDDo","dayOfYear"),et("dayOfYear","DDD"),st("dayOfYear",4),Pt("DDD",Dt),Pt("DDDD",yt),jt(["DDD","DDDD"],(function(t,e,i){i._dayOfYear=ht(t)})),Y("m",["mm",2],0,"minute"),et("minute","m"),st("minute",14),Pt("m",_t),Pt("mm",_t,vt),jt(["m","mm"],Ut);var ns=dt("Minutes",!1);Y("s",["ss",2],0,"second"),et("second","s"),st("second",15),Pt("s",_t),Pt("ss",_t,vt),jt(["s","ss"],$t);var os,ss,rs=dt("Seconds",!1);for(Y("S",0,0,(function(){return~~(this.millisecond()/100)})),Y(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),Y(0,["SSS",3],0,"millisecond"),Y(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),Y(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),Y(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),Y(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),Y(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),Y(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),et("millisecond","ms"),st("millisecond",16),Pt("S",Dt,gt),Pt("SS",Dt,vt),Pt("SSS",Dt,yt),os="SSSS";os.length<=9;os+="S")Pt(os,Tt);function as(t,e){e[qt]=ht(1e3*("0."+t))}for(os="S";os.length<=9;os+="S")jt(os,as);function ls(){return this._isUTC?"UTC":""}function hs(){return this._isUTC?"Coordinated Universal Time":""}ss=dt("Milliseconds",!1),Y("z",0,0,"zoneAbbr"),Y("zz",0,0,"zoneName");var ds=_.prototype;function cs(t){return $i(1e3*t)}function us(){return $i.apply(null,arguments).parseZone()}function ps(t){return t}ds.add=Fn,ds.calendar=Wn,ds.clone=Gn,ds.diff=Zn,ds.endOf=bo,ds.format=io,ds.from=no,ds.fromNow=oo,ds.to=so,ds.toNow=ro,ds.get=pt,ds.invalidAt=Eo,ds.isAfter=Vn,ds.isBefore=Un,ds.isBetween=$n,ds.isSame=qn,ds.isSameOrAfter=Xn,ds.isSameOrBefore=Kn,ds.isValid=So,ds.lang=lo,ds.locale=ao,ds.localeData=ho,ds.max=Xi,ds.min=qi,ds.parsingFlags=To,ds.set=mt,ds.startOf=yo,ds.subtract=Rn,ds.toArray=ko,ds.toObject=Do,ds.toDate=xo,ds.toISOString=to,ds.inspect=eo,"undefined"!=typeof Symbol&&null!=Symbol.for&&(ds[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),ds.toJSON=Co,ds.toString=Jn,ds.unix=_o,ds.valueOf=wo,ds.creationData=Mo,ds.eraName=Po,ds.eraNarrow=No,ds.eraAbbr=Fo,ds.eraYear=Ro,ds.year=fe,ds.isLeapYear=ge,ds.weekYear=Uo,ds.isoWeekYear=$o,ds.quarter=ds.quarters=ts,ds.month=he,ds.daysInMonth=de,ds.week=ds.weeks=Te,ds.isoWeek=ds.isoWeeks=Ee,ds.weeksInYear=Ko,ds.weeksInWeekYear=Zo,ds.isoWeeksInYear=qo,ds.isoWeeksInISOWeekYear=Xo,ds.date=es,ds.day=ds.days=We,ds.weekday=Ge,ds.isoWeekday=Ve,ds.dayOfYear=is,ds.hour=ds.hours=ii,ds.minute=ds.minutes=ns,ds.second=ds.seconds=rs,ds.millisecond=ds.milliseconds=ss,ds.utcOffset=mn,ds.utc=gn,ds.local=vn,ds.parseZone=yn,ds.hasAlignedHourOffset=bn,ds.isDST=wn,ds.isLocal=xn,ds.isUtcOffset=kn,ds.isUtc=Dn,ds.isUTC=Dn,ds.zoneAbbr=ls,ds.zoneName=hs,ds.dates=D("dates accessor is deprecated. Use date instead.",es),ds.months=D("months accessor is deprecated. Use month instead",he),ds.years=D("years accessor is deprecated. Use year instead",fe),ds.zone=D("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",fn),ds.isDSTShifted=D("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",_n);var ms=I.prototype;function fs(t,e,i,n){var o=gi(),s=p().set(n,e);return o[i](s,t)}function gs(t,e,i){if(h(t)&&(e=t,t=void 0),t=t||"",null!=e)return fs(t,e,i,"month");var n,o=[];for(n=0;n<12;n++)o[n]=fs(t,n,i,"month");return o}function vs(t,e,i,n){"boolean"==typeof t?(h(e)&&(i=e,e=void 0),e=e||""):(i=e=t,t=!1,h(e)&&(i=e,e=void 0),e=e||"");var o,s=gi(),r=t?s._week.dow:0,a=[];if(null!=i)return fs(e,(i+r)%7,n,"day");for(o=0;o<7;o++)a[o]=fs(e,(o+r)%7,n,"day");return a}function ys(t,e){return gs(t,e,"months")}function bs(t,e){return gs(t,e,"monthsShort")}function ws(t,e,i){return vs(t,e,i,"weekdays")}function _s(t,e,i){return vs(t,e,i,"weekdaysShort")}function xs(t,e,i){return vs(t,e,i,"weekdaysMin")}ms.calendar=P,ms.longDateFormat=V,ms.invalidDate=$,ms.ordinal=K,ms.preparse=ps,ms.postformat=ps,ms.relativeTime=Q,ms.pastFuture=J,ms.set=M,ms.eras=Oo,ms.erasParse=Io,ms.erasConvertYear=Ao,ms.erasAbbrRegex=jo,ms.erasNameRegex=Lo,ms.erasNarrowRegex=Yo,ms.months=oe,ms.monthsShort=se,ms.monthsParse=ae,ms.monthsRegex=ue,ms.monthsShortRegex=ce,ms.week=ke,ms.firstDayOfYear=Se,ms.firstDayOfWeek=Ce,ms.weekdays=je,ms.weekdaysMin=He,ms.weekdaysShort=Ye,ms.weekdaysParse=Be,ms.weekdaysRegex=Ue,ms.weekdaysShortRegex=$e,ms.weekdaysMinRegex=qe,ms.isPM=ti,ms.meridiem=ni,pi("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1===ht(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),i.lang=D("moment.lang is deprecated. Use moment.locale instead.",pi),i.langData=D("moment.langData is deprecated. Use moment.localeData instead.",gi);var ks=Math.abs;function Ds(){var t=this._data;return this._milliseconds=ks(this._milliseconds),this._days=ks(this._days),this._months=ks(this._months),t.milliseconds=ks(t.milliseconds),t.seconds=ks(t.seconds),t.minutes=ks(t.minutes),t.hours=ks(t.hours),t.months=ks(t.months),t.years=ks(t.years),this}function Cs(t,e,i,n){var o=Mn(e,i);return t._milliseconds+=n*o._milliseconds,t._days+=n*o._days,t._months+=n*o._months,t._bubble()}function Ss(t,e){return Cs(this,t,e,1)}function Ts(t,e){return Cs(this,t,e,-1)}function Es(t){return t<0?Math.floor(t):Math.ceil(t)}function Ms(){var t,e,i,n,o,s=this._milliseconds,r=this._days,a=this._months,l=this._data;return s>=0&&r>=0&&a>=0||s<=0&&r<=0&&a<=0||(s+=864e5*Es(Is(a)+r),r=0,a=0),l.milliseconds=s%1e3,t=lt(s/1e3),l.seconds=t%60,e=lt(t/60),l.minutes=e%60,i=lt(e/60),l.hours=i%24,r+=lt(i/24),a+=o=lt(Os(r)),r-=Es(Is(o)),n=lt(a/12),a%=12,l.days=r,l.months=a,l.years=n,this}function Os(t){return 4800*t/146097}function Is(t){return 146097*t/4800}function As(t){if(!this.isValid())return NaN;var e,i,n=this._milliseconds;if("month"===(t=it(t))||"quarter"===t||"year"===t)switch(e=this._days+n/864e5,i=this._months+Os(e),t){case"month":return i;case"quarter":return i/3;case"year":return i/12}else switch(e=this._days+Math.round(Is(this._months)),t){case"week":return e/7+n/6048e5;case"day":return e+n/864e5;case"hour":return 24*e+n/36e5;case"minute":return 1440*e+n/6e4;case"second":return 86400*e+n/1e3;case"millisecond":return Math.floor(864e5*e)+n;default:throw new Error("Unknown unit "+t)}}function Ps(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*ht(this._months/12):NaN}function Ns(t){return function(){return this.as(t)}}var Fs=Ns("ms"),Rs=Ns("s"),Ls=Ns("m"),js=Ns("h"),Ys=Ns("d"),Hs=Ns("w"),zs=Ns("M"),Bs=Ns("Q"),Ws=Ns("y");function Gs(){return Mn(this)}function Vs(t){return t=it(t),this.isValid()?this[t+"s"]():NaN}function Us(t){return function(){return this.isValid()?this._data[t]:NaN}}var $s=Us("milliseconds"),qs=Us("seconds"),Xs=Us("minutes"),Ks=Us("hours"),Zs=Us("days"),Qs=Us("months"),Js=Us("years");function tr(){return lt(this.days()/7)}var er=Math.round,ir={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function nr(t,e,i,n,o){return o.relativeTime(e||1,!!i,t,n)}function or(t,e,i,n){var o=Mn(t).abs(),s=er(o.as("s")),r=er(o.as("m")),a=er(o.as("h")),l=er(o.as("d")),h=er(o.as("M")),d=er(o.as("w")),c=er(o.as("y")),u=s<=i.ss&&["s",s]||s0,u[4]=n,nr.apply(null,u)}function sr(t){return void 0===t?er:"function"==typeof t&&(er=t,!0)}function rr(t,e){return void 0!==ir[t]&&(void 0===e?ir[t]:(ir[t]=e,"s"===t&&(ir.ss=e-1),!0))}function ar(t,e){if(!this.isValid())return this.localeData().invalidDate();var i,n,o=!1,s=ir;return"object"==typeof t&&(e=t,t=!1),"boolean"==typeof t&&(o=t),"object"==typeof e&&(s=Object.assign({},ir,e),null!=e.s&&null==e.ss&&(s.ss=e.s-1)),n=or(this,!o,s,i=this.localeData()),o&&(n=i.pastFuture(+this,n)),i.postformat(n)}var lr=Math.abs;function hr(t){return(t>0)-(t<0)||+t}function dr(){if(!this.isValid())return this.localeData().invalidDate();var t,e,i,n,o,s,r,a,l=lr(this._milliseconds)/1e3,h=lr(this._days),d=lr(this._months),c=this.asSeconds();return c?(t=lt(l/60),e=lt(t/60),l%=60,t%=60,i=lt(d/12),d%=12,n=l?l.toFixed(3).replace(/\.?0+$/,""):"",o=c<0?"-":"",s=hr(this._months)!==hr(c)?"-":"",r=hr(this._days)!==hr(c)?"-":"",a=hr(this._milliseconds)!==hr(c)?"-":"",o+"P"+(i?s+i+"Y":"")+(d?s+d+"M":"")+(h?r+h+"D":"")+(e||t||l?"T":"")+(e?a+e+"H":"")+(t?a+t+"M":"")+(l?a+n+"S":"")):"P0D"}var cr=sn.prototype;return cr.isValid=nn,cr.abs=Ds,cr.add=Ss,cr.subtract=Ts,cr.as=As,cr.asMilliseconds=Fs,cr.asSeconds=Rs,cr.asMinutes=Ls,cr.asHours=js,cr.asDays=Ys,cr.asWeeks=Hs,cr.asMonths=zs,cr.asQuarters=Bs,cr.asYears=Ws,cr.valueOf=Ps,cr._bubble=Ms,cr.clone=Gs,cr.get=Vs,cr.milliseconds=$s,cr.seconds=qs,cr.minutes=Xs,cr.hours=Ks,cr.days=Zs,cr.weeks=tr,cr.months=Qs,cr.years=Js,cr.humanize=ar,cr.toISOString=dr,cr.toString=dr,cr.toJSON=dr,cr.locale=ao,cr.localeData=ho,cr.toIsoString=D("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",dr),cr.lang=lo,Y("X",0,0,"unix"),Y("x",0,0,"valueOf"),Pt("x",Et),Pt("X",It),jt("X",(function(t,e,i){i._d=new Date(1e3*parseFloat(t))})),jt("x",(function(t,e,i){i._d=new Date(ht(t))})), -//! moment.js -i.version="2.29.4",n($i),i.fn=ds,i.min=Zi,i.max=Qi,i.now=Ji,i.utc=p,i.unix=cs,i.months=ys,i.isDate=d,i.locale=pi,i.invalid=v,i.duration=Mn,i.isMoment=x,i.weekdays=ws,i.parseZone=us,i.localeData=gi,i.isDuration=rn,i.monthsShort=bs,i.weekdaysMin=xs,i.defineLocale=mi,i.updateLocale=fi,i.locales=vi,i.weekdaysShort=_s,i.normalizeUnits=it,i.relativeTimeRounding=sr,i.relativeTimeThreshold=rr,i.calendarFormat=Bn,i.prototype=ds,i.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},i}();var Mn=En.exports,On={exports:{}},In={},An={exports:{}},Pn={};function Nn(){var t={"align-content":!1,"align-items":!1,"align-self":!1,"alignment-adjust":!1,"alignment-baseline":!1,all:!1,"anchor-point":!1,animation:!1,"animation-delay":!1,"animation-direction":!1,"animation-duration":!1,"animation-fill-mode":!1,"animation-iteration-count":!1,"animation-name":!1,"animation-play-state":!1,"animation-timing-function":!1,azimuth:!1,"backface-visibility":!1,background:!0,"background-attachment":!0,"background-clip":!0,"background-color":!0,"background-image":!0,"background-origin":!0,"background-position":!0,"background-repeat":!0,"background-size":!0,"baseline-shift":!1,binding:!1,bleed:!1,"bookmark-label":!1,"bookmark-level":!1,"bookmark-state":!1,border:!0,"border-bottom":!0,"border-bottom-color":!0,"border-bottom-left-radius":!0,"border-bottom-right-radius":!0,"border-bottom-style":!0,"border-bottom-width":!0,"border-collapse":!0,"border-color":!0,"border-image":!0,"border-image-outset":!0,"border-image-repeat":!0,"border-image-slice":!0,"border-image-source":!0,"border-image-width":!0,"border-left":!0,"border-left-color":!0,"border-left-style":!0,"border-left-width":!0,"border-radius":!0,"border-right":!0,"border-right-color":!0,"border-right-style":!0,"border-right-width":!0,"border-spacing":!0,"border-style":!0,"border-top":!0,"border-top-color":!0,"border-top-left-radius":!0,"border-top-right-radius":!0,"border-top-style":!0,"border-top-width":!0,"border-width":!0,bottom:!1,"box-decoration-break":!0,"box-shadow":!0,"box-sizing":!0,"box-snap":!0,"box-suppress":!0,"break-after":!0,"break-before":!0,"break-inside":!0,"caption-side":!1,chains:!1,clear:!0,clip:!1,"clip-path":!1,"clip-rule":!1,color:!0,"color-interpolation-filters":!0,"column-count":!1,"column-fill":!1,"column-gap":!1,"column-rule":!1,"column-rule-color":!1,"column-rule-style":!1,"column-rule-width":!1,"column-span":!1,"column-width":!1,columns:!1,contain:!1,content:!1,"counter-increment":!1,"counter-reset":!1,"counter-set":!1,crop:!1,cue:!1,"cue-after":!1,"cue-before":!1,cursor:!1,direction:!1,display:!0,"display-inside":!0,"display-list":!0,"display-outside":!0,"dominant-baseline":!1,elevation:!1,"empty-cells":!1,filter:!1,flex:!1,"flex-basis":!1,"flex-direction":!1,"flex-flow":!1,"flex-grow":!1,"flex-shrink":!1,"flex-wrap":!1,float:!1,"float-offset":!1,"flood-color":!1,"flood-opacity":!1,"flow-from":!1,"flow-into":!1,font:!0,"font-family":!0,"font-feature-settings":!0,"font-kerning":!0,"font-language-override":!0,"font-size":!0,"font-size-adjust":!0,"font-stretch":!0,"font-style":!0,"font-synthesis":!0,"font-variant":!0,"font-variant-alternates":!0,"font-variant-caps":!0,"font-variant-east-asian":!0,"font-variant-ligatures":!0,"font-variant-numeric":!0,"font-variant-position":!0,"font-weight":!0,grid:!1,"grid-area":!1,"grid-auto-columns":!1,"grid-auto-flow":!1,"grid-auto-rows":!1,"grid-column":!1,"grid-column-end":!1,"grid-column-start":!1,"grid-row":!1,"grid-row-end":!1,"grid-row-start":!1,"grid-template":!1,"grid-template-areas":!1,"grid-template-columns":!1,"grid-template-rows":!1,"hanging-punctuation":!1,height:!0,hyphens:!1,icon:!1,"image-orientation":!1,"image-resolution":!1,"ime-mode":!1,"initial-letters":!1,"inline-box-align":!1,"justify-content":!1,"justify-items":!1,"justify-self":!1,left:!1,"letter-spacing":!0,"lighting-color":!0,"line-box-contain":!1,"line-break":!1,"line-grid":!1,"line-height":!1,"line-snap":!1,"line-stacking":!1,"line-stacking-ruby":!1,"line-stacking-shift":!1,"line-stacking-strategy":!1,"list-style":!0,"list-style-image":!0,"list-style-position":!0,"list-style-type":!0,margin:!0,"margin-bottom":!0,"margin-left":!0,"margin-right":!0,"margin-top":!0,"marker-offset":!1,"marker-side":!1,marks:!1,mask:!1,"mask-box":!1,"mask-box-outset":!1,"mask-box-repeat":!1,"mask-box-slice":!1,"mask-box-source":!1,"mask-box-width":!1,"mask-clip":!1,"mask-image":!1,"mask-origin":!1,"mask-position":!1,"mask-repeat":!1,"mask-size":!1,"mask-source-type":!1,"mask-type":!1,"max-height":!0,"max-lines":!1,"max-width":!0,"min-height":!0,"min-width":!0,"move-to":!1,"nav-down":!1,"nav-index":!1,"nav-left":!1,"nav-right":!1,"nav-up":!1,"object-fit":!1,"object-position":!1,opacity:!1,order:!1,orphans:!1,outline:!1,"outline-color":!1,"outline-offset":!1,"outline-style":!1,"outline-width":!1,overflow:!1,"overflow-wrap":!1,"overflow-x":!1,"overflow-y":!1,padding:!0,"padding-bottom":!0,"padding-left":!0,"padding-right":!0,"padding-top":!0,page:!1,"page-break-after":!1,"page-break-before":!1,"page-break-inside":!1,"page-policy":!1,pause:!1,"pause-after":!1,"pause-before":!1,perspective:!1,"perspective-origin":!1,pitch:!1,"pitch-range":!1,"play-during":!1,position:!1,"presentation-level":!1,quotes:!1,"region-fragment":!1,resize:!1,rest:!1,"rest-after":!1,"rest-before":!1,richness:!1,right:!1,rotation:!1,"rotation-point":!1,"ruby-align":!1,"ruby-merge":!1,"ruby-position":!1,"shape-image-threshold":!1,"shape-outside":!1,"shape-margin":!1,size:!1,speak:!1,"speak-as":!1,"speak-header":!1,"speak-numeral":!1,"speak-punctuation":!1,"speech-rate":!1,stress:!1,"string-set":!1,"tab-size":!1,"table-layout":!1,"text-align":!0,"text-align-last":!0,"text-combine-upright":!0,"text-decoration":!0,"text-decoration-color":!0,"text-decoration-line":!0,"text-decoration-skip":!0,"text-decoration-style":!0,"text-emphasis":!0,"text-emphasis-color":!0,"text-emphasis-position":!0,"text-emphasis-style":!0,"text-height":!0,"text-indent":!0,"text-justify":!0,"text-orientation":!0,"text-overflow":!0,"text-shadow":!0,"text-space-collapse":!0,"text-transform":!0,"text-underline-position":!0,"text-wrap":!0,top:!1,transform:!1,"transform-origin":!1,"transform-style":!1,transition:!1,"transition-delay":!1,"transition-duration":!1,"transition-property":!1,"transition-timing-function":!1,"unicode-bidi":!1,"vertical-align":!1,visibility:!1,"voice-balance":!1,"voice-duration":!1,"voice-family":!1,"voice-pitch":!1,"voice-range":!1,"voice-rate":!1,"voice-stress":!1,"voice-volume":!1,volume:!1,"white-space":!1,widows:!1,width:!0,"will-change":!1,"word-break":!0,"word-spacing":!0,"word-wrap":!0,"wrap-flow":!1,"wrap-through":!1,"writing-mode":!1,"z-index":!1};return t}var Fn=/javascript\s*\:/gim;Pn.whiteList=Nn(),Pn.getDefaultWhiteList=Nn,Pn.onAttr=function(t,e,i){},Pn.onIgnoreAttr=function(t,e,i){},Pn.safeAttrValue=function(t,e){return Fn.test(e)?"":e};var Rn={indexOf:function(t,e){var i,n;if(Array.prototype.indexOf)return t.indexOf(e);for(i=0,n=t.length;i/g,Qn=/"/g,Jn=/"/g,to=/&#([a-zA-Z0-9]*);?/gim,eo=/:?/gim,io=/&newline;?/gim,no=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a):/gi,oo=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,so=/u\s*r\s*l\s*\(.*/gi;function ro(t){return t.replace(Qn,""")}function ao(t){return t.replace(Jn,'"')}function lo(t){return t.replace(to,(function(t,e){return"x"===e[0]||"X"===e[0]?String.fromCharCode(parseInt(e.substr(1),16)):String.fromCharCode(parseInt(e,10))}))}function ho(t){return t.replace(eo,":").replace(io," ")}function co(t){for(var e="",i=0,n=t.length;i0;e--){var i=t[e];if(" "!==i)return"="===i?e:-1}}function xo(t){return function(t){return'"'===t[0]&&'"'===t[t.length-1]||"'"===t[0]&&"'"===t[t.length-1]}(t)?t.substr(1,t.length-2):t}mo.parseTag=function(t,e,i){var n="",o=0,s=!1,r=!1,a=0,l=t.length,h="",d="";t:for(a=0;a"===c||a===l-1){n+=i(t.slice(o,s)),h=go(d=t.slice(s,a+1)),n+=e(s,n.length,h,d,vo(d)),o=a+1,s=!1;continue}if('"'===c||"'"===c)for(var u=1,p=t.charAt(a-u);""===p.trim()||"="===p;){if("="===p){r=c;continue t}p=t.charAt(a-++u)}}else if(c===r){r=!1;continue}}return o";var f=function(t){var e=Eo.spaceIndex(t);if(-1===e)return{html:"",closing:"/"===t[t.length-2]};var i="/"===(t=Eo.trim(t.slice(e+1,-1)))[t.length-1];return i&&(t=Eo.trim(t.slice(0,-1))),{html:t,closing:i}}(c),g=i[d],v=To(f.html,(function(t,e){var i=-1!==Eo.indexOf(g,t),n=s(d,t,e,i);return Mo(n)?i?(e=a(d,t,e,h))?t+'="'+e+'"':t:Mo(n=r(d,t,e,i))?void 0:n:n}));return c="<"+d,v&&(c+=" "+v),f.closing&&(c+=" /"),c+=">"}return Mo(m=o(d,c,p))?l(c):m}),l);return d&&(c=d.remove(c)),c};var Io=Oo;!function(t,e){var i=In,n=mo,o=Io;function s(t,e){return new o(e).process(t)}(e=t.exports=s).filterXSS=s,e.FilterXSS=o,function(){for(var t in i)e[t]=i[t];for(var o in n)e[o]=n[o]}(),"undefined"!=typeof window&&(window.filterXSS=t.exports),"undefined"!=typeof self&&"undefined"!=typeof DedicatedWorkerGlobalScope&&self instanceof DedicatedWorkerGlobalScope&&(self.filterXSS=t.exports)}(On,On.exports);var Ao=On.exports,Po=null; -/** - * vis-timeline and vis-graph2d - * https://visjs.github.io/vis-timeline/ - * - * Create a fully customizable, interactive timeline with items and ranges. - * - * @version 7.7.0 - * @date 2022-07-10T21:34:08.601Z - * - * @copyright (c) 2011-2017 Almende B.V, http://almende.com - * @copyright (c) 2017-2019 visjs contributors, https://github.com/visjs - * - * @license - * vis.js is dual licensed under both - * - * 1. The Apache 2.0 License - * http://www.apache.org/licenses/LICENSE-2.0 - * - * and - * - * 2. The MIT License - * http://opensource.org/licenses/MIT - * - * vis.js may be distributed under either license. - */ -var No="undefined"!=typeof window&&window.moment||Mn;function Fo(t){if(!t)return!1;let e=t.idProp??t._idProp;return!!e&&function(t,e){return"object"==typeof e&&null!==e&&t===e.idProp&&"function"==typeof e.forEach&&"function"==typeof e.get&&"function"==typeof e.getDataSet&&"function"==typeof e.getIds&&"number"==typeof e.length&&"function"==typeof e.map&&"function"==typeof e.off&&"function"==typeof e.on&&"function"==typeof e.stream&&function(t,e){return"object"==typeof e&&null!==e&&t===e.idProp&&"function"==typeof e.add&&"function"==typeof e.clear&&"function"==typeof e.distinct&&"function"==typeof e.forEach&&"function"==typeof e.get&&"function"==typeof e.getDataSet&&"function"==typeof e.getIds&&"number"==typeof e.length&&"function"==typeof e.map&&"function"==typeof e.max&&"function"==typeof e.min&&"function"==typeof e.off&&"function"==typeof e.on&&"function"==typeof e.remove&&"function"==typeof e.setOptions&&"function"==typeof e.stream&&"function"==typeof e.update&&"function"==typeof e.updateOnly}(t,e.getDataSet())}(e,t)}const Ro=/^\/?Date\((-?\d+)/i,Lo=/^\d+$/;function jo(t,e){let i;if(void 0!==t){if(null===t)return null;if(!e)return t;if("string"!=typeof e&&!(e instanceof String))throw new Error("Type must be a string");switch(e){case"boolean":case"Boolean":return Boolean(t);case"number":case"Number":return pi(t)&&!isNaN(Date.parse(t))?Mn(t).valueOf():Number(t.valueOf());case"string":case"String":return String(t);case"Date":try{return jo(t,"Moment").toDate()}catch(i){throw i instanceof TypeError?new TypeError("Cannot convert object of type "+yi(t)+" to type "+e):i}case"Moment":if(ui(t))return Mn(t);if(t instanceof Date)return Mn(t.valueOf());if(Mn.isMoment(t))return Mn(t);if(pi(t))return i=Ro.exec(t),i?Mn(Number(i[1])):(i=Lo.exec(t),Mn(i?Number(t):t));throw new TypeError("Cannot convert object of type "+yi(t)+" to type "+e);case"ISODate":if(ui(t))return new Date(t);if(t instanceof Date)return t.toISOString();if(Mn.isMoment(t))return t.toDate().toISOString();if(pi(t))return i=Ro.exec(t),i?new Date(Number(i[1])).toISOString():Mn(t).format();throw new Error("Cannot convert object of type "+yi(t)+" to type ISODate");case"ASPDate":if(ui(t))return"/Date("+t+")/";if(t instanceof Date||Mn.isMoment(t))return"/Date("+t.valueOf()+")/";if(pi(t)){let e;return i=Ro.exec(t),e=i?new Date(Number(i[1])).valueOf():new Date(t).valueOf(),"/Date("+e+")/"}throw new Error("Cannot convert object of type "+yi(t)+" to type ASPDate");default:throw new Error(`Unknown type ${e}`)}}}function Yo(t,e={start:"Date",end:"Date"}){const i=t._idProp,n=new Dn({fieldId:i}),o=(s=t,new bn(s)).map((t=>Object.keys(t).reduce(((i,n)=>(i[n]=jo(t[n],e[n]),i)),{}))).to(n); -/** - * vis-data - * http://visjs.org/ - * - * Manage unstructured data using DataSet. Add, update, and remove data, and listen for changes in the data. - * - * @version 7.1.4 - * @date 2022-03-15T15:23:59.245Z - * - * @copyright (c) 2011-2017 Almende B.V, http://almende.com - * @copyright (c) 2017-2019 visjs contributors, https://github.com/visjs - * - * @license - * vis.js is dual licensed under both - * - * 1. The Apache 2.0 License - * http://www.apache.org/licenses/LICENSE-2.0 - * - * and - * - * 2. The MIT License - * http://opensource.org/licenses/MIT - * - * vis.js may be distributed under either license. - */ -var s;return o.all().start(),{add:(...e)=>t.getDataSet().add(...e),remove:(...e)=>t.getDataSet().remove(...e),update:(...e)=>t.getDataSet().update(...e),updateOnly:(...e)=>t.getDataSet().updateOnly(...e),clear:(...e)=>t.getDataSet().clear(...e),forEach:n.forEach.bind(n),get:n.get.bind(n),getIds:n.getIds.bind(n),off:n.off.bind(n),on:n.on.bind(n),get length(){return n.length},idProp:i,type:e,rawDS:t,coercedDS:n,dispose:()=>o.stop()}}const Ho=t=>{const e=new Ao.FilterXSS(t);return t=>e.process(t)},zo=t=>t;let Bo=Ho();const Wo={...Ki,convert:jo,setupXSSProtection:t=>{t&&(!0===t.disabled?(Bo=zo,console.warn("You disabled XSS protection for vis-Timeline. I sure hope you know what you're doing!")):t.filterOptions&&(Bo=Ho(t.filterOptions)))}};Object.defineProperty(Wo,"xss",{get:function(){return Bo}});class Go{constructor(t,e){this.options=null,this.props=null}setOptions(t){t&&Wo.extend(this.options,t)}redraw(){return!1}destroy(){}_isResized(){const t=this.props._previousWidth!==this.props.width||this.props._previousHeight!==this.props.height;return this.props._previousWidth=this.props.width,this.props._previousHeight=this.props.height,t}}function Vo(t,e,i){if(i&&!Array.isArray(i))return Vo(t,e,[i]);if(e.hiddenDates=[],i&&1==Array.isArray(i)){for(let n=0;nt.start-e.start))}}function Uo(t,e,i){if(i&&!Array.isArray(i))return Uo(t,e,[i]);if(i&&void 0!==e.domProps.centerContainer.width){Vo(t,e,i);const n=t(e.range.start),o=t(e.range.end),s=(e.range.end-e.range.start)/e.domProps.centerContainer.width;for(let r=0;r=4*s){let t=0;const s=o.clone();switch(i[r].repeat){case"daily":a.day()!=l.day()&&(t=1),a.dayOfYear(n.dayOfYear()),a.year(n.year()),a.subtract(7,"days"),l.dayOfYear(n.dayOfYear()),l.year(n.year()),l.subtract(7-t,"days"),s.add(1,"weeks");break;case"weekly":{const t=l.diff(a,"days"),e=a.day();a.date(n.date()),a.month(n.month()),a.year(n.year()),l=a.clone(),a.day(e),l.day(e),l.add(t,"days"),a.subtract(1,"weeks"),l.subtract(1,"weeks"),s.add(1,"weeks");break}case"monthly":a.month()!=l.month()&&(t=1),a.month(n.month()),a.year(n.year()),a.subtract(1,"months"),l.month(n.month()),l.year(n.year()),l.subtract(1,"months"),l.add(t,"months"),s.add(1,"months");break;case"yearly":a.year()!=l.year()&&(t=1),a.year(n.year()),a.subtract(1,"years"),l.year(n.year()),l.subtract(1,"years"),l.add(t,"years"),s.add(1,"years");break;default:return void console.log("Wrong repeat format, allowed are: daily, weekly, monthly, yearly. Given:",i[r].repeat)}for(;a=e[n].start&&e[t].end<=e[n].end?e[t].remove=!0:e[t].start>=e[n].start&&e[t].start<=e[n].end?(e[n].end=e[t].end,e[t].remove=!0):e[t].end>=e[n].start&&e[t].end<=e[n].end&&(e[n].start=e[t].start,e[t].remove=!0));for(n=0;nt.start-e.start))}(e);const r=Jo(e.range.start,e.hiddenDates),a=Jo(e.range.end,e.hiddenDates);let l=e.range.start,h=e.range.end;1==r.hidden&&(l=1==e.range.startToFront?r.startDate-1:r.endDate+1),1==a.hidden&&(h=1==e.range.endToFront?a.startDate-1:a.endDate+1),1!=r.hidden&&1!=a.hidden||e.range._applyRange(l,h)}}function $o(t,e,i){let n;if(0==t.body.hiddenDates.length)return n=t.range.conversion(i),(e.valueOf()-n.offset)*n.scale;{const o=Jo(e,t.body.hiddenDates);1==o.hidden&&(e=o.startDate);const s=Xo(t.body.hiddenDates,t.range.start,t.range.end);if(e=e&&r<=i&&(n+=r-s)}return n}(t.body.hiddenDates,e,n.offset);return e=t.options.moment(e).toDate().valueOf(),e+=o,-(n.offset-e.valueOf())*n.scale}if(e>t.range.end){const o={start:t.range.start,end:e};return e=Ko(t.options.moment,t.body.hiddenDates,o,e),n=t.range.conversion(i,s),(e.valueOf()-n.offset)*n.scale}return e=Ko(t.options.moment,t.body.hiddenDates,t.range,e),n=t.range.conversion(i,s),(e.valueOf()-n.offset)*n.scale}}function qo(t,e,i){if(0==t.body.hiddenDates.length){const n=t.range.conversion(i);return new Date(e/n.scale+n.offset)}{const n=Xo(t.body.hiddenDates,t.range.start,t.range.end),o=(t.range.end-t.range.start-n)*e/i,s=function(t,e,i){let n=0,o=0,s=e.start;for(let r=0;r=e.start&&l=i)break;n+=l-a}}return n}(t.body.hiddenDates,t.range,o);return new Date(s+o+t.range.start)}}function Xo(t,e,i){let n=0;for(let o=0;o=e&&r=i.start&&r=r&&(o+=r-s)}return o}function Qo(t,e,i,n){const o=Jo(e,t);return 1==o.hidden?i<0?1==n?o.startDate-(o.endDate-e)-1:o.startDate-1:1==n?o.endDate+(e-o.startDate)+1:o.endDate+1:e}function Jo(t,e){for(let o=0;o=i&&t1e3&&(i=1e3),t.body.dom.rollingModeBtn.style.visibility="hidden",t.currentTimeTimer=setTimeout(e,i)}()}stopRolling(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),this.rolling=!1,this.body.dom.rollingModeBtn.style.visibility="visible")}setRange(t,e,i,n,o){i||(i={}),!0!==i.byUser&&(i.byUser=!1);const s=this,r=null!=t?Wo.convert(t,"Date").valueOf():null,a=null!=e?Wo.convert(e,"Date").valueOf():null;if(this._cancelAnimation(),this.millisecondsPerPixelCache=void 0,i.animation){const t=this.start,e=this.end,h="object"==typeof i.animation&&"duration"in i.animation?i.animation.duration:500,d="object"==typeof i.animation&&"easingFunction"in i.animation?i.animation.easingFunction:"easeInOutQuad",c=Wo.easingFunctions[d];if(!c)throw new Error(`Unknown easing function ${JSON.stringify(d)}. Choose from: ${Object.keys(Wo.easingFunctions).join(", ")}`);const u=Date.now();let p=!1;const m=()=>{if(!s.props.touch.dragging){const d=Date.now()-u,f=c(d/h),g=d>h,v=g||null===r?r:t+(r-t)*f,y=g||null===a?a:e+(a-e)*f;l=s._applyRange(v,y),Uo(s.options.moment,s.body,s.options.hiddenDates),p=p||l;const b={start:new Date(s.start),end:new Date(s.end),byUser:i.byUser,event:i.event};if(o&&o(f,l,g),l&&s.body.emitter.emit("rangechange",b),g){if(p&&(s.body.emitter.emit("rangechanged",b),n))return n()}else s.animationTimer=setTimeout(m,20)}};return m()}var l=this._applyRange(r,a);if(Uo(this.options.moment,this.body,this.options.hiddenDates),l){const t={start:new Date(this.start),end:new Date(this.end),byUser:i.byUser,event:i.event};if(this.body.emitter.emit("rangechange",t),clearTimeout(s.timeoutID),s.timeoutID=setTimeout((()=>{s.body.emitter.emit("rangechanged",t)}),200),n)return n()}}getMillisecondsPerPixel(){return void 0===this.millisecondsPerPixelCache&&(this.millisecondsPerPixelCache=(this.end-this.start)/this.body.dom.center.clientWidth),this.millisecondsPerPixelCache}_cancelAnimation(){this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)}_applyRange(t,e){let i=null!=t?Wo.convert(t,"Date").valueOf():this.start,n=null!=e?Wo.convert(e,"Date").valueOf():this.end;const o=null!=this.options.max?Wo.convert(this.options.max,"Date").valueOf():null,s=null!=this.options.min?Wo.convert(this.options.min,"Date").valueOf():null;let r;if(isNaN(i)||null===i)throw new Error(`Invalid start "${t}"`);if(isNaN(n)||null===n)throw new Error(`Invalid end "${e}"`);if(no&&(n=o)),null!==o&&n>o&&(r=n-o,i-=r,n-=r,null!=s&&i=this.start-e&&n<=this.end?(i=this.start,n=this.end):(r=t-(n-i),i-=r/2,n+=r/2)}}if(null!==this.options.zoomMax){let t=parseFloat(this.options.zoomMax);t<0&&(t=0),n-i>t&&(this.end-this.start===t&&ithis.end?(i=this.start,n=this.end):(r=n-i-t,i+=r/2,n-=r/2))}const a=this.start!=i||this.end!=n;return i>=this.start&&i<=this.end||n>=this.start&&n<=this.end||this.start>=i&&this.start<=n||this.end>=i&&this.end<=n||this.body.emitter.emit("checkRangedItems"),this.start=i,this.end=n,a}getRange(){return{start:this.start,end:this.end}}conversion(t,e){return ts.conversion(this.start,this.end,t,e)}static conversion(t,e,i,n){return void 0===n&&(n=0),0!=i&&e-t!=0?{offset:t,scale:i/(e-t-n)}:{offset:0,scale:1}}_onDragStart(t){this.deltaDifference=0,this.previousDelta=0,this.options.moveable&&this._isInsideRange(t)&&this.props.touch.allowDragging&&(this.stopRolling(),this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.dragging=!0,this.body.dom.root&&(this.body.dom.root.style.cursor="move"))}_onDrag(t){if(!t)return;if(!this.props.touch.dragging)return;if(!this.options.moveable)return;if(!this.props.touch.allowDragging)return;const e=this.options.direction;es(e);let i="horizontal"==e?t.deltaX:t.deltaY;i-=this.deltaDifference;let n=this.props.touch.end-this.props.touch.start;n-=Xo(this.body.hiddenDates,this.start,this.end);const o="horizontal"==e?this.body.domProps.center.width:this.body.domProps.center.height;let s;s=this.options.rtl?i/o*n:-i/o*n;const r=this.props.touch.start+s,a=this.props.touch.end+s,l=Qo(this.body.hiddenDates,r,this.previousDelta-i,!0),h=Qo(this.body.hiddenDates,a,this.previousDelta-i,!0);if(l!=r||h!=a)return this.deltaDifference+=i,this.props.touch.start=l,this.props.touch.end=h,void this._onDrag(t);this.previousDelta=i,this._applyRange(r,a);const d=new Date(this.start),c=new Date(this.end);this.body.emitter.emit("rangechange",{start:d,end:c,byUser:!0,event:t}),this.body.emitter.emit("panmove")}_onDragEnd(t){this.props.touch.dragging&&this.options.moveable&&this.props.touch.allowDragging&&(this.props.touch.dragging=!1,this.body.dom.root&&(this.body.dom.root.style.cursor="auto"),this.body.emitter.emit("rangechanged",{start:new Date(this.start),end:new Date(this.end),byUser:!0,event:t}))}_onMouseWheel(t){let e=0;if(t.wheelDelta?e=t.wheelDelta/120:t.detail?e=-t.detail/3:t.deltaY&&(e=-t.deltaY/3),!(this.options.zoomKey&&!t[this.options.zoomKey]&&this.options.zoomable||!this.options.zoomable&&this.options.moveable)&&this.options.zoomable&&this.options.moveable&&this._isInsideRange(t)&&e){const i=this.options.zoomFriction||5;let n,o;if(n=e<0?1-e/i:1/(1+e/i),this.rolling){const t=this.options.rollingMode&&this.options.rollingMode.offset||.5;o=this.start+(this.end-this.start)*t}else{const e=this.getPointer({x:t.clientX,y:t.clientY},this.body.dom.center);o=this._pointerToDate(e)}this.zoom(n,o,e,t),t.preventDefault()}}_onTouch(t){this.props.touch.start=this.start,this.props.touch.end=this.end,this.props.touch.allowDragging=!0,this.props.touch.center=null,this.props.touch.centerDate=null,this.scaleOffset=0,this.deltaDifference=0,Wo.preventDefault(t)}_onPinch(t){if(!this.options.zoomable||!this.options.moveable)return;Wo.preventDefault(t),this.props.touch.allowDragging=!1,this.props.touch.center||(this.props.touch.center=this.getPointer(t.center,this.body.dom.center),this.props.touch.centerDate=this._pointerToDate(this.props.touch.center)),this.stopRolling();const e=1/(t.scale+this.scaleOffset),i=this.props.touch.centerDate,n=Xo(this.body.hiddenDates,this.start,this.end),o=Zo(this.options.moment,this.body.hiddenDates,this,i),s=n-o;let r=i-o+(this.props.touch.start-(i-o))*e,a=i+s+(this.props.touch.end-(i+s))*e;this.startToFront=1-e<=0,this.endToFront=e-1<=0;const l=Qo(this.body.hiddenDates,r,1-e,!0),h=Qo(this.body.hiddenDates,a,e-1,!0);l==r&&h==a||(this.props.touch.start=l,this.props.touch.end=h,this.scaleOffset=1-t.scale,r=l,a=h);const d={animation:!1,byUser:!0,event:t};this.setRange(r,a,d),this.startToFront=!1,this.endToFront=!0}_isInsideRange(t){const e=t.center?t.center.x:t.clientX,i=this.body.dom.centerContainer.getBoundingClientRect(),n=this.options.rtl?e-i.left:i.right-e,o=this.body.util.toTime(n);return o>=this.start&&o<=this.end}_pointerToDate(t){let e;const i=this.options.direction;if(es(i),"horizontal"==i)return this.body.util.toTime(t.x).valueOf();{const i=this.body.domProps.center.height;return e=this.conversion(i),t.y/e.scale+e.offset}}getPointer(t,e){const i=e.getBoundingClientRect();return this.options.rtl?{x:i.right-t.x,y:t.y-i.top}:{x:t.x-i.left,y:t.y-i.top}}zoom(t,e,i,n){null==e&&(e=(this.start+this.end)/2);const o=Xo(this.body.hiddenDates,this.start,this.end),s=Zo(this.options.moment,this.body.hiddenDates,this,e),r=o-s;let a=e-s+(this.start-(e-s))*t,l=e+r+(this.end-(e+r))*t;this.startToFront=!(i>0),this.endToFront=!(-i>0);const h=Qo(this.body.hiddenDates,a,i,!0),d=Qo(this.body.hiddenDates,l,-i,!0);h==a&&d==l||(a=h,l=d);const c={animation:!1,byUser:!0,event:n};this.setRange(a,l,c),this.startToFront=!1,this.endToFront=!0}move(t){const e=this.end-this.start,i=this.start+e*t,n=this.end+e*t;this.start=i,this.end=n}moveTo(t){const e=(this.start+this.end)/2-t,i=this.start-e,n=this.end-e;this.setRange(i,n,{animation:!1,byUser:!0,event:null})}}function es(t){if("horizontal"!=t&&"vertical"!=t)throw new TypeError(`Unknown direction "${t}". Choose "horizontal" or "vertical".`)}let is;if("undefined"!=typeof window){is=function t(e,i){var n=i||{preventDefault:!1};if(e.Manager){var o=e,s=function(e,i){var s=Object.create(n);return i&&o.assign(s,i),t(new o(e,s),s)};return o.assign(s,o),s.Manager=function(e,i){var s=Object.create(n);return i&&o.assign(s,i),t(new o.Manager(e,s),s)},s}var r=Object.create(e),a=e.element;function l(t){return t.match(/[^ ]+/g)}function h(t){if("hammer.input"!==t.type){if(t.srcEvent._handled||(t.srcEvent._handled={}),t.srcEvent._handled[t.type])return;t.srcEvent._handled[t.type]=!0}var e=!1;t.stopPropagation=function(){e=!0};var i=t.srcEvent.stopPropagation.bind(t.srcEvent);"function"==typeof i&&(t.srcEvent.stopPropagation=function(){i(),t.stopPropagation()}),t.firstTarget=Po;for(var n=Po;n&&!e;){var o=n.hammer;if(o)for(var s,r=0;r0?r._handlers[t]=n:(e.off(t,h),delete r._handlers[t]))})),r},r.emit=function(t,i){Po=i.target,e.emit(t,i)},r.destroy=function(){var t=e.element.hammer,i=t.indexOf(r);-1!==i&&t.splice(i,1),t.length||delete e.element.hammer,r._handlers={},e.destroy()},r}(window.Hammer||Qe,{preventDefault:"mouse"})}else is=()=>function(){const t=()=>{};return{on:t,off:t,destroy:t,emit:t,get:e=>({set:t})}}();var ns=is;function os(t,e){e.inputHandler=function(t){t.isFirst&&e(t)},t.on("hammer.input",e.inputHandler)}class ss{constructor(t,e,i,n,o){this.moment=o&&o.moment||No,this.options=o||{},this.current=this.moment(),this._start=this.moment(),this._end=this.moment(),this.autoScale=!0,this.scale="day",this.step=1,this.setRange(t,e,i),this.switchedDay=!1,this.switchedMonth=!1,this.switchedYear=!1,Array.isArray(n)?this.hiddenDates=n:this.hiddenDates=null!=n?[n]:[],this.format=ss.FORMAT}setMoment(t){this.moment=t,this.current=this.moment(this.current.valueOf()),this._start=this.moment(this._start.valueOf()),this._end=this.moment(this._end.valueOf())}setFormat(t){const e=Wo.deepExtend({},ss.FORMAT);this.format=Wo.deepExtend(e,t)}setRange(t,e,i){if(!(t instanceof Date&&e instanceof Date))throw"No legal start or end date in method setRange";this._start=null!=t?this.moment(t.valueOf()):Date.now(),this._end=null!=e?this.moment(e.valueOf()):Date.now(),this.autoScale&&this.setMinimumStep(i)}start(){this.current=this._start.clone(),this.roundToMinor()}roundToMinor(){switch("week"==this.scale&&this.current.weekday(0),this.scale){case"year":this.current.year(this.step*Math.floor(this.current.year()/this.step)),this.current.month(0);case"month":this.current.date(1);case"week":case"day":case"weekday":this.current.hours(0);case"hour":this.current.minutes(0);case"minute":this.current.seconds(0);case"second":this.current.milliseconds(0)}if(1!=this.step){let t=this.current.clone();switch(this.scale){case"millisecond":this.current.subtract(this.current.milliseconds()%this.step,"milliseconds");break;case"second":this.current.subtract(this.current.seconds()%this.step,"seconds");break;case"minute":this.current.subtract(this.current.minutes()%this.step,"minutes");break;case"hour":this.current.subtract(this.current.hours()%this.step,"hours");break;case"weekday":case"day":this.current.subtract((this.current.date()-1)%this.step,"day");break;case"week":this.current.subtract(this.current.week()%this.step,"week");break;case"month":this.current.subtract(this.current.month()%this.step,"month");break;case"year":this.current.subtract(this.current.year()%this.step,"year")}t.isSame(this.current)||(this.current=this.moment(Qo(this.hiddenDates,this.current.valueOf(),-1,!0)))}}hasNext(){return this.current.valueOf()<=this._end.valueOf()}next(){const t=this.current.valueOf();switch(this.scale){case"millisecond":this.current.add(this.step,"millisecond");break;case"second":this.current.add(this.step,"second");break;case"minute":this.current.add(this.step,"minute");break;case"hour":this.current.add(this.step,"hour"),this.current.month()<6?this.current.subtract(this.current.hours()%this.step,"hour"):this.current.hours()%this.step!=0&&this.current.add(this.step-this.current.hours()%this.step,"hour");break;case"weekday":case"day":this.current.add(this.step,"day");break;case"week":if(0!==this.current.weekday())this.current.weekday(0),this.current.add(this.step,"week");else if(!1===this.options.showMajorLabels)this.current.add(this.step,"week");else{const t=this.current.clone();t.add(1,"week"),t.isSame(this.current,"month")?this.current.add(this.step,"week"):(this.current.add(this.step,"week"),this.current.date(1))}break;case"month":this.current.add(this.step,"month");break;case"year":this.current.add(this.step,"year")}if(1!=this.step)switch(this.scale){case"millisecond":this.current.milliseconds()>0&&this.current.milliseconds()0&&this.current.seconds()0&&this.current.minutes()0&&this.current.hours()=i&&o0?t.step:1,this.autoScale=!1)}setAutoScale(t){this.autoScale=t}setMinimumStep(t){if(null==t)return;const e=31104e6,i=2592e6,n=864e5,o=36e5,s=6e4,r=1e3;1e3*e>t&&(this.scale="year",this.step=1e3),500*e>t&&(this.scale="year",this.step=500),100*e>t&&(this.scale="year",this.step=100),50*e>t&&(this.scale="year",this.step=50),10*e>t&&(this.scale="year",this.step=10),5*e>t&&(this.scale="year",this.step=5),e>t&&(this.scale="year",this.step=1),7776e6>t&&(this.scale="month",this.step=3),i>t&&(this.scale="month",this.step=1),6048e5>t&&this.options.showWeekScale&&(this.scale="week",this.step=1),1728e5>t&&(this.scale="day",this.step=2),n>t&&(this.scale="day",this.step=1),432e5>t&&(this.scale="weekday",this.step=1),144e5>t&&(this.scale="hour",this.step=4),o>t&&(this.scale="hour",this.step=1),9e5>t&&(this.scale="minute",this.step=15),6e5>t&&(this.scale="minute",this.step=10),3e5>t&&(this.scale="minute",this.step=5),s>t&&(this.scale="minute",this.step=1),15e3>t&&(this.scale="second",this.step=15),1e4>t&&(this.scale="second",this.step=10),5e3>t&&(this.scale="second",this.step=5),r>t&&(this.scale="second",this.step=1),200>t&&(this.scale="millisecond",this.step=200),100>t&&(this.scale="millisecond",this.step=100),50>t&&(this.scale="millisecond",this.step=50),10>t&&(this.scale="millisecond",this.step=10),5>t&&(this.scale="millisecond",this.step=5),1>t&&(this.scale="millisecond",this.step=1)}static snap(t,e,i){const n=No(t);if("year"==e){const t=n.year()+Math.round(n.month()/12);n.year(Math.round(t/i)*i),n.month(0),n.date(0),n.hours(0),n.minutes(0),n.seconds(0),n.milliseconds(0)}else if("month"==e)n.date()>15?(n.date(1),n.add(1,"month")):n.date(1),n.hours(0),n.minutes(0),n.seconds(0),n.milliseconds(0);else if("week"==e)n.weekday()>2?(n.weekday(0),n.add(1,"week")):n.weekday(0),n.hours(0),n.minutes(0),n.seconds(0),n.milliseconds(0);else if("day"==e){switch(i){case 5:case 2:n.hours(24*Math.round(n.hours()/24));break;default:n.hours(12*Math.round(n.hours()/12))}n.minutes(0),n.seconds(0),n.milliseconds(0)}else if("weekday"==e){switch(i){case 5:case 2:n.hours(12*Math.round(n.hours()/12));break;default:n.hours(6*Math.round(n.hours()/6))}n.minutes(0),n.seconds(0),n.milliseconds(0)}else if("hour"==e){if(4===i)n.minutes(60*Math.round(n.minutes()/60));else n.minutes(30*Math.round(n.minutes()/30));n.seconds(0),n.milliseconds(0)}else if("minute"==e){switch(i){case 15:case 10:n.minutes(5*Math.round(n.minutes()/5)),n.seconds(0);break;case 5:n.seconds(60*Math.round(n.seconds()/60));break;default:n.seconds(30*Math.round(n.seconds()/30))}n.milliseconds(0)}else if("second"==e)switch(i){case 15:case 10:n.seconds(5*Math.round(n.seconds()/5)),n.milliseconds(0);break;case 5:n.milliseconds(1e3*Math.round(n.milliseconds()/1e3));break;default:n.milliseconds(500*Math.round(n.milliseconds()/500))}else if("millisecond"==e){const t=i>5?i/2:1;n.milliseconds(Math.round(n.milliseconds()/t)*t)}return n}isMajor(){if(1==this.switchedYear)switch(this.scale){case"year":case"month":case"week":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedMonth)switch(this.scale){case"week":case"weekday":case"day":case"hour":case"minute":case"second":case"millisecond":return!0;default:return!1}else if(1==this.switchedDay)switch(this.scale){case"millisecond":case"second":case"minute":case"hour":return!0;default:return!1}const t=this.moment(this.current);switch(this.scale){case"millisecond":return 0==t.milliseconds();case"second":return 0==t.seconds();case"minute":return 0==t.hours()&&0==t.minutes();case"hour":return 0==t.hours();case"weekday":case"day":return this.options.showWeekScale?1==t.isoWeekday():1==t.date();case"week":return 1==t.date();case"month":return 0==t.month();default:return!1}}getLabelMinor(t){if(null==t&&(t=this.current),t instanceof Date&&(t=this.moment(t)),"function"==typeof this.format.minorLabels)return this.format.minorLabels(t,this.scale,this.step);const e=this.format.minorLabels[this.scale];return"week"===this.scale&&1===t.date()&&0!==t.weekday()?"":e&&e.length>0?this.moment(t).format(e):""}getLabelMajor(t){if(null==t&&(t=this.current),t instanceof Date&&(t=this.moment(t)),"function"==typeof this.format.majorLabels)return this.format.majorLabels(t,this.scale,this.step);const e=this.format.majorLabels[this.scale];return e&&e.length>0?this.moment(t).format(e):""}getClassName(){const t=this.moment,e=this.moment(this.current),i=e.locale?e.locale("en"):e.lang("en"),n=this.step,o=[];function s(t){return t/n%2==0?" vis-even":" vis-odd"}function r(e){return e.isSame(Date.now(),"day")?" vis-today":e.isSame(t().add(1,"day"),"day")?" vis-tomorrow":e.isSame(t().add(-1,"day"),"day")?" vis-yesterday":""}function a(t){return t.isSame(Date.now(),"week")?" vis-current-week":""}function l(t){return t.isSame(Date.now(),"month")?" vis-current-month":""}switch(this.scale){case"millisecond":o.push(r(i)),o.push(s(i.milliseconds()));break;case"second":o.push(r(i)),o.push(s(i.seconds()));break;case"minute":o.push(r(i)),o.push(s(i.minutes()));break;case"hour":o.push(`vis-h${i.hours()}${4==this.step?"-h"+(i.hours()+4):""}`),o.push(r(i)),o.push(s(i.hours()));break;case"weekday":o.push(`vis-${i.format("dddd").toLowerCase()}`),o.push(r(i)),o.push(a(i)),o.push(s(i.date()));break;case"day":o.push(`vis-day${i.date()}`),o.push(`vis-${i.format("MMMM").toLowerCase()}`),o.push(r(i)),o.push(l(i)),o.push(this.step<=2?r(i):""),o.push(this.step<=2?`vis-${i.format("dddd").toLowerCase()}`:""),o.push(s(i.date()-1));break;case"week":o.push(`vis-week${i.format("w")}`),o.push(a(i)),o.push(s(i.week()));break;case"month":o.push(`vis-${i.format("MMMM").toLowerCase()}`),o.push(l(i)),o.push(s(i.month()));break;case"year":o.push(`vis-year${i.year()}`),o.push(function(t){return t.isSame(Date.now(),"year")?" vis-current-year":""}(i)),o.push(s(i.year()))}return o.filter(String).join(" ")}}ss.FORMAT={minorLabels:{millisecond:"SSS",second:"s",minute:"HH:mm",hour:"HH:mm",weekday:"ddd D",day:"D",week:"w",month:"MMM",year:"YYYY"},majorLabels:{millisecond:"HH:mm:ss",second:"D MMMM HH:mm",minute:"ddd D MMMM",hour:"ddd D MMMM",weekday:"MMMM YYYY",day:"MMMM YYYY",week:"MMMM YYYY",month:"YYYY",year:""}};class rs extends Go{constructor(t,e){super(),this.dom={foreground:null,lines:[],majorTexts:[],minorTexts:[],redundant:{lines:[],majorTexts:[],minorTexts:[]}},this.props={range:{start:0,end:0,minimumStep:0},lineTop:0},this.defaultOptions={orientation:{axis:"bottom"},showMinorLabels:!0,showMajorLabels:!0,showWeekScale:!1,maxMinorChars:7,format:Wo.extend({},ss.FORMAT),moment:No,timeAxis:null},this.options=Wo.extend({},this.defaultOptions),this.body=t,this._create(),this.setOptions(e)}setOptions(t){t&&(Wo.selectiveExtend(["showMinorLabels","showMajorLabels","showWeekScale","maxMinorChars","hiddenDates","timeAxis","moment","rtl"],this.options,t),Wo.selectiveDeepExtend(["format"],this.options,t),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation.axis=t.orientation:"object"==typeof t.orientation&&"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis)),"locale"in t&&("function"==typeof No.locale?No.locale(t.locale):No.lang(t.locale)))}_create(){this.dom.foreground=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.foreground.className="vis-time-axis vis-foreground",this.dom.background.className="vis-time-axis vis-background"}destroy(){this.dom.foreground.parentNode&&this.dom.foreground.parentNode.removeChild(this.dom.foreground),this.dom.background.parentNode&&this.dom.background.parentNode.removeChild(this.dom.background),this.body=null}redraw(){const t=this.props,e=this.dom.foreground,i=this.dom.background,n="top"==this.options.orientation.axis?this.body.dom.top:this.body.dom.bottom,o=e.parentNode!==n;this._calculateCharSize();const s=this.options.showMinorLabels&&"none"!==this.options.orientation.axis,r=this.options.showMajorLabels&&"none"!==this.options.orientation.axis;t.minorLabelHeight=s?t.minorCharHeight:0,t.majorLabelHeight=r?t.majorCharHeight:0,t.height=t.minorLabelHeight+t.majorLabelHeight,t.width=e.offsetWidth,t.minorLineHeight=this.body.domProps.root.height-t.majorLabelHeight-("top"==this.options.orientation.axis?this.body.domProps.bottom.height:this.body.domProps.top.height),t.minorLineWidth=1,t.majorLineHeight=t.minorLineHeight+t.majorLabelHeight,t.majorLineWidth=1;const a=e.nextSibling,l=i.nextSibling;return e.parentNode&&e.parentNode.removeChild(e),i.parentNode&&i.parentNode.removeChild(i),e.style.height=`${this.props.height}px`,this._repaintLabels(),a?n.insertBefore(e,a):n.appendChild(e),l?this.body.dom.backgroundVertical.insertBefore(i,l):this.body.dom.backgroundVertical.appendChild(i),this._isResized()||o}_repaintLabels(){const t=this.options.orientation.axis,e=Wo.convert(this.body.range.start,"Number"),i=Wo.convert(this.body.range.end,"Number"),n=this.body.util.toTime((this.props.minorCharWidth||10)*this.options.maxMinorChars).valueOf();let o=n-Zo(this.options.moment,this.body.hiddenDates,this.body.range,n);o-=this.body.util.toTime(0).valueOf();const s=new ss(new Date(e),new Date(i),o,this.body.hiddenDates,this.options);s.setMoment(this.options.moment),this.options.format&&s.setFormat(this.options.format),this.options.timeAxis&&s.setScale(this.options.timeAxis),this.step=s;const r=this.dom;let a,l,h,d,c,u;r.redundant.lines=r.lines,r.redundant.majorTexts=r.majorTexts,r.redundant.minorTexts=r.minorTexts,r.lines=[],r.majorTexts=[],r.minorTexts=[];let p,m,f,g=0,v=0;const y=1e3;let b;for(s.start(),l=s.getCurrent(),d=this.body.util.toScreen(l);s.hasNext()&&v=.4*p;if(this.options.showMinorLabels&&u){var w=this._repaintMinorText(h,s.getLabelMinor(a),t,b);w.style.width=`${g}px`}c&&this.options.showMajorLabels?(h>0&&(null==f&&(f=h),w=this._repaintMajorText(h,s.getLabelMajor(a),t,b)),m=this._repaintMajorLine(h,g,t,b)):u?m=this._repaintMinorLine(h,g,t,b):m&&(m.style.width=`${parseInt(m.style.width)+g}px`)}if(v!==y||as||(console.warn("Something is wrong with the Timeline scale. Limited drawing of grid lines to 1000 lines."),as=!0),this.options.showMajorLabels){const e=this.body.util.toTime(0),i=s.getLabelMajor(e),n=i.length*(this.props.majorCharWidth||10)+10;(null==f||n{for(;t.length;){const e=t.pop();e&&e.parentNode&&e.parentNode.removeChild(e)}}))}_repaintMinorText(t,e,i,n){let o=this.dom.redundant.minorTexts.shift();if(!o){const t=document.createTextNode("");o=document.createElement("div"),o.appendChild(t),this.dom.foreground.appendChild(o)}this.dom.minorTexts.push(o),o.innerHTML=Wo.xss(e);let s="top"==i?this.props.majorLabelHeight:0;return this._setXY(o,t,s),o.className=`vis-text vis-minor ${n}`,o}_repaintMajorText(t,e,i,n){let o=this.dom.redundant.majorTexts.shift();if(!o){const t=document.createElement("div");o=document.createElement("div"),o.appendChild(t),this.dom.foreground.appendChild(o)}o.childNodes[0].innerHTML=Wo.xss(e),o.className=`vis-text vis-major ${n}`;let s="top"==i?0:this.props.minorLabelHeight;return this._setXY(o,t,s),this.dom.majorTexts.push(o),o}_setXY(t,e,i){const n=this.options.rtl?-1*e:e;t.style.transform=`translate(${n}px, ${i}px)`}_repaintMinorLine(t,e,i,n){let o=this.dom.redundant.lines.shift();o||(o=document.createElement("div"),this.dom.background.appendChild(o)),this.dom.lines.push(o);const s=this.props;o.style.width=`${e}px`,o.style.height=`${s.minorLineHeight}px`;let r="top"==i?s.majorLabelHeight:this.body.domProps.top.height,a=t-s.minorLineWidth/2;return this._setXY(o,a,r),o.className=`vis-grid ${this.options.rtl?"vis-vertical-rtl":"vis-vertical"} vis-minor ${n}`,o}_repaintMajorLine(t,e,i,n){let o=this.dom.redundant.lines.shift();o||(o=document.createElement("div"),this.dom.background.appendChild(o)),this.dom.lines.push(o);const s=this.props;o.style.width=`${e}px`,o.style.height=`${s.majorLineHeight}px`;let r="top"==i?0:this.body.domProps.top.height,a=t-s.majorLineWidth/2;return this._setXY(o,a,r),o.className=`vis-grid ${this.options.rtl?"vis-vertical-rtl":"vis-vertical"} vis-major ${n}`,o}_calculateCharSize(){this.dom.measureCharMinor||(this.dom.measureCharMinor=document.createElement("DIV"),this.dom.measureCharMinor.className="vis-text vis-minor vis-measure",this.dom.measureCharMinor.style.position="absolute",this.dom.measureCharMinor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMinor)),this.props.minorCharHeight=this.dom.measureCharMinor.clientHeight,this.props.minorCharWidth=this.dom.measureCharMinor.clientWidth,this.dom.measureCharMajor||(this.dom.measureCharMajor=document.createElement("DIV"),this.dom.measureCharMajor.className="vis-text vis-major vis-measure",this.dom.measureCharMajor.style.position="absolute",this.dom.measureCharMajor.appendChild(document.createTextNode("0")),this.dom.foreground.appendChild(this.dom.measureCharMajor)),this.props.majorCharHeight=this.dom.measureCharMajor.clientHeight,this.props.majorCharWidth=this.dom.measureCharMajor.clientWidth}}var as=!1;function ls(t){this.active=!1,this.dom={container:t},this.dom.overlay=document.createElement("div"),this.dom.overlay.className="vis-overlay",this.dom.container.appendChild(this.dom.overlay),this.hammer=ns(this.dom.overlay),this.hammer.on("tap",this._onTapOverlay.bind(this));var e=this;["tap","doubletap","press","pinch","pan","panstart","panmove","panend"].forEach((function(t){e.hammer.on(t,(function(t){t.stopPropagation()}))})),document&&document.body&&(this.onClick=function(i){(function(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1})(i.target,t)||e.deactivate()},document.body.addEventListener("click",this.onClick)),void 0!==this.keycharm&&this.keycharm.destroy(),this.keycharm=function(t){var e,i=t&&t.preventDefault||!1,n=t&&t.container||window,o={},s={keydown:{},keyup:{}},r={};for(e=97;e<=122;e++)r[String.fromCharCode(e)]={code:e-97+65,shift:!1};for(e=65;e<=90;e++)r[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;e<=9;e++)r[""+e]={code:48+e,shift:!1};for(e=1;e<=12;e++)r["F"+e]={code:111+e,shift:!1};for(e=0;e<=9;e++)r["num"+e]={code:96+e,shift:!1};r["num*"]={code:106,shift:!1},r["num+"]={code:107,shift:!1},r["num-"]={code:109,shift:!1},r["num/"]={code:111,shift:!1},r["num."]={code:110,shift:!1},r.left={code:37,shift:!1},r.up={code:38,shift:!1},r.right={code:39,shift:!1},r.down={code:40,shift:!1},r.space={code:32,shift:!1},r.enter={code:13,shift:!1},r.shift={code:16,shift:void 0},r.esc={code:27,shift:!1},r.backspace={code:8,shift:!1},r.tab={code:9,shift:!1},r.ctrl={code:17,shift:!1},r.alt={code:18,shift:!1},r.delete={code:46,shift:!1},r.pageup={code:33,shift:!1},r.pagedown={code:34,shift:!1},r["="]={code:187,shift:!1},r["-"]={code:189,shift:!1},r["]"]={code:221,shift:!1},r["["]={code:219,shift:!1};var a=function(t){h(t,"keydown")},l=function(t){h(t,"keyup")},h=function(t,e){if(void 0!==s[e][t.keyCode]){for(var n=s[e][t.keyCode],o=0;o{this.options.locales[t]=Wo.extend({},i,this.options.locales[t])})),e&&null!=e.time?this.customTime=e.time:this.customTime=new Date,this.eventParams={},this._create()}setOptions(t){t&&Wo.selectiveExtend(["moment","locale","locales","id","title","rtl","snap"],this.options,t)}_create(){const t=document.createElement("div");t["custom-time"]=this,t.className=`vis-custom-time ${this.options.id||""}`,t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t;const e=document.createElement("div");function i(t){this.body.range._onMouseWheel(t)}e.style.position="relative",e.style.top="0px",this.options.rtl?e.style.right="-10px":e.style.left="-10px",e.style.height="100%",e.style.width="20px",e.addEventListener?(e.addEventListener("mousewheel",i.bind(this),!1),e.addEventListener("DOMMouseScroll",i.bind(this),!1)):e.attachEvent("onmousewheel",i.bind(this)),t.appendChild(e),this.hammer=new ns(e),this.hammer.on("panstart",this._onDragStart.bind(this)),this.hammer.on("panmove",this._onDrag.bind(this)),this.hammer.on("panend",this._onDragEnd.bind(this)),this.hammer.get("pan").set({threshold:5,direction:ns.DIRECTION_ALL}),this.hammer.get("press").set({time:1e4})}destroy(){this.hide(),this.hammer.destroy(),this.hammer=null,this.body=null}redraw(){const t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar));const e=this.body.util.toScreen(this.customTime);let i=this.options.locales[this.options.locale];i||(this.warned||(console.warn(`WARNING: options.locales['${this.options.locale}'] not found. See https://visjs.github.io/vis-timeline/docs/timeline/#Localization`),this.warned=!0),i=this.options.locales.en);let n=this.options.title;return void 0===n?(n=`${i.time}: ${this.options.moment(this.customTime).format("dddd, MMMM Do YYYY, H:mm:ss")}`,n=n.charAt(0).toUpperCase()+n.substring(1)):"function"==typeof n&&(n=n.call(this,this.customTime)),this.options.rtl?this.bar.style.right=`${e}px`:this.bar.style.left=`${e}px`,this.bar.title=n,!1}hide(){this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar)}setCustomTime(t){this.customTime=Wo.convert(t,"Date"),this.redraw()}getCustomTime(){return new Date(this.customTime.valueOf())}setCustomMarker(t,e){const i=document.createElement("div");i.className="vis-custom-time-marker",i.innerHTML=Wo.xss(t),i.style.position="absolute",e&&(i.setAttribute("contenteditable","true"),i.addEventListener("pointerdown",(function(){i.focus()})),i.addEventListener("input",this._onMarkerChange.bind(this)),i.title=t,i.addEventListener("blur",function(t){this.title!=t.target.innerHTML&&(this._onMarkerChanged(t),this.title=t.target.innerHTML)}.bind(this))),this.bar.appendChild(i)}setCustomTitle(t){this.options.title=t}_onDragStart(t){this.eventParams.dragging=!0,this.eventParams.customTime=this.customTime,t.stopPropagation()}_onDrag(t){if(!this.eventParams.dragging)return;let e=this.options.rtl?-1*t.deltaX:t.deltaX;const i=this.body.util.toScreen(this.eventParams.customTime)+e,n=this.body.util.toTime(i),o=this.body.util.getScale(),s=this.body.util.getStep(),r=this.options.snap,a=r?r(n,o,s):n;this.setCustomTime(a),this.body.emitter.emit("timechange",{id:this.options.id,time:new Date(this.customTime.valueOf()),event:t}),t.stopPropagation()}_onDragEnd(t){this.eventParams.dragging&&(this.body.emitter.emit("timechanged",{id:this.options.id,time:new Date(this.customTime.valueOf()),event:t}),t.stopPropagation())}_onMarkerChange(t){this.body.emitter.emit("markerchange",{id:this.options.id,title:t.target.innerHTML,event:t}),t.stopPropagation()}_onMarkerChanged(t){this.body.emitter.emit("markerchanged",{id:this.options.id,title:t.target.innerHTML,event:t}),t.stopPropagation()}static customTimeFromTarget(t){let e=t.target;for(;e;){if(e.hasOwnProperty("custom-time"))return e["custom-time"];e=e.parentNode}return null}}class Cs{_create(t){this.dom={},this.dom.container=t,this.dom.container.style.position="relative",this.dom.root=document.createElement("div"),this.dom.background=document.createElement("div"),this.dom.backgroundVertical=document.createElement("div"),this.dom.backgroundHorizontal=document.createElement("div"),this.dom.centerContainer=document.createElement("div"),this.dom.leftContainer=document.createElement("div"),this.dom.rightContainer=document.createElement("div"),this.dom.center=document.createElement("div"),this.dom.left=document.createElement("div"),this.dom.right=document.createElement("div"),this.dom.top=document.createElement("div"),this.dom.bottom=document.createElement("div"),this.dom.shadowTop=document.createElement("div"),this.dom.shadowBottom=document.createElement("div"),this.dom.shadowTopLeft=document.createElement("div"),this.dom.shadowBottomLeft=document.createElement("div"),this.dom.shadowTopRight=document.createElement("div"),this.dom.shadowBottomRight=document.createElement("div"),this.dom.rollingModeBtn=document.createElement("div"),this.dom.loadingScreen=document.createElement("div"),this.dom.root.className="vis-timeline",this.dom.background.className="vis-panel vis-background",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical",this.dom.backgroundHorizontal.className="vis-panel vis-background vis-horizontal",this.dom.centerContainer.className="vis-panel vis-center",this.dom.leftContainer.className="vis-panel vis-left",this.dom.rightContainer.className="vis-panel vis-right",this.dom.top.className="vis-panel vis-top",this.dom.bottom.className="vis-panel vis-bottom",this.dom.left.className="vis-content",this.dom.center.className="vis-content",this.dom.right.className="vis-content",this.dom.shadowTop.className="vis-shadow vis-top",this.dom.shadowBottom.className="vis-shadow vis-bottom",this.dom.shadowTopLeft.className="vis-shadow vis-top",this.dom.shadowBottomLeft.className="vis-shadow vis-bottom",this.dom.shadowTopRight.className="vis-shadow vis-top",this.dom.shadowBottomRight.className="vis-shadow vis-bottom",this.dom.rollingModeBtn.className="vis-rolling-mode-btn",this.dom.loadingScreen.className="vis-loading-screen",this.dom.root.appendChild(this.dom.background),this.dom.root.appendChild(this.dom.backgroundVertical),this.dom.root.appendChild(this.dom.backgroundHorizontal),this.dom.root.appendChild(this.dom.centerContainer),this.dom.root.appendChild(this.dom.leftContainer),this.dom.root.appendChild(this.dom.rightContainer),this.dom.root.appendChild(this.dom.top),this.dom.root.appendChild(this.dom.bottom),this.dom.root.appendChild(this.dom.rollingModeBtn),this.dom.centerContainer.appendChild(this.dom.center),this.dom.leftContainer.appendChild(this.dom.left),this.dom.rightContainer.appendChild(this.dom.right),this.dom.centerContainer.appendChild(this.dom.shadowTop),this.dom.centerContainer.appendChild(this.dom.shadowBottom),this.dom.leftContainer.appendChild(this.dom.shadowTopLeft),this.dom.leftContainer.appendChild(this.dom.shadowBottomLeft),this.dom.rightContainer.appendChild(this.dom.shadowTopRight),this.dom.rightContainer.appendChild(this.dom.shadowBottomRight),this.props={root:{},background:{},centerContainer:{},leftContainer:{},rightContainer:{},center:{},left:{},right:{},top:{},bottom:{},border:{},scrollTop:0,scrollTopMin:0},this.on("rangechange",(()=>{!0===this.initialDrawDone&&this._redraw()})),this.on("rangechanged",(()=>{this.initialRangeChangeDone||(this.initialRangeChangeDone=!0)})),this.on("touch",this._onTouch.bind(this)),this.on("panmove",this._onDrag.bind(this));const e=this;this._origRedraw=this._redraw.bind(this),this._redraw=Wo.throttle(this._origRedraw),this.on("_change",(t=>{e.itemSet&&e.itemSet.initialItemSetDrawn&&t&&1==t.queue?e._redraw():e._origRedraw()})),this.hammer=new ns(this.dom.root);const i=this.hammer.get("pinch").set({enable:!0});i&&function(t){t.getTouchAction=function(){return["pan-y"]}}(i),this.hammer.get("pan").set({threshold:5,direction:ns.DIRECTION_ALL}),this.timelineListeners={};var n,o;function s(t){this.isActive()&&this.emit("mousewheel",t);let e=0,i=0;if("detail"in t&&(i=-1*t.detail),"wheelDelta"in t&&(i=t.wheelDelta),"wheelDeltaY"in t&&(i=t.wheelDeltaY),"wheelDeltaX"in t&&(e=-1*t.wheelDeltaX),"axis"in t&&t.axis===t.HORIZONTAL_AXIS&&(e=-1*i,i=0),"deltaY"in t&&(i=-1*t.deltaY),"deltaX"in t&&(e=t.deltaX),t.deltaMode&&(1===t.deltaMode?(e*=40,i*=40):(e*=40,i*=800)),this.options.preferZoom){if(!this.options.zoomKey||t[this.options.zoomKey])return}else if(this.options.zoomKey&&t[this.options.zoomKey])return;if(this.options.verticalScroll||this.options.horizontalScroll)if(this.options.verticalScroll&&Math.abs(i)>=Math.abs(e)){const e=this.props.scrollTop,n=e+i;if(this.isActive()){this._setScrollTop(n)!==e&&(this._redraw(),this.emit("scroll",t),t.preventDefault())}}else if(this.options.horizontalScroll){const n=(Math.abs(e)>=Math.abs(i)?e:i)/120*(this.range.end-this.range.start)/20,o=this.range.start+n,s=this.range.end+n,r={animation:!1,byUser:!0,event:t};this.range.setRange(o,s,r),t.preventDefault()}}["tap","doubletap","press","pinch","pan","panstart","panmove","panend"].forEach((t=>{const i=i=>{e.isActive()&&e.emit(t,i)};e.hammer.on(t,i),e.timelineListeners[t]=i})),os(this.hammer,(t=>{e.emit("touch",t)})),n=this.hammer,(o=t=>{e.emit("release",t)}).inputHandler=function(t){t.isFinal&&o(t)},n.on("hammer.input",o.inputHandler);const r="onwheel"in document.createElement("div")?"wheel":void 0!==document.onmousewheel?"mousewheel":this.dom.centerContainer.addEventListener?"DOMMouseScroll":"onmousewheel";function a(t){if(e.options.verticalScroll&&(t.preventDefault(),e.isActive())){const i=-t.target.scrollTop;e._setScrollTop(i),e._redraw(),e.emit("scrollSide",t)}}this.dom.top.addEventListener,this.dom.bottom.addEventListener,this.dom.centerContainer.addEventListener(r,s.bind(this),!1),this.dom.top.addEventListener(r,s.bind(this),!1),this.dom.bottom.addEventListener(r,s.bind(this),!1),this.dom.left.parentNode.addEventListener("scroll",a.bind(this)),this.dom.right.parentNode.addEventListener("scroll",a.bind(this));let l=!1;if(this.dom.center.addEventListener("dragover",function(t){if(t.preventDefault&&(e.emit("dragover",e.getEventProperties(t)),t.preventDefault()),t.target.className.indexOf("timeline")>-1&&!l)return t.dataTransfer.dropEffect="move",l=!0,!1}.bind(this),!1),this.dom.center.addEventListener("drop",function(t){t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation();try{var i=JSON.parse(t.dataTransfer.getData("text"));if(!i||!i.content)return}catch(t){return!1}return l=!1,t.center={x:t.clientX,y:t.clientY},"item"!==i.target?e.itemSet._onAddItem(t):e.itemSet._onDropObjectOnItem(t),e.emit("drop",e.getEventProperties(t)),!1}.bind(this),!1),this.customTimes=[],this.touch={},this.redrawCount=0,this.initialDrawDone=!1,this.initialRangeChangeDone=!1,!t)throw new Error("No container provided");t.appendChild(this.dom.root),t.appendChild(this.dom.loadingScreen)}setOptions(t){if(t){const e=["width","height","minHeight","maxHeight","autoResize","start","end","clickToUse","dataAttributes","hiddenDates","locale","locales","moment","preferZoom","rtl","zoomKey","horizontalScroll","verticalScroll","longSelectPressTime","snap"];if(Wo.selectiveExtend(e,this.options,t),this.dom.rollingModeBtn.style.visibility="hidden",this.options.rtl&&(this.dom.container.style.direction="rtl",this.dom.backgroundVertical.className="vis-panel vis-background vis-vertical-rtl"),this.options.verticalScroll&&(this.options.rtl?this.dom.rightContainer.className="vis-panel vis-right vis-vertical-scroll":this.dom.leftContainer.className="vis-panel vis-left vis-vertical-scroll"),"object"!=typeof this.options.orientation&&(this.options.orientation={item:void 0,axis:void 0}),"orientation"in t&&("string"==typeof t.orientation?this.options.orientation={item:t.orientation,axis:t.orientation}:"object"==typeof t.orientation&&("item"in t.orientation&&(this.options.orientation.item=t.orientation.item),"axis"in t.orientation&&(this.options.orientation.axis=t.orientation.axis))),"both"===this.options.orientation.axis){if(!this.timeAxis2){const t=this.timeAxis2=new rs(this.body);t.setOptions=e=>{const i=e?Wo.extend({},e):{};i.orientation="top",rs.prototype.setOptions.call(t,i)},this.components.push(t)}}else if(this.timeAxis2){const t=this.components.indexOf(this.timeAxis2);-1!==t&&this.components.splice(t,1),this.timeAxis2.destroy(),this.timeAxis2=null}"function"==typeof t.drawPoints&&(t.drawPoints={onRender:t.drawPoints}),"hiddenDates"in this.options&&Vo(this.options.moment,this.body,this.options.hiddenDates),"clickToUse"in t&&(t.clickToUse?this.activator||(this.activator=new ls(this.dom.root)):this.activator&&(this.activator.destroy(),delete this.activator)),this._initAutoResize()}if(this.components.forEach((e=>e.setOptions(t))),"configure"in t){this.configurator||(this.configurator=this._createConfigurator()),this.configurator.setOptions(t.configure);const e=Wo.deepExtend({},this.options);this.components.forEach((t=>{Wo.deepExtend(e,t.options)})),this.configurator.setModuleOptions({global:e})}this._redraw()}isActive(){return!this.activator||this.activator.active}destroy(){this.setItems(null),this.setGroups(null),this.off(),this._stopAutoResize(),this.dom.root.parentNode&&this.dom.root.parentNode.removeChild(this.dom.root),this.dom=null,this.activator&&(this.activator.destroy(),delete this.activator);for(const t in this.timelineListeners)this.timelineListeners.hasOwnProperty(t)&&delete this.timelineListeners[t];this.timelineListeners=null,this.hammer&&this.hammer.destroy(),this.hammer=null,this.components.forEach((t=>t.destroy())),this.body=null}setCustomTime(t,e){const i=this.customTimes.filter((t=>e===t.options.id));if(0===i.length)throw new Error(`No custom time bar found with id ${JSON.stringify(e)}`);i.length>0&&i[0].setCustomTime(t)}getCustomTime(t){const e=this.customTimes.filter((e=>e.options.id===t));if(0===e.length)throw new Error(`No custom time bar found with id ${JSON.stringify(t)}`);return e[0].getCustomTime()}setCustomTimeMarker(t,e,i){const n=this.customTimes.filter((t=>t.options.id===e));if(0===n.length)throw new Error(`No custom time bar found with id ${JSON.stringify(e)}`);n.length>0&&n[0].setCustomMarker(t,i)}setCustomTimeTitle(t,e){const i=this.customTimes.filter((t=>t.options.id===e));if(0===i.length)throw new Error(`No custom time bar found with id ${JSON.stringify(e)}`);if(i.length>0)return i[0].setCustomTitle(t)}getEventProperties(t){return{event:t}}addCustomTime(t,e){const i=void 0!==t?Wo.convert(t,"Date"):new Date,n=this.customTimes.some((t=>t.options.id===e));if(n)throw new Error(`A custom time with id ${JSON.stringify(e)} already exists`);const o=new Ds(this.body,Wo.extend({},this.options,{time:i,id:e,snap:this.itemSet?this.itemSet.options.snap:this.options.snap}));return this.customTimes.push(o),this.components.push(o),this._redraw(),e}removeCustomTime(t){const e=this.customTimes.filter((e=>e.options.id===t));if(0===e.length)throw new Error(`No custom time bar found with id ${JSON.stringify(t)}`);e.forEach((t=>{this.customTimes.splice(this.customTimes.indexOf(t),1),this.components.splice(this.components.indexOf(t),1),t.destroy()}))}getVisibleItems(){return this.itemSet&&this.itemSet.getVisibleItems()||[]}getItemsAtCurrentTime(t){return this.time=t,this.itemSet&&this.itemSet.getItemsAtCurrentTime(this.time)||[]}getVisibleGroups(){return this.itemSet&&this.itemSet.getVisibleGroups()||[]}fit(t,e){const i=this.getDataRange();if(null===i.min&&null===i.max)return;const n=i.max-i.min,o=new Date(i.min.valueOf()-.01*n),s=new Date(i.max.valueOf()+.01*n),r=!t||void 0===t.animation||t.animation;this.range.setRange(o,s,{animation:r},e)}getDataRange(){throw new Error("Cannot invoke abstract method getDataRange")}setWindow(t,e,i,n){let o,s;"function"==typeof arguments[2]&&(n=arguments[2],i={}),1==arguments.length?(s=arguments[0],o=void 0===s.animation||s.animation,this.range.setRange(s.start,s.end,{animation:o})):2==arguments.length&&"function"==typeof arguments[1]?(s=arguments[0],n=arguments[1],o=void 0===s.animation||s.animation,this.range.setRange(s.start,s.end,{animation:o},n)):(o=!i||void 0===i.animation||i.animation,this.range.setRange(t,e,{animation:o},n))}moveTo(t,e,i){"function"==typeof arguments[1]&&(i=arguments[1],e={});const n=this.range.end-this.range.start,o=Wo.convert(t,"Date").valueOf(),s=o-n/2,r=o+n/2,a=!e||void 0===e.animation||e.animation;this.range.setRange(s,r,{animation:a},i)}getWindow(){const t=this.range.getRange();return{start:new Date(t.start),end:new Date(t.end)}}zoomIn(t,e,i){if(!t||t<0||t>1)return;"function"==typeof arguments[1]&&(i=arguments[1],e={});const n=this.getWindow(),o=n.start.valueOf(),s=n.end.valueOf(),r=s-o,a=(r-r/(1+t))/2,l=o+a,h=s-a;this.setWindow(l,h,e,i)}zoomOut(t,e,i){if(!t||t<0||t>1)return;"function"==typeof arguments[1]&&(i=arguments[1],e={});const n=this.getWindow(),o=n.start.valueOf(),s=n.end.valueOf(),r=s-o,a=o-r*t/2,l=s+r*t/2;this.setWindow(a,l,e,i)}redraw(){this._redraw()}_redraw(){this.redrawCount++;const t=this.dom;if(!t||!t.container||0==t.root.offsetWidth)return;let e=!1;const i=this.options,n=this.props;Uo(this.options.moment,this.body,this.options.hiddenDates),"top"==i.orientation?(Wo.addClassName(t.root,"vis-top"),Wo.removeClassName(t.root,"vis-bottom")):(Wo.removeClassName(t.root,"vis-top"),Wo.addClassName(t.root,"vis-bottom")),i.rtl?(Wo.addClassName(t.root,"vis-rtl"),Wo.removeClassName(t.root,"vis-ltr")):(Wo.addClassName(t.root,"vis-ltr"),Wo.removeClassName(t.root,"vis-rtl")),t.root.style.maxHeight=Wo.option.asSize(i.maxHeight,""),t.root.style.minHeight=Wo.option.asSize(i.minHeight,""),t.root.style.width=Wo.option.asSize(i.width,"");const o=t.root.offsetWidth;n.border.left=1,n.border.right=1,n.border.top=1,n.border.bottom=1,n.center.height=t.center.offsetHeight,n.left.height=t.left.offsetHeight,n.right.height=t.right.offsetHeight,n.top.height=t.top.clientHeight||-n.border.top,n.bottom.height=Math.round(t.bottom.getBoundingClientRect().height)||t.bottom.clientHeight||-n.border.bottom;const s=Math.max(n.left.height,n.center.height,n.right.height),r=n.top.height+s+n.bottom.height+n.border.top+n.border.bottom;t.root.style.height=Wo.option.asSize(i.height,`${r}px`),n.root.height=t.root.offsetHeight,n.background.height=n.root.height;const a=n.root.height-n.top.height-n.bottom.height;n.centerContainer.height=a,n.leftContainer.height=a,n.rightContainer.height=n.leftContainer.height,n.root.width=o,n.background.width=n.root.width,this.initialDrawDone||(n.scrollbarWidth=Wo.getScrollBarWidth());const l=t.leftContainer.clientWidth,h=t.rightContainer.clientWidth;i.verticalScroll?i.rtl?(n.left.width=l||-n.border.left,n.right.width=h+n.scrollbarWidth||-n.border.right):(n.left.width=l+n.scrollbarWidth||-n.border.left,n.right.width=h||-n.border.right):(n.left.width=l||-n.border.left,n.right.width=h||-n.border.right),this._setDOM();let d=this._updateScrollTop();"top"!=i.orientation.item&&(d+=Math.max(n.centerContainer.height-n.center.height-n.border.top-n.border.bottom,0)),t.center.style.transform=`translateY(${d}px)`;const c=0==n.scrollTop?"hidden":"",u=n.scrollTop==n.scrollTopMin?"hidden":"";t.shadowTop.style.visibility=c,t.shadowBottom.style.visibility=u,t.shadowTopLeft.style.visibility=c,t.shadowBottomLeft.style.visibility=u,t.shadowTopRight.style.visibility=c,t.shadowBottomRight.style.visibility=u,i.verticalScroll&&(t.rightContainer.className="vis-panel vis-right vis-vertical-scroll",t.leftContainer.className="vis-panel vis-left vis-vertical-scroll",t.shadowTopRight.style.visibility="hidden",t.shadowBottomRight.style.visibility="hidden",t.shadowTopLeft.style.visibility="hidden",t.shadowBottomLeft.style.visibility="hidden",t.left.style.top="0px",t.right.style.top="0px"),(!i.verticalScroll||n.center.heightn.centerContainer.height;this.hammer.get("pan").set({direction:p?ns.DIRECTION_ALL:ns.DIRECTION_HORIZONTAL}),this.hammer.get("press").set({time:this.options.longSelectPressTime}),this.components.forEach((t=>{e=t.redraw()||e}));if(e){if(this.redrawCount<5)return void this.body.emitter.emit("_change");console.log("WARNING: infinite loop in redraw?")}else this.redrawCount=0;this.body.emitter.emit("changed")}_setDOM(){const t=this.props,e=this.dom;t.leftContainer.width=t.left.width,t.rightContainer.width=t.right.width;const i=t.root.width-t.left.width-t.right.width;t.center.width=i,t.centerContainer.width=i,t.top.width=i,t.bottom.width=i,e.background.style.height=`${t.background.height}px`,e.backgroundVertical.style.height=`${t.background.height}px`,e.backgroundHorizontal.style.height=`${t.centerContainer.height}px`,e.centerContainer.style.height=`${t.centerContainer.height}px`,e.leftContainer.style.height=`${t.leftContainer.height}px`,e.rightContainer.style.height=`${t.rightContainer.height}px`,e.background.style.width=`${t.background.width}px`,e.backgroundVertical.style.width=`${t.centerContainer.width}px`,e.backgroundHorizontal.style.width=`${t.background.width}px`,e.centerContainer.style.width=`${t.center.width}px`,e.top.style.width=`${t.top.width}px`,e.bottom.style.width=`${t.bottom.width}px`,e.background.style.left="0",e.background.style.top="0",e.backgroundVertical.style.left=`${t.left.width+t.border.left}px`,e.backgroundVertical.style.top="0",e.backgroundHorizontal.style.left="0",e.backgroundHorizontal.style.top=`${t.top.height}px`,e.centerContainer.style.left=`${t.left.width}px`,e.centerContainer.style.top=`${t.top.height}px`,e.leftContainer.style.left="0",e.leftContainer.style.top=`${t.top.height}px`,e.rightContainer.style.left=`${t.left.width+t.center.width}px`,e.rightContainer.style.top=`${t.top.height}px`,e.top.style.left=`${t.left.width}px`,e.top.style.top="0",e.bottom.style.left=`${t.left.width}px`,e.bottom.style.top=`${t.top.height+t.centerContainer.height}px`,e.center.style.left="0",e.left.style.left="0",e.right.style.left="0"}setCurrentTime(t){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");this.currentTime.setCurrentTime(t)}getCurrentTime(){if(!this.currentTime)throw new Error("Option showCurrentTime must be true");return this.currentTime.getCurrentTime()}_toTime(t){return qo(this,t,this.props.center.width)}_toGlobalTime(t){return qo(this,t,this.props.root.width)}_toScreen(t){return $o(this,t,this.props.center.width)}_toGlobalScreen(t){return $o(this,t,this.props.root.width)}_initAutoResize(){1==this.options.autoResize?this._startAutoResize():this._stopAutoResize()}_startAutoResize(){const t=this;this._stopAutoResize(),this._onResize=()=>{if(1==t.options.autoResize){if(t.dom.root){const e=t.dom.root.offsetHeight,i=t.dom.root.offsetWidth;i==t.props.lastWidth&&e==t.props.lastHeight||(t.props.lastWidth=i,t.props.lastHeight=e,t.props.scrollbarWidth=Wo.getScrollBarWidth(),t.body.emitter.emit("_change"))}}else t._stopAutoResize()},Wo.addEventListener(window,"resize",this._onResize),t.dom.root&&(t.props.lastWidth=t.dom.root.offsetWidth,t.props.lastHeight=t.dom.root.offsetHeight),this.watchTimer=setInterval(this._onResize,1e3)}_stopAutoResize(){this.watchTimer&&(clearInterval(this.watchTimer),this.watchTimer=void 0),this._onResize&&(Wo.removeEventListener(window,"resize",this._onResize),this._onResize=null)}_onTouch(t){this.touch.allowDragging=!0,this.touch.initialScrollTop=this.props.scrollTop}_onPinch(t){this.touch.allowDragging=!1}_onDrag(t){if(!t)return;if(!this.touch.allowDragging)return;const e=t.deltaY,i=this._getScrollTop(),n=this._setScrollTop(this.touch.initialScrollTop+e);this.options.verticalScroll&&(this.dom.left.parentNode.scrollTop=-this.props.scrollTop,this.dom.right.parentNode.scrollTop=-this.props.scrollTop),n!=i&&this.emit("verticalDrag")}_setScrollTop(t){return this.props.scrollTop=t,this._updateScrollTop(),this.props.scrollTop}_updateScrollTop(){const t=Math.min(this.props.centerContainer.height-this.props.border.top-this.props.border.bottom-this.props.center.height,0);return t!=this.props.scrollTopMin&&("top"!=this.options.orientation.item&&(this.props.scrollTop+=t-this.props.scrollTopMin),this.props.scrollTopMin=t),this.props.scrollTop>0&&(this.props.scrollTop=0),this.props.scrollTop{this.options.locales[t]=Wo.extend({},i,this.options.locales[t])})),this.offset=0,this._create()}_create(){const t=document.createElement("div");t.className="vis-current-time",t.style.position="absolute",t.style.top="0px",t.style.height="100%",this.bar=t}destroy(){this.options.showCurrentTime=!1,this.redraw(),this.body=null}setOptions(t){t&&Wo.selectiveExtend(["rtl","showCurrentTime","alignCurrentTime","moment","locale","locales"],this.options,t)}redraw(){if(this.options.showCurrentTime){const t=this.body.dom.backgroundVertical;this.bar.parentNode!=t&&(this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),t.appendChild(this.bar),this.start());let e=this.options.moment(Date.now()+this.offset);this.options.alignCurrentTime&&(e=e.startOf(this.options.alignCurrentTime));const i=this.body.util.toScreen(e);let n=this.options.locales[this.options.locale];n||(this.warned||(console.warn(`WARNING: options.locales['${this.options.locale}'] not found. See https://visjs.github.io/vis-timeline/docs/timeline/#Localization`),this.warned=!0),n=this.options.locales.en);let o=`${n.current} ${n.time}: ${e.format("dddd, MMMM Do YYYY, H:mm:ss")}`;o=o.charAt(0).toUpperCase()+o.substring(1),this.options.rtl?this.bar.style.transform=`translateX(${-1*i}px)`:this.bar.style.transform=`translateX(${i}px)`,this.bar.title=o}else this.bar.parentNode&&this.bar.parentNode.removeChild(this.bar),this.stop();return!1}start(){const t=this;!function e(){t.stop();let i=1/t.body.range.conversion(t.body.domProps.center.width).scale/10;i<30&&(i=30),i>1e3&&(i=1e3),t.redraw(),t.body.emitter.emit("currentTimeTick"),t.currentTimeTimer=setTimeout(e,i)}()}stop(){void 0!==this.currentTimeTimer&&(clearTimeout(this.currentTimeTimer),delete this.currentTimeTimer)}setCurrentTime(t){const e=Wo.convert(t,"Date").valueOf(),i=Date.now();this.offset=e-i,this.redraw()}getCurrentTime(){return new Date(Date.now()+this.offset)}}const Ts=.001;function Es(t,e,i,n){return null===As(t,e.item,!1,(t=>t.stack&&(i||null===t.top)),(t=>t.stack),(t=>e.axis),n)}function Ms(t,e,i){const n=As(t,e.item,!1,(t=>t.stack),(t=>!0),(t=>t.baseTop));i.height=n-i.top+.5*e.item.vertical}function Os(t,e,i,n){for(let o=0;ot.index>e.index?1:t.index!0),(t=>!0),(t=>0));for(let n=0;ni[t].index&&(i[s].top+=i[t].height);const o=t[s];for(let t=0;tt.start,l=t=>t.end;if(!i){const i=!(!t[0]||!t[0].options.rtl);a=i?t=>t.right:t=>t.left,l=t=>a(t)+t.width+e.horizontal}const h=[],d=[];let c=null,u=0;for(const e of t)if(n(e))h.push(e);else if(o(e)){const t=a(e);null!==c&&ta(e)-Ts>t),u),d.splice(u,0,e),u++}c=null;let p=null;u=0;let m=0,f=0,g=0;for(;h.length>0;){const t=h.shift();t.top=s(t);const i=a(t),n=l(t);null!==c&&iinn&&(f=Ns(d,(t=>n+Ts>=a(t)),m,horizontalOVerlapEndIndex)+1);const w=d.slice(m,f).filter((t=>ia(t))).sort(((t,e)=>t.top-e.top));for(let i=0;iy.top&&(t.top=n.top+n.height+e.vertical)}o(t)&&(u=Ps(d,(t=>a(t)-Ts>i),u),d.splice(u,0,t),u++);const _=t.top+t.height;if(_>g&&(g=_),r&&r())return null}var v,y,b;return g}function Ps(t,e,i){i||(i=0);const n=t.slice(i).findIndex(e);return-1===n?t.length:n+i}function Ns(t,e,n,o){for(n||(n=0),o||(o=t.length),i=o-1;i>=n;i--)if(e(t[i]))return i;return n-1}const Fs="__background__";class Rs{constructor(t,e,i){if(this.groupId=t,this.subgroups={},this.subgroupStack={},this.subgroupStackAll=!1,this.subgroupVisibility={},this.doInnerStack=!1,this.shouldBailStackItems=!1,this.subgroupIndex=0,this.subgroupOrderer=e&&e.subgroupOrder,this.itemSet=i,this.isVisible=null,this.stackDirty=!0,this._disposeCallbacks=[],e&&e.nestedGroups&&(this.nestedGroups=e.nestedGroups,0==e.showNested?this.showNested=!1:this.showNested=!0),e&&e.subgroupStack)if("boolean"==typeof e.subgroupStack)this.doInnerStack=e.subgroupStack,this.subgroupStackAll=e.subgroupStack;else for(const t in e.subgroupStack)this.subgroupStack[t]=e.subgroupStack[t],this.doInnerStack=this.doInnerStack||e.subgroupStack[t];e&&e.heightMode?this.heightMode=e.heightMode:this.heightMode=i.options.groupHeightMode,this.nestedInGroup=null,this.dom={},this.props={label:{width:0,height:0}},this.className=null,this.items={},this.visibleItems=[],this.itemsInRange=[],this.orderedItems={byStart:[],byEnd:[]},this.checkRangedItems=!1;const n=()=>{this.checkRangedItems=!0};this.itemSet.body.emitter.on("checkRangedItems",n),this._disposeCallbacks.push((()=>{this.itemSet.body.emitter.off("checkRangedItems",n)})),this._create(),this.setData(e)}_create(){const t=document.createElement("div");this.itemSet.options.groupEditable.order?t.className="vis-label draggable":t.className="vis-label",this.dom.label=t;const e=document.createElement("div");e.className="vis-inner",t.appendChild(e),this.dom.inner=e;const i=document.createElement("div");i.className="vis-group",i["vis-group"]=this,this.dom.foreground=i,this.dom.background=document.createElement("div"),this.dom.background.className="vis-group",this.dom.axis=document.createElement("div"),this.dom.axis.className="vis-group",this.dom.marker=document.createElement("div"),this.dom.marker.style.visibility="hidden",this.dom.marker.style.position="absolute",this.dom.marker.innerHTML="",this.dom.background.appendChild(this.dom.marker)}setData(t){if(this.itemSet.groupTouchParams.isDragging)return;let e,i;if(t&&t.subgroupVisibility)for(const e in t.subgroupVisibility)this.subgroupVisibility[e]=t.subgroupVisibility[e];if(this.itemSet.options&&this.itemSet.options.groupTemplate?(i=this.itemSet.options.groupTemplate.bind(this),e=i(t,this.dom.inner)):e=t&&t.content,e instanceof Element){for(;this.dom.inner.firstChild;)this.dom.inner.removeChild(this.dom.inner.firstChild);this.dom.inner.appendChild(e)}else e instanceof Object&&e.isReactComponent||(e instanceof Object?i(t,this.dom.inner):this.dom.inner.innerHTML=null!=e?Wo.xss(e):Wo.xss(this.groupId||""));this.dom.label.title=t&&t.title||"",this.dom.inner.firstChild?Wo.removeClassName(this.dom.inner,"vis-hidden"):Wo.addClassName(this.dom.inner,"vis-hidden"),t&&t.nestedGroups?(this.nestedGroups&&this.nestedGroups==t.nestedGroups||(this.nestedGroups=t.nestedGroups),void 0===t.showNested&&void 0!==this.showNested||(0==t.showNested?this.showNested=!1:this.showNested=!0),Wo.addClassName(this.dom.label,"vis-nesting-group"),this.showNested?(Wo.removeClassName(this.dom.label,"collapsed"),Wo.addClassName(this.dom.label,"expanded")):(Wo.removeClassName(this.dom.label,"expanded"),Wo.addClassName(this.dom.label,"collapsed"))):this.nestedGroups&&(this.nestedGroups=null,Wo.removeClassName(this.dom.label,"collapsed"),Wo.removeClassName(this.dom.label,"expanded"),Wo.removeClassName(this.dom.label,"vis-nesting-group")),t&&(t.treeLevel||t.nestedInGroup)?(Wo.addClassName(this.dom.label,"vis-nested-group"),t.treeLevel?Wo.addClassName(this.dom.label,"vis-group-level-"+t.treeLevel):Wo.addClassName(this.dom.label,"vis-group-level-unknown-but-gte1")):Wo.addClassName(this.dom.label,"vis-group-level-0");const n=t&&t.className||null;n!=this.className&&(this.className&&(Wo.removeClassName(this.dom.label,this.className),Wo.removeClassName(this.dom.foreground,this.className),Wo.removeClassName(this.dom.background,this.className),Wo.removeClassName(this.dom.axis,this.className)),Wo.addClassName(this.dom.label,n),Wo.addClassName(this.dom.foreground,n),Wo.addClassName(this.dom.background,n),Wo.addClassName(this.dom.axis,n),this.className=n),this.style&&(Wo.removeCssText(this.dom.label,this.style),this.style=null),t&&t.style&&(Wo.addCssText(this.dom.label,t.style),this.style=t.style)}getLabelWidth(){return this.props.label.width}_didMarkerHeightChange(){const t=this.dom.marker.clientHeight;if(t!=this.lastMarkerHeight){this.lastMarkerHeight=t;const e={};let i=0;Wo.forEach(this.items,((t,n)=>{if(t.dirty=!0,t.displayed){const o=!0;e[n]=t.redraw(o),i=e[n].length}}));if(i>0)for(let t=0;t{e[t]()}));return!0}return!1}_calculateGroupSizeAndPosition(){const{offsetTop:t,offsetLeft:e,offsetWidth:i}=this.dom.foreground;this.top=t,this.right=e,this.width=i}_shouldBailItemsRedraw(){const t=this,e=this.itemSet.options.onTimeout,i={relativeBailingTime:this.itemSet.itemsSettingTime,bailTimeMs:e&&e.timeoutMs,userBailFunction:e&&e.callback,shouldBailStackItems:this.shouldBailStackItems};let n=null;if(!this.itemSet.initialDrawDone){if(i.shouldBailStackItems)return!0;Math.abs(Date.now()-new Date(i.relativeBailingTime))>i.bailTimeMs&&(i.userBailFunction&&null==this.itemSet.userContinueNotBail?i.userBailFunction((e=>{t.itemSet.userContinueNotBail=e,n=!e})):n=0==t.itemSet.userContinueNotBail)}return n}_redrawItems(t,e,i,n){if(t||this.stackDirty||this.isVisible&&!e){const t={byEnd:this.orderedItems.byEnd.filter((t=>!t.isCluster)),byStart:this.orderedItems.byStart.filter((t=>!t.isCluster))},e={byEnd:[...new Set(this.orderedItems.byEnd.map((t=>t.cluster)).filter((t=>!!t)))],byStart:[...new Set(this.orderedItems.byStart.map((t=>t.cluster)).filter((t=>!!t)))]},o=()=>[...this._updateItemsInRange(t,this.visibleItems.filter((t=>!t.isCluster)),n),...this._updateClustersInRange(e,this.visibleItems.filter((t=>t.isCluster)),n)],s=t=>{let e={};for(const i in this.subgroups){const n=this.visibleItems.filter((t=>t.data.subgroup===i));e[i]=t?n.sort(((e,i)=>t(e.data,i.data))):n}return e};if("function"==typeof this.itemSet.options.order){const t=this;if(this.doInnerStack&&this.itemSet.options.stackSubgroups){Is(s(this.itemSet.options.order),i,this.subgroups),this.visibleItems=o(),this._updateSubGroupHeights(i)}else{this.visibleItems=o(),this._updateSubGroupHeights(i);const e=this.visibleItems.slice().filter((t=>t.isCluster||!t.isCluster&&!t.cluster)).sort(((e,i)=>t.itemSet.options.order(e.data,i.data)));this.shouldBailStackItems=Es(e,i,!0,this._shouldBailItemsRedraw.bind(this))}}else if(this.visibleItems=o(),this._updateSubGroupHeights(i),this.itemSet.options.stack)if(this.doInnerStack&&this.itemSet.options.stackSubgroups){Is(s(),i,this.subgroups)}else this.shouldBailStackItems=Es(this.visibleItems,i,!0,this._shouldBailItemsRedraw.bind(this));else Os(this.visibleItems,i,this.subgroups,this.itemSet.options.stackSubgroups);for(let t=0;t{t.cluster&&t.displayed&&t.hide()})),this.shouldBailStackItems&&this.itemSet.body.emitter.emit("destroyTimeline"),this.stackDirty=!1}}_didResize(t,e){t=Wo.updateProperty(this,"height",e)||t;const i=this.dom.inner.clientWidth,n=this.dom.inner.clientHeight;return t=Wo.updateProperty(this.props.label,"width",i)||t,t=Wo.updateProperty(this.props.label,"height",n)||t}_applyGroupHeight(t){this.dom.background.style.height=`${t}px`,this.dom.foreground.style.height=`${t}px`,this.dom.label.style.height=`${t}px`}_updateItemsVerticalPosition(t){for(let e=0,i=this.visibleItems.length;e{i=this._didMarkerHeightChange.call(this)||i},this._updateSubGroupHeights.bind(this,e),this._calculateGroupSizeAndPosition.bind(this),()=>{this.isVisible=this._isGroupVisible.bind(this)(t,e)},()=>{this._redrawItems.bind(this)(i,s,e,t)},this._updateSubgroupsSizes.bind(this),()=>{r=this._calculateHeight.bind(this)(e)},this._calculateGroupSizeAndPosition.bind(this),()=>{o=this._didResize.bind(this)(o,r)},()=>{this._applyGroupHeight.bind(this)(r)},()=>{this._updateItemsVerticalPosition.bind(this)(e)},(()=>(!this.isVisible&&this.height&&(o=!1),o)).bind(this)];if(n)return a;{let t;return a.forEach((e=>{t=e()})),t}}_updateSubGroupHeights(t){if(Object.keys(this.subgroups).length>0){const e=this;this._resetSubgroups(),Wo.forEach(this.visibleItems,(i=>{void 0!==i.data.subgroup&&(e.subgroups[i.data.subgroup].height=Math.max(e.subgroups[i.data.subgroup].height,i.height+t.item.vertical),e.subgroups[i.data.subgroup].visible=void 0===this.subgroupVisibility[i.data.subgroup]||Boolean(this.subgroupVisibility[i.data.subgroup]))}))}}_isGroupVisible(t,e){return this.top<=t.body.domProps.centerContainer.height-t.body.domProps.scrollTop+e.axis&&this.top+this.height+e.axis>=-t.body.domProps.scrollTop}_calculateHeight(t){let e,i;if(i="fixed"===this.heightMode?Wo.toArray(this.items):this.visibleItems,i.length>0){let n=i[0].top,o=i[0].top+i[0].height;if(Wo.forEach(i,(t=>{n=Math.min(n,t.top),o=Math.max(o,t.top+t.height)})),n>t.axis){const e=n-t.axis;o-=e,Wo.forEach(i,(t=>{t.top-=e}))}e=Math.ceil(o+t.item.vertical/2),"fitItems"!==this.heightMode&&(e=Math.max(e,this.props.label.height))}else e=this.props.label.height;return e}show(){this.dom.label.parentNode||this.itemSet.dom.labelSet.appendChild(this.dom.label),this.dom.foreground.parentNode||this.itemSet.dom.foreground.appendChild(this.dom.foreground),this.dom.background.parentNode||this.itemSet.dom.background.appendChild(this.dom.background),this.dom.axis.parentNode||this.itemSet.dom.axis.appendChild(this.dom.axis)}hide(){const t=this.dom.label;t.parentNode&&t.parentNode.removeChild(t);const e=this.dom.foreground;e.parentNode&&e.parentNode.removeChild(e);const i=this.dom.background;i.parentNode&&i.parentNode.removeChild(i);const n=this.dom.axis;n.parentNode&&n.parentNode.removeChild(n)}add(t){if(this.items[t.id]=t,t.setParent(this),this.stackDirty=!0,void 0!==t.data.subgroup&&(this._addToSubgroup(t),this.orderSubgroups()),!this.visibleItems.includes(t)){const e=this.itemSet.body.range;this._checkIfVisible(t,this.visibleItems,e)}}_addToSubgroup(t,e=t.data.subgroup){null!=e&&void 0===this.subgroups[e]&&(this.subgroups[e]={height:0,top:0,start:t.data.start,end:t.data.end||t.data.start,visible:!1,index:this.subgroupIndex,items:[],stack:this.subgroupStackAll||this.subgroupStack[e]||!1},this.subgroupIndex++),new Date(t.data.start)new Date(this.subgroups[e].end)&&(this.subgroups[e].end=i),this.subgroups[e].items.push(t)}_updateSubgroupsSizes(){const t=this;if(t.subgroups)for(const e in t.subgroups){const i=t.subgroups[e].items[0].data.end||t.subgroups[e].items[0].data.start;let n=t.subgroups[e].items[0].data.start,o=i-1;t.subgroups[e].items.forEach((t=>{new Date(t.data.start)new Date(o)&&(o=e)})),t.subgroups[e].start=n,t.subgroups[e].end=new Date(o-1)}}orderSubgroups(){if(void 0!==this.subgroupOrderer){const t=[];if("string"==typeof this.subgroupOrderer){for(const e in this.subgroups)t.push({subgroup:e,sortField:this.subgroups[e].items[0].data[this.subgroupOrderer]});t.sort(((t,e)=>t.sortField-e.sortField))}else if("function"==typeof this.subgroupOrderer){for(const e in this.subgroups)t.push(this.subgroups[e].items[0].data);t.sort(this.subgroupOrderer)}if(t.length>0)for(let e=0;e=0&&(i.items.splice(n,1),i.items.length?this._updateSubgroupsSizes():delete this.subgroups[e])}}}removeFromDataSet(t){this.itemSet.removeItem(t.id)}order(){const t=Wo.toArray(this.items),e=[],i=[];for(let n=0;nt.data.start-e.data.start)),function(t){t.sort(((t,e)=>("end"in t.data?t.data.end:t.data.start)-("end"in e.data?e.data.end:e.data.start)))}(this.orderedItems.byEnd)}_updateItemsInRange(t,e,i){const n=[],o={};if(!this.isVisible&&this.groupId!=Fs){for(let t=0;t{const{start:e,end:i}=t;return i0)for(let t=0;ttt.data.startl)),1==this.checkRangedItems){this.checkRangedItems=!1;for(let e=0;et.data.endl))}const c={};let u=0;for(let t=0;t0)for(let t=0;t{e[t]()}));for(let t=0;t=0;s--){let t=e[s];if(o(t))break;t.isCluster&&!t.hasItems()||t.cluster||void 0===n[t.id]&&(n[t.id]=!0,i.push(t))}for(let s=t+1;s0)for(let t=0;t0)for(var a=0;a{this.options.locales[t]=Wo.extend({},n,this.options.locales[t])})),this.selected=!1,this.displayed=!1,this.groupShowing=!0,this.selectable=i&&i.selectable||!1,this.dirty=!0,this.top=null,this.right=null,this.left=null,this.width=null,this.height=null,this.setSelectability(t),this.editable=null,this._updateEditStatus()}select(){this.selectable&&(this.selected=!0,this.dirty=!0,this.displayed&&this.redraw())}unselect(){this.selected=!1,this.dirty=!0,this.displayed&&this.redraw()}setData(t){null!=t.group&&this.data.group!=t.group&&null!=this.parent&&this.parent.itemSet._moveToGroup(this,t.group),this.setSelectability(t),this.parent&&(this.parent.stackDirty=!0);null!=t.subgroup&&this.data.subgroup!=t.subgroup&&null!=this.parent&&this.parent.changeSubgroup(this,this.data.subgroup,t.subgroup),this.data=t,this._updateEditStatus(),this.dirty=!0,this.displayed&&this.redraw()}setSelectability(t){t&&(this.selectable=void 0===t.selectable||Boolean(t.selectable))}setParent(t){this.displayed?(this.hide(),this.parent=t,this.parent&&this.show()):this.parent=t}isVisible(t){return!1}show(){return!1}hide(){return!1}redraw(){}repositionX(){}repositionY(){}_repaintDragCenter(){if(this.selected&&this.editable.updateTime&&!this.dom.dragCenter){const t=this,e=document.createElement("div");e.className="vis-drag-center",e.dragCenterItem=this,this.hammerDragCenter=new ns(e),this.hammerDragCenter.on("tap",(e=>{t.parent.itemSet.body.emitter.emit("click",{event:e,item:t.id})})),this.hammerDragCenter.on("doubletap",(e=>{e.stopPropagation(),t.parent.itemSet._onUpdateItem(t),t.parent.itemSet.body.emitter.emit("doubleClick",{event:e,item:t.id})})),this.hammerDragCenter.on("panstart",(e=>{e.stopPropagation(),t.parent.itemSet._onDragStart(e)})),this.hammerDragCenter.on("panmove",t.parent.itemSet._onDrag.bind(t.parent.itemSet)),this.hammerDragCenter.on("panend",t.parent.itemSet._onDragEnd.bind(t.parent.itemSet)),this.hammerDragCenter.get("press").set({time:1e4}),this.dom.box?this.dom.dragLeft?this.dom.box.insertBefore(e,this.dom.dragLeft):this.dom.box.appendChild(e):this.dom.point&&this.dom.point.appendChild(e),this.dom.dragCenter=e}else!this.selected&&this.dom.dragCenter&&(this.dom.dragCenter.parentNode&&this.dom.dragCenter.parentNode.removeChild(this.dom.dragCenter),this.dom.dragCenter=null,this.hammerDragCenter&&(this.hammerDragCenter.destroy(),this.hammerDragCenter=null))}_repaintDeleteButton(t){const e=(this.options.editable.overrideItems||null==this.editable)&&this.options.editable.remove||!this.options.editable.overrideItems&&null!=this.editable&&this.editable.remove;if(this.selected&&e&&!this.dom.deleteButton){const e=this,i=document.createElement("div");this.options.rtl?i.className="vis-delete-rtl":i.className="vis-delete";let n=this.options.locales[this.options.locale];n||(this.warned||(console.warn(`WARNING: options.locales['${this.options.locale}'] not found. See https://visjs.github.io/vis-timeline/docs/timeline/#Localization`),this.warned=!0),n=this.options.locales.en),i.title=n.deleteSelected,this.hammerDeleteButton=new ns(i).on("tap",(t=>{t.stopPropagation(),e.parent.removeFromDataSet(e)})),t.appendChild(i),this.dom.deleteButton=i}else this.selected&&e||!this.dom.deleteButton||(this.dom.deleteButton.parentNode&&this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton),this.dom.deleteButton=null,this.hammerDeleteButton&&(this.hammerDeleteButton.destroy(),this.hammerDeleteButton=null))}_repaintOnItemUpdateTimeTooltip(t){if(!this.options.tooltipOnItemUpdateTime)return;const e=(this.options.editable.updateTime||!0===this.data.editable)&&!1!==this.data.editable;if(this.selected&&e&&!this.dom.onItemUpdateTimeTooltip){const e=document.createElement("div");e.className="vis-onUpdateTime-tooltip",t.appendChild(e),this.dom.onItemUpdateTimeTooltip=e}else!this.selected&&this.dom.onItemUpdateTimeTooltip&&(this.dom.onItemUpdateTimeTooltip.parentNode&&this.dom.onItemUpdateTimeTooltip.parentNode.removeChild(this.dom.onItemUpdateTimeTooltip),this.dom.onItemUpdateTimeTooltip=null);if(this.dom.onItemUpdateTimeTooltip){this.dom.onItemUpdateTimeTooltip.style.visibility=this.parent.itemSet.touchParams.itemIsDragging?"visible":"hidden",this.dom.onItemUpdateTimeTooltip.style.transform="translateX(-50%)",this.dom.onItemUpdateTimeTooltip.style.left="50%";const t=50,e=this.parent.itemSet.body.domProps.scrollTop;let i;i="top"==this.options.orientation.item?this.top:this.parent.height-this.top-this.height;let n,o;i+this.parent.top-t<-e?(this.dom.onItemUpdateTimeTooltip.style.bottom="",this.dom.onItemUpdateTimeTooltip.style.top=`${this.height+2}px`):(this.dom.onItemUpdateTimeTooltip.style.top="",this.dom.onItemUpdateTimeTooltip.style.bottom=`${this.height+2}px`),this.options.tooltipOnItemUpdateTime&&this.options.tooltipOnItemUpdateTime.template?(o=this.options.tooltipOnItemUpdateTime.template.bind(this),n=o(this.data)):(n=`start: ${No(this.data.start).format("MM/DD/YYYY hh:mm")}`,this.data.end&&(n+=`
end: ${No(this.data.end).format("MM/DD/YYYY hh:mm")}`)),this.dom.onItemUpdateTimeTooltip.innerHTML=Wo.xss(n)}}_getItemData(){return this.parent.itemSet.itemsData.get(this.id)}_updateContents(t){let e,i,n,o,s;const r=this._getItemData(),a=(this.dom.box||this.dom.point).getElementsByClassName("vis-item-visible-frame")[0];if(this.options.visibleFrameTemplate?(s=this.options.visibleFrameTemplate.bind(this),o=Wo.xss(s(r,a))):o="",a)if(o instanceof Object&&!(o instanceof Element))s(r,a);else if(i=this._contentToString(this.itemVisibleFrameContent)!==this._contentToString(o),i){if(o instanceof Element)a.innerHTML="",a.appendChild(o);else if(null!=o)a.innerHTML=Wo.xss(o);else if("background"!=this.data.type||void 0!==this.data.content)throw new Error(`Property "content" missing in item ${this.id}`);this.itemVisibleFrameContent=o}if(this.options.template?(n=this.options.template.bind(this),e=n(r,t,this.data)):e=this.data.content,e instanceof Object&&!(e instanceof Element))n(r,t);else if(i=this._contentToString(this.content)!==this._contentToString(e),i){if(e instanceof Element)t.innerHTML="",t.appendChild(e);else if(null!=e)t.innerHTML=Wo.xss(e);else if("background"!=this.data.type||void 0!==this.data.content)throw new Error(`Property "content" missing in item ${this.id}`);this.content=e}}_updateDataAttributes(t){if(this.options.dataAttributes&&this.options.dataAttributes.length>0){let e=[];if(Array.isArray(this.options.dataAttributes))e=this.options.dataAttributes;else{if("all"!=this.options.dataAttributes)return;e=Object.keys(this.data)}for(const i of e){const e=this.data[i];null!=e?t.setAttribute(`data-${i}`,e):t.removeAttribute(`data-${i}`)}}}_updateStyle(t){this.style&&(Wo.removeCssText(t,this.style),this.style=null),this.data.style&&(Wo.addCssText(t,this.data.style),this.style=this.data.style)}_contentToString(t){return"string"==typeof t?t:t&&"outerHTML"in t?t.outerHTML:t}_updateEditStatus(){this.options&&("boolean"==typeof this.options.editable?this.editable={updateTime:this.options.editable,updateGroup:this.options.editable,remove:this.options.editable}:"object"==typeof this.options.editable&&(this.editable={},Wo.selectiveExtend(["updateTime","updateGroup","remove"],this.editable,this.options.editable))),this.options&&this.options.editable&&!0===this.options.editable.overrideItems||this.data&&("boolean"==typeof this.data.editable?this.editable={updateTime:this.data.editable,updateGroup:this.data.editable,remove:this.data.editable}:"object"==typeof this.data.editable&&(this.editable={},Wo.selectiveExtend(["updateTime","updateGroup","remove"],this.editable,this.data.editable)))}getWidthLeft(){return 0}getWidthRight(){return 0}getTitle(){if(this.options.tooltip&&this.options.tooltip.template){return this.options.tooltip.template.bind(this)(this._getItemData(),this.data)}return this.data.title}}js.prototype.stack=!0;class Ys extends js{constructor(t,e,i){if(super(t,e,i),this.props={content:{width:0}},this.overflow=!1,t){if(null==t.start)throw new Error(`Property "start" missing in item ${t.id}`);if(null==t.end)throw new Error(`Property "end" missing in item ${t.id}`)}}isVisible(t){return!this.cluster&&(this.data.startt.start)}_createDomElement(){this.dom||(this.dom={},this.dom.box=document.createElement("div"),this.dom.frame=document.createElement("div"),this.dom.frame.className="vis-item-overflow",this.dom.box.appendChild(this.dom.frame),this.dom.visibleFrame=document.createElement("div"),this.dom.visibleFrame.className="vis-item-visible-frame",this.dom.box.appendChild(this.dom.visibleFrame),this.dom.content=document.createElement("div"),this.dom.content.className="vis-item-content",this.dom.frame.appendChild(this.dom.content),this.dom.box["vis-item"]=this,this.dirty=!0)}_appendDomElement(){if(!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!this.dom.box.parentNode){const t=this.parent.dom.foreground;if(!t)throw new Error("Cannot redraw item: parent has no foreground container element");t.appendChild(this.dom.box)}this.displayed=!0}_updateDirtyDomComponents(){if(this.dirty){this._updateContents(this.dom.content),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);const t=this.editable.updateTime||this.editable.updateGroup,e=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"")+(t?" vis-editable":" vis-readonly");this.dom.box.className=this.baseClassName+e,this.dom.content.style.maxWidth="none"}}_getDomComponentsSizes(){return this.overflow="hidden"!==window.getComputedStyle(this.dom.frame).overflow,this.whiteSpace="nowrap"!==window.getComputedStyle(this.dom.content).whiteSpace,{content:{width:this.dom.content.offsetWidth},box:{height:this.dom.box.offsetHeight}}}_updateDomComponentsSizes(t){this.props.content.width=t.content.width,this.height=t.box.height,this.dom.content.style.maxWidth="",this.dirty=!1}_repaintDomAdditionals(){this._repaintOnItemUpdateTimeTooltip(this.dom.box),this._repaintDeleteButton(this.dom.box),this._repaintDragCenter(),this._repaintDragLeft(),this._repaintDragRight()}redraw(t){let e;const i=[this._createDomElement.bind(this),this._appendDomElement.bind(this),this._updateDirtyDomComponents.bind(this),()=>{this.dirty&&(e=this._getDomComponentsSizes.bind(this)())},()=>{this.dirty&&this._updateDomComponentsSizes.bind(this)(e)},this._repaintDomAdditionals.bind(this)];if(t)return i;{let t;return i.forEach((e=>{t=e()})),t}}show(t){if(!this.displayed)return this.redraw(t)}hide(){if(this.displayed){const t=this.dom.box;t.parentNode&&t.parentNode.removeChild(t),this.displayed=!1}}repositionX(t){const e=this.parent.width;let i=this.conversion.toScreen(this.data.start),n=this.conversion.toScreen(this.data.end);const o=void 0===this.data.align?this.options.align:this.data.align;let s,r;!1===this.data.limitSize||void 0!==t&&!0!==t||(i<-e&&(i=-e),n>2*e&&(n=2*e));const a=Math.max(Math.round(1e3*(n-i))/1e3,1);switch(this.overflow?(this.options.rtl?this.right=i:this.left=i,this.width=a+this.props.content.width,r=this.props.content.width):(this.options.rtl?this.right=i:this.left=i,this.width=a,r=Math.min(n-i,this.props.content.width)),this.options.rtl?this.dom.box.style.transform=`translateX(${-1*this.right}px)`:this.dom.box.style.transform=`translateX(${this.left}px)`,this.dom.box.style.width=`${a}px`,this.whiteSpace&&(this.height=this.dom.box.offsetHeight),o){case"left":this.dom.content.style.transform="translateX(0)";break;case"right":if(this.options.rtl){const t=-1*Math.max(a-r,0);this.dom.content.style.transform=`translateX(${t}px)`}else this.dom.content.style.transform=`translateX(${Math.max(a-r,0)}px)`;break;case"center":if(this.options.rtl){const t=-1*Math.max((a-r)/2,0);this.dom.content.style.transform=`translateX(${t}px)`}else this.dom.content.style.transform=`translateX(${Math.max((a-r)/2,0)}px)`;break;default:if(s=this.overflow?n>0?Math.max(-i,0):-r:i<0?-i:0,this.options.rtl){const t=-1*s;this.dom.content.style.transform=`translateX(${t}px)`}else this.dom.content.style.transform=`translateX(${s}px)`}}repositionY(){const t=this.options.orientation.item,e=this.dom.box;e.style.top="top"==t?`${this.top}px`:this.parent.height-this.top-this.height+"px"}_repaintDragLeft(){if((this.selected||this.options.itemsAlwaysDraggable.range)&&this.editable.updateTime&&!this.dom.dragLeft){const t=document.createElement("div");t.className="vis-drag-left",t.dragLeftItem=this,this.dom.box.appendChild(t),this.dom.dragLeft=t}else this.selected||this.options.itemsAlwaysDraggable.range||!this.dom.dragLeft||(this.dom.dragLeft.parentNode&&this.dom.dragLeft.parentNode.removeChild(this.dom.dragLeft),this.dom.dragLeft=null)}_repaintDragRight(){if((this.selected||this.options.itemsAlwaysDraggable.range)&&this.editable.updateTime&&!this.dom.dragRight){const t=document.createElement("div");t.className="vis-drag-right",t.dragRightItem=this,this.dom.box.appendChild(t),this.dom.dragRight=t}else this.selected||this.options.itemsAlwaysDraggable.range||!this.dom.dragRight||(this.dom.dragRight.parentNode&&this.dom.dragRight.parentNode.removeChild(this.dom.dragRight),this.dom.dragRight=null)}}Ys.prototype.baseClassName="vis-item vis-range";class Hs extends js{constructor(t,e,i){if(super(t,e,i),this.props={content:{width:0}},this.overflow=!1,t){if(null==t.start)throw new Error(`Property "start" missing in item ${t.id}`);if(null==t.end)throw new Error(`Property "end" missing in item ${t.id}`)}}isVisible(t){return this.data.startt.start}_createDomElement(){this.dom||(this.dom={},this.dom.box=document.createElement("div"),this.dom.frame=document.createElement("div"),this.dom.frame.className="vis-item-overflow",this.dom.box.appendChild(this.dom.frame),this.dom.content=document.createElement("div"),this.dom.content.className="vis-item-content",this.dom.frame.appendChild(this.dom.content),this.dirty=!0)}_appendDomElement(){if(!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!this.dom.box.parentNode){const t=this.parent.dom.background;if(!t)throw new Error("Cannot redraw item: parent has no background container element");t.appendChild(this.dom.box)}this.displayed=!0}_updateDirtyDomComponents(){if(this.dirty){this._updateContents(this.dom.content),this._updateDataAttributes(this.dom.content),this._updateStyle(this.dom.box);const t=(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"");this.dom.box.className=this.baseClassName+t}}_getDomComponentsSizes(){return this.overflow="hidden"!==window.getComputedStyle(this.dom.content).overflow,{content:{width:this.dom.content.offsetWidth}}}_updateDomComponentsSizes(t){this.props.content.width=t.content.width,this.height=0,this.dirty=!1}_repaintDomAdditionals(){}redraw(t){let e;const i=[this._createDomElement.bind(this),this._appendDomElement.bind(this),this._updateDirtyDomComponents.bind(this),()=>{this.dirty&&(e=this._getDomComponentsSizes.bind(this)())},()=>{this.dirty&&this._updateDomComponentsSizes.bind(this)(e)},this._repaintDomAdditionals.bind(this)];if(t)return i;{let t;return i.forEach((e=>{t=e()})),t}}repositionY(t){let e;const i=this.options.orientation.item;if(void 0!==this.data.subgroup){const t=this.data.subgroup;this.dom.box.style.height=`${this.parent.subgroups[t].height}px`,this.dom.box.style.top="top"==i?`${this.parent.top+this.parent.subgroups[t].top}px`:this.parent.top+this.parent.height-this.parent.subgroups[t].top-this.parent.subgroups[t].height+"px",this.dom.box.style.bottom=""}else this.parent instanceof Ls?(e=Math.max(this.parent.height,this.parent.itemSet.body.domProps.center.height,this.parent.itemSet.body.domProps.centerContainer.height),this.dom.box.style.bottom="bottom"==i?"0":"",this.dom.box.style.top="top"==i?"0":""):(e=this.parent.height,this.dom.box.style.top=`${this.parent.top}px`,this.dom.box.style.bottom="");this.dom.box.style.height=`${e}px`}}Hs.prototype.baseClassName="vis-item vis-background",Hs.prototype.stack=!1,Hs.prototype.show=Ys.prototype.show,Hs.prototype.hide=Ys.prototype.hide,Hs.prototype.repositionX=Ys.prototype.repositionX;class zs{constructor(t,e){this.container=t,this.overflowMethod=e||"cap",this.x=0,this.y=0,this.padding=5,this.hidden=!1,this.frame=document.createElement("div"),this.frame.className="vis-tooltip",this.container.appendChild(this.frame)}setPosition(t,e){this.x=parseInt(t),this.y=parseInt(e)}setText(t){t instanceof Element?(this.frame.innerHTML="",this.frame.appendChild(t)):this.frame.innerHTML=Wo.xss(t)}show(t){if(void 0===t&&(t=!0),!0===t){var e=this.frame.clientHeight,i=this.frame.clientWidth,n=this.frame.parentNode.clientHeight,o=this.frame.parentNode.clientWidth,s=0,r=0;if("flip"==this.overflowMethod||"none"==this.overflowMethod){let t=!1,n=!0;"flip"==this.overflowMethod&&(this.y-eo-this.padding&&(t=!0)),s=t?this.x-i:this.x,r=n?this.y-e:this.y}else(r=this.y-e)+e+this.padding>n&&(r=n-e-this.padding),ro&&(s=o-i-this.padding),st.start&&this.hasItems()}getData(){return{isCluster:!0,id:this.id,items:this.data.items||[],data:this.data}}redraw(t){var e,i,n=[this._createDomElement.bind(this),this._appendDomElement.bind(this),this._updateDirtyDomComponents.bind(this),function(){this.dirty&&(e=this._getDomComponentsSizes())}.bind(this),function(){this.dirty&&this._updateDomComponentsSizes.bind(this)(e)}.bind(this),this._repaintDomAdditionals.bind(this)];return t?n:(n.forEach((function(t){i=t()})),i)}show(){this.displayed||this.redraw()}hide(){if(this.displayed){var t=this.dom;t.box.parentNode&&t.box.parentNode.removeChild(t.box),this.options.showStipes&&(t.line.parentNode&&t.line.parentNode.removeChild(t.line),t.dot.parentNode&&t.dot.parentNode.removeChild(t.dot)),this.displayed=!1}}repositionX(){let t=this.conversion.toScreen(this.data.start),e=this.data.end?this.conversion.toScreen(this.data.end):0;if(e)this.repositionXWithRanges(t,e);else{let e=void 0===this.data.align?this.options.align:this.data.align;this.repositionXWithoutRanges(t,e)}this.options.showStipes&&(this.dom.line.style.display=this._isStipeVisible()?"block":"none",this.dom.dot.style.display=this._isStipeVisible()?"block":"none",this._isStipeVisible()&&this.repositionStype(t,e))}repositionStype(t,e){this.dom.line.style.display="block",this.dom.dot.style.display="block";const i=this.dom.line.offsetWidth,n=this.dom.dot.offsetWidth;if(e){const o=i+t+(e-t)/2,s=o-n/2,r=this.options.rtl?-1*o:o,a=this.options.rtl?-1*s:s;this.dom.line.style.transform=`translateX(${r}px)`,this.dom.dot.style.transform=`translateX(${a}px)`}else{const e=this.options.rtl?-1*t:t,i=this.options.rtl?-1*(t-n/2):t-n/2;this.dom.line.style.transform=`translateX(${e}px)`,this.dom.dot.style.transform=`translateX(${i}px)`}}repositionXWithoutRanges(t,e){"right"==e?this.options.rtl?(this.right=t-this.width,this.dom.box.style.right=this.right+"px"):(this.left=t-this.width,this.dom.box.style.left=this.left+"px"):"left"==e?this.options.rtl?(this.right=t,this.dom.box.style.right=this.right+"px"):(this.left=t,this.dom.box.style.left=this.left+"px"):this.options.rtl?(this.right=t-this.width/2,this.dom.box.style.right=this.right+"px"):(this.left=t-this.width/2,this.dom.box.style.left=this.left+"px")}repositionXWithRanges(t,e){let i=Math.round(Math.max(e-t+.5,1));this.options.rtl?this.right=t:this.left=t,this.width=Math.max(i,this.minWidth||0),this.options.rtl?this.dom.box.style.right=this.right+"px":this.dom.box.style.left=this.left+"px",this.dom.box.style.width=i+"px"}repositionY(){var t=this.options.orientation.item,e=this.dom.box;if(e.style.top="top"==t?(this.top||0)+"px":(this.parent.height-this.top-this.height||0)+"px",this.options.showStipes){if("top"==t)this.dom.line.style.top="0",this.dom.line.style.height=this.parent.top+this.top+1+"px",this.dom.line.style.bottom="";else{var i=this.parent.itemSet.props.height,n=i-this.parent.top-this.parent.height+this.top;this.dom.line.style.top=i-n+"px",this.dom.line.style.bottom="0"}this.dom.dot.style.top=-this.dom.dot.offsetHeight/2+"px"}}getWidthLeft(){return this.width/2}getWidthRight(){return this.width/2}move(){this.repositionX(),this.repositionY()}attach(){for(let t of this.data.uiItems)t.cluster=this;this.data.items=this.data.uiItems.map((t=>t.data)),this.attached=!0,this.dirty=!0}detach(t=!1){if(this.hasItems()){for(let t of this.data.uiItems)delete t.cluster;this.attached=!1,t&&this.group&&(this.group.remove(this),this.group=null),this.data.items=[],this.dirty=!0}}_onDoubleClick(){this._fit()}_setupRange(){const t=this.data.uiItems.map((t=>({start:t.data.start.valueOf(),end:t.data.end?t.data.end.valueOf():t.data.start.valueOf()})));this.data.min=Math.min(...t.map((t=>Math.min(t.start,t.end||t.start)))),this.data.max=Math.max(...t.map((t=>Math.max(t.start,t.end||t.start))));const e=this.data.uiItems.map((t=>t.center)).reduce(((t,e)=>t+e),0)/this.data.uiItems.length;this.data.uiItems.some((t=>t.data.end))?(this.data.start=new Date(this.data.min),this.data.end=new Date(this.data.max)):(this.data.start=new Date(e),this.data.end=null)}_getUiItems(){return this.data.uiItems&&this.data.uiItems.length?this.data.uiItems.filter((t=>t.cluster===this)):[]}_createDomElement(){this.dom||(this.dom={},this.dom.box=document.createElement("DIV"),this.dom.content=document.createElement("DIV"),this.dom.content.className="vis-item-content",this.dom.box.appendChild(this.dom.content),this.options.showStipes&&(this.dom.line=document.createElement("DIV"),this.dom.line.className="vis-cluster-line",this.dom.line.style.display="none",this.dom.dot=document.createElement("DIV"),this.dom.dot.className="vis-cluster-dot",this.dom.dot.style.display="none"),this.options.fitOnDoubleClick&&(this.dom.box.ondblclick=Bs.prototype._onDoubleClick.bind(this)),this.dom.box["vis-item"]=this,this.dirty=!0)}_appendDomElement(){if(!this.parent)throw new Error("Cannot redraw item: no parent attached");if(!this.dom.box.parentNode){const t=this.parent.dom.foreground;if(!t)throw new Error("Cannot redraw item: parent has no foreground container element");t.appendChild(this.dom.box)}const t=this.parent.dom.background;if(this.options.showStipes){if(!this.dom.line.parentNode){if(!t)throw new Error("Cannot redraw item: parent has no background container element");t.appendChild(this.dom.line)}if(!this.dom.dot.parentNode){var e=this.parent.dom.axis;if(!t)throw new Error("Cannot redraw item: parent has no axis container element");e.appendChild(this.dom.dot)}}this.displayed=!0}_updateDirtyDomComponents(){if(this.dirty){this._updateContents(this.dom.content),this._updateDataAttributes(this.dom.box),this._updateStyle(this.dom.box);const t=this.baseClassName+" "+(this.data.className?" "+this.data.className:"")+(this.selected?" vis-selected":"")+" vis-readonly";this.dom.box.className="vis-item "+t,this.options.showStipes&&(this.dom.line.className="vis-item vis-cluster-line "+(this.selected?" vis-selected":""),this.dom.dot.className="vis-item vis-cluster-dot "+(this.selected?" vis-selected":"")),this.data.end&&(this.dom.content.style.maxWidth="none")}}_getDomComponentsSizes(){const t={previous:{right:this.dom.box.style.right,left:this.dom.box.style.left},box:{width:this.dom.box.offsetWidth,height:this.dom.box.offsetHeight}};return this.options.showStipes&&(t.dot={height:this.dom.dot.offsetHeight,width:this.dom.dot.offsetWidth},t.line={width:this.dom.line.offsetWidth}),t}_updateDomComponentsSizes(t){this.options.rtl?this.dom.box.style.right="0px":this.dom.box.style.left="0px",this.data.end?this.minWidth=t.box.width:this.width=t.box.width,this.height=t.box.height,this.options.rtl?this.dom.box.style.right=t.previous.right:this.dom.box.style.left=t.previous.left,this.dirty=!1}_repaintDomAdditionals(){this._repaintOnItemUpdateTimeTooltip(this.dom.box)}_isStipeVisible(){return this.minWidth>=this.width||!this.data.end}_getFitRange(){const t=.05*(this.data.max-this.data.min)/2;return{fitStart:this.data.min-t,fitEnd:this.data.max+t}}_fit(){if(this.emitter){const{fitStart:t,fitEnd:e}=this._getFitRange(),i={start:new Date(t),end:new Date(e),animation:!0};this.emitter.emit("fit",i)}}_getItemData(){return this.data}}Bs.prototype.baseClassName="vis-item vis-range vis-cluster";const Ws="__ungrouped__";class Gs{constructor(t){this.itemSet=t,this.groups={},this.cache={},this.cache[-1]=[]}createClusterItem(t,e,i){return new Bs(t,e,i)}setItems(t,e){this.items=t||[],this.dataChanged=!0,this.applyOnChangedLevel=!1,e&&e.applyOnChangedLevel&&(this.applyOnChangedLevel=e.applyOnChangedLevel)}updateData(){this.dataChanged=!0,this.applyOnChangedLevel=!1}getClusters(t,e,i){let{maxItems:n,clusterCriteria:o}="boolean"==typeof i?{}:i;o||(o=()=>!0),n=n||1;let s=-1,r=0;if(e>0){if(e>=1)return[];s=Math.abs(Math.round(Math.log(100/e)/Math.log(2))),r=Math.abs(Math.pow(2,s))}if(this.dataChanged){const t=s!=this.cacheLevel;(!this.applyOnChangedLevel||t)&&(this._dropLevelsCache(),this._filterData())}this.cacheLevel=s;let a=this.cache[s];if(!a){a=[];for(let e in this.groups)if(this.groups.hasOwnProperty(e)){const s=this.groups[e],l=s.length;let h=0;for(;h=0&&e.center-s[d].center=0&&e.center-a[u].centern){const r=l-n+1,d=[];let c=h;for(;d.lengtht.center-e.center));this.dataChanged=!1}_getClusterForItems(t,e,i,n){const o=(i||[]).map((t=>({cluster:t,itemsIds:new Set(t.data.uiItems.map((t=>t.id)))})));let s;if(o.length)for(let e of o)if(e.itemsIds.size===t.length&&t.every((t=>e.itemsIds.has(t.id)))){s=e.cluster;break}if(s)return s.setUiItems(t),s.group!==e&&(s.group&&s.group.remove(s),e&&(e.add(s),s.group=e)),s;let r=n.titleTemplate||"";const a={toScreen:this.itemSet.body.util.toScreen,toTime:this.itemSet.body.util.toTime},l=r.replace(/{count}/,t.length),h='

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�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